Saltar para:
Logótipo
Você está em: Início > M.EIC044

Técnicas Avançadas de Construção de Software

Código: M.EIC044     Sigla: TACS

Áreas Científicas
Classificação Área Científica
OFICIAL Engenharia de Software

Ocorrência: 2023/2024 - 1S Ícone do Moodle

Ativa? Sim
Página Web: https://moodle2324.up.pt/course/view.php?id=5967
Unidade Responsável: Departamento de Engenharia Informática
Curso/CE Responsável: Mestrado em Engenharia Informática e Computação

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
M.EIC 25 Plano de estudos oficial 2 - 6 39 162
Mais informaçõesA ficha foi alterada no dia 2023-08-31.

Campos alterados: Resultados de aprendizagem e competências, Métodos de ensino e atividades de aprendizagem, Bibliografia Complementar, Programa, Bibliografia Obrigatória, Avaliação especial

Língua de trabalho

Inglês

Objetivos

Os estudantes devem ser capazes de identificar e aplicar técnicas avançadas de especificação, síntese e manipulação de artefactos executáveis em diferentes fases de desenvolvimento de software, com o intuito de promover atributos de qualidade, tais como confiabilidade, flexibilidade, testabilidade e performance. Em particular, pretende-se reduzir ao máximo o tempo investido a "programar", automatizando várias facetas dessa atividade.

Resultados de aprendizagem e competências


  • Identificar problemas amenos a técnicas de desenvolvimento automático;

  • Desenhar modelos/meta-modelos específicos de domínio;

  • Processar instanciações de especificações textuais com combinadores de parsing, bem como respectivos mecanismos de execução;

  • Aplicar técnicas de derivação/geração de código/comportamento automaticamente a partir de especificações de alto nível;

  • Aplicar técnicas de metaprogramação;

  • Aplicar técnicas de verificação automática de programas;

  • Outras técnicas avançadas de desenvolvimento.

Modo de trabalho

Presencial

Programa


  • Engenharia orientada a modelos


    • Modelos, Metamodelos e Meta-Metamodelos


      • Idiomas específicos de domínio

      • Internos

      • Externos

      • Visuais vs baseados em texto

      • Geração de código-fonte



  • Combinadores de Parsing

  • Meta-programação

  • Programação automática


    • Especificações de alto nível

    • Síntese e Derivação de Programas


  • Verificação automática de programas

Bibliografia Obrigatória

Marco Brambilla; Model-driven software engineering in practice. ISBN: 978-3-031-02549-5

Bibliografia Complementar

Martin Fowler; Domain Specific Languages, Addison-Wesley Signature Series, 2010
Markus Volter; Model-Driven Software Development: Technology, Engineering, Management, Wiley Software Patterns Series, 2006
Dave Steinberg, Frank Budinsky, Marcelo Paternostro, Ed Merks; EMF - Eclipse Modeling Framework (2nd Edition), 2008

Métodos de ensino e atividades de aprendizagem

A unidade curricular irá decorrer em modo de aula invertida, onde os estudantes terão de estudar os tópicos de cada aula de forma autónoma, seguindo as indicações do docente.

As aulas teórico-práticas terão uma primeira parte de discussão de cada matéria pré-estudada pelos alunos, onde serão discutidos pontos relevantes e potenciais dúvidas. Numa segunda parte, os alunos dedicar-se-ão a um projeto prático. Esse projeto crescerá incrementalmente e resultará num sistema baseado em metamodelos com uma linguagem específica de domínio executável, primeiro por técnicas simples de interpretação e finalmente geração de código.

Tipo de avaliação

Avaliação distribuída sem exame final

Componentes de Avaliação

Designação Peso (%)
Participação presencial 10,00
Teste 20,00
Trabalho prático ou de projeto 70,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Elaboração de projeto 162,00
Frequência das aulas 39,00
Total: 201,00

Obtenção de frequência

Todas as componentes têm uma classificação mínima de 40%. 

Fórmula de cálculo da classificação final

N = 0.1 * P + 0.2 * T + 0.7 * E

Avaliação especial (TE, DA, ...)

N = 0.3 * T + 0.7 * E
Recomendar Página Voltar ao Topo
Copyright 1996-2025 © Faculdade de Engenharia da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2025-06-22 às 05:40:55 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias