desarrollo de software orientado a objetos
TRANSCRIPT
![Page 1: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/1.jpg)
Desarrollo de software orientado a objetos
Unidad 1:El proceso unificado de software
RUP
![Page 2: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/2.jpg)
Agenda
Introducción. La Estructura del Proceso Unificado Características del RUP RUP y UML
![Page 3: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/3.jpg)
Introducción
![Page 4: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/4.jpg)
¿Qué es un proceso de software? Es un marco de trabajo que permite la
programación de las tareas necesarias para construir un software de alta calidad.
Proceso de ingeniería de
softwareRequerimientos Software
![Page 5: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/5.jpg)
CaracterísticasMarco común de trabajo del proceso
Actividades de protección y administración
Actividades del marco del trabajo
Conjunto de tareasTareas
Hitos, Entregas
Puntos SQA
EXAMENEXAMEN
![Page 6: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/6.jpg)
Modelos
Para resolver los problemas reales de las organizaciones, los ingenieros de software deben incorporar una estrategia de desarrollo que integre el proceso, los métodos y las herramientas necesarias para la construcción del software.
![Page 7: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/7.jpg)
Existen síntomas de problemas en el desarrollo del software ….. Mala comprensión de las necesidades del
usuario. Incapacidad de afrontar cambios en los
requerimientos. Módulos que no calzan entre si. Software difícil de mantener y extender. Descubrimiento tardío de defectos en el
proyecto ....
![Page 8: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/8.jpg)
Existen síntomas de problemas en el desarrollo del software ….. ….. Pobre calidad del software. Pobre e inaceptable rendimiento. Falta de definición de
responsabilidades en los miembros del equipo.
Falta de confiabilidad en el proceso de construir y producir.
![Page 9: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/9.jpg)
Síntomas• necesidades usuarios• requerimientos
cambiantes• módulos no calzan• poco mentenible• tardía detección• baja calidad• baja performance• versiones y cambios • l iberación y distr ibución
Causas• requerimientos
insuficientes• comunicación ambigua• arquitecturas frágiles• complejidad excesiva• inconsistencias no
detectadas • testing pobre• evaluación subjetiva• desarrollo en cascada • cambios no controlados• automatización insuficienteDiagnóstico
Sin embargo….tratar los síntomas no resuelve el problema
![Page 10: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/10.jpg)
Causas de los problemas de desarrollo de software Administración inadecuada de
requerimientos. Comunicación ambigua e imprecisa. Arquitectura frágil. Complejidad excesiva. Inconsistencias no detectadas entre los
requerimientos, el diseño y la programación.
Pruebas insuficientes. …
![Page 11: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/11.jpg)
Causas de los problemas de desarrollo de software
…. Evaluación subjetiva del avance del
proyecto. Enfrentamiento tardío de riesgos
(desarrollo en cascada). Propagación de cambios sin control. Bajo nivel de automatización.
![Page 12: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/12.jpg)
......Enfrentando las Causas se eliminan los Síntomas
Desarrolle iterativamente. Administre requerimientos. Use arquitectura de componentes. Modele el software visualmente. Verifique calidad. Controle los cambios.
Causas
Mejores Prácticas
Las mejores prácticas enfrentan las causas
EXAMENEXAMEN
![Page 13: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/13.jpg)
Las mejores prácticas de software
Las mejores prácticas de software son propuestas comercialmente probadas de desarrollo que usadas en forma combinada atacan la raíz de las causas de las fallas, eliminando los síntomas y permitiendo el desarrollo y mantenimiento de software de calidad de manera predictiva y reiterativa.
![Page 14: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/14.jpg)
Las mejores prácticas se refuerzan entre si
ControleCambios
VerifiqueCalidad
ModeleVisualmenteDesarrolle
Iterativamente
Use Arquitecturade Componentes
Asegura participación del usuariomientrás evolucionan requerimientos
Valida tempranamentelas decisiones arquitectónicas
Permite manejar la complejidadde diseñar incrementalmente
Mide la calidad en forma oportuna y frecuente
Evoluciona la línea base incrementalmente
AdministreRequerimientos
![Page 15: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/15.jpg)
¿Que es el RUP?
Es un proceso de ingeniería de software. Se describe entre otras cosas como:
Centrado en una arquitectura. Guiado por casos de uso. Iterativo e incremental. Enfrenta riesgos.
![Page 16: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/16.jpg)
¿Que es el RUP?
Provee: Lineamientos, templates para herramientas, que guían una implementación efectiva de las6 Mejores Practicas.
Se define como una “Base de Conocimiento” Soportada en la Web. Con búsquedas e hiper-vínculos.
![Page 17: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/17.jpg)
Estructura del proceso unificado
![Page 18: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/18.jpg)
Estructura del Proceso Unificado
ambiente
Modelo del negocio
Implementación - Codificación
Prueba - Test
Análisis y diseño
Iter.#1
FasesDisciplinas del Proceso
Iteraciones - Tiempo
Disciplinas de Soporte
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Despliegue
Adm. configuración y cambios
Requerimientos
Elaboración TransiciónConcepción Construcción
Iteracion(es)Preliminar(es)
Adm. del proyecto – Gestión del Proy.
EXAMENEXAMEN
![Page 19: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/19.jpg)
Estructura del proceso unificado Dimensiones
El eje horizontal representa el tiempo y muestra el ciclo de vida del proceso tal y como se desenvuelve. Muestra el aspecto dinámico (iteraciones).
El eje vertical representa los flujos de trabajo (workflows) nucleares, que agrupan actividades por su naturaleza. Representa el aspecto estático
![Page 20: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/20.jpg)
Estructura dinámica
Tiempo
Concepción Elaboración Construcción Transición
Concepción Define el alcance del proyecto y eldesarrollo de los casos del negocio.
Elaboración Planifica el proyecto, especificalas características y define loscimientos de la arquitectura.
Construcción Construye el producto.
Transición Implementa el producto a sususuarios.
![Page 21: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/21.jpg)
Principales hitos de control
Tiempo
Visión Soportebase de la
Arquitectura
CapacidadInicial
Versióndel
Producto
Concepción Elaboración Construcción Transición
![Page 22: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/22.jpg)
Ciclo de Vida
Una i teración es una secuencia de actividades con un plan establecido y criterios de evaluación, cuyo resultado es una versión o release.
Iteración ... Iteración Iteración ... Iteración ...
Release Release Release Release Release Release Release Release
Iteración ...
Concepción Elaboración Construcción Transición
![Page 23: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/23.jpg)
Ciclo de Vida-Dos perspectivas
![Page 24: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/24.jpg)
Estructura Estática
¿Cómo ocurre el proceso y sus detalles?
¿Qué se produce u obtiene?
¿Quién lo hace o se responsabiliza?
¿Cuándo ocurre el proceso?Fases e iteraciones
Flujos del ProcesoActividades, pasos
ArtefactosModelos, reportes y/o
documentos
Trabajadores
![Page 25: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/25.jpg)
Estructura Estática
Descripción de un caso de Uso
Paquete de Caso de Uso
Caso de Uso
Es responsable por
Analista
Artefacto
Es una pieza de información producida, modificada o usada por un proceso
Trabajador
Es un rol asumido por un empleado Es una unidad
de trabajoActividad
![Page 26: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/26.jpg)
Estructura Estática
Trabajador - el Quién Actividades - el Cómo Artefactos - el Qué Workflows - el Cuándo
![Page 27: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/27.jpg)
Trabajador (Worker) El término Worker define el comportamiento y
responsabilidades de un individuo o un grupo de individuos trabajando juntos como equipo.
Trabajador
Artefactos Actividades
Responsable Lleva a cabo
![Page 28: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/28.jpg)
Actividad
Es una unidad de trabajo de un Worker que: tiene un propósito claro. es expresada normalmente en
términos de creación o actualización de artefactos.
es asignada a un worker específico
![Page 29: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/29.jpg)
Actividades Están fraccionadas en “pasos”. Los
pasos se agrupan en: Pasos pensantes. Pasos de desarrollo. Pasos de revisión.
ActividadPasos
Guías de Trabajo
Tool Mentor
Tiene
TieneTiene
![Page 30: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/30.jpg)
Artefacto
Es una pieza de información que es producida, modificada o usada por un proceso.
Trabajador
Artefacto Actividad
Responsable
Resultado
Input
Reporte Guías Template
Tiene Tiene Tiene
+ Modelo
![Page 31: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/31.jpg)
Workflows
Es una secuencia de actividades que produce un resultado de valor observable. En terminos de UML un workflow puede
ser expresado como un diagrama de secuencias, de colaboración o de actividades.
RUP usa un diagrama de actividad para representar el workflow.
![Page 32: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/32.jpg)
Workflows
El RUP organiza el conjunto de actividades usando: Workflows del proceso Workflows de iteración Workflows de detalle
![Page 33: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/33.jpg)
Workflows del proceso
Los workflows del proceso agrupan las actividades propias de las disciplinas de ingeniería de software.
Hay seis workflows de de procesos propiamente dichos: Modelo del negocio Requerimientos Análisis y Diseño Implementación Prueba Distribución
![Page 34: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/34.jpg)
Workflows del proceso
.......y tres workflows de apoyo: Configuración y administración de
Cambios Administración del proyecto Definición del ambiente
![Page 35: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/35.jpg)
Workflows de iteración Es otra forma de mostrar el proceso, describiéndolo
desde la perspectiva de “lo que sucede en una iteración típica”.
Estas actividades se establecen en un cronograma. Disciplinas del Proceso
Disciplinas de Soporte
ManagementEnvironment
Business Modeling
ImplementationTest
Analysis & Design
Preliminary Iteration(s)
Iter.#1
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Deployment
Configuration Mgmt
Requirements
Elaboration TransitionInception Construction
Workflow de Iteración
Fases
![Page 36: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/36.jpg)
Workflows de detalle Es una descripción de un workflow del
proceso a más bajo nivel. RUP los usa para expresar: un grupo específico de actividades que
están relacionadas y que son desarrolladas juntas o en un modelo cíclico.
actividades que son desarrolladas por un grupo de gente.
actividades que producen un resultado intermedio interesante.
![Page 37: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/37.jpg)
Modelos y WorkflowsCada workflow describe cómo crear y mantener un “modelo” en particular
DesignModel
ImplementationModel
TestModel
realized by
implemented by
RequirementsWorkflow
Analysis /DesignWorkflow
ImplementationWorkflow
Test Workflow
Use-CaseModel
BusinessModeling
Business Model
verified by
![Page 38: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/38.jpg)
Características del RUP
![Page 39: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/39.jpg)
Características del RUP
Las principales características del RUP son: Centrado en una arquitectura. Guiado por casos de uso. Iterativo e incremental. evolutivo Manejo de proyectos y riesgos. Administración y control de cambios.
![Page 40: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/40.jpg)
Características: Centrado en una arquitectura. Los modelos son los vehículos para visualizar,
especificar, construir y documentar la arquitectura. RUP prescribe el refinamiento sucesivo de una
arquitectura ejecutable. Vista 4+1 arquitectura ruc
tiempo
Arquitectura
Inception Elaboration Construction Transition
![Page 41: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/41.jpg)
“Vista 4+1” modelo de arquitectura
Vista de Proceso
RendimientoEscalabilidad agregar o quitar …
Operatividad
Integradores de sistemas
Vista Estructural
Estructura
Analistas/Diseñadores
Vista de Implementación
Programadores Administración
del Software
Vista de Despliegue
Topología Entrega, instalación
comunicación
Ingenieros de sistemas
Vista Casos de Uso
Usuarios Finales Funcionalidad
![Page 42: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/42.jpg)
El dominio de la arquitectura
Cualidades
Procesos
Representación
EL “qué” El “para qué”
El “cómo”El “quién”
Característicasdel Sistema
Arquitectura Requerimientos
Atributos decalidad del sistema
Satisface
Condiciona
Organización
Arquitecto
Técnicas
Participantes
Define roles
Produce
Sigue
DefineTecnología
![Page 43: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/43.jpg)
La Arquitectura y las Iteraciones
Modelo de Casos de
Uso
Modelo del
Diseño
Modelo de despliegue
Modelo de Prueba
Modelo de Implementación
Contenido
![Page 44: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/44.jpg)
RUP es la armazón de un proceso
No existe un proceso universal • RUP está diseñado para la flexibilidad y la extensión.
» Permite una variedad de estrategias de ciclos de vida.» Selecciona que artefactos producir y cuado. » Define actividades y roles.» Aplica los conceptos de modelamiento (UML)
![Page 45: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/45.jpg)
Características: Guíado por Casos de Uso
Requer. Implem. Prueba
Los casos de uso vinculan a todos los workflows juntos
Análisis Diseño
![Page 46: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/46.jpg)
Manejo de Casos de Uso
![Page 47: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/47.jpg)
Los Casos de Uso manejan las Iteraciones Conduce un buen número de actividades
de desarrollo. Creación y validación de la arquitectura del
sistema. Definición de casos de prueba y
procedimientos. Planeamiento del iteraciones. Creación de la documentación del usuario. Despliegue del sistema
Sincroniza el contenido de diferentes modelos.
![Page 48: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/48.jpg)
Artefactos de Requerimientos
Especificaciones Complementarias
Requerim.
Funcional No Funcional (URPS)
Casos de Uso
![Page 49: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/49.jpg)
Casos de Uso - Conceptos
Actor
Caso de Uso
• Un actor es algo o alguien fuera del sistema que interactúa con este.
• Un caso de uso es una secuencia de acciones ejecutadas por un sistema para obtener un resultado de valor para un actor
![Page 50: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/50.jpg)
Actores y ámbito del sistema
¿Límites delSistema?
Sistema Agencias
Cajero Bancario
Cliente
Sistema Bancario
![Page 51: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/51.jpg)
¿Qué hay en un modelo de Casos de Uso? Los actores y sus descripciones Diagramas de Casos de Uso mostrando
relaciones Para cada caso de uso
Nombre y pequeña descripción Flujo de eventos Pre-condiciones y post-condiciones Requerimientos especiales Opcionalmente, prototipos de interfaz usuaria Otros diagramas, como diagramas de
actividad o diagramas de estado
![Page 52: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/52.jpg)
Desde los Casos de Uso hasta los Ejecutables
Casos deUso
Clases deAnálisis
CódigoFuente
ExecClases deDiseño
![Page 53: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/53.jpg)
Casos de Uso e Interfaces
Desde los casos de uso se pueden obtener prototipos de las pantallas propuestas
Ellas constituyen la base del diseño de interfaz usuario.
![Page 54: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/54.jpg)
Casos de Uso y Documentación
Modelo de Casos de Uso
Implantación
Material soporte usuarios•Manual de Usuario•Help en línea•Demos•Tutoriales•Material entrenamiento
![Page 55: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/55.jpg)
Casos de Uso y el Modelo de Pruebas
EspecificacionesComplementarias
Modelo de Casos de UsoTest
Modelo de Test
![Page 56: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/56.jpg)
Modelo de Casos de Uso y otros modelos
verificaciónrealización
Modelo de Casos de Uso(requerimientos)
Modelo de Implementación
(código fuente)
Modelo de Test(casos de test y procedi-
mientos de test)
influencia
Modelo de diseño
(clases y objetos)
![Page 57: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/57.jpg)
Casos de Uso e Iteraciones
Modelo de Casos de Uso
Plan de Iteración
Plan detallado para unaiteración en particular
EspecificaciónComplementaria
Administración
del Proyecto
Restricciones
![Page 58: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/58.jpg)
Características: Iterativo e Incremental El ámbito de cada iteración está
basado en: Los principales riesgos del proyecto. La funcionalidad requerida por el sistema. El tiempo asignado a la iteración en el
plan del proyecto. La fase y sus objetivos específicos.
![Page 59: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/59.jpg)
Planificación de Iteraciones
El alcance de la iteración se expresa en términos de: Casos de uso elegidos. Requerimientos no funcionales elegidos.
![Page 60: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/60.jpg)
Cada Iteración consiste de una mini-cascada
Iteración 3 Iteración 4 Iteración 5
Chequeo depreparación parala iteración
Evaluación dela Iteración
Plan de Iteración
Requerimientos
Análisis & Diseño
Implantación
Prueba
Prepara Versión
![Page 61: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/61.jpg)
Ciclos de desarrollo
Un ciclo de desarrollo incluye una ejecución completa de las cuatro fases y produce una generación de software. La mayoría de los sistemas requiere múltiples ciclos. Un ciclo de desarrollo inicial genera la liberación
inicial. Ciclos posteriores se usan para mantener o mejorar
el sistema. Los ciclos pueden ser secuenciales o traslaparse.
![Page 62: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/62.jpg)
Estrategias de Desarrollo Iterativo
Incremental (1)
C o n c e p t u a l p r o t o t y p e
A r c h i t e c t u r a l b a s e l i n e
R e l e a s eD e l i v e r y
# 1 # 2 # n + 1 # . . # m # m + 1 # m + 2 . . I t e r . N o .
P r e l .I t e r a t i o n
E l a b o -r a t i o n C o n s t r u c t i o n T r a n s i t i o nI n c e p t i o n
Incremental (1)
![Page 63: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/63.jpg)
Estrategias de Desarrollo Iterativo
C o n c e p t u a l p r o t o t y p e
A r c h i t e c t u r a l b a s e l i n e
R e l e a s e
D e l i v e r y
# 1 # 2 # n + 1 # . . # m # m + 1 # m + 2 . . I t e r .N o .
P r e l .I t e r a t i o n
E l a b o r a t i o n
C o n s -t r u c -t i o n T r a n s i t i o nI n c e p t i o n
Evolucionario (2)
![Page 64: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/64.jpg)
Estrategias de Desarrollo Iterativo
Incremental (1)
C o n c e p t u a l p r o t o t y p e
A r c h i t e c t u r a l b a s e l i n e
R e l e a s e
D e l i v e r y
# 1 # 2 # n + 1 # . . # m # m + 1 # m + 2 . . I t e r .N o .
P r e l .I t e r a t i o n
E l a b o -r a t i o n
C o n s -t r u c -t i o n T r a n s i t i o nI n c e p t i o n
Entregas incrementales (3)
![Page 65: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/65.jpg)
Estrategias de desarrollo Iterativo
C o n c e p t u a l p r o t o t y p e
A r c h i t e c t u r a l b a s e l i n e
R e l e a s e
D e l i v e r y
# 1 # 2 # 3 . . I t e r .N o .
E l a b o -r a t i o n C o n s t r u c t i o n T r a n s i t i o nI n c e p t i o n
El gran diseño (4)
![Page 66: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/66.jpg)
Ciclo de Retroalimentación
Costos y PlazosReales Iteración N
• Resultado de Tests• Densidad de
Defectos• Estabilidad
Arquitectura• Otras métricas
Evaluación de Cali-dad de la Iteración N
Plan Proy. revisado• Costo Total• Programac. Gral.• Ambito
Plan Iteración N+1
• Costo• Programación• Contenido
Lista de riesgos revisada
• Compare costos y plazos reales con los del plan de iteración
• Determine si hay trabajo a rehacer
- Asígnelo a futura(s) iteración(es)
• Determine que riesgos han sido reducidos, eliminados o cuales identificados
• Actualice el plan del proyecto
• Prepare plan próxima iteración
- Use lista de riesgos revisada y seleccione Casos de Uso
Evaluación de Iteración N
![Page 67: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/67.jpg)
Plan de Iteración
Definir criterios de evaluación objetivos. Identificar que artefactos concretos y
medibles serán desarrollados o actualizados y las actividades necesarias para lograrlo.
Descomponer las actividades hasta llegar a sub-actividades con una asignación y responsabilidad clara y una duración controlable.
![Page 68: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/68.jpg)
Plan de Iteración
Usar estimaciones para asignar duración y esfuerzo de cada actividad.
Hacer los ajustes necesarios de acuerdo a las restricciones de recursos.
![Page 69: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/69.jpg)
Plan de Iteraciones
¿Cuántas iteraciones deben hacerse en cada proyecto?
¿Cuánto debe durar cada iteración? Depende de un número de consideraciones:
Tamaño del sistema: Mientras mayor el sistema, más larga la duración
Número de personas: Mientras más gente, más larga la duración
Bajo 3 0 1 1 1
Típico 6 1 2 2 1
Alto 9 1 3 3 2
Total I E C T
![Page 70: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/70.jpg)
DesarrolleBusiness
Case
Lider deProyecto
DesarrollePlanProy.
Analice lista de Riesgos
AsignePersonal
EvalueIteración
EjecutePlan de
Iteración
DesarrollePlan de
Iteración
IdentiqueRiesgos
Controlando el ciclo de vida iterativo La evaluación de la iteración provee el
feedback necesario para controlar el proceso
![Page 71: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/71.jpg)
Características: Manejo de Proyectos y Riesgos
Progreso
Estabilidad
Adaptabilidad
Modularidad
Calidad
Madurez
Gastos
Tamaño y Complejidad
Tasa de cambio en el tamaño o complejidad del sistema
Facilidad de cambio
Ambito de cambio
Número de errores
Frecuencia de errores
Costo del proyecto versus presupuesto
Métrica Signif icado
![Page 72: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/72.jpg)
Asignación de Recursos: Duración y Esfuerzo Distribución de esfuerzo para un ciclo de
desarrollo inicial de un proyecto de tamaño medio
5%esf.
20% esfuerzo 65% esfuerzo10%esf.
Recursos
Tiempo
Concep Elaboración Construcción Transición
![Page 73: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/73.jpg)
Manejo de Riesgos
Riesgo - Todo lo que pueda afectar el éxito del proyecto Riesgo Directo - el proyecto tiene un alto
grado de control Riesgo Indirecto - el proyecto tiene poco
o ningún control
![Page 74: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/74.jpg)
Manejo de Riesgos
Atributos de Riesgo: Probabilidad de ocurrencia Impacto en el proyecto (severidad) Indicador de magnitud de Riesgo: Alto,
Significativo, Moderado, Parcial, Bajo
![Page 75: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/75.jpg)
Estrategias frente al Riesgo
Evitar el riesgo - reorganizar el proyecto, de manera que no sea afectado por el riesgo.
Transferir el riesgo - reorganizar el proyecto, de manera que el riesgo sea asumido por otro.
![Page 76: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/76.jpg)
Estrategias frente al Riesgo
Aceptar el Riesgo - vivir con él
Amortiguar el Riesgo - reducir su probabilidad o impacto
Definición de plan de contingencia - que hacer si el riesgo se transforma en un problema real (“Plan B”)
![Page 77: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/77.jpg)
El Riesgo conduce el Ciclo de Vida Iterativo La evaluación del riesgo es un
proceso continuo; los riesgos van cambiando en el tiempo.
Las primeras iteraciones enfrentan los mayores riesgos
![Page 78: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/78.jpg)
Características: Administración y Control de Cambios
Cliente
Yo necesito un nuevo requerimientoy cambios a los casos de uso actuales...
¡El cliente está consciente que hay un cambio al Modelo de Casos de Uso!
Hace el impacto en costo más visible para el cliente
![Page 79: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/79.jpg)
Administración y configuración de Cambios La administración de configuraciones
y cambios de los requerimientos es importante por las mismas razones que la administración de configuraciones de código fuente es importante
![Page 80: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/80.jpg)
Administración y configuración de Cambios Beneficios de administración de
requerimientos bajo CM Previene de cambios no autorizados Conserva las revisiones de los
documentos de los requerimientos Permite recuperar versiones anteriores de
los documentos Previene la actualización simultanea de
documentos
![Page 81: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/81.jpg)
La administración de Cambios es Clave
Inputs de Clientes yUsuarios Finales
Marketing
Nueva Característica
NuevoRequerimiento
Error
Mesa de Ayuda
ProcesoAprobación
(EquipoRevisión
Cambios)
Los requerimientos de cambio vienen de muchas fuentes durante el ciclo de vida del producto
Inputs de programadores y testeadores
CR
Test
Code
Reqs
Vision
CM Artifacts
CRSystem
CRSystem
Mejoras
![Page 82: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/82.jpg)
Desarrolloen equipos
RUP y UML
Lenguaje deModelamiento
ProcesoUnificado
![Page 83: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/83.jpg)
¿Qué es UML?
El lenguaje de modelamiento unificado (UML) está descrito en "The Unified Modeling Language for Object-Oriented Development" escrito por Grady Booch, James Rumbaugh e Ivar Jacobson.
Está basado en las experiencias personales de los autores.
Incorpora contribuciones de otras metodologías.
![Page 84: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/84.jpg)
¿Qué es UML?
UML es el lenguaje “Standard” para visualización, especificación, construcción, y documentación de los elementos de un sistema “software intensivo”
Puede ser utilizado a través de todo el ciclo de vida de desarrollo
![Page 85: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/85.jpg)
¿Qué es UML?
UML combina lo mejor de: Conceptos de modelamiento de
datos. Modelamiento del negocio
(workflow). Modelamiento de objetos. Modelamiento de componentes.
![Page 86: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/86.jpg)
Ventajas del UML
Es un estándar abierto Da soporte a todo el ciclo de vida de
desarrollo del software. Da soporte a diversas áreas de
aplicación. Está soportado por muchas
herramientas.
![Page 87: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/87.jpg)
Creación del UML
Booch method OMT
Unified Method 0.8OOPSLA ´95
OOSEOther methods
UML 0.9Web - June ´96
publicfeedback
Final submission to OMG, Sep ‘97
First submission to OMG, Jan ´97
UML 1.1OMG Acceptance, Nov 1997
UML 1.3
UML 1.0UML partners
![Page 88: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/88.jpg)
Meyer
Before and after conditions
Harel
StatechartsGamma, et al
Frameworks and patterns,
HP Fusion
Operation descriptions and message numbering
Embley
Singleton classes andhigh-level view
Wirfs-Brock
Responsibilities
Odell
Classification
Shlaer - Mellor
Object lifecycles
Rumbaugh
OMT
Booch
Booch method
Jacobson
OOSE
Contribuciones al UML
![Page 89: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/89.jpg)
Workflows y Modelos
Requerimientos
Diseño
Implementación
Prueba
Análisis
Use CaseModel
DesignModel
Depl.Model
Impl.Model
AnalysisModel
TestModel
UML - Sus diagramas proporcionan vistas dentro de cada modelo
Cada Workflow está asociado con uno o más modelos
![Page 90: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/90.jpg)
Modelos, Vistas, y Diagramas
Use CaseDiagramsUse Case
DiagramsDiagramas deCasos de Uso
ScenarioDiagramsScenario
DiagramsDiagramas deColaboración
StateDiagramsState
DiagramsDiagramas deComponentes
ComponentDiagramsComponent
DiagramsDiagramas deImplementación
StateDiagramsState
DiagramsDiagramasde Objeto
ScenarioDiagramsScenario
DiagramsDiagramas deTransición de
Estados
Use CaseDiagramsUse Case
DiagramsDiagramasde Secuencia
StateDiagramsState
DiagramsDiagramas deClase
Diagramasde Actividades
Modelos
![Page 91: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/91.jpg)
Modelo de casos de usoUse CaseDiagrams
CollaborationDiagrams
ComponentDiagrams
DeploymentDiagrams
ObjectDiagrams
StatechartDiagrams
SequenceDiagrams
ClassDiagrams
ActivityDiagrams
Use CaseModel
DesignModel
Depl.Model
Impl.Model
AnalysisModel
TestModel
![Page 92: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/92.jpg)
Modelo de análisis y diseñoUse CaseDiagrams
CollaborationDiagrams
ComponentDiagrams
DeploymentDiagrams
ObjectDiagrams
StatechartDiagrams
SequenceDiagrams
ClassDiagrams
ActivityDiagrams
Use CaseModel
DesignModel
Depl.Model
Impl.Model
AnalysisModel
TestModel
Incluye subsistemas y paquetes
![Page 93: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/93.jpg)
Modelo de despliegueUse CaseDiagrams
CollaborationDiagrams
ComponentDiagrams
DeploymentDiagrams
ObjectDiagrams
StatechartDiagrams
SequenceDiagrams
ClassDiagrams
ActivityDiagrams
Use CaseModel
DesignModel
Depl.Model
Impl.Model
AnalysisModel
TestModel
Incluye clases y componentes
![Page 94: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/94.jpg)
Modelo de pruebaUse CaseDiagrams
CollaborationDiagrams
ComponentDiagrams
DeploymentDiagrams
ObjectDiagrams
StatechartDiagrams
SequenceDiagrams
ClassDiagrams
ActivityDiagrams
Use CaseModel
DesignModel
Depl.Model
Impl.Model
AnalysisModel
TestModel
Prueba la sincronización de los modelos
![Page 95: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/95.jpg)
La arquitectura y los modelos
Vistas
Modelos
Use CaseModel
DesignModel
Depl.Model
Impl.Model
TestModel
AnalysisModel
![Page 96: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/96.jpg)
Funciones versus Formas
Casos de uso Arquitectura
• Los casos de uso especifican funciones. La arquitectura especifica la forma.
• Los casos de uso y la arquitectura deben estar balanceados.
![Page 97: Desarrollo de software orientado a objetos](https://reader033.vdocuments.co/reader033/viewer/2022042700/559a50121a28ab35298b4776/html5/thumbnails/97.jpg)
Dos partes de un todo unificado
UML RUP
• Convergencia en el futuro
• Convergencia a través de los esquemas de proceso.
• Es un estándar de OMG