Clase+3+-+Ing +software
Clase+3+-+Ing +software
Clase+3+-+Ing +software
Ingeniería de Software
1.Ing. Software
2. Ciclo de vida
Mejora la capacidad
Permite gestionar
de predecir Disminuye los costos Mejora la
las necesidades del Mejora la calidad del Evita rechazos de
cronogramas de y retrasos del comunicación entre
proyecto en forma software. usuarios finales
proyectos, así como proyecto. equipos
estructurada.
sus resultados.
Ingeniería de Sistemas
Se refiere a todos los
aspectos del desarrollo
de sistemas basados en La Ingeniería de
computadora, tanto del Software es solo parte
hardware como del de este proceso
software y los procesos
de diseño y distribución
de sistemas.
Atributos de calidad:
• Fiable
Ingeniería de
Software
Ing. De Requisitos
Clasificación de los procesos de
software
Dirigidos por un plan
Procesos ágiles
(plandriven)
• Los procesos dirigidos por • En los procesos ágiles la
un plan son aquellos donde planeación es incremental y
todas las actividades del es más fácil modificar el
proceso se planean por proceso para reflejar los
anticipado y el avance se requerimientos cambiantes
mide contra dicho plan. del cliente.
Cada enfoque es adecuado para diferentes tipos de software. Por lo general, uno necesita
encontrar un equilibrio entre procesos dirigidos por un plan y procesos ágiles.
Ing. De Requisitos
Actividades fundamentales en la IS
Diseño e
Evolución
• Tienen que definirse implementación • Hay que validar el
tanto la funcionalidad software para
del software como las • Debe desarrollarse el asegurarse de que • El software tiene que
restricciones de su software para cumplir cumple lo que el evolucionar para
operación. con las cliente quiere. satisfacer las
especificaciones. necesidades
cambiantes del cliente.
Especificación Validación
Ing. De Requisitos
Descripción proceso de software
Precondiciones y postcondiciones, que son
declaraciones válidas antes y después de que se realice
una actividad del proceso o se cree un producto. Por
Productos, que son los resultados de una actividad del
ejemplo, antes de comenzar el diseño arquitectónico,
proceso. Por ejemplo, el resultado de la actividad del
una precondición es que el cliente haya aprobado
diseño arquitectónico es un modelo de la arquitectura
todos los requerimientos; después de terminar esta
de software.
actividad, una postcondición podría ser que se revisen
aquellos modelos UML que describen la arquitectura.
Ing. De Requisitos
Modelo cascada
Ing. De Requisitos
Modelo cascada
• Es un enfoque metodológico que ordena
rigurosamente las etapas del ciclo de vida del
software, de forma que el inicio de cada etapa
debe esperar a la finalización de la
inmediatamente anterior.
• El modelo en cascada es un proceso de desarrollo
secuencial, en el que el desarrollo se ve fluyendo
hacia abajo (como una cascada) sobre las fases
que componen el ciclo de vida.
Ing. De Requisitos
Fortalezas
• Es un modelo que ya está normado en otras
disciplinas, lo que hace más fácil su
entendimiento.
• Cada fase está definida como un conjunto de
funciones, metas, hitos y entregables, haciendo
el proceso altamente visible y que el proyecto sea
de fácil seguimiento.
• Dado que los requerimientos y especificaciones
son determinadas en el lineamiento general, el
encargado del proyecto está mejor preparado
para determinar los recursos necesarios y
establecer la planificación.
Ing. De Requisitos
Debilidades:
• No funciona bien en situaciones donde los
requerimientos no están bien definidos al principio
del proceso.
• La mayor debilidad del modelo es el costo de los
cambios de requerimientos. Mientras más avanzado
esté el proyecto, más costosos se hacen los cambios
en los requerimientos.
• Los clientes no ven productos funcionales hasta fases
avanzadas en el ciclo de vida. Cuando éstos tienen la
oportunidad de ver los productos, los costos de
corrección ya son demasiado altos de corregir.
• Los proyectos rara vez fluyen de manera secuencial.
Ing. De Requisitos
¿Cuándo utilizarlo?
• Sistemas que tienen requerimientos bien definidos al principio del
proyecto y sistemas donde los costos y las planificaciones necesitan
ser determinadas desde un principio.
Ing. De Requisitos
Modelo en V
Ing. De Requisitos
Modelo en V
• El modelo en V se desarrolló para terminar con algunos de los problemas que se
vieron utilizando el enfoque de cascada tradicional.
• Los defectos estaban siendo encontrados demasiado tarde en el ciclo de vida, ya
que las pruebas no se introducían hasta el final del proyecto.
• El modelo en V dice que las pruebas necesitan empezarse lo más pronto posible
en el ciclo de vida.
• También muestra que las pruebas no son sólo una actividad basada en la
ejecución. Hay una variedad de actividades que se han de realizar antes del fin
de la fase de codificación.
Ing. De Requisitos
Modelo Iterativo
Ing. De Requisitos
Modelo Iterativo
• Este modelo busca reducir el riesgo que surge entre las necesidades
del usuario y el producto final por malos entendidos durante la etapa
de recogida de requisitos.
• Consiste en la iteración de varios ciclos de vida en cascada. Al final de
cada iteración se le entrega al cliente una versión mejorada o con
mayores funcionalidades del producto.
• El cliente es quien, después de cada iteración, evalúa el producto y lo
corrige o propone mejoras.
• Estas iteraciones se repetirán hasta obtener un producto que
satisfaga las necesidades del cliente.
Ing. De Requisitos
Modelo Iterativo
Ing. De Requisitos
Modelo Incremental
Ing. De Requisitos
Ing. De Requisitos
MODELO INCREMENTAL
Ing. De Requisitos
Modelo Incremental
• Se basa en la filosofía de construir incrementando las funcionalidades del
programa.
• Este modelo aplica secuencias lineales de forma escalonada mientras progresa
el tiempo en el calendario.
• Cada secuencia lineal produce un incremento del software.
• Indicado para proyectos bien situados donde los requerimientos no puedan ser
bien especificados.
Ing. De Requisitos
Fortalezas
Ing. De Requisitos
Debilidades:
Ing. De Requisitos
Modelo Espiral
Ing. De Requisitos
Modelo espiral
Ing. De Requisitos
Modelo Espiral
• Es un marco del proceso de software dirigido por el
riesgo.
• El proceso de software se representa como una
espiral, y no como una secuencia de actividades con
cierto retroceso de una actividad a otra.
• Cada ciclo en la espiral representa una fase del
proceso de software.
• El ciclo más interno puede relacionarse con la
factibilidad del sistema, el siguiente ciclo con la
definición de requerimientos, el ciclo que sigue con el
diseño del sistema, etc.
Ing. De Requisitos
Modelo Espiral
• Divide el desarrollo del sistema en cuatro actividades
básicas:
1. Establecimiento de objetivos
2. Valoración y reducción del riesgo
3. Desarrollo y validación
4. Planeación
Ing. De Requisitos
Fortalezas
• Evita algunas de las dificultades existentes en los
modelos de software por el uso de la aproximación
guiada por riesgos.
• Trata de eliminar los errores en fases tempranas.
• Provee mecanismos para pregunta-respuesta.
• Aplicable a otros tipos de proyectos
• Funciona bien para proyectos complejos, dinámicos e
innovadores.
• Existe reevaluación después de cada fase, permitiendo
cambios en las perspectivas del usuario, tecnología,
avances o perspectivas financieras.
Ing. De Requisitos
Debilidades:
Ing. De Requisitos
Modelo Espiral
• Proyectos complejos, dinámicos innovadores y ambiciosos
desarrollados por equipos internos (no necesariamente limitados al
software)
Ing. De Requisitos
Repasemos lo visto hasta ahora…