Recipes/Menus y ciencias computacion">
Class 1 - Ciclo de Vida
Class 1 - Ciclo de Vida
Class 1 - Ciclo de Vida
Ciclos de Vida
&
Metodologas de
Desarrollo de
software
SESION 1 y 2
CICLO DE VIDA
Concepto
El software nace, crece y muere
Es su ciclo de vida
Nace con sus requerimientos y diseo
Crece con su desarrollo y mantenimiento
Muere cuando se reemplaza por otro
Software obsoleto
Software Obsoleto
Razones
Crecimiento de la empresa
Cambio de los requerimientos originales
Nmero de usuarios
Nmero de transacciones
Distribucin del software
Cambio de operaciones
Ampliacin
Integracin con otros sistemas
CONCEPTO DE CICLO DE
Una
aproximacin lgica a la adquisicin, el suministro, el
VIDA
desarrollo, la explotacin y el mantenimiento del software
IEEE 1074
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
ISO 12207-1
CICLO DE VIDA
1 .identificacin del
problema,
oportunidades y
objetivo.
2.Determinacin de
los requerimientos
de informacin.
3 .Anlisis de las
necesidades
del sistema.
4 .Diseo del
sistema
(recomendado)
.
7.Implantacin
y evaluacin
del sistema.
6.Prueba y
mantenimiento
.
5.Desarrollo y
documentaci
n del software.
PRIMERA FASE
IDENTIFICACION DE PROBLEMAS OPORTUNIDADES Y
OBJETIVOS
INVOLUCRADOS
Usuarios.
Analista.
Administradores de
sistemas
1ra. Fase
Identificaci
n de
problemas y
objetivos
GENERA
Estudio de factibilidad.
Definicin del problema.
Sumarizacin de objetivos.
ACTIVIDADES
Entrevista a los
administradores y usuarios.
Sumarizacin de
conocimientos adquiridos.
Estimacin del alcance del
proyecto.
Documentacin de
resultados.
RESULTADOS
Tomar la decisin se contina
el proyecto propuesto. Si la
empresa no cuenta con
dinero.
Se desea atacar problemas
no relacionados. Problemas
no automatizados.
Recomendar una solucin
manual.
SEGUNDA
FASE
DETERMINACION DE LOS REQUERIMIENTOS DE INFORMACION
Herramientas:
Muestra e investigacin de datos relevantes.
Entrevista.
Cuestionario.
Comportamiento de los tomadores de decisin.
Prototipos.
El Analista:
Comprende que informacin necesitan los usuarios para trabajar.
Sirve:
Para formar la imagen que el analista tiene de la organizacin y sus objetivos.
Involucrados:
Analista.
Usuarios.
Administradores de las operaciones.
El analista necesita:
Los detalles de las funciones actuales del sistema.
Quin?
Qu?
Dnde?
Cundo?
Cmo?
desarrollo
Personas
Actividad del negocio
Ambiente
En que momento
De que manera se
Al trmino de la fase:
El analista debe comprender el porque de los funciones
del negocio.
Tener informe sobre personas, objetivos y
procedimientos.
Herramientas:
tcnicas para la recoleccin de datos.
TERCERA FASE
ANALISIS DE LAS NECESIDADES DEL
SISTEMA
DEFINICION
Proceso que sirve para
recopilar e interpretar
los hechos.
Diagnostica problemas
y utiliza estos hechos
para mejorar el
sistema.
3er. Anlisis de
las necesidades
del sistema
QUIEN LO
REALIZA
El analista.
TOMA DE DECISION
Naturaleza de los
programas a construir.
Comprender mbito o
enlace o alcance de la
informacin a manejar.
Funcin y protocolos
requeridos.
Documentar
requisitos.
Revisar con el cliente.
DEFINE
Papel de cada elemento de cada
parte del Sistema de Informacin.
Asignar a la computadora el papel
de desempear y en decir en que
no tendr inherencia.
(Tercera fase)
ANALISIS DE LAS NECESIDADES DEL SISTEMA
ALCANCES
Analizar requisitos.
Determinar
requisitos.
Estimar costos.
Diferentes tareas.
Planificar por
programas.
Actividades.
PREPARA
Una propuesta del sistema
que sumar lo encontrado.
Anlisis costo beneficio de
las alternativas.
Anlisis de las
necesidades
del sistema.
PLANTEAMIENTO
DEL PROBLEMA
FACTIBILIDAD
Econmica.
Operativa.
Tcnica.
HERRAMIENTAS
Diagrama de flujo de datos
(E-PRO-S).
Diccionario de datos.
Anlisis de las decisiones
(condiciones, acciones y
reglas).
Estructurados.
Semiestructurados (rbol de
decisin, tabla de decisin,
Espaol estructurado).
Criterios mltiples.
Cuarta Fase
Diseo Del Sistema (Recomendado).
Usa la informacin recolectada anteriormente para hacer el
diseo lgico de S1 (pseudo cdigo, DF, etc.).
Disea procedimientos precisos para la captura de datos
(diseo de entradas).
Proporciona entrada efectiva para el sistema de informacin
mediante el uso de tcnicas para el diseo de formas y
pantallas
Disea la interfaz del usuario (teclado, men de pantalla
y ratn)
Diseo de salidas
Diseo de base de datos
Diseo de archivo
Diseo de control y respaldo, etc.
Cuarta Fase
OBJETIVO:
Son las metas o fines hacia las cuales se quiere llegar. Es determinar los
resultados deseados Qu es lo que se requiere?
POLITICA:
Son reglas que se establecen para dirigir funciones y seguir qu stas se
desempeen de acuerdo con los objetivos deseados (son guas para las toma
de decisin).
MISION:
Es la funcin o tarea bsica de una organizacin o individuo.
ESTRATEGIA:
Son planes, su funcin consiste en regir la obtencin uso y disposicin, de
los medios necesarios para alcanzar los objetivos.
REGLAS:
Describen con claridad las acciones especificas requeridas o las que no se
deben llevar acabo.
Son aquellos que guan una accin sin especificar un orden de tiempo, de
hecho.
NORMAS:
Todo sealamiento imperativo de algo que ha de realizarse sea genrico o
especfico.
(Quinta Fase)
Desarrollo Y Documentacin Del
Software
Las representaciones del diseo
deben ser traducidas a un lenguaje artificial,
dando como resultado unas instrucciones ejecutadas por la computadora el
paso de la codificacin es el que lleva acabo esa traduccin.
Identificar
Ambiente operativo
Lgica de los programas
Eleccin del lenguaje de programacin
Tipo de documentacin
Manual del usuario
Manual de programacin
Manual del sistema
El analista trabaja
con los programadores para desarrollar cualquier sw original que necesite.
PRUEBA
CARACTERISTICAS
Antes de usar el
software debe
probarse.
Disminuye problemas
antes de la entrega del
software.
6. Fase
Prueba y mantenimiento del
sistema.
TIPOS
Prueba con datos
de ejemplo.
Prueba con datos
reales del sistema.
FORMAS
Programadores solo.
Analistas y
programadores.
MANTENIMIENTO
Es efectuado a lo largo de
la vida del sistema de
informacin.
CONTROL
Se desarrollan a lo largo del ciclo.
Sirve para asegurar que toda
informacin del software que este disponible.
Documentacin
Confiabilidad a usuarios.
Debe seguir creciendo.
SEGURIDAD
Tomar en cuenta:
Prueba.
Verificacin y validacin.
Certificacin confirmacin que el programa esta bien hecho.
Importancia del mantenimiento. Los programas de computacin deben ser
modificados y mantenidos y actualizados. La cantidad promedio del tiempo y gastado en
mantenimiento en una instalacin del sistema de informacin gerencial (MIS) es de 40% al
60%.
RAZONES
Corregir errores del
SW para mejorar la
capacidad del SW
en respuesta a las
necesidades de la
organizacin.
.
EVALUACION O
REVISION (Despus de
la implantacin)
Determinar si el
sistema cumple con
las expectativas
donde son necesarias
las mejoras.
Sptima fase
Implantacin y
evaluacin del
sistema.
CAPACITACION
Entrenamiento de los
usuarios para manejar el
sistema.
Involucra a los operadores y
usuarios.
Una mala capacitacin puede
producir errores de usuarios.
CONVERSION
Proceso de cambiar un
sistema a una nuevo.
Anticipar los problemas ms
comunes:
Sistema paralelo.
Conversin directa.
Enfoque piloto.
Sistema por etapas.
El usuario
y
su
Sistema
Definitivo.
?
Su
Suma
siste
s
i
t em
defisn
de itivao
finitiv
o
Sistemas II.
Sistemas II.
Su
ssisistetemma
it a o
ddeefifi
nn
itiviv
o
Sistemas II.
Tal vez
ellos no
me
entendiero
n...
Sistemas II.
Su
Su
ssisistetemma
it a o
ddeefifi
nn
itiviv
o
?
Su
Su
ssisistetemma
it a o
ddeefifi
nn
itiviv
o
Sistemas II.
LA EXPERIENCIA DEMUESTRA
QUE
No siempre se definen los
requisitos en forma:
Completa
Correcta y
Consistente
Sistemas II.
s erim
o
L
qu
re on:
s
to
n
e
i
Explicacin complementaria
Anlisis
Entrada
Conocimiento del dominio de la aplicacin,
actividades de los usuarios, mercado, etc.
Actividades
Identificar las necesidades del usuario
Anlisis de viabilidad
Determinar los requerimientos de la aplicacin
Salida
Documento de requerimientos del software
Diseo
Entrada
Documento de requerimientos del software
Actividades
Establecer estrategia de solucin
Anlisis de alternativas. Formalizar la solucin
Descomponer y organizar la aplicacin
Fijar descripciones de cada mdulo
Salida
Documento de diseo del software
UML (Universal Modeling Language)
Codificacin
Entrada
Documento de diseo del software
Actividades
Creacin del cdigo fuente
Pruebas de unidades
Salida
Cdigo de mdulos, probado
Integracin. Validacin
Entrada
Cdigo de mdulos, probado
Documento de requerimientos del software
(validacin)
Actividades
Pruebas de integracin
Pruebas de validacin
Salida
Aplicacin completa, lista para usar
Mantenimiento
Entrada
Software listo para usar
Actividades
Instalacin
Uso en paralelo
Implementacin
Nuevos requerimientos, correcciones y
modificaciones
Soporte de usuarios
Salida
Aplicacin respondiendo a las necesidades
actuales
Desarrollo evolutivo
Ciclo de vida en espiral
Uso de prototipos (de diversa fidelidad)
Extreme Programming
RAD (Rappid Application Development)
Actividades
Modelo en cascada
Anlisis
Diseo
Codificacin
Integracin
Mantenimiento
Modelo Incremental
2. Modelo Iterativo
Consiste en la iteracin de varios ciclos de vida en
cascada. Al final de cada iteracin se le entrega al cliente
una versin mejorada o con mayores funcionalidades del
producto.
El cliente es quien despus de cada iteracin evala el
producto y lo corrige o propone mejoras.
Estas iteraciones se repetirn hasta obtener un producto
que satisfaga las necesidades del cliente.
Este modelo se suele utilizar en proyectos en los que los requisitos no
estn claros por parte del usuario, por lo que se hace necesaria la
creacin de distintos prototipos para presentarlos y conseguir la
conformidad del cliente.
Ventajas
Inconvenientes
METODOLOGA ORIENTADO A
OBJETOS
Son iterativas e incrementales
Fcil de dividir el sistema en varios
subsistemas independientes
Se fomenta la reutilizacin de
componentes
proceso es:
Guiado por casos de uso
Centrado en la arquitectura
Con un ciclo de vida iterativo e incremental
PARTE
DINMICA
CICLO DE
VIDA
Debe ofrecer un
marco de trabajo
genrico
PARTE
ESTTICA
INTERFAZ
El Proceso Unificado de
Desarrollo usa UML
UML
Notacin
Herramientas
RATIONAL ROSE
VISIO
Proceso
PROCESO UNIFICADO DE
DESARROLLO DE RATIONAL
Principales metodologas en el
tiempo
Definicin de
Requerimientos
Inicialmente se
us el Modelo
Tradicional de
Cascada
1980
Construccin/Pruebas
Implementacin y
Test Unitarios
Tiempo
Integracin y
test del sistema
Operacin y
mantencin
Modelo Iterativo
Incremental
1990
Iteracin 1
Iteracin 2
Iteracin 3
R
A&D
R
A&D
A&D
C
C
P
Qu REQUISITOS se necesitan
Un CASO de USO es una pieza
de FUNCIONALIDAD de un
sistema que le proporciona a
algn USUARIO un
RESULTADO o VALOR.
Casos de uso
Todos juntos constituyen el
modelo de casos de uso
(MCU)
FUNCIONALIDAD COMPLETA
PARA TODOS LOS USUARIOS
EJEMPLO DE MODELO DE
CASOS DE USO
Consultar Catlogo
<<includes>>
Actualizar Catlogo
Persona
Reservar Libro
EncargadoBiblio
<<extends>>
<<extends>>
Tomar Prstamo
Revista
Extender Prstamo
- No reservado
Socio
Devolver Revista
Devolver Copia Libro
TrabajadorBiblio
Tomar Prstamo
Desarrollo
guiado por
CASOS DE USO
Persona
: IU-1
: GestorLibro
3: obtenerLibro(signaturaLibro:String)
4: getSignatura()
elLibro
5: getCopias()
6: isCopiaPrestada()
elLibro:Libro
2: Aceptar
: Libro
2. Centrado en la
arquitectura
La arquitectura de un sistema
software es un extracto de los
modelos del sistema
Extracto: VISTA DE CADA
MODELO
Centrado en la
ARQUITECTURA
1
: IU-1
1:
2:
3:
:
:
G
r 4
o ()
2:
:
1:
3:
:
:
G
r 4
o ()
ITERATIVO
Se repiten VARIOS
MINIPROYECTOS
INCREMENTAL
Cada miniproyecto AMPLIA
EL PRODUCTO