Modelos de proceso de ciclo de vida

Page 1

MODELOS DE PROCESO DE CICLO DE VIDA "Una vida inútil es una muerte prematura” Goethe

1.-CONCEPTO DE CICLO DE VIDA Uno de los problemas más importantes en cualquier departamento de sistemas de información es definir un marco de referencia común que pueda ser empleado por (todas las personas que participan en el desarrollo de los sistemas, y en el que se definan los procesos, las actividades y las tareas a desarrollar. A lo largo de la historia se han propuesto diferentes paradigmas o ciclos de vida para el software: desde el ciclo en cascada, pasando por el modelo en espiral de Boehm, hasta los más recientes ciclos de vida orientados al objeto, como el ciclo de vida fuente (Piatlini etfl/.2003).

Las organizaciones profesionales y los organismos internacionales se han venido ocupando del ciclo de vida del software, tanto IEEE como ISO/1EC han publicado normas tituladas, respectivamente, "IEEE Standard for Developing Software Life Cycle Processes" (Estándar IEEE para el Desarrollo de Procesos del Ciclo de Vida del Software) (IEEE, 1995, 1998c), c "Information technology - Software life-cycle processes" (Proceso del ciclo de vida software) (TSO, 1995a; ISO, 2002a, 2004c). La norma ISO 12207 entiende por modelo de ciclo de vida "un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotación y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definición de los requisitos hasta la finalización de su uso". Por otro lado, la norma ISO 15288 (ISO, 2003) define cielo de vida de los sistemas como la evolución en el tiempo de un sistema de interés desde su concepción hasta su retirada" destacando que un modelo de ciclo de vida es "//// marco de procesos y actividades relativas al ciclo de vida que actúa también como una referencia común para la comunicación y el entendimiento". El ciclo de vida abarca, por tanto, tocia la vida del sistema, comenzando con su concepción y finalizando cuando ya no se utiliza. A veces también se habla de "ciclo de desarrollo", que es un subconjunto del anterior y que empieza en el análisis y finaliza con la entrega del sistema al usuario. VARGAS HERNANDEZ WITNE NAYELI Página 1


A continuación se resumen los principales estándares relacionados con los ciclos de vida propuestos por las normas ISO 12207 y 15288.

2. PROCESOS DEL CICLO DE VIDA SOFTWARE En la norma ISO 12207, las actividades que se pueden realizar durante el ciclo de vida del software se agrupan en procesos principales, procesos de soporte y procesos generales (de la organización), véase figura 7.1, así como un proceso que permite adaptar el ciclo de vida a cada caso concreto. Hay que destacar que la norma no fomenta o especifica ningún modelo concreto de ciclo de vida, gestión del software o método de ingeniería, ni prescribe cómo realizar ninguna de las actividades.

2.1. PROCESOS PRINCIPALES  Los procesos principales son aquellos que son útiles a las personas que inician o realizan el desarrollo, la explotación o el mantenimiento del software durante su ciclo de vida. Los procesos principales son:  Proceso de adquisición. El propósito de este proceso es obtener el producto o servicio que satisface la necesidad expresada por el cliente. Este proceso consta de cuatro subprocesos: preparación de la adquisición, selección de proveedor, supervisión del proveedor y aceptación del cliente.  Proceso de suministro. Este proceso proporciona un producto o servicio al cliente que satisface los requisitos acordados.  Proceso de desarrollo. El propósito de este proceso es transformar un conjunto de requisitos en un producto o sistema basado en software que satisface las necesidades planteadas por el cliente.

VARGAS HERNANDEZ WITNE NAYELI Página 2


Debido al interés que tiene este proceso, se resumen a continuación sus principales subprocesos:

 E licitación de requisitos, cuyo objetivo es recopilar, procesar y seguir la traza de Lis necesidades y requisitos del cliente a lo largo del ciclo de vida del producto o servicio, así como establecer una línea de configuración (baseline) que sirva como base para definir los productos de trabajo necesarios.  Análisis de requisitos del sistema, cuyo objetivo es transformar los requisitos definidos por los participantes o implicados (stakeholders) en un conjunto de requisitos técnicos del sistema deseado que guiarán el diseño del sistema.  Diseño arquitectónico del sistema, cuyo objetivo es identificar qué requisitos del sistema que deben ser ubicados en los elementos del mismo.  Análisis de los requisitos del software, cuyo objetivo es establecer los requisitos de los elementos de software del sistema.  Diseño del software, cuyo objetivo es proporcionar un diseño para el software que implemente los requisitos y pueda ser verificado respecto a los mismos.

VARGAS HERNANDEZ WITNE NAYELI Página 3


 Construcción del software, cuyo objetivo es producir unidades de software ejecutable que reflejen apropiadamente el diseño del software.  Integración del software, cuyo objetivo es combinar las unidades de software produciendo elementos de software integrados, consistentes con el diseño software, que demuestra que se satisfacen los requisitos funcionales y no funcionales sobre una plataforma equivalente o completa.  Prueba del software, cuyo objetivo es confirmar que el producto software integrado satisface los requisitos definidos.  Integración del sistema, cuyo objetivo es integrar los elementos del sistema (incluyendo elementos software, elementos hardware, operaciones manuales, y otros sistemas) para producir un sistema completo que satisfaga el diseño del sistema y las expectativas de los clientes expresadas en los requisitos del sistema.  Prueba del sistema, cuyo objetivo es asegurar que la implementación de todos los requisitos del sistema se prueba para la conformidad y que el sistema está listo para entregar.  Instalación del software, cuyo objetivo es instalar el producto software que satisface los requisitos acordados en el entorno objetivo.  Proceso de operación. Este proceso incluye la operación del producto software en su enlomo final y proporcionar soporte a los clientes del mismo. Consta de dos subprocesos: uso operacional y soporte al cliente.  Proceso de mantenimiento. Este proceso incluye |a modificación de un sistema o producto software después de la entrega para corregir los fallos, mejorar el rendimiento u otros atributos, o adaptarlo a un entorno modificado. Esta modificación o la retirada de los productos existentes debe hacerse preservando la integridad de las operaciones organizacionales. 2.2. PROCESOS DE SOPORTE  Estos procesos sirven de apoyo al resto y se aplican en cualquier punto del ciclo de vida. Los procesos de soporte son los siguientes:  Proceso de documentación. Este proceso sirve para desarrollar y mantener la información software registrada producida por un proceso.  Proceso de gestión de la configuración. Este proceso sirve para establecer y mantener la integridad de todos los productos de trabajo de un proceso o proyecto y hacerlos disponibles para las partes involucradas.  Proceso de aseguramiento de la calidad. Este proceso asegura que los productos de trabajo y los procesos cumplen las previsiones y planes predefinidos. En la tabla 7.1 se reflejan los resultados de este proceso según el estándar ISO 12207. VARGAS HERNANDEZ WITNE NAYELI Página 4


 Proceso de verificación. Este proceso sirve para confirmar que todos los productos de trabajo y/o servicios software de un proceso o proyecto reflejan de forma apropiada los requisitos especificados.  Proceso de validación. Este proceso sirve para confirmar que se cumplen los requisitos para el uso pretendido del producto de trabajo software.  Proceso de revisión conjunta. Este proceso sirve para mantener un entendimiento común entre las diferentes partes involucradas sobre el progreso respecto de los objetivos del acuerdo y lo que debe hacerse para ayudar a asegurar el desarrollo de un producto que satisface a las partes involucradas. Estas revisiones conjuntas se dan a lo largo de toda la vida del proyecto tanto a nivel de gestión del proyecto como a nivel técnico.  Proceso de auditoría. Este proceso permite determinar, de forma independiente, la conformidad de los productos y procesos seleccionados con los requisitos, planes y acuerdos.  Proceso de gestión de la resolución de problemas. Este proceso permite asegurar que todos los problemas descubiertos se identifican, analizan, gestionan y controlan hasta su resolución.  Proceso de usabilidad. Este proceso permite asegurar que se consideran los intereses y necesidades de las parles involucradas con el fin de permitir la optimización del soporte y de la formación, la mejora de la productividad y calidad del trabajo, la mejora de las condiciones de trabajo de las personas y la reducción de la probabilidad de rechazo del sistema por parte del usuario.  Proceso de evaluación de productos. Este proceso permite asegurar, mediante el examen y la medición sistemáticos, que un producto satisface las necesidades implícitas y explícitas de los usuarios de ese producto.  Proceso de gestión de las peticiones de cambio. El propósito de este proceso es asegurar que las peticiones de cambio son gestionadas, sometidas a seguimiento y controladas.

VARGAS HERNANDEZ WITNE NAYELI Página 5


2.3. PROCESOS ORGANIZACIONALES  Se emplean para establecer, implementar y mejorar la organización consiguiendo ser más efectiva. Se llevan a cabo normalmente a nivel organizativo, fuera del ámbito de proyectos y contratos específicos.  Proceso de gestión. Este proceso persigue organizar, monitorizar, y controlar el inicio y el desempeño de cualquier proceso para conseguir sus objetivos de negocio de la organización. Este proceso sirve para asegurar la aplicación consistente de prácticas para la organización y los proyectos. Estas prácticas son inherentes a la gestión de una organización pero deben concebirse para ser instanciadas para cada uno de los proyectos. Debido al interés que tiene este proceso para la gestión de la calidad, se resumen a Continuación sus principales subprocesos:  Alineamiento organizacional, cuyo objetivo es asegurar que los procesos software necesarios para la organización para proporcionar productos y servicios software, sean consistentes con los objetivos de negocio.  Gestión organizacional, cuyo objetivo es establecer y llevar a cabo las prácticas de gestión del software que sean consistentes con los objetivos de negocio de la organización, durante la realización de los procesos necesarios para proporcionar productos y servicios software.  Gestión de proyectos, cuyo objetivo es identificar, establecer, coordinar y monitorizar las actividades, tareas y recursos necesarios para que un proyecto produzca un producto y/o servicio en el contexto de los requisitos y restricciones del proyecto.  Gestión de calidad, cuyo objetivo es conseguir la satisfacción de los clientes, monitorizando la calidad de los productos y servicios, a nivel organizacional y de proyecto, con el fin de asegurar que estos satisfacen los requisitos de los clientes. En la tabla 7.2 se reflejan los resultados de este proceso según el estándar ISO 12207.  Gestión de riesgos, cuyo objetivo es identificar, gestionar, analizar y controlar los riesgos de forma continua, tanto a nivel organizacional como técnico.  Medición, cuyo objetivo es recopilar y analizar datos relacionados con los productos desarrollados y los procesos implementados en la organización y sus proyectos, para soportar la gestión eficaz de los procesos y demostrar de forma objetiva la calidad de los productos.

VARGAS HERNANDEZ WITNE NAYELI Página 6


 Proceso ele infraestructura. Este proceso permite mantener una infraestructura fiable y estable necesaria para soportar el desempeño de los otros procesos. Esta infraestructura puede incluir hardware, software, métodos, herramientas, técnicas, estándares y facilidades para el desarrollo, operación o mantenimiento.  Proceso de mejora. Este proceso sirve para mejorar de forma continua la efectividad y eficiencia a través de los procesos utilizados y mantenidos de forma alineada con las necesidades de negocio. Las fuentes de información que pueden proporcionar las entradas para el cambio son: resultados de valoración de procesos, auditorías, informes de satisfacción del cliente, eficiencia/efectividad organizacional, coste de la calidad. El estado actual de los procesos podría determinarse mediante el proceso de valoración. Se compone de tres subprocesos: establecimiento de procesos, valoración tic procesos y mejora de procesos.  Proceso de recursos humanos. Este proceso sirve para proporcionar a la organización los recursos humanos adecuados y mantener su competencia, consistente con las necesidades de la empresa. Este proceso incluye tres subprocesos: Gestión de Recursos Humanos, Formación y Gestión de! Conocimiento.  Proceso de gestión de activos. Este proceso sirve para gestionar la vida de los activos reutilizables desde su concepción hasta su retirada.  Proceso de gestión del programa de reutilización. Este proceso sirve para planificar, establecer, gestionar, controlar y monitorizar el programa de reutilización de una organización y explotar de forma sistemática las oportunidades de reutilización. Las partes afectadas podrían incluir a los administradores del programa de medición, gestores de activos, ingenieros del

VARGAS HERNANDEZ WITNE NAYELI Página 7


dominio, desarrolladores, encargados de operación y encargados de mantenimiento.  Proceso de ingeniería de dominio. Este proceso sirve para desarrollar y mantener modelos de dominio, arquitecturas de dominio y activos para el dominio.

2.4. PROCESO DE ADAPTACIÓN Este proceso sirve para realizar la adaptación básica de la norma ISO 12207 con respecto a los proyectos de software. Como se sabe, las variaciones en las políticas y procedimientos de la organización, los métodos y estrategias de adquisición, el tamaño y complejidad de los proyectos, los requisitos de sistema y los métodos de desarrollo, entre otros, influencian la forma de adquirir, desarrollar, explotar o mantener un sistema (véase figura 7.2).

VARGAS HERNANDEZ WITNE NAYELI Página 8


 En el estándar IEEE (I998d) se dan recomendaciones sobre cómo registrar datos del ciclo de vida resultantes de los procesos del ciclo de vida del estándar IEEE (1998c).  Estos datos tienen que dar soporte a las siguientes acciones  Describir y registrar información sobre el producto software durante su ciclo de vida.  Dar soporte a la usabilidad y mantenibilidad de un producto software. Definir y controlar los procesos del ciclo de vida.  Comunicar información sobre el sistema, producto o servicio software y proveció a quien lo necesite.  Proporcionar la historia de lo sucedido durante el desarrollo y mantenimiento para dar soporte a la gestión y mejora de procesos.  Proporcionar evidencia de los procesos que se han seguido.  Asistir la planificación logística (replicación, distribución, instalación, formación) para un producto software.  Proporcionar historia sobre los cambios de los datos.

Estos datos del ciclo de vida deben ser no ambiguos, completos, verificables, consistentes, modificables, trazables, presentables (recuperables y visibles), seguros y privados, protegidos, correctos y adecuados. Deberían tener contenido relativo a datos de requisitos, datos de diseño, dalos de prueba, datos de configuración, datos de usuario, datos de gestión y datos de calidad. Estos últimos abarcan planes y procedimientos de calidad, estado de las acciones correctivas, análisis de causas raíces, características de calidad del producto y datos de mediciones de proceso, y criterios y fundamentos para las decisiones clave. VARGAS HERNANDEZ WITNE NAYELI Página 9


En la tabla 7.4 se presenta el contenido del plan de aseguramiento de calidad de software.

En el estándar se dan guías para el contenido de las descripciones, planes, procedimientos, registros, informes, peticiones, especificaciones, etc. Se dan guías específicas sobre el contenido de los planes de adquisición, peticiones de modificación, descripciones de diseño de bases de datos, planes del proceso de desarrollo, de mantenimiento, descripción de arquitectura software, etc.

3. PROCESOS DEL CICLO DE VIDA DE SISTEMAS De forma análoga a la norma ISO 12207 para el software, en la norma ISO 15288 se presentan los principales procesos del ciclo de vida de los sistemas agrupados en cuatro categorías: Procesos de acuerdo, que incluyen los procesos de adquisición y suministro. Procesos empresariales, que incluyen: el proceso de gestión del entorno empresarial (cuyo objetivo es definir y mantener las políticas y procedimientos necesarios para las actividades de la organización), gestión de la inversión (cuyo objetivo es iniciar y mantener suficientes y adecuados proyectos con el fin de conseguir los objetivos de la organización), gestión de los procesos del ciclo de vida de sistemas (cuyo objetivo es asegurar que se encuentran disponibles para ser utilizados por la organización procesos electivos de ciclo de vida del sistema), gestión de recursos (para proporcionar recursos a los proyectos), gestión de la calidad (la norma establece que el propósito del proceso de gestión de calidad es "asegurar que los productos, servicios e implementaciones de Los procesos del ciclo de vida cumplen los objetivos VARGAS HERNANDEZ WITNE NAYELI Página 10


de calidad de la empresa y logran la satisfacción del cliente"; en la tabla 7.5 se resumen las actividades que presenta este proceso). Procesos de proyecto, que se utilizan para establecer y hacer evolucionar planes de proyecto, valorar los logros actuales y el progreso respecto a los planes y controlar la ejecución del proyecto hasta su culminación. Dentro de este apartado encontramos los procesos de planificación de proyectos, evaluación de proyectos, control de proyectos, toma de decisiones, gestión de riesgos, gestión de configuración y gestión de información.

 Procesos técnicos, que incluyen el proceso de definición de requisitos de las partes implicadas en el producto, análisis de requisitos, diseño arquitectónico, implementación, integración, verificación, transición, validación, operación, mantenimiento y retirada.

Al igual que la norma ISO 12207 también la 15288 propone un proceso de adaptación de estos procesos a las necesidades concretas de una organización. Además, señala en el anexo U que las "etapas" {sfages) se pueden utilizar para construir marcos conceptuales en los que los procesos del ciclo de vida del sistema se utilicen para modelar ciclos de vida, describiendo el propósito y las salidas de seis etapas: concepción, desarrollo, producción, utilización, soporte, y retirada.

VARGAS HERNANDEZ WITNE NAYELI Página 11


4. LECTURAS RECOMENDADAS  IEEE/EI A 12207.0-1996. Standard for Information Technology - Software Life Cycle Processes. Institute of Electrical and Electronics Engineers/Electronic Industries Alliance. 01 -Mar-1998.  IEEE/EI A 12207.2-1997. Industry Implementation of International Standard ISO/IEC 12207: 1995; Standard for Information Technology - Software Life Cycle Processes - Implementation Considerations. Institute of Electrical and Electronics Engineers/Electronic Industries Alliance. 01-Apr-1998  IEEE/El A 12207.1-1997. Industry Implementation of ISO/IEC 12207:1995 Standard for Information Technology - Software Life Cycle Processes - Life Cycle Data. Institute of Electrical and Electronics Engineers/Electronic Industries Alliance. 01-May-1997.

VARGAS HERNANDEZ WITNE NAYELI Página 12


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.