stringtranslate.com

Ciclo de vida del desarrollo de sistemas.

Modelo del ciclo de vida del 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 conocido como ciclo de vida de desarrollo de aplicaciones , es un proceso para planificar, crear, probar e implementar un sistema de información . [1] El concepto SDLC se aplica a una variedad de configuraciones de hardware y software, ya que un sistema puede estar compuesto solo de hardware, solo de software o una combinación de ambos. [2] Generalmente hay seis etapas en este ciclo: análisis de requisitos, diseño, desarrollo y prueba, implementación, documentación y evaluación.

Descripción general

Un ciclo de vida de desarrollo de sistemas se compone de distintas fases de trabajo que utilizan los ingenieros y desarrolladores de sistemas para entregar sistemas de información . Como todo lo que se fabrica en una línea de ensamblaje, un SDLC tiene como objetivo producir sistemas de alta calidad que cumplan o superen las expectativas, según los requisitos, entregando sistemas dentro de los plazos programados y las estimaciones de costos. [3] Los sistemas informáticos son complejos y a menudo vinculan componentes de distintos orígenes. Se han creado varias metodologías SDLC, como cascada , espiral , ágil , creación rápida de prototipos , incremental y sincronización y estabilización. [4]

Las metodologías SDLC encajan dentro de un espectro de flexibilidad que va desde ágil hasta iterativa y secuencial. Las metodologías ágiles, como XP y Scrum , se centran en procesos ligeros que permiten cambios rápidos. [5] Las metodologías iterativas , como el proceso unificado racional y el método de desarrollo de sistemas dinámicos , se centran en estabilizar el alcance del proyecto y expandir o mejorar iterativamente los productos. Los modelos secuenciales o de gran diseño inicial (BDUF), como los de cascada, se centran en una planificación completa y correcta para guiar proyectos más grandes y limitar los riesgos para obtener resultados exitosos y predecibles. [ cita necesaria ] 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 (PLC) como un SDLC, durante los cuales ocurren 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 la realización de los requisitos del producto ". [6]

SDLC no es una metodología per se, sino más bien una descripción de las fases que debe abordar una metodología. La lista de fases no es definitiva, pero normalmente incluye planificación, análisis, diseño, construcción, prueba, implementación y mantenimiento/soporte. En el marco Scrum, [7] por ejemplo, se podría decir que una única historia de usuario pasa por todas las fases del SDLC en un sprint de dos semanas. Por el contrario, la metodología en cascada, donde cada requisito comercial [ cita necesaria ] se traduce en descripciones de características/funciones que luego se implementan generalmente durante un período de meses o más. [ cita necesaria ]

Historia

Según Elliott (2004), SDLC "se originó en la década de 1960, para desarrollar sistemas comerciales funcionales a gran escala en una era de conglomerados comerciales a gran escala . Las actividades de sistemas de información giraban en torno al procesamiento pesado de datos y rutinas de cálculo numérico ". [8]

El método de diseño y análisis de sistemas estructurados (SSADM) fue elaborado para la Oficina de Comercio Gubernamental del gobierno del Reino Unido 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 reemplazados cada vez más por enfoques y marcos alternativos, que intentaron superar algunas de las deficiencias inherentes del SDLC tradicional". [8]

Modelos

Una versión de diez fases del ciclo de vida del desarrollo de sistemas [9]

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. [9] [10] [11] [12] No todos los proyectos requieren que las fases sean secuenciales. Para proyectos más pequeños y simples, las fases pueden combinarse o superponerse. [9]

Cascada

El más antiguo y conocido es el modelo de cascada , que utiliza una secuencia lineal de pasos. [10] La cascada tiene diferentes variedades. Una variedad es la siguiente: [9] [10] [13] [14]

Analisis preliminar

Realizar un análisis preliminar, considerar soluciones alternativas, estimar costos y beneficios y presentar un plan preliminar con recomendaciones.

  • Realizar análisis preliminares: Identificar los objetivos de la organización y definir la naturaleza y alcance del proyecto. Asegurar que el proyecto se ajuste a los objetivos.
  • Considere soluciones alternativas: las alternativas pueden surgir de entrevistar a empleados, clientes, proveedores y consultores, así como de un análisis competitivo.
  • Análisis costo-beneficio: Analizar los costos y beneficios del proyecto.

Análisis de sistemas, definición de requisitos.

