The program development life cycle · Le cycle de développement logiciel
| English | Français |
|---|---|
| requirements/rɪˈkwaɪəmənts/ | spécifications |
| development life cycle/dɪˈveləpmənt laɪf ˈsaɪkl/ | cycle de vie du développement |
| waterfall/ˈwɔːtəfɔːl/ | cascade |
| maintenance/ˈmeɪntənəns/ | maintenance |
| iterative model/ˈɪtərətɪv ˈmɒdl/ | modèle itératif |
| rapid application development/ˈræpɪd ˌæplɪˈkeɪʃn dɪˈveləpmənt/ | développement rapide d'applications (RAPD) |
| prototype/ˈprəʊtəʊtaɪp/ | prototype |
| agile/ˈædʒaɪl/ | méthode agile |
| implementation/ˌɪmplɪmənˈteɪʃn/ | implémentation |
The airport that opened sixteen months late
- Denver's new airport was due to open in October 1993 with the most ambitious baggage system ever built: 4,000 automatic carts, 35 km of track, no human hands. It opened in February 1995, $560 million over budget, with the carts shredding suitcases in test runs.
- The schedule had been fixed before anyone analysed what the system had to do. Requirements kept changing while it was being built. Testing started when there was no time left to fix what it found.
- Every one of those failures has a name in this lesson. A development life cycle 开发生命周期 exists so that a project is planned, managed and controlled instead of discovered.
- This lesson is what a life cycle is for, the three models the syllabus names, and the five stages every program goes through.
L'aéroport ouvert seize mois en retard
- Le nouvel aéroport de Denver devait ouvrir en octobre 1993 avec le système de bagages le plus ambitieux jamais construit : 4,000 chariots automatiques, 35 km de voies, sans intervention humaine. Il a ouvert en février 1995, avec un dépassement de budget de $560 millions, les chariots déchirant les valises lors des essais.
- Le calendrier avait été fixé avant que quiconque n'analyse ce que le système devait faire. Les exigences ont changé tout au long de la construction. Les tests ont commencé quand il n'y avait plus de temps pour corriger ce qu'ils avaient trouvé.
- Chacun de ces échecs a un nom dans cette leçon. Un cycle de vie du développement 开发生命周期 existe pour qu'un projet soit planifié, géré et contrôlé plutôt que découvert.
- Cette leçon explique à quoi sert un cycle de vie, les trois modèles nommés par le programme, et les cinq étapes par lesquelles passe tout programme.
Why a life cycle is needed
- A development life cycle is the set of stages from idea to finished, maintained software. Its purpose is to plan, manage and control a project: the right product, on time, with good quality.
- It manages complexity by breaking a big program into phases, coordinates a team, and tracks progress against milestones.
- It builds in testing rather than leaving it to the end, records design decisions for whoever maintains the program later, and manages risk.
Pourquoi un cycle de vie est nécessaire
- Un cycle de vie du développement est l'ensemble des étapes de l'idée au logiciel fini et maintenu. Son but est de planifier, gérer et contrôler un projet : le bon produit, à temps, avec une bonne qualité.
- Il gère la complexité en découpant un gros programme en phases, coordonne une équipe, et suit les progrès par rapport aux jalons.
- Il intègre les tests plutôt que de les laisser à la fin, documente les décisions de conception pour quiconque entretiendra le programme plus tard, et gère les risques.
A development life cycle is used to: · Un cycle de développement est utilisé pour :
It structures the work into stages so the team builds the right product, on time, with quality. · Il structure le travail en étapes pour que l'équipe construise le bon produit, dans les délais, avec qualité.
Which are purposes of a development life cycle? Select all · tout that apply. · Quels sont les objectifs d'un cycle de développement ? Sélectionnez tous ceux qui s'appliquent.
A life cycle plans, manages and controls. It cannot guarantee correctness; it makes finding and fixing errors part of the plan. · Un cycle planifie, gère et contrôle. Il ne peut pas garantir l'absence d'erreurs ; il rend la recherche et la correction d'erreurs partie intégrante du plan.
Why there is more than one
- No single life cycle fits every project, so several exist and the exam asks you to choose.
- The choice depends on the size and complexity of the program, how clear the requirements 需求 are at the start, how much change is expected, the risk if it fails, the team, and the deadline.
- A payroll system with fixed legal rules and a game whose players do not yet know what they want are different projects. They deserve different cycles.
Pourquoi il existe plusieurs modèles
- Aucun cycle de vie unique ne convient à tous les projets, donc plusieurs existent et l'examen vous demande de choisir.
- Le choix dépend de la taille et de la complexité du programme, de la clarté des exigences 需求 au départ, de l'ampleur des changements prévus, du risque en cas d'échec, de l'équipe et du délai.
- Un système de paie avec des règles légales fixes et un jeu dont les joueurs ne savent pas encore ce qu'ils veulent sont des projets différents. Ils méritent des cycles différents.
Waterfall
- The waterfall 瀑布模型 model is a linear sequence: analysis, design, coding, testing, maintenance. Each stage is finished, documented and signed off before the next begins.
- Benefits: clear structure, easy to manage and schedule, thorough documentation at every stage, well suited to stable requirements.
- Drawbacks: a change of requirements mid-project means going back up the waterfall; the customer sees nothing working until the end; errors in analysis surface only at testing.
Water does not flow back uphill
Cascade (Waterfall)
- Le modèle en cascade 瀑布模型 est une séquence linéaire : analyse, conception, codage, test, maintenance. Chaque étape est terminée, documentée et validée avant que la suivante ne commence.
- Avantages : structure claire, gestion et planification faciles, documentation complète à chaque étape, bien adapté aux exigences stables.
- Inconvénients : un changement d'exigences en cours de projet oblige à remonter dans la cascade ; le client ne voit rien de fonctionnel jusqu'à la fin ; les erreurs d'analyse n'apparaissent qu'au moment du test.

