1. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
SISTEMAS DE INFORMACIÓN II
TEORÍA
CONTENIDO:
CICLO DE VIDA
VISIÓN TRADICIONAL DEL CICLO DE VIDA DEL
DESARROLLO DE SISTEMAS DE INFORMACIÓN
ALGUNOS MODELOS DE DESARROLLO DE SISTEMAS DE
INFORMACIÓN
Material diseñado y elaborado por:
Prof. Luis Eduardo Mendoza M.
Material revisado por:
Prof. María A. Pérez de Ovalles
2. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
INGENIERÍA DE SOFTWARE Y EL CICLO DE VIDA
DEFINICIÓN:
• La INGENIERÍA DE SOFTWARE es un área de la Ciencia de la
Computación cuyo objetivo de estudio es la construcción de grandes y
complejos sistemas de software de alta calidad.
• El término “Ingeniería de Software” fue usado por primera vez en 1968
durante una conferencia celebrada en Garmisch (Alemania) para
analizar la llamada CRISIS DEL SOFTWARE.
NACIMIENTO:
• Se concluyó que el problema de construir software es un TRABAJO
DE INGENIERÍA.
• Requiere: GERENCIA, ORGANIZACIÓN, HERRAMIENTAS, TEORÍAS,
MÉTODOS y TÉCNICAS.
• El descenso de los costos del hardware y el ascenso en los costos del
software, generaron un énfasis en la construcción ECONÓMICA de
este último, promoviendo su CALIDAD.
• Más allá de la programación, el software es estudiado a través de todo
su CICLO DE VIDA.
SISTEMAS DE INFORMACIÓN II TEORÍA
3. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
PROCESO DE DESARROLLO DE SI
O
CICLO DE VIDA DE DESARROLLO DE SI
En la Ingeniería del Software está presente la palabra ciclo, referida al
proceso de desarrollo del software, ya que éste es denominado común-
mente “ciclo de vida”. En base a esto, algunas definiciones son:
• “Secuencia de eventos en el desarrollo de un sistema de información
(aplicación), lo cual requiere del esfuerzo mutuo, tanto de parte del
usuario como del equipo técnico”. (Freedman, 1993)
• “Una actividad grupal, conducida con recursos limitados, que conducen
a un producto intangible (software)”. (Topper et al., 1994)
• “Una actividad social, altamente creativa por naturaleza, que es
conducida en un ambiente de recursos limitados y produce una serie de
representaciones (o salidas) de un producto intangible, el software”.
(Topper et al., 1994)
Continúa ...
SISTEMAS DE INFORMACIÓN II TEORÍA
4. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
PROCESO DE DESARROLLO DE SI
O
CICLO DE VIDA DE DESARROLLO DE SI
Continuación ...
• “Un proceso lógico con el cual los analistas, ingenieros de software,
programadores y usuarios finales, construyen Sistemas de Información
y aplicaciones del computador para satisfacer necesidades y resolver
problemas del negocio”. (Whitten y Bentley, 1998)
• “El proceso de desarrollo (las actividades involucradas en el desarrollo
y mantenimiento de software) es un proceso complejo y variable que no
puede ser fácilmente descrito usando un solo modelo”. (Sommerville,
1998)
El ciclo de vida de desarrollo de SI no es un modelo. Mientras un
ciclo de vida de desarrollo de SI es una “secuencia de eventos en el
desarrollo de un sistema de información (aplicación)” (Freedman, 1993),
“... un modelo describe la estructura de cómo se desarrollará el proyecto”.
(Raccoon, 1995)
SISTEMAS DE INFORMACIÓN II TEORÍA
5. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
FASES GENÉRICAS DEL
CICLO DE VIDA DE DESARROLLO DE SI
DEFINICIÓN
DESARROLLO
MANTENIMIENTO
Ciclo de vida simplificado de desarrollo
• La fase de DEFINICIÓN se centra en el qué. Normalmente, a esta fase
se le denomina análisis.
• La fase de DESARROLLO se centra en el cómo. Para muchos autores,
los procesos que se hacen en esta fase de desarrollo, se dividen en las
fases que comúnmente se denominan diseño e implementación.
• La fase de MANTENIMIENTO se centra en el cambio. En esta fase se
vuelven a aplicar los pasos de las fases de definición y desarrollo, pero
ahora en el contexto del software ya existente.
SISTEMAS DE INFORMACIÓN II TEORÍA
6. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
VISIÓN TRADICIONAL DEL CICLO DE VIDA DE DESARROLLO DE SI
Especificación de los Requerimientos de los Usuarios Espacio
¿Qué? del
Análisis
Análisis Problema
Análisis de los Requerimientos de los Usuarios
Especificación de los Requerimientos del Software
Espacio
Diseño
Diseño ¿Cómo? Diseño Lógico o General (Sistemas) de la
Solución
Diseño Físico o Detallado (Programa)
Codificación / Implementación
Prueba del Programa a Nivel de Unidad
Implemen-
Implemen-
tación Prueba del Programa a Nivel de Sistema
tación
Uso del Programa
Mantenimiento del Software
SISTEMAS DE INFORMACIÓN II TEORÍA
7. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
MODELO DE CASCADA O CLÁSICO
ESPECIFICACIÓN
DE
REQUERIMIENTOS
ANÁLISIS
DISEÑO
CODIFICACIÓN
PRUEBA
MANTENIMIENTO
SISTEMAS DE INFORMACIÓN II TEORÍA
8. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
MODELO DE CONSTRUCCIÓN DE PROTOTIPOS
Comienzo
Parada
Recolección
y refinamiento de
requerimientos
Producto de Diseño
ingeniería rápido
Refinamiento Construcción
del prototipo del prototipo
Evaluación del
prototipo por
parte del cliente
SISTEMAS DE INFORMACIÓN II TEORÍA
9. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
MODELO EN ESPIRAL O EVOLUTIVO
Recolección de PLANIFICACIÓN ANÁLISIS DE RIESGO Análisis de riesgo
requisitos y basado en los
planificación requisitos iniciales
del proyecto
iniciales Análisis de riesgo
basado en la
reacción del cliente
Planificación
basada en los
comentarios Decisión de
del cliente seguir o no
Hacia el
sistema final
Evaluación Prototipo inicial
del cliente del software
Prototipo del
EVALUACIÓN
DEL CLIENTE INGENIERÍA siguiente nivel
Sistema de
ingeniería
SISTEMAS DE INFORMACIÓN II TEORÍA
10. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
MODELO DE LA FUENTE PARA EL DESARROLLO
DE SI ORIENTADO A OBJETO
1 Análisis de Requerimientos
11
10 2 Especificación de los Requerimientos de los Usuarios
9
3 Especificación de los Requerimientos del Software
8
4 Diseño del Sistema
7 5 Diseño del Programa
6
5
4 6 Codificación
7 Prueba de Unidad
3
8 Prueba del Sistema
2 9 Uso del Programa
1 10 Mantenimiento
11 Desarrollo Adicional
SISTEMAS DE INFORMACIÓN II TEORÍA
11. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
MODELO DEL CAOS
Defi nición
de problemas
Status Desarrollo
quo técnico
Integración
de soluciones
Defi nición
de problemas
Status Stat us Desarroll o
quo
quo técnico
Integración
de soluciones
Definición Status
quo
Defi nición
de problemas
Desarrollo
técnico
de problemas
Integración
de soluciones
Definición
de problemas
Status Desarrollo Status
quo
Status Desarrollo
quo técnico
quo técnico
Integración
de soluciones
Integración Definición
de problemas
de soluciones
Status Desarrollo
quo técnico
Integración
de soluciones
LAS FASES DE UN LAZO DE
RESOLUCIÓN DE PROBLEMAS
FASES DENTRO DE LAS FASES DE UN
LAZO DE RESOLUCIÓN DE PROBLEMAS
SISTEMAS DE INFORMACIÓN II TEORÍA
12. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
RAD (Rapid Application Development)
• “Aproximación al desarrollo de sistemas que incorpora una
variedad de herramientas de diseño automatizadas (CASE).
Desarrollada por el ‘gurú’ de la industria, James Martin, está
centrada tanto en la administración humana y en la
participación del usuario, como en la tecnología”. (Freedman,
1993)
• “Metodología para el desarrollo de sistemas creada para
disminuir radicalmente el tiempo necesario para diseñar e
implementar Sistemas de Información. El RAD cuenta con una
participación intensa del usuario, sesiones JAD, prototipaje,
herramientas CSE integradas y generadores de código”.
(Valacich et al., 2001)
• El RAD requiere de cuatro (4) ingredientes esenciales: gerencia,
gente, metodologías y herramientas.
SISTEMAS DE INFORMACIÓN II TEORÍA
13. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
RAD (Rapid Application Development)
Identificación Planificación
y selección de Ciclo de Vida
del proyecto requerimientos RAD
Iniciación y de James Martin
planificación Diseño
del proyecto
Análisis
Desarrollo
Diseño
lógico
Cutover
Diseño
Ciclo de Vida físico
Tradicional de
Desarrollo Implemen-
tación
Mantenimiento
SISTEMAS DE INFORMACIÓN II TEORÍA
14. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
RAD (Rapid Application Development)
• Muchas firmas han adoptado el RAD como uno de sus enfoques
para el desarrollo de sistemas. Entre éstas, esta Cambridge
Technology Partners (CTP), especificando un ciclo de vida para el
RAD que consiste en cinco (5) pasos:
1) Enfoque
2) Taller de soluciones rápidas.
3) Diseño.
4) Desarrollo.
5) Rollout.
Fases del Ciclo de Vida RAD de James Martin
Planificación de Diseño Construcción Cutover
requerimientos
Taller de
Enfoque soluciones Diseño Desarrollo Rollout
rápidas
FASES DEL CICLO DE VIDA RAD DEL CTP. (Valacich et al., 2001)
SISTEMAS DE INFORMACIÓN II TEORÍA
15. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
RAD (Rapid Application Development)
VENTAJAS DESVENTAJAS
Ahorro dramático de tiempo durante el desarrollo del Mayor velocidad y menores costos pueden repercutir
sistema. en la calidad del sistema (p.e., debido a falta de
atención en controles internos).
Puede ahorrarse tiempo, dinero y esfuerzo humano. Peligrosa incoherencia entre el sistema desarrollado y
el negocio, debido a la falta de información o a
procesos del negocio sobreentendidos.
Estrecha correspondencia entre los requerimientos Pueden producirse inconsistencias entre diseños
del usuario y las especificaciones del sistema. internos y entre sistemas.
Trabaja muy bien cuando la velocidad de desarrollo Posibles violaciones de estándares de programación
es importante (cambios rápidos de las condiciones relacionadas con nomenclaturas inconsistentes e
del negocio), o cuando lo sistemas pueden insuficiente documentación.
capitalizarse en oportunidades estratégicas.
Permite cambiar rápidamente el diseño de los Dificultades con el reuso de módulos para futuros
sistemas cuando los usuarios lo demandan sistemas.
Los sistemas son optimizados por los usuarios Carencia de un diseño escalable dentro del sistema.
involucrados en el proceso del RAD.
Se concentra en los elementos esenciales del sistema, Falta de atención de la futura administración del
desde el punto de vista del usuario. sistema dentro de los sistemas existentes (p.e., falta
de integración con el modelo de datos organizacional
y facilidades de recuperación del sistema)
El usuario se compromete y se hace propietario del Altos costos de compromiso por parte del personal
sistema clave.
VENTAJAS Y DESVENTAJAS DEL RAD. (Valacich et al., 2001)
SISTEMAS DE INFORMACIÓN II TEORÍA
16. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
MICROSOFT SOLUTION FRAMEWORK (MSF)
• Basado en las técnicas desarrolladas por Microsoft
Corporation, su brazo consultor y sus socios, MSF provee un
enfoque sistemático que asegura alta calidad y entrega a
tiempo (Felder, 1999).
• Los bloques de construcción centrales para la guía de
soluciones basadas en MSF son los seis modelos principales
MSF: (Microsoft, 1999)(Felder, 1999)
1) Modelo de arquitectura de la empresa.
2) Modelo del equipo.
3) Modelo del proceso.
4) Modelo de gestión de riesgo.
5) Modelo del proceso de diseño.
6) Modelo de la aplicación.
SISTEMAS DE INFORMACIÓN II TEORÍA
17. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
MICROSOFT SOLUTION FRAMEWORK (MSF)
Versión
ESTABILIZACIÓN VISUALIZACIÓN
Alcance
Visión/alcance
completado
aprobado
1er uso
DESARROLLO PLANIFICACIÓN
Plan de proy.
aprobado
MODELO DE PROCESO MSF. (Microsoft, 1999)
• El MSF requiere de un equipo organizado, código estructurado y
procesos sistemáticos, que minimizan el riesgo y maximizan la
capacidad para tomar decisiones inteligentes.
SISTEMAS DE INFORMACIÓN II TEORÍA
18. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
Metodología Evolutiva Incremental para el Desarrollo de Aplicaciones de Workflows (MEIDAW)
• Las metodologías encontradas no eran lo suficientemente
sistémicas para adaptarse a los desarrollos de Workflow deseados
y, además, no pudieron aplicarse por completo debido a la
restricción de que la metodología debe cumplir todo el proceso de
desarrollo dentro la empresa.
• Se utilizan elementos de la Metodología Evolutiva Incremental
(MEI) como esquema de trabajo (enfocada al proceso), con el
soporte de los estándares metodológicos de Workflow Management
Coalition (WFMC), para buscar la calidad en el producto.
• Como resultado, se incorporaron los estándares metodológicos de
WFMC dentro de la metodología general aplicada para el desarrollo
de cualquier sistema dentro de la organización; también se
determinó que estos se adoptarán para los desarrollos futuros que
se realicen en la empresa en el área de Workflows.
SISTEMAS DE INFORMACIÓN II TEORÍA
19. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
Metodología Evolutiva Incremental para el Desarrollo de Aplicaciones de Workflows (MEIDAW)
LA ORIENTACIÓN AL PROCESO:
• Contiene, para el control de los proyectos, elementos de Metodologías
del tipo Evolutiva Incremental (MEI); entre ellos están los incrementos
planificatorios.
• La metodología sigue el esquema general de las metodologías
tradicionales de desarrollo: análisis, diseño, implementación, pruebas,
documentación e implantación. Estas etapas se encuentran levemente
solapadas, es decir, la parte final de una etapa se realiza en paralelo
con el comienzo de la próxima, lo cual se ajusta bastante a la realidad.
• Esta es una metodología muy sistémica lo cual permite una mayor
adaptabilidad a los cambios y descubrimientos que ocurran sobre la
marcha, permitiendo así mayores posibilida-des de lograr una alta
efectividad. Además, permite reducir el tiempo de finalización si se
aumentan los recursos, esto la hace adaptable, inclusive al tiempo
[Callaos y Callaos, 1995].
SISTEMAS DE INFORMACIÓN II TEORÍA
20. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
Metodología Evolutiva Incremental para el Desarrollo de Aplicaciones de Workflows (MEIDAW)
• Dentro de los incrementos existen dos procesos de suma importancia:
Planificación y Ejecución. Además, contiene dos aspectos muy impor-
tantes para el control en los incrementos: Feedback y Feedforward.
Incrementos o etapas de
planificación
Etapa 5
Etapa 4
Etapa 3 Planificación
Etapa 2 Ejecución
Etapa 1
t0 t1 t2 t3 t4 t5
Tiempo de ejecución
ESQUEMA DE LA METODOLOGÍA, ORIENTACIÓN AL PROCESO
• La planificación y las actividades de los incrementos planificatorios se
registran a través de los informes de avance, que contienen: Estado
actual del sistema, Actividades completadas y Actividades retrasadas.
SISTEMAS DE INFORMACIÓN II TEORÍA
21. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
Metodología Evolutiva Incremental para el Desarrollo de Aplicaciones de Workflows (MEIDAW)
LA ORIENTACIÓN AL PRODUCTO:
• En las etapas del proyecto, desde un enfoque al producto, los
aspectos de mayor importancia son los productos finales
dentro de cada una de las fases dentro de un esquema
tradicional de desarrollo.
Fases del proyecto
Incremento(s) de
implantación
Incremento(s) de
documentacion
Incremento(s) de
pruebas Periodo de
actividad
Incremento(s) de
implementación
Incremento(s) de
diseño
Incremento(s) de
análisis
t0 t1 t2 t3 t4 t5 t4 t5
Tiempo de ejecución
ESQUEMA DE LA METODOLOGÍA, ORIENTACIÓN AL PRODUCTO
SISTEMAS DE INFORMACIÓN II TEORÍA
22. UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
Metodología Evolutiva Incremental para el Desarrollo de Aplicaciones de Workflows (MEIDAW)
Los productos de cada una de las macro-etapas anteriores son:
• ANÁLISIS. Documento de Alcance y Requerimientos, y Glosario.
• DISEÑO DETALLADO. Reglas del Negocio, Flujo de Trabajo, Roles,
Estados y Transiciones de los Ítems de Trabajo, Escalaciones,
Notificaciones, Interfaces y Reportes.
• DESARROLLO DEL SISTEMA. Configuración de la Arquitectura de
Desarrollo, Implementación de la Estructura de Datos, Desarrollo de
Componentes y Servicios, Programación de Pantallas, Filtros y Enlaces
Activos, y Programación de Notificaciones, Escalaciones y Reportes.
• PRUEBAS. Pruebas Funcionales y Pruebas de Carga de Datos.
• DOCUMENTACIÓN FORMAL DEL SISTEMA. Manual del Usuario y
Manual del Administrador del Sistema.
• IMPLANTACIÓN DEL SISTEMA. Configuración del Servidor de Pro-
ducción y de Base de Datos, Migración del Sistema, Pruebas del Siste-
ma en el Ambiente de Producción y el Entrenamiento de los Usuarios.
SISTEMAS DE INFORMACIÓN II TEORÍA