Bem vindo a MFES
Bem vindo à página da edição de 2013/14 da UCE de
Métodos Formais em Engenharia de Software.
O meu nome é José Nuno Oliveira e sou o responsável por este perfil de especialização do MEI, que conta com uma
equipa de docentes altamente qualificados na investigação e ensino de métodos formais aplicados ao desenvolvimento de
software.

Todos fazemos parte do Laboratório
HASLab 
(
Formal Methods for High-Assurance Software), em que se vem consolidando
know-how em métodos formais desde há mais de 25 anos.
Nos seus 30 ECTS de ensino em métodos científicos de programação, incluindo 10 ECTS de acompanhamento de
projectos propostos por
parceiros industriais nacionais e estrangeiros, este perfil é porventura um dos mais expressivos na sua área.
As disciplinas que compoem MFES corporizam os principais vectores de que depende o projecto de aplicações
fiáveis, à escala
industrial.
Na sua componente teórica, a visão é a de abordar problemas de software segundo uma autêntica perspectiva de
engenharia, que permite - através da modelos matemáticos sobre os quais é possível raciocinar e calcular -
prever o comportamento dos programas antes de serem escritos.
Na sua componente prática, a UCE ensina a conceber e animar modelos de problemas, testando-os atempada e exaustivamente antes de se proceder à fase de cálculo e implementação, por forma a evitar erros de perspectiva ou infantilidades de concepção. Em suma: ensina-se a saber modelar e calcular, sim, mas também a saber analisar, testar e avaliar, sem descurar
métricas para a
qualidade do software.
No seu conjunto, os conteúdos desta UCE pretendem realizar o desígnio de que é possível afixar o carimbo
nos artefactos de software desenvolvidos segundo os seus princípios metodológicos.
Parcerias
Classificação ACM
Número de ECTS por área de conhecimento, segundo as
IEEE/ACM Curriculum Guidelines for Software Engineering:
- Software/SOFTWARE ENGINEERING/Metrics --- 2
- Software/SOFTWARE ENGINEERING/Requirements/Specifications --- 6
- Software/SOFTWARE ENGINEERING/Software Architectures --- 6
- Software/SOFTWARE ENGINEERING/Software/Program Verification --- 6
- Software/SOFTWARE ENGINEERING/Testing and Debugging --- 4
- Theory of Computation/LOGICS AND MEANINGS OF PROGRAMS/Specifying and Verifying and Reasoning about Programs --- 6
Citações
In late 1967 the Study Group recommended the holding of a working conference
on Software Engineering. The phrase `software engineering' was deliberately
chosen as being provocative, in implying the need for software manufacture
to be based on the types of theoretical foundations and practical disciplines,
that are traditional in the established branches of engineering.
There are two ways of constructing a software design: one way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies.
It is easier to write an incorrect program than understand a correct one.
Program testing can be used to show the presence of bugs, but never to show their absence!
Simplicity does not precede complexity, but follows it.
Humor
(Source:
Software Development: A Rigorous Approach by C.B. Jones)