Descomponer los objetivos del proyecto [ se necesita aclaración ] en funciones y operaciones definidas. Esto implica recopilar e interpretar hechos, diagnosticar problemas y recomendar cambios. Analizar las necesidades de información del usuario final y resolver inconsistencias e insuficiencias: [15]

  • Recopile datos: obtenga los requisitos del usuario final mediante la revisión de documentos, entrevistas con clientes, observaciones y cuestionarios.
  • Examinar los sistemas existentes: identificar los pros y los contras.
  • Analizar el sistema propuesto: Encontrar soluciones a problemas y elaborar especificaciones, incorporando las propuestas adecuadas de los usuarios.

Diseño de sistemas

En este paso, se detallan las características y operaciones deseadas, incluidos diseños de pantalla, reglas comerciales , diagramas de procesos , pseudocódigo y otros entregables.

Desarrollo

Escribe el código.

Integración y pruebas

Ensamble los módulos en un entorno de prueba. Verifique errores, fallas e interoperabilidad.

Aceptación, instalación, implementación.

Poner el sistema en producción. Esto puede implicar capacitar a los usuarios, implementar hardware y cargar información del sistema anterior.

Mantenimiento

Supervise el sistema para evaluar su estado actual. Realice cambios modestos y correcciones según sea necesario. Mantener la calidad del sistema.

Evaluación

Se revisa el sistema y el proceso. Las preguntas relevantes incluyen si el sistema recientemente implementado cumple con los requisitos y logra los objetivos del proyecto, si el sistema es utilizable, confiable/disponible, escalado adecuadamente y tolerante a fallas. Las verificaciones de procesos incluyen la revisión de cronogramas y gastos, así como la aceptación del usuario.

Desecho

Al final de su vida útil, se desarrollan planes para descontinuar el sistema y realizar la transición hacia su reemplazo. La información y la infraestructura relacionadas deben reutilizarse, archivarse, descartarse o destruirse, protegiendo al mismo tiempo la seguridad de forma adecuada. [dieciséis]

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

Análisis y diseño de sistemas.

El análisis y diseño de sistemas (SAD) puede considerarse una actividad de metadesarrollo, que sirve para preparar el escenario y delimitar el problema. SAD puede ayudar a equilibrar los requisitos competitivos de alto nivel. SAD interactúa con la arquitectura empresarial distribuida, la arquitectura de TI empresarial y la arquitectura empresarial, y se basa en gran medida en conceptos como partición, interfaces, personas y roles, y modelado operativo/de implementación para llegar a una descripción del sistema de alto nivel. Esta descripción de alto nivel luego se divide en componentes y módulos que pueden analizarse, diseñarse y construirse por separado e integrarse para lograr el objetivo comercial. SDLC y SAD son piedras angulares de la planificación de sistemas y productos del ciclo de vida completo.

Análisis y diseño orientado a objetos.

El análisis y diseño orientado a objetos (OOAD) es el proceso de analizar el dominio de un problema para desarrollar un modelo conceptual que luego puede usarse para guiar el desarrollo. Durante la fase de análisis, un programador desarrolla requisitos escritos y un documento de visión formal a través de entrevistas con las partes interesadas.

El modelo conceptual que resulta de OOAD normalmente consta 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 definir completamente un artefacto de salida para que sirva como entrada de un diseño orientado a objetos; El análisis y el diseño pueden ocurrir 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 OOAD:

Ciclo de vida del sistema

El ciclo de vida del sistema es una visión de un sistema o sistema propuesto que aborda todas las fases de su existencia para incluir la concepción, diseño y desarrollo, producción y/o construcción, distribución, operación, mantenimiento y soporte, retiro, eliminación gradual y eliminación del sistema. . [17]

Diseño conceptual

La etapa de diseño conceptual es la etapa en la que se examina una necesidad identificada, se definen los requisitos para 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 guía general para el diseño del sistema. Debido a que este documento determina todo el desarrollo futuro, la etapa no se puede completar 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 dentro de la etapa de diseño conceptual incluyen:

Diseño preliminar del sistema.

Durante esta etapa del ciclo de vida del sistema, los subsistemas que realizan las funciones deseadas del sistema se diseñan y especifican de conformidad con la especificación del sistema. Se definen las interfaces entre los subsistemas, así como los requisitos generales de prueba y evaluación. [18] Al finalizar esta etapa, se produce una especificación de desarrollo que es suficiente para realizar el diseño y desarrollo detallados.

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

Por ejemplo, como analista de sistemas de Viti Bank, se le ha encomendado la tarea de examinar el sistema de información actual. Viti Bank es un banco de rápido crecimiento en Fiji . Los clientes de zonas rurales remotas tienen dificultades para acceder a los servicios bancarios. Les lleva días o incluso semanas viajar a un lugar para acceder a los servicios bancarios. Con la visión de satisfacer las necesidades de los clientes, el banco ha solicitado sus servicios para examinar el sistema actual y proponer soluciones o recomendaciones sobre cómo se puede proporcionar el sistema actual para satisfacer sus necesidades.

