The objective of this project is to illustrate some aspects of software engineering through the development of a large application. The main points are: compliance with requirements, software design, validation and verification techniques, quality process. The software, which is to be developed in Java, is a compiler for a subset of an advanced language. This theme has been chosen firstly because the requirements can be understood quickly, and secondly because it allows a deeper understanding of the underlying concepts of programming languages.
The project starts with a 15 hours period dedicated to the study of the requirements (definition of the language, static and dynamic semantics, target machine), to the presentation of technical aspects and expected documentation and process. Follow-up tutorials take place on various aspects: software architecture, testing techniques, code delivery. These sessions allow the students to be helped on technical aspects as well as planning and organization.Prerequisites
Compiler course (Compilers and languages 1), good knowledge of a high level programming language (Java), knowledge of an assembly language, programming practice.
Mark on the final product and the follow-up during the project (P).
Pas de rattrapage
The course exists in the following branches:
Course ID : 4MMPGL6
The course is attached to the following structures:
You can find this course among all other courses.
Date of update January 15, 2017