29
Ciclo vida software Christian Cabrero

Ciclo de vida del software - Entornos de desarrollo

Embed Size (px)

Citation preview

Page 1: Ciclo de vida del software - Entornos de desarrollo

Ciclo vida software

Christian Cabrero

Page 2: Ciclo de vida del software - Entornos de desarrollo

Metodología creada con el fin de dar soporte al ciclo de vida del software de las Administraciones Públicas.

MÉTRICA V3

Page 3: Ciclo de vida del software - Entornos de desarrollo

Proporcionar Sistemas de Información que ayuden a conseguir los fines de la organización.

Dotar a la Organización de productos software que satisfagan las necesidades de los usuarios.

Mejorar la productividad de los departamentos de Sistemas y Tecnologías de la Información y las Comunicaciones.

OBJETIVOS METRICA

Page 4: Ciclo de vida del software - Entornos de desarrollo

Facilitar la comunicación y entendimiento entre los distintos participantes en la producción de software a lo largo del ciclo de vida del proyecto.

Facilitar la operación, mantenimiento y uso de los productos software obtenidos.

Page 5: Ciclo de vida del software - Entornos de desarrollo

PLANIFICACIÓN DE SISTEMAS DE INFORMACIÓN: proporciona un marco estratégico de referencia para organizar los Sistemas de Información.

DESARROLLO DE SISTEMAS DE INFORMACIÓN: Abarca desde el análisis de requisitos hasta la instalación del software.

MANTENIMIENTO DE SISTEMAS DE INFORMACIÓN:

básicamente solución de errores y añadir funcionalidades y mejoras.

PROCESOS METRICA Y COMO FUNCIONA

Page 6: Ciclo de vida del software - Entornos de desarrollo

ESTUDIO DE VIABILIDAD DEL SISTEMA (EVS): Se analizan las necesidades, se comprueban si son factibles y se procede a su valoración.

ANÁLISIS DEL SISTEMA DE INFORMACIÓN (ASI): especificación detallada del Sistema de Información a través de un catálogo de requisitos y una serie de modelos.

DISEÑO DEL SISTEMA DE INFORMACIÓN (DSI).

CONSTRUCCIÓN DEL SISTEMA DE INFORMACIÓN (CSI): Se genera el código, se prueba y se crean los manuales de usuario.

IMPLANTACIÓN Y ACEPTACIÓN DEL SISTEMA (IAS).

Desarrollo de Sistema de Información

Page 7: Ciclo de vida del software - Entornos de desarrollo

Estudio de Viabilidad del Sistema: ACTIVIDAD EVS 1: ESTABLECIMIENTO DEL ALCANCE DEL SISTEMA: En

esta actividad se estudia el alcance de la necesidad planteada por el cliente o usuario

ACTIVIDAD EVS 2: ESTUDIO DE LA SITUACIÓN ACTUAL: es el estado en el que se encuentran los sistemas de información existentes en el momento en el que se inicia su estudio.

ACTIVIDAD EVS 3: DEFINICIÓN DE REQUISITOS DEL SISTEMA: incluye la determinación de los requisitos generales, mediante una serie de sesiones de trabajo con los usuarios participantes, que hay que planificar y realizar.

ACTIVIDAD EVS 4: ESTUDIO DE ALTERNATIVAS DE SOLUCIÓN:Este estudio se centra en proponer diversas alternativas que respondan satisfactoriamente a los requisitos planteados.

ACTIVIDAD EVS 5: VALORACIÓN DE LAS ALTERNATIVAS: Una vez descritas las alternativas se realiza una valoración de las mismas.

ACTIVIDAD EVS 6: SELECCIÓN DE LA SOLUCIÓN: se debaten las ventajas de cada una de ellas, incorporando las modificaciones que se consideren oportunas, con el fin deseleccionar la más adecuada.

ACTIVIDADES PROCESOS

