Departamento de Informática (UM)

Página de Unidade Curricular 🇬🇧

DesignaçãoCódigoCursoRegimeRegente

Requisitos e Arquiteturas de Software

14601 [ME78ME7800006539]

Mestrado em Engenharia Informática [MEINF]

S1

João Miguel Lobo Fernandes

Objetivos

O sucesso de um projeto de desenvolvimento de software depende do nível com que são satisfeitas as necessidades dos utilizadores e clientes. A engenharia de requisitos é uma área do conhecimento que oferece métodos e técnicas que permitem o tratamento (captura, negociação e documentação) dos requisitos dos sistemas/produtos a desenvolver, tendo em conta os objetivos e as necessidades das partes interessadas. Esta unidade curricular estuda os vários tipos de requisitos e foca-se na importância dos requisitos não-funcionais (atributos de qualidade) para a derivação das diferentes alternativas para a arquitetura do sistema. A UC assume uma abordagem orientada à mudança (i.e., que os requisitos podem mudar ao longo do projeto) e que os riscos associados ao projeto devem ser avaliados de forma a mitigar os impactos da sua eventual ocorrência.

Programa

1. Requisitos: (a) definição, (b) requisitos funcionais, (c) requisitos não funcionais, (d) requisitos de utilizador, (e) conceitos relacionados.
2. Levantamento de requisitos: (a) processo, (b) identificação das partes interessadas, (c) técnicas.
3. Documentação de requisitos: (a) escrita em língua natural, (b) modelação.
4. Risco
5. Padrões de concepção: (a) padrões criacionais, (b) padrões estruturais, (c) padrões comportamentais, (d) anti-padrões de concepção.

Bibliografia

João M. Fernandes and Ricardo J. Machado; “Requirements in engineering projects”, Lecture Notes in Management and Industrial Engineering, Springer, 2016. [Portuguese version: João M. Fernandes e Ricardo J. Machado; “Requisitos em projetos de software e de sistemas de informação”, Novatec, São Paulo, Brazil, 2017].

George Fairbanks; “Just-enough software architecture: a risk-driven approach”, Marshall & Brainerd, 2010.

Len Bass, Paul Clements, and Rick Kazman; “Software architecture in practice”, Addison-Wesley, 1998.

Ian Gorton; “Essential software architecture”, 2nd ed., Springer, 2011.

Resultados da aprendizagem

- Aplicar métodos de engenharia de requisitos para levantar, priorizar e documentar requisitos.
- Usar técnicas para refinar atributos de qualidade
- Analisar alternativas arquiteturais com base no domínio do problema e nos atributos de qualidade.
- Descrever arquiteturas usando vistas, padrões e estilos.
- Utilizar linguagens de descrição arquitetural.

Método de avaliação

A UC tem dois elementos de avaliação principais: teste escrito (ou exame), realizado de forma individual, e componente de projeto, desenvolvida de forma colectiva. O peso de cada um destes dois elementos de avaliação varia entre 40 e 60%.

Funcionamento

Turno: T 1; Docente: João Miguel Lobo Fernandes; Dep.: DI; Horas: 15.
Turno: PL 1; Docente: André Leite Ferreira; Dep.: DI; Horas: 30.
Turno: PL 2; Docente: André Leite Ferreira; Dep.: DI; Horas: 30.
Turno: PL 3; Docente: André Leite Ferreira; Dep.: DI; Horas: 30.
Turno: PL 4; Docente: André Leite Ferreira; Dep.: DI; Horas: 30.
Turno: PL 5; Docente: Manuel José Domingues Alves; Dep.: DI; Horas: 30.
Turno: PL 6; Docente: Manuel José Domingues Alves; Dep.: DI; Horas: 30.
Turno: PL 7; Docente: Paulo Rafael Costa Sousa; Dep.: DI; Horas: 30.
Turno: PL 8; Docente: Diogo Afonso Silva Costa; Dep.: DI; Horas: 30.

[ Outras UCs do Departamento ]