Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SOFTWARE
1
Concepto de Ciclo de Vida
• En los Dpto. de Sistemas se debe definir un marco
de referencia común que:
– Pueda ser empleado por todos los que participan en un
desarrollo informático, que defina los procesos las
actividades tareas a desarrollar
• Se han propuestos diferentes paradigmas o ciclos
de vida para el Softwareare, desde:
– Ciclo en Cascada
– Modelo en Espiral de Boehm
– Ciclo de vida OO.
• Las Organizaciones (IEEE, ISO ) han publicado
sendos informes titulados
– estándar IEEE para el desarrollo del Ciclo de vida del
Sftw.
2
– ISO :Proceso del ciclo de vida del Sftw.
• La norma IEEE 1040: Entiende por ciclo de
vida del Softwareare: “Una aproximación
lógica a la adquisición, el suministro, el
desarrollo, la explotación y mantenimiento del
Softwareare.”
• La Norma ISO 12207-1: Entiende por ciclo de
vida: “ un marco de referencia que contiene
los procesos las actividades y las tareas
involucradas, en el desarrollo, la explotación
y el mantenimiento de un producto de
Softwareare, abarcando la vida del sistema
desde la definición de los requisitos hasta la
finalización de su uso.” 3
• Ambas consideran:
– una actividad como un conjunto de tareas
– una tarea como una acción que transforma
entrada en salida.
• El ciclo de vida abarca:
– toda la vida del sistema : desde su concepción
hasta su fin.
– El ciclo de desarrollo : es un sub conjunto del
ciclo de vida
• empieza en el análisis
• finaliza en la entrega del sistema al usuario.
4
PROCESO DE CICLO DE VIDA SoftwareARE
• Para ISO 12207-1
Procesos Principales Procesos de Soporte
– Adquisición *Documentación
– Suministro *Gestión de Configuración.
– Desarrollo *Aseguramiento de la Calidad
– Explotación *Verificación
– mantenimiento *Validación
*Revisión Conjunta
*Auditoria
*Resolución de Problemas
PROCESOS DELA ORGANIZACIÓN
*Gestión * Infraestructura
*Mejora * Formación
5
Procesos Principales
• Son los que resultan útiles a personas que
realizan el desarrollo explotación y
mantenimiento del Sftw. (compradores,
suministradores, el personal de desarrollo,
operadores, personal de mantenimiento)
– Proceso de Adquisición: actividades y tareas que
el comprador el cliente o usuario realiza para
adquirir un sistema.
– Proceso de Suministro: actividades y tareas que el
suministrador realiza. Inicia con decisión de
preparar una respuesta a una petición de un
comprador. 6
– Proceso de Desarrollo: actividades de análisis
de requisitos, diseño, codificación, pruebas e
instalación y aceptación.
• Análisis de Requisitos:
• Diseño de Arquitectura del Sistema
• Análisis de Requisitos del Software.
– Especificaciones funcionales y de capacidad
– Interfaces externas, requisitos de aceptación, seguridad,
– Especificaciones de interacción hombre maquina
– Requisitos de base de datos.
– Requisitos de instalación y aceptación del Software.
• Diseño de la Arquitectura Software.
• Diseño detallado del Software.
• Codificación y prueba del Software.
7
• Integración del Software.
• Prueba del Softwareare
• Integración del Sistema
• Prueba del Sistema
• Instalación del Software.
• Soporte de Proceso de aceptación del Software.
8
– Proceso de Explotación.: incluye la explotación
del Software., y el soporte a los usuarios.
9
Proceso de Soporte
• Sirve de apoyo al resto, y se aplica en
cualquier punto del ciclo de vida del
Software Y son:
– Proceso de Documentación: se registra la
información producida por un proceso o
actividad del ciclo de vida.
– Proceso de Gestión de la Configuración: aplica
procedimientos administración. Y técnicos
durante el ciclo de vida del sistema.:
– Identificar definir establecer la línea de los elementos de
configuración.
– Controlar modificaciones y versiones.
10
– Registrar información sobre peticiones de modificación.
– Asegurar la complecion, la consistencia y comunicación
de los elementos.
– Controlar el almacenamiento, la manipulación y entrega
de elementos.
– Proceso de Aseguramiento de la Calidad: aporta
la seguridad que los procesos y producto,
cumplen con los requisitos especificados.
– Proceso de Verificación: determina si los
requisitos de un sistema están completos y son
correctos
– Proceso de Validación: sirve para determinar si
el sistema final cumple con los requisitos
previstos.
11
– Proceso de Revisión Conjunta: sirve para
evaluar el estado del Software., y sus productos
en una actividad del ciclo de vida.
P.Gestión
V.dirección direccion
P. Explotación
V.operativo Operad.Usua
V.Ingeni.
P.Mantenimiento P.Desarrollo Desarrolla. Mant.
Análisis Requisitos
Softwareare
Diseño
Preliminar
Diseño
Detallado
Codificación
pruebas
Explotación
mantenimiento
18
Modelo en Cascada
• Algunas características:
– cada fase empieza cuando ha terminado la
anterior
– para pasar de una fase a otra es necesario
conseguir todos los objetivos de la fase anterior
– ayuda a prevenir que se sobrepasen la fecha de
entrega y los costos esperados
– al final de cada fase técnicos y usuarios tienen
la oportunidad de revisar el proceso del
proyecto.
19
Modelo en cascada
• Es el modelo De ciclo de vida mas antiguo
y mas ampliamente usado.
• Las criticas son:
– no refleja el proceso real de desarrollo de
Software., estos raramente siguen procesos
lineales
– se tarda mucho tiempo en pasar por todo el
ciclo.
– Acentúa el fracaso de la industria del Software.,
con el usuario final.
20
Modelo Incremental
• Corrige la necesidad de una secuencia no
lineal de pasos de desarrollo. En este
modelo, se va creando el sistema añadiendo
componentes funcionales al sistema.
Codificación Explotación
Prueba Mantenimiento
Explotación
Mantenimiento
23
MODELO ESPIRAL
• Boehn 1988 propuso el modelo espiral que
consta de una serie de ciclos. Cada uno
empieza identificando sus objetivos,
alternativas y restricciones.
• Se evalúa las alternativa respecto a los
objetivos tomando en cuenta las restricciones,
se lleva a cabo el ciclo
• una vez finalizado se plantea el próximo ciclo
24
• Cada ciclo dela espiral comienza con la
identificación de:
– Los objetivos: de la parte del producto que esta
siendo elaborada. Ej. Se desea aumentar la
productividad del Software.
Anal .riesgo
P.3
P.2
Plan requisito
Plan desarrollo
Ver.requisito
26
Modelo espiral
• El siguiente paso es evaluar las diferentes
alternativas, teniendo en cuenta los
objetivos y restricciones. Se identifica las
áreas de incertidumbre del producto.
• El siguiente paso en formular una estrategia
efectiva para resolver los riesgos.
• El siguiente paso revisar los resultados del
análisis de riesgo
• siguiente paso planificar la fase posterior
27
Modelo Espiral
• Una vez realizado el primer ciclo se vuelve
ha empezar. Cada ciclo se completa con una
revisión.
• Las características del método Espiral es:
– Existe conocimiento explícito de las diferentes
alternativas a alcanzar
– la identificación de riesgos asociado a cada
alternativa y como resolverlos.
– División de proyecto en ciclos, y cada uno con
un acuerdo final de ciclo
– el modelo se adapta a cualquier tipo de
actividad 28
Modelo Espiral
• Dificultades:
– trabajo con Software., contratado. Trabaja bien
en los desarrollos internos, pero necesita ajustes
para sub contrata de Softwareare.
– Necesidad de expertos en evaluación de
riesgos.
29
MODELO DE DESARROLLO
DE SISTEMAS ORIENTACIÓN
OBJETOS
• EL MODELO Cascada no permite aprovechar
la tecnología de objetos, que pretende acelerar
el desarrollo de Software, iterativo e
incremental.
• La tecnología OO generaliza los componentes
para reutilizar, esto aumenta los costos de
desarrollo en un 10 a 50%.
• Se han propuesto modelos para abordar esta
problemática 30
Modelo de Agrupamiento (Cluster)
• Los modelos usuales de ciclo de vida esta
basado en proyectos; mientras en el
desarrollo OO esta basado en en el
producto.
• Para la cultura del proyecto se propone el
modelo de agrupamiento. En la que la fase
de generalización aparece combinada con la
fase de validación.
• El concepto clave es el Agrupamiento:
que es un conjunto de clases relacionadas
con un objetivo común. 31
TIEMPO MODELO DE AGRUPAMIENTO (CLUSTER)
Agrupamiento n
ESPEC DISREA VALGEN
32
TIEMPO
Modelo Fuente
• Definido por Henderson Sellers y Edwards
1990: es el mas conocido en el desarrollo
OO.
• Presenta alto grado de iteración y
solapamiento que hace la tecnología de
Objetos.
• En la base esta el análisis de Requisitos, a
partir del cual va creciendo el ciclo de vida,
cayendo solo para el mantenimiento.
• La piscina seria el repositorio de clase.
33
Modelo fuente
• Se propone además, un modelo de ciclo de
vida para cada clase o modulo, ya que cada
una puede estar en una fase diferente del
ciclo de vida durante el desarrollo de un
sistema.
• Este ciclo d vida se puede aplicar también a
los agrupamientos de clase. ( reutilizacion
parcial o una total al desarrollo una clase)
34
mantenimiento utilización evolución
Pruebas
sistemas
Pruebas
unitarias
codificación
componentes
Diseño
conceptual
Análisis
Estudio de
viabilidad y requisitos
36
MODELO REMOLINO
37
MODELO REMOLINO
• Las diferentes dimensiones se pueden
anidar de muchas maneras: ej. Fase -
madures - amplitud.
• Este proceso fractal (mas que lineal),
consiste en un desarrollo multiciclico, tiene
la forma de un remolino en lugar de una
cascada.
38
Modelo Pinball
• Propuesto por Ampler: 1994. Señala que el
pinball refleja realmente la forma en la que
se desarrolla Software.
• En este modelo la pelota representa un
proyecto completo sub proyecto, y el
jugador es el equipo de desarrollo.
39
Modelo Pinball
• Se procede de forma iterativa a encontrar
clases, atributos, métodos e interrelaciones
y definir colaboraciones, herencias,
agregación y subsistemas.
• Por ultimo se pasa a la programación
prueba e implementacion
• como en el pinball los pasos se pueden
tomar en cualquier orden y de forma
simultanea.
40
Modelo Pinball
• Se destaca dos estilos a la hora de jugar:
– a lo seguro: con tecnologías y métodos
probados.
– Al limite: con mayor riesgo, pero con mas
ventajas.
• El autor destaca que al igual que en el juego
del pinball, la habilidad es el factor mas
importante.
41
Consideraciones generales
• Todos los modelos de desarrollo OO se
caracterizan por:
– eliminación de fronteras entre fases
– una nueva forma de concebir los lenguajes de
programación y su uso
– un alto grado de iteración y solapamiento
• los expertos en tecnologías de objetos
proponen seguir un desarrollo Iterativo e
incremental.
42
Consideraciones generales
• Las tareas de cada fase se llevan a cabo de
forma iterativa, a la vez existe un ciclo de
desarrollo análisis - instrumentación -
análisis que permite hacer evolucionar al
sistema.
• Lo incremental se refiere al hecho que el
sistema se divide en un conjunto de
particiones, las cuales se desarrollan de
manera completa
43
Consideraciones generales
• Las actividades de validación, verificación
y seguimiento de la calidad se realizan para
cada iteración de cada fase
• la ventaja principal de estos modelos es que
permite fijar hitos mas frecuentes,
realizando entregas de sistemas operativos
cada dos o tres meses, para recibir
retroalimentacion del cliente.
• El inconveniente es la dificultad de
gestionar de manera formal los proyectos.
44