Académique Documents
Professionnel Documents
Culture Documents
DU
GÉNIE LOGICIEL
Besoins
Flot d'informations
arrière
Conception
Tests
Besoins
maintenance
utilisation et
Conception
Réalisation
Tests
Conception
Intégration
préliminaire
Conception Tests
détaillée unitaires
Codage
– Vérification
• réalisation = bonne construction?
– Validation
• réalisation = bon produit?
– Coût du logiciel
• à quelle étape est-il plus important?
• comment procéder pour le réduire?
• Modèles de développement
évolutif prototypes
incrémental spécification formelle
Coûts équipements
confort des usagers
Rapidité équipements
Fiabilité > Performances rejet des usagers
Type de conséquences catastrophes
comptabilité
BD
comptable
paie
impression
• trois méthodes
– langage naturel
– langage structuré ou formaté (SADT)
– langage de spécification formelle (ADA)
ASSOCIATION
1-1
0-n
ENTITÉ
• à ne pas faire:
– développement du prototype avec les outils du
produit final
– développement avec le même degré de finesse
• mais:
– utiliser des outils qui permettent de
– mettre l'accent sur l'essentiel
C.Crochepeyre 1999 Cnam - Génie logiciel
21
• Conclusion: expression des besoins
• Passage:
– de l'expression des besoins à la conception
• Spécifications fonctionnelles
• Conception des logiciels
• Relations entre les logiciels
• Détails des logiciels
• Spécifications d'interface
– logiciel = boîte noire
– fonction de la boîte = contraintes E/S
E
logiciel
S
• Spécifications opérationnelles
– description abstraite des transformations E/S
– description des opérations du programme
E
logiciel
S
• Conception impérative
– fonctionnelle descendante
– modulaire
• Conception applicative
– orientée objets
– héritage
– la modularité
• décomposition impérative: le module
• décomposition applicative: la classe d'objet
– l'abstraction
• vues différentes d'un constituant selon les besoins
– le masquage de l'information
• vues externes différentes d'un constituant
– la hiérarchie
• relations orientées entre constituants
– module
• unité fonctionnelle reliée aux données
• langages: Ada, C, Modula 2
– décomposition d'un module:
• l'interface: spécifications des composants exportés
• le corps: composants réalisants les fonctionnalités
– méthode SASD
module A
module B
EXP f(x)
– modules de données
• gestion de données statiques
• gestion de données dynamiques
– modules de traitements
• entité d'exécution parallèle
• communications et synchronisation entre processus
– modules fonctionnels
• imbrications de modules données, traitements et
communications
• composants élémentaires
– couches
• architecture en couches
• il a un comportement:
– déterminé par ses actions
– avec des contraintes sur les actions ou attributs
– représenté par:
• réseaux de pétri, automates à états finis, des
diagrammes, des matrices, des grafcet....
classe COMPTE_CLIENT:
Code client: n° du compte client
Titulaire: nom et adresse du client
Solde: montant disponible
Débiter: procédure de retrait sur le solde
Créditer: procédure d'ajout sur le solde
• La méthodologie
• La lisibilité des programmes
• Les outils
• La portabilité des programmes
• Les langages
• Tests
– détection des erreurs
– abscence d'erreurs?
– choix judicieux des tests
• Mise au point
– localisation des erreurs et corrections
– mode d'écriture facilitant la mise au point
• Documentation et maintenance
– les différents documents
– la qualité des documents
– les outils de production
– la maintenance des documents et logiciels
Deux niveaux:
– doc interne: informaticiens
• développement du logiciel
• maintenance du logiciel
– doc externe: utilisateurs
• présentations des fonctions
• pas de détail de réalisation
– la définition desbesoins
– les spécifications fonctionnelles
– les unités de programme
– les tests unitaires
– les tests d'intégration
– les tests de validation du système
– le dictionnaire de données
– écriture
– présentation
– complétude
– actualisation
CHARGE IMPORTANTE