Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
IGA Casablanca
2015-2016
1
Plan du cours
Outils de Conception
Outils dimplmentation et de gestion
Outils danalyse
Patrons de conception (Design Patterns)
Gnie logiciel
Pourquoi le GL?
Cot de dveloppement
Cot dinstallation
Cot de support/maintenance
10
Les commerciaux
Prsenter des solutions pour les clients.
Accompagner les clients dans la dfinition
de leur besoin (avec laide des analystes
fonctionnels)
11
Analyste fonctionnel-Concepteur
Etude de faisabilit.
Transformer le besoin fonctionnel en une
architecture logiciel.
Choix technologique
Type darchitecture
Protocoles
Estimation grosse maille
12
Chef de projets
Piloter et suivre lavancement des projets.
Dfinir les diffrentes dates en
collaboration avec les responsables de
dveloppements.
Assurer des runions avec le client final et
les responsables de dveloppements.
Calculer et estimer les couts ncessaires
ainsi que la rentabilit du projet.
13
Responsable de dveloppements
Architecture logicielle
Suivre lavancement de lquipe
Communiquer les livraisons ou Annoncer
les retards.
Assurer des runions avec les diffrentes
parties notamment les chef de projets.
14
Dveloppeur
15
Intgrateur
Rapport de missions
16
Les partenaires
Equipes externes
Sous-traitants
Institut
Stagiaires
17
18
19
20
Spcifications
Ce que doit faire le systme
Produit un document textuel avec
schmas, lisible par toutes les parties
Base du contrat commercial
Base des tests de vrification de la phase
d'installation
21
Conception gnrale
Comment raliser le logiciel ?
Choix techniques : explorer plusieurs
solutions Dcrire la solution retenue
Architecture gnrale
Composants
Structures de donnes
Fonctionalits
Conception dtaille
Dcompose chaque composant en souscomposants, jusqu'au niveau o le codage
devient facile
Prcise pour chaque composant :
Son interface
Les algorithmes
Le traitement des erreurs
Produits :
Implmentation
Traduction dans un langage de
programmation des diffrents modules
Mise au point
Tests de dveloppements
Commentaires
24
Vrification et Validation
Vrification
Validation
25
Test (1)
Dans la pratique, il convient dintgrer les dveloppements unitaires
au sein de larchitecture technique cible, tout en testant la cohrence
fonctionnelle et technique globale de lapplication, avant livraison et
installation sur le site du client.
Les tests dassemblage sur les plates-formes de dveloppement avec donnes relles
permettant entre autres le test des procdures de reprise,
Les test dintgration sur les plates-formes,
26
Test (2)
Test (3)
Tests Unitaires
Tests dassemblage
Ces tests sont raliss par le chef de projet ou sous son autorit par une
personne de lquipe de dveloppement dtache sur cette mission.
Cette phase permet de sassurer que lensemble des
composants
techniques dvelopps ou acquis sinterfacent correctement :
lapplication fonctionne sans dfaillance, les rsultats attendus sont
28
conformes sur les axes rgles de calcul et rgles de gestion. Cette phase
seffectue sur le jeu dessai de dveloppement.
Test (4)
Tests dintgration
Tests de charge
Installation
Dernire tape avant exploitation
Installer le logiciel dans son
environnement oprationnel
Vrifier le logiciel dans son environnement
oprationnel
Organiser la formation
Planifier la transition
30
Recettes
plan de validation
d'utilisation et
d'exploitation du logiciel
31
Recettes (1)
La recette interne
La recette fonctionnelle
Formations
Documentation
Les manuels d'utilisation et d'exploitation
doivent tre prts au plus tard lors de
l'installation
Selon la complexit du logiciel :
Guide d'installation
Guide de l'utilisateur
Guide de l'oprateur
Manuel de rfrence
Documentations des composants logiciels
34
Guide dinstallation
Fonctionnalits du logiciel
Architecture
Interfaces utilisateurs
Comportements en cas d'erreurs
Performances requises
Interfaces avec autres logiciels
Interfaces avec le(s) matriel(s)
Contraintes de ralisations (matriels,
logiciels, normes)
35
Guide de lutilisateur
Le document dcrivant l'architecture
gnrale
Un plan d'intgration, avec un plan des
tests d'intgration (procdures de tests,
jeux de donnes)
36
Maintenance et volution
37
38
Rappel
39
40
Rapport de
faisabilit
Modles du
systme
Besoins dusager
et du systme
Document des
besoins (Cahier
de charge)
41
Le besoin
Rduire le temps consacr au mnage en
ralisant de manire automatique le
passage de l'aspirateur.
La rponse actuelle au besoin
De nombreuses entreprises fabriquant
des aspirateurs traditionnels ont le projet
de concevoir ce type d'aspirateur.
Actuellement, trs peu de produits fiables
sont disponibles sur le march.
Les objectifs
Raliser un aspirateur robot fiable
pouvant remplacer un aspirateur
traditionnel, un prix acceptable pour les
mnages. Les interventions humaines
42
sont limiter au maximum.
2
2
3
5
6
8
9
10
43
45
Le processus de logiciel
Activits
46
Modles gnriques
Effet Tunnel
Cascade
Modle en V
Modle en W
Modle en Spirales
Dveloppement volutif et itratif
Dveloppement itratif incrmental
Bas lassemblage de composants
47
Leffet tunnel
Un jour,
peut-tre ...
Le dpart est
connu
Le modle en cascade
Cascade
50
Cascade
Problmes
Avantages
Dsavantages
51
Le modle en V
Le modle en V
53
54
Cycle en V
Avantage:
La prparation des dernires phases (validationvrification) par les premires (construction du logiciel),
permet de dviter dnoncer une proprit quil est
impossible de vrifier objectivement aprs la ralisation.
Inconvnients:
Le modle en W
Ce modle est une variante du modle en
V .
Le cycle de dveloppement ne commence
que quand les problmes ou les besoins
sont parfaitement connus (cf. module de
communication selon la mthode Merise).
Un cycle en W peut tre coupl un
cycle en V , quand il est ncessaire de
dcomposer le systme en sous-systmes.
56
Le modle en W
Exigences
brutes
Spcification des
IHM du systme
Vrification des
flux logiques
Validation ou tests
dacceptation
Conception des
sous-systmes
Intgration et tests
des sous-systmes
Conception des
modules
Intgration et tests
des modules
57
Le modle en spirale
Dveloppement spirale
59
Le modle en spirale
Dveloppement spirale
Secteurs
61
Processus volutif
Aperu de
description
Spcification
Version initiale
Dveloppement
Versions
intermdiaires
Validation
Versions
finale
62
Planification
de litration
Dveloppement de
litration
Itration N
valuation
Rvision du
plan du projet
Risques limins
Rvision des risques
63
Itration
Phase
Objectif
Itration
prliminaire
Etude dopportunit
Comprendre le
problme
Dcision
Ressources pour
llaboration
Itration
darchitecture
Elaboration
Comprendre la
solution
xN
Ressources pour la
construction
Itration de
dveloppement
Construction
Raliser la solution
xN
Livrer le produit
(version bta)
Itration de
transition
xN
Transition
Transmettre la
solution
Recette client
64
Spcification
des besoins
Analyse des
composants
Conception avec
rutilisation
Modification
des besoins
Dveloppement
et intgration
Validation
66
Origine et dfinitions
Problmes
Caractristiques
Standardis
Indpendant
Composable
Dployable
Document
67
Interface de composants
Requires interface
Defines the services
from the components
environment that it
uses
Provides interface
Component
68
Composants et objets
Les composants sont dployables
Les composants ne dfinirent pas des
types
Limplmentation des composants est
opaque
Les composants sont indpendant de
langage
Les composants sont standardiss
69
Modles
Dfinition
Exemples
EJB
.NET (COM+)
Corba Component Model
70
Elments du modle
Customisation
Naming
convention
Composition
Interface
definition
Specific
interfaces
Interfaces
Documentation
Meta-data
access
Usage
information
Packaging
Evolution
support
Deployment
and use
Component model
71
Types de risque
72
Planifier le risque
Suivi du risque
73
Identification des
risques
Analyse
Planifier
Suivi
Liste de risques
potentiels
Liste prioritaire
des risques
Plans pour
viter les risques et
durgence
Estimer le risk
74
Identification du risque
Technologiques
Personnel.
Organisation.
Besoins.
Estimation.
75
Suivi
76
Annexe
Cahier de Charge:
Cahier de Spcifications:
Annexe (1)
Spcifications:
78
Annexe (2)
Ambigut
Sur-flexibilit
Manque de structure
Alternatives
Annexe (3)
Modifier un
item
Ajouter un
item
Supprimer
un item
Consultation de
linventaire
Commande
fournisseur
Saisir livraison
Responsable
des
oprations
Produire des
rapports
80
Annexe (4)
Spcifications fonctionnelles
81
Mthodes danalyse et de
Conception
82
Analyse et Conception
Analyse du systme
Conception
83
84
Techniques de Conception
Mthodes donnes
Mthodes comportements
86
87
88
sang
Paramtres du sang
Capteur de
glucose sanguin
Analyse de
glucose sanguin
Niveau du glucose
Calcul du besoin
dinsuline
insuline
Pompe dinsuline
Gestion de dlivrance
dinsuline
Besoin dinsuline
89
Visio 5.x
From Flow Chart /
Data Flow Diagram
ID #
Process
Process
Process
Data Store
Data Store
Data Store
ID
#
External Entity
External
Entity
External
Entity
90
91
92
93
94
Merise
Niveau conceptuel
Niveau logique
Niveau physique
95
96
Analyse
Modle
dAnalyse
Conception
Modle
de
Conception
Ralisation
Modle
de
Ralisation
Dploiement
Modle
de
Dploiement
97
FIAT-UNO-17
233434 : Numro de srie
1500 kg : Poids
8864 YF 17 : Immatriculation
33 000 : kilomtrage
Dmarrer ()
Arrter()
Rouler()
Renault-Clio-17
5323454 : Numro de srie
1500 kg : Poids
64 YFT 17 : Immatriculation
23 000 : kilomtrage
Peugeot-206-75
3434 : Numro de srie
1700 kg : Poids
8634 YGG 75 : Immatriculation
15 000 : kilomtrage
99
Vues statiques
Les diagrammes
Les diagrammes
Les diagrammes
Les diagrammes
Les diagrammes
de classes
dobjets
de cas dutilisation
de composants
de dploiement
Vues dynamiques
Les diagrammes
Les diagrammes
Les diagrammes
Les diagrammes
de squence
de collaboration
dtats-transition
dactivits
100
Cas dutilisation
Acteur
Note
Relation dutilisation
101
102
Mthodes comportements
Rseaux de Ptri
Mthodes comportements
Rseaux de Ptri (2)
104
105
dAnalyse
de design
de modlisation (diagrammes)
de programmation
de gestion de projet
de prototype
de qualit
de maintenance
106
Outils dAnalyse
Ces outils permettent de rassembler les
besoin et les obligations.
Vrifier les redondance et traduite
automatiquement les spcifications textes
vers des schmas basique.
Exemples:
Accept 360.
Visual Paradigm.
CaseComplete.
Visible Analyst.
107
108
Outils de Design
Ces outils aident les concepteurs de
logiciels pour concevoir la structure du
bloc du logiciel qui peut en outre tre
dcompos en modules plus petits en
utilisant des techniques de raffinement.
Ces outils montrent linteraction entre les
diffrents gros modules.
Exemples: Animated Software Design
109
110
111
Outils de modlisation
Ces outils sont utiliss pour reprsenter
les composants du systme, les donnes
et les flux de contrle.
Ces composants sont reprsents en
frome graphique tout en montrant
linteraction entre les diffrents objets.
Exemples: Flow Chart Maker, jMerise,
Rational Roze, ArgoUML.
112
113
114
115
Outils de prototypage
Prototype de logiciel est une version
simule du logiciel prvu. Le Prototype
fournit une premire impression du
produit et simule quelques aspect du
produit rel.
Un outil de prototypage est compose de
plusieurs briques graphiques pour crer
une version rapide.
Exemples: Windev, Dreamweaver, Mockup
Builder, Visual Sudio, NetBeans.
116
117
Outils de programmation
119
120
121
122
124
Participation du client:
125
Les rles:
Le product owner
Le scrummaster
Lquipe
12
6
250
Number
200
150
100
50
0
0
10
11
12
Jour
Source : www.scrumalliance.org
Source : www.scrumalliance.org
2. Backlog de sprint
Extrait du backlog produit
Besoins clats en tches
129
3. Sprint
Dveloppement des fonctionnalits du backlog de sprint
Aucune modification du backlog de sprint possible
130
Source : www.scrumalliance.org
4. Mle quotidienne
Point de contrle quotidien de lquipe
Interventions rgules 2 min. par personne
131
Source : www.scrumalliance.org
133
Le burndown chart
134
Outil de qualit
Qualit logicielle.
136
Qualit Logiciel
Junit
Lintgration continue
Hudson, Jenkins
Sonar,
137
138
checkout (first
time)
server
Envoyer la version ( n )
Vrifier sil y a des changements
Mettre a jour la version locale
par celle du serveur
Mettre a jour le serveur par le
contenu local
Root
Project 1
Project 1
trunk
trunk
tags
tags
branches
Project 2
branches
Project 2
trunk
trunk
tags
tags
branches
branches
/var/svn/kuclock
revision 4
revision 3
revision 2
revision 1
(initial repo
structure)
revision 3:
content diffs
author
date
revision 2:
initial project check-in
...etc...
Numro de la
rvision est
augmente pour
chaque
transaction qui
modifie le
repository.
Logging
Auteur du changement
La date du changement
La raison du changement
Subversion
Repository
svn commit
106
100
svn diff
svn resolved
105
svn status -u
Junit
145
jMeter
146
Cahier de Tests
MyIcIphone Client
Doc Reference
Author
Audited by
Approved by
Mail : professional.services@alcatel-lucent.fr
Title
Test document
File Name
MyIcIphone MyIcTestGuide.doc
Fonction
Name
Ingnieur dveloppeur
Team Leader / Contact Administrative
Manager
Y. Gahi
147
Spcifications
Spcifications
Dveloppeme
nt
Intgration
Dveloppement
Intgration
148
149
Hudson
150
Debuggage
151
Cobertura et Sonar
152
Qualit Logicielle
4 Build + Tests
5 Dploiement
Serveur de test
6 Notification
Serveur dintgration
3 Update
Serveur de recette
2 Vrification des
modifs
Postes de dev
Serveur de production
1 Commit
SCM
Outils de maintenance
154
Bugzilla
155
Design Patterns
156
Problme / Motivation
Solution propose
Elments impliqus
Relations entre les lments
Schmas conceptuels (e.g., diagrammes UML)
Consquences
Compromis ventuels
Qualit de la solution
158
Cration
Structure
Comportement
159
160
Cration
161
Cration: Singleton
Problmes:
Solution:
Cas dutilisation
163
Meilleur Solution
La premire tape consiste
empcher les dveloppeurs
dutiliser le constructeur
de la classe pour linstancier
dclarer priv tous
les constructeurs de la
classe.
164
Exercice
On veut crer un
Aeroport ainsi que des
objets de type Avion.
Voici le code des classes
Aeroport et Avion, ainsi
que de la classe test de
l'ensemble.
165
Cration: Factory
Problmes:
Solutions:
Cas dutilisation
Meilleur Solution
La premire solution
est de regrouper
l'instanciation de tous
les produits dans une
seule classe charge
uniquement de ce rle.
On vite alors la duplication
de code et on facilite l'volution
au niveau de la gamme des produits.
L'utilisateur du produit fait appel la Fabrique Simple pour
obtenir un Produit.
L'utilisateur du produit est donc fortement coupl
uniquement la Fabrique Simple et non tous les produits
168
qu'il prend en charge.
169
170
Exercice
Modifier la structure pour
Eviter les duplications et optimiser
larchitecture a laide du concept
Factory.
Rgles:
1) On dfinit un interface qui
contient la mthode commune.
2) Toutes les classes implmente
linterface.
3) On dfinit une nouvelle classe
qui se charge de la cration
des diffrents objets.
4) La nouvelle nutilise pas le type
Programme1, mais plutt
linterface gnrique.
5) Le client ne communique
quavec cette classe.
171
Structure
172
Structure: Adaptateur
Problme:
Solutions:
Cas dutilisation
Meilleur Solution
La solution est de masquer
cette interface non stantard
au systme et de lui
prsenter
une interface standard. La
partie cliente utilise les
mthodes de l'Adaptateur qui
utilise les mthodes du soussystme pour raliser les
oprations correspondantes.
175
Structure: Composite
Problme:
Solutions:
176
Cas dutilisation
177
Meilleur Solution
178
Comportement
Comportement: Observateur
180
Cas dutilisation
181
182
Comportement: Iterateur
Problme:
Solution:
183
Meilleur Solution
Un itrateur ressemble un
pointeur disposant
essentiellement de deux
primitives:
Accder l'lment point
en cours (dans le
conteneur)
Se dplacer pour pointer
vers l'lment suivant
184
185