0% ont trouvé ce document utile (0 vote)
32 vues11 pages

Resum Management

Le document décrit les étapes du cycle de vie du développement logiciel, allant de l'analyse des besoins à la maintenance, en passant par la conception, la réalisation, et les tests. Il présente également différents modèles de développement tels que le cycle en V, le modèle en spirale, et les méthodologies Agile, y compris Scrum, en soulignant leurs avantages, inconvénients et types de projets adaptés. Enfin, il aborde la qualité logicielle, ses principes fondamentaux, et les attentes des parties prenantes.

Transféré par

yasmine benhamza
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
32 vues11 pages

Resum Management

Le document décrit les étapes du cycle de vie du développement logiciel, allant de l'analyse des besoins à la maintenance, en passant par la conception, la réalisation, et les tests. Il présente également différents modèles de développement tels que le cycle en V, le modèle en spirale, et les méthodologies Agile, y compris Scrum, en soulignant leurs avantages, inconvénients et types de projets adaptés. Enfin, il aborde la qualité logicielle, ses principes fondamentaux, et les attentes des parties prenantes.

Transféré par

yasmine benhamza
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Les étapes de cycle de vie de développement logiciel

Développement logiciel : Ensemble d’étapes partiellement ordonnées, qui concourent à


l’obtention d’un système logiciel ou à l’évolution d’un système existant.
But : Produire des logiciels
 De qualité (qui répondent aux besoins de leurs utilisateurs)
 Dans le temps et les coût prévisibles
Étapes :Exigence =>Analyse =>Conception=>Mise en œuvre =>Validation=>Mise en service
Acteurs participant à la réalisation du logiciel :
Les acteurs qui sont du côté « utilisation » (Maîtrise d’ouvrage (MOA))
Les acteurs qui sont du côté « réalisation » (Maîtrise d’œuvre (MOE))
Étapes du développement logiciel :
1. Analyse des besoins
Objectif : Identifier, comprendre et formaliser les attentes des utilisateurs pour guider le
développement.
Éléments clés :
 Compréhension des besoins :
 Organiser des réunions avec les parties prenantes.
 Recueillir des informations sur les attentes explicites (fonctionnalités)
et implicites (performances, ergonomie).
 Traduire les besoins en termes fonctionnels.
 Document final :
 Cahier des charges fonctionnel décrivant les besoins sous forme claire
et compréhensible.
 Prise en compte des contraintes métiers et techniques.
2. Spécifications
Objectif : Décrire précisément les fonctionnalités et contraintes du logiciel.
Éléments clés :
 Exigences fonctionnelles :
 Liste des fonctionnalités principales (ex. : recherche, ajout au panier,
paiement sécurisé pour un site e-commerce).
 Exigences non fonctionnelles :
 Performances attendues (ex. : temps de réponse < 2s).
 Contraintes de sécurité (ex. : utilisation de protocoles comme SSL).
 Ergonomie et facilité d'utilisation.
 Outils :
 Diagrammes de cas d’utilisation (UML).
 User stories et wireframes pour illustrer les scénarios d’utilisation.
 Validation :
 Validation des spécifications par les parties prenantes.
3. Conception
Objectif : Planifier et structurer le logiciel pour répondre aux spécifications.
Éléments clés :
 Conception générale :
 Identification de l’architecture globale : composants principaux,
interactions et interfaces.
 Utilisation de modèles comme UML ou Merise (ex. : modèles
conceptuels de données).
 Préparation d’un plan de tests d’intégration.
 Conception détaillée :
 Définir précisément chaque composant :
 Données à manipuler (entrées, sorties).
 Processus (algorithmes, calculs, mises à jour).
 Contrôles à effectuer.
 Création de maquettes d’écrans et procédures dégradées pour gérer les
pannes.
 Production d’un plan de tests pour chaque unité.
