Você está na página 1de 83

1.

Lenguaje Unificado de
Modelado
2. Rational Rose;
ArgoUML; Poseidn
for UML.
3. Por supuesto. UML es
un conjunto de
diagramas que solos
se auto documentan.

1. Qu significa UML?

2. Conoce algunas herramientas case que soporten el UML?


3. Cuando se trabaja con metodologa que es
Objetos, El sistema requiere documentacin?

Orientada

a
1

Dr. Francisco Ramrez Veliz

Universidad Nacional del Callao

Anlisis y
Diseo de
sistemas
orientados a
objetos
mediante el uso
de UML
Dr. Francisco Ramrez Veliz

3
Dr. Francisco Ramrez Veliz

Dr. Francisco Ramrez Veliz

1. Conceptos Orientados a Objetos


Clases
El objeto es parte de un grupo de elementos

que forman la clase.


La clasificacin siempre a existido (mundo
animal, vegetal, mineral).

En el mundo orientado a objetos, la


reutilizacin del objeto, significa que es ms
eficiente gracias a que no se empieza de
cero para describir el objeto.

Por lo que los objetos se agrupan en clases


por lo que es ms fcil su reutilizacin y
mantenimiento.

Una clase tiene un conjunto de atributos y


comportamiento (mtodos).
Dr. Francisco Ramrez Veliz

1. Conceptos Orientados a Objetos

Dr. Francisco Ramrez Veliz

1. Conceptos Orientados a Objetos


Clases
Ejemplo:

Los estudiantes conforman una

clase. Los valores son distintos para cada


estudiante pero el tipo de informacin es el
mismo.
La POO se distingue de la clsica por la
tcnica de colocar todos los atributos y
mtodos de un objeto

dentro de una

estructura autocontenida.

Los programadores definen las clases en el


programa y al ejecutarlo crea objetos a partir
de la clase establecida, lo que se llama

instanciar (crea el objeto a partir de la


clase).
Dr. Francisco Ramrez Veliz

2. Tarjetas CRC y
pensamiento en objetos
Necesitamos examinar formas de crear clases y objetos a partir de los
problemas de negocios.
Un mtodo til son las tarjetas CRC (clase, responsabilidad y

colaboracin) que es una metodologa para el diseo de software


orientado a objetos y creada por Kent Beck / Ward Cunningham.
Las Tarjetas CRC se usan para representar las responsabilidades de

las clases y las interacciones entre ellas.


El analista crea la tarjeta en base al escenario que describe el
requerimiento del sistema.
Se pueden crear en pequeas tarjetas de cartulina o tambin creadas

mediante el uso de una computadora.


Dr. Francisco Ramrez Veliz

10

2. Tarjetas CRC y
pensamiento en objetos
Se recomienda un grupo de trabajo con representantes de las distintas partes.

Tamao recomendable de cinco a seis personas: variedad de estilos y no


demasiadas divagaciones.
Recomendacin de equipo: 1 2 usuarios, 2 analistas, 1 diseador y 1
moderador.
La lluvia de ideas es una buena prctica para sugerir cmo rellenar las
tarjetas
Permite ver las clases como algo ms que depositario de datos, sino conocer

el comportamiento de cada una en un alto nivel.


CRC:
Todas las ideas son buenas, no censura.
Pensar rpido, la meditacin despus.
Cada miembro debe tener un turno, sin presiones.
Aligerar la situacin, pausas para los roces.
Dr. Francisco Ramrez Veliz

11

2. Tarjetas CRC y
pensamiento en objetos
Se han agregado dos columnas a la plantilla CRC original: Pensamiento en

objetos y Propiedad (atributo).


El propsito de estas columnas es aclarar el pensamiento y ayuda a crear el
diagrama UML.
Plantilla
estndar

Nombre de la clase:
Superclases:
Subclases:

Responsabilidades

Colaboradores

Pensamiento en objetos

Propiedad

Kendall
Dr. Francisco Ramrez Veliz
12

2. Tarjetas CRC y pensamiento en objetos


