Sei sulla pagina 1di 72

Ingeniera de Software

Introduccin a UML y al Proceso Unificado de Desarrollo


Ingeniera de Software

Ing. Leonardo Pulido 1 M.

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

Concepto de Ingeniera de Software.

Invariantes del desarrollo de software. Enfoques en el anlisis y diseo.

Conceptos de la orientacin a objetos.


UML y RUP. Introduccin.
Ingeniera de Software 6

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

Enfoques para el anlisis y diseo de sistemas


Enfoque estructurado:
Orientado a flujos de datos y funciones. Enfoque orientado a objetos:

Orientado a conceptos u objetos y relaciones entre estos.


Ingeniera de Software 11

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

Tom DeMarco Edward Yourdon Palmer y McMenamin


12

Enfoque orientado a objetos


Exige un cambio de paradigma que no se satisface nicamente con utilizar un lenguaje o herramienta de orientacin a objetos. Los lenguajes orientados a objetos permiten ventajas pero no las proporcionan.
Tom Handfield
Ingeniera de Software 13

Conceptos bsicos de la Orientacin a Objetos

Ingeniera de Software

14

Enfoque Orientado a Objetos


Se basa en conceptos y relaciones entre ellos. Objetos Todo

Atributos
blanco
Ingeniera de Software

Parte
15

Enfoque Orientado a Objetos


Tipo de Objeto: Descripcin generalizada que describe una coleccin de objetos similares. Clase: Implementacin en software de un tipo de objeto.
Tlibro = class private

.
Ingeniera de Software

. .
end;
16

Enfoque orientado a Objetos


Operacin:

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

Enfoque Orientado a Objetos


Caractersticas Distintivas: Encapsulamiento. Herencia. Polimorfsmo.

Ingeniera de Software

18

Enfoque Orientado a Objetos


Encapsulamiento Empaque conjunto de datos y mtodos. Operaciones Atributos

Ingeniera de Software

19

Enfoque Orientado a Objetos


Herencia: Propiedad de una clase de heredar el comportamiento de sus ancestros. Polimorfismo: Mecanismo que permite a la subclase implementar la misma operacin con un mtodo diferente.
Ingeniera de Software 20

El Proceso Unificado de Desarrollo


(Rational Unified Process- RUP)

Ingeniera de Software

21

Ingeniera de Software
Principios y mtodos robustos: Mtodos. Herramientas. Lineamientos (heurstica).

Ingeniera de Software

22

Invariantes en el Qu es anlisis ? Distincin y separacin de las desarrollo del Software Qu es diseo?

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

Rational Unified Process


RUP es una propuesta de proceso para el desarrollo de software orientado a objeto que utiliza UML para describir un sistema

UML?
Rational Software Corporation, 1998
Ingeniera de Software 24

Unified Modeling Language UML


Booch, Rumbaugh Jacobson
Ingeniera de Software

Rational Software Corporation. (1995)


25

Las Bases de UML


JAMES Object Modelling Technique RUMBAUGH 1991 (OMT) GRADY Object Oriented Design with BOOCH Applications 1991 IVAR Object Oriented Software JACOBSON Engineering: A Use Case Driven Approach 1992 (OOSE)
Ingeniera de Software 26

Antes del UML


1960 1970 COBOL, FORTRAN, C Tcnicas de Anlisis y Diseo Estructurado

1980- inicios de los 90 Smalltalk, ADA, C++, Visual Basic. Generacin temprana de mtodos OO.
Ingeniera de Software 27

Antes del UML


Mediados finales de los 90 Java. UML Proceso Unificado

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

Modelos Grficos del UML


Casos de Uso y Diagramas de Casos de Uso

Casos de uso
Ingeniera de Software

Diagrama de casos de uso


30

Modelos Grficos del UML


Diagramas de estructura esttica Diagrama de clases Diagrama de Objetos

Ingeniera de Software

31

Modelos Grficos del UML


Diagramas del comportamiento Diagramas de Transicin de estado Diagramas de Actividad Diagramas de Secuencia Diagrama de Colaboracin

Ingeniera de Software

32

Modelos Grficos del UML


Diagramas del comportamiento

Diagrama de Secuencia
Ingeniera de Software

Diagrama de Colaboracin
33

Modelos Grficos del UML


