Ingeniería de Software -...
Transcript of Ingeniería de Software -...
![Page 1: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/1.jpg)
Ingeniería de Software
Agustín J. GonzálezElO329: Diseño y Programación Orientados a
ObjetoTomado de: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/
entre otras fuentes.
![Page 2: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/2.jpg)
Definición
(1993) La aplicación mecanismos sistemáticos, disciplinados, y cuantificables para el desarrollo, operación y mantención de software; esto es la aplicación de la ingeniería al software.
Establecimiento y uso de principios con caracteres de ingeniería apropiados para obtener, eficientemente, software confiable, que opere eficaz y eficientemente en máquinas reales
La aplicación del arte del desarrollo software junto con las ciencias matemáticas y computadores para diseñar, construir, y mantener programas computacionales eficientes y económicos que logran sus objetivos.
![Page 3: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/3.jpg)
Estado del arte en Ing. De Software
¿Es una ciencia rigurosa con fuertes fundamentos matemáticos?
¿Es una campo técnico bien desarrollado con mucho de disciplina de ingeniería?
O está realmente en un estado primitivo... A lo más una serie de “mejores prácticas”, desarrolladores de
software construyen software y si éstos funcionan entonces nosotros estudiamos como ellos lo hicieron.
Si éstos funcionan por un largo tiempo entonces estudiamos sus procesos de software aún más cuidadosamente.
![Page 4: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/4.jpg)
Construcción de una casa para “fido”
Puede hacerlo una sola personaRequiere:
Modelado mínimoProceso simpleHerramientas simples
![Page 5: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/5.jpg)
Construcción de una casa
Construida eficientemente y en un tiempo razonable por un equipoRequiere:
ModeladoProceso bien definidoHerramientas más sofisticadas
![Page 6: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/6.jpg)
Construcción de un rascacielos
![Page 7: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/7.jpg)
Herramientas(Ej: Rational Rose)
Proceso (MetodologíasEj: ITIL, Extreme Programming, RUP: Rational Unified Process)
Notación (UML)
Claves en Desarrollo de SI
Calidad: Ej: CMM
![Page 8: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/8.jpg)
Sistema Computacional
Proceso de Negocios
Orden
Item
envío
“El modelado captura laspartes esenciales del sistema”
Abstracción Modelado Visual (MV)
![Page 9: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/9.jpg)
Interfaz de Usuario(Visual Basic,
Java, ..) Lógica del Negocio(C++, Java, ..)
Servidor de BDs(C++ & SQL, ..)
Múltiples Sistemas
Componentes Reutilizados
Manejar la complejidad
“Modelar el sistema independientemente del lenguaje de implementación”
Promover la Reutilización
Notación (Visual) Beneficios
![Page 10: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/10.jpg)
¿Por qué la Orientación a Objetos?
Proximidad de los conceptos de modelado respecto de las entidades del mundo real Mejora la captura y validación de requisitos Acerca el “espacio del problema” y el “espacio de la solución”
Modelado integrado de propiedades estáticas y dinámicas del ámbito del problema Facilita construcción, mantenimiento y reutilización
Podríamos dar muchas razones pero hay problemas..
![Page 11: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/11.jpg)
“...Los conceptos básicos de la OO se conocen desde hace dos décadas, pero su aceptación todavía no está tan extendida como los beneficios que esta tecnología puede sugerir”
Problemas en OO
![Page 12: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/12.jpg)
… Problemas en OO
Un objeto contiene datos y operaciones que operan sobre los datos, pero ...
Podemos distinguir dos tipos de objetos degenerados: Un objeto sin datos (que sería lo mismo que una biblioteca de funciones) Un objeto sin “operaciones”, con sólo operaciones del tipo crear, recuperar,
actualizar y borrar (que se correspondería con las estructuras de datos tradicionales)
Un sistema construido con objetos degenerados no es un sistema verdaderamente orientado a objetos
![Page 13: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/13.jpg)
Proceso de Desarrollo de SW
![Page 14: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/14.jpg)
El proceso de desarrollo “Completo”
Se da en un contexto y dependiendo el texto o investigador destaca más o menos etapas.
El más completo que he visto incluye:
Al desarrollo es a lo que normalmente se la da más énfasis en la literatura.
Sueño LanzamientoInvestigación Desarrollo Soporte
Tiempo
![Page 15: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/15.jpg)
Requisitos nuevos
o modificados
Sistema nuevo
o modificadoProceso de Desarrollo
de Software
¿Qué es un Proceso de Desarrollo de SW?
Define Quién debe hacer Qué, Cuándo y Cómo debe hacerlo
No existe un proceso de software universal. Las características de cada proyecto (equipo de desarrollo, recursos, etc.) exigen que el proceso sea configurable
Sueño LanzamientoInvestigación Desarrollo Soporte
Tiempo
![Page 16: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/16.jpg)
Áreas cubiertas por la Ing. de Solftware
La Ingeniería del Software estudia todos los aspectos involucrados en el desarrollo de software, entre los cuales se encuentran:
● Etapas de un Proyecto de software
● Paradigmas / enfoques para enfrentar el desarrollo del proyecto de software (Cascada, Interativo incremental)
● Tiempo y Costos
● Aspectos tecnológicos
● Gestión de Proyectos
![Page 17: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/17.jpg)
Etapas de un proyecto de SoftwareEtapas / Hitos escenciales rqueridos en un proyecto de desarrollo de software:
● Oportunidad de Negocio (Hito)● Levantamiento Incial de Requerimientos (Dominio del problema)
• Entendimiento inicial de la problemática a resolver• Reuniones con Cliente • Especificación inicial de requerimientos
● Confección de Propuesta• Estimación de esfuerzos y planificación del proyecto. Uso de técnicas
(COCOMO) y estadisticas de proyectos similares al que se dessarrollará, entrevistas a personas con experiencia en proyectos similares al que se desarrollará
• Definición del alcance del proyecto• Costos
● Análisis OO (Dominio del problema)• Casos de Uso – análisis dinámico• Modelos Conceptuales – análisis estático• Diseño preliminar de interfaces (web, GUI, comandos, voz)
![Page 18: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/18.jpg)
Etapas de un proyecto de Software (cont)● Arquitectura (Dominio de la Solución)
• Especificación de la tecnología a utilizar (J2EE, .NET)• Especificación de Patrones de Diseño
● Diseño (Dominio de la Solución)• Diseño de Interfaces (web, gui, comandos, voz)• Realización de diagramas de secuencia• Realización de diagramas de clases
● Construcción / Codificación • Entendimiento real del diseño ( solución) a programar• Programación eficiente y optima del código fuente• Comentar en forma entendible y razonable el código fuente• Construcción de programa de “TEST”• Prueba unitaria del desarrollador mediante un programa de “TEST”
● Pruebas Unitarias• Realización de plan de pruebas
● Pruebas IntegradasRealización de plan de pruebas
![Page 19: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/19.jpg)
Etapas de un proyecto de Software (cont)
● Capacitación a Usuarios• Confección de Manuales de Usuario• Reuniones con usuario final
● Puesta en Producción • Confección de plan de puesta en producción
● Marcha Blanca
● Garantía• Resolución de Incidencias
![Page 20: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/20.jpg)
Planificar y Evaluar Proyectos ...
¿Podré cumplir con los plazos? ¿Estaré dentro de lo presupuestado? ¿El “cliente” quedará satisfecho?
Las Metodologías pueden ser la ayuda que necesitamos, si podemos usarlas correctamente !!
![Page 21: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/21.jpg)
Procesos, Metodologías
![Page 22: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/22.jpg)
¿Qué es una Metodología ...
Las metodologías imponen un proceso disciplinado sobre el desarrollo de software con el fin de hacerlo más
predecible y eficiente.
![Page 23: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/23.jpg)
Las ágiles más conocidas ...
XP (Programación Extrema) La familia Cristal de Cockburn Código Abierto ASD (Desarrollo de Software Adaptable) SCRUM FFD (Desarrollo Manejado por Rasgos) DSDM (Método de desarrollo de sistema dinámico) RUP (Rational Unified Process)
Yo no conozco todas, pero vale la pena conocer al menos una. Aquellas en rojo son la más populares.
![Page 24: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/24.jpg)
Metodologías en área TI
Más detalles aquí.
![Page 25: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/25.jpg)
Apostando por RUP ...
![Page 26: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/26.jpg)
Desarrollo de software: Características de RUP ...
Guiado y Manejado por Casos de Uso
Centrado en la Arquitectura
Iterativo e Incremental
Desarrollo Basado en Componentes
Utilización de UML
Proceso Integrado
![Page 27: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/27.jpg)
Principales metodologías en el tiempo
Tiempo
Modelo Tradicional de Cascada
Tiempo
Definición de Requerimientos
Análisis & Diseño
Implementación y Test Unitarios
Construcción/Pruebas
t
t
Iteración 1 Iteración 2 Iteración 3
P
C
A&D
R
P
C
A&D
R
P
C
A&D
RModelo Iterativo
Incremental
Integración ytest del sistema
Operación y mantención
![Page 28: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/28.jpg)
TiempoTiempo
Esfu
erzo
Nec
esar
io p
or A
ctiv
idad
Esfu
erzo
Nec
esar
io p
or A
ctiv
idad
TransiciónTransiciónElaboraciónElaboración ConstrucciónConstrucciónConcepciónConcepción
Iteración Preliminar . . . .. . . .Iteración1
Iteración2
. . . .. . . . Iteraciónn
Iteraciónn+1
RUP Define Fases de Desarrollo ...
Análisis & Diseño
Construcción
Pruebas
Distribución
Requerimientos
Áreas de trabajo (Workflow)
A & D
C
P
D
R
A & D
C
P
D
R
A & D
C
P
D
R
A & D
C
P
D
R
![Page 29: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/29.jpg)
ConcepciónConcepción ElaboraciónElaboración ConstrucciónConstrucción TransiciónTransición
Compromiso de recursos para fase elaboración
HitoObjetivos,
visión
HitoArquitectura
HitoCapacidad
Operacional
Aceptación del cliente
LiberaciónProducto
Tiempo
Importancia de los Hitos en RUP ...
![Page 30: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/30.jpg)
Mejores Prácticas de RUP ...
Controle los Cambios
Administre los Administre los RequerimientosRequerimientos
Use Arquitectura Use Arquitectura de Componentesde Componentes
Modele Modele VisualmenteVisualmente Verifique CalidadVerifique Calidad
Desarrolle Iterativamente
![Page 31: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/31.jpg)
Un Ejemplo: Comparar con VModel (Motorola)
![Page 32: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/32.jpg)
• Pruebas funcionales• Pruebas de desempeño• Gestión de requisitos• Gestión de cambios y
configuración• Ingeniería de Negocio• Ingeniería de datos• Diseño de interfaces
Rational Unified Process1998
Rational Objectory Process19961997
Objectory Process19871995
Enfoque Ericsson
UML
Rational Unified Process (RUP)
![Page 33: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/33.jpg)
Otra visión similar con más Actividades
![Page 34: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/34.jpg)
Otra visión similar con más ActividadesDisciplinas o áreas de trabajo
Modelado del Negocio
Requisitos
Análisis y Diseño
Implementación
Pruebas
Despliegue, distribución
Entorno
Gestión de configuración y cambios
Gestión del proyecto
Primarios
De Apoyo
![Page 35: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/35.jpg)
Deployment Set
Project Management Set
Configuration & Change Management Set
Environment Set
Business Modeling Set
Requirements Set
Analysis & Design Set
Implementation Set
Test Set
... Elementos en RUP
Artefactos Es el Resultado parcial o final que es producido y usado durante el
proyecto. Son las entradas y salidas de las actividades Un artefacto puede ser un documento, un modelo o un elemento de
modelo Conjuntos de Artefactos
![Page 36: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/36.jpg)
Características Esenciales de RUP
Proceso Dirigido por los Casos de Uso Proceso Iterativo e Incremental Proceso Centrado en la Arquitectura
![Page 37: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/37.jpg)
RequisitosCapturar, definir y
validar los casos de uso
Realizar los casos de uso
Verificar que se satisfacen los casos de
uso
Análisis & Diseño
Implementación
Pruebas
Casos de Usointegran el
trabajo
Proceso dirigido por los Casos de Uso
![Page 38: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/38.jpg)
Caso de Uso Realización de Análisis Realización de Diseño
Caso de Prueba
X
«trace» «trace»
«trace»«trace»
Pruebas Funcionales
PruebasUnitarias
[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. AddisonWesley, 1999]
... Proceso dirigido por los Casos de Uso
![Page 39: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/39.jpg)
... Proceso dirigido por los Casos de Uso
![Page 40: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/40.jpg)
El ciclo de vida iterativo se basa en la evolución de prototipos ejecutables que se muestran a los usuarios y clientes
En el ciclo de vida iterativo en 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
Proceso Iterativo e Incremental
![Page 41: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/41.jpg)
Análisis
Diseño
Codific.Pruebas e
Integraciónn veces
... Proceso Iterativo e Incremental
Las actividades se encadenan en una minicascada con un alcance limitado por los objetivos de la iteración
![Page 42: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/42.jpg)
... Proceso Iterativo e Incremental
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
hecho en iteraciones anteriores se hace gradualmente durante la construcción
Evaluación de la entrega de 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)
![Page 43: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/43.jpg)
EnfoqueCascada
EnfoqueIterativo eIncremental
Proceso Iterativo e Incremental
![Page 44: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/44.jpg)
Grado de Finalización de Artefactos
... Proceso Iterativo e Incremental
![Page 45: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/45.jpg)
Proceso Centrado en la Arquitectura
La 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 46: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/46.jpg)
Fases del Ciclo de Vida
El ciclo de vida consiste en una serie de ciclos, cada uno de los cuales produce una nueva versión del producto
Cada ciclo está compuesto por fases y cada una de estas fases está compuesta por un número de iteraciones
Las fases son: Inicio o Estudio de oportunidad Elaboración Construcción Transición
![Page 47: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/47.jpg)
...Fases del Ciclo de Vida
Inicio o Estudio de oportunidad (inception) Define el ámbito y objetivos del proyecto Se define la funcionalidad y capacidades del producto
Elaboración Tanto la funcionalidad como el dominio del problema
se estudian en profundidad Se define una arquitectura básica Se planifica el proyecto considerando recursos
disponibles
![Page 48: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/48.jpg)
...Fases del Ciclo de Vida
Construcción El producto se desarrolla a través de iteraciones donde cada
iteración involucra tareas de análisis, diseño e implementación Las fases de estudio y análisis sólo dieron una arquitectura
básica que es aquí refinada de manera incremental conforme se construye (se permiten cambios en la estructura)
Gran parte del trabajo es programación y pruebas Se documenta tanto el sistema construido como el manejo del
mismo Esta fase proporciona un producto construido junto con la
documentación
![Page 49: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/49.jpg)
...Fases del Ciclo de Vida
Transición Se libera el producto y se entrega al usuario para un uso real Se incluyen tareas de marketing, empaquetado atractivo,
instalación, configuración, entrenamiento, soporte, mantenimiento, etc.
Los manuales de usuario se completan y refinan con la información anterior
Estas tareas se realizan también en iteraciones
![Page 50: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/50.jpg)
15%
10%
15%
30%
15%
P r e lim in a ryI te ra tio n ( s )
ite r.# 1
ite r.# 2
ite r.# n
ite r.# n + 1
ite r.# n + 2
ite r.# m
ite r.# m + 1
Ince ption E la bora tion C onstruction Tra nsition
Una iteración en lafase de elaboración
Requisitos
Diseño
Implementación
Pruebas
Análisis
Esfuerzo respecto de las Workflows
![Page 51: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/51.jpg)
P r e lim in a ryI te ra tio n ( s )
ite r.# 1
ite r.# 2
ite r.# n
ite r.# n + 1
ite r.# n + 2
ite r.# m
ite r.# m + 1
Ince ption E la bora tion C onstruction Tra nsition
Una iteración en lafase de elaboración
Requisitos
Diseño
Implementación
Pruebas
Análisis
Esfuerzo: 5% 20% 65% 10%Duración: 10% 30% 50% 10%
...Esfuerzo respecto de las Fases
![Page 52: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/52.jpg)
Dos lecciones importantes
El tiempo es independiente del contexto. Ahorrar una semana la comienzo de un proyecto es tan bueno como ahorrarla al final. Una semana es una semana.
Es mucho más fácil ahorrar tiempo al inicio del proyecto (cuando los entregables son menos claros).
Conclusión: Pronto hay que tener claro el proyecto del ramo.
![Page 53: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/53.jpg)
Idea relacionada: Patrones de Diseño
Es una solución a un problema general de diseño. Tiene la forma de un conjunto de clases que interactúan. Las clases requieren personalización al caso específico (partes en
blanco)
![Page 54: Ingeniería de Software - profesores.elo.utfsm.clprofesores.elo.utfsm.cl/~agv/elo329/1s06/lectures/Software... · RUP (Rational Unified Process) Yo no conozco todas, pero vale la](https://reader031.fdocument.pub/reader031/viewer/2022022517/5b09aa207f8b9a51508da3d5/html5/thumbnails/54.jpg)
Ejemplo: Patrón Observador
Modelo, vista, controlador
Vista
Modelo
Controlador