L'eau ne remonte jamais en amont
The waterfall model is best suited to projects where: · Le modèle en cascade convient mieux aux projets où :
Waterfall is linear with each stage finished before the next — great for stable requirements, poor at mid-project change. · En cascade est linéaire avec chaque étape terminée avant la suivante — excellent pour des exigences stables, médiocre pour les changements en milieu de projet.
In the waterfall model the customer sees a working version of the program early in the project. · Dans le modèle en cascade, le client voit une version fonctionnelle du programme tôt dans le projet.
Nothing runs until coding and testing, near the end. Seeing working software early is the iterative model's and RAD's strength. · Rien ne s'exécute jusqu'au codage et aux tests, vers la fin. Voir du logiciel fonctionnel tôt est la force du modèle itératif et de RAD.
Iterative
- The iterative model 迭代模型 makes repeated passes. Each pass produces a partial working version that is reviewed by the user and refined in the next pass.
- Benefits: problems are caught earlier; the user sees working software early and often; good when requirements are discovered over time.
- Drawbacks: harder to estimate the total cost and time; repeated reviews need the user's attention; the design can drift without discipline.
Build, show, refine, repeat
Itératif
- Le modèle itératif 迭代模型 effectue des passages répétés. Chaque passage produit une version partielle fonctionnelle qui est revue par l'utilisateur et affinée lors du passage suivant.
- Avantages : les problèmes sont détectés plus tôt ; l'utilisateur voit du logiciel fonctionnel tôt et souvent ; bon lorsque les exigences sont découvertes au fil du temps.
- Inconvénients : plus difficile d'estimer le coût total et le temps ; les revues répétées nécessitent l'attention de l'utilisateur ; la conception peut dériver sans discipline.

Construire, montrer, affiner, répéter
Rapid application development
- Rapid application development 快速应用开发 (RAD) builds a prototype 原型 quickly, puts it in front of the users, and rebuilds it from their feedback until it becomes the product. Teams often work on parts in parallel.
- Benefits: a very fast first delivery; requirements that change are absorbed as they appear; users shape the product directly.
- Drawbacks: it depends on users being available throughout; the prototype's shortcuts can survive into the product; it suits smaller systems better than large safety-critical ones. Agile 敏捷 methods take the same idea further, with short sprints and constant testing.
Prototype, feedback, prototype again
Développement rapide d'applications
- Le développement rapide d'applications 快速应用开发 (RAD) construit un prototype 原型 rapidement, le présente aux utilisateurs, et le reconstruit à partir de leurs retours jusqu'à ce qu'il devienne le produit final. Les équipes travaillent souvent sur des parties en parallèle.
- Avantages : première livraison très rapide ; les exigences changeantes sont absorbées au fur et à mesure ; les utilisateurs façonnent directement le produit.
- Inconvénients : cela dépend de la disponibilité continue des utilisateurs ; les raccouris pris dans le prototype peuvent persister dans le produit final ; cela convient mieux aux petits systèmes qu'aux grands systèmes critiques pour la sécurité. Les méthodes Agile 敏捷 poussent cette idée plus loin, avec des sprints courts et des tests constants.

