The program development life cycle · Ciclo de vida del desarrollo de programas
| English | Español |
|---|---|
| requirements/rɪˈkwaɪəmənts/ | requisitos |
| development life cycle/dɪˈveləpmənt laɪf ˈsaɪkl/ | ciclo de vida del desarrollo |
| waterfall/ˈwɔːtəfɔːl/ | cascada |
| maintenance/ˈmeɪntənəns/ | mantenimiento |
| iterative model/ˈɪtərətɪv ˈmɒdl/ | modelo iterativo |
| rapid application development/ˈræpɪd ˌæplɪˈkeɪʃn dɪˈveləpmənt/ | desarrollo rápido de aplicaciones |
| prototype/ˈprəʊtəʊtaɪp/ | prototipo |
| agile/ˈædʒaɪl/ | ágil |
| implementation/ˌɪmplɪmənˈteɪʃn/ | implementación |
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.
El aeropuerto que abrió dieciséis meses tarde
- El nuevo aeropuerto de Denver debía abrir en octubre de 1993 con el sistema de equipaje más ambicioso jamás construido: 4.000 carros automáticos, 35 km de vía y sin intervención humana. Se abrió en febrero de 1995, $560 millones por encima del presupuesto, con los carros destruyendo maletas durante las pruebas.
- La fecha se fijó antes de analizar lo que el sistema debía hacer. Los requisitos cambiaban mientras se construía. Las pruebas comenzaron cuando no quedaba tiempo para corregir lo que descubrían.
- Cada uno de esos fracasos tiene un nombre en esta lección. Un ciclo de vida del desarrollo 开发生命周期 existe para que un proyecto sea planificado, gestionado y controlado en lugar de descubriéndose al azar.
- Esta lección explica para qué sirve un ciclo de vida, los tres modelos que menciona el programa de estudios y las cinco etapas por las que pasa todo programa.
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.
Por qué se necesita un ciclo de vida
- Un ciclo de vida del desarrollo es el conjunto de etapas desde la idea hasta el software terminado y mantenido. Su propósito es planificar, gestionar y controlar un proyecto: el producto correcto, a tiempo y con buena calidad.
- Gestiona la complejidad dividiendo un gran programa en fases, coordina a un equipo y seguir el progreso respecto a hitos.
- Incluye las pruebas en su proceso en lugar de dejarlas para el final, registra las decisiones de diseño para quien mantenga el programa después, y gestiona el riesgo.
A development life cycle is used to: · Se utiliza un ciclo de vida para:
It structures the work into stages so the team builds the right product, on time, with quality. · Estructura el trabajo en etapas para que el equipo construya el producto correcto, a tiempo y con calidad.
Which are purposes of a development life cycle? Select all · todos that apply. · ¿Cuáles son los propósitos de un ciclo de vida? Seleccione todos los que correspondan.
A life cycle plans, manages and controls. It cannot guarantee correctness; it makes finding and fixing errors part of the plan. · Un ciclo de vida planifica, gestiona y controla. No puede garantizar la corrección; hace que encontrar y corregir errores sea parte del 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.
Por qué hay más de uno
- Ningún único ciclo de vida se adapta a todos los proyectos, por lo que existen varios y el examen pide elegir.
- La elección depende del tamaño y la complejidad del programa, qué tan claros sean los requisitos 需求 al inicio, cuánto cambio se espera, el riesgo si falla, el equipo y el plazo.
- Un sistema de nómina con reglas legales fijas y un juego cuyos jugadores aún no saben lo que quieren son proyectos diferentes. Merecen ciclos distintos.
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
Cascada (Waterfall)
- El modelo de cascada 瀑布模型 es una secuencia lineal: análisis, diseño, codificación, pruebas, mantenimiento. Cada etapa se termina, documenta y aprueba antes de que comience la siguiente.
- Ventajas: estructura clara, fácil de gestionar y programar, documentación exhaustiva en cada etapa, bien adecuado para requisitos estables.
- Desventajas: un cambio de requisitos a mitad del proyecto implica retroceder en la cascada; el cliente no ve nada funcionando hasta el final; los errores en el análisis solo aparecen en las pruebas.

El agua no fluye cuesta arriba
The waterfall model is best suited to projects where: · El modelo en cascada es más adecuado para proyectos donde:
Waterfall is linear with each stage finished before the next — great for stable requirements, poor at mid-project change. · La cascada es lineal, terminando cada etapa antes de comenzar la siguiente: excelente para requisitos estables, deficiente ante cambios a mitad del proyecto.
In the waterfall model the customer sees a working version of the program early in the project. · En el modelo en cascada, el cliente ve una versión funcional del programa al inicio del proyecto.
Nothing runs until coding and testing, near the end. Seeing working software early is the iterative model's and RAD's strength. · Nada funciona hasta la codificación y las pruebas, cerca del final. Ver software funcional temprano es la fortaleza del modelo iterativo y 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
Iterativo
- El modelo iterativo 迭代模型 realiza pasadas repetidas. Cada pasada produce una versión parcial funcional que es revisada por el usuario y refinada en la siguiente pasada.
- Ventajas: los problemas se detectan antes; el usuario ve software funcional temprano y a menudo; bueno cuando los requisitos se descubren con el tiempo.
- Desventajas: más difícil estimar el costo y tiempo total; las revisiones repetidas requieren la atención del usuario; el diseño puede desviarse sin disciplina.

Construir, mostrar, refinar, repetir
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
Desarrollo rápido de aplicaciones
- El desarrollo rápido de aplicaciones 快速应用开发 (RAD) construye un prototipo 原型 rápidamente, lo pone frente a los usuarios y lo reconstruye basándose en sus comentarios hasta convertirse en el producto. Los equipos suelen trabajar en partes en paralelo.
- Ventajas: una primera entrega muy rápida; los requisitos que cambian se absorben conforme aparecen; los usuarios moldean el producto directamente.
- Desventajas: depende de que los usuarios estén disponibles durante todo el proceso; los atajos del prototipo pueden sobrevivir en el producto; se adapta mejor a sistemas pequeños que a grandes sistemas críticos para la seguridad. Los métodos ágiles 敏捷 llevan la misma idea más lejos, con sprints cortos y pruebas constantes.

Prototipo, retroalimentación, prototipo de nuevo
In the waterfall model each stage is finished before the next begins, whereas agile works in short iterative sprints with constant feedback. · En el modelo en cascada cada etapa se termina antes de que comience la siguiente, mientras que ágil trabaja en sprints iterativos cortos con retroalimentación constante.
Waterfall is linear (good for stable requirements); agile adapts through short sprints with continuous customer collaboration and testing. · La cascada es lineal (buena para requisitos estables); ágil se adapta mediante sprints cortos con colaboración continua de clientes y pruebas.
Match each model to its key idea. · Empareje cada modelo con su idea clave.
Waterfall = linear; iterative = repeated refinement; RAD = prototype-driven and fast. · Cascada = lineal; iterativo = refinamiento repetido; RAD = basado en prototipos y rápido.
Rapid application development builds a ____ that users try and give feedback on, then rebuilds it. · El desarrollo rápido de aplicaciones construye un ____ que los usuarios prueban y dan retroalimentación sobre, luego se reconstruye.
The prototype is RAD's defining feature; user feedback on it is how the requirements are discovered. · El prototipo es la característica definitoria de RAD; la retroalimentación de los usuarios sobre él es cómo se descubren los requisitos.
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.
Ejemplo resuelto: elegir un ciclo de vida y justificarlo
- Una empresa necesita software para calcular el pago de los empleados bajo normas fiscales fijas por ley. ¿Qué ciclo de vida y por qué? Cascada: los requisitos son estables y totalmente conocidos al inicio, las reglas pueden documentarse completamente en el análisis, y la documentación exhaustiva es importante para un sistema que debe ser correcto y auditable.
- Una startup quiere una app para un nuevo tipo de evento social; sus usuarios no están seguros de qué funciones quieren. RAD: los requisitos son poco claros y cambiarán, por lo que un prototipo que los usuarios prueban y reaccionan descubre rápidamente sus necesidades, y el sistema pequeño se adapta a la reconstrucción rápida.
- Nombre el modelo, luego vincule dos de sus propiedades con dos hechos del escenario.
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? · Un equipo pequeño debe construir una aplicación cuyos usuarios no están seguros de lo que quieren, y los usuarios pueden probar versiones cada semana. ¿Qué ciclo de vida se adapta mejor?
Unclear, changing requirements plus available users is the RAD case. Waterfall needs the requirements fixed at the start. · Requisitos poco claros y cambiantes más usuarios disponibles es el caso ideal para RAD. La cascada requiere que los requisitos estén fijos al inicio.
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.
Las cinco etapas
- Análisis: descubrir qué debe hacer el programa; recopilar y documentar los requisitos de los usuarios.
- Diseño: decidir cómo: estructuras de datos, algoritmos, módulos, interfaz de usuario, formatos de archivo, expresados en diagramas estructurales, diagramas de flujo y pseudocódigo.
- Codificación (implementación 实现): escribir el código fuente siguiendo el diseño. Pruebas: ejecutarlo contra datos de prueba planificados y corregir los errores encontrados.
- Mantenimiento 维护: tras el lanzamiento, mantenerlo funcionando y útil, corrigiendo fallos, adaptándolo al cambio y mejorándolo.
The program development life cycle · Ciclo de vida del desarrollo de programas
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. · Recorra las etapas por las que pasa cada proyecto. Obtener correctamente los requisitos en el análisis es lo más importante: un error detectado en las pruebas es mucho más costoso de corregir que uno detectado temprano.
The analysis stage is mainly about deciding: · La etapa de análisis trata principalmente de decidir:
Analysis gathers requirements (the "what"); design decides the "how". · El análisis reúne los requisitos (el "qué"); el diseño decide el "cómo".
Put the stages of the program development life cycle in order. · Coloque las etapas del ciclo de vida del desarrollo de programas en orden.
What, how, build, check, keep working. In the iterative model the middle stages repeat, but the order inside each pass is the same. · Qué, cómo, construir, verificar, mantener funcionando. En el modelo iterativo las etapas intermedias se repiten, pero el orden dentro de cada pasada es el mismo.
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.
Ejemplo resuelto: qué sucede en el análisis y diseño
- Describa qué sucede durante las etapas de análisis y diseño del ciclo de vida del desarrollo de programas. [4]
- Análisis: los desarrolladores entrevistan y observan a los usuarios para averiguar qué debe hacer el programa; identifican las entradas, las salidas y el procesamiento requerido, y escriben una especificación de requisitos que el cliente aprueba.
- Diseño: los desarrolladores deciden cómo el programa cumplirá esos requisitos: eligen las estructuras de datos y algoritmos, descomponen el programa en módulos en un diagrama estructural, diseñan las pantallas y archivos, y escriben pseudocódigo.
- Dos acciones y un producto para cada etapa. "Analizan el problema" es solo repetir el encabezado y no otorga puntos.
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.
Puntos que se pierden
- El análisis es qué, el diseño es cómo. "Decidir los algoritmos" pertenece al diseño.
- Cascada no es "el malo". Su fortaleza son los requisitos estables y documentados; su debilidad es el cambio. Dé ambas cosas cuando pidan ventajas y desventajas.
- RAD no es solo "rápido". Su característica definitoria es el prototipo y los comentarios de los usuarios sobre él.
- El mantenimiento es una etapa, no una reflexión tardía: la mayor parte del costo de vida de un programa se gasta allí.
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
Lo has entendido
- un ciclo de vida planifica, gestiona y controla un proyecto: fases, hitos, pruebas incluidas, decisiones registradas, riesgos gestionados
- cascada: lineal, cada etapa aprobada, ideal para requisitos estables, mala ante cambios · iterativo: versiones refinadas repetidas, detecta problemas temprano, más difícil de estimar · RAD: prototipo más comentarios de usuarios, rápido y flexible, necesita usuarios disponibles
- elija según la claridad de los requisitos, el cambio esperado, el tamaño y el riesgo, y justifique con el escenario
- las etapas: análisis (qué) → diseño (cómo) → codificación → pruebas → mantenimiento