Ciclo de Vida - prof.usb.ve.

Anuncio
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
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
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únmente “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
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
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
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
Análisis
Análisis
¿Qué?
Análisis de los Requerimientos de los Usuarios
Espacio
del
Problema
Especificación de los Requerimientos del Software
Diseño
Diseño
¿Cómo?
Diseño Lógico o General (Sistemas)
Espacio
de la
Solución
Diseño Físico o Detallado (Programa)
Codificación / Implementación
Prueba del Programa a Nivel de Unidad
ImplemenImplementación
tación
Prueba del Programa a Nivel de Sistema
Uso del Programa
Mantenimiento del Software
SISTEMAS DE INFORMACIÓN II
TEORÍA
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
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
ingeniería
Diseño
rápido
Refinamiento
del prototipo
Construcción
del prototipo
Evaluación del
prototipo por
parte del cliente
SISTEMAS DE INFORMACIÓN II
TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
MODELO EN ESPIRAL O EVOLUTIVO
Recolección de
requisitos y
planificación
del proyecto
iniciales
PLANIFICACIÓN
ANÁLISIS DE RIESGO
Análisis de riesgo
basado en los
requisitos iniciales
Análisis de riesgo
basado en la
reacción del cliente
Planificación
basada en los
comentarios
del cliente
Decisión de
seguir o no
Hacia el
sistema final
Prototipo inicial
del software
Evaluación
del cliente
EVALUACIÓN
DEL CLIENTE
INGENIERÍA
Prototipo del
siguiente nivel
Sistema de
ingeniería
SISTEMAS DE INFORMACIÓN II
TEORÍA
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
10
1
Análisis de Requerimientos
2
Especificación de los Requerimientos de los Usuarios
3
Especificación de los Requerimientos del Software
8
4
Diseño del Sistema
7
6
5
4
5
Diseño del Programa
6
Codificación
7
Prueba de Unidad
8
Prueba del Sistema
2
9
Uso del Programa
1
10
Mantenimiento
11
Desarrollo Adicional
11
9
3
SISTEMAS DE INFORMACIÓN II
TEORÍA
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
quo
Desarrollo
técnico
Integración
de soluciones
Defi nición
de problemas
Status
quo
Stat us
quo
Desarroll o
técnico
Integración
de soluciones
Definición
de problemas
Status
quo
Defi nición
de problemas
Status
quo
Desarrollo
técnico
Integración
de soluciones
Desarrollo
técnico
Definición
de problemas
Status
quo
Status
quo
Desarrollo
técnico
Integración
de soluciones
Integración
de soluciones
Definición
de problemas
Status
quo
Desarrollo
técnico
Integración
de soluciones
LAS FASES DE UN LAZO DE
RESOLUCIÓN DE PROBLEMAS
SISTEMAS DE INFORMACIÓN II
FASES DENTRO DE LAS FASES DE UN
LAZO DE RESOLUCIÓN DE PROBLEMAS
TEORÍA
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
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
RAD (Rapid Application Development)
Identificación
y selección
del proyecto
Planificación
de
requerimientos
Iniciación y
planificación
del proyecto
Ciclo de Vida
RAD
de James Martin
Diseño
Análisis
Desarrollo
Diseño
lógico
Ciclo de Vida
Tradicional de
Desarrollo
Cutover
Diseño
físico
Implementación
Mantenimiento
SISTEMAS DE INFORMACIÓN II
TEORÍA
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
requerimientos
Enfoque
Taller de
soluciones
rápidas
Diseño
Diseño
Construcción
Desarrollo
Cutover
Rollout
FASES DEL CICLO DE VIDA RAD DEL CTP. (Valacich et al., 2001)
SISTEMAS DE INFORMACIÓN II
TEORÍA
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
sistema.
Mayor velocidad y menores costos pueden repercutir
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
del usuario y las especificaciones del sistema.
Pueden producirse inconsistencias entre diseños
internos y entre sistemas.
Trabaja muy bien cuando la velocidad de desarrollo
es importante (cambios rápidos de las condiciones
del negocio), o cuando lo sistemas pueden
capitalizarse en oportunidades estratégicas.
Posibles violaciones de estándares de programación
relacionadas con nomenclaturas inconsistentes e
insuficiente documentación.
Permite cambiar rápidamente el diseño de los
sistemas cuando los usuarios lo demandan
Dificultades con el reuso de módulos para futuros
sistemas.
Los sistemas son optimizados por los usuarios
involucrados en el proceso del RAD.
Carencia de un diseño escalable dentro del sistema.
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
sistema
Altos costos de compromiso por parte del personal
clave.
VENTAJAS Y DESVENTAJAS DEL RAD. (Valacich et al., 2001)
SISTEMAS DE INFORMACIÓN II
TEORÍA
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
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ALGUNOS MODELOS DE DESARROLLO DE SI
MICROSOFT SOLUTION FRAMEWORK (MSF)
Versión
VISUALIZACIÓN
ESTABILIZACIÓN
Alcance
completado
1er uso
Visión/alcance
aprobado
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
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
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
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 importantes 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
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
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 Producción y de Base de Datos, Migración del Sistema, Pruebas del Sistema en el Ambiente de Producción y el Entrenamiento de los Usuarios.
SISTEMAS DE INFORMACIÓN II
TEORÍA
Descargar