Académique Documents
Professionnel Documents
Culture Documents
Un logiciel est :
Facilité à reproduire
Tout le coût se trouve dans son développement
Pour d’autres produits, la fabrication est souvent le processus le plus coûteux
Intangibilité
Il est difficile d'estimer l’effort de développement
Dépassement de budget,
Dépassement d’échéance,
Mauvaises fonctions livrées,
Erreurs (bugs) et autres problèmes,
Autrement dit:
C’est « l'art » de produire de bons logiciels, au meilleur rapport
qualité/prix.
20/10/2020 Dr. Aymen LOUATI 12
Génie Logiciel: Définition
• Objectifs? • Comment ?
– Améliorer la – En faisant le suivi des
productivité, différentes phases du
– Améliorer le suivi, processus logiciel,
– Améliorer la qualité – En offrant un cadre
• fiabilité, cohérent et uniforme de
• maintenance, production.
• évolutivité.
Responsabilité après
o Évaluation
Responsabilités avant
o Planifier le projet en détail
o Créer la liste des tâches
o Établir l’échéancier
o Répartir le budget
o Vérifier la disponibilité des ressources
Responsabilités pendant
o Exécuter le projet
o Produire et livrer l’extrant
o Respecter les termes du mandat
Responsabilité après
o Préparer un rapport de clôture
Le promoteur
o Veut que le projet se réalise,
o Investit ($ ou ressources) dans le projet,
o Reçoit l’extrant du projet et l’exploite,
Le mandataire
o Reçoit son mandat du promoteur,
o Fournit les ressources, est rémunéré,
o Produit l’extrant en respectant les contraintes ($, T, Q)
Les utilisateurs
o Bénéficiaires de l’extrant du projet,
o Déterminent la réussite ou l’échec,
o Devraient être impliqués dès le début,
Le chargé de projet
Le mandataire
Le promoteur
Réalise le
projet
Lance un appel
d’offres Approuve les Livre l’extrant
plans du projet
Analyse de la Répond à l’appel Planifie le Approuve
faisabilité d’offres projet l’extrant
Identifie un Sélectionne le
projet mandataire
Constate un
Les utilisateurs
besoin
Début Fin
20/10/2020 Dr. Aymen LOUATI 33
2. Les contraintes d’un projet (1)
Coût
o Réaliser le projet en respectant le budget
Temps
o Réaliser le projet dans les délais prescrits
Qualité
o Livrer l’extrant selon les spécifications du
promoteur
La gestion de projet :
une question
d’équilibre !
La définition,
La planification,
L’exécution,
Le suivi et contrôle,
La clôture,
But
o Prendre une décision relative à la réalisation d’un
projet
Activités
o Identification d’un besoin
o Identification d’un projet comme réponse au
besoin
o Définition du projet : paramètres clés
o Analyse de faisabilité
À la fin de la définition
o Décision du promoteur de réaliser le projet
o Choix du mandataire par le promoteur
o Recherche de financement
But
o Planifier l’affectation des ressources au calendrier
d’exécution du projet
Activités
o Déterminer le travail à faire
o Établir l’échéancier
o Répartir le budget
o Affecter les ressources
À la fin de la planification
o Approbation du plan d’exécution par le promoteur
o Mise en route du projet par le mandataire
Buts
o Produire l’extrant et le livrer au promoteur
o Respecter les contraintes ($, T, Q)
Activités
o Direction et coordination
o Contrôle de l’avancement (T)
o Contrôle des coûts ($)
o Contrôle de la qualité (Q)
o Gestion des changements
À la fin de l’exécution
o Approbation de l’extrant par le promoteur
o Fin du projet par le mandataire
But
o Dégager les leçons techniques et de gestion que l’on
peut tirer du projet complété
Pour le promoteur
o Choix du projet et du mandataire
o Exploitation de l’extrant
o Rentabilité du projet
Pour le mandataire
o Planification
o Choix et affectation des ressources
o Rentabilité du mandat
20/10/2020 Dr. Aymen LOUATI 44
3.4 Le cycle de vie d’un projet: Clôture (2)
Activités du promoteur
o Clore tous les dossiers en cours
o Archiver les documents importants
Activités du mandataire
o Clore tous les dossiers en cours
o Archiver les documents importants
o Libérer et réaffecter les ressources
Analyse des
Spécifications
besoins
Analyse du
Maintenance système
Validation Conception
Implémentation
Tests de vérification
o Vérification de la robustesse et cohérence du système,
en particulier dans les cas d’exceptions
o Testeur est différent du concepteur ou du développeur
o Logiciels de tests: toute ligne de code doit être testée
o Différentes méthodes de validation (voir cours
méthodes formelles)
Recette
o Validation client: accord avec les besoins
o Planification dès spécifications: cahier de recettes
Satisfaction du client.
Production d’applications de qualité.
Simplification de la réalité.
Mieux appréhender le système.
Utiliser les bon outils de communication
Le choix des modèles simplifie la manière d’aborder le
problème et sa solution.
Décomposer le système en un ensemble de modèles pour en
améliorer la compréhension.
Système
= Réalité
3ème modèle
2ème modèle proposé
proposé
Diagramme Diagramme
Diagramme Machine Diagramme de
de classe d’objets
d’activité d’états UML cas d’utilisation
Diagramme de Diagramme de
séquence communication
Représentation
Possibilité
Diversité dede diagrammes
visualiser
graphiqueet pour
d’une
manipuler
séquence
une des éléments
d’opérations
modélisation de
sous
modélisation
ou de la structure
plusieurs angles d’un système
20/10/2020 ISI Kef Workshop 63
Domaine d’application
Un
UMLbon
est-il Informaticien
la bonne solution? est un bon
Comment appliquer la bonne démarche?
développeur,
UML est unOUI c’est vrai
avantage pourmais ?????
la modélisation
ouTrès
une bon
Comment ANALYSTE
générer
perte delestemps –pour
Trèslivrer
bon modèles? bon un
produit? CONCEPTEUR
20/10/2020 ISI Kef Workshop 65
1. Echanger avec son client
– Définir ensemble un diagramme de cas d’utilisation.
– Valider ensemble les scénarios.
Livrable
1..*
1 * 1 * 1 *
* *
*
*
2 2 2
Date
Projet Module
est découpé en se décompose en
1 1..*
0..1
*
Avantages
Maîtriser le projet
Répartir les responsabilités
Réduire les délais planifiés
Avoir un développement incrémental
Découpage statique (niveau 1)
Découpage dynamique (niveau 2)
20/10/2020 Dr. Aymen LOUATI 73
Les modèles de développement: le cycle de vie
Sa naissance
Sa maturité
sa maintenance
1. Le modèle de la cascade
2. Le modèle de développement évolutif
3. Le modèle spécifique RUP
4. Le modèle du code-and-Fix
5. Le modèle en V
6. Le modèle en W
7. Le modèle de la spirale
8. Le modèle spécifique RAD
9. Etc …
Validation
Spécification
Vérification
Conception Générale
Vérification
Conception détaillée
Test Unitaires
Codage
Programmation
Expérimentation
Version n
Compréhension du problème
Programmation
Si Non Satisfaisant
Mise au point
Fin
Enrichissement du modèle en V
Identification des orientations solides pour la conception
Exploration d’une nouvelle technique
Validation et expérimentation de plusieurs prototypes ou maquettes
20/10/2020 Dr. Aymen LOUATI 87
7. Modèle de la spirale
Initialisation
Construction
Mise en œuvre
Moyens (procédures,
Vérification du respect des Assurance outils, critères) mis à
procédures et critères de Qualité disposition pour obtenir
qualité à des points un logiciel de qualité.
intermédiaires identifiés et
établis à l’avance.
Contrôle Plan
Qualité Qualité d’assurance
Qualité
Document associé à un
La politique de la qualité
projet qui définit les
de l’entreprise (méthodes,
méthodes, procédures et
procédures et outils à Manuel outils utilisés par le projet
utiliser ou à éliminer) Qualité
• Ensemble de métriques.
Critères • Qualité du point de vue du réalisateur(vision interne).
• Conditionnent des facteurs.
McCall: (1977)
Capacité
fonctionnelle
Portabilité
Fiabilité
Le logiciel est-il
facile à modifier ? ISO Le logiciel est-il
SQuaRE facile à utiliser ?
Maintenabilité
Utilisabilité
Rendement
Le logiciel est-il
performant ?
20/10/2020 Dr. Aymen LOUATI 101
ISO 25000: (Facteurs, Critères)
•Validité Interopérabilité
Fonctionnalité •Précision Conformité règlementaire
•Sécurité
•Maturité
Fiabilité •Tolérance aux fautes
•Capacité de récupération
•Analysabilité Stabilité
Maintenabilité •Changeabilité Testabilité
•Installabilité Co-existance
Portabilité •compatibilité
•Adaptabilité
Validité(suitability)
Aptitude Précision(accuracy)
d’un produit logiciel de remplir
exactement ses fonctions définis par le cahier des
charges
Protection Interopérabilité(interoperability)
etdu
La précision sesest
spécifications.
système de données
un attribut contre
du logiciel quilaporte
divulgation,
lasurmodification ou de
la fourniture destruction
résultats ou et la protection
d’effets justesdes
et
systèmes
convenus. informatiques.
Conformité
la capacité de deux ouRéglementaire(compliance)
plusieurs systèmes ou
composants à échanger des informations et les
Attributs Sécurité(security)
utiliser. du logiciel selon lesquels ils respectent
l’application des ( normes, conventions,
règlementations, droits,
20/10/2020
prescriptions similaires).
Dr. Aymen LOUATI 105
Fiabilité (Reliability)
Capacité de récupération
20/10/2020 Dr. Aymen LOUATI 107
Fiabilité (Reliability)
Mesures
L’analyse fonctionnelle
Facilité de
Effort que doit faire l’utilisateur
compréhension
pour exploiter et contrôler
(Understandability)
l’exploitation
quede son application
FacilitéEffort doit
d’apprentissage faire l’utilisateur
pour reconnaître la logique et sa
(Learnability)
mise en oeuvre
Effort
Facilité que doit faire l’utilisateur
d’opération
pour apprendre son application
(Operability)
Interface conviviales
Attractivité (Attractiveness)
Analysabilité(Analyzability )
Changeabilité(Changeability)
Diagnostiquer les déficiences, les causes de
pannes, identifier les parties à modifier.
Stabilité(stability)
Aptitude à être changer en partie avec le
moindre effort
Testabilité(testability
Pas )
d'effets imprévus après modification
Installabilité ( installability)
La capacité
La d’exister
capacité avec d’autres
d’être logiciels,
installer dans un qui lui sont
indépendants, Compatibilité
partageant le même (environnement
replaceability) et les
environnement donné.
Lamême ressources.
capacité d’être
conforme aux Adaptabilité ( adaptability)
La capacité de substituer facilement un autre
normes et standars
logiciel similaire tout en assurant les mêmes
de portabilité. Co-existance
fonctionnalités et opérant (dans
co-existence)
le même
La capacité de fonctionner
environnement dans
de que différents
l’ancien logiciel.
environnements Conformance
sans avoir recours à des procédures
( compliance)
supplémentaires pour le modifier et le faire adapter.
20/10/2020 Dr. Aymen LOUATI 116
Portabilité (portability)
Mesures
Ratio de changement