Académique Documents
Professionnel Documents
Culture Documents
Chapitre1 Mpssi1
Chapitre1 Mpssi1
Conception logicielle
Chapitre 1:
CONCEPTION ORIENTÉE OBJET
Définitions : OMGL
• Diminution de l'incertitude
• Liberté de choix
• Cohésion de l'organisation
• Évolutivité par rapport à l'environnement
Qualités requises pour une
information
• Pertinence (mesure la qualité d’une information) :
relation directe entre l’action à accomplir ou la décision à
prendre
– précision : ni trop importante, ni trop faible
– sécurité (pour reconstituer l’information en cas d’accident)
– intégrité (contraintes statiques ou dynamiques)
– confidentialité (protection contre tentatives d’accès)
– non redondance (un seul exemplaire de chaque information)
– Convivialité (qualité de représentation sur support externe et
facilité d’accès par les utilisateurs)
– âge (temps entre enregistrement et sortie des résultats)
– fréquence (nombre de transmissions par unité de temps)
• Cohérence (d’unité, de temps, etc.)
• Rentabilité : coût d’obtention ≤ gain, meilleur service
Définitions : système
• identification du système
• identification des limites du système
• identification des sous-systèmes
• risque de perte engendrée par la
décomposition
• etc.
Définitions : système organisationnel
• Système de Décision (ou pilotage, management, etc.)
– Guide l'organisation vers ses objectifs (activités de planification
et de contrôle) : coordonne, imagine, finalise, élabore objectifs
– Gérer
• Système d'Information
– Intermédiaire entre les systèmes de décision et opérationnel, par
qui transite toute information :
• mémorise l’information (conservation de l'information pour des
besoins ultérieurs),
• traite l’information (rapprochements, calculs, comparaisons),
• fait circuler l’information (accès à la mémoire, échange entre
acteurs)
• Système Opérant (ou logistique, technologique,
physique, de production, etc.)
– Effectue la transformation : reçoit, traite, envoie
– Acheter ; Produire ; Stocker ; Vendre
système d’information
système informatique
Définitions : système informatique
• Communication
– Système informatique communique directement avec
son environnement (utilisateurs, fichiers d’autres
systèmes via un réseau ou non, etc.)
– Communication entre composants d’une application
(ex. : fichier de mouvement)
• Traitement
– Demandes de traitements issues de l’échange entre
le système informatique et son environnement
– Pilotage des traitements proposés par le système
informatique en gérant les appels aux processus
permettant de les réaliser
• Mémorisation
– Gestion des données par différents modes d’accès
(et stockage aux niveaux logique et physique)
Critères d'un bon système
informatique
• Productivité (en rationalisant le processus
d'informatisation)
– Établissement d'une ligne directrice des informatisations
– Planification et suivi des performances
– Efficacité des études informatiques
– Utilisation judicieuse des technologies
• Qualité
– Conformité de la réalisation par rapport aux besoins
– Documentation correcte
– Adaptabilité
– Fiabilité
– Facilité d'utilisation
• Rentabilité (i.e. gain pour l'organisation relativement au
coût de l'informatisation)
Cycles de vie du logiciel
Cycle de développement et cycle de
vie du logiciel : les phases
• Analyse
Cycle
• Conception
de Cycle
• Réalisation
développement de
• Tests
vie
• Exploitation
• Maintenance
Cycles de vie du logiciel
• Analyse de l'existant et définition des
besoins, du système d'information et du
logiciel
• Maintenance
– Correction des erreurs
– Amélioration des fonctions existantes
– Ajout de nouvelles fonctionnalités
Cycles de vie en cascade (ou en chute
d’eau)
Critiques :
– Recouvrement de phases
– Avancées et retours d’une seule phase du cycle de
développement à la fois
– Impact de la maintenance sur toutes les phases du
développement
– Contacts avec l’utilisateur restreints à la phase
d’analyse
Cycles de développement en V
▪ Analyse Fonctionnelle
Fonctions Principales …
▪ Inconvénients :
Modification de données modification en cascade de blocs fonctionnels
utilisant ces données
Evolutivité et maintenabilité parfois difficile
Données séparées des traitements
Faible niveau d’abstraction des données
29
L’Approche Orientée Objet– 1980 - …
▪ Un objet c’est :
Des données (ou propriétés, attributs)
Des traitements manipulant ces données et définissant son comportement
(Opérations, méthodes)
Des échanges de messages avec les autres objets
30
© Copyright Nat System 2016
Un Objet
Ampoule
intensité
Lampe
allumer ()
éteindre()
intensifier()
diminuer()
31
© Copyright Nat System 2016
les Choses ; les Etres ; les évènements
32
© Copyright Nat System 2016
Entité ; Attribut ; Valeur
33
© Copyright Nat System 2016
Entité ; Attribut ; Valeur - Exemples
34
© Copyright Nat System 2016
Entité ; Attribut ; Valeur (suite)
35
© Copyright Nat System 2016
Stockage des objets en mémoire
▪ Tout objet est identifié par son référent ou handle qui permet de
déterminer l’adresse physique en mémoire de l’objet
36
© Copyright Nat System 2016
Base de Données Relationnelles
Mécanisme
d’adressage
indirect
Adresse de
l’objet
39
© Copyright Nat System 2016
Objet Composite
▪ Composition : entre eux, les objets peuvent être dans une
relation de composition, où certains se trouvent contenus dans
d’autres.
40
© Copyright Nat System 2016
Changement d’Etats
41
© Copyright Nat System 2016
Objets en Interaction
Change :
Entier/couleur 3 Couleur = (couleur + 1)
Feu-de-signalisation If (couleur == 4) couleur =1
If (couleur == 1)
voitureDevant changeVitesse(50)
Voiture-vue-dans-la-rue Entier/vitesse 0
changeVitesse(int v)
Vitesse = v
43
© Copyright Nat System 2016
Evènements & Messages
44
© Copyright Nat System 2016
Messages, Evènements & Ecouteur
45
© Copyright Nat System 2016
Un Objet est une Instance de sa Classe
▪ Une classe est une description d'un ensemble d'objets ayant une
structure de données commune et disposant des mêmes
méthodes.
46
© Copyright Nat System 2016
Les différents états d’un objet
47
© Copyright Nat System 2016
Héritage et Taxonomie
50
Symbole et Emblème
▪ Exemple
▪ Le « Soleil » est un symbole de chaleur, de lumière et de vie.
Surcharge
▪ Le fait de définir une classe interne, sans lui donner de nom par
dérivation d’un super classe, ou par implémentation d’une
interface.
▪ Elle pourra donc accéder aux méthodes et aux attributs
de la classe l'englobant
/** lasse englobante */
public class ClasseEnglobante {
/* Méthode englobant l'appel à une classe anonyme */
public void methodeEnglobante(){
/** Déclaration et instanciation de la classe anonyme pour un bouton
* Le bouton est déclaré 'final' afin que la classe anonyme puisse y accéder */
final JButton bouton = new JButton("monBouton");
bouton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println(bouton.toString());
}
});
}
}
POO et les langages de programmation
▪ Ada
▪ C++
▪ C#
▪ Delphi
▪ NatStar
▪ JAVA
▪ Perl
▪ PHP
▪ Python
▪ Ruby
▪ VB
▪ Etc.
Conception Procédurale - Conception Objet
Exemple :
Méthode retournant le plus petit de deux nombres.
MOA et MOE
▪ MOA – Maître d’ouvrage
Le maître d’ouvrage ou MOA est la personne ou le groupe qui exprime le
besoin. Il précise les objectifs, les délais et le budget alloué.
Dans « ouvrage » il faut comprendre le produit qui sera livré à la fin du projet.
Connaissances fonctionnelles
0.8 ->0.9
0.9->0.91->1.0
Jim Rumbaugh Grady Booch Ivar Jacobson 1.0->1.1->1.2->1.3->1.4
1.5
2.0
13
UML
x.y
OMT
procédés UML SA/RT
SADT
industriels
de production
de logiciels et de
ERD Merise
systèmes.
DFD
DFD
etc.
JSD
Les outils UML (CASE / IDE)
•Fonctionnalités courantes
▪ Edition des modèles et diagrammes UML
▪ Gestion du dictionnaire de données
▪ Génération de code C++, Java,...
▪ Rétro-conception à partir de code existant
•Quelques exemples
▪ Rational Rose de Rational Software (www.rational.com)
▪ Software Through Pictures d’AONIX (www.ide.com)
▪ Cayenne Class Designer de Cayenne Software
(www.cayennesoft.com)
▪ AMC Designer, Poseidon, Visual Design, Spark
(www.cayennesoft.com)
• 17 ▪ …
▪ UML se décompose en plusieurs parties :
85
© Copyright Nat System 2016
Diagramme de Cas d’Utilisation – Use Case Diagram
▪ C’est la vue de l’utilisateur réputé « non informaticien » - MOA.
▪ Permet de préparer les cas de test.
▪ Il capture le comporte d’un système, d’un sous-système ou tout
simplement d’un comportement tel qu’un utilisateur extérieur
le voit.
86
© Copyright Nat System 2016
Diagramme de Cas d’Utilisation : Les Relations
▪ Relation d’association
▪ Bidirectionnelle (Association)
▪ Unidirectionnelle (DirectedAssociation)
▪ L’Inclusion (Include) :
Un cas A inclut un cas B si le comportement décrit par le cas A inclut le
comportement du cas B : le cas A dépend de B.
Lorsque A est sollicité, B l’est obligatoirement,
comme une partie de A.
▪ L’Extension (Extend) :
Un cas d’utilisation A étend un cas d’utilisation B
lorsque le cas d’utilisation A peut être
appelé au cours de l’exécution du cas d’utilisation B.
Exécuter B peut éventuellement entraîner l’exécution de A.
Diagramme de Cas d’Utilisation : Liens entre acteurs
▪ Relation d’association
▪ Relation de généralisation
Le Directeur des ventes « hérite »
du Préparateur de commande
▪ Note
Une note contient une information textuelle comme un commentaire, un
corps de méthode ou une contrainte.