Evolução da prática de desenvolvimento de software; qualidade de artefatos de software; modularidade e reusabilidade; modelagem estrutural e dinâmica em orientação a objetos, diferentes visões de um sistema; metodologias de análise e projeto orientadas a objetos; teste de software; manutenção de software; modelos de ciclo de vida; engenharia reversa; modelagem formal de sistemas; abordagens voltadas ao reuso de software; gerenciamento do processo de produção de software e técnicas de apoio ao gerenciamento do processo de produção de software; apoio automatizado ao desenvolvimento de software.
3. Cursos Relacionados
CIÊNCIAS DA COMPUTAÇÃO (208) - Currículo: 2007-1 (Obrigatória)
4. Objetivos
4.1 Objetivo Geral:
Dar ao aluno condições de perceber o desenvolvimento de software como um processo de engenharia, baseado em planejamento, medição e melhoria contínua.
4.2 Objetivos Específicos:
Apresentar os conceitos de qualidade de processo e de artefato de software.
Apresentar a engenharia de software como um processo com seus atributos de qualidade.
Apresentar os diferentes ciclos de vida de desenvolvimento de software, sejam prescritivos ou ágeis.
Dar ao aluno condições de estimar esforço para o desenvolvimento de software.
Apresentar técnicas de especificação formal de software.
Identificar as etapas de implementação, teste e manutenção de sistemas de computação e ser capaz de realizá-los e/ou coordená-los.
Conhecer e saber aplicar métodos de controle da qualidade do processo de desenvolvimento de software.
5. Conteúdo Programático
Processo e Modelos de processo [18 horas-aula]
Mitos e Princípios da Engenharia de Software
Processo
Modelos de Processo Prescritivos
Modelos Ágeis
Processo Unificado
Planejamento e Gerenciamento de Projetos [16 horas-aula]
KSLOC
COCOMO II
Pontos de Função
Pontos de Histórias
Gerencia de Riscos
Planejamento de Projetos
Gerenciamento de Configuração e Mudança
Gerenciamento de Projetos
Qualidade e Evolução de Software [20 horas-aula]
Qualidade de produto
Qualidade de processo
Teste de Software
Manutenção de Software
Especificação Formal [18 horas-aula]
OCL: Object Constraint Language
Modelagem Conceitual com apoio de OCL
Modelagem Funcional com OCL
6. Bibliografia Básica
Wazlawick, R. S. (2019). Engenharia de Software: Conceitos e práticas. 2a ed. Elsevier, Rio de Janeiro.
Wazlawick, R. S. (2015). Análise e Design Orientados a Objetos para Sistemas de Informação: Modelagem com UML, OCL e IFML. 3a ed. Elsevier, Rio de Janeiro.
7. Bibliografia Complementar
Pressman, Roger (2010). Engenharia de Software. Ed. Makron Books.
Jacobson, I.,Booch, G.,.Rumbaugh, J. (1999). The unified software development process, Addison-Wesley.
Gamma, E. (2000). Padrões de Projeto. Bookman.
Joseph, R. (1999). Software process improvement with CMM, Boston, Artech House.
SEI ? Software Engineering Institut : http://www.sei.cmu.edu/
Ian Sommerville: http://www.comp.lancs.ac.uk/computing/resources/IanS/
CMMI http://www.sei.cmu.edu/cmmi/index.cfm
IFPUG - International Function Point Users Group : http://www.ifpug.org/