Page 8: Ciclo de vida del software - Entornos de desarrollo

ANÁLISIS DEL SISTEMA DE INFORMACIÓN (ASI):

ACTIVIDAD ASI 1: DEFINICIÓN DEL SISTEMA: Esta actividad tiene como objetivo efectuar una descripción del sistema, delimitando su alcance, estableciendo las interfaces con otros sistemas e identificando a los usuarios representativos.

ACTIVIDAD ASI 2: ESTABLECIMIENTO DE REQUISITOS: se lleva a cabo la definición, análisis y validación de los requisitos a partir de la información facilitada por el usuario.

ACTIVIDAD ASI 3: IDENTIFICACIÓN DE SUBSISTEMAS DE ANÁLISIS: facilitar el análisis del sistema de información llevando a cabo la descomposición del sistema en subsistemas.

ACTIVIDAD ASI 4: ANÁLISIS DE LOS CASOS DE USO: El objetivo de esta actividad, que sólo se realiza en el caso de Análisis Orientado a Objetos, es identificar las clases cuyos objetos son necesarios para realizar un caso de uso y describir su comportamiento mediante la interacción dichos objetos.

i. Tarea ASI 4.1: Identificación de Clases Asociadas a un Caso de Uso: identificar los objetos necesarios para realizar el caso de uso

ii. Tarea ASI 4.2: Descripción de la Interacción de Objetos: describir la cooperación entre los objetos utilizados para la realización de un caso de uso

ACTIVIDAD ASI 5: ANÁLISIS DE CLASES: describir cada una de las clases que ha surgido, identificando las responsabilidades que tienen asociadas, sus atributos, y las relaciones entre ellas.I. Tarea ASI 5.1: Identificación de Responsabilidades y Atributos: identificar las responsabilidades y

atributos relevantes de una clase.II. Tarea ASI 5.2: Identificación de Asociaciones y Agregaciones:estudian los mensajes establecidos

entre los objetos del diagrama de interacción para determinar qué asociaciones existen entre las clases correspondientes.

III. Tarea ASI 5.3: Identificación de Generalizaciones: representar una organización de las clases que permita una implementación sencilla de la herencia y una agrupación semántica de las diferentes clases.

Page 9: Ciclo de vida del software - Entornos de desarrollo

ACTIVIDAD ASI 6: ELABORACIÓN DEL MODELO DE DATOS: identificar las necesidades de información de cada uno de los procesos que conforman el sistema de información.

ACTIVIDAD ASI 7: ELABORACIÓN DEL MODELO DE PROCESOS: descripción de los subsistemas definidos en la actividad Identificación de Subsistemas de Análisis (ASI 3), mediante la descomposición en sucesivos niveles de procesos.

ACTIVIDAD ASI 8: DEFINICIÓN DE INTERFACES DE USUARIO: especifican las interfaces entre el sistema y el usuario: formatos de pantallas, diálogos, e informes.

ACTIVIDAD ASI 9: ANÁLISIS DE CONSISTENCIA Y ESPECIFICACIÓN DE REQUISITOS: garantizar la calidad de los distintos modelos generados en el proceso de Análisis del Sistema de Información.

ACTIVIDAD ASI 10: ESPECIFICACIÓN DEL PLAN DE PRUEBAS: definición del plan de pruebas que permite verificar que el sistema de información cumple las necesidades establecidas por el usuario.

ACTIVIDAD ASI 11: APROBACIÓN DEL ANÁLISIS DEL SISTEMA DE INFORMACIÓN: presentación del análisis del sistema de información al Comité de Dirección, para su aprobación.

Page 10: Ciclo de vida del software - Entornos de desarrollo

ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA: define la arquitectura general del sistema de información, especificando las distintas particiones físicas del mismo.

ACTIVIDAD DSI 2: DISEÑO DE LA ARQUITECTURA DE SOPORTE: comprende el diseño de los subsistemas de soporte identificados en la actividad de Definición de la Arquitectura del Sistema (DSI 1).

