Arquitetura de Software
1
2017-2018
02023397
Engenharia de Software
Português
Presencial
Semestral
6.0
Opcional
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ãoPrograma
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.