Arquitetura de Software

Ano
1
Ano lectivo
2021-2022
Código
02023397
Área Científica
Engenharia de Software
Língua de Ensino
Inglês
Outras Línguas 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.

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, assim como executem e discutam a realização de 3 trabalhos práticos.

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
Resolução de problemas: 15.0%
Exame: 40.0%
Projecto: 45.0%

Bibliografia

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

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

Design Patterns: Elements of Reusable Object-Oriented Software, by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Addison-Wesley, 1988.