Définition GL:: GL&AGL: Résumé 1/ Les Enjeux & L'importance Du Génie Logiciel
Définition GL:: GL&AGL: Résumé 1/ Les Enjeux & L'importance Du Génie Logiciel
Définition GL:: GL&AGL: Résumé 1/ Les Enjeux & L'importance Du Génie Logiciel
*méthode VS méthodologie :
la méthode est plus spécifique et se concentre sur les étapes pratiques à suivre
pour accomplir une tâche particulière.
la méthodologie est plus générale et fournit un cadre global pour l'approche du
développement, incluant souvent des considérations plus larges sur la gestion
et la qualité.
//////////////////////////////////////////////////////////////
Chap 2 : Gestion des exigences :
*Spécification logicielle :
Assure la clarté, la compréhension commune, la gestion efficace et la réduction
des risques tout au long du cycle de vie du développement logiciel.
*Processus d’ingénierie des exigences : = phase importante qui vise à
comprendre, documenter et gérer les besoins des utilisateurs et du système.
1.Recueil des besoins : à travers des questionnaires, interviews, réunions,
brainstorming, etc.
2.Analyse des besoins : éliminant les ambiguïtés, incohérences,
Redondances, incomplétudes et en filtrant les besoins (par
objectif, par contexte, etc.)
3.Spécification des exigences : (Cahier de spécification) (mch de charge)
4. Validation des exigences : par tt les PP (revues de documents, maquettes,
prototypes, etc.)
5. Gestion des évolutions : considérer les changements apportés aux exigences
tout au long du cycle de vie du projet.
*Types de documents de spécification
• Pour le point de vue interne : (concepteurs, des personnels techniques ...) :
Document de spécification technique
une description la plus précise possible du système.
=> Spécification du système /Spécification technique.
• Pour le point de vue externe : (utilisateur …) :
Document de spécification des besoins
une description abstraite de services et les contraintes
=> Spécification du système /Spécification technique.
=> Spécification des besoins /Spécification générale
*Catégories de spécification :
Fonctionnelles :
Non fonctionnelles :
Liées au processus : (coût, délai, assurance qualité, prix de vente, marché de
distribution, etc )…
////////////////////////////////////////////////////////////
Chapitre 3
Modèles de Cycle de vie logiciel et méthodes de développement
Définition du cycle de vie
Ensemble d’étapes qui composent le processus de développement et
d’utilisation du logiciel.
Par Raffinement des spécifications, des ✓Le client participe -Le coût du projet peut
fonctionnalités et performances par activement dans le rapidement s’éclater.
prototypag des prototypes successifs. dév du produit -Il est impossible
e +Les prototypes : cerner les ✓ client reçoit des d’estimer les délais au
estimations et les coûts de résultats tangibles démarrage du projet.
développement rapidement
+ Implication du client à intervenir ✓Introduction d’un
dans l’expression de son besoin feedback immédiat de
+L’analyse de chaque prototype la part des user
conduit à un développement ✓Amélioration de la
rapide -> converger rapidement. communication entre
+Expérimenter plusieurs techniques l’équipe de dév client.
de réalisation.
incrémental ✓Développer des app en étendant ✓Le dév d’incréments ✓Les incréments doivent
PROGRESSIVEMENT ses est plus simple. être indépendants aussi
fonctionnalités. ✓Les intégrations sont bien
✓ développer le logiciel par progressives. fonctionnellement qu’au
extension successive à partir d’un ✓livraisons et des niveau des calendriers de
produit « Noyau » du logiciel. mises en service après développement.
✓Permet d’éviter de TOUT chaque intégration ✓ difficulté de fixation
CONCEVOIR, de TOUT TESTER d’incrément. des incréments dès le
(cascade) ✓optimiser le temps début du projet.
✓a des répercussions sur la et le partage des
répartition des efforts en fct du tâches.
temps. ✓Diminution d’effort
pendant la phase de
test d’intégration.
En ✓développement itératif ✓Nouveau : analyse ✓ Difficile à appliquer.
(prototypes). des risques, ✓Beaucoup de temps.
Spirale Il y a 4 phases : maquettes, ✓Coût élevé.
1. Analyse des besoins, prototypages
Spécification. ✓Modèle complet,
2. Analyse des risques, Alternatives, complexe et général.
Maquettage. ✓Effort important
3. Conception et Implémentation de pour la mise en
la solution retenue. œuvre.
4. Vérification, Validation, ✓Utilisé pour des
Planification du cycle suivant. projets innovants ou à
risques.
Méthodes lourdes VS Méthodes agile :
*Le processus unifié (UP) est une méthode générique de dév de
logiciels.
*Caractéristiques de UP :
• Piloté par les cas d’utilisation
• Itératif et incrémental
• Centré sur l’architecture
• Orienté risques
*Composantes de UP :
• Ensemble d’itérations : circuit de développement aboutissant à
un livrable.
2. Elaboration :
• Reprise des résultats de la phase d’incubation.
• Spécification détaillée des cas d’utilisation.
• Détermination de l’architecture de référence.
3. Construction :
• Construction d’une première version du produit
• Construction de tous les cas d’utilisation.
4. Transition :
• Test et correction des anomalies.
• Préparer la version finale du produit.
• Déploiement du produit.
• La phase de réalisation :
Réunir les deux branches, permettant de mener une conception applicative .
Livrer une solution adaptée aux besoins.
- Inconvénients de UP :
Fait tout, mais lourd.
Parfois difficile à mettre en œuvre de façon spécifique.
/////////////
UP pour les gros projets qui génèrent beaucoup de documentation.
RUP 4 fois plus lent que Scrum
Méthodes agiles :
-> 4 valeurs
-> 12 principes
Les 4 valeurs des méthodes agiles :
• Priorité aux personnes et aux interactions sur les procédures et les outils ;
• Priorité aux applications fonctionnelles sur une documentation
pléthorique (beaucoup)
• Priorité à la collaboration avec le client sur la négociation de contrat ;
• Priorité à l'acceptation du changement sur la planification.
2) Types d’architecture :
Architecture logique Architecture physique
• Structure logique de l’application. • Ensemble de ressources physiques
• Décomposition en éléments logiques. (serveurs, ordinateurs, etc.) nécessaires à
• Exple : découpage en composants. l’exécution de l’application.
• Exemple : Découpage en
nœuds physiques.
1-Modèle en 3 couches :
Principe :
+ -
• Renforcement de la sécurité •Complexe.
• Facilite la réutilisation et la • Plus d’exigence.
substitution • Problèmes au niveau des
(couplage plus faible et mieux performances.
contrôlé).
•Minimise les dépendances entre
couches.
4-L’architecture physique :
Les architecture physique 1-niveau (1-tiers) : toutes les couches logiques
(présentation, logique métier et données) sont situées sur la même machine
Les architecture 2-niveaux (2-tiers) : les couches logiques sont réparties entre
deux sites ou deux machines distinctes.
Les dispositifs du serveur(BD, services) situés sur un site
Le reste de l'architecture (ex : l'interface utilisateur) sur les postes clients
Permet le partage d’information entre utilisateurs : Accès simultanés,
Synchronisation des données.
**Des variantes existent pour alléger le poste client (Plus d’applicatifs sur le
site serveur réduisant la charge de traitement côté client)
données : serveur
présentation + traitement :client