Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
Creacin de Diagramas de Actividades Creacin de Diagramas de Componentes Creacin de Diagramas de Distribucin Parte III Desarrollo de Caso Practico Capitulo V Caso de Escuela Metodologa GRAPPLE Pasos a Seguir para el desarrollo de aplicaciones mediante Grapple usando la notacin UML Capitulo VI Recopilacin de Necesidades Descubra los procesos del negocio Proceso de Matricula Proceso de Evaluacin Elaboracin del dominio
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
GrapPeruSoft.com
Parte I
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 d s to 4
a ed
Destino
Proceso 2 Flu
Flujo de dato s 2
Proceso 1
to e da lujo d F
d jo
da
to s
da to s
Almacn de Datos
Pgina 7
1
s5
Figura I.1
LibrosDigitales.Net
GrapPeruSoft.com
Algn tiempo atrs, se utilizaban Diagramas de Flujo de datos(figura I.1) bajo la notacin de Yourdon y algunas otras notaciones como las de Gane y Sarson, por mucho tiempo se utilizo para la interpretar procesos esta notacin, la cual tenia la dificultad para analizar los niveles de descomposicin, debido a que no exista una herramienta que les permitiera graficar bajo la nomenclatura planteada, y otros de los inconvenientes era la revisin de los modelos con los usuarios, no existiendo un lenguaje de entendimiento de los diagramas con el conocimiento del mundo real. Posteriormente y en la actualidad se utiliza IDEF, que es tcnica de anlisis y diseo de sistemas que son utilizadas para la definicin de sistemas, anlisis de requisitos y diseo de software, consiste en un conjunto de procedimientos que permiten al analista de sistemas descomponer y comprender mejor las interrelaciones del sistemas y sub-sistemas de los procesos de negocio, paso a paso para explicar el proceso total. Cada actividad es administrada como una transformacin de entradas en salidas, tomando control sobre las restricciones y mecanismos o factores de produccin consumidos por la actividad bajo el modelo ICOM (I nput Control O utput Mecanismo)
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
el entendimiento de los procesos podr idearlos en trminos informticos para la fabricacin de los sistemas de informacin. Y tambin con la gama de diagramas se pueden considerar los distintos puntos de vista que puedan existir entre los usuarios del sistema a desarrollar y por ende se podr recopilar en su totalidad las necesidades del negocio. Figura I.3
: CLIENTE : SECRETARIA : REPARTIDOR
BOLETA
CONTROL STOCK
DATOS DE STOCK
PRECIOS
DATOS_CLIENTE
DATOS CLIENTE
COPIA_BOLETA
COPIA_BOLETA
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
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
CodigoTrabajador nombre ApellidoPaterno ApellidoMaterno direccion distrito FechaNacimiento codigoDepartamento Contratar() T01 Liquidar()
departamento
CodigoDepartamento nombre nivel pertenece
1..*
D1 D2 LOGISTICA
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
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()
Figura II.2 aqu se esta estereotipando al atributo categorizacin, lo que hace referencia que existe un elemento Uml que habr de revisar.
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 contratar() darVacacciones()
{edad>=18 y edad<=58}
Figura II.3 aplica la regla para que la edad este entre 18 y 58 Notas Adjuntas Se utiliza para agregar una nota descriptiva de la clase, atributo u operacin
El numero de telfono esta compuesto: codigo de Pas Codigo de Regin Codigo de Zona Nmero Equipo
numero tipo serie abrirLinea() cortarLinea() restringirLinea()
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
Figura II.5 Una instancia de la clase grupo contiene a instancias de la clase alumno. Clases de asociacin Son Clases Creadas en funcin a los atributos que puedan contener en comn de la clase primaria y secundaria que se estn asociando Se crea en una asociacin de multiplicidad de muchos a muchos, en una asociacin binaria y en una asociacin tripartita.
Profesor
imparte
curso
Clase de Asociacin
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
grupo 1
contiene
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
equipodeComputo
teclado
case
monitor
mouse
prendadeVestir
cuello
bolsillo
delantera
posterior
Pgina 15
LibrosDigitales.Net
GrapPeruSoft.com
grupo
codigoGrupo turno grado insertar() consultar() eliminar() contiene
alumno
codigoAlumno ApellidoPart ApellidoMater nombreAlumno
1..*
matricular() asignarClasificacion()
1
adquiere 1..*
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 Un actor es un agente, alguien o algo que solicita un servicio al sistema o acta como catalizador para que ocurra algo Un Caso de Uso es representado por una elipse y describe una situacin de uso del sistema interactuando con actores
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 Oferta
Cada caso de Uso tendr su pgina que describir la secuencia de los eventos desencadenados por el escenario
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()
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
a mensaje
mensaje
mensaje
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
: SECRETARIA : REPARTIDOR
BOLETA
CONTROL STOCK
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.
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
Figura II:19 Mensajes parametizados, mediante estos mensajes se indican los valores que se envan entre los objetos.
2: consulta(codProducto,cantidad) 1: pedido
cliente
6: montoPedido
vendedor 3: codProducto,precioUnitario
almacen
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
NewState
Fin
de los Diagramas
NewState2
Pgina 21
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
Escuchar musica
Pgina 22
GrapPeruSoft.com
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
herramientas:: formularioBusqueda
herramientas::busquedaCliente
Figura II.22 El presente diagrama de componentes indica que el formulario de mantenimiento estar compuesto por el formularioBusqueda que se encuentra en el componente Herramientas, as como tambin la clase botonSalir y formulario de busquedaCliente, se encuentran en el mismo componente.
Pgina 23
GrapPeruSoft.com
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
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
Es aqu donde se documentar las operaciones asignadas a cada una de las clases, las cuales servirn como herramientas para la construccin del sistema orientado a objetos.
Formato del contrato
Nombre Responsabilidades Tipo Referencias Cruzadas Notas Excepciones Salida Precondiciones Poscondiciones
Se coloca el nombre de la operacin con sus parmetros si lo tuviera. Se definen las responsabilidades que tendr la operacin Podr ser de sistema/usuario... Aqu colocar las referencias de los diagramas de donde viene la responsabilidad y adonde va.
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
Ejemplo de Contrato Para Total Nombre Responsabilidades Tipo Referencias Cruzadas Notas Excepciones Salida Precondiciones Poscondiciones : : 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
Esta responsabilidad se la asignamos A la clase boleta porque esta delegar suboperaciones a las clases acopladas para que cumplan el fin propuesto. Patrn El Creador
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 Total() InsertaProductoDetaBol Se Hace Uso del Concepto de Agregacin
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.
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
GrapPeruSoft.com
Parte II
Rational Rose
Capitulo IV
Creacin de Paquetes
(Leer Capitulo II Paquetes) a) Con el botn derecho del ratn y estando en el navegador sobre el paquete de la vista lgica, haga clic en NEW-PACKAGE y cree un paquete que se llame SISTEGAS
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
a) Sobre el paquete COMPRAS presione el botn derecho del mouse, enfoque New y luego enfoque Use Case Diagram, creado el diagrama caso_comp, Haga doble clic en el icono del diagrama e introduzca el caso del uso estudiado. Figura IV.4 Creacin de Diagramas de Caso de Uso
b) Sobre el paquete VENTAS presione el botn derecho del mouse, enfoque New y luego enfoque Use Case Diagram, creado el diagrama caso_ventas, Haga doble clic en el icono del diagrama e introduzca el caso del uso estudiado. Figura IV.5 Segundo Diagrama de Caso de Uso
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
Creando los diagramas de Secuencia a) Ubquese sobre el paquete que desea crear el diagrama de secuencia, en nuestro caso, ubicar el puntero sobre el paquete VENTAS, presionar el botn derecho del mouse, enfoque New y luego enfoque Sequence Diagram, creado el diagrama Sec_Local, Haga doble clic en el icono del diagrama y dibuje el diagrama jalando los actores existentes de la lista. Figura IV.7. Diagramas de Secuencia para pedido
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
Pgina 33
GrapPeruSoft.com
Figura IV.11
b) Dentro de este paquete (Paq_clases) crear las clases: Cliente, proveedor, boleta, repartidor, control_stock, secretaria, hoja_pedido, producto y factura. c) Crear el Diagrama de Clases llamado Diagrama_clases dentro del paquete creado.
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
d) A cada una de las clases se le agregan los atributos y operaciones, segn vaya avanzando con la construccin de modelo de la siguiente manera:
Figura IV.15
Creacin de Diagrama de Estados (STATECHART DIAGRAM) a) Crear el Paquete de Comportamiento de Clases b) Ejemplo Crear el Diagrama de Transicin de Estados para la Clase Producto.
producto
numero descripcion PrecioUnitario cantidad altas() bajas() listar()
Pgina 36
LibrosDigitales.Net
GrapPeruSoft.com
cancelado Reservado
Figura IV.16 Diagrama de Estados de la clase Producto Creacin de Diagramas de Actividades El diagrama de Actividades le permitir mostrar una visin simplificada de los ocurre durante una operacin o proceso. a) Seleccionar de la Vista y crear el Diagrama Activity Diagram b) Seleccione las herramientas para la construccin del Diagrama.
Pgina 37
LibrosDigitales.Net Creacin de los Diagramas Componentes a) Ubquese en Vista de Componentes y haga lo Siguiente,
GrapPeruSoft.com
promociones. DLL
interfazVenta
ControlesUsu arios.OCX
conexionesaBase deDAtos
Pgina 38
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
Pgina 39
LibrosDigitales.Net
GrapPeruSoft.com
Parte III
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
Compresin del uso del sistema Hacer realidad los casos de uso Depurar los diagramas de clases Analiza los cambios de estado de los objetos Define la comunicacin entre objetos 3.Diseo Desarrollo y depuracin de los diagramas de objetos Desarrollo de los diagramas de Componentes Planeacin para la distribucin Diseo y prototipo de la interfaz del usuario Pruebas de Diseo Inicia la documentacin 4.Desarrollo ? ? ? ? Generacin del cdigo Verificacin del Cdigo Generacin de Interfaz del Usuario, conexin con el cdigo y prueba Consumacin de la documentacin
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
GrapPeruSoft.com
inicio
iniciar matricula
[ Es solicitante de Vacante ]
Llenar el FUT
[ Es alumno ]
[ no hay cupo ]
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
si desarpueba uno de los siguientes cursos: Comunicacn integral Lgico matemtico Personal Social Ciencia y ambiente Tiene 2 cursos Desaprobados: Comunicacin Integral Lgico Matemtico
inicio
Evaluar Resultados
I ciclo
aprobado
[ es nivel primario ]
II ciclo Recuperacin
[ es nivel secundario ]
aprobado
recuperacion
Desaprobado
Recuperacin
Aprobado
fin
Pgina 43
GrapPeruSoft.com
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
promedios
asignatura Alumno_III_ciclo
alumno estadstica
EstadisticadeSituaciondelAlumno
CertificadoEstudios
ActadeMatriculados
EstadisticaResultadosDiciembre
libretaDeNotas
Secretaria
cuadernoDeVacante
niveldeEstudio
actadeRecuperacion
EstadisticaRetiradosxGradoSexo Alumno_II_ciclo
EstadisticaResultadosMarzo
Pgina 44
LibrosDigitales.Net
GrapPeruSoft.com
Alumno_I_ciclo
EstadisticaDeEstadosMatricula
Asociaciones del Dominio Al SolicitanteDeVacante le pertenecen los documentos El alumno presenta los documentos El documento podr ser libreta de Notas o acta De Recuperacion, certificados Estudios Tanto la libretadeNotas o actaDeRecuperacion tienen promedios y estos mismos Tienen asignaturas El fut lo llena el solicitanteDeVacante El fut se registra en el cuadernodeVacante La secretaria recepciona el fut
Estadistica segn Estado de Matricula Estadistica Resultados Ejercicio Marzo Estadisticas De Situacion del Alumno Estadisticas de Retirados x Grado y Sexo
Estadistica Resultados Diciembre
El alumno tiene su nivel De Estudio y este se clasifica en alumno Nivel Primario y alumno Nivel Secundario, el alumno Nivel Primario se divide en:
Alumno_I_ciclo, alumno_II_ciclo,alumno_III_ciclo
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.
solictanteDeVacante
presenta
documentos
pertenecen
alumno 1
ActaDeRecuperacion libretaDeNotas
se encuentra
certificadodeEstudios niveldeEstudio
1
tiene tienen
asignatura 1
posee
alumnoNivelSecundario
alumnoNivelPrimario
1..* 1..*
promedios
1 fut 1..*
recepciona
secretaria 1 estadistica
elabora
alumno_I_ciclo
alumno_III_ciclo
alumno_II_ciclo
registra
estadisticasDeSituaciondelAlumno estadisticasegunEstadodeMatricula
estadisticasdeRetiradosxGradoySexo EstadisticaResultadosEjercicioMarzo
cuardenodeVacante
EstadisticaResultadosDiciembre
Pgina 46
LibrosDigitales.Net
GrapPeruSoft.com
Identificacin de los sistemas Coopetarivos Aqu debemos identificar las unidades orgnicas que estn inmensas en el dominio que se estudia.
Direccin APAFA Subdireccin
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
Estadisticas de Retirados x Grado y Sexo Estadisticas De Situacion del Alumno Estadistica segn Estado de Matricula Fut Libreta de Notas Nivel de Estudio Secretaria Solicitante De Vacante
Descubra las necesidades Aqu Irn descrubiendo las necesidades identificando las inquietudes de cada uno de los actores del negocio que se investiga. Para tal caso se entrevisto a un solicitante de vacante del colegio, y a uno de los alumnos que en un determinado momento fue solicitante y nos sugera que el FUT sea un medio para poder llevar los datos a una computadora que podra estar en la subdireccin, ya que es aqu donde se realiza el proceso de matricula. Este programa consultara directamente a los datos de vacantes anlogo al manejo de los cuadernos, para determinar de forma automticamente la vacante para el nuevo alumno. Tambin acondicionara una PC en la unidad orgnica de evaluaciones para realizar el ingreso de notas ya que estas servirn para determinar la situacin de evaluacin en la matricula. La secretaria desea que las estadsticas que crea al final del ejercicio en el mes de Diciembre as como tambin en el mes de marzo lo haga una mediante una Pc consultando el almacn de datos de las dems unidades orgnicas de estudios y los pueda tener impreso de forma automtica. Cuadro de problemas y Necesidades Unidad Problema Orgnica
Sub direccin 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
Modulo de sistema computarizado para la atencin de solicitud de vacantes Construir una DB de almacenamiento que permita realizar el proceso de matricula.
Pgina 48
LibrosDigitales.Net
Secretaria
GrapPeruSoft.com
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 Trabajo tedioso de estar determinando la situacin de evaluacin para cada alumno tal como aprobados, desaprobados, requiere recuperacin, entre otros Subsistema de Evaluaciones que permita almacenar los resultados de las notas de cada una de la asignatura que estudia el alumno, as como tambin determinar la situacin de evaluacin que tendr para la matricula.
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
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
Planeacin para copias de seguridad Instalacin del sistema terminado en el hardware adecuado Verificacin del sistema instalado Celebracin
Pgina 52