Programa de Ensino 20202
Aprovado pelo Departamento em: 8-12-2020
- Identificação:
- Disciplina: INE5419 - Engenharia de Software II
- Carga horária: 72 horas-aula
Teóricas: 72
Práticas: 0
- Período:
2º semestre de 2020 até a presente data
- Curso(s):
- Ciências da Computação (208)
- Requisito(s):
- Ciências da Computação (208)
- INE5417 - Engenharia de Software I
- Ementa:
- 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.
- Objetivo(s):
- 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.
- 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.
- 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
- 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.
- 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/
- Rational Program: http://www-306.ibm.com/software/rational/
- Software Engineering Resources- R.S. Pressman & Associates, Inc.: http://www.rspa.com/spi/