Está en la página 1de 35

Proceso de desarrollo de

sistemas de informacin
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 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
El proceso de desarrollo es un Marco de Trabajo
que define las tareas a realizar para desarrollar
software de alta calidad.
(Pressman).

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

6
Visin genrica del proceso de
desarrollo
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.


Proceso
de SW
Requerimientos
nuevos o cambios
Sistema nuevo o
modificado
Definicin
7
Visin genrica 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.
Asignacin de tareas a cada miembro del equipo y al
equipo como un todo.
Criterios para controlar el proceso.


Definicin
Visin genrica del proceso de
desarrollo
Definicin
Desarrollo
Evolucin
Fases
Anlisis del Sistema
Requerimientos
Planificacin
Diseo
Codificacin
Prueba
Correccin
Adaptacin
Mejora
Visin genrica del proceso de
desarrollo
Anlisis del Sistema
Fase de Definicin
Requerimientos del software
Planificacin del proyecto
Se realizan las siguientes actividades:
Visin genrica del proceso de
desarrollo
Diseo del Software
Fase de Desarrollo
Codificacin
Pruebas del software
Se realizan las siguientes actividades:
Visin genrica del proceso de
desarrollo
Correccin
Fase de Evolucin
Adaptacin
Mejora
Tres tipos de cambios:
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
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.


Actividades Genricas

Visin genrica 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
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


Ciclo de Vida
Norma ISO/IEC 12207
5. Procesos primarios
7. Procesos organizacionales
5.1 Adquisicin
5.2 Suministro
5.3
Desarrollo
5.3
Operacin
5.3
Mantenimiento
6.1 Documentacin
6.2 Gestin de la configuracin
6.3 Control de calidad
6.4 Verificacin
6.5 Validacin
6.6 Reuniones
6.7 Auditora
6.8 Resolucin de problemas
7.1 Gestin
7.3 Mejora
7.2 Infraestructura
7.4 Formacin
6. Procesos de soporte
Ciclo de vida
Concepcin
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
El Proceso de Software
Contiene las actividades y tareas realizadas por el
desarrollador. Integra las siguientes actividades:

5.3 Procesos de Desarrollo
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.
Codificacin y prueba del software.
Integracin del software Prueba del
software.
Integracin del sistema.
Prueba del sistema.
Instalacin del software.
Soporte del proceso de
Aceptacin del software.
El Proceso de Software
Norma ISO/IEC 12207:2008
Modelos de Proceso de
Software
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).


Definicin
Modelos del proceso de desarrollo
Definicin
Fases
Definicin
Secuencial
Iterativos Evolutivos
Prototipo
Incremental
Espiral
Componentes
Modelo Lineal Secuencial
Ciclo de vida clsico, modelo en cascada
+ antiguo, + usado
Enfoque sistemtico secuencial
Requerimientos
Diseo
Codif.
Prueba
Mant.
Anlisis de sistemas
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
Usar cuando no estn claros los requisito de entrada
Iterativo. Pero hasta cuando se itera?
Working prototype, desechar y empezar con
desarrollo de sistema.
Construccin de Prototipos
Aceptado
NO Aceptado
Evaluacin
Cliente
Mejora de la
Especificacin
Construccin
Prototipo
Obtencin de
Requerimientos
Ciclo de
Vida
Clsico

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

Construccin de Prototipos
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
Anlisis Diseo
Prueba Codif.
Entrega 1er
Incremento
Inc1
Anlisis Diseo
Prueba Codif.
Entrega 2do
Incremento
Inc2
Anlisis Diseo
Prueba Codif.
Entrega 3er
Incremento
Inc3
Tiempo
Modelo Incremental

Modelos Evolutivos
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.
Modelo Incremental

Modelos Evolutivos
Modelo en Espiral

Modelos Evolutivos
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.
Modelo en Espiral
IS03 El Proceso SW 29/36

Modelos Evolutivos
Planificacin
Anlisis de
Riesgos
Ingeniera,
Construccin y
Entrega
Evaluacin
del Cliente
Comunicacin
con el Cliente
Ident. Comps. candidatos
Buscar Comps. en biblioteca

Construir Extraer
Colocar en biblioteca
Construir iteracin
Desarrollo basado en componentes
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
32/36
Mtodos Semiformales
Mtodos Estructurados
SA/SD (structured analysis &
structured design)
Mtrica
Mtodos Orientados a Objetos
OMT
OOSE
RUP
33/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
34/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.


35/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?
La respuesta a este caso debe ser entregado en un informe
sustentado la normativa legal correspondiente que se aplica en
estos casos.

También podría gustarte