Interaccin durante una sesin CRC
Se pueden crear de manera interactiva con varios analistas que trabajen en
conjunto.
Buscar sustantivos y verbos en un enunciado de problema. (Sustantivos

indica clase; Verbos indican responsabilidades mtodos).


Aplique el estndar de lluvia de ideas. Una vez identificada las clases del
negocio (luego de compiladas y eliminar las ilgicas), escribir cada una en su
tarjeta.
Asignar una clase a cada persona del grupo para que sea su propietaria.
Luego el grupo crea escenarios (son recorridos de las funciones del sistema).
Tomar en cuenta los mtodos de rutina (Agregar, modificar, mostrar, etc.) as

como los mtodos tpicos (mostrar error, etc.).


El grupo decide acerca de la clase que ser responsable de una funcin
especfica.
13

Dr. Francisco Ramrez Veliz

14
Dr. Francisco Ramrez Veliz

3. Conceptos y Diagramas del


lenguaje Unificado de Modelado
(UML)
El UML es ampliamente aceptado y usado

por la comunidad

informtica.
Provee un conjunto estandarizado de herramientas para documentar

el anlisis y diseo de un sistema software.


Permite a las personas visualizar como se construye un sistema
orientado a objetos. Algo parecido a la forma como la persona observa
los planos para la construccin de un edificio.
La documentacin que genera el UML provee un medio efectivo de
comunicacin entre los equipos de desarrollo y de negocios.
El UML tiene tres categoras que consiste de: Cosas; Relaciones y

Diagramas.
15

Dr. Francisco Ramrez Veliz

16

Dr. Francisco Ramrez Veliz

3. Conceptos y Diagramas del


lenguaje Unificado de Modelado
(UML)
Los seis (06) diagramas de UML que se utilizan con ms frecuencia
son:
1. El diagrama de caso de uso.

2. Un escenario de caso de uso. (aunque tcnicamente no es un


diagrama).
3. Un diagrama de actividad.
4. Los diagramas de secuencia.
5. Los diagramas de clases.
6. Los diagramas de estados. (cada clase puede crear un diagrama de
estado que es til para determinar los mtodos).
17

Dr. Francisco Ramrez Veliz

18
Dr. Francisco Ramrez Veliz

3.1 Modelado de Casos de Uso


El modelo de caso de uso nos muestra una vista del sistema desde una

perspectiva del usuario.


Describe qu hace el sistema sin describir cmo lo hace.
Se usa el modelo de caso de uso para derivar los objetos, sus interacciones
entre s y los usuarios.

El caso de uso provee al desarrollador lo que desea el usuario.


El caso de uso describe tres cosas:
1. Un actor que inicia un evento.

2. El evento desencadena un caso de uso.


3. El caso de uso que realiza las acciones desencadenadas por el evento.
El caso de uso se utiliza para documentar una transaccin

o evento

individual.

El evento ocurre en un lugar y tiempo especfico que provoca que el sistema


haga algo.

19

Dr. Francisco Ramrez Veliz

20

Dr. Francisco Ramrez Veliz

21

3.2 Diagramas De Actividad


Definicin
Al mirar los diagramas de actividades le traer a la
memoria los diagramas de flujo, que sirven para poder
graficar la lgica de cmo se dara solucin a un
problema de programacin.
El presente diagrama nos permitir explicar las
actividades que describen a los procesos para que
sean atendidos por los propietarios de los mismos, as
como tambin los implementadores de software.
Los diagramas de actividades contienen bifurcaciones,
as como tambin barras de sincronizacin y las
actividades propiamente dicha.
Dr. Francisco Ramrez Veliz

22

3.2 Diagramas De Actividad


Nos muestra la secuencia de actividades en un proceso
sean stas secuenciales y/o paralelas.

Se crea un diagrama de actividad para un caso de uso.


Un rectngulo con esquinas redondeadas representa a la
actividad

sea

sta

manual

(firmar

documento)

automatizada (mtodo o programa).


La flecha representa al evento (ocurre en cierto momento

o lugar).
Dr. Francisco Ramrez Veliz

23

3.2 Diagramas De Actividad


El diamante es la decisin donde hay una flecha que entra y varias que salen.

