Podcast
Questions and Answers
Quel est le but du découpage du cycle de vie d'un logiciel?
Quel est le but du découpage du cycle de vie d'un logiciel?
Le but du découpage du cycle de vie d'un logiciel est de maîtriser les risques, maîtriser au mieux les délais et les coûts, et obtenir une qualité conforme aux exigences.
Quel est l’un des principaux problèmes soulevés par la crise du logiciel dans les années 1970?
Quel est l’un des principaux problèmes soulevés par la crise du logiciel dans les années 1970?
Le Génie Logiciel se concentre uniquement sur la programmation du code.
Le Génie Logiciel se concentre uniquement sur la programmation du code.
False
Nommez au moins deux qualités importantes d'un bon programme.
Nommez au moins deux qualités importantes d'un bon programme.
Signup and view all the answers
Quel est le rôle du Product Owner dans Scrum?
Quel est le rôle du Product Owner dans Scrum?
Signup and view all the answers
Expliquez brièvement la méthode de développement Agile.
Expliquez brièvement la méthode de développement Agile.
Signup and view all the answers
Associez les méthodes de développement de logiciels aux caractéristiques principales :
Associez les méthodes de développement de logiciels aux caractéristiques principales :
Signup and view all the answers
Expliquez le concept de la rétro-ingénierie.
Expliquez le concept de la rétro-ingénierie.
Signup and view all the answers
Quelle est la principale différence entre les diagrammes de Gantt et les diagrammes de PERT?
Quelle est la principale différence entre les diagrammes de Gantt et les diagrammes de PERT?
Signup and view all the answers
Qu'est-ce que Scrum?
Qu'est-ce que Scrum?
Signup and view all the answers
Study Notes
Introduction au SDLC (Software Development Life Cycle)
- Le SDLC est le cycle de vie de développement du logiciel.
- Il décrit les étapes impliquées dans la création, le développement et la maintenance d'un logiciel.
Plan du Cours
- Fondements des systèmes d'information
- Introduction au génie logiciel
- Cycle de vie du logiciel
- Modèles de cycle de vie
- Méthodologie SCRUM
Fondements des Systèmes d'Information
- Un système est un ensemble d'éléments en interaction dynamique organisés pour atteindre un but.
- Un système d'information est une représentation d'un système (humain ou non), incluant les ressources (matériels, logiciels, personnel, données, procédures) permettant la gestion et le traitement des informations.
- Les systèmes reçoivent des données d'entrée, les transforment et génèrent des sorties, interagissant avec d'autres systèmes ou l'environnement.
- Une application bancaire, une application de gestion de stockage, un site web, une bibliothèque numérique sont des exemples de systèmes d'information (SI).
- Les SI ont des fonctions de collecte, de saisie, de traitement, de mémovisation, de stockage et de communication/diffusion des informations, permettant l'aide à la décision.
- Les SI automatisés utilisent la technologie informatique pour traiter les données de l'organisation.
La crise du logiciel
- Historique des problèmes :
- Années 50 : petits programmes sur mesure, le client souvent le programmeur
- Années 60-70 : premiers «gros logiciels» commercialisés, logiciels multi-utilisateurs, temps réel, apparition des bases de données
- Années 80 : coût des ordinateurs diminue, réseaux et systèmes répartis
- Exemples de défaillances (missions Venus, station Mir, pertes de satellites...)
- Causes : erreurs de code, mauvais gestion des exigences client, imprécisions dans la conception logiciel, manque de ressources, changements d'exigences imprévisibles, gestion des équipes, etc.
- Une étude de 9 projets du ministère américain de la défense en 1990 montre que plus de la moitié des projets ne fonctionnaient pas, avec des problèmes de budget et de cadences.
Le Génie Logiciel
- Définitions: application pratique de la connaissance scientifique dans la conception du logiciel, processus visant à rationaliser sa production et son suivi.
- Ingénieries traditionnelles (civil, mécanique, etc.) vs génie logiciel (software engineering)
- L'art de faire de bons logiciels (fiabilité, performance, créativité, esthétique et rentabilité).
- Processus de développement du logiciel incluant différents aspects, allant de l'analyse aux tests passant par la conception, etc.
- Différence entre programmation et génie logiciel
- Programmation (activité personnelle) ≠ génie logiciel (activité d'équipe)
Les cycles de vie
- Modèle en cascade
- Un modèle séquentiel, chaque phase terminant avant le commencement de la phase suivante.
- Critique : une erreur de spécification est détectée que tardivement dans le processus.
- Modèle en spirale
- Analyse des risques systématique à chaque itération.
- Itératif et incrémental, les phases sont répétées avec une progression progressive. Permet une meilleur maîtrise des risques, mais nécessite une grande expérience.
- Modèle itératif
- Il permet de répéter les étapes du processus en boucle jusqu'à la validation, tant que la validation ne répond pas aux exigences.
- Modèle incrémental
- Incréments de composants qui sont intégrés successivement à un noyau logiciel, permettant les livraisons partielles et les itérations.
- Modèles par prototypage
- Une version d'essai du logiciel est développée pour évaluer les idées et satisfaire le client.
- Les méthodes Agile
- Focus sur le client, la rapidité et le changement
- Technologie procédurale, des objets, des composants, des modèles, etc.
Méthodologie Scrum
- Processus léger, agile, et itératif de gestion et de contrôle du développement de logiciels.
- Rôles (Product Owner, Scrum Master, Scrum Team)
- Artéfacts (Product Backlog, Sprint Backlog, Burn-down Charts)
- Processus (réunions quotidiennes (Daily Scrum), réunion pour la planification du sprint (Sprint Planning Meeting), revue du sprint (Sprint Review Meeting)
Techniques de planification de projet
- Diagrammes de Gantt : visualisent les tâches, leur dépendance et leur durée sur un calendrier
- Diagrammes de PERT : montrent les activités, leur séquence, leur durée et les liaisons de dépendance entre elles.
Les méthodes d'analyse et de conception
- Merise, OMT, Booch, OOSE et SADT
Méthodes d'assurance et de gestion de la qualité
- 5S, Six Sigma, AMDEC, MRP, Brainstorming, Diagramme de Pareto, QQOQCCP
- Méthodes de gestion et d'évaluation des coûts et des risques (Mehari, EBIOS, Marion, ISO 27000 (27005) PDCA)
Reverse Engineering
- Processus d'extraction des connaissances ou des plans de conception d'un logiciel.
- Utilisation de techniques pour décomposer le code, le comprendre, puis l'extraire pour le réutiliser ou l'améliorer.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Ce quiz explore les concepts fondamentaux du Cycle de vie du développement logiciel (SDLC) et des systèmes d'information. Vous apprendrez les étapes du SDLC ainsi que les éléments clés qui définissent un système d'information. Préparez-vous à tester vos connaissances sur ces sujets essentiels du génie logiciel.