Disciplina
Arquitecturas de Software
Área
Área Científica de Metodologia e Tecnologias da Programação > Engenharia de Software
Activa nos planos curriculares
MEIC-T 2018 > MEIC-T 2018 > 2º Ciclo > Agrupamentos > Engenharia de Software > Arquitectura de Software
MEIC-T 2021 > MEIC-T 2021 > 2º Ciclo > Área Principal > Agrupamentos > Engenharia de Software > Arquitectura de Software
MEIC-T 2015 > MEIC-T 2015 > 2º Ciclo > Agrupamentos > Engenharia de Software > Arquitectura de Software
MEIC-A 2021 > MEIC-A 2021 > 2º Ciclo > Area Principal > Agrupamentos > Engenharia de Software > Arquitectura de Software
MEIC-A 2015 > MEIC-A 2015 > 2º Ciclo > Agrupamentos > Engenharia de Software > Arquitectura de Software
MEIC-T 2006 > MEIC-T 2006 > 2º Ciclo > Áreas de Especialização Complementares > Engenharia de Software > Arquitectura de Software
MEIC-A 2006 > MEIC-A 2006 > 2º Ciclo > Área de Especialização Complementar > Engenharia de Software > Arquitectura de Software
Nível
A avaliação da cadeira de Arquitecturas de Software é composta pelos seguintes elementos: Exame teórico: 40% da nota final, nota mínima de 8.5 valores (em 20) Mini testes: 40% da nota final, 4 mini testes realizadas durante as aulas práticas, são consideradas as 3 melhores notas Trabalhos práticos (em grupo): 20% da nota final A nota final é calculada de acordo com a fórmula NotaFinal = roundHalfUp(0.4 x E + 0.4 x MT + 0.2 x TP) em que "E", "MT" e "TP" correspondem às notas (de 0 a 20 valores) do Exame, Mini Testes e dos Trabalhos Práticos, respectivamente. A nota dos mini testes é calculada MT = ((MT1 + ... + MT4) - MIN(MT1, ... , MT4))/3. A nota dos trabalhos práticos "TP" é a média aritmética, sem arredondamentos, das notas obtidas em cada um dos trabalhos práticos realizados. Opção para trabalhadores estudantes: Os alunos que tiverem o estatuto de trabalhador-estudante realizam apenas exame final, cujo peso na nota final é de 100%. Em época especial será realizado um exame, cujo peso na nota final é de 100%.
Tipo
Não Estruturante
Regime
Semestral
Carga Horária
1º Semestre
3.0 h/semana
1.5 h/semana
147.0 h/semestre
Objectivos
Formar nos métodos, técnicas e linguagens do desenho de software de qualidade utilizando as abordagens de arquiteturas de software e desenho centrado no domínio para o desenvolvimento de sistemas de software de larga escala. Estudar os métodos e as técnicas da passagem do espaço do problema para o espaço da solução de modo a garantir a rastreabilidade entre os requisitos do sistema e o seu desenho. Ler, analisar e desenhar arquiteturas de software.
Programa
Introdução à Arquitetura de Software: definição de arquitetura de software; o ciclo de influência da arquitetura. Dos requisitos para a arquitetura: atributos de qualidade arquitetural; táticas para atingir as qualidades arquiteturais; as qualidades arquiteturais de disponibilidade, facilidade de modificação, desempenho, segurança, interoperabilidade, facilidade de teste, usabilidade e escalabilidade. Documentar arquiteturas de software: vistas e estilos arquiteturais; o tipo vista módulo e os seus estilos arquiteturais; o tipo vista componente-e-conetor e os seus estilos arquiteturais; o tipo vista de afetação e os seus estilos arquiteturais. Desenvolvimento de sistemas de software de larga escala: desenho centrado no domínio; arquitetura de microserviços; tecnologias para processar um grande número de eventos assíncronos. Casos de estudo: sistemas reais como, por exemplo, Facebook, Twitter, Amazon e Netflix.
Metodologia de avaliação
A avaliação da cadeira de Arquitecturas de Software é composta pelos seguintes elementos: Exame teórico: 40% da nota final, nota mínima de 8.5 valores (em 20) Mini testes: 40% da nota final, 4 mini testes realizadas durante as aulas práticas, são consideradas as 3 melhores notas Trabalhos práticos (em grupo): 20% da nota final A nota final é calculada de acordo com a fórmula NotaFinal = roundHalfUp(0.4 x E + 0.4 x MT + 0.2 x TP) em que "E", "MT" e "TP" correspondem às notas (de 0 a 20 valores) do Exame, Mini Testes e dos Trabalhos Práticos, respectivamente. A nota dos mini testes é calculada MT = ((MT1 + ... + MT4) - MIN(MT1, ... , MT4))/3. A nota dos trabalhos práticos "TP" é a média aritmética, sem arredondamentos, das notas obtidas em cada um dos trabalhos práticos realizados. Opção para trabalhadores estudantes: Os alunos que tiverem o estatuto de trabalhador-estudante realizam apenas exame final, cujo peso na nota final é de 100%. Em época especial será realizado um exame, cujo peso na nota final é de 100%.
Pré-requisitos
Componente Laboratorial
Princípios Éticos
Componente de Programação e Computação
Componente de Competências Transversais
Bibliografia
Principal
Software Architecture in Practice (3rd Edition)
Len Bass, Paul Clements, Rick Kazman
Documenting Software Architectures: Views and Beyond (2nd Edition)
Implementing Domain-Driven Design 1st Edition
Addison-Wesley Professional_ISBN-10: 0321834577; ISBN-13: 978-0321834577
Domain Driven Design: Tackling Complexity in the Heart of Software