bloco 01 bloco 02 bloco 03 bloco 04 engenharia de Software e métricas Processos Ágeis e modelagem tecnologia Java aplicações Web e Serviços engenHaria de SoFtWare aPlicada Princípios e Padrões de Engenharia de Software. Paradigma de orientação a objetos e de Componentização. Análise de Requisitos e sua relação com métricas de software. técnicas de teste e Garantia de Qualidade de Software. Gerenciamento da Configuração de Software. Conceitos de Integração Contínua. Modelagem. Padrões de Projeto e Frameworks. Arquitetura e orientação a Serviços. mÉtricaS de SoFtWare Medidas, Métricas e Indicadores. Métricas de Processo e de Projeto. Medidas Diretas e Indiretas. Métricas orientadas ao tamanho e por Função. Análise de Pontos de Função. Procedimento de Contagem de Pontos de Função. Processo de Estimativas de Projetos de Software baseado na métrica Análise de Pontos de Função. ProJeto de bloco Elaboração de um planejamento de projeto de software detalhado, empregando princípios e padrões de Engenharia de Software, elicitação de requisitos funcionais e não funcionais; regras de negócio e matrizes de rastreabilidade; estabelecimento de estimativas de custo e prazo, incluindo a especificação das métricas apropriadas. ProceSSoS ÁgeiS de deSenvolvimento de SoFtWare Qualidade de Software (Visão Geral de MPS-BR e CMMI). Rational Unified Process: RUP. RUP: Gestão de requisitos e uso de arquitetura baseada em componentes. Uso de software de modelos visuais. Qualidade, gestão e controle de mudanças. Fases de concepção, elaboração, construção e transição. Extreme Programming: XP. Princípios, codificação, unit testing, refactoring, design e builds. SCRUM: princípios, utilização prática de SCRUM, liderança de times. modelagem de SoFtWare Modelagem de Sistemas, orientação a objetos (oo) e Unified Modeling Language (UML). Classes e objetos, herança, polimorfismo e interfaces. Diagramas UML: uso, classes e objetos, sequência, comunicação, estados e atividades. Princípios SoLID e Padrões GRASP. Design Patterns: criação, estrutura e comportamento. Domain Driven Design (DDD). tecnologia Java tipos primitivos, operadores aritméticos, compostos, relacionais e lógicos. Condições e repetições, arrays unidimensionais e multidimensionais. Java Virtual Machine e Garbage Colector. Conversão de objetos-tipos Primitivos. String, StringBuilder e StringBuffer. tratamento de erros e exceptions. NIo2, formatação e parsing, internacionalização e resource files. Criação de classes, herança e polimorfismo, interfaces, enum. Classes abstratas, internas e anônimas. Coleções: Collection, set, map, list, comparable e comparator. Assertions e teste unitário – JUnit. Swing: componentes básicos e layout managers. Elaboração da modelagem de um sistema de software com o uso da UML empregando princípios e padrões de orientação a objeto. Aplicações Web: Arquitetura e protocolo HttP. Design Pattern: Model View Controller (MVC). Servlets: Ciclo de vida, requisição e resposta. JSP: Expression Language (EL) e Java Standard tag Libraries (JStL). Gerenciamento de sessão e Java Beans. Design Pattern - transfer object e Intercepting Filters. Integração com Model. Design Pattern Facade e Business Delegate. Frameworks: Importância do uso de frameworks. Acesso a Banco de Dados (JPA). Java Server Faces (JSF). ServiçoS com tecnologia Java PerSiStência em Java Programação concorrente (Multithreading). JDBC:Conexão com Banco de Dados. Consulta, Atualização, Deleção e Inserção de dados. Joins, transações. tipos de Dados Especiais: Data, Hora, Blobs, Clobs. Cursores, Batch, Design Pattern DAo. Swing: componentes básicos e layout managers. ProJeto de bloco ProJeto de bloco aPlicaçÕeS Web com tecnologia Java Elaboração de modelagem de dados de um sistema de software com o uso da UML, empregando princípios e padrões de orientação a objeto, mostrando as conexões com o Banco de Dados. Design Patterns: Inversion of Control e Dependency Injection. Service Locator e Business Delegate. Enterprise Java Beans 3: Session Beans, Message Beans. Design Pattern - Session Facade. JPA: oRM. Framework Hibernate. Spring: Fábrica de Beans e anotações. Programação orientada a Aspectos. Framework Model View Controller (MVC). Web Services: Definição, vantagens e classes Java. Segurança em JEE: Segurança para Web, EJB, autenticação e autorização com SSL. ProJeto de bloco Desenvolvimento avançado de aplicações distribuídas. Aptidão no emprego do Enterprise Java Beans 3 (EJB), Hibernate e Model View Controller (MVC). bloco de FecHamento - tcc o trabalho de Conclusão de Curso tem como objetivo a construção de um sistema complexo, comprovadamente de aplicação prática e comercial, utilizando os conhecimentos adquiridos durante o curso. depoimentos A Pós-Graduação capacita profissionais em Engenharia de Software com o emprego de tecnologias Java. O curso tem como ênfase o desenvolvimento de software orientado a objetos, na prática, com a tecnologia Java. O currículo abrange tanto a programação para Web quanto para sistemas distribuídos complexos, utilizando componentes. O egresso do curso estará apto a elicitar e entender requisitos, projetar e desenvolver software de qualidade com tecnologia Java, dominando a modelagem com UML e padrões de projeto, empregando Métodos Ágeis e os principais plug-ins e Frameworks do mercado. Além de ganhar experiência prática no desenvolvimento de aplicações Java, durante o curso o profissional prepara-se para realizar os exames oficiais da certificação Oracle/Java. Fabrício Silva, Coordenador Pedagógico Mestre em Engenharia de Sistemas e Computação pela Universidade Federal do Rio de Janeiro e Doutor em Architecture des Systèmes Intégrés/ Informatique pela Université Pierre et Marie Curie (Paris VI). Coordenou projetos de pesquisa financiados pelo CNPq, RNP e HP Brasil e um programa de mestrado recomendado pela CAPES. Entre Janeiro de 2008 e Agosto de 2010 foi professor convidado do Departamento de Informática da Universidade de Lisboa, membro do corpo docente do programa M.Sc. in Information Security (parceria CMU-Portugal) e pesquisador do LASIGE. Atualmente está afiliado ao Centro Tecnológico do Exército e faz parte do corpo de pesquisadores do programa Rádio Definido por Software de Defesa do CTEx/Ministério da Defesa, atuando ainda como integrante do Corpo Docente do Programa de Pós-Graduação em Engenharia de Defesa do Instituto Militar de Engenharia e professor da graduação em Engenharia de Computação do Instituto Infnet. www.infnet.edu.br | [email protected] | Central de Atendimento: (21) 2122-8800 Para quem foi desenvolvido? O programa é de altíssimo nível e adequado aos profissionais que desejam aprofundar seus conhecimentos em Engenharia de Software, incluindo métricas, qualidade e teste de software. O conteúdo e as práticas potencializam a performance daqueles que desejam dominar a construção de aplicações corporativas complexas, bem como dos que desejam adquirir conhecimentos aprofundados em tecnologia JAVA, especialmente em aplicações web e componentes, inclusive preparando-se para as certificações oficiais da linguagem. É recomendado para profissionais recém-formados que desejam ampliar o conhecimento na tecnologia JAVA. competências Domínio dos processos de desenvolvimento e gerenciamento de software, seu ciclo de vida e a importância dos requisitos, testes e da qualidade dos sistemas desenvolvidos. Capacidade de aplicar as metodologias RUP (Rational Unified Process), XP (Extreme Programming) e Scrum para o desenvolvimento de software. Conhecimento para aplicar métricas e estimativas no desenvolvimento de projetos de software. Domínio da modelagem UML, princípios Solid e Padrões Grasp, aplicados no desenvolvimento de software orientado a objeto. Domínio da programação avançada em Java com desenvolvimento de aplicações Web e multitarefa usando o Eclipse e os frameworks Java de mercado. Conhecimento do desenvolvimento de aplicações utilizando componentes em Java, incluindo conceitos avançados de programação, com EJB e Spring. Aplicação dos recursos de segurança e criptografia. localização educa ç ã o superi o r o rien t ada a o mercad o