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.