ACTIVIDAD DSI 3: DISEÑO DE CASOS DE USO REALES: especificar el comportamiento del sistema de información para un caso de uso.I. Tarea DSI 3.1: Identificación de Clases Asociadas a un Caso de Uso:

identificar las clases que intervienen en cada caso de uso.II. Tarea DSI 3.2: Diseño de la Realización de los Casos de Uso: definir

cómo interactúan entre sí los objetos identificados en la tarea anterior.III. Tarea DSI 3.3: Revisión de la Interfaz de Usuario: realizar el diseño

detallado del comportamiento de la interfaz de usuario a partir de la especificación de la misma.

IV. Tarea DSI 3.4: Revisión de Subsistemas de Diseño e Interfaces: describir cada caso de uso en términos de los subsistemas que participan en el caso de uso y las interfaces que se requieren entre ellos.

DISEÑO DEL SISTEMA DE INFORMACIÓN (DSI).

Page 11: Ciclo de vida del software - Entornos de desarrollo

ACTIVIDAD DSI 4: DISEÑO DE CLASES: transformar el modelo de clases lógico, que proviene del análisis, en un modelo de clases de diseño.I. Tarea DSI 4.1: Identificación de Clases Adicionales: identificar un

conjunto de clases que completen el modelo deII. clases analizado en la tarea Validación de los Modelos (ASI 9.3).III. Tarea DSI 4.2: Diseño de Asociaciones y Agregaciones: se

completan las asociaciones entre las clases del modelo de clases del diseño.

IV. Tarea DSI 4.3: Identificación de Atributos de las Clases: identificar y describir, una vez que se ha especificado el entorno de desarrollo, los atributos de las clases.

V. Tarea DSI 4.4: Identificación de Operaciones de las Clases: definir, de forma detallada, las operaciones de cada clase de diseño.

VI.Tarea DSI 4.5: Diseño de la Jerarquía: revisar la jerarquía de clases que ha surgido en el modelo de clases a lo largo de las tareas anteriores y comprobar su viabilidad.

VII.Tarea DSI 4.6: Descripción de Métodos de las Operaciones: se describen los métodos que se usan para detallar como se realiza cada una de las operaciones de una clase

Page 12: Ciclo de vida del software - Entornos de desarrollo

ACTIVIDAD DSI 5: DISEÑO DE LA ARQUITECTURA DE MÓDULOS DEL SISTEMA: definir los módulos del sistema de información, y la manera en que van a interactuar unos con otros.

ACTIVIDAD DSI 6: DISEÑO FÍSICO DE DATOS: se define la estructura física de datos que utilizará el sistema.

ACTIVIDAD DSI 7: VERIFICACIÓN Y ACEPTACIÓN DE LA ARQUITECTURA DEL SISTEMA: es garantizar la calidad de las especificaciones del diseño del sistema de información y la viabilidad del mismo.

ACTIVIDAD DSI 8: GENERACIÓN DE ESPECIFICACIONES DE CONSTRUCCIÓN: especificaciones para la construcción del sistema de información, a partir del diseño detallado.

ACTIVIDAD DSI 9: DISEÑO DE LA MIGRACIÓN Y CARGA INICIAL DE DATOS: sólo se lleva a cabo cuando es necesaria una carga inicial de información, o una migración de datos de otros sistemas.

ACTIVIDAD DSI 10: ESPECIFICACIÓN TÉCNICA DEL PLAN DE PRUEBAS: se realiza la especificación de detalle del plan de pruebas del sistema de información.

ACTIVIDAD DSI 11: ESTABLECIMIENTO DE REQUISITOS DE IMPLANTACIÓN: se completa el catálogo de requisitos con aquéllos relacionados con la documentación que el usuario requiere para operar con el nuevo sistema.

ACTIVIDAD DSI 12: APROBACIÓN DEL DISEÑO DEL SISTEMA DE INFORMACIÓN: se realiza la presentación del diseño del sistema de información al Comité de Dirección para su aprobación.

Page 13: Ciclo de vida del software - Entornos de desarrollo

1: PREPARACIÓN DEL ENTORNO DE GENERACIÓN Y CONSTRUCCIÓN: Su objetivo es asegurar la disponibilidad de todos los medios y facilidades

para que se pueda llevar a cabo la construcción del sistema de información. 2: GENERACIÓN DEL CÓDIGO DE LOS COMPONENTES Y

PROCEDIMIENTOS: Su objetivo es la codificación de los componentes del sistema de Información

a partir del DSI. 3: EJECUCIÓN DE LAS PRUEBAS UNITARIAS: En ella se realizan las pruebas

unitarias de cada uno de los componentes del sistema de información, una vez codificados, con el objeto de comprobar que su estructura es correcta y que se ajustan a la funcionalidad establecida.

4: EJECUCIÓN DE LAS PRUEBAS DE INTEGRACIÓN: Se verifica si los componentes o subsistemas interactúan correctamente a

través de sus interfaces, tanto internas como externas, cubren la funcionalidad establecida, y se ajustan a los requisitos especificados

5: EJECUCIÓN DE LAS PRUEBAS DEL SISTEMA: Comprueban la integración del sistema de información globalmente,

verificando el funcionamiento correcto de las interfaces entre los distintos subsistemas que lo componen y con el resto de sistemas de información con los que se comunica.

Construcción del Sistema de Información (CSI)

Page 14: Ciclo de vida del software - Entornos de desarrollo

6: ELABORACIÓN DE LOS MANUALES DE USUARIO: El objetivo de esta tarea es elaborar la documentación de

usuario, tanto usuario final como de explotación. 7: DEFINICIÓN DE LA FORMACIÓN DE USUARIOS FINALES: En esta actividad se establecen las necesidades de formación

del usuario final, con el objetivo de conseguir la explotación eficaz del nuevo sistema. 8: CONSTRUCCIÓN DE LOS COMPONENTES Y

PROCEDIMIENTOS DE MIGRACIÓN Y CARGA INICIAL DE DATOS:

Su objetivo es la codificación y prueba de los componentes y procedimientos de migración y carga inicial de datos.

9: APROBACIÓN DEL SISTEMA DE INFORMACIÓN: En esta tarea se recopilan los productos del sistema de

información y se presentan al Comité de Seguimiento para su aprobación.

Page 15: Ciclo de vida del software - Entornos de desarrollo

1: ESTABLECIMIENTO DEL PLAN DE IMPLANTACIÓN: En esta actividad se revisa la estrategia de implantación para el

sistema, establecida inicialmente en el proceso Estudio de Viabilidad del Sistema (EVS).

2: FORMACIÓN NECESARIA PARA LA IMPLANTACIÓN: En esta actividad se prepara y se imparte la formación al equipo que

participará en la implantación y aceptación del sistema. 3: INCORPORACIÓN DEL SISTEMA AL ENTORNO DE OPERACIÓN: En esta actividad se realizan todas las tareas necesarias para la

incorporación del sistema al entorno de operación en el que se van a llevar a cabo las pruebas de implantación y aceptación del sistema.

4: CARGA DE DATOS AL ENTORNO DE OPERACIÓN: Se realiza la carga inicial de datos del nuevo sistema, y se comprueba

que ha finalizado correctamente 5: PRUEBAS DE IMPLANTACIÓN DEL SISTEMA: -Comprobar el funcionamiento correcto del mismo en el entorno de

operación. -Permitir que el usuario determine, desde el punto de vista de

operación, la aceptación del sistema instalado en su entorno real

Implantación y Aceptación del Sistema (IAS)

Page 16: Ciclo de vida del software - Entornos de desarrollo

