Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Objetivos Generales
Dominar y aplicar aspectos bsicos de la metodologa de Proceso Unificado de Desarrollo de Software (RUP) en los flujos de Negocio, Requisitos y Anlisis. Conocer y usar adecuadamente los diagramas fundamentales del estndar notacional UML.
Ingeniera de Software 2
Bibliografa
JACOBSON, Ivar; BOOCH, Grady, RUMBAUGH, James, El Proceso Unificado de Desarrollo de Software.2000. Addison Wesley. RUMBAUGH J., Jacobson I., Booch G.. El Lenguaje Unificado de Modelado. Manual de Referencia. 2000 Addison Wesley.
Ingeniera de Software 3
Bibliografa
RUMBAUGH J., Jacobson I., Booch G.. El Lenguaje Unificado de Modelado. Libro Introductorio. 1999 Addison Wesley. Ayuda online sobre RUP en Rational Rose 2003 de IBM.
Ingeniera de Software 4
Contenido de la Asignatura
No. 1 2 3 4 5 Contenido Introduccin. Modelacin del negocio. Requisitos. Anlisis Empleo de un CASE.
5
Ingeniera de Software
Sumario de la clase
Sumario de la clase
El proceso Unificado de Desarrollo (RUP). Caractersticas del RUP. Fases e iteraciones. Producto de software. Artefactos. Modelos Herramientas.
Ingeniera de Software 7
Ingeniera de Software
Ingeniera de Software
Ingeniera de Software
Definicin segn Fritz Bauer: [PRE93] :
El establecimiento y uso de principios de ingeniera robustos, orientados a obtener software econmico que sea fiable y funcione de manera eficiente sobre mquinas reales.
Ingeniera de Software 9
Ingeniera de Software
Principios y mtodos robustos: Mtodos. Herramientas. Lineamientos.
Ingeniera de Software
10
Enfoque estructurado
Dominio de herramientas y lenguajes de programacin estructurada, orientados a flujos de datos que permiten una modelacin de las funciones o procesos de un sistema. Autores principales
Ingeniera de Software
Ingeniera de Software
14
Atributos
blanco
Ingeniera de Software
Parte
15
.
Ingeniera de Software
. .
end;
16
Es el comportamiento de un tipo de objeto. A travs de ellas se encapsulan los datos. Mtodo: Implementacin en software de la operacin.
Cambiar luz
Ingeniera de Software 17
Ingeniera de Software
18
Ingeniera de Software
19
Ingeniera de Software
21
Ingeniera de Software
Principios y mtodos robustos: Mtodos. Herramientas. Lineamientos (heurstica).
Ingeniera de Software
22
partes de un todo. Qum. Traza de un edificio, delineacin de Estudiar la situacin actual, analizar, Anlisis cualitativo, el que una figura. Descripcin, bosquejo disear, programar, probar, implantar. descubre y asla a los elementos Qu es sntesis? hecho por palabras. Divide y vencers. de un cuerpo compuesto: anlisis Composicin de un todomodelar.por la Disear: delinear, bosquejar, trazar. Emplear modelos, Esto no cuantitativo, el que tiene por reunin de sus partes. Suma y es ms que aplicar un mecanismo de objeto determinar la cantidad de Qu es modelo? compendio de una materia. abstraccin: describir, detallar un cada Lo componente. que ha de servir de objeto imitacin. conjuntos de aspectos delde sistema y Figura de barro, yeso o cera que se ha de desestimar otros. reproducir en madera, mrmol o metal. Representacin en pequeo de alguna cosa.
Ingeniera de Software 23
UML?
Rational Software Corporation, 1998
Ingeniera de Software 24
1980- inicios de los 90 Smalltalk, ADA, C++, Visual Basic. Generacin temprana de mtodos OO.
Ingeniera de Software 27
Ingeniera de Software
28
UML no es un mtodo
El UML es una gua al desarrollador para realizar el anlisis y diseo orientado a objetos, es un proceso El UML es un lenguaje que permite la modelacin de sistemas con tecnologa orientada a objetos Aprobado como estndar por OMG en noviembre de 1997
Ingeniera de Software 29
Casos de uso
Ingeniera de Software
Ingeniera de Software
31
Ingeniera de Software
32
Diagrama de Secuencia
Ingeniera de Software
Diagrama de Colaboracin
33
Ingeniera de Software
34
Volviendo al tema
RUP
Ingeniera de Software
35
Testing de RUP 5.0 funcionalidad 1998 Testing de desempeo Proceso Rat. Objectory Gestin de 4.1. 1996-1997 Requisitos UML Gestin de cambios Proceso Objectory 1.0 3.8 Ingeniera del 1987-1995 negocio Ing. de datos Enfoque de Ericsson
Ingeniera de Software 36
Ingeniera de Software
38
Tendencia actual:
Construccin de sistemas ms grandes y complejos Lo queremos ms rpido
Sin embargo:
La mayora de la gente sigue haciendo software con los mismos mtodos de hace 20 aos
Ingeniera de Software 39
Caractersticas de RUP
Ingeniera de Software
40
Caractersticas de RUP
Guiado por Casos de Uso
Casos de uso
Requisitos Anlisis Diseo Implementacin Prueba
Flujos de trabajo
Ingeniera de Software 41
Caractersticas de RUP
Centrado en la arquitectura En la construccin, vista de:
A) Estructura. B) Calefaccin. C) Plomera. D) Electricidad.
Estticos
Dinmicos
Aspectos
Ingeniera de Software 42
Arquitectura de Software
Rational Unified Process
SUN SL-425: Architecting and Designing J2EE Applications
Arquitectura es la estructura de los componentes ms significativos de un sistema interactuando a travs de interfaces con otros componentes conformados por componentes sucesivamente pequeos e interfaces.
43
Arquitectura se refiere a la representacin abstracta de los componentes de un sistema y su comportamiento. La arquitectura no contiene detalles de implementacin.
Caractersticas de RUP
Iterativo e incremental
Incremento del producto Varios meses 1 ao
V.
V.
Miniproyecto
Ingeniera de Software
Iteraciones
44
Fases e Iteraciones
Inicio
Prelim Iteration
...
Elaboracin
Arch Iteration
...
Construccin
Dev Dev Iteration Iteration
...
Transicin
Trans Iteration
...
Una iteracin es una secuencia de actividades con un plan establecido y criterios de evaluacin, cuyo resultado es una versin del software
Ingeniera de Software 45
Beneficios de la iteracin
Reduce el coste del riesgo al coste de un solo incremento. Menos riesgo de no sacar el producto al mercado en fecha. Acelera el ritmo de desarrollo.
Ingeniera de Software 46
Beneficios de la iteracin
Las necesidades del usuario y correspondientes requisitos no pueden definirse completamente al principio. Se requieren iteraciones sucesivas.
Ingeniera de Software
47
Elaboration
Construction
Transition
Inception elaborar el
Elaboration Planificar el proyecto, especificar los Modelos y dar al base para las Arquitecturas Construction Construir el Producto Transition producto
Ingeniera de Software
Iteraciones y Workflows
Workflows Inception
Requerim
Anlisis
Fases
E l a b o r a t io n C o n s t r u c ti o n Tr a n si ti o n
Diseo
Implement.
Prueba
P r e lim i n a r y I te r a t io n ( s ) i t e r. #1 i t e r. #2 i t e r. #n i t e r. #n+1 i t e r. #n +2 i t e r. #m i t e r. #m +1
Ingeniera de Software
It e r a tio n s
49
Modelo de Despliegue Modelo de Implement. Cada flujo de trabajo Modelo est asociado con uno de prueba o varios modelos
50
Qu es un proceso?
Define Quin est haciendo Qu, Cundo lo hace, y Cmo para alcancar un objetivo trazado.
Nuevo o Cambio de requerimientos
Ingeniera de Software
51
Qu es un producto de software?
Un producto de software es el cdigo mquina y los ejecutables de un sistema
Un producto de software es el conjunto de artefactos que se necesitan para representarlo en forma comprensible para:
Las mquinas. artefactos?
Ingeniera de Software
Artefactos?
Trmino general aplicable a cualquier tipo de informacin creada, cambiada o utilizada por los trabajadores en el desarrollo del sistema Ejemplos: Diagramas UML y su texto. Bocetos de interfaz. Planes de prueba.
Ingeniera de Software 53
Coleccin de modelos
Modelo Tipo de artefacto utilizado en el RUP
La construccin de un sistema es un proceso de construccin de modelos Modelo Un perspectiva diferente del sistema. Es una abstraccin del sistema
54
Ingeniera de Software
Coleccin de modelos
Secuencia Modelo de cronolgica Anlisis
Modelo de Implementacin
Ingeniera de Software
Modelo de Diseo
55
Trabajador
Actividad
Una unidad de trabajo
Describir Pieza de informacin Analista Caso de uso producida, modificada, y utilizada por Responsable el proceso de Artefacto
Paquete de CU
Caso de uso
Ingeniera de Software
56
Mantener la informacin bien estructurada. Gestionar grandes cantidades de informacin. Permiten aumentar la productividad y calidad.
Ingeniera de Software 57
Disciplinas y Modelos
Requerimientos Modelo Caso Uso
Anlisis
Diseo
Implementacin
Modelo Implementacin
Prueba
Modelo Prueba
Ingeniera de Software
58
Diagramas
Use Case Use Case Diagrams Diagramas Diagrams de Casos de Uso State State Diagrams Diagramas Diagrams de Clase State State Diagrams Diagramas Diagrams de Objeto
Diagramas
Diagramas de Actividades
Implementacin
59
Diagramas Clases
Diagramas Objetos
Modelo Anlisis
Modelo Diseo
Modelo Despliegue
Diagramas Colaboracin
Modelo Implementacin
Modelo Anlisis
Diagramas Componentes
Diagramas Despliegue
Incluye subsistemas y paquetes
Modelo Diseo
Modelo Despliegue
Modelo Implementacin
Modelo Prueba
Ingeniera de Software
Diagramas Actividad
61
Modelo de Despliegue
Diagramas Caso de Uso
Modelo Casos de Uso
Diagramas Clases
Diagramas Objetos
Modelo Anlisis
Modelo Diseo
Modelo Despliegue
Modelo Implementacin
Diagramas Colaboracin
Diagramas Estados Diagramas Actividad
62
Modelo de Prueba
Modelo Casos de Uso
Diagramas Caso de Uso Diagramas Clases Diagramas Componentes Diagramas Despliegue Diagramas Objetos
Modelo Anlisis
Modelo Diseo
Modelo Despliegue
Diagramas Secuencia
Diagramas Colaboracin Diagramas Estados
Modelo Implementacin
Diagramas Actividad
63
UML
RUP
Estndar de OMG
Convergencia en el futuro
Convergencia a travs de los esquemas de proceso
Ingeniera de Software
64
Tomado de: Rosenberg, Doug, Kendall Scott. Applying use case driven object modeling with UML: an annotated e-commerce example.
Ingeniera de Software
65
Tomado de: Rosenberg, Doug, Kendall Scott. Applying use case driven object modeling with UML: an annotated e-commerce example.
Ingeniera de Software 66
Tomado de: Rosenberg, Doug, Kendall Scott. Applying use case driven object modeling with UML: an annotated e-commerce example.
Ingeniera de Software
67
Tomado de: Rosenberg, Doug, Kendall Scott. Applying use case driven object modeling with UML: an annotated e-commerce example.
Ingeniera de Software
68
Tomado de: Rosenberg, Doug, Kendall Scott. Applying use case driven object modeling with UML: an annotated e-commerce example.
Ingeniera de Software
69
Tomado de: Rosenberg, Doug, Kendall Scott. Applying use case driven object modeling with UML: an annotated e-commerce example.
Ingeniera de Software
70
Conclusiones
Existe un conjunto de procedimientos que son invariantes en la ingeniera de software.
RUP es un proceso que garantiza la elaboracin de todas las fases de un producto de software orientado a objetos.
Ingeniera de Software 71
Conclusiones
RUP es dirigido por los casos de uso, centrado en la arquitectura, iterativo e incremental. RUP utiliza el UML. UML es un lenguaje que permite la modelacin de sistemas con tecnologa orientada a objetos
Ingeniera de Software
72