Diseño y desarrollo de detalle.

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 interfaces entre el sistema y su entorno previsto, y una evaluación integral de los requisitos logísticos, de mantenimiento y de soporte del sistema. El diseño y desarrollo de detalle es responsable de producir el producto, el proceso y las especificaciones de materiales y puede resultar en cambios sustanciales en las especificaciones de desarrollo.

Los pasos clave dentro de la etapa de diseño y desarrollo detallado incluyen:

Producción y construcción.

Durante la etapa de producción y/o construcción, el producto se construye o ensambla de acuerdo con los requisitos especificados en las especificaciones del producto, proceso y material, y se implementa y prueba dentro del entorno operativo objetivo. Se realizan evaluaciones del sistema para corregir deficiencias y adaptar el sistema para una mejora continua.

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

Utilización y soporte

Una vez completamente implementado, el sistema se utiliza para su función operativa prevista y se mantiene dentro de su entorno operativo.

Los pasos clave dentro de la etapa de utilización y soporte incluyen:

Eliminación gradual y eliminación

La eficacia y eficiencia del sistema deben evaluarse continuamente para determinar cuándo el producto ha alcanzado su ciclo de vida efectivo máximo. [19] Las consideraciones incluyen: existencia continua de necesidad operativa, correspondencia entre los requisitos operativos y el rendimiento del sistema, la viabilidad de la eliminación gradual del sistema frente al mantenimiento y la disponibilidad de sistemas alternativos.

Etapas

Investigación del sistema

Durante este paso, se consideran las prioridades actuales que se verían afectadas y cómo deberían manejarse. Un estudio de viabilidad determina si es apropiado crear un sistema nuevo o mejorado. Esto ayuda a estimar costos, beneficios, requisitos de recursos y necesidades específicas de los usuarios.

El estudio de viabilidad debe abordar cuestiones operativas , financieras , técnicas , humanas 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 partes, analizar los objetivos del proyecto, desglosar lo que se debe crear e involucrar a los usuarios para definir los requisitos.

Diseño

En el diseño de sistemas , las funciones y operaciones se describen en detalle, incluidos diseños de pantalla, reglas comerciales, diagramas de procesos y otra documentación. El diseño modular reduce la complejidad y permite que las salidas describan 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 comerciales, diagramas de procesos, 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 desarrollar y entregar el sistema con una mínima aportación adicional.

Pruebas

El código se prueba en varios niveles en las pruebas de software . Por lo general, se realizan pruebas de aceptación de unidades, sistemas y usuarios. Se han adoptado muchos enfoques para las pruebas.

Los siguientes tipos de pruebas pueden ser relevantes:

Formación y transición

Una vez que un sistema se ha estabilizado mediante pruebas, SDLC garantiza que se prepare y realice la capacitación adecuada antes de realizar la transición del sistema para brindar soporte al personal y a los usuarios finales. La capacitación generalmente cubre la capacitación operativa para el personal de soporte, así como la capacitación del usuario final.

Después de la capacitación, los ingenieros y desarrolladores de sistemas 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 es medir la efectividad del sistema y evaluar posibles mejoras.

Ciclo vital

Gestión y control

Fases del SDLC relacionadas con los controles de gestión [20]

Los objetivos de la fase SDLC se describen en esta sección con 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 mientras ejecuta los proyectos. Los objetivos de control son declaraciones claras del resultado o propósito deseado y deben definirse y monitorearse a lo largo de todo el proyecto. Los objetivos de control se pueden agrupar en categorías principales (dominios) y relacionarse con las fases del SDLC como se muestra en la figura. [20]

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

El diagrama muestra que la cobertura abarca numerosas fases del SDLC, pero el MCD asociado [ se necesita aclaración ] muestra asignaciones a las fases del SDLC. Por ejemplo, el análisis y el diseño se realizan principalmente como parte del dominio de adquisición e implementación, y la creación y el prototipo del sistema se realizan principalmente como parte de la entrega y el soporte. [20]

Organización estructurada del desglose del trabajo.

Estructura de desglose del trabajo [20]

La sección superior de la WBS proporciona una descripción general del alcance y el cronograma 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 WBS consisten en hitos y tareas a completar en lugar de actividades a realizar y tener una fecha límite. Cada tarea tiene un resultado medible (por ejemplo, documento de análisis). Una tarea de la EDT puede depender de una o más actividades (por ejemplo, codificación). Las partes del proyecto que necesitan apoyo de los contratistas deben tener una declaración de trabajo (SOW). El desarrollo de una SOW no ocurre durante una fase específica del SDLC, sino que se desarrolla para incluir el trabajo del proceso SDLC que pueden realizar los contratistas. [20]

