Software design
- Course type
- COMPUTER SCIENCE
- Unit
-
Module 2-09: Pre-specialization
- Number of ECTS
- 2.7
- Course code
- 2AINF10
- Distribution of courses
-
Heures de cours : 21
- Language of teaching
- French
Objectifs
Apart from proofs of concept, the design and realization of software requires it to be broken down into different functionalities, sub-programs or software components, etc. This is the usual concept in IT: divide and conquer, or divide and solve.
This principle applies just as much to the implementation phase as to the design phase. Today, it is based on standard strategies and, more often than not, on the UML modeling language.
By the end of this course, students will be familiar with a range of these strategies, and will be able to apply them to the design and implementation of small applications. Where appropriate, modeled applications will be implemented in Java.
Design an application
Break down into functionalities / components / libraries / …
Model the application
Model the data handled
Plan
Software life cycle (analysis, design, implementation, testing, use and corrective or evolutionary maintenance)
Data UML (and further development of UML)
Design pattern programming (E.GAMMA patterns: creation models, structure models and behavior models)
Component-based programming
Object-oriented programming: genericity / features / UML2.2 component model
OO design methodologies: unified process / AGILE method?
Functional and structural testing