SlideShare une entreprise Scribd logo
1  sur  49
Télécharger pour lire hors ligne
Mohamed ERRADI
ENS de Martil MAROC
Comment le client l’a
souhaité
Comment le chef de
projet l’a compris
Comment l’analyste l’a
compris
Comment le
programmeur l’a écrit
Comment le business
consultant l’a décrit
Ce dont le client avait
réellement besoin.
Ce dont le support
technique est effectué
Comment le client a été
facturé
Ce qui a été installé chez
le client
Comment le projet a été
documenté
Observer l’image et le titre:
1- Problématique des logiciels?
2 – Le génie logiciel: Objectifs?
Explosion de CHALLENGER
Perte de Mars sattellite , 1999
Accident de train au USA
Panne du système de réservation SNCF
Prendre du recul sur des expériences vécues (ou à venir) en:
 stages,
 mini-projets,
 travaux pratiques.
 Formaliser votre expérience du développement logiciel.
OBJECTIFS
Art et science de concevoir et de construire, avec économie et élégance
des applications, et d’autres systèmes informatiques, qui soient corrects,
robustes, réutilisables, sûrs, efficaces, facile à maintenir et à utiliser.
Le génie logiciel applique les techniques d’ingénierie à la définition, la
conception, la réalisation et l’évolution de systèmes logiciels .
Le génie logiciel comprend des méthodes et techniques et des outils
Définitions et Objectifs
Domaine des ‘sciences de l’ingénieur’ dont la finalité est la conception, la
fabrication et la maintenance de systèmes logiciels complexes, sûrs et de
qualité (‘Software Engineering’ en anglais). Aujourd’hui les économies de
tous les pays développés sont dépendantes des systèmes logiciels.
Le GL se définit souvent par opposition à la ‘programmation’, c’est à dire la
production d’un programme par un individu unique, considérée comme
‘facile’. Dans le cas du GL il s’agit de la fabrication collective d’un système
complexe, concrétisée par un ensemble de documents de conception, de
programmes et de jeux de tests
Définitions et Objectifs
Le GL se préoccupe d’assurer que les 4 critères suivants soient satisfaits.
 Le système qui est fabriqué répond aux besoins des utilisateurs (correction fonctionnelle).
 La qualité correspond au contrat de service initial:
 la validité
 la fiabilité
 la robustesse
 l’extensibilité
 la réutilisabilité :
 la compatibilité :
 l’efficacité
 la portabilité
 la traçabilité :
 la vérifiabilité
 l’intégrité
 la facilité d'utilisation, d’entretien, etc.
 Les coûts restent dans les limites prévues au départ.
 Les délais restent dans les limites prévues au départ.
Rigueur ( fermeté; détermination; assurance …).
Séparation des problèmes (stratégie «diviser pour régner »).
Modularité: composition en sous systèmes plus simples (primitives)
Abstraction: ne considérer que les aspects jugés importants.
Anticipation du changement: pour prévoir, faciliter et gérer des évolutions inévitables.
Construction incrémentale: chaque résultat est construit en étendant le précédent.
Générosité: résolution d’un problème général au lieu de la résolution d’un problème
spécifique.
principes
CYCLE DE VIE D’UN LOGICIEL
Définitions
Ensemble des étapes de la réalisation, de l’énoncé des besoins à la
maintenance ou au retrait du logiciel.
Le cycle de vie permet de détecter les erreurs au plus tôt et ainsi de
maîtriser la qualité du logiciel, les détails de sa réalisation et les coûts
associés.
C’est la période de temps s’étalant du début à la fin du processus du
logiciel.
CYCLE DE VIE D’UN LOGICIEL
Étapes
• Pourquoi développer le logiciel?
• Y a-t-il de meilleurs alternatives?
• Comment procéder pour faire ce développement?
• Y a-t-il un marché pour ce logiciel?
• Quels moyens faut-il mettre en œuvre? A t-on le budget, le personnel, le matériel
nécessaires?
Activité Faire une étude préalable
Description Etudier la faisabilité du projet, ses contraintes techniques (coût, temps, qualité) et les
alternatives possibles
Entrées Problème à résoudre, objectifs à atteindre.
Sorties Si oui: décision de réaliser le logiciel
Si non: projet abondonné.
Doc: faisabilité
CYCLE DE VIE D’UN LOGICIEL
Étapes
• Que doit faire le logiciel?
• Les spécifications fonctionnelles? Les spécifications non fonctionnelles?
• Performance requise?
• Comportement en cas d’erreur?
• Interfaces avec l’utilisateur?
• Contraintes de réalisation?
• Environnement?
Activité Spécifier
Description Décrire ce que doit faire le logiciel. Décrire comment vérifier que le logiciel fait bien ce sui est
exigé.
Entrées Client qui a une idée de ce qu’il veut. Exigences, désir, besoins… concernant le système
permettant de résoudre le problème.
Sorties Cahier des charges du logiciel. Des procédures de validation.
Doc: cahier des charges
CYCLE DE VIE D’UN LOGICIEL
Étapes
• Conception générale ou globale ou préliminaire ou architecturale?
• Description de la solution retenue; description de l’architecture de la solution: les
entités, les interfaces des entités et interaction entre entités
• Conception détaillée
• Décomposition des entités en entités plus élémentaires
• Interface; algorithmes utilisés, traitements des erreurs,; performance….
Activité Concevoir
Description Organiser le logiciel afin qu’il puisse satisfaire les exigences de la spécification et faire les
principaux choix techniques pertinentes.
Entrées Une spécification
Sorties Une description des décisions de conception. Des procédures de tests qui permettent de
vérifier que les décisions de conception sont correctement implémentées en code source.
Doc: conception générale
Doc: conception détaillée
CYCLE DE VIE D’UN LOGICIEL
Étapes
• Tests unitaires?
• Assemblage
• Tests d’intégration?
Activité Intégrer
Description Assembler le code source du logiciel et dérouler les tests d’intégration
Entrées Conception, code source, tests (d’intégration)
Sorties Rapport de tests d’intégration
CYCLE DE VIE D’UN LOGICIEL
Étapes
• Tests unitaires?
• Assemblage
• Tests d’intégration?
• Installation dans son environnement d’exploitation
Activité Validder
Description Construire le logiciel complet exécutable. Dérouler les tests de validation sur le logiciel
complet exécutable.
Entrées Le logiciel complet exécutable à valider. Tests de validation
Sorties Rapport de tests de validation
CYCLE DE VIE D’UN LOGICIEL
Étapes
• Maintenance corrective:
• Corriger les erreurs: défaut d’utilité; d’utilisabilité; de fiabilité
• Identifier la défaillance, le fonctionnement
• Localiser la partie du code responsable
• Corriger et estimer l’impact d’une modification
• Maintenance adaptative: ajuster le logiciel pour qu’il continue à remplir son rôle compte
tenu de l’évolution des environnements d’exécution…
• Maintenance perfective ou d’extension:
• Accroitre / améliorer les possibilités du logiciel (services; interface, performance..)
CYCLE DE VIE D’UN LOGICIEL
Etude de faisabilité
Analyse des besoins
Spécifications
Conception
Implémentation
Validation
Analyse des besoins
Conception
Codage
Tests
Validation
Maintenance
Spécifications
Modèle DE développement D’UN LOGICIEL
Modèle en cascade
Modèle DE développement D’UN LOGICIEL
Modèle en cascade
• Description:
 Linéaire ou séquentiel
 Découpage en phase successives dans le temps
 A chaque phase correspond une activité précise produisant des livrables
 On ne passe à l’étape suivante que si les résultats de l’étape précédente