Se puede incluir una condicin de guarda que muestra valores de la


condicin.
La barra de sincronizacin es un rectngulo largo y plano. Utilizada para
mostrar actividades paralelas. Cuando un evento entra a la barra y varios
eventos salen, se le llama Bifurcacin.
Una sincronizacin en la varios eventos se fusionan se llama Unin.
El estado inicial es un crculo relleno y el estado final es un circulo negro

rodeado por un circulo blanco.


Hay

rectngulos

denominados

carriles

(swimlanes)

que

nos

indica

particionamiento de actividades que realizan cada grupo usuario. Puede ser


tambin para las actividades que se realizan en cada plataforma como:
Navegador; servidor; computador mainframe.

24

3.2 Diagramas De Actividad

Barras de sincronizacin, que indican


que las actividades que se encuentran
comprendidas, se estarn dando al
mismo tiempo.

Dr. Francisco Ramrez Veliz

25

3.2 Diagramas De Actividad

Dr. Francisco Ramrez Veliz

26

3.2 Diagramas De Actividad

Dr. Francisco Ramrez Veliz


27

3.2 Diagramas De Actividad

Envi
de
Seal

Dr. Francisco Ramrez Veliz

28

Dr. Francisco Ramrez Veliz

29

Dr. Francisco Ramrez Veliz

En esta figura se
muestran los
smbolos en los
diagramas de
actividad .

30

Nos muestra tres


carriles: Pgina
web; Servidor;
Mainframe.

Identificar tres rutas


distintas (escenarios).

Dr. Francisco Ramrez Veliz

31

3.2 Diagramas De Actividad

Creacin de diagramas de actividad

El diagrama de actividad provee un mapa de un caso de uso.


Al utilizar carriles ayuda a dividir las tareas en un equipo.
Los diagramas de actividad NO se utilizan para todos los casos de
uso. Cuando el caso de uso es simple, no se requiere.
Use diagramas de actividad cuando:
1. Le ayude a comprender las actividades de un caso de uso.
2. El flujo de control es complejo.
3. Exista la necesidad de modelar el flujo de trabajo.
4. Hay que mostrar todos los escenarios.

Se puede usar para construir un plan de prueba y tambin para


modelar un nivel ms bajo como lgica de programacin.

32

33

3.3 Diagramas De Secuencia y de


Comunicacin
Diagramas de secuencia
Ilustran una sucesin de interacciones entre clases o instancias
de objetos a travs del tiempo.
Se utiliza para ilustrar el procesamiento descrito en un escenario
del caso de uso.
Se derivan del anlisis de casos de uso y se utilizan en el
diseo de sistemas para derivar las interacciones, las
relaciones y los mtodos de los objetos en el sistema.
Nos muestra el patrn general de actividades o interacciones
en un caso de uso.

34

Dr. Francisco Ramrez Veliz

35

36

3.3 Diagramas De Secuencia y de


Comunicacin
Diagramas de secuencia
En resumen:

El diagrama de secuencia permite


graficar
los
mensajes
que
interactan los objetos para un
determinado
flujo,
de
una
determinada tarea, generalmente es
utilizado para explicar la secuencia
de pasos que estn comprendidos
en un caso de uso.
37

Dr. Francisco Ramrez Veliz

3.3 Diagramas De Secuencia y de


Comunicacin
Diagramas de Comunicacin (colaboracin)
En

el

UML

2.0

se

le

conoce

como

Comunicacin.

Anteriormente en el UML 1.x era Colaboracin.


Describen las interacciones entre dos o ms cosas en el
sistema que desempean un comportamiento mayor a lo que
cualquiera de las dos cosas pueden hacer por su cuenta.
Este diagrama consta de tres partes:
1. Los objetos
2. Los enlaces
3. Los mensajes

38

Dr. Francisco Ramrez Veliz

3.3 Diagramas De Secuencia y de


Comunicacin
Diagramas de Comunicacin (colaboracin)

Muestra la misma informacin que un diagrama de secuencia,


pero es ms difcil de leer.
Para mostrar el orden en el tiempo, se debe indicar un nmero

de secuencia y describir el mensaje.