4. Réalisation
Objectif : Traduire les spécifications et conceptions en code fonctionnel.
Éléments clés :
 Développement :
 Codage des fonctionnalités spécifiées.
 Utilisation des standards de qualité et des outils de gestion de version
(Git).
 Livrables :
 Logiciel fonctionnel.
 Documentation technique pour faciliter la maintenance.
5. Tests logiciels
Objectif : Vérifier que le logiciel fonctionne conformément aux spécifications et est exempt
de défauts.
Éléments clés :
 Types de tests :
 Unitaires : Vérification des petites parties de code isolées.
 D’intégration : Vérification des interactions entre composants.
 D’acceptation : Réalisation de tests métiers par les utilisateurs pour
valider que le logiciel répond à leurs besoins.
 Gestion des anomalies :
 Documentation des défauts identifiés.
 Réitération des tests après correction.
 Livrables :
 Cahiers de tests, fiches d’anomalies et évolution.
6. Livraison
Objectif : Transférer le logiciel finalisé au client avec formation et documentation.
Éléments clés :
 Intégration :
 Déploiement sur le site du client ou sur l’environnement de production.
 Préparation du système pour l’exploitation réelle.
 Recette utilisateur :
 Tests métiers réalisés par les utilisateurs pour vérifier que leurs besoins
sont bien satisfaits.
 Validation officielle du logiciel (cahiers de recette et PV de validation).
 Formation :
 Sessions pour familiariser les utilisateurs avec le système.
 Documentation d’utilisation.
7. Mise en production
Objectif : Lancer officiellement le logiciel pour une utilisation réelle.
Éléments clés :
 Installation :
 Mise en place sur le site de production.
 Exploitation avec des données réelles.
 Livrables :
 Dossier d’installation avec tâches détaillées, ressources nécessaires et
ordre d’exécution.
8. Maintenance
Objectif : Assurer la durabilité du logiciel et l’adapter aux nouveaux besoins ou aux
évolutions technologiques.
Éléments clés :
 Types de maintenance :
 Corrective : Résolution des anomalies détectées après mise en
production.
 Évolutive : Ajout de nouvelles fonctionnalités ou adaptation aux
nouvelles contraintes.
 Préventive : Optimisation pour prévenir les pannes.
 Processus :
 Analyse des rapports d’utilisation et des retours clients.
 Déploiement des mises à jour régulières.

Les différents cycle de vie et scrum / Agile


1. Cycle en V
Définition :
Le cycle en V est une méthode séquentielle où chaque phase de développement dépend de la
validation de la phase précédente. Il insiste sur une conception rigoureuse et une
documentation exhaustive.
Éléments clés :
 Phases successives : spécifications, conception, développement, intégration, tests,
déploiement, maintenance.
 Validation à chaque étape avant de passer à la suivante.
Avantages :
 Documentation précise facilitant le suivi.
 Adapté à des projets où les exigences sont stables et bien définies dès le départ.
 Moins de risques d’erreurs dans les phases ultérieures.
Inconvénients :
 Faible flexibilité pour intégrer des changements en cours de projet.
 Long délai avant d’obtenir des résultats concrets (effet tunnel).
 Trop dépendant de la précision initiale des spécifications.
Type de projets adaptés :
 Projets où les exigences sont figées (exemple : appels d’offres).
 Environnements technologiques stables.
Limites :
 Inefficace pour les projets évolutifs.
 Peu adapté à des environnements incertains ou dynamiques.
2. Modèle en spirale
Définition :
Modèle itératif qui introduit la gestion des risques au cœur du développement. Chaque cycle
inclut l’identification des objectifs, l’analyse des risques, le développement et l’évaluation.
Éléments clés :
 Itérations en spirale avec gestion continue des risques.
 Découpage en cycles, chacun se concluant par une évaluation des objectifs.
Avantages :
 Meilleure identification et réduction des risques.
 Flexibilité permettant d’ajuster les priorités.
 Estimations plus précises de budget et de calendrier.
Inconvénients :
 Complexité de mise en œuvre.
 Nécessite une équipe expérimentée en évaluation des risques.
