Disciplina: Arquitecturas de Software

Área Científica:

Informática

HORAS CONTACTO:

80 Horas

NÚMERO DE ECTS:

7,5 ECTS

IDIOMA:

Português

Objetivos Gerais:

1 - Arquiteturas de Software tem como objetivo ensinar como projetar, entender e avaliar sistemas em um nível arquitetônico de abstração. Ao final do curso você deve ser capaz de: ? Reconhecer os principais estilos arquitetônicos em sistemas de software existentes; ? Descrever uma arquitetura com precisão; ? Gerar alternativas arquitetônicas para um problema e escolher entre elas; ? Construir um sistema de software de tamanho médio que satisfaça uma especificação arquitetônica; ? Use definições existentes e ferramentas de desenvolvimento para agilizar tais tarefas; ? Compreender a definição formal de várias arquiteturas e ser capaz de raciocinar precisamente sobre as propriedades dessas arquiteturas; ? Use conhecimento de domínio para especializar uma arquitetura para uma família particular de aplicativos.

Conteúdos / Programa:

1 - Introdução
1.1 - Arquitetura SW e o papel do arquiteto SW
2 - Compreender os Atributos de Qualidade
2.1 - Disponibilidade
2.2 - Interoperabilidade
2.3 - Modificabilidade
2.4 - Desempenho
2.5 - Segurança
2.6 - Testabilidade
2.7 - Usabilidade
3 - Padrões Arquiteturais
4 - Arquitetura e o ciclo de vida do projeto
5 - Desenho duma arquitetura
6 - Documentação duma arquitetura
7 - Avaliação duma arquitetura

Bibliografia / Fontes de Informação:

Len Bass, Paul Clements, Rick Kazman , 2012 , Software Architecture in Pratice, 3rd Edition , Addison-Wesley
Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Robert Nord, Judith Stafford , 2010 , Documenting Software Architectures: Views and Beyond, 2nd Edition , Addison-Wesley
Simon Brown , 2015 , Software architecture for developers , Leanpub
George H. Fairbanks , 2010 , Just Enough Software Architecture, A Risk-Driven Approach , Marshall & Brainerd

Métodos e Critérios de Avaliação:

Tipo de Classificação: Quantitativa (0-20)

Metodologia de Avaliação:
1. Aulas expositivas; 2. Resolução de exercícios; 3. Trabalho prático em laboratório; 4. Trabalho em grupo e em equipa; 5. Apresentações.