CORPORACIÓN IBEROAMERICANA
DE CIENCIA Y TECNOLOGIA CIBERCTEC
MÓDULO
ANALISIS Y DISEÑO DE SISTEMAS
PRIMERA UNIDAD
CICLO DE VIDA DE SOFTWARE
AUTOR:
Leyder Hernán López Díaz
Ingeniero de Sistemas
VILLAVICENCIO 2012
1
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
____________________________________________________
PROGRAMA: ________________________________________
JORNADA: __________________________________________
CALIFICACION: _______________________________________
_____________________
FIRMA DEL DOCENTE
2
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
TABLA DE CONTENIDO
PAG
3
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
COMPONENTE TELEINFORMATICA
220501007 Construir el sistema que cumpla con
COMPETENCIA los requisitos de la solución informática.
220501007 1 Diseñar el software de acuerdo con el
concepto. OB
220501007 2 Desarrollar la lógica y mecánica del
software de acuerdo con el diseño establecido.
220501007 3 Desarrollar la lógica y mecánica del
ELEMENTO videojuego de acuerdo con el diseño establecido. OB
220501007 4 Implementar el arte y audio en el
videojuego de acuerdo con el diseño. OB
220501007 5 Depurar el videojuego de acuerdo con
las pruebas realizadas.
1. Diseñar modelos de prueba de
aplicaciones informáticas.
CAMPO DE ACCION 2. Implementación de lenguajes de
(Capacidad) programación para realizar pruebas.
INTENSIDAD HORARIA
NUMERO DE SEMANAS 1
INTENSIDAD HORARIA 12
PRACTICA 8
TEORICA 4
4
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
5
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
2. OBJETIVO GENERAL
6
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
3 PRUEBA INICIAL
7
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
Dado que esta tarea siempre estará influida por la fase del desarrollo en curso, se
explicará de forma distribuida a lo largo de las diferentes fases como un apartado
especial para recalcar su importancia en el conjunto del desarrollo del software.
8
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
Algunos autores dividen la fase del diseño en dos partes: Diseño global o
arquitectónico y diseño detallado. En el primero se transforman los requisitos en
una arquitectura de alto nivel, se definen las pruebas que debe satisfacer el
sistema en su conjunto, se esboza la documentación y se planifica la integración.
En el detallado para cada módulo se refina el diseño, se definen los requisitos del
módulo y su documentación.
9
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
Después de cada etapa se realiza una revisión para comprobar si se puede pasar
a la siguiente. Trabaja en base a documentos, es decir, la entrada y la salida de
cada fase es un tipo de documento específico. Idealmente, cada fase podría
hacerla un equipo diferente gracias a la documentación generada entre las fases.
Los documentos son:
Ventajas
La planificación es sencilla.
Inconvenientes
10
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
Propuesto por Alan Davis, tiene las mismas fases que el anterior pero se
considera el nivel de abstracción de cada una. Una fase además de utilizarse
como entrada para la siguiente, sirve para validar o verificar otras fases
posteriores
11
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
Según el modelo en cascada puro una fase solo puede empezar cuando ha
terminado la anterior. En este caso sin embargo, se permite un solapamiento entre
fases. Por ejemplo, sin tener terminado del todo el diseño se comienza a
implementar.
Es aún más difícil controlar el progreso del proyecto debido a que los finales
de fase ya no son un punto de referencia claro.
12
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
en consecuencia en paralelo con los demás. Cada uno tendrá seguramente fechas
de terminación distintas. Una vez que han terminado todos se integran y se prueba
el sistema en su conjunto. La ventaja es que se puede tener a más gente
trabajando en paralelo de forma eficiente. El riesgo es que existan
interdependencias entre los subproyectos.
Hay dos partes en el ciclo de vida, similares al anterior. Por un lado está el análisis
y el diseño global. Por otra parte están los pequeños incrementos, con las fases
de diseño detallado, codificación y mantenimiento.
1. Preguntar al usuario.
Propuesto inicialmente por Boehm en 1988. Consiste en una serie de ciclos que
se repiten. Cada uno tiene las mismas fases y cuando termina da un producto
ampliado con respecto al ciclo anterior. En este sentido es parecido al modelo
incremental, la diferencia importante es que tiene en cuenta el concepto de riesgo.
Un riesgo puede ser muchas cosas: requisitos no comprendidos, mal diseño,
errores en la implementación, etc.
14
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
Restricciones:
o Desde el punto de vista del producto: Interfaces de tal o cual manera,
rendimiento, etc.
No existe una diferencia muy clara entre cuando termina el proyecto y cuando
empieza la fase de mantenimiento. Cuando hay que hacer un cambio, este puede
consistir en un nuevo ciclo.
Ventajas
15
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
Inconvenientes
Dónde es adecuado
Los tipos de ciclos de vida que se han visto hasta ahora son relativos al análisis y
diseño estructurados, pero los objetos tienen una particularidad, y es que están
basados en componentes que se relacionan entre ellos a través de interfaces, o lo
que es lo mismo, son mas modulares y por lo tanto el trabajo se puede dividir en
un conjunto de miniproyectos. Además, hoy en día la tendencia es a reducir los
riesgos, y en este sentido, el ciclo de vida en cascada no proporciona muchas
facilidades. Debido a todo esto, el ciclo de vida típico en una metodología de
diseño orientado a objetos es iterativo e incremental.
Modelo fuente
16
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
o Planificación
o Investigación
o Especificación
o Implementación
o Revisión
3. Entrega
Cada clase puede tener un ciclo de vida sólo para ella debido a que cada una
puede estar en una fase diferente en un momento cualquiera. La ventaja es que
permite un desarrollo solapado e iterativo.
Adquisición
Suministro
Desarrollo (Planificación (Plan de Requisitos y Plan del Ciclo de Vida),
Análisis de riesgos, Requisitos y arquitectura del sistema y software,
Prototipos, evaluaciones del cliente, sistema de ingeniería, implementación)
Mantenimiento
Soporte (documentación, revisión conjunta, verificación, resolución de
problemas)
* Infraestructura
* Mejora
* Formación
18
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
• Más del 30% de todos los proyectos de software son cancelados antes de su
finalización.
• Mas del 70% de los proyectos restantes fallan al entregar y evaluar las
características esperadas.
• Un proyecto promedio ejecuta 189% sobre el presupuesto aprobado y extiende
sus actividades sobre el 222%.
Qué es un Requerimiento?
– Una capacidad del software necesaria por el usuario para resolver un problema
o alcanzar un objetivo.
19
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
– Una capacidad del software que debe ser reunida o poseída por un sistema o
componente del sistema para satisfacer un contrato, especificación, estándar, u
otra documentación formal.
Rol de Requerimientos
• Los Requerimientos toman vida desde que realizamos nuestro primer encuentro
de interlocución con usuarios o clientes.
• Este puede desarrollarse utilizando cualquiera de una variedad de técnicas como
entrevistas para intercambiar opiniones, brainstorming, prototipeo, cuestionarios,
etc.
• Cuando los requerimientos se logran redactar a un significativo nivel de detalle,
tendremos listo el documento denominado “Especificación de Requerimientos”.
20
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
21
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
• Se derivan del dominio del sistema más que de las necesidades específicas de
los usuarios. Pueden ser requerimientos funcionales nuevos, restringir los
existentes o establecer cómo se deben ejecutar cálculos particulares.
• Los requerimientos del dominio son importantes debido a que a menudo reflejan
los fundamentos del dominio de aplicación.
• Si estos requerimientos no se satisfacen, es imposible hacer que el sistema
trabaje de forma satisfactoria.
Ejemplo.
1.1 Al usuario se le proveerá con los recursos para definir el tipo de archivos
externos.
1.2 Cada tipo de archivo externo tendrá una herramienta asociada que será
aplicada al archivo.
1.3 Cada tipo de archivo externo se representará como un icono especifico sobre
la pantalla del usuario.
1.4 Se proveerán recursos para que el usuario defina el icono que representa un
tipo de archivo externo.
Requerimientos Funcionales
• Estos dependen del tipo de software y del sistema que se desarrolle y de los
posibles usuarios del software.
22
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
Sistema de Biblioteca
• Sin embargo, el requerimiento es ambiguo puesto que no clarifica que los visores
para cada formato deban ser provistos.
Requerimientos No Funcionales
23
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
PROPIEDAD MEDIDA
Rapidez • Transacciones procesadas por segundo
• Tiempo de respuesta al usuario y a eventos
• Tiempo de actualización de la pantalla
Tamaño • KB’s
• Tamaño de RAM
Facilidad de uso • Tiempo de capacitación
• Número de ventanas de ayuda
Fiabilidad • Tiempo promedio entre fallas
• Probabilidad de no disponibilidad
• Tasa de ocurrencia de las fallas
• Disponibilidad
Robustez • Tiempo de reinicio después de fallas
• Porcentaje de eventos que provocan las fallas
• Probabilidad de corrupción de los datos después de las
fallas
Portabilidad • Porcentaje de declaraciones dependientes del objetivo
• Número de sistemas objetivo
24
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
25
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
Cadena de Responsabilidades
26
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
• Un diagrama que muestra las actividades de cada actor interno o externo como
consecuencia de su interacción para la atención de un requerimiento.
• Los roles de usuario son definidos en los rectángulos de la parte superior de
cada línea de rol vertical.
• Modela la interacción entre diferentes actores, incluyendo al cliente, dentro de un
proceso de negocios.
• Este ilustra el flujo de trabajo (líneas verticales gruesas) hechas por diferentes
roles (líneas verticales delgadas) vía los eventos que causan la interacción
(flechas horizontales).
• Los puntos de inicio y término son círculos, y las actividades son las líneas
gruesas asignadas a cada rol de usuario.
• Las flechas definen las condiciones para la transición entre estas entidades.
27
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
Diagrama de colaboración
Diagrama de Colaboración
Diagrama de Actividades
• Es un diagrama que presenta una vista alternativa a las actividades que realiza
cada actor externo o interno para la atención de un requerimiento, y que puede
utilizarse como complemento a la vista mostrada a través de una cadena de
responsabilidades.
28
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
• Cada actor del negocio también es un potencial actor del sistema, si este actor
de negocio interactúa directamente con el sistema bajo desarrollo.
29
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
30
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
El jugador.
31
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
Verdadera / Falsa
Los actores de un sistema representan, en particular,
personas (mas precisamente roles que interpretan
personas), dispositivos u otros sistemas, y en general,
cualquier cosa que interactúa con dicho sistema.
Los casos de uso, sus especificaciones y el diagrama de
casos de uso de un sistema permiten acordar, entre el
equipo de desarrollo y el cliente, los límites y los requisitos
funcionales de dicho sistema.
La especificación de un caso de uso describe cómo se
implementa el comportamiento requerido para el sistema en
dicho caso de uso.
Un escenario representa una instancia de un caso de uso.
El diagrama de casos de uso de un sistema puede
organizarse por medio de relaciones que se pueden dar
entre los diferentes casos de uso. Estas relaciones son las
de: generalización/especialización, inclusión, y extensión.
Debería utilizarse una relación de extensión, entre casos de
32
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
33
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
34
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
4. PISTAS DE APRENDIZAJE
35
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
5. GLOSARIO
Ciclo de vida. Periodo de tiempo que comienza con la concepción del producto de
software y termina cuando el producto esta disponible para su uso. Normalmente,
el ciclo de vida del software incluye las fases de concepto, requisitos, diseño,
implementación, prueba, instalación, verificación, validación, operación y
mantenimiento, y, en ocasiones, retirada. Nota: Esta fases pueden superponerse o
realizarse iterativamente.
36
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S
ANALISIS Y DISEÑO DE SISTEMAS
6. BIBLIOGRAFÍA
Fowler, Martin; Kendall Sccott (1999) (en Español). UML Gota a Gota.
Addison Wesley. ISBN 9789684443648.
37
C o r p o r a c i o n I b e r o a m e r i c a d e C i e n c i a y Te c n o l o g i a C I B E R C T E C S A S