La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Proceso de desarrollo de sistemas de información.

Presentaciones similares


Presentación del tema: "Proceso de desarrollo de sistemas de información."— Transcripción de la presentación:

1

2 Proceso de desarrollo de sistemas de información

3 2 Objetivos de aprendizaje Comprender el concepto de Proceso de desarrollo y ciclo de vida del software Distinguir los diversos modelos de proceso de desarrollo y ciclo de vida del software Distinguir las diversas metodologías de desarrollo Comprender las características de los métodos agiles

4 Temas a tratar Visión genérica del proceso de desarrollo Modelos de proceso de desarrollo Metodologías de desarrollo

5 Visión genérica del proceso de desarrollo Definición Fases DefiniciónEjemplo

6 Visión genérica del proceso de desarrollo El proceso de desarrollo es un Marco de Trabajo que define las tareas a realizar para desarrollar software de alta calidad. (Pressman). Definición Un Proceso define quien realiza algo, cuando y como para alcanzar cierto objetivo.

7 6 Visión genérica del proceso de desarrollo El proceso de desarrollo incluye el conjunto de estrategias para coordinar los métodos, técnicas y herramientas para manejar efectivamente el desarrollo de un producto de software. Proceso de SW Requerimientos nuevos o cambios Sistema nuevo o modificado Definición

8 7 Visión genérica del proceso de desarrollo  Un proceso de software debe especificar:  Una secuencia de actividades a realizar por el equipo de desarrollo Productos que deben crearse: qué y cuando. Asignación de tareas a cada miembro del equipo y al equipo como un todo. Criterios para controlar el proceso. Definición

9 Visión genérica del proceso de desarrollo Definición Desarrollo Evolución Fases Análisis del Sistema Requerimientos Planificación Diseño Codificación Prueba  Corrección  Adaptación  Mejora

10 Visión genérica del proceso de desarrollo Análisis del Sistema Fase de Definición Requerimientos del software Planificación del proyecto Se realizan las siguientes actividades:

11 Visión genérica del proceso de desarrollo Diseño del Software Fase de Desarrollo Codificación Pruebas del software Se realizan las siguientes actividades:

12 Visión genérica del proceso de desarrollo Corrección Fase de Evolución Adaptación Mejora Tres tipos de cambios:

13 Visión genérica del proceso de desarrollo Actividades Genéricas Especificación RequerimientosAnálisisDiseño Implementación Construcción Pruebas unitarias Pruebas de integración Validación Pruebas funcionales Pruebas del sistema Pruebas de usuario Evolución Gestión del cambio

14 Visión genérica del proceso de desarrollo Las actividades genéricas dentro de todos los procesos de desarrollo son: ◦ Especificación: Lo que el sistema debe hacer y las restricciones de desarrollo. ◦ Implementación: Producción del sistema de software. ◦ Validación: Examinar si el software realiza lo requerido por el usuario. ◦ Evolución: Modificar el software en respuesta a las demandas de cambio. Actividades Genéricas

15 Visión genérica del proceso de desarrollo Alternativamente, a veces se usa el termino “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” (IEEE 12207). Proceso: conjunto de actividades. Actividad: conjunto de tareas. Tarea: acción que transforma entradas en salida Ciclo de Vida

16 Norma ISO/IEC 12207 5. Procesos primarios 7. Procesos organizacionales 5.1 Adquisición 5.2 Suministro 5.3 Desarrollo 5.3 Operación 5.3 Mantenimiento 6.1 Documentación 6.2 Gestión de la configuración 6.3 Control de calidad 6.4 Verificación 6.5 Validación 6.6 Reuniones 6.7 Auditoría 6.8 Resolución de problemas 7.1 Gestión 7.3 Mejora 7.2 Infraestructura 7.4 Formación 6. Procesos de soporte Ciclo de vida Concepción Retirada Proceso 1 … Proceso N Actividad 1 Tarea 1 Tarea 2 … Tarea n … Actividad n Tarea 1 Tarea 2 … Tarea n El Proceso de Software

17 Contiene las actividades y tareas realizadas por el desarrollador. Integra las siguientes actividades: 5.3 Procesos de Desarrollo I mplementación del proceso. Análisis de requisitos del sistema. Diseño de la arquitectura del sistema. Análisis de los requisitos del software. Diseño de la arquitectura del software. Diseño detallado del software. Codificación y prueba del software. Integración del software Prueba del software. Integración del sistema. Prueba del sistema. Instalación del software. Soporte del proceso de Aceptación del software.

18 El Proceso de Software Norma ISO/IEC 12207:2008

19 Modelos de Proceso de Software Un Modelo de Proceso de Software es una descripción de un proceso de software que se presenta desde una perspectiva particular. ◦ Es una abstracción de un proceso real. ◦ Incluye actividades (que son parte de los procesos del software), los productos software, y el papel de las personas interesadas en el desarrollo ( stakeholders). Definición

20 Modelos del proceso de desarrollo Definición Fases Definición Secuencial IterativosEvolutivos Prototipo Incremental Espiral Componentes

21 Modelo Lineal Secuencial Ciclo de vida clásico, modelo en cascada + antiguo, + usado Enfoque sistemático secuencial Requerimientos Diseño Codif. Prueba Mant. Análisis de sistemas

22 Modelo Lineal Secuencial Críticas: ◦ Proyectos reales raras veces se ajustan a este enfoque. ◦ Raras veces cliente expone todos los requerimientos desde el inicio. ◦ El Producto operativo al final => Cliente con gran paciencia. Consejo: Usar cuando todos los requerimientos han sido establecidos claramente de entrada.

23 Modelos Iterativos Usar cuando no están claros los requisito de entrada Iterativo. Pero ¿hasta cuando se itera? Working prototype, desechar y empezar con desarrollo de sistema. Construcción de Prototipos Aceptado NO Aceptado Evaluación Cliente Mejora de la Especificación Construcción Prototipo Obtención de Requerimientos Ciclo de Vida Clásico

24 Modelos Iterativos Críticas: ◦ Cliente cree que prototipo es el sistema. ◦ Peligro de familiarización con malas elecciones iniciales (quick and dirty). Consejo: ◦ Usar cuando inicialmente no están claros los requerimientos. ◦ Definir claramente de entrada las reglas de juego con el cliente. Construcción de Prototipos

25 Modelos Evolutivos Se adaptan más fácilmente a los cambios introducidos a lo largo del desarrollo. Son Iterativos En cada iteración se obtienen versiones más completas del Software Modelos Evolutivos: ◦ Modelo Incremental ◦ Modelo en Espiral ◦ Modelo de Desarrollo Basado en Componentes

26 Modelos Evolutivos AnálisisDiseño PruebaCodif. Entrega 1er Incremento Inc1 AnálisisDiseño PruebaCodif. Entrega 2do Incremento Inc2 AnálisisDiseño PruebaCodif. Entrega 3er Incremento Inc3 Tiempo Modelo Incremental

27 Modelos Evolutivos Iteración (repite) de Modelo Lineal Secuencial. Cada iteración devuelve un “Incremento” o versión operativa. Resuelve los riesgos antes de realizar grandes inversiones Permite la realimentación de los usuarios Realiza construcción y pruebas de manera continua Hace posible la entrega parcial de implementaciones Útil cuando no se está seguro de cumplir con plazos de tiempo o se tiene una fecha imposible de cambiar. Modelo Incremental

28 Modelos Evolutivos Modelo en Espiral

29 Modelos Evolutivos Útil para proyectos grandes. Permite usar el prototipado en todas las etapas de la evolución para reducir el riesgo. Mantiene el enfoque sistemático de los pasos sugeridos por el lineal secuencial, pero lo incorpora dentro de un marco iterativo más real. Críticas: ◦ Difícil de convencer a los clientes de que es controlable. ◦ Requiere mucha habilidad para el análisis de riesgos y de esta habilidad depende su éxito. Modelo en Espiral

30 IS03 El Proceso SW29/36 Modelos Evolutivos Planificación Análisis de Riesgos Ingeniería, Construcción y Entrega Evaluación del Cliente Comunicación con el Cliente Ident. Comps. candidatos Buscar Comps. en biblioteca  ConstruirExtraer Colocar en biblioteca Construir iteración Desarrollo basado en componentes

31 Metodologías de Desarrollo del Software Métodos informales Métodos Semiformales Métodos Formales

32 Métodos informales No siguen un esquema, depende del estilo del desarrollador ◦ Quick & Dirty (USA) ◦ Match stick box (Europa) Metodologías Ágiles

33 32/36 Métodos Semiformales Métodos Estructurados ◦ SA/SD (structured analysis & structured design) ◦ Métrica Métodos Orientados a Objetos ◦ OMT ◦ OOSE ◦ RUP

34 33/36 Métodos Formales Permiten al ingeniero de software especificar, desarrollar y verificar un sistema informático mediante la aplicación de una notación matemática rigurosa. Utilizan un lenguaje de especificación formal, Un método formal proporciona los medios de especificar un sistema de forma que se aseguren, de manera sistemática, la consistencia, la completitud y la corrección. Se suelen basar en notaciones matemáticas similares a las del álgebra de conjuntos y la lógica

35 34/36 Tarea Para cada uno de los modelos anteriores, ¿cómo maneja el modelo un cambio significativo y tardío en los requerimientos? En una empresa utilizan el producto de software PP para el control presupuestario. La empresa no dispone de las versiones en lenguaje fuente del producto, ni ninguna documentación excepto el manual del usuario. A usted lo contratan para construir un producto que brinde la misma funcionalidad que PP, pero para que corra en equipos distintos. ¿Qué modelo de ciclo de vida adoptaría para llevar a cabo este proyecto? ¿Por qué? Discuta las ventajas y desventajas que puede traer a una organización de desarrollo el adoptar un único modelo de proceso para todos sus proyectos.

36 35/36 Tarea Suponga que una empresa requiere a su organización que utilice un modelo de proceso específico al contratarla para construir un sistema. Su organización construye el software utilizando los recursos, actividades y restricciones prescritos. Cuando el software se instala y pone en marcha experimenta una falla catastrófica. Cuando el cliente investiga el origen de la falla, acusa a su organización de negligencia por no haber llevado a cabo revisiones de código que hubieran permitido detectar el problema antes de poner en producción el sistema. Su organización responde que las revisiones de código no estaban en el proceso requerido. ¿Cuáles son las implicancias legales y éticas que aparecen en esta disputa? La respuesta a este caso debe ser entregado en un informe sustentado la normativa legal correspondiente que se aplica en estos casos.


Descargar ppt "Proceso de desarrollo de sistemas de información."

Presentaciones similares


Anuncios Google