SlideShare une entreprise Scribd logo
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

TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
Lilia Sfaxi
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
Amir Souissi
 
Cours Génie Logiciel - Introduction
Cours Génie Logiciel - IntroductionCours Génie Logiciel - Introduction
Cours Génie Logiciel - Introduction
Mohammed Amine Mostefai
 
Chp2 - Cahier des Charges
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des Charges
Lilia Sfaxi
 
Modèle en cascade
Modèle en cascadeModèle en cascade
Modèle en cascade
Ghodhbane Mohamed Amine
 
Modele rapport pfe esprit
Modele rapport pfe  espritModele rapport pfe  esprit
Modele rapport pfe espritAmine Chahed
 
Méthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessMéthodologie 2 Track Unified Process
Méthodologie 2 Track Unified Process
Zakaria Bouazza
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIRE
Ghizlane ALOZADE
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI
Heithem Abbes
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
Lilia Sfaxi
 
Génie Logiciel : les tests
Génie Logiciel : les testsGénie Logiciel : les tests
Génie Logiciel : les tests
Mohammed Amine Mostefai
 
Uml 2 pratique de la modélisation
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisation
Nassim Amine
 
3 prototypage
3 prototypage3 prototypage
3 prototypage
Mohammed Amine BELFKIH
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Raoua Bennasr
 
Métriques de qualité logicielle
Métriques de qualité logicielleMétriques de qualité logicielle
Métriques de qualité logicielle
Youness Boukouchi
 
2 TUP
2 TUP2 TUP
Methodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMethodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifié
Mireille Blay-Fornarino
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
Lilia Sfaxi
 
Qualité logiciel - Generalités
Qualité logiciel - GeneralitésQualité logiciel - Generalités
Qualité logiciel - Generalités
Christophe Rochefolle
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
Lilia Sfaxi
 

Tendances (20)

TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Cours Génie Logiciel - Introduction
Cours Génie Logiciel - IntroductionCours Génie Logiciel - Introduction
Cours Génie Logiciel - Introduction
 
Chp2 - Cahier des Charges
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des Charges
 
Modèle en cascade
Modèle en cascadeModèle en cascade
Modèle en cascade
 
Modele rapport pfe esprit
Modele rapport pfe  espritModele rapport pfe  esprit
Modele rapport pfe esprit
 
Méthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessMéthodologie 2 Track Unified Process
Méthodologie 2 Track Unified Process
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIRE
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Génie Logiciel : les tests
Génie Logiciel : les testsGénie Logiciel : les tests
Génie Logiciel : les tests
 
Uml 2 pratique de la modélisation
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisation
 
3 prototypage
3 prototypage3 prototypage
3 prototypage
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
 
Métriques de qualité logicielle
Métriques de qualité logicielleMétriques de qualité logicielle
Métriques de qualité logicielle
 
2 TUP
2 TUP2 TUP
2 TUP
 
Methodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMethodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifié
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
Qualité logiciel - Generalités
Qualité logiciel - GeneralitésQualité logiciel - Generalités
Qualité logiciel - Generalités
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 

En vedette

Maintenance logicielle
Maintenance logicielleMaintenance logicielle
Maintenance logicielle
Nicolas Anquetil
 
Architecture Décentralisée
Architecture DécentraliséeArchitecture Décentralisée
Architecture Décentraliséeparigot
 
L'Apprentissage Collaboratif
L'Apprentissage CollaboratifL'Apprentissage Collaboratif
L'Apprentissage Collaboratif
Erradi Mohamed
 
Workflow Foundation - Cours 5
Workflow Foundation - Cours 5Workflow Foundation - Cours 5
Workflow Foundation - Cours 5
Mohammed Amine Mostefai
 
Présentation cloud journée azure
Présentation cloud   journée azurePrésentation cloud   journée azure
Présentation cloud journée azure
Mohammed Amine Mostefai
 
Introduction aux technologies mobiles
Introduction aux technologies mobilesIntroduction aux technologies mobiles
Introduction aux technologies mobiles
Mohammed Amine Mostefai
 
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
Mohammed Amine Mostefai
 
Le Manifeste Agile
Le Manifeste AgileLe Manifeste Agile
Le Manifeste Agile
Mohammed Amine Mostefai
 
Sudoku
SudokuSudoku
Gmao apisoft
Gmao apisoftGmao apisoft
Gmao apisoft
Logiciel gmao
 
Intelligent Sudoku Solver
Intelligent Sudoku SolverIntelligent Sudoku Solver
Intelligent Sudoku Solver
Amrish Jhaveri
 
Tests Logiciel
Tests LogicielTests Logiciel
Tests Logiciel
Nathaniel Richand
 
L1 Sudoku
L1 SudokuL1 Sudoku
L1 Sudoku
bnmoran
 
Sudoku
SudokuSudoku
Sudoku powerpoint
Sudoku powerpointSudoku powerpoint
Sudoku powerpoint
union40
 
Sudoku
SudokuSudoku
Sudoku
Elianed
 
test newspaper
test newspapertest newspaper
test newspaper
prcpam
 
Sudoku ppt
Sudoku pptSudoku ppt

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

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
testuser715939
 
Atelier Genie Logiciel Developement.pptx
Atelier Genie Logiciel  Developement.pptxAtelier Genie Logiciel  Developement.pptx
Atelier Genie Logiciel Developement.pptx
ssusercb2b311
 
Génie Logiciel.pptx
Génie Logiciel.pptxGénie Logiciel.pptx
Génie Logiciel.pptx
LatifaBen6
 
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.
jkebbab
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1DIALLO Boubacar
 
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
Julien Vq
 
Methodologie projet
Methodologie projet Methodologie projet
Methodologie projet
Benjamin ACHAB
 
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
Agile Montréal
 
Modèle en v
 Modèle en v Modèle en v
Modèle en v
bouye2209
 
Gestion de projet #2 : méthodes
Gestion de projet #2 : méthodesGestion de projet #2 : méthodes
Gestion de projet #2 : méthodes
Jean Michel
 
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 ?
Microsoft Décideurs IT
 
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 ?
Microsoft Technet France
 
[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...
Niji
 
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 ProjectsEmmanuel Hugonnet
 
L'Approche SMV de COGENIT
L'Approche SMV de COGENITL'Approche SMV de COGENIT
L'Approche SMV de COGENIT
Sany_M
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logiciel
guest0032c8
 
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
SafaeElhouicha
 
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)
Laurent PY
 
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/2014IBM 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
 
Atelier Genie Logiciel Developement.pptx
Atelier Genie Logiciel  Developement.pptxAtelier Genie Logiciel  Developement.pptx
Atelier Genie Logiciel Developement.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
 
Modèle en v
 Modèle en v Modèle en v
Modèle en v
 
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
 
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
 

Plus de Erradi Mohamed

النشاط العلمي - الكهرباء
النشاط العلمي  -   الكهرباءالنشاط العلمي  -   الكهرباء
النشاط العلمي - الكهرباء
Erradi Mohamed
 
Comment apprend on? كيف نتعلم؟
Comment apprend on?            كيف نتعلم؟Comment apprend on?            كيف نتعلم؟
Comment apprend on? كيف نتعلم؟
Erradi Mohamed
 
activités d'apprentissage
activités d'apprentissageactivités d'apprentissage
activités d'apprentissage
Erradi Mohamed
 
تخطيط وتدبير أنشطة الدعم
تخطيط وتدبير أنشطة الدعمتخطيط وتدبير أنشطة الدعم
تخطيط وتدبير أنشطة الدعم
Erradi Mohamed
 
Tic et enseignement
Tic et enseignementTic et enseignement
Tic et enseignement
Erradi Mohamed
 
Enseigner les concepts
Enseigner les concepts Enseigner les concepts
Enseigner les concepts
Erradi Mohamed
 
Approche objectif approche compétence
Approche objectif approche compétenceApproche objectif approche compétence
Approche objectif approche compétence
Erradi Mohamed
 
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
Erradi Mohamed
 
اليابس والمائي
اليابس والمائياليابس والمائي
اليابس والمائي
Erradi Mohamed
 
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
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

Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
Txaruka
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
Friends of African Village Libraries
 
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupeCours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Yuma91
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
Txaruka
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
cristionobedi
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Oscar Smith
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Formation
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
WarlockeTamagafk
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
IES Turina/Rodrigo/Itaca/Palomeras
 
Système de gestion des fichiers de amine
Système de gestion des fichiers de amineSystème de gestion des fichiers de amine
Système de gestion des fichiers de amine
sewawillis
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
MelDjobo
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
mrelmejri
 
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
SYLLABUS DU COURS  MARKETING DTS 1-2.pdfSYLLABUS DU COURS  MARKETING DTS 1-2.pdf
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
Moukagni Evrard
 

Dernier (13)

Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
 
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupeCours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
 
Système de gestion des fichiers de amine
Système de gestion des fichiers de amineSystème de gestion des fichiers de amine
Système de gestion des fichiers de amine
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
 
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
SYLLABUS DU COURS  MARKETING DTS 1-2.pdfSYLLABUS DU COURS  MARKETING DTS 1-2.pdf
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
 

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)