Disciplina

Á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

2012

Addison-Wesley


Documenting Software Architectures: Views and Beyond (2nd Edition)

Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Paulo Merson, Robert Nord, Judith Stafford

2010

Addison-Wesley


Implementing Domain-Driven Design 1st Edition

Vaughn Vernon

February 16, 2013

Addison-Wesley Professional_ISBN-10: 0321834577; ISBN-13: 978-0321834577


Domain Driven Design: Tackling Complexity in the Heart of Software

Eric Evans

2003

Addison-Wesley