Líneas de base

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

Metodologías alternativas

Los métodos de desarrollo de software alternativos al ciclo de vida del desarrollo de sistemas son:

Fortalezas y debilidades

Fundamentalmente, SDLC intercambia flexibilidad por control mediante la imposición de una estructura. Se utiliza más comúnmente para proyectos a gran escala con muchos desarrolladores.

Ver también

Referencias

  1. ^ SELECCIONAR UN ENFOQUE DE DESARROLLO. Consultado el 17 de julio de 2014.
  2. ^ Parag C. Pendharkara; James A. Rodgerb; Girish H. Subramanian (noviembre de 2008). "Un estudio empírico de las propiedades de la función de producción Cobb-Douglas del esfuerzo de desarrollo de software". Tecnología de la información y software . 50 (12): 1181-1188. doi :10.1016/j.infsof.2007.10.019.
  3. ^ "Ciclo de vida del desarrollo de sistemas desde". FOLDOC . Consultado el 14 de junio de 2013 .
  4. ^ "Ciclo de vida del desarrollo de software (SDLC)".
  5. ^ "Descripción general de SDLC: modelos y metodologías" . Consultado el 12 de diciembre de 2021 .
  6. ^ Taylor, James (2004). Gestión de Proyectos de Tecnologías de la Información . pag. 39.
  7. ^ "¿Qué es Scrum?". 24 de diciembre de 2019.
  8. ^ ab Geoffrey Elliott (2004) Tecnología de la información empresarial global . pág.87.
  9. ^ abcd Departamento de Justicia de Estados Unidos (2003). GESTIÓN DE RECURSOS DE INFORMACIÓN Capítulo 1. Introducción.
  10. ^ abc Everatt, GD; McLeod, R Jr (2007). "Capítulo 2: El ciclo de vida del desarrollo de software". Pruebas de software: pruebas durante todo el ciclo de vida del desarrollo de software . John Wiley e hijos. págs. 29–58. ISBN 9780470146347.
  11. ^ Unhelkar, B. (2016). El arte de la práctica ágil: un enfoque compuesto para proyectos y organizaciones. Prensa CRC. págs. 56–59. ISBN 9781439851197.
  12. ^ Tierra, SK ; Smith, DB; Walz, JW (2012). Soporte práctico para la definición de procesos de software Lean Six Sigma: uso de los estándares de ingeniería de software IEEE. John Wiley e hijos. págs. 341–3. ISBN 9780470289952.
  13. ^ Kay, Russell (14 de mayo de 2002). "QuickStudy: ciclo de vida del desarrollo del sistema". Mundo de la informática .
  14. ^ Taylor, GD (2008). Introducción a la Ingeniería Logística. Prensa CRC. págs. 12,6–12,18. ISBN 9781420088571.
  15. ^ "Capítulo 5". Control y Auditoría de Sistemas de Información (PDF) . Instituto de Contadores Públicos de la India. Agosto de 2013. p. 5.28.
  16. ^ Radack, S. (sin fecha). "El ciclo de vida del desarrollo del sistema (SDLC)" (PDF) . Instituto Nacional de Estándares y Tecnología.
  17. ^ Blanchard y Fabrycky (2006). Ingeniería y análisis de sistemas, cuarta edición . Prentice Hall. pag. 19.
  18. ^ Dr. Joahn Gouws (2007). Introducción a la Ingeniería, Ingeniería de Sistemas . Melikon Pty Ltd.
  19. ^ Cunningham, James. "Mantenimiento HERC". Fargo . XXI (Avenida Norte): 49. Archivado desde el original el 21 de enero de 2013 . Consultado el 13 de mayo de 2009 .
  20. ^ abcde Cámara de Representantes de Estados Unidos (1999). Política del ciclo de vida del desarrollo de sistemas. pág.13. Archivado el 19 de octubre de 2013 en Wayback Machine.
  21. ^ Blanchard, BS y Fabrycky, WJ (2006) Ingeniería y análisis de sistemas (4ª ed.) Nueva Jersey: Prentice Hall. p.31
  22. ^ ab Post, G. y Anderson, D., (2006). Sistemas de información de gestión: resolución de problemas empresariales con tecnología de la información . (4ª ed.). Nueva York: McGraw-Hill Irwin.

Otras lecturas

enlaces externos