sont jugés satisfaisants
 Les entrées de chaque étape sont les sorties de l’étape qui lui précède
 Chaque phase ne peut être remise en cause que par l’étape qui précède
 La phase de spécification est critique
Modèle DE développement D’UN LOGICIEL
Modèle en cascade
• Avantages:
 Simple
 Logique
 Bien adapté pour des petits systèmes
 Contrôle facile
 Facilité de planification des étapes et délais
 Accent sur la documentation et la structure
 Idéal pour les petits projets logiciels stables
Modèle DE développement D’UN LOGICIEL
Modèle en cascade
• Inconvénients:
 Mal adapté à des systèmes complexes (processus de développement
rarement séquentiel)
 Les tests s’appliquent à l’application globale (pas de validation de
besoins)
 Difficultés de définir les besoins dès le début du projet.
 Délais assez long pour voir quelques choses.
Modèle DE développement D’UN LOGICIEL
Modèle en V
Expression des besoins
Spécifications
Conception Générale
Conception détaillée
Implémentation
Tests unitaires
Tests Intégration et tests d’intégration
Tests de validation
Installation & tests système
Modèle DE développement D’UN LOGICIEL
Modèle en V
• Description:
 La première branche correspond à un modèle en cascade
 La seconde branche correspond à tests effectifs
 Chaque étape est accompagnée d’un test
 Enchainement successive des phases
 Relations logiques entre les phases plus éloignées
 Le début du processus conditionne ses dernières étapes
 L’intégration est réalisée jusqu’à l’obtention du système final.
Modèle DE développement D’UN LOGICIEL
Modèle en V
• Avantages:
 Stricte structure en V permet d’espérer un livrable final parfait
 Facile de prévoir les tests à réaliser
 Bien adapté au partage des tâches entre clients et prestataires, et
définissant parfaitement les rôles du partenariat,
 le cycle recommence en proposant un produit de plus en plus complet.
 Largement utilisé en informatique
 Idéal quand les besoins sont bien connus, quand l’analyse et la
conception sont claires.
Modèle DE développement D’UN LOGICIEL
Modèle en V
• Inconvénients:
 N’envisage pas que les spécifications initiales puissent être modifiées après
leurs validations.
 Difficile de l’appliquer à des projets complexes ou trop techniques ou à des
projets qui risquent d’évoluer.
Modèle DE développement D’UN LOGICIEL
Modèle en Spirale
des alternatives
des contraintes
/validation
Modèle DE développement D’UN LOGICIEL
Modèle en spirale
• Description:
 Un cycle de la spirale commence par l’élaboration d’objectifs tels que la performance, la
fonctionnalité… on énumère ensuite les différentes manières de parvenir à ces objectifs
ainsi que les contraintes.
 On évalue ensuite chaque alternative en fonction de l’objectif
 L’étape suivante consiste à évaluer les risques pour chaque activité, comme l’analyse
détaillée, le prototypage, la simulation etc…
Modèle DE développement D’UN LOGICIEL
Modèle en spirale
• Description:
 Après avoir évalué le risque, on choisit un modèle de développement pour le système.
• Si les risques concernent l’interface utilisateur modèle prototypage évolutif
• Si les risques concernent l’intégration des sous systèmes modèle en cascade
 La situation est ensuite réévaluée pour déterminer si un développement supplémentaire
est nécessaire
Le modèle de la spirale englobe tous les autres modèles
Modèle DE développement D’UN LOGICIEL
Modèle en spirale
• Description:
 Chaque spire confirme et affine les spires précédentes en mettant des activités de même
nature successivement.
 L’analyse ou la conception ne sont plus effectuées dans une seul phase ou étape mais sont
conduites en tant qu’activités qui se déroulent sur de multiples phases.
 A chaque étape, après avoir défini les objectifs et les alternatives, celles-ci sont évaluées
par différentes techniques (prototypage, simulation,..;)
 Le nombre de cycles est variable selon que le développement est classique ou
incrémental
Modèle DE développement D’UN LOGICIEL
Modèle en Spirale
• Avantages:
 Ce modèle met l’accent sur l’analyse des risques (exigences
technologiques, réutilisation des composants, calendrier, budgets
irréalistes, défaillance du personnel…)
 Modèle souple et adaptatif
 Le prototype est évalué par le client
 Estimation des coûts faciles (grâce à la construction des prototypes
 Permet de développer l’expertise du client sur un nouveau système
 Utilisé pour des projets dont les enjeux (risques) sont importants.
Modèle DE développement D’UN LOGICIEL
Modèle en Spirale
• Inconvénients:
 Fonctionne le mieux uniquement pour les grands projets
 Besoins de compétences ressources
 Difficile de travailler sur un protocole pré définie
 Evaluation des risques génère une augmentation dans les coûts
Modèle DE développement D’UN LOGICIEL
Modèle par prototypage
Spécification
schématique
Evaluation
du prototype
Acceptation
du logiciel
Utilisation
du logiciel
Livraison
du logiciel
Logiciel
adéquat
Réalisation
du prototype
ouinon
Modèle DE développement D’UN LOGICIEL
Modèle par prototypage
• Description:
 Il s’agit d’écrire une première spécification et de réaliser un sous-ensemble du produit
logiciel final,
 Cet ensemble est ensuite raffiné incrémentalement et évalué jusqu’à obtenir le produit
final.
• Deux types de prototypage:
• Jetable: squelette du logiciel qui n’est crée que dans un but et dans une phase
particulière de développement
• Evolutif: conservé tout au long de développement, Il est amélioré et complété pour
obtenir le logiciel final.
Modèle DE développement D’UN LOGICIEL
Modèle itératif
Expression des besoins
Spécifications Validation
Développement
Evaluation
Déploiement
Modèle DE développement D’UN LOGICIEL
Modèle itératif
• Description:
Tout commence par l’expression de besoin : le client explique ce qu’il veut, tout en sachant
que ces besoins peuvent être modifiés par la suite du processus. Ensuite, on se lance dans
le processus itératif en lui-même avec la rédaction des spécifications qui est suivie par
le développement, puis la validation (c’est à dire les tests) et enfin une évaluation du
travail qui servira d’information de départ pour le cycle suivant en dressant le bilan des
difficultés rencontrées et des fonctionnalités abandonnées pendant le cycle. A l’issue de la
validation on passe aussi au déploiement : les livrables (il peut s’agir d »une version du site
ou logiciel, ou même d’une documentation) qui ont été validés sont déployés, c’est à dire mis
à disposition.
Modèle DE développement D’UN LOGICIEL
Modèle itératif
• Avantages:
 Le plus modèle le plus souple
 chaque itération permet de s’adapter à ce qui a été appris dans les
itérations précédentes et le projet fini peut varier du besoin qui a été
exprimé à l’origine.
 Comme dans le cycle en spirale, la mise à disposition de livrables à
chaque cycle permet un apprentissage de l’utilisateur final en
douceur.
Modèle DE développement D’UN LOGICIEL
Modèle itératif
• Inconvénients:
 La confiance qui amène bien souvent à négliger les test d’intégration.
 On peut livrer une nouvelle fonctionnalité sans se rendre compte qu’on a
modifié une chose qui fonctionnait dans les cycles précédents.
Problématique générale
Les méthodesLes outilsLes modèles
dirigées par les données
• Jackson (1975)
Fonctionnelles
• Analyse structurée (SA-SD)
• SADT
Systémique
• MERISE
Orientées objets
• OMT
• UML
informels (formatés)
• Dictionnaire de données
• Table de décisions
• Table états-transitions
graphiques ou semi formels
• DFD
• Diagramme de structure
• Diagramme Entité – relation
• États d’états transitions
• Pétri
Iconiques
Analogiques
Analytiques
Conceptuels
• Structurels
• Comportementaux
Typologie des modèles, outils et des
méthodes d’analyse
L’analyse structurée
(SA: structured
analysis) est une
méthode
descendante par
raffinement successifs
des traitements ou
processus.
1 2
3 4
1.1 1.2
1.3
3.1 3.3
3.2
4.1 4.2
4.3 4.4
Diagramme de contexte
Niveau 1
Niveau 2
Diagrammes de flots
de données DFD
Décrit les processus mis en œuvre dans le cadre
du développement d’un logiciel.
Il comprend généralement:
– Les tâches (ou processus ou activité)
– Les artefacts (ou répertoire des données)
fichiers, données, … ou
– Les flux de données (liens)
gestion
stockage
Client
gestion
vente
Commander
régler
facturer gestion
comptabilité
Envoyer copie
facture
Envoyer
copie BL
gestion
stockage
Client
gestion
commandes
régler
facturer
gestion
comptabilité
Envoyer copie
facture
Envoyer copie
BL
gestion
facturation
envoyer
Double
BL
Envoyer
Double BC
Commander
Représenter le diagramme de flots de données pour calculer
la formule mathématique suivante: (x+y)*(w+z)
Ajouter
Ajouter
Multiplier
Afficher la
Réponse
y
x
w
z
Somme 1
Somme 2
Un abonné d’une médiathèque fait une
demande d’emprunt d’un film spécifique. Le
gestionnaire vérifie à la fois l’historique de
l’emprunt de son client (s’il est à jour) et la
disponibilité du film demandé. L’enregistrement
de l’emprunt ne peut avoir lieu que si les deux
paramètres sont validés.
Une fois l’enregistrement validé, le stock le
compte client sont mis à jour.
Du langage naturel au langage semi formel
Du langage naturel au langage semi formel
client
Stock film
Compte
client
validation K7demande Enregistrer
emprunt
Vérifier
solvabilité
Du langage semi formel au langage naturel
client
Stock
Compte
client
validation factureCommande Calculer
facture
Vérifier
solvabilité
Tarifs
Estimation
Types de projets
L’effort (mois_hommes)
E= a * KDSI b
Temps de développement (mois)
TDEV= c * KDSI d
Organique
< 50 KDSI
E= 2,4 * KDSI 1,05 TDEV= 2,5 * KDSI 0,38
Semi-détaché
< 300 KDSI
E= 3,0 * KDSI 1,12 TDEV= 2,5 * KDSI 0,35
Imbriqué
> 300 KDSI
E= 3,6 * KDSI 1,20 TDEV= 2,5 * KDSI 0,32
Taille Equipe = E / TDEV (nombre de personnes)

Contenu connexe

Tendances

2.2 cycles de vie
2.2 cycles de vie2.2 cycles de vie
2.2 cycles de vie
Harun Mouad
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logiciel
Rabia AZIZA
 
Gestion et Suivi des Projets informatique
Gestion et Suivi des Projets informatiqueGestion et Suivi des Projets informatique
Gestion et Suivi des Projets informatique
Jihed Kaouech
 

Tendances (20)

2.2 cycles de vie
2.2 cycles de vie2.2 cycles de vie
2.2 cycles de vie
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logiciel
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Présentation PFE : Mise en place d’une solution de gestion intégrée (OpenERP...
Présentation PFE :  Mise en place d’une solution de gestion intégrée (OpenERP...Présentation PFE :  Mise en place d’une solution de gestion intégrée (OpenERP...
Présentation PFE : Mise en place d’une solution de gestion intégrée (OpenERP...
 
Cycle de développement du logiciel
Cycle de développement du logicielCycle de développement du logiciel
Cycle de développement du logiciel
 
rapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFErapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFE
 
UML
UMLUML
UML
 
Diagramme de Séquence
Diagramme de SéquenceDiagramme de Séquence
Diagramme de Séquence
 
Modèle en cascade
Modèle en cascadeModèle en cascade
Modèle en cascade
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
 
Conception et réalisation d'une plateforme social learning
Conception et réalisation d'une plateforme social learningConception et réalisation d'une plateforme social learning
Conception et réalisation d'une plateforme social learning
 
Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école
 
Présentation (Mémoire fin étude )
Présentation (Mémoire  fin étude )Présentation (Mémoire  fin étude )
Présentation (Mémoire fin étude )
 
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats
 
Gestion et Suivi des Projets informatique
Gestion et Suivi des Projets informatiqueGestion et Suivi des Projets informatique
Gestion et Suivi des Projets informatique
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédia
 

En vedette

Architecture Décentralisée
Architecture DécentraliséeArchitecture Décentralisée
Architecture Décentralisée
parigot
 
test newspaper
test newspapertest newspaper
test newspaper
prcpam
 

En vedette (20)

Maintenance logicielle
Maintenance logicielleMaintenance logicielle
Maintenance logicielle
 
Architecture Décentralisée
Architecture DécentraliséeArchitecture Décentralisée
Architecture Décentralisée
 
Approche Mda
Approche MdaApproche Mda
Approche Mda
 
L'Apprentissage Collaboratif
L'Apprentissage CollaboratifL'Apprentissage Collaboratif
L'Apprentissage Collaboratif
 
Workflow Foundation - Cours 5
Workflow Foundation - Cours 5Workflow Foundation - Cours 5
Workflow Foundation - Cours 5
 
Présentation cloud journée azure
Présentation cloud   journée azurePrésentation cloud   journée azure
Présentation cloud journée azure
 
Introduction aux technologies mobiles
Introduction aux technologies mobilesIntroduction aux technologies mobiles
Introduction aux technologies mobiles
 
Méthodes Agiles - Généralités
Méthodes Agiles - GénéralitésMéthodes Agiles - Généralités
Méthodes Agiles - Généralités
 
Le Manifeste Agile
Le Manifeste AgileLe Manifeste Agile
Le Manifeste Agile
 
Sudoku
SudokuSudoku
Sudoku
 
Gmao apisoft
Gmao apisoftGmao apisoft
Gmao apisoft
 
Intelligent Sudoku Solver
Intelligent Sudoku SolverIntelligent Sudoku Solver
Intelligent Sudoku Solver
 
log
loglog
log
 
Tests Logiciel
Tests LogicielTests Logiciel
Tests Logiciel
 
L1 Sudoku
L1 SudokuL1 Sudoku
L1 Sudoku
 
Sudoku
SudokuSudoku
Sudoku
 
Sudoku powerpoint
Sudoku powerpointSudoku powerpoint
Sudoku powerpoint
 
Sudoku
SudokuSudoku
Sudoku
 
test newspaper
test newspapertest newspaper
test newspaper
 
Sudoku ppt
Sudoku pptSudoku ppt
Sudoku ppt
 

Similaire à Cours Génie Logiciel 2016

Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1
DIALLO Boubacar
 
Ddj Architecture & Design Beyond Functional Requirements On Agile Projects
Ddj   Architecture & Design   Beyond Functional Requirements On Agile ProjectsDdj   Architecture & Design   Beyond Functional Requirements On Agile Projects
Ddj Architecture & Design Beyond Functional Requirements On Agile Projects
Emmanuel Hugonnet
 
DevOps en pratique - Paris Meetup Bluemix 19/11/2014
DevOps en pratique - Paris Meetup Bluemix 19/11/2014DevOps en pratique - Paris Meetup Bluemix 19/11/2014
DevOps en pratique - Paris Meetup Bluemix 19/11/2014
IBM France Lab
 

Similaire à Cours Génie Logiciel 2016 (20)

RA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptx
 
Génie Logiciel.pptx
Génie Logiciel.pptxGénie Logiciel.pptx
Génie Logiciel.pptx
 
Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.
Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.
Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1
 
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
qualimétrie logiciel -  Entreprise Software Analytic - nov 2015qualimétrie logiciel -  Entreprise Software Analytic - nov 2015
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
 
Methodologie projet
Methodologie projet Methodologie projet
Methodologie projet
 
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie TrudelHa zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
 
Gestion de projet #2 : méthodes
Gestion de projet #2 : méthodesGestion de projet #2 : méthodes
Gestion de projet #2 : méthodes
 
Fin de support Windows Server 2003, quelles options ?
Fin de support Windows Server 2003, quelles options ?Fin de support Windows Server 2003, quelles options ?
Fin de support Windows Server 2003, quelles options ?
 
Fin de support Windows Server 2003, quelles options ?
Fin de support Windows Server 2003, quelles options ?Fin de support Windows Server 2003, quelles options ?
Fin de support Windows Server 2003, quelles options ?
 
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
 
Ddj Architecture & Design Beyond Functional Requirements On Agile Projects
Ddj   Architecture & Design   Beyond Functional Requirements On Agile ProjectsDdj   Architecture & Design   Beyond Functional Requirements On Agile Projects
Ddj Architecture & Design Beyond Functional Requirements On Agile Projects
 
Chp2 - Cahier des Charges
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des Charges
 
L'Approche SMV de COGENIT
L'Approche SMV de COGENITL'Approche SMV de COGENIT
L'Approche SMV de COGENIT
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logiciel
 
Method XP
Method XP Method XP
Method XP
 
introduction génie logiciel-1.ppt
introduction génie logiciel-1.pptintroduction génie logiciel-1.ppt
introduction génie logiciel-1.ppt
 
Développement d'un grand projet piloté par les tests (BDD)
Développement d'un grand projet piloté par les tests (BDD)Développement d'un grand projet piloté par les tests (BDD)
Développement d'un grand projet piloté par les tests (BDD)
 
DevOps en pratique - Paris Meetup Bluemix 19/11/2014
DevOps en pratique - Paris Meetup Bluemix 19/11/2014DevOps en pratique - Paris Meetup Bluemix 19/11/2014
DevOps en pratique - Paris Meetup Bluemix 19/11/2014
 
conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...
 

Plus de Erradi Mohamed

Plus de Erradi Mohamed (10)

النشاط العلمي - الكهرباء
النشاط العلمي  -   الكهرباءالنشاط العلمي  -   الكهرباء
النشاط العلمي - الكهرباء
 
Comment apprend on? كيف نتعلم؟
Comment apprend on?            كيف نتعلم؟Comment apprend on?            كيف نتعلم؟
Comment apprend on? كيف نتعلم؟
 
activités d'apprentissage
activités d'apprentissageactivités d'apprentissage
activités d'apprentissage
 
تخطيط وتدبير أنشطة الدعم
تخطيط وتدبير أنشطة الدعمتخطيط وتدبير أنشطة الدعم
تخطيط وتدبير أنشطة الدعم
 
Tic et enseignement
Tic et enseignementTic et enseignement
Tic et enseignement
 
Enseigner les concepts
Enseigner les concepts Enseigner les concepts
Enseigner les concepts
 
Approche objectif approche compétence
Approche objectif approche compétenceApproche objectif approche compétence
Approche objectif approche compétence
 
Le tbi en classe2 en arabe français
Le tbi en classe2 en arabe  françaisLe tbi en classe2 en arabe  français
Le tbi en classe2 en arabe français
 
اليابس والمائي
اليابس والمائياليابس والمائي
اليابس والمائي
 
Ressource numérique Circuit électrique au primaire
Ressource numérique Circuit électrique au primaire Ressource numérique Circuit électrique au primaire
Ressource numérique Circuit électrique au primaire
 

Dernier

Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
ssuserc72852
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 

Dernier (20)

RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 

Cours Génie Logiciel 2016

  • 1. Mohamed ERRADI ENS de Martil MAROC
  • 2. Comment le client l’a souhaité Comment le chef de projet l’a compris Comment l’analyste l’a compris Comment le programmeur l’a écrit Comment le business consultant l’a décrit Ce dont le client avait réellement besoin. Ce dont le support technique est effectué Comment le client a été facturé Ce qui a été installé chez le client Comment le projet a été documenté Observer l’image et le titre: 1- Problématique des logiciels? 2 – Le génie logiciel: Objectifs?
  • 3. Explosion de CHALLENGER Perte de Mars sattellite , 1999 Accident de train au USA Panne du système de réservation SNCF
  • 4. Prendre du recul sur des expériences vécues (ou à venir) en:  stages,  mini-projets,  travaux pratiques.  Formaliser votre expérience du développement logiciel. OBJECTIFS
  • 5. Art et science de concevoir et de construire, avec économie et élégance des applications, et d’autres systèmes informatiques, qui soient corrects, robustes, réutilisables, sûrs, efficaces, facile à maintenir et à utiliser. Le génie logiciel applique les techniques d’ingénierie à la définition, la conception, la réalisation et l’évolution de systèmes logiciels . Le génie logiciel comprend des méthodes et techniques et des outils Définitions et Objectifs
  • 6. Domaine des ‘sciences de l’ingénieur’ dont la finalité est la conception, la fabrication et la maintenance de systèmes logiciels complexes, sûrs et de qualité (‘Software Engineering’ en anglais). Aujourd’hui les économies de tous les pays développés sont dépendantes des systèmes logiciels. Le GL se définit souvent par opposition à la ‘programmation’, c’est à dire la production d’un programme par un individu unique, considérée comme ‘facile’. Dans le cas du GL il s’agit de la fabrication collective d’un système complexe, concrétisée par un ensemble de documents de conception, de programmes et de jeux de tests Définitions et Objectifs
  • 7. Le GL se préoccupe d’assurer que les 4 critères suivants soient satisfaits.  Le système qui est fabriqué répond aux besoins des utilisateurs (correction fonctionnelle).  La qualité correspond au contrat de service initial:  la validité  la fiabilité  la robustesse  l’extensibilité  la réutilisabilité :  la compatibilité :  l’efficacité  la portabilité  la traçabilité :  la vérifiabilité  l’intégrité  la facilité d'utilisation, d’entretien, etc.  Les coûts restent dans les limites prévues au départ.  Les délais restent dans les limites prévues au départ.
  • 8. Rigueur ( fermeté; détermination; assurance …). Séparation des problèmes (stratégie «diviser pour régner »). Modularité: composition en sous systèmes plus simples (primitives) Abstraction: ne considérer que les aspects jugés importants. Anticipation du changement: pour prévoir, faciliter et gérer des évolutions inévitables. Construction incrémentale: chaque résultat est construit en étendant le précédent. Générosité: résolution d’un problème général au lieu de la résolution d’un problème spécifique. principes
  • 9. CYCLE DE VIE D’UN LOGICIEL Définitions Ensemble des étapes de la réalisation, de l’énoncé des besoins à la maintenance ou au retrait du logiciel. Le cycle de vie permet de détecter les erreurs au plus tôt et ainsi de maîtriser la qualité du logiciel, les détails de sa réalisation et les coûts associés. C’est la période de temps s’étalant du début à la fin du processus du logiciel.
  • 10. CYCLE DE VIE D’UN LOGICIEL Étapes • Pourquoi développer le logiciel? • Y a-t-il de meilleurs alternatives? • Comment procéder pour faire ce développement? • Y a-t-il un marché pour ce logiciel? • Quels moyens faut-il mettre en œuvre? A t-on le budget, le personnel, le matériel nécessaires? Activité Faire une étude préalable Description Etudier la faisabilité du projet, ses contraintes techniques (coût, temps, qualité) et les alternatives possibles Entrées Problème à résoudre, objectifs à atteindre. Sorties Si oui: décision de réaliser le logiciel Si non: projet abondonné. Doc: faisabilité
  • 11. CYCLE DE VIE D’UN LOGICIEL Étapes • Que doit faire le logiciel? • Les spécifications fonctionnelles? Les spécifications non fonctionnelles? • Performance requise? • Comportement en cas d’erreur? • Interfaces avec l’utilisateur? • Contraintes de réalisation? • Environnement? Activité Spécifier Description Décrire ce que doit faire le logiciel. Décrire comment vérifier que le logiciel fait bien ce sui est exigé. Entrées Client qui a une idée de ce qu’il veut. Exigences, désir, besoins… concernant le système permettant de résoudre le problème. Sorties Cahier des charges du logiciel. Des procédures de validation. Doc: cahier des charges
  • 12. CYCLE DE VIE D’UN LOGICIEL Étapes • Conception générale ou globale ou préliminaire ou architecturale? • Description de la solution retenue; description de l’architecture de la solution: les entités, les interfaces des entités et interaction entre entités • Conception détaillée • Décomposition des entités en entités plus élémentaires • Interface; algorithmes utilisés, traitements des erreurs,; performance…. Activité Concevoir Description Organiser le logiciel afin qu’il puisse satisfaire les exigences de la spécification et faire les principaux choix techniques pertinentes. Entrées Une spécification Sorties Une description des décisions de conception. Des procédures de tests qui permettent de vérifier que les décisions de conception sont correctement implémentées en code source. Doc: conception générale Doc: conception détaillée
  • 13. CYCLE DE VIE D’UN LOGICIEL Étapes • Tests unitaires? • Assemblage • Tests d’intégration? Activité Intégrer Description Assembler le code source du logiciel et dérouler les tests d’intégration Entrées Conception, code source, tests (d’intégration) Sorties Rapport de tests d’intégration
  • 14. CYCLE DE VIE D’UN LOGICIEL Étapes • Tests unitaires? • Assemblage • Tests d’intégration? • Installation dans son environnement d’exploitation Activité Validder Description Construire le logiciel complet exécutable. Dérouler les tests de validation sur le logiciel complet exécutable. Entrées Le logiciel complet exécutable à valider. Tests de validation Sorties Rapport de tests de validation
  • 15. CYCLE DE VIE D’UN LOGICIEL Étapes • Maintenance corrective: • Corriger les erreurs: défaut d’utilité; d’utilisabilité; de fiabilité • Identifier la défaillance, le fonctionnement • Localiser la partie du code responsable • Corriger et estimer l’impact d’une modification • Maintenance adaptative: ajuster le logiciel pour qu’il continue à remplir son rôle compte tenu de l’évolution des environnements d’exécution… • Maintenance perfective ou d’extension: • Accroitre / améliorer les possibilités du logiciel (services; interface, performance..)
  • 16. CYCLE DE VIE D’UN LOGICIEL Etude de faisabilité Analyse des besoins Spécifications Conception Implémentation Validation
  • 18. Modèle DE développement D’UN LOGICIEL Modèle en cascade • Description:  Linéaire ou séquentiel  Découpage en phase successives dans le temps  A chaque phase correspond une activité précise produisant des livrables  On ne passe à l’étape suivante que si les résultats de l’étape précédente sont jugés satisfaisants  Les entrées de chaque étape sont les sorties de l’étape qui lui précède  Chaque phase ne peut être remise en cause que par l’étape qui précède  La phase de spécification est critique
  • 19. Modèle DE développement D’UN LOGICIEL Modèle en cascade • Avantages:  Simple  Logique  Bien adapté pour des petits systèmes  Contrôle facile  Facilité de planification des étapes et délais  Accent sur la documentation et la structure  Idéal pour les petits projets logiciels stables
  • 20. Modèle DE développement D’UN LOGICIEL Modèle en cascade • Inconvénients:  Mal adapté à des systèmes complexes (processus de développement rarement séquentiel)  Les tests s’appliquent à l’application globale (pas de validation de besoins)  Difficultés de définir les besoins dès le début du projet.  Délais assez long pour voir quelques choses.
  • 21. Modèle DE développement D’UN LOGICIEL Modèle en V Expression des besoins Spécifications Conception Générale Conception détaillée Implémentation Tests unitaires Tests Intégration et tests d’intégration Tests de validation Installation & tests système
  • 22. Modèle DE développement D’UN LOGICIEL Modèle en V • Description:  La première branche correspond à un modèle en cascade  La seconde branche correspond à tests effectifs  Chaque étape est accompagnée d’un test  Enchainement successive des phases  Relations logiques entre les phases plus éloignées  Le début du processus conditionne ses dernières étapes  L’intégration est réalisée jusqu’à l’obtention du système final.
  • 23. Modèle DE développement D’UN LOGICIEL Modèle en V • Avantages:  Stricte structure en V permet d’espérer un livrable final parfait  Facile de prévoir les tests à réaliser  Bien adapté au partage des tâches entre clients et prestataires, et définissant parfaitement les rôles du partenariat,  le cycle recommence en proposant un produit de plus en plus complet.  Largement utilisé en informatique  Idéal quand les besoins sont bien connus, quand l’analyse et la conception sont claires.
  • 24. Modèle DE développement D’UN LOGICIEL Modèle en V • Inconvénients:  N’envisage pas que les spécifications initiales puissent être modifiées après leurs validations.  Difficile de l’appliquer à des projets complexes ou trop techniques ou à des projets qui risquent d’évoluer.
  • 25. Modèle DE développement D’UN LOGICIEL Modèle en Spirale des alternatives des contraintes /validation
  • 26. Modèle DE développement D’UN LOGICIEL Modèle en spirale • Description:  Un cycle de la spirale commence par l’élaboration d’objectifs tels que la performance, la fonctionnalité… on énumère ensuite les différentes manières de parvenir à ces objectifs ainsi que les contraintes.  On évalue ensuite chaque alternative en fonction de l’objectif  L’étape suivante consiste à évaluer les risques pour chaque activité, comme l’analyse détaillée, le prototypage, la simulation etc…
  • 27. Modèle DE développement D’UN LOGICIEL Modèle en spirale • Description:  Après avoir évalué le risque, on choisit un modèle de développement pour le système. • Si les risques concernent l’interface utilisateur modèle prototypage évolutif • Si les risques concernent l’intégration des sous systèmes modèle en cascade  La situation est ensuite réévaluée pour déterminer si un développement supplémentaire est nécessaire Le modèle de la spirale englobe tous les autres modèles
  • 28. Modèle DE développement D’UN LOGICIEL Modèle en spirale • Description:  Chaque spire confirme et affine les spires précédentes en mettant des activités de même nature successivement.  L’analyse ou la conception ne sont plus effectuées dans une seul phase ou étape mais sont conduites en tant qu’activités qui se déroulent sur de multiples phases.  A chaque étape, après avoir défini les objectifs et les alternatives, celles-ci sont évaluées par différentes techniques (prototypage, simulation,..;)  Le nombre de cycles est variable selon que le développement est classique ou incrémental
  • 29. Modèle DE développement D’UN LOGICIEL Modèle en Spirale • Avantages:  Ce modèle met l’accent sur l’analyse des risques (exigences technologiques, réutilisation des composants, calendrier, budgets irréalistes, défaillance du personnel…)  Modèle souple et adaptatif  Le prototype est évalué par le client  Estimation des coûts faciles (grâce à la construction des prototypes  Permet de développer l’expertise du client sur un nouveau système  Utilisé pour des projets dont les enjeux (risques) sont importants.
  • 30. Modèle DE développement D’UN LOGICIEL Modèle en Spirale • Inconvénients:  Fonctionne le mieux uniquement pour les grands projets  Besoins de compétences ressources  Difficile de travailler sur un protocole pré définie  Evaluation des risques génère une augmentation dans les coûts
  • 31. Modèle DE développement D’UN LOGICIEL Modèle par prototypage Spécification schématique Evaluation du prototype Acceptation du logiciel Utilisation du logiciel Livraison du logiciel Logiciel adéquat Réalisation du prototype ouinon
  • 32. Modèle DE développement D’UN LOGICIEL Modèle par prototypage • Description:  Il s’agit d’écrire une première spécification et de réaliser un sous-ensemble du produit logiciel final,  Cet ensemble est ensuite raffiné incrémentalement et évalué jusqu’à obtenir le produit final. • Deux types de prototypage: • Jetable: squelette du logiciel qui n’est crée que dans un but et dans une phase particulière de développement • Evolutif: conservé tout au long de développement, Il est amélioré et complété pour obtenir le logiciel final.
  • 33. Modèle DE développement D’UN LOGICIEL Modèle itératif Expression des besoins Spécifications Validation Développement Evaluation Déploiement
  • 34. Modèle DE développement D’UN LOGICIEL Modèle itératif • Description: Tout commence par l’expression de besoin : le client explique ce qu’il veut, tout en sachant que ces besoins peuvent être modifiés par la suite du processus. Ensuite, on se lance dans le processus itératif en lui-même avec la rédaction des spécifications qui est suivie par le développement, puis la validation (c’est à dire les tests) et enfin une évaluation du travail qui servira d’information de départ pour le cycle suivant en dressant le bilan des difficultés rencontrées et des fonctionnalités abandonnées pendant le cycle. A l’issue de la validation on passe aussi au déploiement : les livrables (il peut s’agir d »une version du site ou logiciel, ou même d’une documentation) qui ont été validés sont déployés, c’est à dire mis à disposition.
  • 35. Modèle DE développement D’UN LOGICIEL Modèle itératif • Avantages:  Le plus modèle le plus souple  chaque itération permet de s’adapter à ce qui a été appris dans les itérations précédentes et le projet fini peut varier du besoin qui a été exprimé à l’origine.  Comme dans le cycle en spirale, la mise à disposition de livrables à chaque cycle permet un apprentissage de l’utilisateur final en douceur.
  • 36. Modèle DE développement D’UN LOGICIEL Modèle itératif • Inconvénients:  La confiance qui amène bien souvent à négliger les test d’intégration.  On peut livrer une nouvelle fonctionnalité sans se rendre compte qu’on a modifié une chose qui fonctionnait dans les cycles précédents.
  • 38. Les méthodesLes outilsLes modèles dirigées par les données • Jackson (1975) Fonctionnelles • Analyse structurée (SA-SD) • SADT Systémique • MERISE Orientées objets • OMT • UML informels (formatés) • Dictionnaire de données • Table de décisions • Table états-transitions graphiques ou semi formels • DFD • Diagramme de structure • Diagramme Entité – relation • États d’états transitions • Pétri Iconiques Analogiques Analytiques Conceptuels • Structurels • Comportementaux Typologie des modèles, outils et des méthodes d’analyse
  • 39. L’analyse structurée (SA: structured analysis) est une méthode descendante par raffinement successifs des traitements ou processus.
  • 40.
  • 41. 1 2 3 4 1.1 1.2 1.3 3.1 3.3 3.2 4.1 4.2 4.3 4.4 Diagramme de contexte Niveau 1 Niveau 2 Diagrammes de flots de données DFD
  • 42. Décrit les processus mis en œuvre dans le cadre du développement d’un logiciel. Il comprend généralement: – Les tâches (ou processus ou activité) – Les artefacts (ou répertoire des données) fichiers, données, … ou – Les flux de données (liens)
  • 45. Représenter le diagramme de flots de données pour calculer la formule mathématique suivante: (x+y)*(w+z) Ajouter Ajouter Multiplier Afficher la Réponse y x w z Somme 1 Somme 2
  • 46. Un abonné d’une médiathèque fait une demande d’emprunt d’un film spécifique. Le gestionnaire vérifie à la fois l’historique de l’emprunt de son client (s’il est à jour) et la disponibilité du film demandé. L’enregistrement de l’emprunt ne peut avoir lieu que si les deux paramètres sont validés. Une fois l’enregistrement validé, le stock le compte client sont mis à jour. Du langage naturel au langage semi formel
  • 47. Du langage naturel au langage semi formel client Stock film Compte client validation K7demande Enregistrer emprunt Vérifier solvabilité
  • 48. Du langage semi formel au langage naturel client Stock Compte client validation factureCommande Calculer facture Vérifier solvabilité Tarifs
  • 49. Estimation Types de projets L’effort (mois_hommes) E= a * KDSI b Temps de développement (mois) TDEV= c * KDSI d Organique < 50 KDSI E= 2,4 * KDSI 1,05 TDEV= 2,5 * KDSI 0,38 Semi-détaché < 300 KDSI E= 3,0 * KDSI 1,12 TDEV= 2,5 * KDSI 0,35 Imbriqué > 300 KDSI E= 3,6 * KDSI 1,20 TDEV= 2,5 * KDSI 0,32 Taille Equipe = E / TDEV (nombre de personnes)