Aplicaciones de Ingeniería de Software
description
Transcript of Aplicaciones de Ingeniería de Software
![Page 1: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/1.jpg)
Aplicaciones de Ingeniería de Software
Proceso Racional Unificado (RUP)
![Page 2: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/2.jpg)
RUP
![Page 3: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/3.jpg)
Fases
Inicio: Objetivo el ciclo de vida Lo que deberá hacer el producto Reducción de los peores riesgos Preparación para el análisis del negocio inicial
![Page 4: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/4.jpg)
Fases
Elaboración: arquitectura del ciclo de vida Obtener la línea base de la arquitectura Capturar la mayoría de los requisitos Reducir los peores riesgos Estimar costos y fechas Planificar la fase de construcción con algún
detalle
![Page 5: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/5.jpg)
Fases
Construcción: funcionalidad operativa inicial El desarrollo del sistema Garantía de que el producto puede comenzar su
transición a los clientes Transición: versión del producto
Garantizar que se tiene el producto preparado para su entrega
Entrenar a los usuarios a utilizar el sistema.
![Page 6: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/6.jpg)
Fases e Hitos (Milestones)
tiempo
Objetivos(Visión)
Arquitectura CapacidadOperacional
Inicial
Releasedel Producto
Inception Elaboration Construction Transition
Hito: Punto de terminación de la iteración cuando se toma alguna decisión o evaluación importante
![Page 7: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/7.jpg)
Proceso de Ingeniería de Software Workflows (Disciplinas)
Workflows Primarios • Business Modeling (Modelado del Negocio) • Requirements (Requisitos)• Analysis & Design (Análisis y Diseño)• Implementation (Implementación)• Test (Pruebas)• Deployment (Despliegue)
Workflows de Apoyo• Environment (Entorno)• Project Management (Gestión del Proyecto)• Configuration & Change Management (Gestión de
Configuración y Cambios)
![Page 8: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/8.jpg)
Proceso Iterativo e Incremental El ciclo de vida iterativo se basa en la
evolución de prototipos ejecutables que se muestran a los usuarios y clientes (mini-proyectos)
En el ciclo de vida iterativo a cada iteración se reproduce el ciclo de vida en cascada a menor escala
Los objetivos de una iteración se establecen en función de la evaluación de las iteraciones precedentes
![Page 9: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/9.jpg)
Proceso Iterativo e Incremental Las actividades se encadenan en una mini-cascada
con un alcance limitado por los objetivos de la iteración
Análisis
DiseñoImple.
Pruebas eIntegraciónn veces
Req.
![Page 10: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/10.jpg)
Iteraciones
Cada fase consiste en las iteraciones del desarrollo en las cuales un subconjunto del sistema se desarrolla. En general, estas iteraciones: Reducen los riesgos técnicos; Proporcionan versiones tempranas; Permiten mayor flexibilidad para el lanzamiento de cada
característica; y Permiten controlar los cambios con respecto al alcance de
manera efectiva con las iteraciones durante los ciclos.
![Page 11: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/11.jpg)
Cada iteración comprende: Planificar la iteración (estudio de riesgos) Análisis de los Casos de Uso y escenarios Diseño de opciones arquitectónicas Codificación y pruebas. La integración del
nuevo código con el existente de iteraciones anteriores se hace gradualmente durante la construcción
Proceso Iterativo e Incremental
![Page 12: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/12.jpg)
Cada iteración comprende: Evaluación de la entrega ejecutable
(evaluación del prototipo en función de las pruebas y de los criterios definidos)
Preparación de la entrega (documentación e instalación del prototipo)
Cada una de las cuatro fases termina con hito principal.
Proceso Iterativo e Incremental
![Page 13: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/13.jpg)
Plan de iteraciones
El número de iteraciones planeado para cada fase depende, básicamente de la complejidad del sistema propuesto. Un proyecto simple puede realizarse con una sola iteración por fase.
Un proyecto más complejo podría comprender el siguiente número de iteraciones.
![Page 14: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/14.jpg)
Plan de iteraciones
Fase de Inicio: una iteración, principalmente dedicada a definir el ámbito del sistema
Fase de elaboración: dos iteraciones, la primera para esbozar la arquitectura y la segunda para completar la línea base de la arquitectura
![Page 15: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/15.jpg)
Plan de iteraciones
Fase de construcción: dos iteraciones, para asegurar que los incrementos resultantes funcionan satisfactoriamente
Fase de transición: una iteración
![Page 16: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/16.jpg)
Proceso Iterativo e Incremental
EnfoqueSecuencial
EnfoqueIterativo eIncremental
![Page 17: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/17.jpg)
Proceso Centrado en la Arquitectura
Arquitectura de un sistema es la organización o estructura de sus partes más relevantes
Un arquitectura ejecutable es una implementación parcial del sistema, construida para demostrar algunas funciones y propiedades
RUP establece refinamientos sucesivos de una arquitectura ejecutable, construida como un prototipo evolutivo
Architecture
Inception Elaboration Construction Transition
![Page 18: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/18.jpg)
Fases, Base Line, Versión, Release
ciclo de desarrollo ciclo de evolución
release(producto al final de
una iteración, lanzado para su puesta en producción)
versión(subconjunto de artefactosestabley ejecutable)
base line(release asociadaa un hito)
![Page 19: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/19.jpg)
Base Line
Conjunto de artefactos revisados y aprobados que constituyen una base convenida para la evolución y desarrollo adicional y que se puede cambiar solamente a través de la administración de cambios.
Asegurarse qué subsistemas, cuándo alcanzan un nivel especifico de la madurez, son la línea base para que esté disponible para el release (“liberación”), o la reutilización en iteraciones subsecuentes del proyecto y/o otros proyectos.
![Page 20: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/20.jpg)
Base Line
Se considera como candidato para una Línea Base el conjunto de archivos y directorios bajo control de versión que son desarrollados, integrados y puestos juntos en un release.
Una línea base se crea al final de cada iteración
![Page 21: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/21.jpg)
Versiones
Identifican el estado de un elemento de configuración o una configuración en un punto definido en el tiempo
Conjunto de artefactos relativamente completo y consistente –que incluye posiblemente una construcción- entregado a un usuario interno o externo;
![Page 22: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/22.jpg)
Versiones
La mayoría de los programas grandes se desarrollan en release evolutivos. Un release podría estar en uso del cliente, mientras que otro está en prueba, y el tercero todavía está en el desarrollo. Si se encuentran problemas en cualquiera de las versiones, los arreglos necesitan ser propagados entre ellas. La confusión puede acrecentarse conduciendo a arreglos costosos y retrabajo a menos de que los cambios sean cuidadosamente controlados y supervisados.
![Page 23: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/23.jpg)
Release
Es una versión que se ha puesto disponible a los usuarios.
La frecuencia y la formalidad de los releases son descritos en el plan del CM (Configuration Management ). El grado de la formalidad es claramente mucho más alto para un producto que es liberado a un cliente, que el que es generado para la estructura o la revisión siguiente de la iteración.
![Page 24: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/24.jpg)
Release
Regularmente está asociado a un baseline de una configuración
![Page 25: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/25.jpg)
Esfuerzo y dedicación por Fases en RUP
InicioElaboraci
ónConstrucci
ónTransici
ón
Esfuerzo 5 % 20 % 65 % 10%
Tiempo Dedicad
o10 % 30 % 50 % 10%
![Page 26: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/26.jpg)
Ejemplo de Duración
Si se aplicará la ecuación de Caper Jones para un proyecto con 137 PF, entonces:
Duración = (Tamaño PF) .04
Duración = (137) 04
Duración = 7 meses
![Page 27: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/27.jpg)
7 meses igual a 28 semanas
Inicio Elaboración Construcción Transición
Tiempo Dedicado
10 % 30 % 50 % 10%
Semanas 2.8 8.4 14 2.8
![Page 28: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/28.jpg)
Distribución de Recursos por Fases en RUP
![Page 29: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/29.jpg)
Cómo planear las iteraciones del Sistema de Inscripción
Inscribirse en cursosEstudiante
Consultar Historial Academico
Registrar cursos impartidosProfesor
Capturar cali ficaciones
Login
Mantener informacion Profesor
Mantener la informacion del Estudiante
Sistema de Cobros
Cierre de Inscripcion
Oficial de registro
Mantener informacion Materias
![Page 30: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/30.jpg)
Ejemplo: Plan Iteraciones Sistema de Inscripción
FaseNo.
IteracionesDuración
Fase de Inicio 1 3 semanas
Fase de Elaboración 2 8 semanas
Fase de Construcción 3 14 semanas
Fase de Transición 2 3 semanas
![Page 31: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/31.jpg)
Ejemplo Release: Sistema de Inscripción Este proyecto se planea ejecutar a través de 2-4 releases. Release 1
deberá contener un mínimo de funcionalidades básicas: Login Registrar cursos impartidos Mantener información materias Mantener a la información del estudiante Mantener a la información del profesor
Release 2 deberá incluir: Capturar de calificaciones de los estudiantes Consultar historial Inscribirse en cursos
La funcionalidad del Release 3 aun no ha sido determinada. Sólo se anticipa que este release podría contener requerimientos adicionales a la funcionalidad existente.
El reemplazamiento del Sistema de cobros y del Catálogo de Cursos está planeado para el release 4 en el 2007.
![Page 32: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/32.jpg)
Detalle de las iteraciones
Fase Iteración Descripción Milestone
Inicio Iteración preliminar
Definir el modelo de negocio, los productos de requerimientos, el plan de desarrollo de software.
Revisión del modelo de negocio
Elaboración Iteración E1 – Desarrollo del prototipo de la arquitectura
Análisis y diseño para todos los casos de uso del Release 1 (R1). Análisis y Diseño de todos los casos de alto riesgo del release 2 (R2)
Prototipo de la arquitectura
![Page 33: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/33.jpg)
Detalle de las iteraciones
Fase Iteración Descripción
Construcción Iteración C1– Desarrollo R1 Beta
Implementar y probar todos los casos de uso para liberar la versión Beta R1
Iteración C2 – Desarrollo del R1
Implementar y probar los casos de uso restantes del R1, arreglar los defectos de la versión Beta, e incorporar los cambios. Desarrollar el Release del sistemaR1
![Page 34: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/34.jpg)
Detalle de las iteracionesFase Iteración Descripción
Iteración C3 – Desarrollo R2
Diseño, implementación y prueba de los casos de uso del R2. Incorporar nuevos requerimientos y defectos de R1. Desarrollar el Release del sistema R2.
Transición Iteración T1– R1 Paquetes, distribución e instalación del R1 Release.
Iteración T2 – R2 Paquetes, distribución e instalación del R2.
![Page 35: Aplicaciones de Ingeniería de Software](https://reader034.fdocuments.net/reader034/viewer/2022052414/56815535550346895dc30bed/html5/thumbnails/35.jpg)
Referencias
El Proceso Unificado de Desarrollo de Software, Ivar Jacobson, Grady Booch, James Rumbaugh
RUP 2001 UML y Patrones, Craig Larman