Requisitos e Arquitetura de Software

Objectivos

Objectivo: estudo dos vários tipos de requisitos como pilares orientadores da arquitetura de software. Os requisitos não-funcionais (NFRs) e análise de conflitos servem de base para derivação sistemática da arquitetura de software.

Saber:

  • Lidar com desafios colocados pela dimensão, objectivos contraditórios e descrição deficiente dos problemas reais.
  • Compreender as vantagens da sistematização e reutilização planeada para a derivação da arquitetura.
  • Ponderar a arquitectura com base em alternativas nem sempre disjuntas.

Saber fazer:

  • Aplicar abordagens orientadas a objectivos para identificar, especificar, validar e gerir requisitos.
  • Usar o NFR Framework para refinar NFRs e resolver conflitos.
  • Analisar alternativas arquiteturais e escolher para satisfazer as restrições impostas pelos NFRs, promovendo a derivação sistemática da arquitetura.
  • Descrever arquiteturas usando visões, padrões e estilos.

Utilizar linguagens de descrição arquitetural ferramentas automáticas.

Caracterização geral

Código

11171

Créditos

6.0

Professor responsável

Ana Maria Diniz Moreira

Horas

Semanais - 4

Totais - A disponibilizar brevemente

Idioma de ensino

Português

Pré-requisitos

A disponibilizar brevemente

Bibliografia

  • An Introduction to requirements Engineering, I. K. Bray, Addison-Wesley, 2002
  • K. Wiegers, J. Beatty, Software Requirements, Microsoft Press, 2013
  • J.Dick, E. Hull, K. Jackson, Requirements Engineering,  Springer-Verlag, 2010 
  • A. Lamsweerde, Requirements Engineering, Wiley, 2009
  • I. Alexander, N. Maiden, Scenarios, Stories, Use Cases: Through the Systems Development Life-Cycle, Wiley, 2004
  • G. Kotonya, I. Sommerville, “Requirements Engineering: Processes and Techniques”, Wiley, 1998
  • I. Alexander, R. Stevens,  “Writing Better Requirements”, Addison Wesley, 2002
  • R. N. Taylor, et al, "Software Architecture: Foundations, Theory, and Practice" John Wiley and Sons, 2009
  • L. Bass, et al, "Software Architecture in Practice", 2nd edition, Addison-Wesley, 2003
  • P. Clements, et al "Documenting Software Architectures: Views and Beyond", Addison-Wesley, 2003.

Método de ensino

A disponibilizar brevemente

Método de avaliação

A disponibilizar brevemente

Conteúdo

1. Introdução
1.1 A natureza e a importância da Engenharia de Requisitos
1.2 Requisitos como drivers da Arquitetura de Software
1.3 Arquitetura de software e sua importância na evolução do software

2. Processo de Engenharia de Requisitos
2.1 Processos e modelos de engenharia de requisitos
2.2 Requisitos Elicitação e Exploração (Design Thinking, Brainstorming)
2.3 Análise e Negociação de Requisitos (gestão de conflitos e priorização)
2.4 Validação de Requisitos (Inspeções, protótipos, validação de modelo e teste de requisitos)
2.5 Gestão de Requisitos
2.6 Padrões de documentação de requisitos ((por exemplo, IEEE 830-1998) 

3. Técnicas de engenharia de requisitos
3.1 Métodos para especificação de requisitos
3.2 Estrutura de requisitos não funcionais (Refinamento e operacionalização)
3.3. Modelação baseada em objetivos com iStar (modelagem organizacional intencional)
3.4 Derivação de modelos orientados a objetos (mapeamentos entre paradigmas, modelos e conceitos)

4. Fundamentos de desenho  arquitetural 
4.1 Princípios de arquitetura de software
4.2 Mapeamento de requisitos para conceitos arquiteturais
4.3 Documentação da arquitetura de software 

5. Técnicas de arquitetura de software
5.1 Estruturação do sistema e decomposição modular
5.2 Vistas arquiteturais
5.3 Estilos e padrões arquiteturais (catálogos de arquiteturas de software)
5.4 Linguagens de descrição arquiteturais
5.5 Avaliação da arquitetura

6. Avanços em requisitos e arquitetura
6.1 Questões transversais
6.2 Análise de Domínio e Linhas de Produto de Software

Cursos

Cursos onde a unidade curricular é leccionada: