¿Cuáles son las distintas fases del ciclo de vida del desarrollo de sistemas?
Ciclo de vida del desarrollo de sistemas

Artículo
Charla
Lee
Edita
Ver historial

Herramientas
De Wikipedia, la enciclopedia libre
Este artículo trata sobre el ciclo de vida de desarrollo de sistemas. Para el protocolo de comunicación informática de IBM, véase Control síncrono de enlace de datos.

Modelo del ciclo de vida de desarrollo de software, destacando la fase de mantenimiento
En ingeniería de sistemas, sistemas de información e ingeniería de software, el ciclo de vida de desarrollo de sistemas (SDLC), también denominado ciclo de vida de desarrollo de aplicaciones, es un proceso para planificar, crear, probar e implantar un sistema de información. El concepto de SDLC se aplica a diversas configuraciones de hardware y software, ya que un sistema puede estar compuesto sólo por hardware, sólo por software o por una combinación de ambos. Este ciclo suele constar de seis fases: análisis de requisitos, diseño, desarrollo y pruebas, implantación, documentación y evaluación.

Resumen
Un ciclo de vida de desarrollo de sistemas se compone de distintas fases de trabajo que utilizan los ingenieros de sistemas y los desarrolladores de sistemas para entregar sistemas de información. Como todo lo que se fabrica en una cadena de montaje, un SDLC tiene como objetivo producir sistemas de alta calidad que cumplan o superen las expectativas, en función de los requisitos, mediante la entrega de sistemas dentro de los plazos programados y las estimaciones de costes. Los sistemas informáticos son complejos y a menudo enlazan componentes con orígenes diversos. Se han creado varias metodologías de SDLC, como la cascada, la espiral, la ágil, la de prototipado rápido, la incremental y la de sincronizar y estabilizar.

Las metodologías de SDLC encajan en un espectro de flexibilidad que va de lo ágil a lo iterativo, pasando por lo secuencial. Las metodologías ágiles, como XP y Scrum, se centran en procesos ligeros que permiten cambios rápidos. Las metodologías iterativas, como Rational Unified Process y el método de desarrollo de sistemas dinámicos, se centran en estabilizar el alcance del proyecto y ampliar o mejorar los productos de forma iterativa. Los modelos secuenciales o de gran diseño por adelantado (BDUF), como la cascada, se centran en una planificación completa y correcta para guiar proyectos de mayor envergadura y limitar los riesgos para obtener resultados satisfactorios y predecibles[cita requerida] El desarrollo anamórfico se guía por el alcance del proyecto y las iteraciones adaptativas.

En la gestión de proyectos, un proyecto puede incluir tanto un ciclo de vida del proyecto (CLP) como un SDLC, durante los cuales se producen actividades algo diferentes. Según Taylor (2004), "el ciclo de vida del proyecto abarca todas las actividades del proyecto, mientras que el ciclo de vida del desarrollo de sistemas se centra en hacer realidad los requisitos del producto".

El SDLC no es una metodología en sí, sino una descripción de las fases que debe abordar una metodología. La lista de fases no es definitiva, pero suele incluir planificación, análisis, diseño, construcción, prueba, implementación y mantenimiento/soporte. En el marco de Scrum, por ejemplo, se podría decir que una sola historia de usuario pasa por todas las fases del SDLC en un sprint de dos semanas. Por el contrario, la metodología en cascada, en la que cada requisito empresarial[cita requerida] se traduce en descripciones de características/funcionales que luego se implementan todas, normalmente a lo largo de un periodo de meses o más[cita requerida].

Historia
Según Elliott & Strachan & Radford (2004), el SDLC "se originó en la década de 1960, para desarrollar sistemas empresariales funcionales a gran escala en una época de conglomerados empresariales a gran escala. Las actividades de los sistemas de información giraban en torno a pesadas rutinas de procesamiento de datos y cálculo de números".

El método de análisis y diseño de sistemas estructurados (SSADM) se elaboró para la Oficina de Comercio Gubernamental del gobierno británico en la década de 1980. Desde entonces, según Elliott (2004), "los enfoques tradicionales del ciclo de vida para el desarrollo de sistemas han sido sustituidos cada vez más por enfoques y marcos alternativos, que intentaban superar algunas de las deficiencias inherentes al SDLC tradicional".

Modelos

Una versión de diez fases del ciclo de vida de desarrollo de sistemas
El SDLC proporciona un conjunto de fases/pasos/actividades que deben seguir los diseñadores y desarrolladores de sistemas. Cada fase se basa en los resultados de la anterior No todos los proyectos requieren que las fases sean secuenciales. En proyectos más pequeños y sencillos, las fases pueden combinarse/solaparse.

Cascada
El más antiguo y conocido es el modelo en cascada, que utiliza una secuencia lineal de pasos. La cascada tiene distintas variedades. Una variedad es la siguiente:

Análisis preliminar
Realiza un análisis preliminar, considera soluciones alternativas, calcula costes y beneficios, y presenta un plan preliminar con recomendaciones.

Realiza un análisis preliminar: Identificar los objetivos de la organización y definir la naturaleza y el alcance del proyecto. Asegúrate de que el proyecto se ajusta a los objetivos.
Considera soluciones alternativas: Las alternativas pueden provenir de entrevistas a empleados, clientes, proveedores y consultores, así como del análisis de la competencia.
Análisis coste-beneficio: Analiza los costes y beneficios del proyecto.
Análisis de sistemas, definición de requisitos
Descomponer los objetivos del proyecto[aclaración necesaria] en funciones y operaciones definidas. Esto implica recopilar e interpretar hechos, diagnosticar problemas y recomendar cambios. Analiza las necesidades de información del usuario final y resuelve las incoherencias y lo incompleto:

Recopilar hechos: Obtener los requisitos del usuario final mediante revisión de documentos, entrevistas con el cliente, observación y cuestionarios.
Examinar el sistema o sistemas existentes: Identifica los pros y los contras.
Analizar el sistema propuesto: Encuentra soluciones a los problemas y prepara especificaciones, incorporando las propuestas adecuadas de los usuarios.
Diseño del sistema
En este paso, se detallan las características y operaciones deseadas, incluyendo diseños de pantalla, reglas empresariales, diagramas de procesos, pseudocódigo y otros entregables.

Desarrollo
Escribir el código.

Integración y pruebas
Ensambla los módulos en un entorno de pruebas. Comprueba si hay errores, fallos e interoperabilidad.

Aceptación, instalación, despliegue
Pon el sistema en producción. Esto puede implicar formar a los usuarios, desplegar el hardware y cargar la información del sistema anterior.

Mantenimiento
Supervisa el sistema para evaluar su idoneidad continua. Realiza pequeños cambios y correcciones según sea necesario.

Evaluación
Se revisan el sistema y el proceso. Las preguntas relevantes incluyen si el sistema recién implantado cumple los requisitos y alcanza los objetivos del proyecto, si el sistema es utilizable, fiable/disponible, si está bien escalado y si es tolerante a fallos. Las comprobaciones del proceso incluyen la revisión de los plazos y los gastos, así como la aceptación del usuario.

Eliminación
Al final de la vida útil, se desarrollan planes para interrumpir el sistema y pasar a su sustitución. La información y la infraestructura relacionadas deben reutilizarse, archivarse, desecharse o destruirse, protegiendo adecuadamente la seguridad.

En el siguiente diagrama, estas etapas del se dividen en diez pasos, desde la definición hasta la creación y modificación de los productos de trabajo informáticos:

Análisis y diseño de sistemas
El análisis y diseño de sistemas (SAD) puede considerarse una actividad de meta-desarrollo, que sirve para establecer el escenario y delimitar el problema. El DAS puede ayudar a equilibrar requisitos de alto nivel que compiten entre sí. El SAD interactúa con la arquitectura empresarial distribuida, la arquitectura informática empresarial y la arquitectura empresarial, y se basa en gran medida en conceptos como la partición, las interfaces, las personas y los roles, y el modelado de despliegue/operativo para llegar a una descripción de alto nivel del sistema. A continuación, esta descripción de alto nivel se desglosa en los componentes y módulos que pueden analizarse, diseñarse y construirse por separado e integrarse para lograr el objetivo empresarial. El SDLC y el SAD son piedras angulares de la planificación de productos y sistemas del ciclo de vida completo.

Análisis y diseño orientados a objetos
El análisis y diseño orientados a objetos (OOAD) es el proceso de analizar un dominio de problemas para desarrollar un modelo conceptual que pueda utilizarse para guiar el desarrollo. Durante la fase de análisis, un programador desarrolla requisitos escritos y un documento de visión formal mediante entrevistas con las partes interesadas.

El modelo conceptual resultante de OOAD suele constar de casos de uso y diagramas de clases e interacción. También puede incluir una maqueta de la interfaz de usuario.

No es necesario que un artefacto de salida esté completamente definido para servir como entrada del diseño orientado a objetos; el análisis y el diseño pueden producirse en paralelo. En la práctica, los resultados de una actividad pueden alimentar a la otra en un proceso iterativo.

Algunos artefactos de entrada típicos para el OOAD:

Modelo conceptual: Un modelo conceptual es el resultado del análisis orientado a objetos. Captura los conceptos del dominio del problema. El modelo conceptual es explícitamente independiente de los detalles de implementación.
Casos de uso: Un caso de uso es una descripción de secuencias de acontecimientos que, en conjunto, completan una tarea requerida. Cada caso de uso proporciona escenarios que transmiten cómo debe interactuar el sistema con los actores (usuarios). Los actores pueden ser usuarios finales u otros sistemas. Los casos de uso pueden seguir elaborándose mediante diagramas. Estos diagramas identifican al actor y los procesos que realiza.
Diagrama de Secuencia del Sistema: Un diagrama de secuencia del sistema (SSD) es una imagen que muestra, para un caso de uso concreto, los eventos que generan los actores, su orden, incluidos los eventos entre sistemas.
Documento de interfaz de usuario: Documento que muestra y describe la interfaz de usuario.
Modelo de datos: Un modelo de datos describe cómo se relacionan entre sí los elementos de datos. El modelo de datos se crea antes de la fase de diseño. Los diseños orientados a objetos se mapean directamente a partir del modelo de datos. Los diseños relacionales son más complejos.
Ciclo de vida del sistema
El ciclo de vida del sistema es una visión de un sistema o de un sistema propuesto que aborda todas las fases de su existencia para incluir la concepción, el diseño y el desarrollo del sistema, la producción y/o construcción, la distribución, el funcionamiento, el mantenimiento y el soporte, la retirada, la eliminación y el desecho.

Diseño conceptual
La fase de diseño conceptual es aquella en la que se examina una necesidad identificada, se definen los requisitos de las posibles soluciones, se evalúan las posibles soluciones y se desarrolla una especificación del sistema. La especificación del sistema representa los requisitos técnicos que proporcionarán una orientación general para el diseño del sistema. Dado que este documento determina todo el desarrollo futuro, la etapa no puede completarse hasta que una revisión del diseño conceptual haya determinado que la especificación del sistema aborda adecuadamente la necesidad motivadora.

Los pasos clave de la etapa de diseño conceptual incluyen

Identificación de la necesidad
Análisis de viabilidad
Análisis de los requisitos del sistema
Especificación del sistema
Revisión del diseño conceptual
Diseño preliminar del sistema
Durante esta etapa del ciclo de vida del sistema, se diseñan y especifican los subsistemas que realizan las funciones deseadas del sistema de acuerdo con la especificación del sistema. Se definen las interfaces entre subsistemas, así como los requisitos generales de prueba y evaluación Al finalizar esta etapa, se elabora una especificación de desarrollo suficiente para realizar el diseño y desarrollo detallados.

Los pasos clave de la etapa de diseño preliminar incluyen

Análisis funcional
Asignación de requisitos
Estudios detallados de compensación
Síntesis de las opciones del sistema
Diseño preliminar de modelos de ingeniería
Especificación del desarrollo
Revisión preliminar del diseño
Por ejemplo, como analista de sistemas del Banco Viti, te han encargado que examines el sistema de información actual. El Viti Bank es un banco de rápido crecimiento en Fiyi. Los clientes de zonas rurales remotas tienen dificultades para acceder a los servicios del banco. Tardan días o incluso semanas en desplazarse a un lugar para acceder a los servicios bancarios. Con la visión de satisfacer las necesidades de los clientes, el banco ha solicitado tus servicios para que examines el sistema actual y propongas soluciones o recomendaciones sobre cómo puede proporcionarse el sistema actual para satisfacer sus necesidades.

Diseño detallado y desarrollo
Esta etapa incluye el desarrollo de diseños detallados que llevan el trabajo de diseño inicial a una forma completa de especificaciones. Este trabajo incluye la especificación de las interfaces entre el sistema y su entorno previsto, y una evaluación exhaustiva de los requisitos logísticos, de mantenimiento y de apoyo del sistema. El diseño detallado y el desarrollo se encargan de elaborar las especificaciones del producto, el proceso y el material, y pueden dar lugar a cambios sustanciales en la especificación de desarrollo.

Entre los pasos clave de la fase de diseño detallado y desarrollo se incluyen:

Diseño detallado
Síntesis detallada
Desarrollo de modelos de ingeniería y prototipos
Revisión de la especificación de desarrollo
Especificación de productos, procesos y materiales
Revisión crítica del diseño
Producción y construcción
Durante la fase de producción y/o construcción, el producto se construye o ensambla de acuerdo con los requisitos especificados en las especificaciones del producto, el proceso y el material, y se despliega y prueba en el entorno operativo objetivo. Se realizan evaluaciones del sistema para corregir las deficiencias y adaptarlo para su mejora continua.

Los pasos clave de la etapa de construcción del producto incluyen

Producción y/o construcción de los componentes del sistema
Pruebas de aceptación
Distribución y funcionamiento del sistema
Pruebas de funcionamiento y evaluación
Evaluación del sistema
Utilización y apoyo
Una vez totalmente desplegado, el sistema se utiliza para su función operativa prevista y se mantiene en su entorno operativo.

Entre los pasos clave de la fase de utilización y apoyo se incluyen:

Funcionamiento del sistema en el entorno del usuario
Gestión de cambios
Modificaciones del sistema para mejorarlo
Evaluación del sistema
Retirada y eliminación
La eficacia y la eficiencia del sistema deben evaluarse continuamente para determinar cuándo el producto ha cumplido su ciclo de vida efectivo máximo. Las consideraciones incluyen: La existencia continuada de la necesidad operativa, la adecuación entre los requisitos operativos y el rendimiento del sistema, la viabilidad de la eliminación progresiva del sistema frente a su mantenimiento, y la disponibilidad de sistemas alternativos.

Fases

Esta sección incluye una lista de referencias, lecturas relacionadas o enlaces externos, pero sus fuentes no están claras porque carece de citas en línea. Por favor, ayuda a mejorar esta sección introduciendo citas más precisas. (Enero de 2023) (Aprende cómo y cuándo eliminar este mensaje de plantilla)
Investigación del sistema
Durante este paso, se consideran las prioridades actuales que se verían afectadas y cómo deberían gestionarse. Un estudio de viabilidad determina si es adecuado crear un sistema nuevo o mejorado. Esto ayuda a estimar los costes, los beneficios, los recursos necesarios y las necesidades específicas de los usuarios.

El estudio de viabilidad debe abordar cuestiones operativas, financieras, técnicas, de factores humanos y jurídicas/políticas.

Análisis
El objetivo del análisis es determinar dónde está el problema. Este paso implica descomponer el sistema en piezas, analizar los objetivos del proyecto, desglosar lo que hay que crear e implicar a los usuarios para definir los requisitos.

Diseño
En el diseño de sistemas, las funciones y operaciones se describen detalladamente, incluyendo diseños de pantalla, reglas empresariales, diagramas de procesos y otra documentación. El diseño modular reduce la complejidad y permite describir el sistema como una colección de subsistemas.

La etapa de diseño toma como entrada los requisitos ya definidos. Para cada requisito, se produce un conjunto de elementos de diseño.

Los documentos de diseño suelen incluir diagramas de jerarquía funcional, diseños de pantalla, reglas de negocio, diagramas de proceso, pseudocódigo y un modelo de datos completo con un diccionario de datos. Estos elementos describen el sistema con suficiente detalle como para que los desarrolladores e ingenieros puedan desarrollarlo y entregarlo con una mínima aportación adicional.

Prueba
El código se prueba a varios niveles en las pruebas de software. Normalmente se realizan pruebas unitarias, de sistema y de aceptación del usuario. Se han adoptado muchos enfoques para las pruebas.

Los siguientes tipos de pruebas pueden ser relevantes:

Pruebas de trayectoria
Pruebas de conjuntos de datos
Pruebas unitarias
Pruebas del sistema
Pruebas de integración
Pruebas de caja negra
Pruebas de caja blanca
Pruebas de regresión
Pruebas de automatización
Pruebas de aceptación del usuario
Pruebas de rendimiento del software
Formación y transición
Una vez que el sistema se ha estabilizado mediante las pruebas, el SDLC se asegura de que se prepara y realiza la formación adecuada antes de pasar el sistema al personal de soporte y a los usuarios finales. La formación suele abarcar la formación operativa para el personal de apoyo, así como la formación del usuario final.

Tras la formación, los ingenieros de sistemas y los desarrolladores realizan la transición del sistema a su entorno de producción.

Operaciones y mantenimiento
El mantenimiento incluye cambios, correcciones y mejoras.

Evaluación
La fase final del SDLC consiste en medir la eficacia del sistema y evaluar posibles mejoras.

Ciclo de vida
Gestión y control

Fases del SDLC relacionadas con los controles de gestión
Los objetivos de las fases del SDLC se describen en esta sección con los entregables clave, una descripción de las tareas recomendadas y un resumen de los objetivos de control relacionados para una gestión eficaz. Es fundamental que el director del proyecto establezca y supervise los objetivos de control durante la ejecución de los proyectos. Los objetivos de control son declaraciones claras del resultado o propósito deseado y deben definirse y supervisarse a lo largo de todo el proyecto. Los objetivos de control pueden agruparse en categorías principales (dominios) y relacionarse con las fases del SDLC, como se muestra en la figura.

Para gestionar y controlar una iniciativa sustancial de SDLC, una estructura de desglose del trabajo (EDT) captura y programa el trabajo. La EDT y todo el material programático deben guardarse en la sección "descripción del proyecto" del cuaderno del proyecto[aclaración necesaria] El director del proyecto elige el formato de EDT que mejor describa el proyecto.

El diagrama muestra que la cobertura abarca numerosas fases del SDLC, pero el MCD asociado[aclaración necesaria] muestra las correspondencias con las fases del SDLC. Por ejemplo, el Análisis y Diseño se realiza principalmente como parte del Dominio de Adquisición e Implementación, y la Construcción y Prototipo del Sistema se realiza principalmente como parte de la entrega y el soporte.

Organización estructurada del desglose del trabajo

Estructura de desglose del trabajo
La sección superior de la EDT proporciona una visión general del alcance y el calendario del proyecto. También debe resumir las principales fases e hitos. La sección intermedia se basa en las fases del SDLC. Los elementos de la EDT consisten en hitos y tareas que hay que completar, en lugar de actividades que hay que realizar y que tienen una fecha límite. Cada tarea tiene un resultado medible (por ejemplo, un documento de análisis). Una tarea de la EDT puede depender de una o varias actividades (por ejemplo, la codificación). Las partes del proyecto que necesiten el apoyo de contratistas deben tener una declaración de trabajo (SOW). El desarrollo de un SOW no se produce durante una fase específica del SDLC, sino que se desarrolla para incluir el trabajo del proceso SDLC que pueden realizar los contratistas.

Líneas de base
Las líneas de base[aclaración necesaria] se establecen después de cuatro de las cinco fases del SDLC, y son fundamentales para la naturaleza iterativa del modelo Las líneas de base se convierten en hitos.

línea de base funcional: establecida tras la fase de diseño conceptual.
línea de base asignada: establecida tras la fase de diseño preliminar.
línea de base del producto: establecida tras la fase de diseño detallado y desarrollo.
línea de base del producto actualizada: establecida tras la fase de construcción de la producción.
Hay 7 fases en el ciclo de vida del desarrollo de sistemas. Son investigación del sistema, Análisis, Diseño, Pruebas, Formación y transición, Operaciones y mantenimiento y Evaluación.