6: PRUEBAS DE ACEPTACIÓN DEL SISTEMA: Tienen como fin validar que el sistema cumple los requisitos básicos de

funcionamiento esperado y permitir que el usuario determine la aceptación del sistema.

7: PREPARACIÓN DEL MANTENIMIENTO DEL SISTEMA: El objetivo de esta actividad es permitir que el equipo que va a asumir el

mantenimiento del sistema esté familiarizado con él antes de que el sistema pase a producción.

8: ESTABLECIMIENTO DEL ACUERDO DE NIVEL DE SERVICIO: - Determinar los servicios que requiere el mismo. - Especificar los niveles de servicio con los que se va a valorar la calidad de esa

prestación. - Definir qué compromisos se adquieren con la entrega del sistema. 9: PRESENTACIÓN Y APROBACIÓN DEL SISTEMA: Una vez que se han efectuado las pruebas de implantación y de aceptación, y

que se ha fijado el acuerdo de nivel de servicio, el Comité de Dirección debe formalizar la

aprobación del sistema. 10: PASO A PRODUCCIÓN: Esta actividad tiene como objetivo establecer el punto de inicio en que el

sistema pasa a producción, se traspasa la responsabilidad al equipo de mantenimiento y se empiezan a dar los servicios establecidos en el acuerdo de nivel de servicio, una vez que el Comité de Dirección ha aprobado el sistema.

Page 17: Ciclo de vida del software - Entornos de desarrollo

1: REGISTRO DE LA PETICIÓN: Esta tarea tiene como objetivo registrar las peticiones que los usuarios

solicitan con motivo de la detección de un problema o por la necesidad de una mejora.

2: ANÁLISIS DE LA PETICIÓN: En esta actividad se lleva a cabo el diagnóstico y análisis del cambio

para dar respuesta a las peticiones de mantenimiento que han sido aceptadas en la actividad anterior.

3: PREPARACIÓN DE LA IMPLEMENTACIÓN DE LA MODIFICACIÓN: Este análisis tiene como objetivo determinar qué parte del sistema de

información se ve afectada, y en qué medida, dejando claramente definido y documentado qué componentes hay que modificar, tanto de software como de hardware.

4: SEGUIMIENTO Y EVALUACIÓN DE LOS CAMBIOS HASTA LA ACEPTACIÓN:

Durante este seguimiento, se comprueba que sólo se han modificado los elementos que se ven afectados por el cambio y que se han realizado las pruebas correspondientes, especialmente las pruebas de integración y del sistema.

Mantenimiento del Sistema de Información (MSI)

Page 18: Ciclo de vida del software - Entornos de desarrollo

Capability Maturity Model Integration. Es un modelo desarrollado por el Software Engineering Institute para la mejora de los procesos(conjunto de fases sucesivas) de las empresas de software que califica las compañías según su nivel de madurez (grado de calidad).

CMMI

Page 19: Ciclo de vida del software - Entornos de desarrollo

Establece una serie de buenas prácticas que las empresas deben cumplir para ser consideradas de un grado de madurez determinado a la hora de generar resultados.

¿QUÉ HACE?

Page 20: Ciclo de vida del software - Entornos de desarrollo

Es un proceso en el que se aplican de manera regular un conjunto de buenas prácticas para poder trabajar en equipo y obtener el mejor resultado posible de un proyecto.

SCRUM

Page 21: Ciclo de vida del software - Entornos de desarrollo

Desarrollado a principios de los 90 por empresas tales como Canon, HP, Honda, Xerox y otras que tenían la necesidad de desarrollar productos novedosos. La primera formalización real de Scrum fue realizada por Schwaber y Sutherland, durante el OOPSLA del año 1995.

ORIGENES

Page 22: Ciclo de vida del software - Entornos de desarrollo

Planificación de sprint: en la jornada previa al inicio de cada sprint en la que se determina cuál va a ser el trabajo y los objetivos que se deben cumplir en esa iteración.

