UML Facil
UML Facil
UML Facil
Net
GrapPeruSoft.com
UML
Unified Modeling Language
Edicin 1.0
?
?
?
?
?
Conceptos Bsicos
Diagramas UML
Patrones
Rational Rose
Desarrollo de Caso
Practico
Pgina 1
LibrosDigitales.Net
GrapPeruSoft.com
Presentacin
El presente Trabajo comprende tres partes: Aprendizaje de Diagramas de UML &
Patrones, Construccin de Artefactos usando Rational Rose y Desarrollo de Caso
usando UML.
La primera parte: Aprendizaje de Diagramas UML & Patrones comprender explicar
los conceptos bsicos del UML, para luego aprender a construir los diferentes
diagramas de modelado tal como: Diagramas de Clases que nos van a permitir
plasmar el dominio de un determinado mundo real identificando los objetos con sus
asociaciones, diagramas de estado que nos va a permitir graficar el comportamiento
de las clases. Los diagramas de Secuencia y diagramas de colaboraciones que
son tambin conocidos como diagramas de interacciones permitirn mostrar los
mensajes entre los objetos de un determinado proceso, diagrama de casos de Uso
que son tal vez los artefactos ms conocidos dentro de UML nos permitirn
identificar los procesos de negocios, diagramas de componentes mostrarn de que
manera se estructurarn los archivos (*.dll) para el diseo del software y formarn
estos ltimos parte del modelo del diseo, Diagramas de distribucin identificarn
los dispositivos fsicos de cmo se implantar el sistema de informacin. Tambin
en esta parte se estudiaran los principales patrones del UML, que son reglas a
considerar para el diseo de clases y nos encaminan a la asignacin de las
responsabilidades a las clases.
La parte de construccin de Artefactos usando la herramienta Case Rational Rose,
Permitir al usuario construir los modelos usando la herramienta de forma tutorial e
interactivo con la ayuda del manual, para llegar a tener el Punto de partida para la
construccin de los componentes y dejarlos listos para la migracin a Java Script,
Visual C++, Oracle, Visual Basic entre otros.
En la ltima parte del Libro se explicar el desarrollo de un caso de un Centro
Educativo, Usando UML, para este propsito se aplicar la metodologa Grapple
(Guas para la Ingeniera de Aplicaciones Rpidas), y de esta manera podr
observar las actividades de las fases de cmo aplicar UML en el proceso de
desarrollo de un caso Practico teniendo en cuenta la etapa de Recopilacin de
necesidades, en esta se definen los pasos a seguir para desarrollar esta fase ya
que en muchos de los casos puede ser engorrosa cuando no se encuentra un
medio de comunicacin con el cliente al cual se le va a desarrollar el sistema, A
continuacin se interpreta el anlisis, es aqu donde se reafirmar el estudio del
conocimiento de los procesos, Luego se explica el diseo del sistema donde se
tomar Referencia a los patrones y su importancia para definir las operaciones a
cada una de las clases que agrupadas formarn los compone ntes. El Desarrollo y
distribucin se estudiar en la prxima edicin titulada UML-Rational Rose Visual
Basic.
El autor
Pgina 2
LibrosDigitales.Net
GrapPeruSoft.com
Contenido
Presentacin
Contenido
Parte I Diagramas de UML & Patrones
Capitulo I
Conceptos Bsicos
Antecedentes
Principios de UML
Historia de Metodologas e importancia
de UML
Conceptos Bsicos
Clase, abstraccin, herencia
Polimorfismo, encapsulamiento, envo de
Mensajes, asociaciones
Agregacin, composicin
Capitulo II
Notacin Bsica UML
Qu es un paquete?
Estereotipo
Restricciones
Notas Adjuntas
Diagramas UML
Diagramas de Clases
Asociaciones, clases de asociaciones, multiplicidad
Herencia, agregacin y composicin
Diagramas de Casos de Uso
Actor, Caso de Uso, consideraciones
Diagramas de Secuencia, nomenclatura ejemplos
Diagrama de Colaboraciones
Notacin, ejemplos
Diagrama de Actividades
Notacin, ejemplos
Diagramas de Componentes
Notacin, ejemplos
Diagramas de Distribucin
Notacin, ejemplos
Pgina 3
LibrosDigitales.Net
GrapPeruSoft.com
Contenido
Capitulo III
Patrones UML
Contenido
Qu es un patrn?
Importa ncia de los Patrones
Creadores
Qu es un contrato?
Algunos Patrones
El Experto
El Creador
Bajo Acoplamiento
Parte II Rational Rose
Capitulo IV
Creacin de Diagramas UML con Rational Rose
Definicin de Rational Rose
Creacin de Paquetes
Creacin de Diagramas de Caso de uso
Creacin de Diagramas de Secuencia
Creacin de Diagrama de colaboracin
Creando Diagramas de Clases
Creacin de Diagramas de Estados
Pgina 4
LibrosDigitales.Net
GrapPeruSoft.com
Contenido
Asociaciones del dominio
Esquema Preliminar del dominio
Identificacin de los sistemas Coopetarivos
Glosario de Trminos
Descubra las necesidades
Cuadro de problemas y Necesidades
Diagrama de Distribucin Tentativo
Capitulo VII
Las Dems Fases de Desarrollo
Secuencia en diagramas de las fases a seguir. 65
Pgina 5
LibrosDigitales.Net
Parte I
GrapPeruSoft.com
Capitulo I
Conceptos Bsicos
Antecedentes
Seguramente habr observado sistemas de informacin computarizados y
no computarizados, y en un porcentaje mnimo tenemos a los usuarios que estn
conforme con los programas desarrollados, o tal vez hemos conversado con
usuarios que han deseado modificar un sistema integrado y dicho cambio le ha
producido el desequilibrio de otras unidades del sistema incorporado, o
ha
encontrado desarrolladores que sin conocer correctamente los procesos empiezan
construyendo formulario tras formulario y desarrollan la aplicacin, todo esto
conlleva a poder analizar las causas que generan este desequilibrio es el
incorrecto anlisis de los procesos para la construccin de software de
aplicaciones comerciales.
Para ello el UML, (Unified Modeling Language ), Lenguaje Unificado de
Modelado esta compuesto por una gama de diagramas o artefactos, que permiten
graficar o tomar una radiografa a los procesos para una interpretacin de los
mismos desde el punto de vista de usuario como de los desarrolladores de Software,
el UML es como que si fuese el Castellano que utiliza un abecedario compuesto de
letras, las cuales formaran silabas, palabras, oraciones, prrafos y documentos
que contendrn un pensamiento, mediante el castellano Usted podr escribir una
novela, una cancin una poesa entres otros, Algo anlogo es el UML es un
lenguaje el cual usa sus diagramas como que si fuera el abecedario del idioma
castellano, y estos servirn para plasmar los procesos de un determinado negocio,
para de esta manera construir modelos o maquetas de la interpretacin de los
mismos entre usuarios y desarrolladores de los sistemas de informacin. Existiendo
para ello un lenguaje comn de comunicacin, Cuando no se usa la notacin UML(
conjuntos de Diagramas) se tiene la problemtica de no encontrar los trminos
adecuados, ya que los analistas usan trminos informticos de difcil entendimiento
por los usuarios, y por otra parte los desarrolladores no entienden el lenguaje que
usan los usuarios del mundo real de estudio.
Y la metodologa es otra cosa que est muy estrechamente relacionada a UML,
una metodologa va ha indicar el camino a seguir para el desarrollo de sistemas
de informacin. Y existen muchas de ellas tal como: OMT, RUP, OBJECTORY,
Pgina 6
LibrosDigitales.Net
GrapPeruSoft.com
FUSION, GRAPPLE, usando la notacin UML, Por tal sentido el UML nos deja las
puertas abiertas para que
cada uno de nosotros pueda implementar
un
metodologa que se acople a nuestras necesidades extrayendo de los diagramas o
artefactos UML los que fueran necesarios para la construccin de los modelos del
sistema de informacin a desarrollar.
Con UML, usted podr hacer un anlisis y diseo que lo llevarn a la construccin
de sistemas orientados a objetos, porque le permitirn pensar a en el mbito de
componentes que son objetos reutilizables que podrn estar comprendidos en
archivos dll (libreras Dinmicas) y plasmaran la lgica del negocio correctamente
teniendo accesibilidad a los cambios.
Principios de UML
Siglas de Unified Modeling Language( Lenguaje Unificado de Construccin de
modelos)
El UML es resultado de estudios de parte de Grady Booch, James Rumbaugh e Ivar
Jacobson, estos seores se le apodado como los tres amigos, cada uno de ellos
en los aos ochenta trabajaron en empresas distintas
con sus propias
metodologas de anlisis orientada a objetos predominando entre sus competidores,
sin embargo a mediados de los aos noventa empezaron a intercambian ideas y
emprendieron lo que es hoy es el UML, quienes tambin fueron creadores de
Rational Software Corporation.
Despus de tantas discusiones fue presentado el proyecto de UML a OMG(grupo
de Administracin de Objetos) quienes adoptaron a UML como estndar en la
industria del software y continua evolucionando.
Historia de Metodologas e importancia de UML
A un analista o estudiante de anlisis le es comn seguramente haber observado
los siguientes grficos en la construccin de modelos de negocios.
Fuente
jo
Flu
de
jo
Fl u
s
to
Destino
da
Flujo de dato s 2
to s
1
Proceso 1
d
jo
da
to s
a to
de d
Flujo
Proceso 2 Flu
a
ed
s5
Almacn de Datos
Figura I.1
Pgina 7
LibrosDigitales.Net
GrapPeruSoft.com
Figura I.2
De hecho que es una tcnica que aporta un conocimiento orientado al punto de vista
netamente informtico, Pero los clientes a los cuales se les construye los sistemas
no comprenden el lenguaje informtico, porque el analista tiene que ser el aprendiz
de los procesos y no implantador de los mismos y es aqu donde existe un
rompimiento en el desarrollo de sistemas
Es por ello que el UML es un lenguaje que con la notacin de sus diagramas (figura
I.3) pretende establecer una comunicacin entre el analista de sistemas y el
usuario, para que de esta manera se comprendan como los sistemas funcionan,
creo que es lo ms importante, por que cuando el analista de sistemas logre cubrir
Pgina 8
LibrosDigitales.Net
GrapPeruSoft.com
BOLETA
: SECRETARIA
CONTROL STOCK
: REPARTIDOR
PEDIDO
CONSULTA DE PEDIDO
DATOS DE STOCK
PRECIOS
DATOS_CLIENTE
DATOS CLIENTE
COPIA_BOLETA
COPIA_BOLETA
PROVEEDOR
CANCELA FACTURA
ADMINISTRADOR
COMPRA
ACTUALIZA STOCK
Conceptos Bsicos
Para aprender UML necesitamos conocer los siguientes conceptos Bsicos:
Clase
Los objetos que tengan los mismos atributos y comportamiento se agrupan en clases. Todos
los alumnos tienen una serie de atributos comunes: nombre, apellido Paterno, apellido
materno, fecha de nacimiento y un comportamiento comn: podemos hacer referencia a un
alumno para matricularlo o retirarlo. Los valores de los atributos podrn ser distintos para
cada una de ellos, pero todos comparten los mismos atributos y comportamiento (las
operaciones que se pueden realizar sobre ellos). Una clase esta representada por el
siguiente grafico.
Figura I.4
NombredeClase
Atributo1
Atributo2
Atributo3
Operacion1
Operacion2
Pgina 9
LibrosDigitales.Net
GrapPeruSoft.com
Abstraccin
Se Refiere a quitar las propiedades y acciones de un objeto para dejar slo aquellas
que sean necesarias
Herencia
El concepto de herencia se refiere a la comparticin de atributos y operaciones
basada en una relacin jerrquica entre varias clases. Una clase puede definirse de
forma general y luego refinarse en sucesivas subclases. Cada clase hereda todas
las propiedades (atributos y operaciones) de su superclase y aade sus propiedades
particulares.
Polimorfismo
El polimorfismo permite que una misma operacin pueda llevarse a cabo de forma
diferente en clases diferentes
Por ejemplo, la operacin borrar, es distinta para una mota, un corrector y un
borrador, pero ambos objetos pueden servir para borrar. Una operacin es una
accin o transformacin que realiza o padece un objeto. La implementacin
especfica de una operacin determinada en una clase determinada se denomina
mtodo.
Encapsulamiento
La esencia del encapsulamiento(o encapsulacin), es cuando un objeto trae consigo
funcionalidad, esta ltima se oculta
Envo de Mensajes
Un sistema de Objetos Trabaja en conjunto. Esto se logra mediante el envo de
mensajes entre ellos. Un objeto enva a otro un mensaje para realizar una operacin,
y el objeto receptor ejecutar la operacin
Asociaciones
Los Objetos se relacionan entre s, de alguna forma. Una Clase puede Asociarse
con mas de una clase distinta. La multiplicidad en un importante aspecto de las
asociaciones, Indica la cantidad de objetos de una clase que se relacionan con otro
objeto en particular de la clase asociada
Figura I.5
trabajador
departamento
CodigoDepartamento
nombre
nivel
pertenece
1..*
altas()
bajas()
SISTEMAS
D1
D2 LOGISTICA
CodigoTrabajador
nombre
ApellidoPaterno
ApellidoMaterno
direccion
distrito
FechaNacimiento
codigoDepartamento
Contratar()
T01
Liquidar()
D1 JUAN
T02
D1 MARIA
T002 D2 JOSE
Pgina 10
LibrosDigitales.Net
GrapPeruSoft.com
Agregacin
Es cuando los objetos se integran pero conservan su independencia. Una Pc es un
ejemplo de composicin ya que sus objetos como el mouse, los parlantes, el
teclado, son objetos que pueden sacarse de una computadora a otra.
Composicin
El concepto de composicin es similar al de la agregacin, pero sus objetos que lo
integran no tendrn su independencia, por ejemplo si analizamos una camisa, el
objeto compuesto seria un bolsillo de la camisa que no podra integrarse a otra por
la diferencia de color, tamao entre otros.
UNA PC
UNA CAMISA
Figura I.6
Pgina 11
LibrosDigitales.Net
GrapPeruSoft.com
Capitulo II
Diagramas UML
Notacin Bsica UML
Qu es un paquete?
Permiten dividir un modelo y reagrupar y encapsular los elementos de modelado y
se representa con una carpeta con nombre
Cada paquete corresponde a un subconjunto del modelo pudiendo contener clases,
objetos, relaciones, componentes y sus diagramas asociados.
Diagramas de Ventas normales
ventas
Diagramas de Ventas
delivery
Diagramas de Secuencia al Crdito
Figura II.1 como podr observar un paquete guardar los diagramas representados
en iconos de llamadas.
Estereotipo
Los estereotipos le permiten tomar elementos propios de UML y convertirlos en
otros. La finalidad de un estereotipo es extender a un elemento de UML Y son
representados entre dos pares de parntesis angulares <<estereotipo>>
trabajador
apellidoPaterno
apellidoMaterno
nombre
dni = 0
<<categorizacion>> sueldo
edad
contratar()
darVacacciones()
Pgina 12
LibrosDigitales.Net
GrapPeruSoft.com
Restricciones
Es un texto libre bordeado con llaves, texto que especifica una o varias reglas y
podrn ir definiendo las reglas de validacin para la base de datos.
trabajador
apellidoPaterno
apellidoMaterno
nombre
dni = 0
<<categorizacion>> sueldo
edad
{edad>=18 y edad<=58}
contratar()
darVacacciones()
Pgina 13
LibrosDigitales.Net
GrapPeruSoft.com
Diagramas UML
Diagrama de Clases
El Diagrama de Clases es el diagrama principal para el anlisis y diseo, Un
diagrama de clases presenta las clases del sistema con sus relaciones estructurales
y de herencia, La definicin de clase incluye definiciones para atributos y
operaciones, para aprender a crear un diagrama de Clases se tiene que conocer
las siguientes nomenclaturas tal como:
Asociaciones, Es cuando las clases se conectan entre s para representar una
conexin del mundo real.
contiene
grupo
alumno
Profesor
Clase de
Asociacin
imparte
curso
dictado al
horario
grupo
Figura II.6
Multiplicidad
Cada clase tiene instancias y justamente la multiplicidad expresa el numero de
combinacin en la representacin de la asociacin de las clases.
En la herramienta Rational Rose nos muestra las siguientes opciones para
seleccionar la multiplicidad.
Pgina 14
LibrosDigitales.Net
GrapPeruSoft.com
contiene
grupo
alumno
Figura II.7 Nos indica que un(1) grupo contiene a (*)muchos alumnos.
Para las siguientes notaciones de Herencia, cuando nosotros ya hemos definido los
conceptos en el capitulo I, slo mostraramos los grficos utilizados.
persona
Figura II.8
Herencia
cliente
trabajador
vendedor
equipodeComputo
Figura II.9
Agregacin
teclado
case
monitor
mouse
prendadeVestir
Figura. II.10
Composicin
manga
cuello
bolsillo
delantera
Pgina 15
solapera
posterior
LibrosDigitales.Net
GrapPeruSoft.com
grupo
alumno
codigoGrupo
turno
grado
insertar()
consultar()
eliminar()
codigoAlumno
ApellidoPart
ApellidoMater
nombreAlumno
contiene
1..*
matricular()
asignarClasificacion()
1
adquiere
1..*
notas
codigoAlumno
codCurso
n1
n2
n3
n4
promedio
cursos
codCurso
nom
nHoras
pertenecen
guardar()
eliminar()
HallarPromedio()
modificarNota()
II.11. Ejemplo de clases que permiten graficar los objetos del modelo de
estudio.
Diagramas de Casos de Uso
Los Casos de Uso son una tcnica para capturar informacin de cmo un sistema o
negocio trabaja actualmente, o de cmo se desea que trabaje, estos diagramas no
pertenecen realmente al enfoque orientado a objetos, ms bien es una tcnica para el
modelado de escenarios en lo cual el sistema debe operar.
Nomenclatura de los diagramas de caso de uso
Actor
actor
Caso de Uso
N e w U s e C Pgina
ase
16
LibrosDigitales.Net
GrapPeruSoft.com
Exteds
Las relaciones Extiende (exteds), pueden ser pensadas como un caso de uso
equivalente a herencia, en el cual el caso de uso extendido, herencia y modifica el
comportamiento del caso de uso original
Use(uses)
Se utiliza para eliminar el modelado redundante de buena parte del comportamiento
que aparezca en varios casos de uso, la parte del comportamiento puede ser
modelado en un caso de uso separado que est relacionado con otros casos de uso
mediante la relacin Usa
Cuando se construyen los diagramas de casos de uso no hay que rotular las elipses
con las actividades de niveles inferiores,
Si no de rotular con nombres de procesos de niveles superiores, ya que estos
tendrn una pgina que describir la secuencia de los eventos y de esta manera
debern quedar documentados para el trabajo del diseo.
Venta Normal
Venta en Rebajas
Cliente
Vendedor
Venta en Oferta
Pgina 17
LibrosDigitales.Net
GrapPeruSoft.com
Diagramas de Estado
El Diagrama de Estados permiten modelar el comportamientote una parte del sistema a travs
del tiempo, Tpicamente se elabora un diagrama de Estados para cada clase que tenga un
comportamiento significativo, El comportamiento es modelado en trminos estado en el cual se
encuentra el objeto, qu acciones se ejecutan en cada estado y cul es el estado al que transita
despus de un determinado evento
Ejemplo:
producto
numero
descripcion
PrecioUnitario
cantidad
altas()
bajas()
listar()
alta
bajas
En
Almacen
vendido
cancelado
Reservado
Figura II.13 Con este diagrama de estado se pretende graficar los estados que
puede tener un producto
Diagramas de Secuencia
Los diagramas de Secuencias se podrn representar las interacciones que van ha
tener los objetos en un determinado escenario, en un mucho de los casos son
utilizados para poder ampliar la explicacin un determinado caso de uso.
Pgina 18
LibrosDigitales.Net
GrapPeruSoft.com
Algunas Notaciones
b
mensaje
Figura II.15, Es un
mensaje asincrnico, no
espera la respuesta antes
de continuar
mensaje
mensaje
if condicion
mensaje a
else
mensaje b
end if
mensaje a
mensaje b
Figura II.16 mediante las comunicaciones entre los objetos tambin se puede
considerar estructuras de programacin tal como el IF
Pgina 19
LibrosDigitales.Net
GrapPeruSoft.com
: CLIENTE
BOLETA
: SECRETARIA
CONTROL STOCK
: REPARTIDOR
PEDIDO
CONSULTA DE PEDIDO
DATOS DE STOCK
PRECIOS
DATOS_CLIENTE
DATOS CLIENTE
COPIA_BOLETA
COPIA_BOLETA
Diagrama de Colaboraciones
Estos diagramas son aquellos considerados como hermanos de los diagramas de
secuencia, por ser parecidos cumpliendo la misma funcin de graficar las
interacciones entre los objetos de un mundo real, enfatizando, que en los diagramas
de colaboraciones se expresan con detalle los mensajes bajo la siguiente
nomenclatura.
3: cambiarDeCanal
2: apagar
1: encender
control
TV
Figura II.18 pueden enviar varios mensajes simples de un objeto a otro identificando
su numero de orden.
Pgina 20
LibrosDigitales.Net
GrapPeruSoft.com
1: agregarPago(efectivoOfrecido)
:TPVD
:venta
2: consulta(codProducto,cantidad)
1: pedido
almacen
vendedor
cliente
3: codProducto,precioUnitario
6: montoPedido
4: registra(codProducto,descripcion,precioUnitario,Cantidad)
5: montoPedido:=calculo(numNotaPedido)
notadePedido
Diagramas de Actividades
Es un diagrama diseado para mostrar una visin simplificada de los que ocurre
durante una operacin o proceso
Son similares a los diagramas de Flujo. Este diagrama resalta precisamente las
actividades, las cuales son representadas por un rectngulo de lneas redondeadas,
por lo tanto cada una de las actividades es unida a otra actividad mediante una
flecha.
Nomenclatura:
Inicio
Fin
NewState
Pgina 21
de los Diagramas
NewState2
LibrosDigitales.Net
GrapPeruSoft.com
Actividad
NewActivity
Barras de sincronizacin
Permite separar una transicin en dos o ms rutas que se ejecuten al mismo
tiempo(Es decir de forma Concurrente) Despus de separar la transicin se unirn
con otra barra de sincronizacin para continuar la secuencia de actividades
Escribir
Pgina 22
Escuchar
musica
LibrosDigitales.Net
GrapPeruSoft.com
Diagramas de Componentes
Qu es un componente?,
Un elemento de Software de un sistema, y se encuentra en el computador, Puede
ser una tabla, archivo de datos, archivos ejecutables, biblioteca de vnculos
dinmicos, documentos etc., Un componente es la personificacin en software de
las clases. Si lo vemos desde el punto de vista de la programacin un componente
agrupar a las clases que son las que representarn la lgica del negocio,
Quienes formaran componentes reutilizables, ya que si tomamos como referencia la
construccin de un sistema para un negocio pequeo probablemente empiece
utilizando una base de datos de Access, y posteriormente se podr cambiar a SqlServer y luego a Oracle, por consiguiente estos componentes deben ser reutilizables
con cualquiera de los administradores de base de datos seleccionados de acuerdo
a los requerimientos.
Mediante los diagramas de componentes el jefe del desarrollo podr hacer
referencia a las partes con mayor objetividad con el grupo de desarrollo.
Notacin de Componente
NewPacka
geSpec2
herramientas::botonsalir
<<interfaz>>
Formulariode
Mantenimiento
herramientas::
formularioBusqueda
herramientas::busquedaCliente
Pgina 23
LibrosDigitales.Net
GrapPeruSoft.com
Diagramas de Distribucin
Permite graficar los componentes de Hardware que contendr el Sistema, aqu los
usuarios podrn tener una simulacin de la manera como distribuir los equipos
para la implantacin del sistema de forma grafica, es una manera practica para
hacer participe al usuario en las decisiones de la ubicacin de los equipos y ms aun
podr mirar en donde ubicaran a los equipos antiguos que se podrn integrar al
sistema.
Aqu tambin se representar las diversas plataformas en ubicaciones distintas del
rea a implantar el sistema
Nodo
Los Diagramas de Distribucin muestran la disposicin fsica de los distintos nodos
que componen un sistema y el reparto de los componentes sobre dichos nodos
Nodo
Ram 120MB
Hard Disk: 10GB
Velocidad:800 MHZ
Funciones:
Realiza un proceso de
generar la factura y/o
boleta segun los datos
de los clientes y orden
de pedido
hub
Netfinity
Ram 256MB
Hard Disk 40 GB
CD 58X
Printer
Rourter
Pgina 24
LibrosDigitales.Net
GrapPeruSoft.com
Capitulo III
Patrones UML
Qu es un patrn?
Cada Patrn describe un problema que ocurre una y otra vez en nuestro entorno y
describe la solucin para ese problema, de forma que esta solucin pueda utilizarse
un milln de veces sin tener que hacer dos veces lo mismo.
Se puede decir, por lo tanto, que un patrn es como una regla que consta de tres
partes donde se expresa, La relacin entre cierto contexto, un problema y una
solucin
Importancia de los Patrones
Para que sean importante los patrones, despus de conocer los procesos del
negocio, Usted se va ha encontrar con un conglomerado de operaciones tal como:
Generarboleta, imprimirFactura, descontarStock que los obtendr de la secuencia de
eventos de los casos de uso, tambin va ha tener el diagrama de clases. Entonces
los patrones nos van ayudar a asignar las responsabilidades a cada una de las
clases formando los procedimientos y/o funciones que tendrn las clases y por lo
consiguientes estaremos diseando un sistema orientado a objetos.
producto
codProd
nomProd
puProd
stockProd
Creadores
Cuando se inicio la oleada de Uml, participaron varios expertos, cada uno con
proyectos de metodologa de desarrollo, liderando como son conocidos los tres
amigos, pero dentro de estos participantes estuvieron: Erich Gamma, Richard
Helm, Ralph Johnson y John Vlissides que aportaron las reglas o patrones para
UML, a estos seores se les conoce como la Pandilla de los Cuatro (Gang of Four
- conocidos por GoF) quienes publicaron su Libro Design Patterns en el ao de
1995 difundiendo 23 patrones.
Qu es un contrato?
Booch y Rumbaugh definen la Responsabilidad como Un contrato u obligacin de
un tipo o Clase
Pgina 25
LibrosDigitales.Net
GrapPeruSoft.com
Nombre
Responsabilidades
Tipo
Referencias Cruzadas
Notas
Excepciones
Salida
Precondiciones
Poscondiciones
Datos de salida
Condiciones antes de la operacin
Condiciones despus de la operacin
Patrones GRASP
General Responsability Asignment Software Patterns
(Patrones Generales de Software para Asignar Responsabilidades )
Patrn El Experto
Solucin
Asignar una responsabilidad al experto en informacin necesaria para cumplir la
responsabilidad
Problema
Cul es el principio fundamental en virtud del cual se asigna las responsabilidades
en el diseo orientado a objetos?
Ejemplo
Calcular Gran Total de la Boleta?
1. Total(numeroBoleta)
Boleta
DetaBol
2. St= subtotal(numeroBoleta)
Boleta
NumeroBol
Fecha
Total()
DetaBol
NumeroBol
CodProd
Cant
PuVenta
Importe
Subtotal()
Pgina 26
LibrosDigitales.Net
GrapPeruSoft.com
: Total(numeroBoleta)
: Hallar el total de la boleta, para tal caso
deber sumar los
: Importes de la clase Detabol
: Sistema
: Caso de Uso comprar Producto
:
: Si l numero de boleta, no existe presentar un mensaje de error
: La boleta deber contener al menor un
producto y deber estar activa
Poscondiciones :
Solucin
Asignarle a la clase B la responsabilidad de crear una instancia de clase A en uno
de los siguientes casos
B agrega los objetos A
B Contiene los objetos A
Problema
Quin debera ser responsable de crear una nueva instancia de la alguna clase?
El ejemplo explica quien tiene la responsabilidad de ingresar una instancia a la
clase DetaBol, aplicando este patrn la tendr la clase boleta.
Boleta
DetaBoleta
Boleta
NumeroBol
Fecha
Se Hace Uso del Concepto de
Agregacin
Total()
InsertaProductoDetaBol
Pgina 27
LibrosDigitales.Net
GrapPeruSoft.com
Contrato
Nombre
Responsabilidades
Tipo
Referencias Cruzadas
Notas
Excepciones
Salida
Precondiciones
Poscondiciones
: InsertaProductoDetaBol
: Crear una instancia para el Detalle de la boleta, dicha responsabilidad la tendr
que hacer la boleta, porque se puede aplicar el concepto de agregacin
: Sistema
: Caso de Uso comprar Producto
:
: Si el cdigo del producto no existe no podr ingresarse
: Para poder ingresar una instancia deber ser Producto.stock mayor o igual a
la cantidad ingresada
:
Despus de ingresar el registro en el detalle de Boleta
Deber descontar de Producto.stock la cantidad del registro ingresado.
Solucin
Asignar una responsabilidad para mantener Bajo Acoplamiento
Problema
Cmo dar soporte a una dependencia escasa y a un aumento de la reutilizacin?
El Acoplamiento es una medida de fuerza con que una clase est conectada a otras clases, con las
que conoce y con las que recurre a ellas
Boleta
DetaBol
ActualizaStock(CodProducto,operacin,Cantidad)
Producto
La operacin ActualizaStock, funcionar de la siguiente
manera el primer parmetro identifica al cdigo del producto, el
segundo a la operacin de agregar o quitar (+,o -) y el tercer
parmetro a la cantidad a operar, aplicando el Patrn Experto le
asignaramos la responsabilidad a la
boleta, pero no le
podramos recargar con muchas operaciones a la boleta, en tal
sentido por el patrn de Bajo acoplamiento le asignaremos a la
clase producto para que de esta manera sea reutilizable, dicha
operacin de ActualizaStock podra servir para la compra como
para venta de cada una de las instancias de la clase producto.
Pgina 28
LibrosDigitales.Net
Parte II
GrapPeruSoft.com
Rational Rose
Capitulo IV
Interfaz Principal
De la Aplicacin
Creacin de Paquetes
Pgina 29
LibrosDigitales.Net
GrapPeruSoft.com
b) Estando sobre el paquete recin creado haga clic con el botn derecho y cree
dos paquetes que se llaman COMPRAS Y VENTAS, estos se crearn como
paquetes dentro del paquete SISTEGAS
c) Repita las operaciones para que cree los siguientes subpaquetes que pueda
tener.
Figura IV.3
Diagrama de Paquetes
Pgina 30
LibrosDigitales.Net
GrapPeruSoft.com
Pgina 31
LibrosDigitales.Net
GrapPeruSoft.com
Para Designar los estereotipos se hace doble clic sobre el objeto y se tendr.
Figura IV:6 Creacin de estereotipos
Pgina 32
LibrosDigitales.Net
GrapPeruSoft.com
Haga clic al Diagrama de secuencia y luego seleccione la opcin browse del men
principal y a continuacin haga clic a la opcin Create Collaboration Diagram
Figura IV.10
A continuacin Obtendr el siguiente
Diagrama de Colaboracin.
Pgina 33
LibrosDigitales.Net
GrapPeruSoft.com
Figura IV.11
Figura IV.12
Para establecer las cardinalidades de cada una de las clases se hace doble clic a la
lnea de la asociacin y se tiene el siguiente cuadro de dialogo:
Pgina 34
LibrosDigitales.Net
GrapPeruSoft.com
Figura IV.13
Figura IV.14
Pgina 35
LibrosDigitales.Net
GrapPeruSoft.com
Figura IV.15
producto
numero
descripcion
PrecioUnitario
cantidad
altas()
bajas()
listar()
Pgina 36
LibrosDigitales.Net
GrapPeruSoft.com
alta
bajas
En
Almacen
vendido
cancelado
Reservado
Pgina 37
LibrosDigitales.Net
GrapPeruSoft.com
promociones.
DLL
ControlesUsu
arios.OCX
interfazVenta
conexionesaBase
deDAtos
Pgina 38
LibrosDigitales.Net
GrapPeruSoft.com
Diagrama de Distribucin
Ubquese en la Vista Deployment View y haga
doble clic para que construya el diagrama de
distribucin.
Impresora
Lx-300
SW
acceso a
PC
Administracin
PC
ventas
conexin de Punto a Punto
Pgina 39
LibrosDigitales.Net
Parte III
GrapPeruSoft.com
Capitulo V
1.Recopilacin de necesidades
Descubra los procesos de negocios
Realice un anlisis del dominio
Identifique los sistemas cooperativos
Descubra las necesidades del sistema
Presente los resultados al Cliente
2. Anlisis
Pgina 40
LibrosDigitales.Net
GrapPeruSoft.com
5.Distribucin
? Planeacin para copias de seguridad y recuperacin
? Instalacin del sistema terminado en el Hardware adecuado
? Verificacin del sistema instalado
? Celebracin
Desarrollo de Caso Practico de Escuela
Mediante el caso de ejemplo se pretende dar una idea de cules son los pasos a
seguir para aplicar UML con la metodologa GRAPPLE.
Dejando alguno puntos pendientes para la prxima publicacin.
Capitulo VI
Recopilacin de Necesidades
Pgina 41
LibrosDigitales.Net
inicio
GrapPeruSoft.com
iniciar
matricula
[ Es solicitante de Vacante ]
Llenar el FUT
[ Es alumno ]
[ no hay cupo ]
Rechazar Fut
Entregar Libreta
de Notas
[ si hay cupo ]
Registrar
Datos del Fut
[ Tiene cursos por subsanar ]
Presentar Acta de
Recuperacin
[ ningun curso desaprobado ]
Presentar Certificados
de Estudios
Evaluar
Documentos
[ no es conforme ]
Devolver
Documentos
[ conforme ]
Realizar
matricula
fin
Proceso de Evaluacin
Se realiza en el mes de diciembre del ao lectivo y en el mes de marzo del ao
siguiente.
En diciembre se identifica el nivel de estudios del alumno,
Nivel primario sucede lo siguiente: s evala el resultado y se clasifica en:
Alumno de I ciclo(1er y 2do grado) no interesa las notas porque que todos son
registrados como aprobados.
Pgina 42
LibrosDigitales.Net
GrapPeruSoft.com
Alumno de II ciclo (3ro y 4to grado), aprueba todas las reas, de ser cierto se
registra como aprobado, y de desaprobar uno de
los siguientes
cursos:
Comunicacin integral, Lgico Matemtico, Personal social, Ciencia y Ambiente, se
registrar como alumno
que requiere recuperacin. De tener
los cursos
desaprobados de: comunicacin Integral, Lgico matemtico a la vez, se registrar
como desaprobado(reptete).
Alumno de III(5to y 6to grado) si tiene menos de 3 asignaturas desaprobadas
pasar a recuperacin y de ser lo contrario desaprobara el grado, si aprueba todas
las asignaturas pasar a registrase como aprobado
Nivel Secundario se registra las siguientes condiciones:
Aprueba todas las asignaturas se le asigna la situacin de aprobado
Obtiene promedios menores de 11 en 4 asignaturas
se registrar como
desaprobado(reptete)
Obtiene promedios menores de 11 hasta en 2 asignaturas se registra que necesita
recuperacin.
Figura V.2 Diagrama de Actividades del Proceso de Evaluacin
inicio
identificar Nivel
de Estudio
Evaluar
Resultados
I ciclo
Tiene 2 cursos
Desaprobados:
Comunicacin Integral
Lgico Matemtico
aprobado
[ es nivel primario ]
II ciclo
Recuperacin
[ es nivel secundario ]
III ciclo
Desaprobado
[ aprobo
todos los
aprobado
[ promedio <11
en 4 cursos ]
[ promedio<11
en 2 cursos ]
recuperacion
[ cursos
esaprobados>3 ]
desaprobad o
Desaprobado
[ tiene 3
cursos
desaprobados
Aprobado
Recuperacin
fin
Pgina 43
[ aprueba
todos los
cursos ]
LibrosDigitales.Net
GrapPeruSoft.com
Labores de la Secretaria
Tambin nos comentaba que la secretaria al final de cada ao, realiza el proceso de
elaborar las estadsticas de la situacin de los alumnos.
Cuadro de estadstica de primaria segn edades y grado
Estadsticas segn estado de matricula.
Retirados por grado de estado y sexo.
Resultados del ejercicio a marzo.
Resultados del ejercicio a Diciembre
Consulta de situacin de ejercicio a marzo.
Tambin se le encarga de construir las Actas de matriculados que presentar al
ministerio de educacin
fut
documento
promedios
alumno
alumnoNivelSecundario
asignatura
estadstica
alumnoNivelPrimario
Alumno_III_ciclo
EstadisticadeSituaciondelAlumno
CertificadoEstudios
ActadeMatriculados
EstadisticaResultadosDiciembre
Secretaria
cuadernoDeVacante
actadeRecuperacion
libretaDeNotas
niveldeEstudio
EstadisticaRetiradosxGradoSexo
EstadisticaResultadosMarzo
Pgina 44
Alumno_II_ciclo
LibrosDigitales.Net
GrapPeruSoft.com
Alumno_I_ciclo
EstadisticaDeEstadosMatricula
Pgina 45
LibrosDigitales.Net
GrapPeruSoft.com
Este diagrama ser considerado para tener una visin panormica de los limites de
desarrollo, para de esa manera elaborar el presupuesto y otros.
presenta
solictanteDeVacante
documentos
pertenecen
alumno
1
ActaDeRecuperacion
certificadodeEstudios
libretaDeNotas
niveldeEstudio
se encuentra
1
tiene
tienen
asignatura
alumnoNivelSecundario
1..*
posee
alumnoNivelPrimario
promedios
1..*
1
recepciona
fut
secretaria
1..*
alumno_I_ciclo
1
estadistica
elabora
registra
alumno_II_ciclo
estadisticasDeSituaciondelAlumno
estadisticasegunEstadodeMatricula
estadisticasdeRetiradosxGradoySexo
EstadisticaResultadosEjercicioMarzo
cuardenodeVacante
EstadisticaResultadosDiciembre
Pgina 46
alumno_III_ciclo
LibrosDigitales.Net
GrapPeruSoft.com
Secretaria
Departamento de
Evaluaciones
Direccin
acadmica
Orientacin
estudiante
al
Glosario de Trminos
Termino
Acta de Matriculados
Acta de Recuperacion
Alumno
Alumno_I_ciclo
Alumno_II_ciclo
Alumno_III_ciclo
Alumno Nivel Primario
Alumno Nivel Secundario
Asignatura
Certificado de Estudios
Cuaderno de Vacante
Documento
Estadistica Resultados Diciembre
Estadistica Resultados Ejercicio
Marzo
Estadisticas
Descripcin
Documento que se enva al ministerio de educacin
Es el documento que presentan los alumnos cuando ya aprobaron una
de las asignaturas que viene de la recuperacin
Estudiante que al menos haya cursado un ao de estudios en el colegio
Agrupa a los alumnos del 1ro y 2do grado de primaria
Agrupa a los alumnos del 2do y 3er grado de primaria
Agrupa a los alumnos del 5to, y 6to grado de primaria
Representa al alumno del nivel primario
Representa al Alumno del nivel Secundario.
Identifica a las asignaturas impartidas en el colegio
Documento que contiene las notas del solicitante de Vacante.
Cuaderno en la que la secretaria anota todas las solicitudes emitidas
mediante el fut
Es aquel objeto que podr ser una libreta de Notas y/o Acta de
Recuperacin
Muestra los resultados de las evaluaciones del mes de diciembre
Muestra los resultados de las evaluaciones del mes de marzo
Generaliza a:
Pgina 47
LibrosDigitales.Net
GrapPeruSoft.com
Estadistica segn Estado de Matricula
Estadistica Resultados Ejercicio Marzo
Estadisticas de Situacion del Alumno
Estadisticas de Retirados x Grado y Sexo
Estadistica Resultados Diciembre
Presenta la cantidad de alumnos retirados por grado y sexo segn el
nivel de estudio
Estadstica de situacin con respecto a la evaluacin del alumno.
Estadsticas que contiene los estados de matricula de los alumnos, si son
promovidos reentrantes u otras caractersticas.
Formulario nico de Tramite, formulario que el colegio entrega para
poder hacer una transaccin en el colegio
Documento que tiene las notas de los alumnos
Agrupa a alumno Nivel Primario y Alumno Nivel Secundario
Trabajadora del colegio
Alumno de otro centro educativo que viene a solicitar vacante para
estudiar en el colegio
Proceso manual de
atencin a vacantes,
demora en determinar
vacante
Secuencia engorrosa
al
momento
de
matricular al alumno,
ya que tiene que estar
buscando sus datos
Necesidad o Requerimiento
Pgina 48
LibrosDigitales.Net
GrapPeruSoft.com
Secretaria
Dificultad
para
la Modulo de programacin para la elaboracin de mdulos para cada
elaboracin
de las uno de los grupos de los diferentes niveles
nominas
de
los
alumnos,
Modulo que permita el ingreso del requerimiento que muestre los
cuadros de las estadsticas y permita imprimirlos
Demora
en
la
elaboracin de las
estadsticas del mes
de Diciembre y marzo,
as como tambin el
Acta de matriculados
Evaluaciones
Trabajo tedioso de
estar determinando la
situacin
de
evaluacin para cada
alumno
tal
como
aprobados,
desaprobados,
requiere recuperacin,
entre otros
Pentium IV
2.8 GHZ
Subsistema de Matricula
Server
sub direccion
hub
Sistema de Registro
de Evaluaciones
PC-Evaluaciones
PC-secretaria
impresora
Impresora
Capitulo VII
Pgina 49
LibrosDigitales.Net
GrapPeruSoft.com
Anlisis
Casos de
Uso
Depuracin de los
Diagramas de
Estudiar el Comportamiento
de los Objetos
Indentificar la comunicacin
entre los Objetos
Tomar como Referencia los
patrones y contratos
Pgina 50
LibrosDigitales.Net
GrapPeruSoft.com
DISEO
Clases
migradas
desde
Rational
Rose
Pgina 51
LibrosDigitales.Net
GrapPeruSoft.com
DESARROLLO
Generacin de Cdigo
Verificacin de Cdigo
Generacin de Interfaz del
usuario, conexin con el
cdigo y prueba
Consumacin de la
Documentacin
Distribucin
Pgina 52