MC426 - Engenharia de Software

Créditos: 4
Horas semanais de atividades teóricas: 2
Horas semanais de atividades práticas: 2
Oferecimento: Ambos os períodos letivos
 
Pré-Requisitos
MC322
Ementa

Paradigmas da Engenharia de Software. Processos de Software. Modelos de Processo de Software. Extração e Especificação de Requisitos. Análise e Projeto de Sistemas de Software. Padrões de Arquitetura e Padrões de Projeto.

Programa

1 - Paradigmas da Engenharia de Software 

     a - Visão geral da área de Engenharia de Software;

     b - Conceitos de Produto (sistemas de software) e de Processo de Desenvolvimento;

     c - Modelos de Processo de Software;

    d - Reutilização de Software e Engenharia de Software Baseada em Componentes;

    e - Métodos Ágeis de Desenvolvimento de Software.

 

2 - Extração e Especificação de Requisitos

     a - Requisitos de Software: Requisitos Funcionais, Não-Funcionais, de Usuário e de Sistema;

     b - Técnicas para extração de requisitos;

     c - Especificação de requisitos;

     d -  ​​​​​​Modelos de casos de uso.

 

3 - Análise de Sistemas de Software

     a - Análise Orientada a Objetos: modelagem estática e dinâmica;

     b - Modelos de Sistema: modelo de classes, modelo de estados, modelo comportamentais (modelo de                                sequência e de comunicação), modelo de atividades, modelo de componentes em UML;

     c - ​​​​​​​Padrões de Análise.

 

4 - Projeto de Sistemas de Software

     a - ​​​​​​​Conceitos Básicos: Abstração, Refinamento, Encapsulamento, Módulo, Hierarquia e Componentização.

     b - ​​​​​​​Projeto Arquitetural e Projeto Detalhado;

     c - ​​​​​​​Arquitetura de Software, Visões Arquiteturais e Atributos de Qualidade;

     d - ​​​​​​​Projeto Orientado a Objetos e Processos de Desenvolvimento Centrados na Arquitetura;

     e - ​​​​​​​Padrões e Estilos Arquiteturais;

      f - ​​​​​​​Projeto de Componentes e de suas Interfaces; 

      g - ​​​​​​​Padrões de Projeto e Implementação de Modelos Arquiteturais.

 

 

Bibliografia
I. Sommerville, Software Engineering, Addison-Wesley, 10th Edition, 2015.
R. S. Pressman and B. Maxim, Software Engineering: A Practitioner’s Approach, 8th Edition, McGrow Hill, 2014.
C. Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process, Second Edition, Prentice-Hall, 2002.
L. Bass, P. Clements & R. Kazman, Software Architecture in Practice, Second Edition, Addison- Wesley, 2003, SEI Series in Software Engineering
M. Shaw & D. Garlan. Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, 1996.
F. Buschmann et al., A System of Patterns: Pattern-Oriented Software Architecture, Wiley, 1996.
E. Gamma et al., Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.