Diagramas de implementacin

Diagramas de componentes Diagramas de instalacin/Distribucin (Despliegue)


Diagrama de componentes

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

Proceso Unificado de Desarrollo de Software RUP


RUP es una propuesta de proceso para el desarrollo de software orientado a objeto que utiliza UML para describir un sistema
1998

Rational Software Corporation, 1998


Ingeniera de Software 37

Proceso de desarrollo de software


Qu es?
Es el conjunto de actividades necesarias para transformar los requisitos de un usuario en un sistema de software. Requisitos del usuario Proceso de desarrollo de software Sistema software

Ingeniera de Software

38

Y para qu tanta cosa? UML,RUP?

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

Guiado por Casos de Uso. Centrado en la arquitectura. Iterativo e incremental.

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

Producto de software comercial


t
V.

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

Fases del Ciclo de Vida


Inception
tiempo

Elaboration

Construction

Transition

Inception elaborar el

Definir el objetivo del proyecto y modelo del negocio

Elaboration Planificar el proyecto, especificar los Modelos y dar al base para las Arquitecturas Construction Construir el Producto Transition producto
Ingeniera de Software

Transicin de los usuarios al nuevo


48

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.

Iteracin n de la fase de elaboracin

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

Flujos de Trabajo y Modelos


Requisitos Anlisis Diseo Implementacin Prueba
Ingeniera de Software

Modelo de casos de uso Modelo de anlisis


Modelo del diseo

UML ofrece una vista distinta del sistema en cada modelo

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

Software Engineering Process

Nuevo o cambios sistema

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?

Los trabajadores. Los usuarios. Los interesados.


52

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 Casos de Uso

Trazabilidad entre los modelos

Modelo de Implementacin
Ingeniera de Software

Modelo de Diseo
55

RUP es un proceso ingenieril


Rol que juega un individuo del equipo de desarrollo

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

Soportado por Herramientas


Herramienta Producto de software que apoya el desarrollo de software

Las herramientas permiten:


Automatizar procesos repetitivos.

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

UML - Sus diagramas proporcionan vistas dentro de cada modelo


Modelo Anlisis Modelo Diseo Modelo Despliegue

Anlisis

Diseo

Implementacin

Modelo Implementacin

Prueba

Modelo Prueba

Ingeniera de Software

Cada Disciplina est asociada con uno o ms modelos

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

Use Case Use Case Diagrams Diagramas Diagrams de Secuencia

Scenario Scenario Diagrams Diagramas Diagrams de Colaboracin

Diagramas

State State Diagrams Diagramas Diagrams de Componentes

Scenario Scenario de Diagramas Diagrams Diagrams de Transicin Estados


Ingeniera de Software

Diagramas de Actividades

Implementacin

Component Component Diagrams Diagramas Diagrams de

59

Modelo de Casos de Uso


Diagramas Caso de Uso
Modelo Casos de Uso

Diagramas Clases

Diagramas Objetos

Modelo Anlisis

Diagramas Componentes Diagramas Despliegue


Diagramas Secuencia

Modelo Diseo

Modelo Despliegue

Diagramas Colaboracin
Modelo Implementacin

Diagramas Estados Diagramas Actividad


60

Modelo Prueba Ingeniera de Software

Modelo de Anlisis y Diseo


Modelo Casos de Uso

Diagramas Caso de Uso Diagramas Clases Diagramas Objetos

Modelo Anlisis

Diagramas Componentes
Diagramas Despliegue
Incluye subsistemas y paquetes

Modelo Diseo

Modelo Despliegue

Diagramas Secuencia Diagramas Colaboracin


Diagramas Estados

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

Diagramas Componentes Diagramas Despliegue


Diagramas Secuencia
Incluye clases y componentes

Modelo Diseo

Modelo Despliegue

Modelo Implementacin

Diagramas Colaboracin
Diagramas Estados Diagramas Actividad
62

Modelo Prueba Ingeniera de Software

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

Prueba la sincronizacin de los modelos

Diagramas Secuencia
Diagramas Colaboracin Diagramas Estados

Modelo Implementacin

Modelo Prueba Ingeniera de Software

Diagramas Actividad

63

Dos partes de un todo unificado

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

Ing. Leonardo Pulido M.

72

Potrebbero piacerti anche