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

CoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalCoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalAhmed Mekkaoui
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
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 ConceptionLilia Sfaxi
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiqueOussama Yoshiki
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriMansouri Khalifa
 
Introduction au génie logiciel
Introduction au génie logicielIntroduction au génie logiciel
Introduction au génie logicielMohamed Diallo
 
Tests & recette - Les fondamentaux
Tests & recette - Les fondamentauxTests & recette - Les fondamentaux
Tests & recette - Les fondamentauxCOMPETENSIS
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logicielRabia AZIZA
 
Présentation du l'application Mobile "Passion Beauté 1.0"
Présentation du l'application Mobile "Passion Beauté 1.0"Présentation du l'application Mobile "Passion Beauté 1.0"
Présentation du l'application Mobile "Passion Beauté 1.0"Nazih Heni
 
Exigences de qualité des systèmes / logiciels
Exigences de qualité des systèmes / logicielsExigences de qualité des systèmes / logiciels
Exigences de qualité des systèmes / logicielsPierre
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...MOHAMMED MOURADI
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
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
 

Tendances (20)

CoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalCoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-Total
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
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
 
Modèle en cascade
Modèle en cascadeModèle en cascade
Modèle en cascade
 
Génie Logiciel : les tests
Génie Logiciel : les testsGénie Logiciel : les tests
Génie Logiciel : les tests
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
 
Cours uml
Cours umlCours uml
Cours uml
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
 
Introduction au génie logiciel
Introduction au génie logicielIntroduction au génie logiciel
Introduction au génie logiciel
 
Tests & recette - Les fondamentaux
Tests & recette - Les fondamentauxTests & recette - Les fondamentaux
Tests & recette - Les fondamentaux
 
cycle de vie
cycle de vie cycle de vie
cycle de vie
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logiciel
 
Metrique
MetriqueMetrique
Metrique
 
Présentation du l'application Mobile "Passion Beauté 1.0"
Présentation du l'application Mobile "Passion Beauté 1.0"Présentation du l'application Mobile "Passion Beauté 1.0"
Présentation du l'application Mobile "Passion Beauté 1.0"
 
Exigences de qualité des systèmes / logiciels
Exigences de qualité des systèmes / logicielsExigences de qualité des systèmes / logiciels
Exigences de qualité des systèmes / logiciels
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
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é
 

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.pptxtestuser715939
 
Génie Logiciel.pptx
Génie Logiciel.pptxGénie Logiciel.pptx
Génie Logiciel.pptxLatifaBen6
 
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 2015Julien Vq
 
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 TrudelAgile Montréal
 
Gestion de projet #2 : méthodes
Gestion de projet #2 : méthodesGestion de projet #2 : méthodes
Gestion de projet #2 : méthodesJean 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
 
Chp2 - Cahier des Charges
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des ChargesLilia Sfaxi
 
L'Approche SMV de COGENIT
L'Approche SMV de COGENITL'Approche SMV de COGENIT
L'Approche SMV de COGENITSany_M
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logicielguest0032c8
 
introduction génie logiciel-1.ppt
introduction génie logiciel-1.pptintroduction génie logiciel-1.ppt
introduction génie logiciel-1.pptSafaeElhouicha
 
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
 
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...Sid Ahmed Benkraoua
 

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

النشاط العلمي - الكهرباء
النشاط العلمي  -   الكهرباءالنشاط العلمي  -   الكهرباء
النشاط العلمي - الكهرباء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'apprentissageErradi Mohamed
 
تخطيط وتدبير أنشطة الدعم
تخطيط وتدبير أنشطة الدعمتخطيط وتدبير أنشطة الدعم
تخطيط وتدبير أنشطة الدعم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étenceErradi 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çaisErradi 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

PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
Pharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmaciePharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmacieLoloshka
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...NaimDoumissi
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 

Dernier (20)

PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
Pharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmaciePharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour Pharmacie
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.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)