Prototype, feedback, nouveau prototype
In the waterfall model each stage is finished before the next begins, whereas agile works in short iterative sprints with constant feedback. · Dans le modèle en cascade, chaque étape est terminée avant que la suivante ne commence, alors qu'agile travaille en courtes itérations avec feedback constant.
Waterfall is linear (good for stable requirements); agile adapts through short sprints with continuous customer collaboration and testing. · En cascade est linéaire (bon pour des exigences stables) ; agile s'adapte via des sprints courts avec collaboration continue du client et tests.
Match each model to its key idea. · Associez chaque modèle à son idée clé.
Waterfall = linear; iterative = repeated refinement; RAD = prototype-driven and fast. · En cascade = linéaire ; itératif = raffinement répété ; RAD = piloté par prototype et rapide.
Rapid application development builds a ____ that users try and give feedback on, then rebuilds it. · Le développement rapide d'applications construit un ____ que les utilisateurs essaient et dont ils donnent un retour, puis le reconstruisent.
The prototype is RAD's defining feature; user feedback on it is how the requirements are discovered. · Le prototype est la caractéristique définissante de RAD ; le feedback utilisateur dessus permet de découvrir les exigences.
Worked example: choose a life cycle and justify it
- A company needs software to calculate employees' pay under tax rules that are fixed by law. Which life cycle, and why? Waterfall: the requirements are stable and fully known at the start, the rules can be documented completely in analysis, and the thorough documentation matters for a system that must be correct and audited.
- A start-up wants an app for a new kind of social event; its users are not sure what features they want. RAD: the requirements are unclear and will change, so a prototype that users try and react to discovers them quickly, and the small system suits fast rebuilding.
- Name the model, then link two of its properties to two facts in the scenario.
Exemple résolu : choisir un cycle de vie et le justifier
- Une entreprise a besoin d'un logiciel pour calculer le salaire des employés selon des règles fiscales fixées par la loi. Quel cycle de vie, et pourquoi ? Cascade : les exigences sont stables et entièrement connues dès le départ, les règles peuvent être entièrement documentées en analyse, et la documentation approfondie est essentielle pour un système qui doit être correct et auditable.
- Une start-up veut créer une application pour un nouveau type d'événement social ; ses utilisateurs ne sont pas sûrs des fonctionnalités qu'ils souhaitent. RAD : les exigences sont floues et évolueront, donc un prototype que les utilisateurs testent et commentent permet de les identifier rapidement, et le petit système se prête bien à une reconstruction rapide.
- Nommez le modèle, puis reliez deux de ses propriétés à deux faits du scénario.
A small team must build an app whose users are unsure what they want, and the users can try versions every week. Which life cycle fits best? · Une petite équipe doit construire une application dont les utilisateurs ne savent pas encore ce qu'ils veulent, et les utilisateurs peuvent essayer des versions chaque semaine. Quel cycle de développement correspond le mieux ?
Unclear, changing requirements plus available users is the RAD case. Waterfall needs the requirements fixed at the start. · Des exigences floues et changeantes combinées à des utilisateurs disponibles constituent le cas RAD. En cascade nécessite des exigences fixées au départ.
The five stages
- Analysis: find out what the program must do; gather and document the requirements from the users.
- Design: decide how: data structures, algorithms, modules, the user interface, file layouts, expressed in structure charts, flowcharts and pseudocode.
- Coding (implementation 实现): write the source code following the design. Testing: run it against planned test data and correct the errors found.
- Maintenance 维护: after release, keep it working and useful, correcting faults, adapting to change and improving it.
Les cinq étapes
- Analyse : déterminer quoi le programme doit faire ; recueillir et documenter les exigences auprès des utilisateurs.
- Conception : décider comment : structures de données, algorithmes, modules, interface utilisateur, mises en page des fichiers, exprimés sous forme de diagrammes de structure, de fluxlogiques et de pseudocode.
- Codage (implémentation 实现) : écrire le code source conformément à la conception. Test : l'exécuter contre les données de test prévues et corriger les erreurs trouvées.
- Maintenance 维护 : après la mise en production, maintenir son fonctionnement et son utilité, corriger les défauts, s'adapter aux changements et l'améliorer.
The program development life cycle · Le cycle de développement logiciel
Step through the stages every project passes through. Getting the requirements right in analysis matters most — a mistake caught in testing is far costlier to fix than one caught early. · Parcourez les étapes que chaque projet traverse. Obtenir les bonnes exigences en analyse est primordial — une erreur détectée en test est beaucoup plus coûteuse à corriger qu'une erreur détectée tôt.
The analysis stage is mainly about deciding: · L'étape d'analyse consiste principalement à décider :
Analysis gathers requirements (the "what"); design decides the "how". · L'analyse rassemble les exigences (le « quoi ») ; la conception décide du « comment ».
Put the stages of the program development life cycle in order. · Mettez les étapes du cycle de vie du développement logiciel dans l'ordre.
What, how, build, check, keep working. In the iterative model the middle stages repeat, but the order inside each pass is the same. · Quoi, comment, construire, vérifier, maintenir en fonctionnement. Dans le modèle itératif, les étapes intermédiaires se répètent, mais l'ordre à l'intérieur de chaque passage est le même.
Worked example: what happens in analysis and design
- Describe what happens during the analysis and design stages of the program development life cycle. [4]
- Analysis: the developers interview and observe the users to find out what the program must do; they identify the inputs, the outputs and the processing required, and write a requirements specification that the customer agrees.
- Design: the developers decide how the program will meet those requirements: they choose the data structures and algorithms, decompose the program into modules on a structure chart, design the screens and files, and write pseudocode.
- Two actions and a product for each stage. "They analyse the problem" restates the heading and earns nothing.
Exemple résolu : ce qui se passe en analyse et en conception
- Décrivez ce qui se déroule pendant les phases d'analyse et de conception du cycle de vie du développement de programme. [4]
- Analyse : les développeurs interviewent et observent les utilisateurs pour découvrir ce que le programme doit faire ; ils identifient les entrées, les sorties et le traitement requis, et rédiguent une spécification des exigences approuvée par le client.
- Conception : les développeurs décident comment le programme satisfera ces exigences : ils choisissent les structures de données et les algorithmes, décomposent le programme en modules sur un diagramme de structure, conçoivent les écrans et les fichiers, et écrivent du pseudocode.
- Deux actions et un produit pour chaque étape. « Ils analysent le problème » ne fait que reformuler l'en-tête et n'apporte aucun point.
Marks that slip away
- Analysis is what, design is how. "Deciding the algorithms" belongs to design.
- Waterfall is not "the bad one". Its strength is stable, documented requirements; its weakness is change. Give both when asked for benefits and drawbacks.
- RAD is not just "fast". Its defining feature is the prototype and the users' feedback on it.
- Maintenance is a stage, not an afterthought: most of a program's lifetime cost is spent there.
Pièges qui font perdre des points
- L'analyse c'est quoi, la conception c'est comment. « Décider des algorithmes » relève de la conception.
- La cascade n'est pas « le mauvais modèle ». Sa force réside dans des exigences stables et documentées ; sa faiblesse est le changement. Donnez les deux lorsqu'on demande des avantages et des inconvénients.
- RAD n'est pas seulement « rapide ». Son trait distinctif est le prototype et les retours des utilisateurs à son sujet.
- La maintenance est une étape, pas une après-pensée : la majeure partie du coût de vie d'un programme y est consacrée.
You've got it
- a life cycle plans, manages and controls a project: phases, milestones, testing built in, decisions recorded, risk managed
- waterfall: linear, each stage signed off, best for stable requirements, poor at change · iterative: repeated refined versions, catches problems early, harder to estimate · RAD: prototype plus user feedback, fast and flexible, needs available users
- choose by requirement clarity, expected change, size and risk, and justify with the scenario
- the stages: analysis (what) → design (how) → coding → testing → maintenance
Vous avez compris
- Un cycle de vie planifie, gère et contrôle un projet : phases, jalons, tests intégrés, décisions documentées, gestion des risques
- cascade : linéaire, chaque étape validée, idéal pour des exigences stables, faible face aux changements · itératif : versions raffinées répétées, détecte les problèmes tôt, estimation plus difficile · RAD : prototype plus feedback utilisateur, rapide et flexible, nécessite des utilisateurs disponibles
- choisir selon la clarté des exigences, les changements prévus, la taille et le risque, et justifier avec le scénario
- les étapes : analyse (quoi) → conception (comment) → codage → test → maintenance