Arquitetura de Software

Ano
1
Ano lectivo
2017-2018
Código
02023397
Área Científica
Engenharia de Software
Língua de Ensino
Português
Modo de Ensino
Presencial
Duração
Semestral
Créditos ECTS
6.0
Tipo
Obrigatória
Nível
2º Ciclo - Mestrado

Conhecimentos de Base Recomendados

Programação, Engenharia de Software, Tecnologia dos Computadores.

Métodos de Ensino

Aulas teóricas com exposição detalhada, recorrendo a meios audiovisuais, dos conceitos, princípios e teorias fundamentais sobre a criação e avaliação de arquiteturas de sistemas de software. Nas aulas teóricas serão também realizados testes escritos (5 minutos) que incidem sobre o conteúdo de artigos disponibilizados aos alunos como tarefa de leitura.

Aulas práticas-laboratoriais em que se pretende que os alunos adquiram conhecimentos sobre ferramentas e técnicas de desenvolvimento e avaliação de arquiteturas de software e que, com a orientação do docente, desenvolvam um projeto prático.

Resultados de Aprendizagem

Após a conclusão desta unidade curricular, os alunos deverão:

- ser capazes de descrever uma arquitetura com precisão;
- reconhecer os principais estilos arquiteturais existentes em sistemas de software;
- propor alternativas de arquitetura para um problema, e escolher entre eles;
- ter as competências necessárias para a construção de um sistema de software de dimensão média que satisfaça uma especificação de arquitetura;
- usar as ferramentas de desenvolvimento corretas para acelerar essas tarefas;
- compreender a definição formal de uma arquitetura e ser capaz de raciocinar sobre as suas propriedades;
- usar o conhecimento de domínio para especializar uma arquitetura para uma determinada família de aplicações.

Estágio(s)

Não

Programa

Conceitos base de Arquitetura de Software (AS): o papel da AS no desenvolvimento de software

Principais estilos e padrões arquiteturais em software

Análise de requisitos de software e o seu papel na construção e avaliação de uma AS

Desenho de uma AS: criação, fundamentação e seleção de alternativas arquiteturais

Reutilização de software: estratégias para reutilização de software e avaliação do seu impacto na AS. O recurso a COTS e a middleware numa AS

Notações formais para a especificação e análise de AS

Documentação de uma AS

Implementação de uma AS: design detalhado e design patterns

Avaliação de uma AS: respeito pelos requisitos do software e a gestão de compromissos entre atributos de qualidade

Consideração de tendências futuras do software e o seu impacto nas AS.

Docente(s) responsável(eis)

Bruno Miguel Brás Cabral

Métodos de Avaliação

Avaliação
Mini Testes: 15.0%
Exame: 35.0%
Projecto: 50.0%

Bibliografia

Software Architecture: Perspectives on an Emerging Discipline, by Mary Shaw and David Garlan, Prentice Hall 1996

Software Architecture in Practice, Second Edition, by Len Bass, Paul Clements, and Rick Kazman, AddisonWesley 2003.

Documenting Software Architectures: Views and Beyond, Second Edition,by Clements, et al. AddisonWesley 2011.

Architecting Software Intensive Systems: A Practitioner’s Guide, by Anthony J. Lattanze, Taylor and Francis/Auerbach 2008.