Arquitetura para Sistemas de Software

Ano
1
Ano lectivo
2021-2022
Código
02038941
Área Científica
Informática
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.

Nestas aulas também 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 a arquitetura do seu projeto de Estúdio de Desenvolvimento de Software (outra UC do curso), 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.