Type de projets adaptés :
 Projets complexes avec des risques élevés.
 Projets où les exigences évoluent.
Limites :
 Demande beaucoup de temps pour les cycles d’évaluation.
 Coût élevé en gestion et documentation.
3. Modèle incrémental
Définition :
Développement par incréments successifs, où chaque incrément ajoute des fonctionnalités
jusqu’à atteindre les exigences complètes.
Éléments clés :
 Décomposition du logiciel en composants.
 Livraison fréquente d’incréments partiellement fonctionnels.
Avantages :
 Flexibilité pour ajuster les fonctionnalités en fonction des retours.
 Résultats rapides visibles pour les clients.
Inconvénients :
 Nécessite une planification rigoureuse pour l’intégration des incréments.
 Peut manquer de vision d’ensemble si mal géré.
Type de projets adaptés :
 Projets nécessitant des livraisons progressives.
 Développements modulaires ou extensibles.
Limites :
 Difficile à gérer si les dépendances entre incréments sont mal identifiées.
4. Méthode Agile
Définition :
Méthodologie basée sur le manifeste Agile (2001), mettant l’accent sur l’adaptation au
changement, la collaboration client, et des livraisons incrémentales.
Éléments clés :
 Priorité au logiciel fonctionnel et à la collaboration.
 Processus itératifs et incrémentaux.
 Équipe auto-organisée.
Avantages :
 Grande flexibilité face aux changements.
 Forte implication du client tout au long du projet.
 Diminution des tâches inutiles.
Inconvénients :
 Moins adapté aux projets où les exigences sont rigides.
 Dépend fortement de la communication et de l’expérience de l’équipe.
Type de projets adaptés :
 Projets où les besoins clients peuvent évoluer.
 Développements complexes nécessitant une collaboration continue.
Limites :
 Risques de dérive si les objectifs ne sont pas bien définis.
 Moins efficace si le client est peu impliqué.
Les 12 principes d’agilité
Ces principes complètent les 4 valeurs fondamentales du Manifeste Agile et définissent les
bonnes pratiques pour un développement logiciel réussi.
1. Satisfaction du client :
 Livrer rapidement et régulièrement des logiciels fonctionnels pour répondre aux
besoins du client.
2. Accueil des changements :
 Accepter les changements même tardifs dans le projet pour donner un avantage
compétitif au client.
3. Livraison fréquente :
 Fournir un logiciel opérationnel à intervalles réguliers (quelques semaines à quelques
mois).
4. Collaboration entre métiers et développeurs :
 Les équipes métier et technique doivent travailler ensemble tout au long du projet.
5. Motivation des individus :
 Donner aux équipes l’environnement et le soutien dont elles ont besoin pour réussir,
tout en leur faisant confiance.
6. Communication directe :
 Préférer la communication en face-à-face pour transmettre les informations de manière
efficace.
7. Mesure du progrès :
 Mesurer l’avancement par la livraison de logiciels fonctionnels, pas seulement par des
documents.
8. Rythme soutenable :
 Maintenir un rythme de développement constant et supportable pour les équipes.
9. Excellence technique et design :
 Promouvoir l’excellence technique et une bonne conception pour améliorer l’agilité.
10. Simplicité :
 Maximiser la valeur en minimisant le travail inutile.
11. Équipes auto-organisées :
 Permettre aux équipes de s’auto-organiser pour produire des solutions efficaces.
12. Amélioration continue :
 Réfléchir régulièrement sur les moyens d’être plus efficace et ajuster les processus en
conséquence.
5. Méthode Scrum (Agile)
Définition :
Un cadre Agile itératif structuré autour de Sprints (itérations de 2 à 4 semaines) avec une
équipe soudée et auto-organisée.
Éléments clés :
 Rôles clés : Product Owner, Scrum Master, Équipe de développement.
 Artefacts : Product Backlog, Sprint Backlog, incréments.
 Réunions : Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective.
