Ejercicios Caso 1
ACTIVIDAD 3
Fundamentos de la ingenieria de software
Métodos
- Planificación y estimación de proyectos
- Análisis de requisitos
- Diseño
- Codificación
- Pruebas
- Mantenimiento
- Herramientas CASE
- Herramientas CAD
- Secuencia de aplicación de los métodos
- Uso de las herramientas,
- Las entregas requeridas
- Controles de seguimiento y calidad,
- Guías para facilitar la labor de gestores y desarrolladores
- etc.
- Abstracciones
- Representaciones
- Evaluaciones
ACTIVIDAD 5
El trabajo de Desarrollo de software se compone de las siguientes fases:
ANÁLISIS: Estudio de viabilidad. Deducción de requisitos. Análisis de requisitos. Modelado del sistema. Prototipado.
DISEÑO: Arquitectura del sistema. Detallado. Interfaz de usuario. Datos.
CONSTRUCCIÓN:
CODIFICACIÓN:
- Documentación.
- Codificación.
- Debug (Depuración).
- PRUEBAS: Probar el producto.
MANTENIMIENTO: Seguimiento del producto durante su funcionamiento real.
Y durante todas estas fases:
- Aceptación del producto
- Validación y verificación.
- Inspecciones y revisiones.
- Planificación de prueba.
- Pruebas de unidad.
- Pruebas de integración.
- Pruebas de regresión.
- Pruebas del sistema. Pruebas de aceptación.
ACTIVIDAD 6
Ciclo de vida del software
Planificación:
- Planificación preliminar,
- estudio de viabilidad,
- análisis de riesgos y planificación temporal.
- Análisis y Especificación de requisitos
- Modelado de software y Modelado conceptual de base de datos
Diseño (¿Cómo hacerlo?):
- Diseño lógico y físico de base de datos
- Diseño de programas de aplicaciones
- Se crea y carga la base de datos y se implementan las aplicaciones.
- De información, rendimiento y comportamiento.
- Operación, Mantenimiento y Actualizaciones del sistema.
ACTIVIDAD 7
Consta de 4 modelos
Modelo en Cascada
Características:
- Es el más utilizado.
- Es una visión del proceso de desarrollo de software como una sucesión de etapas que producen productos intermedios.
- Para que el proyecto tenga éxito deben desarrollarse todas las fases.
- Las fases continúan hasta que los objetivos se han cumplido.
- Si se cambia el orden de las fases, el producto final será de inferior calidad,
CRITICAS:
- No refleja realmente el proceso de desarrollo del software
- Se tarda mucho tiempo en pasar por todo el ciclo
- Perpetua el fracaso de la industria del software en su
- comunicación con el usuario final
- El mantenimiento se realiza en el código fuente
- Las revisiones de proyectos de gran complejidad son muy difíciles
- Impone una estructura de gestión de proyectos
Limitaciones:
- No se permiten las iteraciones.
- Los requisitos se congelan al principio del proyecto.
- No existe un proyecto “enseñable” hasta el final del proyecto.
Modelo: Construcción de prototipos
- No modifica el flujo del ciclo de vida
- Reduce el riesgo de construir productos que no satisfagan las necesidades de los usuarios
- Reduce costos y aumenta la probabilidad de éxito
- Exige disponer de las herramientas adecuadas
- No presenta calidad ni robustez
- Una vez identificados todos los requisitos mediante el prototipo, se construye el producto de ingeniería.
EL PROTOTIPADO PARA QUE SEA EFECTIVO:
- Debe ser un sistema con el que se pueda experimentar
- Debe ser comparativamente barato (< 10%)
- Debe desarrollarse rápidamente
- Énfasis en la interfaz de usuario
- Equipo de desarrollo reducido
- Herramientas y lenguajes adecuados
- “ El prototipado es un medio excelente para recoger el ‘feedback’ (realimentación) del usuario final”
PELIGROS DEL PROTOTIPO
- El cliente ve funcionando lo que para el es la primera versión del prototipo que ha sido construido con “plastilina y alambres”, y puede desilusionarse al decirle que el sistema aun no ha sido construido.
- El desarrollador puede caer en la tentación de ampliar el prototipo para construir el sistema final sin tener en cuenta los compromisos de calidad y de mantenimiento que tiene con el cliente.
Modelo Incremental
- Es una repetición de varios ciclos de vida en cascada.
- Al final de cada ciclo se entrega una versión parcial del software incrementada con cierta funcionalidad nueva respecto a las entregas anteriores.
- Los ciclos se repiten hasta obtener un producto completo.
- Los usuarios disponen antes del software, aunque no sea completo, por lo que pueden sugerir mejoras.
- Se suele aplicar a desarrollos de gran tamaño.
- Se evitan proyectos largos y se entrega “ Algo de valor ” a los usuarios con cierta frecuencia
- El usuario se involucra más
- Difícil de evaluar el coste total
- Requiere gestores experimentados
- Los errores en los requisitos se detectan tarde.
- El resultado es ser muy positivo
Modelo en Espiral
- Trata de mejorar los ciclos de vida clásicos y prototipos.
- Permite acomodar otros modelos
- Incorpora objetivos de calidad y gestión de riesgos
- Elimina errores y alternativas no atractivas al comienzo
- Permite iteraciones, vuelta atrás y finalizaciones rápidas
Cada ciclo empieza identificando:
- Los objetivos de la porción correspondiente
- Las alternativas
Restricciones
- Cada ciclo se completa con una revisión que incluye todo el ciclo anterior y el plan para el siguiente
- Se usa en proyectos en los que se prevén riesgos.
- Representa un enfoque dirigido por el riesgo para el análisis y estructuración del proceso software.
Ventajas:
- Utiliza las fases de modelos tradicionales. Se centra en la eliminación de errores y alternativas poco atractivas.
- Su orientación a detectar y prevenir el riesgo evita muchas dificultades.
Desventajas:
- Complicado: Consume muchos recursos.
- Las etapas y sus E/S no están claramente definidas.
No hay comentarios:
Publicar un comentario