MINISTÉRIO DA EDUCAÇÃO

UNIVERSIDADE FEDERAL DE SANTA CATARINA

CENTRO TECNOLÓGICO

DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA

PROGRAMA DE ENSINO

1. Identificação

Disciplina:INE5417 - Engenharia de Software I
Nível:Graduação
Carga Horária:90 horas-aula (Teórica: 55; Prática: 35)
Vigência:De 2020-1 até a presente data

2. 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.

3. Cursos Relacionados

4. Objetivos

4.1 Objetivo 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.

4.2 Objetivos Específicos:

  1. Conhecer diferentes técnicas e métodos de levantamento de requisitos e utilizar um método de levantamento de requisitos.
  2. Conhecer diferentes técnicas e métodos de análise e utilizar um método de análise.
  3. Conhecer diferentes técnicas e métodos de projeto e utilizar um método de projeto.
  4. Conhecer e utilizar a linguagem de especificação UML.
  5. Utilizar uma ferramenta CASE para dar suporte à análise e projeto.
  6. Implementar um software orientado a objetos de acordo com o levantamento de requisitos, a análise e o projeto desenvolvidos durante o curso.

5. Conteúdo Programático

  1. Levantamento de Requisitos [15 horas-aula]
    1. Requisitos Funcionais
    2. Requisitos Não-Funcionais
    3. Técnicas de Levantamento e Representação de Requisitos
    4. Métodos de Levantamento de Requisitos
  2. Análise Orientada a Objetos [24 horas-aula]
    1. Diagrama de Classes Conceituais
    2. Métodos de Análise Orientada a Objetos
  3. Projeto Orientado a Objetos [44 horas-aula]
    1. Técnicas de Projeto
    2. Padrões de Projeto
    3. Componentes e Frameworks
    4. Projeto da Arquitetura
    5. Mapeamento Objeto-Relacional
    6. Métodos de Projeto Orientado a Objetos
  4. UML [5 horas-aula]
  5. Métodos Ágeis [2 horas-aula]

6. Bibliografia Básica

  1. 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.
  2. Silva, Ricardo P. e. Como modelar com UML 2. Florianópolis: Visual Books, 2009. 319p.
  3. Silva, Ricardo P. e. UML 2 em modelagem orientada a objetos. Florianópolis: Visual Books, 2007. 232p.
  4. Wazlawick, Raul S. Análise e Projeto de Sistemas de Informação Orientados a Objetos. Campus/Elsevier, 2004.

7. Bibliografia Complementar

  1. Cockburn, A. Writing Effective Use Cases. Ed. Addison-Wesley, 2001. 270p.
  2. Jacobson, I.; Booch, G.; and Rumbaugh, J. The Unified Software Development Process. Ed. Addison-Wesley, 1999. 463p.
  3. Gamma, Erich et al. Padrões de projeto: soluções reutilizáveis de software orientado a objetos. Ed. Bookman, 2000. 364p.
  4. Pressman, Roger. Engenharia de Software ? 6a. Edição. Ed. AMGH, 2010, 720p.
  5. Sommerville, I. Software Engineering ? 5a. Edição. Ed. Addison-Wesley, 1995. 742p.
  6. OMG. Unified Modeling Language (OMG UML). Version 2.5.1, dec. 2017 (disponível em www.omg.org/spec/UML/2.5.1/)
  7. OMG. OCL Specification. V.2.4. OMG, feb. 2014. (Disponível em www.omg.org/spec/OCL/2.4/
  8. OMG. Unified Modeling Language: Diagram Interchange. V.1.0. OMG, apr. 2006. (Disponível em www.omg.org/spec/UMLDI/1.0/)