Avantages :
 Livraisons fréquentes et fonctionnelles.
 Amélioration continue grâce aux rétrospectives.
 Forte collaboration et engagement de l’équipe.
Inconvénients :
 Nécessite une équipe disciplinée et bien formée.
 Difficultés à gérer de grands projets ou des équipes distribuées.
Type de projets adaptés :
 Projets dynamiques nécessitant des ajustements fréquents.
 Développements où les priorités évoluent.
Limites :
 Moins efficace pour des projets avec des exigences stables et figées.
 Nécessite une forte implication du Product Owner.
Qualité logicielle et modèles
Définition et importance de la qualité
 Qualité : Le résultat d'une comparaison entre ce qui est requis (attentes) et ce qui est
fourni (résultat). Elle se mesure par la satisfaction du client.
 Un produit de qualité est :
 Conforme aux spécifications.
 Fonctionnel sur différentes plateformes.
 Compatible avec l'équipement et transparent pour les utilisateurs
finaux.
 Sans impact négatif lors de son introduction.
 Contexte : Les besoins en qualité varient en fonction du type de logiciel (prototypes,
logiciels critiques, etc.).
 Triangle d’or de la qualité : Équilibre entre le coût, le temps et la qualité.
Problématique de la qualité logicielle
1. Caractère unique des logiciels :
 Grande complexité et invisibilité.
 Bugs détectables principalement durant le développement.
2. Environnement de développement :
 Nécessite coordination, interfaces inter-systèmes, et maintenance.
 Exige une gestion efficace malgré le changement d'équipes.
Principes fondamentaux de la qualité
1. Focalisation sur le client :
 Comprendre et répondre aux besoins des clients pour assurer leur satisfaction.
2. Leadership :
 Vision claire, stratégie définie, valeurs partagées, allocation de ressources.
3. Engagement du personnel :
 Résolution de problèmes, partage des compétences, création de valeur.
4. Approche processus :
 Optimisation des processus avec implication des acteurs pour plus d’efficacité.
5. Amélioration continue :
 Processus de mise à jour constante pour maintenir la qualité.
6. Décision basée sur l’évidence :
 Prise de décisions fondées sur des données fiables.
7. Gestion des relations avec les fournisseurs :
 Collaboration avec les parties externes pour garantir la qualité.
Aspects de la qualité logicielle
1. Qualité fonctionnelle :
 Le logiciel exécute correctement les tâches pour lesquelles il est destiné.
 Critères :
 Conformité aux exigences.
 Peu de défauts (bugs).
 Performances satisfaisantes.
 Facilité d’apprentissage et d’utilisation.
2. Qualité structurelle :
 Dépend de la structure interne du code.
 Critères :
 Testabilité : facilité de vérifier le code.
 Maintenabilité : simplicité de modifier ou étendre le code.
 Compréhensibilité : clarté du code pour les développeurs.
 Efficacité : exécution rapide et consommation minimale de ressources.
 Sécurité : résistance aux vulnérabilités comme les injections SQL.
3. Qualité du processus :
 Liée au déroulement du développement.
 Critères :
 Respect des délais.
 Respect des budgets.
 Processus reproductible pour fournir un logiciel de qualité.

Niveaux de la qualité
1. Small Q (Qualité intrinsèque) :
 Centrée sur le produit lui-même.
 Mesure de la qualité technique et fonctionnelle.
2. Big Q (Qualité élargie) :
 Inclut la qualité du processus et la satisfaction client.
 Vise une gestion globale de la qualité, incluant le contexte du projet et ses
parties prenantes.
Parties prenantes et leurs attentes
1. Utilisateurs :
 Cherchent un logiciel fiable, performant et facile à utiliser.
2. Équipe de développement :
 Met l’accent sur la maintenabilité, la sécurité et l’efficacité du code.
3. Sponsors :
 Priorisent le respect des budgets et des délais.

Vous aimerez peut-être aussi