Departamento de Informática (UM)

Página de Unidade Curricular 🇬🇧

DesignaçãoCódigoCursoRegimeRegente

Projeto em Métodos Formais de Programação

17004 [ME78ME7800007520]

Mestrado em Engenharia Informática [MEINF]

S2

Renato Jorge Araújo Neves

Objetivos

Nesta unidade curricular pretende-se que os alunos apliquem as técnicas e ferramentas lecionadas no perfil no desenvolvimento de um projeto de média dimensão na área dos métodos formais.
O programa propõe integrar no desenvolvimento de um projeto de média dimensão quer ferramentas modernas de métodos formais, quer ferramentas de gestão de projetos. Ao envolver os alunos em projetos reais obtidos de parceiros industriais e outros perfis de especialização, o programa garante a aplicação prática de métodos formais na engenharia de software. As metas planeadas - desde a análise de requisitos até a apresentação pública final - promovem o desenvolvimento abrangente de capacidades de planificação, execução e avaliação de projetos. A utilização de sistemas de rastreamento, controle de versão, wikis e ferramentas colaborativas assegura transparência e promove a eficácia no trabalho em equipa, a comunicação e uma melhor gestão de projetos. Esta abordagem não só está alinhada com os resultados de aprendizagem, mas também capacita os alunos com capacidades e metodologias essenciais e relevantes para a indústria.

Programa

As propostas de projetos serão captadas pela equipa da UC junto de parceiros industriais e, caso não sejam obtidas propostas suficientes, junto de colegas de outros perfis de especialização. A cada grupo de trabalho será atribuída uma proposta diferente, ficando como orientadores do mesmo os proponentes externos e um ou mais membros da equipa docente.
Os orientadores definirão um conjunto de metas a serem atingidas por cada grupo, incluindo: análise de requisitos e trabalho relacionado; modelação, prototipagem e validação do modelo; apresentação intercalar; avaliação crítica, testes, provas e medidas de desempenho: escrita do relatório final e apresentação pública.
A gestão do projeto deverá ser, por cada grupo, transparente para os orientadores. Para este efeito deverá usar-se um sistema de tracking para registar a divisão em tarefas, time-cards, etc. e um sistema de controlo de versões para registo do código fonte e documentação.

Bibliografia


Marieke Huisman, Anton Wijs. Concise Guide to Software Verification: From Model Checking to Annotation Checking. Springer, 2023.

Gerard O'Regan. Concise Guide to Formal Methods: Theory, Fundamentals and Industry Applications. Springer, 2017.

Resultados da aprendizagem

No final da unidade curricular os alunos deverão ser capazes de:
- Planear projectos de métodos formais em engenharia de software.
- Executar projectos de métodos formais em engenharia de software.
- Avaliar projectos de métodos formais em engenharia de software.
- Aplicar ferramentas na área de métodos formais no desenvolvimento de um projeto de software.
- Integrar diferentes tecnologias e paradigmas computacionais.
- Desenvolver capacidades de trabalho em equipa, comunicação e gestão de projectos de software.

Método de avaliação

Sendo uma unidade curricular de projeto a avaliação será feita mediante a apresentação de um relatório escrito do trabalho desenvolvido (50%) e apresentações públicas periódicas e uma apresentação final do projeto (50%). Em cada uma destas componentes a nota será dada pelo proponente do projeto e pela equipa da UC, tendo ambas um peso idêntico.

Funcionamento

Turno: PL 1; Docente: Maria João Gomes Frade; Dep.: DI; Horas: 7.5.
Turno: PL 1; Docente: Jorge Miguel Matos Sousa Pinto; Dep.: DI; Horas: 7.5.
Turno: PL 1; Docente: Renato Jorge Araújo Neves; Dep.: DI; Horas: 7.5.
Turno: PL 1; Docente: Luís Manuel Dias Coelho Soares Barbosa; Dep.: DI; Horas: 7.5.

[ Outras UCs do Departamento ]