Programa de Ensino 20201
Aprovado pelo Departamento em: 3-8-2020
- Identificação:
- Disciplina: INE5417 - Engenharia de Software I
- Carga horária: 90 horas-aula
Teóricas: 55
Práticas: 35
- Período:
1º semestre de 2020 até a presente data
- Curso(s):
- Ciências da Computação (208)
- Requisito(s):
- Ciências da Computação (208)
- INE5408 - Estruturas de Dados
- Ementa:
- Análise de requisitos: requisitos funcionais e requisitos não-funcionais; técnicas para levantamento e representação de requisitos, incluindo casos de uso. Modelagem OO: classe, atributo, associação, agregação e herança. Projeto OO: técnicas para projeto; padrões de projeto, componentes e frameworks; projeto de arquitetura; mapeamento objeto-relacional. Linguagem de especificação orientada a objetos. Métodos de análise e projeto orientados a objetos. Desenvolvimento de um software OO.
- Objetivo(s):
- Geral: Compreender modelos de requisitos e modelos de análise e de projeto orientados a objetos, e analisar e projetar um sistema informatizado utilizando um método orientado a objetos.
- Específicos:
- Conhecer diferentes técnicas e métodos de levantamento de requisitos e utilizar um método de levantamento de requisitos.
- Conhecer diferentes técnicas e métodos de análise e utilizar um método de análise.
- Conhecer diferentes técnicas e métodos de projeto e utilizar um método de projeto.
- Conhecer e utilizar a linguagem de especificação UML.
- Utilizar uma ferramenta CASE para dar suporte à análise e projeto.
- Implementar um software orientado a objetos de acordo com o levantamento de requisitos, a análise e o projeto desenvolvidos durante o curso.
- Conteúdo Programático:
- Levantamento de Requisitos [15 horas-aula]
- Requisitos Funcionais
- Requisitos Não-Funcionais
- Técnicas de Levantamento e Representação de Requisitos
- Métodos de Levantamento de Requisitos
- Análise Orientada a Objetos [24 horas-aula]
- Diagrama de Classes Conceituais
- Métodos de Análise Orientada a Objetos
- Projeto Orientado a Objetos [44 horas-aula]
- Técnicas de Projeto
- Padrões de Projeto
- Componentes e Frameworks
- Projeto da Arquitetura
- Mapeamento Objeto-Relacional
- Métodos de Projeto Orientado a Objetos
- UML [5 horas-aula]
- Métodos Ágeis [2 horas-aula]
- Bibliografia Básica:
- Larman, Craig. Utilizando UML e padrões: uma introdução à análise e ao projeto orientados a objetos e ao desenvolvimento iterativo (3a. Edição). Ed. Bookman, 2007. 695p.
- Silva, Ricardo P. e. Como modelar com UML 2. Florianópolis: Visual Books, 2009. 319p.
- Silva, Ricardo P. e. UML 2 em modelagem orientada a objetos. Florianópolis: Visual Books, 2007. 232p.
- Wazlawick, Raul S. Análise e Projeto de Sistemas de Informação Orientados a Objetos. Campus/Elsevier, 2004.
- Bibliografia Complementar:
- Cockburn, A. Writing Effective Use Cases. Ed. Addison-Wesley, 2001. 270p.
- Jacobson, I.; Booch, G.; and Rumbaugh, J. The Unified Software Development Process. Ed. Addison-Wesley, 1999. 463p.
- Gamma, Erich et al. Padrões de projeto: soluções reutilizáveis de software orientado a objetos. Ed. Bookman, 2000. 364p.
- Pressman, Roger. Engenharia de Software – 6a. Edição. Ed. AMGH, 2010, 720p.
- Sommerville, I. Software Engineering – 5a. Edição. Ed. Addison-Wesley, 1995. 742p.
- OMG. Unified Modeling Language (OMG UML). Version 2.5.1, dec. 2017 (disponível em www.omg.org/spec/UML/2.5.1/)
- OMG. OCL Specification. V.2.4. OMG, feb. 2014. (Disponível em www.omg.org/spec/OCL/2.4/
- OMG. Unified Modeling Language: Diagram Interchange. V.1.0. OMG, apr. 2006. (Disponível em www.omg.org/spec/UMLDI/1.0/)