Hace nfasis en la organizacin (estructura) de los objetos,
mientras que el de secuencia hace nfasis en el orden de los

mensajes a travs del tiempo.


El SW de modelado de UML de Rational Rose de IBM convierte
con una tecla (F5) un diagrama de secuencia a uno de

39 comunicacin.

Dr. Francisco Ramrez Veliz

40

Dr. Francisco Ramrez Veliz

3.3 Diagramas De Secuencia y de


Comunicacin
En resumen:
Los Diagramas de Colaboracin van a mostrar la
forma en que los objetos colaboran para cumplir
sus responsabilidades
La diferencia es que el diagrama de secuencia van
a mostrar las interacciones con la dimensin del
tiempo, mientras que el diagrama de colaboracin
va a mostrar de un contexto y organizacin
general, de cmo los objetos interactan desde el
punto de vista del espacio.

41

Dr. Francisco Ramrez Veliz

3.4 Diagramas De Clases


Mostrar

las caractersticas estticas


del sistema y no representan ningn
tratamiento en particular.
Muestran la naturaleza de las
relaciones entre las clases.
Mostrar los requisitos de
almacenamiento de datos, as como
los requisitos de procesamiento.

Dr. Francisco Ramrez Veliz

42

3.4 Diagramas De Clases


Clases
Atributos
Privado
Publico
Protegido
Mtodos
Estndar
Personalizado

Dr. Francisco Ramrez Veliz

43

Dr. Francisco Ramrez Veliz

44

Dr. Francisco Ramrez Veliz

45

3.4 Diagramas De Clases


Sobrecarga de Mtodos
Incluyendo el mismo mtodo (u
operacin) varias veces en una
clase
El mismo mtodo se puede
definir ms de una vez en una
clase dada, siempre y cuando los
parmetros enviados como parte
del mensaje son diferentes.

Dr. Francisco Ramrez Veliz

46

3.4 Diagramas De Clases


Tipos de Clases
Clases
Clases
Clases
Clases

de entidad
de interfaz
abstractas
de control

Dr. Francisco Ramrez Veliz

47

Dr. Francisco Ramrez Veliz

48

49

Dr. Francisco Ramrez Veliz

50

Dr. Francisco Ramrez Veliz

51

Dr. Francisco Ramrez Veliz

52

3.4 Diagramas De Clases


Creacin de Un Plan de Pruebas a Partir de
un Diagrama de Secuencia
Cada mtodo devuelve resultados correctos?
Asegrese de que las clases de entidad tienda a
obtener los valores de los atributos correctos.
Verifique que todos los caminos de JavaScript
funcionen correctamente.
Asegrese de que las clases de control del
servidor funcionen correctamente.
Pregunte: "Qu puede fallar?"
Determine qu hacer si algo puede fallar.

Dr. Francisco Ramrez Veliz

53

3.4 Diagramas De Clases

Los smbolos de los tipos de clases, se pueden


usar para mejorar tanto el diagrama de clases
como el de comunicacin. El ejemplo de la figura
10.16 nos muestra el diagrama de clases para un
estudiante que: Ve su informacin personal y del
curso en pginas web. Obviamente que cada
clase tiene sus atributos y mtodos propios que
no se muestran en la notacin grfica.

Dr. Francisco Ramrez Veliz

54

3.4 Diagramas De Clases

Clase Interfaz de usuario: puede tener atributos como lo de


campos en la pantalla o formulario. Sus mtodos seran los que
trabajan con la pantalla: enviar o restablecer. Tambin podra ser
JavaScript para una pgina web, porque el cdigo trabaja
directamente con la pgina web.
Clase de Control, sus atributos seran aquellos que se necesitan
para su implementacin. Sus mtodos seran para realizar
clculos, tomar decisiones, enviar mensajes a otras clases.
Clase Entidad, sus atributos son los que estn almacenados por
la entidad y sus mtodos que trabajan directamente como: crear
instancia, modificar, eliminar, consultar, imprimir.

Dr. Francisco Ramrez Veliz

55

3.4 Diagramas De Clases

Un diagrama de clases
para la

pginaWebEstudiante
que utiliza smbolos de
clases especiales

Dr. Francisco Ramrez Veliz

56

3.4 Diagramas De Clases

Hay dos categoras de relaciones entre las


clases
Asociacin
Todo / Parte

Dr. Francisco Ramrez Veliz

57

3.4 Diagramas De Clases

El tipo ms simple de la relacin


Clases de asociacin son los que se utilizan
para disolver una asociacin muchos -amuchos entre clases.
Un objeto en una clase puede tener una
relacin a otros objetos de la misma clase,
llamada una asociacin reflexiva.

Dr. Francisco Ramrez Veliz

58

Dr. Francisco Ramrez Veliz

59

Dr. Francisco Ramrez Veliz

60

3.4 Diagramas De Clases

Cuando

una clase representa todo el objeto ,


y otras clases representan partes
Categoras
Agregacin
Coleccin
Composicin

Dr. Francisco Ramrez Veliz

61

3.4 Diagramas De Clases

Se describe como una relacin: "tiene un"


Proporciona un medio de mostrar que todo el
objeto se compone de la suma de sus partes

Dr. Francisco Ramrez Veliz

62

3.4 Diagramas De Clases

Consta de un todo y de sus miembros


Los miembros pueden cambiar, pero el
conjunto conserva su identidad
Una asociacin dbil

Dr. Francisco Ramrez Veliz

63

3.4 Diagramas De Clases

El conjunto tiene una responsabilidad para las


partes, y es una relacin ms fuerte.
Si se elimina el todo, se eliminan todas las
partes.

Dr. Francisco Ramrez Veliz

64

3.4 Diagramas De Clases

Generalizacin

Herencia
Polimorfismo
Las

clases abstractas
Mensajes

Dr. Francisco Ramrez Veliz

66

3.4 Diagramas De Clases

Describe la relacin entre un tipo general de cosa y


un tipo ms especfico de lo
Descrito como una relacin "es un"
Se utiliza para la herencia de clases de modelado y
especializacin
Clase general es uno de los padres, base, o
superclase
Clase especializada se denomina clase hija,
subclase o clase derivada

Dr. Francisco Ramrez Veliz

67

3.4 Diagramas De Clases

Ayuda a fomentar la reutilizacin.


Ayuda a mantener el cdigo del programa
existente.

Dr. Francisco Ramrez Veliz

68

3.4 Diagramas De Clases

La

capacidad de un programa orientado a


objetos para tener varias versiones del
mismo mtodo con el mismo nombre
dentro de una relacin subclase/superclase
El mtodo subclase anula el mtodo de la
superclase .
Cuando los atributos o mtodos se definen
ms de una vez, se utiliza el ms especfico.

Dr. Francisco Ramrez Veliz

69

3.4 Diagramas De Clases

Las clases abstractas son clases generales.


No tienen objetos directos o instancias de
clase, y slo se utiliza en conjuncin con
clases especializadas
Por lo general, tienen atributos y pueden
tener algunos mtodos

Dr. Francisco Ramrez Veliz

70

Dr. Francisco Ramrez Veliz

71

3.4 Diagramas De Clases

Durante las entrevistas o sesiones de JAD


Durante las sesiones del equipo facilitados
Durante las sesiones de lluvia de ideas
Analizando los documentos y notas
Examen de casos de uso, buscando
sustantivos

Dr. Francisco Ramrez Veliz

72

3.4 Diagramas De Clases

Los mtodos estndar


Examine una matriz CRUD
Cada letra requiere un mtodo distinto (D
eliminar, R leer, etc.)

Dr. Francisco Ramrez Veliz

73

Examine una matriz CRUD

Dr. Francisco Ramrez Veliz

74

3.4 Diagramas De Clases

Se utiliza para enviar la informacin por un


objeto en una clase a un objeto en otra clase
Acta como un comando, diciendo a la clase
receptora que haga algo.
Consiste en el nombre del mtodo que tiene
la clase receptora, as como los atributos
(parmetros o argumentos) que se pasan
con el nombre del mtodo
Puede ser considerado como una salida o
una entrada

Dr. Francisco Ramrez Veliz

75

3.5 Diagramas De Estados

Herramienta que tambin se utiliza para determinar los


mtodos que pueda tener una clase y poder examinar los
diferentes estados que un objeto pueda tener.
El diagrama de estado es creado para una sola clase
Se crean estados en un momento especfico para ir a travs a travs
del tiempo hacer los cambios, eliminndolos y/o quitndolos.
EL Estado tiene nombre y empieza con mayscula, es nico y
descriptivo.

Objetos
Estados
Eventos (tres categorias)
1.
2.
3.

Las seales o mensajes asncronos


Mensajes Sincrnicos
Eventos temporales

Dr. Francisco Ramrez Veliz

76

3.5 Diagramas De Estados

Son creados cuando:


1. Una clase tiene un ciclo de vida complejo .
2. Una instancia de una clase puede actualizar sus atributos
de diferentes maneras durante su ciclo de vida.
3. Una clase tiene un ciclo de vida operacional.

4. Dos clases dependen una de la otra.


5. El Comportamiento actual del objeto depende de lo
ocurri antes.

Ejemplo de un atributo llamado: Estado del Pedido:


(pendiente, preparndolo, empaquetado, enviado, recibido,
etc.
Examine el D.E para buscar errores y excepciones. Detectar si los
eventos ocurren en un tiempo inadecuado. Cada estado debe tener
una transicin de entrada y de salida con su respectivo nombre de
evento.
Dr. Francisco Ramrez Veliz

77

Dr. Francisco Ramrez Veliz

78

Son Contenedores para otras cosas UML (como


diag. Caso de uso, diag. De clases).
Muestran el particionamiento del sistema
(agrupamiento en subsistemas Paquete lgico)
Puede ser paquetes de componentes (vista
superficial de la arquitectura del sistema)
Puede ser subsistemas fsicos (muestra el
diagrama de despliegue servidores, estacin de
trabajo, impresoras, etc.)
Utilice un smbolo de la carpeta (con el nombre
del paquete).
Puede tener relaciones
Dr. Francisco Ramrez Veliz

79

Dr. Francisco Ramrez Veliz

80

Los pasos utilizados en UML son:


1. Definir el modelo de casos de uso.
2. Continuar con los diagramas UML para modelar
el sistema durante la fase de anlisis de
sistemas.
3. Desarrollar los diagramas de clases.
4. Dibujar diagramas de estado.
5. Comience el diseo de sistemas mediante el
refinado de los diagramas UML y utilcelos para
derivar las clases, sus atributos y sus mtodos.
6. Documentar el diseo de su sistema en detalle.

Dr. Francisco Ramrez Veliz

81

El UML es una potente herramienta que mejora la calidad de su anlisis y diseo.


AL usar UML en forma iterativa, se logra mejor comprensin entre el equipo del
negocio y el equipo de TI en base a los requerimientos.
La primera iteracin debe ser a nivel muy alto, identificando los objetivos del
sistema y validar los requerimientos a travs del diagrama de casos de uso del
negocio. (identificar actores, etc.)
Las iteraciones subsiguientes del anlisis refinan mas los requerimientos, los
escenarios de casos de uso, los diagramas de clases, de secuencia, de estados,
etc.
Al completar el anlisis y diseo, se tiene un conjunto preciso y detallado de
especificaciones para clases, escenarios, actividades y secuencias en el sistema.
Es mucho ms fcil, rpido y menos costoso modificar el diseo de un sistema
mediante el uso de una herramienta CASE (ej. RATIONAL ROSE) o incluso en papel
que hacerlo durante la fase de desarrollo.
Se tiene la creencia que cuando un programador est codificando, est realmente
trabajando. Visin equivocada. La creacin de diagramas ahorra en ultima
instancia tiempo y dinero.
Analoga de la construccin de una casa. El constructor, construye la casa en
funcin a los planos de construccin establecidos con los usuarios.
Entonces, poner el proyecto en un papel (documentacin) antes de codificarlo,
reducir su costo a la larga.
Dr. Francisco Ramrez Veliz

82

Dr. Francisco Ramrez Veliz

83

Você também pode gostar