Object-Oriented Design

Code Cours
2223-JUNIA-M2S1-MB-IT-103
Language of instruction
French, English
Teaching content
MB-IT
Training officer(s)
D.DELANNOY
Stakeholder(s)
M. Khabcher (IBM)
Level
Master
Program year
Period

Présentation

Prerequisite
To follow this module, the student must know the concepts of objects (construction of simple objects, construction of composite objects, inheritance, polymorphism, exceptions, ...) and have implemented these notions in JAVA or C ++.

Reference : « JAVA 1 module » M1 ISEN Lille
Goal
Targeted skills : 31(311/312/313), 43(431/432/433), 63(634)

Training in the development of computer applications addressed by the use of an object-oriented programming language such as JAVA or C ++ would not be complete if it was not accompanied by a preliminary approach of structured design and compliance with standards .

The design of an application in an object language consists of identifying reusable logical entities and organizing them in a flexible way, avoiding, as far as possible, the interdependencies. The main benefits that can be derived from this are mainly a better adaptability of the application in case of evolutions of needs, a greater efficiency in the organization of developments, and a greater maintainability of their source code. However, when implemented without respect for specific rules, this approach can also introduce a level of critical complexity that is a danger to the evolution of projects.

This course aims at professionalizing the object-oriented design of a software, notably by studying certain design archetypes, called "Design Patterns", and by introducing a formal representation language Of the structure of a program ("Unified Modeling Language").

At the end of the course, the student will:

- Know how to design the architecture of a complex program using an object-oriented language
- Be able to choose the right design patterns to use depending on the problem
- Know a part of the UML language to model an application
- Know the main types of design patterns
Presentation
UML (Unified Modeling Language) is the language used to model and represent the architecture of a software. The parts "diagram of classes" and "diagrams of interactions", of interest to us in this course, allows to specify the different classes of the applications as well as their interactions in the form of diagrams. UML is a standard adopted by leading market players for object-oriented application design and project documentation.

Design patterns describe class and object organizations to facilitate code reuse and maintenance. A design pattern can be seen as a form of organization to solve a generic design problem. It is therefore reusable and can be transposed to several applications. Thus, a design pattern describes an optimal solution to a problem often encountered in application development.

This module covers the following topics:

- The UML: class diagrams and sequence diagrams
- The design patterns of GoF (Gand of Four)
- The MVC pattern (Model Views Controllers) and its variants

Modalités

Organization
Type Amount of time Comment
Face to face
Lectures - face to face 6,00
Exercises 2,00
Lab 20,00
Independent study
Independent study 30,00
Overall student workload 58,00
Evaluation
Control type Duration Amount Weighting
Continuous assessment
Lab grade 4,00 1 50,00
Mini-project 4,00 1 50,00
TOTAL 100,00

Ressources