Reunión diaria: Breve revisión del equipo del trabajo realizado hasta la fecha y la previsión para el día siguiente.

Revisión de sprint: Análisis y revisión del incremento generado.

ETAPAS SCRUM

Page 23: Ciclo de vida del software - Entornos de desarrollo
Page 24: Ciclo de vida del software - Entornos de desarrollo

Product Owner (Dueño del Producto): Es quien está más interesado en los requerimientos del proyecto. Será quien lidere el desarrollo y el encargado de tratar con el cliente. Es el responsable del proyecto y de una etapa fundamental en SCRUM: la planificación.

Scrum Master: Es quien hace de nexo entre el dueño y el Equipo. Encargado de asegurar la cooperación y el cumplimiento de la planificación funcional realizada por el Product Owner. Es el encargado de prevenir conflictos y de sacar el mejor provecho de cada integrante del equipo en las reuniones diarias.

El Equipo: Debe tener entre 5 y 9 miembros. Están autorizados a llevar a cabo casi cualquier actividad a fin de llevar a cabo el objetivo final de cada sprint. De considerarlo necesario puede fragmentar el Sprint en sub tareas a fin de facilitar la consecución de las mismas. El equipo posee reuniones diarias de no mas de 15 minutos donde se ponen en común las tareas realizadas en el ultimo día y las a realizar durante el presente; en el desarrollo de las mismas es de vital importancia el Scrum Master para preguntar a cada miembro del equipo que hizo desde la última reunión, que problemas tuvo y con que tareas continuará.

ROLES SCRUM

Page 25: Ciclo de vida del software - Entornos de desarrollo

Foco: Porque nos enfocamos en sólo unas pocas cosas a la vez, trabajamos bien juntos y producimos un resultado excelente. De este modo logramos entregar ítems valiosos antes.

Coraje: Porque no estamos solos, nos sentimos apoyados y tenemos más recursos a nuestra disposición. Esto nos da el coraje para enfrentar desafíos más grandes.

Apertura: Durante el trabajo en conjunto expresamos cotidianamente cómo nos va y qué problemas encontramos. Aprendemos que es bueno manifestar las preocupaciones, para que éstas puedan ser tomadas en cuenta.

Compromiso: Porque tenemos gran control sobre nuestro destino, nos comprometemos más al éxito.

Respeto: A medida que trabajamos juntos, compartiendo éxitos y fracasos, llegamos a respetarnos los unos a los otros, y a ayudarnos mutuamente a convertirnos en merecedores de respeto.

VALORES APORTADOS

Page 26: Ciclo de vida del software - Entornos de desarrollo

Un proyecto es ejecutado en bloques temporales cortos y fijos (iteraciones). Cada iteración tiene que proporcionar un resultado completo, un incremento de producto final que sea susceptible de ser entregado con el mínimo esfuerzo al cliente cuando lo solicite.

¿Cómo funciona?

Page 27: Ciclo de vida del software - Entornos de desarrollo

IBM Global Services Spain; Centro Innovación Tecnologica IBM Zaragoza (C.I.T.I.Z) (NIVEL 5)

Eurohelp Consulting; Development and Solutions Intergation-Zaragoza (NIVEL 2)

Comex Integracion SL(desarrollo, realización y comercialización de sistemas informáticos) (NIVEL 3)

EMPRESAS CERTIFICADAS POR CMMI

Page 28: Ciclo de vida del software - Entornos de desarrollo

Es un método de ingeniería del software basado en el desarrollo iterativo e incremental, donde los requerimientos y soluciones evolucionan mediante la colaboración de grupos auto organizados y multidisciplinarios.

El software desarrollado en una unidad de tiempo es llamado una iteración, la cual debe durar de una a cuatro semanas. :

METODOLOGIA ÁGIL

Page 29: Ciclo de vida del software - Entornos de desarrollo

Cada iteración: