Sei sulla pagina 1di 35

Proceso de desarrollo de sistemas de informacin

Prof. Csar Luza Montero


Facultad de Ingeniera de Sistemas e Informtica Universidad Nacional Mayor de San Marcos Copyright 2011, Cesar Luza, Lima-Per

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 metodologas de desarrollo Comprender las caractersticas de los mtodos agiles

Temas a tratar
Visin genrica del proceso de desarrollo

Modelos de proceso de desarrollo


Metodologas de desarrollo

Visin genrica del proceso de desarrollo

Definicin

Fases

Definicin Ejemplo

Visin genrica del proceso de desarrollo

Definicin
El proceso de desarrollo es un Marco de Trabajo que define las tareas a realizar para desarrollar software de alta calidad.
(Pressman).

Un Proceso define quien realiza algo, cuando y como para alcanzar cierto objetivo
.

Visin genrica del proceso de desarrollo


Definicin

El proceso de desarrollo incluye el conjunto de estrategias para coordinar los mtodos, tcnicas y herramientas para manejar efectivamente el desarrollo de un producto de software.
Requerimientos nuevos o cambios Sistema nuevo o modificado

Proceso de SW

Visin genrica del proceso de desarrollo


Definicin

Un proceso de software debe especificar:

Una secuencia de actividades a realizar por el equipo de desarrollo

Productos que deben crearse: qu y cuando.


Asignacin de tareas a cada miembro del equipo y al equipo como un todo. Criterios para controlar el proceso.

Visin genrica del proceso de desarrollo

Fases
Definicin
Anlisis del Sistema Requerimientos Planificacin

Desarrollo
Diseo Codificacin Prueba

Evolucin
Correccin Adaptacin Mejora

Visin genrica del proceso de desarrollo


Fase de Definicin
Se realizan las siguientes actividades:

Anlisis del Sistema


Requerimientos del software

Planificacin del proyecto

Visin genrica del proceso de desarrollo


Fase de Desarrollo
Se realizan las siguientes actividades:

Diseo del Software


Codificacin

Pruebas del software

Visin genrica del proceso de desarrollo


Fase de Evolucin
Tres tipos de cambios:

Correccin Adaptacin
Mejora

Visin genrica del proceso de desarrollo


Actividades Genricas
Especificacin
Requerimientos Anlisis Diseo

Implementacin

Construccin

Pruebas unitarias

Pruebas de integracin

Validacin

Pruebas funcionales

Pruebas del sistema

Pruebas de usuario

Evolucin

Gestin del cambio

Visin genrica del proceso de desarrollo


Actividades Genricas

Las actividades genricas dentro de todos los procesos de desarrollo son:


Especificacin: Lo que el sistema debe hacer y las restricciones de desarrollo. Implementacin: Produccin del sistema de software.

Validacin: Examinar si el software realiza lo requerido por el usuario.


Evolucin: Modificar el software en respuesta a las demandas de cambio.

Visin genrica del proceso de desarrollo


Ciclo de Vida

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 explotacin y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definicin de los requisitos hasta la finalizacin de su uso (IEEE 12207). Proceso: conjunto de actividades. Actividad: conjunto de tareas. Tarea: accin que transforma entradas en salida

El Proceso de Software
Norma ISO/IEC 12207
Ciclo de vida
5. Procesos primarios
5.1 Adquisicin 5.2 Suministro

6. Procesos de soporte
6.1 Documentacin 6.2 Gestin de la configuracin 6.3 Control de calidad

Concepcin
Retirada

5.3 Operacin 5.3 Desarrollo 5.3 Mantenimiento

6.4 Verificacin 6.5 Validacin

Proceso 1

6.6 Reuniones 6.7 Auditora 6.8 Resolucin de problemas 7. Procesos organizacionales 7.1 Gestin 7.3 Mejora 7.2 Infraestructura 7.4 Formacin Actividad 1
Tarea 1 Tarea 2 Tarea n

Proceso N

Actividad n
Tarea 1 Tarea 2 Tarea n

El Proceso de Software
5.3 Procesos de Desarrollo

Contiene las actividades y tareas realizadas por el desarrollador. Integra las siguientes actividades:
Codificacin y prueba del software.
Integracin del software Prueba del software. Integracin del sistema. Prueba del sistema.

Implementacin del proceso. Anlisis de requisitos del sistema. Diseo de la arquitectura del sistema. Anlisis de los requisitos del software. Diseo de la arquitectura del software. Diseo detallado del software.

Instalacin del software.


Soporte del proceso de Aceptacin del software.

El Proceso de Software
Norma ISO/IEC 12207:2008

Modelos de Proceso de Software


Definicin

Un Modelo de Proceso de Software es una descripcin de un proceso de software que se presenta desde una perspectiva particular. Es una abstraccin 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).

Modelos del proceso de desarrollo

Secuencial

Definicin

Iterativos
Prototipo

Evolutivos
Definicin
Espiral Componentes Incremental

Fases

Modelo Lineal Secuencial


Ciclo de vida clsico, modelo en cascada + antiguo, + usado Enfoque sistemtico secuencial

Anlisis de sistemas Requerimientos Diseo Codif. Prueba Mant.

Modelo Lineal Secuencial

Crticas:
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.

Modelos Iterativos
Construccin de Prototipos

Usar cuando no estn claros los requisito de entrada Iterativo. Pero hasta cuando se itera? Working prototype, desechar y empezar con desarrollo de sistema.

Aceptado Obtencin de Requerimientos Construccin Prototipo Evaluacin Cliente Ciclo de Vida Clsico

Mejora de la Especificacin

NO Aceptado

Modelos Iterativos
Construccin de Prototipos

Crticas:
Cliente cree que prototipo es el sistema. Peligro de familiarizacin con malas elecciones iniciales (quick and dirty). Usar cuando inicialmente no estn claros los requerimientos. Definir claramente de entrada las reglas de juego con el cliente.

Consejo:

Modelos Evolutivos

Se adaptan ms fcilmente a los cambios introducidos a lo largo del desarrollo. Son Iterativos En cada iteracin se obtienen versiones ms completas del Software Modelos Evolutivos:
Modelo Incremental Modelo en Espiral Modelo de Desarrollo Basado en Componentes

Modelos Evolutivos
Modelo Incremental
Inc1 Anlisis Diseo Codif. Prueba Entrega 1er Incremento

Inc2

Anlisis

Diseo

Codif.

Prueba

Entrega 2do Incremento

Inc3

Anlisis

Diseo

Codif.

Prueba

Entrega 3er Incremento

Tiempo

Modelos Evolutivos
Modelo Incremental

Iteracin (repite) de Modelo Lineal Secuencial.

Cada iteracin devuelve un Incremento o versin operativa.


Resuelve los riesgos antes de realizar grandes inversiones Permite la realimentacin de los usuarios Realiza construccin 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.

Modelos Evolutivos
Modelo en Espiral

Modelos Evolutivos
Modelo en Espiral

til para proyectos grandes. Permite usar el prototipado en todas las etapas de la evolucin para reducir el riesgo. Mantiene el enfoque sistemtico de los pasos sugeridos por el lineal secuencial, pero lo incorpora dentro de un marco iterativo ms real. Crticas:
Difcil de convencer a los clientes de que es controlable. Requiere mucha habilidad para el anlisis de riesgos y de esta habilidad depende su xito.

Modelos Evolutivos
Desarrollo basado en componentes
Planificacin
Comunicacin con el Cliente Anlisis Riesgos de

Ident. Comps. candidatos Buscar Comps. en biblioteca

Ingeniera, Construccin y Entrega Evaluacin del Cliente

Construir

Extraer

Colocar en biblioteca

IS03 El Proceso SW

Construir iteracin

29/36

Metodologas de Desarrollo del Software

Mtodos informales Mtodos Semiformales Mtodos Formales

Mtodos informales

No siguen un esquema, depende del estilo del desarrollador Quick & Dirty (USA) Match stick box (Europa) Metodologas giles

Mtodos Semiformales

Mtodos Estructurados SA/SD (structured analysis & structured design) Mtrica Mtodos Orientados a Objetos OMT OOSE RUP

32/36

Mtodos Formales

Permiten al ingeniero de software especificar, desarrollar y verificar un sistema informtico mediante la aplicacin de una notacin matemtica rigurosa. Utilizan un lenguaje de especificacin formal, Un mtodo formal proporciona los medios de especificar un sistema de forma que se aseguren, de manera sistemtica, la consistencia, la completitud y la correccin. Se suelen basar en notaciones matemticas similares a las del lgebra de conjuntos y la lgica

33/36

Tarea

Para cada uno de los modelos anteriores, cmo maneja el modelo un cambio significativo y tardo 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 documentacin 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 adoptara para llevar a cabo este proyecto? Por qu?
Discuta las ventajas y desventajas que puede traer a una organizacin de desarrollo el adoptar un nico modelo de proceso para todos sus proyectos.

34/36

Tarea

Suponga que una empresa requiere a su organizacin que utilice un modelo de proceso especfico al contratarla para construir un sistema. Su organizacin construye el software utilizando los recursos, actividades y restricciones prescritos. Cuando el software se instala y pone en marcha experimenta una falla catastrfica. Cuando el cliente investiga el origen de la falla, acusa a su organizacin de negligencia por no haber llevado a cabo revisiones de cdigo que hubieran permitido detectar el problema antes de poner en produccin el sistema. Su organizacin responde que las revisiones de cdigo no estaban en el proceso requerido. Cules son las implicancias legales y ticas que aparecen en esta disputa?

35/36

Potrebbero piacerti anche