• EN
  • Facebook
  • Instagram
  • Youtube
  • Linkedin
Você está em: Início > Ensino > Unidades Curriculares > MIA05
Autenticação
ATENÇÃO: Este site utiliza cookies. Ao navegar no site estará a consentir a sua utilização.

Arquiteturas de Software

Código: MIA05    Sigla: AS
Área Científica: Informática

Ocorrência: 2024/25 - 2S

Área de Ensino: Informática

Cursos

Sigla Nº de Estudantes Plano de Estudos Ano Curricular Créditos Horas Contacto Horas Totais
MIA 22 Despacho n.º 12693/2023, de 12 dezembro 6

Horas Efetivamente Lecionadas

MIA-1-2ED

Teórico-Práticas: 0,00

Docência - Horas Semanais

Teórico-Práticas: 1,80

Tipo Docente Turmas Horas
Teórico-Práticas Totais 1 1,80
Fernando José da Fonseca Bento - ESGT   1,80

Docência - Responsabilidades

Docente Responsabilidade
Filipe Montez Coelho Madeira - ESGT Responsável

Objetivos de aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes)

OA1. Saber analisar e selecionar de entre as alternativas arquiteturais de acordo com os requisitos, incluindo os de sustentabilidade e os não funcionais
OA2. Saber desenhar arquiteturas de software sustentáveis
OA3. Obter as competências necessárias para especificar e construir aplicações modernas para a Internet e para a nuvem, com necessidades de processamento e de integração relevantes
OA4. Saber implementar mecanismos de autenticação e segurança no desenvolvimento de aplicações
OA5. Saber implementar níveis de abstração para manipulação dos dados

Conteúdos programáticos

CP1. Fundamentos dos padrões arquiteturais e arquiteturas de software
CP1.1. Requisitos técnicos, operacionais e de qualidade
CP1.2. Requisitos de sustentabilidade e não funcionais
CP1.3. Concepção de arquiteturas
CP1.4. Documentação de arquiteturas
CP1.5. Implementação e testes
CP2. Estilos e padrões de arquiteturais atuais
CP2.1. N-camadas
CP2.2. Web-Queue-Worker
CP2.3. Microservices
CP2.4. Event-Driven
CP2.5. Arquiteturas especializadas: Big Data e Big Compute
CP3. Desenvolvimento sustentável de software (Sustainable Green Software Engineering)
CP4. Arquiteturas de software modernas de aplicações para a Internet e para a nuvem
CP4.1. Tecnologias Cliente (HTML, CSS, JS)
CP4.2. Estrutura interna de um browser
CP4.3. Bibliotecas, Frameworks de desenvolvimento, Linguagens
CP4.4. RESTful APIs
CP4.5. Microserviços
CP4.6. Abstração de dados
CP4.7. Segurança (autenticação e controlo de acessos)
CP5. Especificar e construir uma aplicação web moderna

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular

A demonstração de coerência decorre da interligação dos conteúdos programáticos (CP) com os objetivos de aprendizagem (OA), cujo relacionamento se explicita a seguir:
CP1 - OA1 & OA2
CP2 - OA2
CP3 - OA2
CP4 - OA3 & OA4
CP5 - OA3

Metodologias de ensino e de aprendizagem específicas da unidade curricular articuladas com o modelo pedagógico

Sessões teóricas e práticas desenvolvem conceitos com exemplos aplicados. Tutoriais baseados em projetos envolvem acompanhamento do professor. O processo de ensino inclui EaD assíncrono via Moodle, com vídeos, artigos e fóruns. Os métodos de ensino incluem sessões expositivas (M1), participativas (M2), ativas (M3) e experimentais (M4). Aulas a distância (síncronas) apresentam conceitos, exemplos e exercícios resolvidos, com suporte tutorial. As metodologias síncronas incluem exposição (M1), demonstração (M5) e autoestudo (M6).



Avaliação

Os estudantes organizados em pequenos grupos de até 3 elementos, desenvolvem um projeto web baseados num tipo e arquitetura definidos pelo professor responsável pela unidade curricular. A avaliação contínua inclui a realização de:
A1 - Trabalho de grupo com apresentação (100%)
Os alunos em avaliação contínua que não obtenham a nota mínima de 10 valores no trabalho serão remetidos para exame final.

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da unidade curricular

A exposição dos conceitos e teorias fundamentais (M1) assim como a demonstração recorrendo a vídeos, exemplos (M5) e a resolução de exercícios (M2) e estudos de casos em laboratório informático (M4), dotam os estudantes dos conhecimentos necessários para compreenderem as alternativas arquiteturais de software atuais (OA1 & OA2).
Os exemplos, exercícios e casos práticos usados nos métodos participativo (M2), demonstrativo (M5) e experimental (M4) facilitam as aprendizagens dos estudantes para que estes sejam capazes de utilizar as técnicas e ferramentas adequadas (OA3 & OA4 & OA5). Ao desenvolverem e apresentarem os trabalhos práticos (M3) os estudantes aplicam os conhecimentos resultantes do trabalho em aula e autónomo (M6), permitindo desenvolver as soluções solicitadas tendo em conta as respetivas arquiteturas (OA3), os mecanismos de segurança (OA4) e a abstrações para os dados (OA5). Os diferentes objetivos de aprendizagem serão avaliados através de um trabalho prático a desenvolver e a ser apresentado em sala de aula (A1). Este elemento de avaliação contribui para o sucesso de todos os objetivos de aprendizagem. Em síntese:
M1 - OA1 & OA2
M2 - OA1 & OA2 & OA3 & OA4 & OA5
M3 - OA3 & OA4 & OA5
M4 - OA1 & OA2 & OA3 & OA4 & OA5
M5 - OA1 & OA2 & OA3 & OA4 & OA5
M6 - OA3 & OA4 & OA5

Bibliografia de consulta (existência obrigatória)

Bass, L., Clements, P. & Kazman, R. (2021). Software Architecture in Practice (4.a ed.). Addison-Wesley Professional.
Kleppmann, M. (2017). Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems (1st
ed.). O¿Reilly Media.
Mitra, R. & Nadareishvili, I. (2020). Microservices: Up and Running: A Step-By-Step Guide to Building a Microservices Architecture. O¿Reilly Media.
Richards, M. & Ford, N. (2020). Fundamentals of Software Architecture: An Engineering Approach (Illustrated). O¿Reilly Media.
Zammetti, F. (2022). Modern Full-Stack Development: Using Typescript, React, Node.Js, Webpack, Python, Django, and Docker (2nd ed.). Apress.