
Pós Graduação em Engenharia de Software Centrada em Métodos Ágeis

Objetivo do Curso
O curso de pós-graduação lato sensu em Engenharia de Software Centrada em Métodos Ágeis tem como objetivo principal especializar profissionais para o desenvolvimento de softwares de qualidade. Este curso busca capacitar os participantes para uma visão abrangente e atualizada de engenharia de software e, em especial, capacitá-los em métodos ágeis focalizando nas tecnologias correntes para o desenvolvimento de software. O curso contempla tópicos como métodos ágeis, programação orientada a objetos, padrões de projeto, engenharia de requisitos ágeis , usabilidade, arquitetura e teste de software bem com o desenvolvimento aplicações WEB e RIA (Rich Internet Application). Durante o curso, os alunos exercitarão práticas ágeis integradas às outras disciplinas, proporcionando a transversalidade de conhecimento entre os conteúdos. No final, o aluno estará capacitado a implantar, integrar, liderar equipes ágeis de desenvolvimento de software aplicando técnicas e tecnologias atuais de mercado.
Público Alvo
Profissionais de nível superior das áreas de Sistemas de Informação, Ciência da Computação, Análise e Desenvolvimento de Sistemas e Engenharia que atuam no mercado e que desejam se especializar no desenvolvimento de software com qualidade, flexibilidade e visando o máximo retorno sobre o investimento nos projetos de software, ampliando seus conhecimentos nas metodologias, tecnologias e processos que suportam o desenvolvimento ágil de software.
Resultados Esperados
O resultado esperado do curso é que no final o aluno esteja capacitado a:
- Identificar quais são as vantagens e desvantagem de se adotar uma abordagem formal ou ágil para desenvolvimento de software.
- Implantar processos ágeis em equipes de desenvolvimento de softwares, aplicando práticas ágeis no dia a dia do desenvolvimento e possibilitando que o conceito de auto-gerenciamento funcione.
- Liderar equipes que utilizam métodos ágeis de desenvolvimento.
- Gerenciar projetos com práticas ágeis como o Scrum.
- Desenvolver projetos de software em um em equipes ágeis com tecnologias Web e de Rich Internet Application (RIA)
- Ser um profissional crítico, formador de opinião, que entenda de tecnologia, e que estejam capacitados a integrar equipes ágeis contribuindo para a melhoria da qualidade de software nacional.
- Agregar valor no produto de software por meio da Integração disciplinas de engenharia de requisitos, usabilidade, padrões de projeto, arquitetura e teste de software
Diferenciais do Curso
Entre os principais diferenciais do curso de Engenharia de Software Centrada em Métodos Ágeis da UNA está no seu corpo docente, composto por professores com ampla vivência no mercado de trabalho, sua grade curricular composta de disciplinas teóricas e práticas, com conteúdo em acordo com as exigências do mercado, sintonizado com o pensamento ágil, e, sobretudo, que é o único curso pós graduação lato senso em Engenharia de Software de Belo Horizonte totalmente focado na filosofia ágil.
Estrutura Curricular
Disciplinas do primeiro semestre do curso
- Métodos Ágeis de desenvolvimento de software
Disciplina: Métodos ágeis de desenvolvimento de software
- Carga horária: 32 horas/aula (100% Teórica)
- Ementa: Processos ágeis versus processos formais, Gestão de projetos com Scrum, eXtreme Programming(XP), Test Driven Development(TDD), Crystal, Feature Driven Development (FDD) , Lean Development, Domain Driven Design(DDD)
- Objetivo: Compreender a diferença entre processos formais e processos ágeis. Compreender a mudança cultural necessário para a implantação de processos ágeis. Gerir projetos de desenvolvimento de software ágeis com scrum. Desenvolver software utilizando eXtreme programming. Compreender a origem e a filosofia dos métodos ágeis. Compreender processos ágeis de desenvolvimento de software dirigidos por teste. Compreender processos ágeis de desenvolvimento de software dirigidos por funcionalidades.
- Engenharia de Requisitos Ágeis
Disciplina: Engenharia de Requisitos Ágeis
- Carga horária: 32 horas/aula (50% Teórica) e (50% Prática em Laboratório)
- Ementa: Técnicas e elicitação de requisitos (JAD, Imersão, Brainstorming, Workshops), Domain Driven Design, FBS (Feature Breakdown Structure), O modelo ARO (Ação Resultado Objeto), Prototipagem de baixa fidelidade, Contrato de Escopo Negociável, User Stories na representação de requisitos, Story mapping na priorização de funcionalidades, Análise de Requisitos, Validação e Priorização, Categorias de Requisitos: requisitos do usuário, requisitos do sistema, requisitos funcionais e requisitos não-funcionais
- Objetivo: Compreender a necessidade de colaboração entre a equipe e o cliente para o entendimento correto dos requisitos. Aplicar técnicas de levantamento de requisitos que construir software que agrega valor ao cliente. Compreender as diversas técnicas para o levantamento de requisitos. Identificar a diferença em se fazer Caso de Uso e User Stories. Construir protótipos de baixa fidelidade para melhor entendimento dos requisitos funcionais.
- Modelagem Ágil de Software
Disciplina: Modelagem Ágil de Software
- Carga horária: 24 horas/aula (100% Teórica)
- Ementa: Modelagem Ágil e UML, Modelagem no contexto da agilidade, Modelagem com participação do cliente, User Stories Ciclos de modelagem ágil, modelagem em equipe, Diagramas com Agile Draw, Modelo entidade-relacionamento (DER)
- Objetivo: Compreender os requisitos e traduzi-los em um modelo de análise de software. Compreender a modelagem de software em processos ágeis. Compreender a necessidade de colaboração com a equipe e com o cliente para fazer a modelagem. Compreender os ciclos da modelagem ágil Desenvolver modelagem ágil com UML Desenvolver modelagem e diagramas com Agile Draw. Fazer modelagem utilizando o modelo de banco de dados entidade relacionamento.
- Engenharia de Usabilidade
Disciplina: Engenharia de Usabilidade
- Carga horária: 32 horas/aula (50% Teórica) e (50% Prática em Laboratório)
- Ementa: Fundamentos de Design de Interação, Fatores Cognitivos Humano, Estilos de Interação, Avaliação de Interfaces, design de interação, experiência do usuário, Design Centrado no Usuário, Prototipação de alta fidelidade, Avaliação Heurística de Usabilidade, guias de estilo e padrões de projeto de interfaces de usuário, Implementação de interface de usuário.
- Objetivo: Compreender fatores cognitivos que interferem na interação homem máquina. Identificar a utilização de cores para criar interfaces atraentes. Criar mecanismos para fazer avaliação de interfaces. Criar provas de conceitos de usabilidade com prototipação de alta fidelidade. Compreender a utilização de guia de estilos para desenvolver um software. Identificar a necessidade de avaliações heurísticas para aceitação de protótipos. Compreender aspectos de design de interação para desenvolver software intuitivos.
- Programação Orientada a Objetos
Disciplina: Programação Orientação a Objetos
- Carga horária: 32 horas/aula (100% Prática em Laboratório)
- Ementa: Java, Classe, Objeto, Encapsulamento, Herança, Polimorfismo (Tipos de Polimorfismo, Referência Polimórfica, Funções Polimórficas), Interface, Pacotes, Namespace, Tratamento de Exceção
- Objetivo: Compreender os conceitos de orientação a objetos necessários para criar aplicações. Aplicar técnicas de orientação a objetos para construção de classes e funções reutilizáveis. Compreender os conceitos de orientação a objetos para aplicar conceitos de qualidade de código. Saber identificar qual recurso de orientação a objetos é mais adequado para determinado problema de programação.
- Padrões de Projeto
Disciplina: Padrões de Projeto
- Carga horária: 28 horas/aula (100% Prática em Laboratório)
- Ementa: Padrões do Gang of Four (GOF), Model View Controller (MVC), Data Access Object (DAO), Dependency Injection (DI) , Inverse of Control (IoC), reflection, refatoração
- Objetivos: Compreender padrões de projeto. Identificar problemas de programação recorrentes. Saber aplicar corretamente os padrões de projeto. Perceber a necessidade de padrões de projeto para criar um vocabulário comum. Perceber a necessidade de padrões de projeto para criar software reutilizáveis. Perceber a necessidade de padrões de projeto para desenvolver softwares. Compreensíveis para manutenção. Identificar os vários tipos de padrões de projeto e suas respectivas aplicações.
Disciplinas do segundo semestre do curso
- Métodos e Técnicas de Pesquisa
Disciplina: Métodos e Técnicas de Pesquisa
- Carga horária: 20 horas/aula (100% Teórica)
- Ementa: Tipos de pesquisa, Ciência e conhecimento científico, Planejamento de pesquisas, Estrutura, Monografia, Capa, Folha de Rosto, Diagramação, Paginação, Bibliografia, Citações.
- Objetivo: Compreender a ciência e o conhecimento científico necessário para elaboração de trabalhos acadêmicos. Saber as regras para escrita de trabalhos acadêmicos. Identificar a necessidade de se fazer pesquisas bibliográficas ao iniciar uma pesquisa. Compreender os tipos de pesquisa e como pesquisá-la e escrevê-la.
- Arquitetura de software
Disciplina: Arquitetura de software
- Carga horária: 32 horas/aula (50% Teórica) e (50% Prática em Laboratório)
- Ementa: Integração, SOA, Web Services, ESB, Integração Síncrona e assíncrona (mensageria), sistemas móveis, arquitetura em camadas, utilização de Frameworks, Modularidade, Reutilização de software, Bibliotecas, Programação por contrato
- Objetivo: Integrar diversas tecnologias para criar aplicações robustas. Compreender desenhos arquitetônicos para construções de software multicamadas. Compreender a utilização de Web Services e sockets para integração de softwares. Identificar aspectos de qualidade de código. Desenvolver classes utilizando aspectos de programação por contrato. Criar software reutilizável, com utilização de frameworks, bibliotecas e modularidades. Compreender utilização de modularidade para implementar classes com responsabilidades bem definidas.
- Teste de Software
Disciplina: Teste de Software
- Carga horária: 32 horas/aula (50% Teórica) e (50% Prática em Laboratório)
- Ementa: Test Driven Development (TDD), Integração contínua e os testes, Fundamentos de Teste de Software, Caso de Teste, Script de Teste, Teste de Caixa Preta, Teste Caixa Branca, testes de unidade, testes de integração Ferramentas e Frameworks para automação de testes (junit, dbunit, junitperf) testes automatizados, testes de performance.
- Objetivo: Compreender os vários tipos de teste de software. Identificar a necessidade de teste de software. Aplicar testes unitários para garantir a qualidade do produto de software. Compreender os tipos de teste de software. Saber aplicar corretamente cada tipo de teste de software. Utilizar frameworks de teste unitários. Compreender a diferença entre teste de caixa branca e teste de caixa preta e suas respectivas aplicações. Compreender o desenvolvimento dirigido a testes (Test Driven Development).
- Desenvolvimento WEB
Disciplina: Desenvolvimento WEB
- Carga horária: 32 horas/aula (100% Prática em Laboratório)
- Ementa: Ruby on Rails, JQuery, HTML5, CSS3, XHTML
- Objetivo: Capacitar o aluno a desenvolver aplicações com o que tem de mais modernos em linguagens e tecnologias WEB. Desenvolver aplicações com utilização de Ruby on Rails, HTML5 e CSS3. Compreender o framework JQuery. Desenvolver aplicações simples, rápidas e com usabilidade atraente para o usuário. Perceber a necessidade de construir aplicações que dê uma nova experiência de uso ao usuário.
- Desenvolvimento RIA
Disciplina: Desenvolvimento RIA
- Carga horária: 32 horas/aula (100% Prática em Laboratório)
- Ementa: Adobe Flex, Silverlight, JavaFX
- Objetivo: Propiciar uma nova experiência de uso ao usuário. Desenvolver aplicações ricas para internet. Agregar funcionalidades de aplicações desktop em aplicações WEB. Compreender o funcionamento das principais tecnologias disponível para construção de aplicações RIA. Criar aplicação simples, bonitas, de fácil utilização que esteja centrada nas necessidades do usuário.
- Laboratório de Engenharia de Software Ágil
Disciplina: Laboratório de Engenharia de Software Ágil
- Carga horária: 32 horas/aula (100% Prática em Laboratório)
- Ementa: Práticas Ágeis de Engenharia de Software com XP, Gestão de projetos com Scrum, Gestão de processos com Lean, Construção de um software utilizando métodos ágeis, gestão de configuração (github), ferramentas para gerência de projetos ágeis (Pivotal Tracker), criação de um product backlog, planejamento de sprint, análise de gráfico burn-down, execução de Daily Scrum, colaboração entre a equipe do Scrum o Product Owner o Scrum Master e o cliente
- Objetivo: Desenvolver um projeto interdisciplinar que integra as técnicas de métodos ágeis com as demais técnicas e métodos vistos nas outras disciplinas. Criar equipes ágeis para desenvolvimento de software. Gerenciar o projeto com práticas ágeis como Srum. Fazer gestão de configuração com ferramentas que favorecem a colaboração. Utilizar ferramentas para gerenciar projetos e equipes ágeis. Aplicar praticas ágeis do XP integrada a práticas ágeis do Scrum.
Blog do Curso:
http://engenhariadesoftwareagil.com
Carga horária
360 horas/aulas
Dias e horários
- Sextas-feiras, das 19h25 às 22h55, no Campus Guajajaras
- Sábados, das 08h30 às 12h00 e das 13h00 às 16h30, no Campus Barro Preto
Investimento
- Valor Integral = R$ 6.850,00 ou 18 X R$ 464,98
- Valor com Desconto = R$ 5.137,50 ou 18 X R$ 348,74*
* O valor do respectivo curso está com 25% de desconto e será praticado apenas para matrículas efetivadas adiantadamente
Localização
Una
Campus Barro Preto
Rua Goitacazes, 1159, bairro Barro Preto – Belo Horizonte – MG
Matricula
Em dezembro de 2010 e janeiro de 2011. Aguarde a próxima turma.
Início do Curso
Próxima turma: Fevereiro de 2011
Coordenação
Tire suas dúvidas com o coordenador.
Professor: Edgard Davidson Costa Cardoso
E-mail: edgard.cardoso@prof.una.br
twtter: www.twitter.com/edgarddavidson
skype: edgarddavidson