Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CAPITULO 1
Introduccin al Anlisis y Diseo Orientado a Objetos.
Ciclo de Vida del Software.
Proceso de desarrollo utilizando UML.
Descripcin del Proceso Actual: El Modelo de Negocios.
I N T R O D U C C I N A L A N L I S I S Y D I S E O
O R I E N T A D O A O B J E T O S .
ltimamente escuchamos con frecuencia los trminos POO, AOO, DOO, BDOO.
Existen evidencias de que la industria informtica est dirigindose en conjunto a la
Tecnologa Orientada a Objetos, alejndose de la tecnologa estructurada que ha
prevalecido por ms de 20 aos. A todo esto le aadimos la proyeccin del desarrollo
de aplicaciones para Internet, denominados Intranets, Extranets y otros, usando
justamente esta tecnologa.
A las acciones que, cualquier elemento del mundo real, realiza como reaccin frente a
un estmulo las denominaremos Operaciones. Algunos comportamientos complejos
son el resultado de la interaccin o sucesin de varias operaciones, a stos los
denominaremos Procesos. Sin embargo en nuestro enfoque, en la mayora de los
casos y de manera genrica utilizaremos el trmino OPERACION.
Por ejemplo: conocemos a Pluto y Valentino, y descubrimos que tambin tienen cuatro
patas, ladran, muerden, etc. Y a partir de estos conceptos "concretos" formamos un
nuevo concepto "abstracto" al que denominamos PERRO. Este contiene las
caractersticas y el comportamiento de todos los semejantes a Pelusa. En otras
palabras, construimos conceptos tipos o Modelos.
De estos modelos se construirn otros, cada vez ms abstractos, que contendrn a los
anteriores, por ejemplo: CARNIVOROS, MAMIFEROS, VERTEBRADOS, ANIMALES,
SERES VIVOS, etc. generndose una estructura muy organizada de CLASIFICACION
Y ORDEN.
SIMULACIN.
simulamos este hecho colocando en una especie de "cpsula" las estructuras de datos
y los mtodos, a esta unidad denominamos OBJETO.
Tambin se simula la manera en que los entes del mundo real se comunican entre s,
envindose seales o "mensajes" a los que responden con una conducta o
comportamiento especfico, de la misma manera se simulan las clasificaciones,
ordenamiento, organizacin, e incluso la herencia de los seres vivos.
En sntesis, se trata de actuar de la misma manera en que los humanos, a los que en
informtica, en general, se nos denomina usuarios, "manejamos" y operamos el
mundo real.
ENCAPSULAMIENTO.
Utilizacin del concepto de "Caja Negra" a una potencia mucho mayor. Empaquetar
datos y operaciones en forma conjunta se llama ENCAPSULACION.
REUTILIZACION.
Capacidad de reutilizar cdigo sin alterarlo, programando solo lo adicional o diferente.
Base de la Herencia.
Conceptos Bsicos
ENCAPSULAMIENTO DE OBJETOS
El encapsulamiento es combinar las funciones relacionadas, atributos y estados para
formar "objetos". El encapsulamiento implica autocontinencia, por ejemplo el objeto
"Carro" encapsula o "rene" sus atributos, funciones y estados en una unidad
autocontenida, el encapsulamiento usa informacin oculta. Algunas partes del objeto
son visibles a todas es decir, pblicas.
La funcin "steering wul" en el objeto "Carro" representa una interface pblica la cual
"enciende" el carro. Algunas partes del objeto son ocultas (privadas), "encender" es
nicamente visible a la funcin "steering wheel", por lo tanto privada.
La informacin oculta permite al detalle del objeto cambiar sin afectar los programas
que usan la clase, la informacin oculta elimina los problemas que se presentan al
modificar el cdigo y promueve la reutilizacin del cdigo.
Objeto
Es cualquier cosa real o abstracta, acerca de la cual
almacenamos datos y los mtodos que controlan
dichos datos.
Tipo de Objeto
Es una categora de un objeto; y un objeto es una instancia de un tipo de objeto.
Ejm.- empleado se aplica a los objetos que son personas empleadas por una
organizacin; algunas instancias de empleado podran ser Viviana Rivasplata, Maju
Mantilla, etc.
Mtodos
Especifican la forma en que se controlan los datos de un objeto. Los mtodos en un
tipo de objeto slo hacen referencia a las estructuras de datos de ese tipo de objeto.
Un objeto es entonces una cosa cuyas propiedades estn representadas por tipo de
datos y su comportamiento por mtodos.
Ejm.- Un mtodo asociado con el tipo de objeto factura podra ser aqul que calcule el
total de una factura. Otro podra transmitir la factura a un cliente, etc.
Encapsulado
El empaque conjunto de
datos y mtodos se llama
encapsulado. El objeto
esconde sus datos de los
dems objetos y permite
el acceso a los datos
mediante sus propios
mtodos, esto recibe el
nombre de ocultamiento
de la informacin. El
encapsulado evita la
corrupcin de los datos
de un objeto,
protegindolos del uso
arbitrario y no pretendido.
Mensajes
Para que un objeto haga algo, le enviamos una solicitud, esta hace que se produzca
una operacin. El mensaje que constituye la solicitud contiene el nombre del objeto, el
nombre de una operacin y, a veces, un grupo de parmetros.
Una solicitud invoca una operacin especfica, con uno o ms objetos como
parmetros.
Clase
El trmino clase se refiere a la implantacin en software de un tipo
de objeto. Especifica una estructura de datos y los mtodos Ave
operativos permisibles que se aplican a cada uno de sus objetos. El
mtodo es parte de la clase, pero no parte del objeto. El mtodo ni
siquiera podra ser parte de la clase; pero podra ser parte de la
clase de mayor nivel en la jerarqua de clases.
Ejm.- una clase empleado incluira datos del seguro social, puesto, salario, extensin
telefnica, etc. Adems, cada clase define un conjunto de operaciones permisibles que
permiten el acceso y modificacin de los datos del objeto.
Herencia Ave
Un tipo de objeto de alto nivel
puede especializarse en tipos de
objeto de bajo nivel. Un tipo de
objeto puede tener subtipos. Una
clase implanta el tipo de objeto.
Una sub-clase hereda Faisan Pato Gallina
propiedades de su clase padre;
una sub-clase hereda propiedades
de las subclases, etc.
Ejm.- Un tipo de objeto persona puede tener subtipos civil y militar. Militar puede tener
subtipos oficial y subalterno. Oficial puede tener subtipos teniente, capitn, mayor, etc.
Herencia de Clase
Es una implantacin de la generalizacin. La generalizacin establece que las
propiedades de un tipo se aplican a sus subtipos. La herencia de clase hace que la
estructura de datos y operaciones sean disponibles para sus reutilizacin por parte de
sus subclases.
Polimorfismo
Se aplica a una operacin que adopta varias formas de implantacin. Una de las
ventajas del polimorfismo es que se puede hacer una solicitud de una operacin sin
conocer el mtodo que debe ser llamado. Estos detalles quedan ocultos para el
usuario; la responsabilidad descansa en el mecanismo de seleccin de la implantacin
OO.
Abstraccin
Es el acto o resultado de eliminar diferencias entre los objetos, de modo que podamos
ver los aspectos comunes. Todo objeto es nico, sin embargo, la abstraccin elimina
algunas distinciones para que podamos ver los aspectos comunes entre los objetos.
Se debe considerar lo siguiente:
Caractersticas esenciales que distinguen un objeto de otro.
Dependen del dominio del problema.
Dependen del Observador.
Definen conceptos.
Distintos tipos: "Entidades" y "Asociaciones".
Generalizacin
Es el acto o el resultado de distinguir un concepto que es ms general que otro. La
generalizacin nos permite examinar si los conceptos tienen algo en comn.
Evento
Es un cambio en el estado de un objeto. En el anlisis orientado a objetos el mundo se
describe en trminos de los objetos y sus estados, as como de los eventos que
modifican esos eventos. As, los eventos sirven como indicadores de los instantes en
que ocurren los cambios de estado.
Modularidad
Es la propiedad de un sistema que ha sido dividido en componentes. Los mdulos son
la divisin fsica de la abstraccin lgica. Hay que considerar lo siguiente:
Algo que debemos de tener en cuenta es, que todo sistema a desarrollar, por mas
pequeo o grande que sea, siempre va a requerir de datos para poder funcionar, estos
sern procesados, para poder obtener la informacin.
Ciclo de Desarrollo
Hay que entender que, esto es un proceso, ahora, debemos de marcar un punto de
partida para todo este desarrollo, y ese es cuando el especialista en desarrollo de
sistemas interacta (Analista) con el Cliente (el cual, habitualmente es el Dueo de la
Empresa, el Gerente General o algn Gerente de rea, quienes son los que tienen la
potestad de desembolso de dinero). Aqu es donde se determina si hay posibilidades
de poder desarrollar un sistema de informacin
Sin embargo, desde el punto de vista puramente tecnolgico, UML tiene una gran
cantidad de propiedades que han sido las que, realmente, han contribuido a hacer de
UML el estndar de facto de la industria que es en realidad. Algunas de las
propiedades de UML como lenguaje de modelado estndar son:
Proceso
Conjunto de actividades que emplean un insumo.
Agregan valor.
Suministran un producto a un consumidor.
Proceso de Negocio
Conjunto o grupo de tareas o actividades.
Secuencia u orden lgico.
Emplean recursos de la organizacin.
Ofrece resultados de inters a alguien.
Apoya algn objetivo de la organizacin.
rea Funcional
Grupo de Trabajo.
Objetivos
Comprender la estructura y la dinmica de la organizacin objetivo.
ESTEREOTIPOS
1. una vez instalado el producto, boton Inicio, luego Ejecutar y escribir ROSE,
mostrndose la siguiente pantalla.
4. realizar un doble click sobre el objeto Main, abriendose una nueva venta, de
tipo Use Case Diagram.
6. luego, hacer doble clic sobre el paquete Modelo de Negocio, debindose abrir
una nueva ventana, donde empezaremos a desarrollar nuestro modelo.
CAPITULO 2
Del Modelo de Negocios al Modelo del Sistema.
Funcionalidad del Sistema: Use Case Diagram.
Tipos de asociacin entre CUs.
Documentando los CUs.
D E L M O D E L O D E N E G O C I O S A L M O D E L O
D E L S I S T E M A .
Una vez que hemos logrado interpretar la forma de trabajo de la empresa, nos
dedicaremos a tratar de automatizar la mayor cantidad de procesos posibles, para ello
tengamos en cuenta lo siguiente:
ACTOR
Un actor es una idealizacin de una persona externa, de un proceso, o
de una cosa que interacta con un sistema, un subsistema, o una clase.
Un actor caracteriza las interacciones que los usuarios exteriores pueden
tener con el sistema. En tiempo de ejecucin, un usuario fsico puede
estar limitado a los actores mltiples dentro del sistema. Diferentes
usuarios pueden estar ligados al mismo actor y por lo tanto pueden
representar casos mltiples de la misma definicin de actor.
Cada actor participa en uno o ms casos de uso. Interacta con el caso de USO (y por
lo tanto con el sistema o la clase que posee el caso de uso), intercambiando
mensajes. La implementacin interna de un actor no es relevante en el caso de uso;
un actor puede ser caracterizado suficientemente por un conjunto de atributos que
definen su estado.
Los actores pueden ser definidos en jerarquas de generalizacin, en las cuales una
descripcin abstracta del actor es compartida y aumentada por una o ms
descripciones especficas del actor.
Un actor puede ser un ser humano, otro sistema informtico, o un cierto proceso
ejecutable. Se dibuja a un actor como una persona pequea con trazos lineales y el
nombre debajo de l.
CASO DE USO
Un caso de uso es una unidad coherente de funcionalidad,
externamente visible, proporcionada por una unidad del sistema
y expresada por secuencias de mensajes intercambiados por la
unidad del sistema y uno o ms actores. El propsito de un caso
de uso es definir una pieza de comportamiento coherente, sin
revelar la estructura interna del sistema. La definicin de un caso de uso incluye todo
el comportamiento que implica: las lneas principales, las diferentes variaciones sobre
el comportamiento normal, y todas las condiciones excepcionales, que pueden ocurrir
con tal comportamiento, junto con la respuesta deseada. Desde el punto de vista de
los usuarios, stas pueden ser situaciones anormales. Desde el punto de vista de los
sistemas, son las variaciones adicionales que deben ser descritas y manejadas.
una operacin de sistema, una operacin invocada por un usuario exterior. Sin
embargo, a diferencia de una operacin, un caso de uso puede continuar recibiendo la
entrada de sus actores durante su ejecucin. Los casos de uso tambin se pueden
aplicar internamente a unidades ms pequeas de un sistema, tales como
subsistemas y clases individuales. Un caso interno de uso representa el
comportamiento que una parte del sistema presenta al resto del sistema. Por ejemplo,
un caso de uso para una clase representa una pieza coherente de la funcionalidad que
una clase proporciona a otras clases que desempeen ciertos roles dentro del
sistema. Una clase puede tener ms de un caso de uso.
Un caso de uso es una descripcin lgica de una parte de funcionalidad del sistema.
No es una construccin manifiesta en la implementacin de un sistema. En su lugar,
cada caso de uso se debe corresponder con las clases que implementan un sistema.
Un caso de uso puede participar en varias relaciones, adems de poderse asociar con
actores.
Un caso de uso se dibuja como una elipse con su nombre dentro o debajo de ella. Se
conecta por lneas con trazo continuo con los actores que se comunican con ella.
Un caso de uso puede participar en varias relaciones con otros casos de uso, adems
de poderse asociar con actores.
Un caso de uso se puede tambin definir como una extensin incremental de un caso
de uso base. Esto se llama relacin de extensin. Puede haber varias extensiones del
mismo caso de uso base, que pueden ser aplicadas conjuntamente. Las extensiones a
un caso de uso base se agregan a su semntica; que es el caso de uso base instancia
do, no los casos de uso de la extensin.
La insercin de comportamiento
Extensin adicional en un CU base que no tiene
conocimiento sobre l.
Comunicacin
Generalizacin
Inclusin
La relacin de inclusin conecta un caso de uso base con un caso de uso incluido. El
caso de uso incluido que figura en esta relacin no es un clasificador instanciable
independientemente. Lo que hace es describir explcitamente una secuencia adicional
de comportamiento que se inserta en una instancia de caso de uso que est
ejecutando el caso de uso base. A este mismo caso de uso base se le pueden aplicar
mltiples relaciones de inclusin. El mismo caso de uso incluido se puede incluir en
mltiples casos de uso base. Esto no indica ninguna relacin entre los casos de uso
base. Puede haber, incluso, mltiples relaciones de inclusin entre el mismo caso de
USO incluido y casos de uso base, siempre y cuando cada insercin se haga en una
posicin diferente de la base.
El caso de uso incluido puede acceder a atributos o a operaciones del caso de uso
base. La inclusin representa un comportamiento encapsulado que, potencialmente,
puede reutilizarse en mltiples casos de uso base. El caso de uso base ve al caso de
uso incluido, que puede dar valores a los atributos del caso de uso base. Pero el caso
de uso base no debe acceder a los atributos del caso de uso incluido, porque el caso
de uso incluido habr concluido cuando el caso de USO base recupere el control.
Obsrvese que se pueden anidar las adiciones (sea cual fuere su clase). Por tanto,
una inclusin puede servir como base para otra inclusin, extensin o generalizacin
posterior.
Extensin
Una relacin desde un caso de uso extensor a un caso de uso base, que especifica
cmo se puede insertar el comportamiento definido para el caso de uso extensor en el
comportamiento definido para el caso de uso base. El caso de uso extensor modifica
incrementalmente el caso de uso base de forma modular.
Un caso de uso extensor en una relacin de extensin puede tener acceso y modificar
los atributos definidos por el caso de uso base. El caso de uso base, sin embargo, no
puede ver las extensiones y puede no tener acceso a sus atributos u operaciones. El
caso de uso base define un marco modular en el cual puedan ser agregadas
extensiones, pero la base no tiene visibilidad sobre las extensiones. Las extensiones
modifican implcitamente el comportamiento del caso de uso base.
Para poder retomar nuestro proyecto de sistema, lo primero que haremos ser abrir el
archivo donde se encuentra nuestro Modelo de Negocio, para luego seguir los
siguientes pasos:
1. desplegar desde el Browser el paquete Use Case View, y hacer doble clic
sobre el objeto Main, al abrirse la ventana, crearemos un nuevo paquete, de
nombre CU del Sistema.
2. seguidamente haremos un doble clic sobre dicho paquete, de tal manera que
se abra una nueva ventana, donde empezaremos a disear nuestro modelo.
CAPITULO 3
Capturando el Modelo de Objetos.
Uso de: Objetos, Clases, Encapsulamiento, Herencia, Polimorfismo.
Diagramas de Clases.
Tipos de Asociacin entre Clases.
C A P T U R A N D O E L M O D E L O D E O B J E T O S .
A continuacin conjugaremos las caractersticas del UML con los conceptos de la
orientacin a objetos.
Clase
Otra estructura del UML el paquete, puede jugar un papel en el nombre de la clase un
paquete es la manera en que el UML organiza un diagrama de elementos. Tal vez
recuerde que el UML representa un paquete como una carpeta tabular cuyo nombre
es una cadena de texto.
Atributos
La lista de nombres de atributos iniciar luego de una lnea que la separe del nombre
de la clase como se aprecia en la figura.
Operaciones
Si usted tiene una larga lista de atributos u operaciones podr utilizar un estereotipo
para organizarla de forma que sea ms comprensible. Un estereotipo es el modo en
que el UML le permite extenderlo es decir crear nuevos elementos que son
especficos de un problema en particular que intente resolver Como lo mencion en la
hora l. usted muestra un estereotipo como un nombre bordeado por dos pares de
parntesis angulares. Para una lista de atributos podr utilizar un estereotipo como
encabezado de un subconjunto de atributos como en la figura.
La idea es incluir informacin suficiente para describir una clase de forma inequvoca
Una manera ms formal es agregar una restriccin un texto libre. Bordeado por
llaves; este texto especifica una o varias reglas que sigue la clase.
Notas Adjuntas
Con frecuencia agregar una nota a un atributo u operacin. La figura le muestra una
nota que se refiere a una norma gubernamental que indica dnde encontrar la manera
en que se generan los nmeros de serie para los objetos de la clase Lavadora
GuiaCompra
nroGuia
fechaEmision documento que se
condicionPago emite al Prov eedor
observaciones
nuevaGuia()
imprimir()
cerrar()
anular()
Diagramas de Clases.
Las clases son el vocabulario y tecnologa de un rea del conocimiento conforme
hable con los clientes, analice su rea de conocimiento y disee sistemas de
computacin que resuelvan los problemas de dicha rea, comprender la terminologa
y modelar los trminos como clases en el UML.
En sus conversaciones con los clientes preste atencin a los sustantivos que utilizan
para describir las entidades de sus negocios; ya que dichos sustantivos se convertirn
en las clases de su modelo Tambin preste atencin a los verbos que escuche dado
que constituirn las operaciones de sus clases .Los atributos surgirn como
sustantivos relacionados con los nombres de la clase. Una vez que tenga una lista
bsica de las clases pregunte a los clientes que es lo que cada clase hace dentro
del negocio. Sus respuestas le indicarn las responsabilidades de la clase
Suponga que usted es un analista que generar un modelo del juego de
baloncesto. y que entrevista a un entrenador para comprender el juego La
conversacin podra surgir como sigue:
La pltica podra continuar, pero hagamos una pausa y veamos con qu contamos,
Aqu hay varios sustantivos que ha descubierto baln, cesto, equipo, jugadores,
defensas, delanteros, cesto (o poste), tiro, lapso para tirar, lnea de los 3 puntos, tiro
libre, infraccin, lnea de tiro libre, cancha, cronmetro del juego y los verbos: tirar,
avanzar, driblar (o burlar), pasar, infraccionar, rebotar. Tambin cuenta con cierta
informacin adicional respecto a algunos de los sustantivos (como las estaturas
relativas de los jugadores de cada posicin. las dimensiones de la cancha, la cantidad
total de tiempo en un lapso de tiro y la duracin de un juego)
Finalmente, su propio sentido comn podra entrar en accin para generar ciertos
atributos por usted mismo. Usted sabe, por ejemplo, que el baln cuenta con ciertos
atributos, como volumen y dimetro
Asociacin (Binaria)
Cuando una clase se vincula con otra clase, para ello se trazar una lnea que la una,
donde, adicionalmente se indicar la multiplicidad entre ellos.
Cuando una clase se asocia con otra cada una de ellas juega un papel dentro de tal
asociacin. Puede representar estos papeles en el diagrama escribindolos cerca de
la Lnea que se encuentra junio ala clase que juega el papel correspondiente.
Una asociacin al igual que una clase puede contener atributos y operaciones.
Cuando este sea el caso usted tendr una clase de asociacin.
Puede concebir a una clase de asociacin de la misma forma en que lo hara con una
clase estndar y utilizar una lnea discontinua para conectarla a la lnea de asociacin
Una clase de asociacin puede tener asociaciones con otras clases
Factura
nroFactura Producto
fechaEmision
0..* 1..* nombre
subTotal
precioVenta
igv
stock
Total
fechaCancelado
DetalleFactura
cantidad
importe
Tener en cuenta que, esta asociacin solo se produce cuando existe una relacin con
multiplicidad de muchos a muchos, y adicionalmente, existan atributos que
describan la relacin.
Asociaciones Reflexivas
En ocasiones una clase es una asociacin consigo misma Esto puede ocurrir cuando
una clase tiene objetos que pueden jugar diversos papeles Un OcupanteAutomovil
puedo ser un Conductor o un Pasajero. En el papel del conductor el
OcupanteAutomovil puede llevar ninguno o ms OcupanteAutomovil quienes jugarn
el papel de pasajeros Esto lo representar mediante el trazo de una Lnea de
asociacin a partir del rectngulo de la clase hacia el mismo rectngulo de la clase. y
en la lnea de asociacin indicar los papeles nombre de la asociacin direccin de la
asociacin y multiplicidad corno ya lo hizo antes La figura le presenta este ejemplo:
+conductor 1 OcupanteAutomovil
0..*
+pasajero
conduce
Herencia Y Generalizacin
Uno de los sellos distintivos de la orientacin a objetos es que captura uno de los
mayores aspectos del sentido comn en cuanto a la vida diaria: si usted conoce algo
de una categora de cosas automticamente sabr algunas cosas que podr
transferir a otras categoras Si usted sabe que algo es un electrodomstico, ya
sabr que contar con un interruptor, una marca y un numero de serie
La jerarqua de la herencia no tiene que finalizar en dos niveles: una clase secundaria
puede ser principal para otra clase secundaria Un Mamfero es una clase secundaria
de Animal y Caballo es una clase secundaria de Mamfero que algo es un animal
dar por hecho que come, duerme, tiene una forma de nacer de trasladarse de un
lugar a otro y algunos otros atributos (y operaciones) que podra listar si pensara en
ello por algunos instantes.
VehiculoTransporte
Agregacin / Composicin
Automvil Radio
Pero cuando el objeto pierde sus facultades o esencia ante la ausencia de algn otro
objeto, entonces se dice que la relacin es por Composicin.
Automvil Motor
1. desplegar desde el Browser el Logical View y hacer doble clic sobre el objeto
Welcome.
3. hacer doble clic sobre el paquete, y crear las clases dentro de ella, junto con
sus asociaciones.
CAPITULO 4
Definiendo la Lgica del Sistema.
Utilizando el Diagrama de Actividad.
Definiendo Escenarios.
Diagramas de Interaccin: Secuencia y Colaboracin.
D E F I N I E N D O L A L G I C A D E L S I S T E M A .
Ahora veremos un tipo de diagrama que podra parecerle familiar, este diagrama le
muestra los pasos en una operacin o proceso
El diagrama de actividades del UML. El tema de esta parte. es muy parecido a los
viejos diagramas de flujo. Le muestra los pasos (conocidos como actividades) as
como puntos de decisin y bifurcaciones es til para mostrar lo que ocurre en un
proceso de negocios u operacin. Los encontrar como parte integral del anlisis de
un sistema
Decisiones
NewActivity
NewActivity2 NewActivity4
NewActivity3
Rutas Concurrentes
intentos=0 fracaso
no
mostrar intentos < 3
formulario
si
vlido?
no
verificar autenticidad mostrar
de datos mensaje error
si
mostrar formulario
proncipal
exito
RESUMEN
Diagrama de Secuencia
El diagrama de secuencias consta de objetos que se representan del modo usual con
rectngulos con nombre (subrayado), mensajes representados por lneas continuas
con una punta de flecha y el tiempo representado como una progresin vertical
OBJETOS
Los objetos se colocan cerca de la parte superior del diagrama de izquierda a derecha
y se acomodan de manera que simplifiquen al diagrama La extensin que esta debajo
(y en forma descendente) de cada objeto ser una lnea discontinua conocida como
la Lnea de vida de un objeto. Junto con la lnea de vida de un objeto se encuentra un
pequeo rectngulo conocido como activacin, el cual representa la ejecucin de una
operacin que realiza el objeto. La longitud del rectngulo se interpreta como la
duracin de la activacin. La figura muestra un objeto, su lnea de vida y su activacin.
MENSAJE
TIEMPO
Objeto1 Objeto2
: <Actor Name>
Para ver en accin a esta importante herramienta del UML apliqumosla en los
ejemplos que hemos visto anteriormente. Cada aplicacin le mostrar algunos
conceptos importantes que se relacionan con los diagramas de secuencias
LA SECUENCIA
Suponga que el usuario de una GUI presiona una tecla alfanumrica; si asumimos que
utiliza una aplicacin como un procesador de textos el carcter correspondiente
deber aparecer de inmediato en la pantalla Qu ocurre tras bambalinas para que
esto suceda?
Diagrama de actividad
1. abrir el paquete que contiene el diagrama de Casos de Uso.
2. hacer clic derecho sobre el caso de uso a describir su lgica, y luego del men
contextual, seleccionar Sub Diagrams, luego New Activity Diagram.
Diagrama de Secuencia
1. regresar a la ventana que tiene el diagrama de casos de uso.
2. hacer clic derecho sobre el caso de uso del cual se elaborar el diagrama de
secuencia, luego, seleccionar la opcin Open Specification.
CAPITULO 5
El comportamiento de los objetos.
Uso del Diagrama de Estados.
Diagrama de Componentes.
Diagrama de Despliegue.
E L C O M P O R T A M I E N T O D E L O S O B J E T O S .
Hasta ahora ha comprendido los importantes elementos estructurales del UML. Ahora
ver un elemento que le muestra cmo modificar los procedimientos con el tiempo
En esta parte se tratarn los siguientes temas:
Qu es un diagrama de estados
Sucesos, acciones y condiciones de seguridad
Subestados: secuenciales y concurrentes
Estados histricos
Por que son importantes los diagramas de estados
Adicin del diagrama de estados al panorama del UML
Cada ao trae consigo nuevos estilos en ropas y automviles las estaciones cambian
el color de las hojas de los rboles y cada ao que pasa deja entrever el crecimiento y
madurez de los nios. Al pasar el tiempo y conforme suceden las cosas hay cambios
que afectan a los objetos que nos rodean.
Esto tambin se aplica en cualquier sistema conforme el sistema interacta con los
usuarios y (posiblemente) con otros sistemas los objetos que lo conforman pasaran
por cambios necesarios para ajustar las interacciones. Si va a modelar sistemas
necesitar contar con un mecanismo para los cambios en el modelo
El DIAGRAMA DE ESTADOS UML captura este tipo de cambios presenta los estados
en los que puedo encontrarse un objeto junto con las transiciones entre los estados, y
muestra los puntos inicial y final de una secuencia de cambios de estado,
SIMBOLOGA
SUCESOS Y ACCIONES
Tambin puede agregar ciertos detalles a las lneas de transicin. Puede indicar un
suceso que provoque una transicin (desencadenar un suceso), y la actividad de
cmputo (la accin) que se ejecute y haga que suceda la modificacin del estado. A
los sucesos y acciones los escribir cerca de la lnea de transicin mediante una
diagonal para separar un suceso desencadenando de una accin En ocasiones un
evento causar una transicin sin una accin asociada. y algunas veces una transicin
suceder dado que un estado finalizar una actividad (en lugar de hacerlo por un
suceso). A este tipo de transicin se le conoce como transicin no desencadenada La
GUI (interfaz grfica de usuario) con que interacte le dar ejemplos de detalles de la
transicin. Por el momento, asumamos que la GUI puede establecerse en uno de tres
estados:
Inicializacin
Operacin
Apagar
Encender PC
Inicializacion Apagar
entry/ hacer Arrancar
...
Apagado
Operacion
CONDICIONES DE SEGURIDAD
La anterior secuencia de estados de la GUI deja mucho que desear Por ejemplo: si
deja solo su equipo o si realizara alguna actividad en la que no tocar al ratn o al
teclado podra aparecer un protector de pantallas que evitarla el desgaste de su
pantalla Para decir esto en trminos de cambio de estado si ha pasado cieno tiempo
sin que haya interaccin con el usuario. la GUI har una transicin del estado
Operacin a un estado que no aparece en la figura el estado de Protector de
pantallas .El intervalo se especifica en el panel de control de su sistema operativo
(Windows en este caso). Por lo general es de 15 minutos Cualquier opresin de una
tecla o movimiento del ratn provocar una transicin del estado Protector de
pantallas al estado Operacin.
Encender PC
Inicializacion Apagar
entry/ hacer Arrancar
...
Apagado
Operacion
lapso transcurrido
Protector
de Pantalla
Es necesario contar con diagramas de estados dado que permiten a los analistas,
diseadores y desarrolladores comprender el comportamiento de los objeto, de un
sistema Un diagrama de clases y el diagrama de objetos correspondiente slo
muestra lo, aspectos estticos de un sistema Muestran las jerarquas y asociaciones, y
le indican qu son la, operaciones Pero no le muestran los detalles dinmicos de las
operaciones
Los desarrolladores, en particular, deben saber la forma en que lo, objetos se supone
que se comportaran, ya que son ellos quienes tendrn que establecer tales
comportamientos en el software No es suficiente con implementar un objeto los
desarrolladores deben hacer que tal objeto haga algo, Los diagramas de estados se
aseguran que no tendrn que adivinar lo que se supone que harn lo, objetos, Con
una clara representacin del comportamiento del objeto, aumenta la probabilidad de
que el equipo de desarrollo produzca un sistema que cumpla con los requerimientos.
Diagrama de Componentes.
Un componente de software es una parte fsica de un sistema, y se encuentra en la
computadora, no en la mente del analista. Qu puede tomarse como componente?
Una tabla, archivo de datos, ejecutable, biblioteca de vnculos dinmicos, documentos
y cosas por el estilo.
NewComponent
TIPOS DE COMPONENTES
Conforme avance en su carrera como modelador, se encontrar con tres tipos de
componentes:
Animacion.html
VBScript <<ActiveX>>
Disposicion
Animacion
<<ActiveX>>
BotonEjecutar
<<ActiveX>>
ImagenEsfera
<<ActiveX>>
BotonDetener
<<ActiveX>>
Cronometro
Esfera <<ActiveX>>
BotonReiniciar
esfera.jpg
<<ActiveX>> <<ActiveX>>
CuadroComb CuadroCom
oCronometro boDistancia
Diagrama de Despliegue.
Es momento de concentrarnos en el hardware. Como podr ver, hemos trascendido
desde los elementos (como las clases) que se encuentran en los anlisis, hasta los
componentes en los equipos de cmputo y al hardware existente.
El elemento primordial del hardware es un nodo, que es un nombre genrico para todo
tipo de recurso de cmputo. Es posible usar dos tipos de nodos: un procesador, el cual
puede ejecutar un componente, y un dispositivo que no lo ejecuta. Normalmente, un
dispositivo (como impresora o monitor) tiene contacto de alguna forma con el mundo
exterior.
En el UML. un cubo representa a un nodo. Deber asignar un nombre para el nodo, y
podr utilizar un estereotipo para indicar el tipo de recurso que sea.
<processor name>
<device name>
preempti ve
CAPITULO 6
Del Modelo de Objetos al Modelo de Datos.
Refinando el Modelo de Datos.
El Proceso de Normalizacin.
Restricciones segn las Reglas del Negocio.
D E L M O D E L O D E O B J E T O S A L M O D E L O D E
D A T O S .
El diagrama de relacin de entidad lgico ofrece una base desde la cual construir un
diagrama fsico representando las tablas y relaciones actuales de la base de datos
relacional.
ComprobantePago
fechaEmision : Date
total : Currency
Factura Boleta
nroFactura : String nroBoleta : String
subTotal : Currency
igv : Currency
T_ComprobantePago
f echaEmision : DATETIME
total : MONEY
T_ComprobantePago_ID : INT
T_Cliente_ID : INT
<<PK>> PK_T_ComprobantePago10()
<<FK>> FK_T_ComprobantePago4()
<<Index>> TC_T_ComprobantePago15()
1
1
<<Identif y ing>>
<<Identif y ing>>
0..1 0..1
T_Factura T_Boleta
nroFactura : VARCHAR(255) nroBoleta : VARCHAR(255)
subTotal : MONEY T_ComprobantePago_ID : INT
igv : MONEY
T_ComprobantePago_ID : INT <<PK>> PK_T_Boleta15()
<<FK>> FK_T_Boleta8()
<<PK>> PK_T_Factura14() <<Index>> TC_T_Boleta17()
<<FK>> FK_T_Factura7()
<<Index>> TC_T_Factura16()
A nivel de BD no me resulta nada prctico, para este caso, lo mejor seria prescindir de
estas tablas, y manejarlo todo desde la tabla ComprobantePago.
Tan importante como los datos, es la estructura conceptual con la que se relacionan
entre ellos. Un sistema de gestin de bases de datos (DBMS) consiste en una
coleccin de datos interrelacionados y un conjunto de programas para acceder a esos
datos. El objetivo primordial de un DBMS es proporcionar un entorno que sea a la vez
conveniente y eficiente para ser utilizado al extraer y almacenar informacin de la
bases de datos. Toda base de datos es una coleccin de datos tendiente a minimizar
la redundancia. Dicha coleccin de datos permite que los mismos se encuentren
1. Interrelacionados
2. Almacenados en conjuntos
3. Sin redundancias innecesarias o perjudiciales
4. Independientes de los programas que los utilizan
1. Regulacin de acceso
2. Proteccin de integridad
3. Sin redundancia
4. Facilidad de Ordenamiento
5. Manejo centralizado
Est pensado como una notacin orientada al diseo del esquema conceptual, pues
permite la descripcin del esquema conceptual sin preocuparse por problemas de
diseo fsico o de eficiencia.
Se supone que en una etapa posterior, los diagramas entidad-relacin son llevados a
otros modelos, ya sea manual o automticamente. Dentro del modelo entidad relacin
se tienen:
ENTIDADES
Una entidad est representada por un conjunto de atributos. Para cada atributo existe
un rango de valores permitidos, llamado dominio del atributo. Cualquier objeto
distinguible que pueda representarse en la Base de Datos.
Conjunto de entidades
Es un grupo de entidades del mismo tipo. Por ejemplo: un conjunto de alumnos.
RELACIONES
Conjunto de relaciones
Es un grupo de relaciones de un mismo tipo.
DIAGRAMA ENTIDAD-RELACIN
La estructura lgica general de una base de datos puede expresarse en forma grfica
por medio de un diagrama entidad relacin, que se integra con los siguientes
componentes:
El diagrama E/R se representa de dos formas, una para representar las entidades y
sus relaciones llamada Diagrama o Modelo Entidad Relacin y la otra, para
representar sus atributos, llamada Modelo Relacional:
ENTIDAD
Es algo que puede ser identificado por si mismo (personas, lugares, cosas o
conceptos) acerca de la cual se requiere guardar informacin. Un tipo de entidad
representa a una clase de entidades que tienen los mismos atributos.
RELACIN
Es una asociacin entre entidades, o sea es la forma en que se asocian las entidades.
ATRIBUTO
DATO
DOMINIO
Es un conjunto de valores que puede tomar un atributo en una relacin.
TIPO DE RELACIONES
Modelo De Datos
MODELO CONCEPTUAL
El modelo conceptual deber reflejar todas las relaciones lgicas y es totalmente
independiente de su implementacin fsica. Este es un modelo de entidad relacin.
MODELO LGICO
Este modelo es el puente entre el modelo conceptual y el modelo fsico; describe como
se vern los datos. Existen en el diseo de bases de datos 3 modelos lgicos:
1. Jerrquico
2. Red
3. Relacional
MODELO FSICO
El modelo fsico esta construido sobre las bases del modelo lgico y describe como los
datos son almacenados. Este es el nivel mas bajo de abstraccin.
El Proceso de Normalizacin.
Es la tcnica utilizada para dividir las estructuras de datos en pequeas unidades. En
estas unidades, cada atributo es totalmente dependiente de la clave primaria de la
entidad a la cual pertenece.
Minimizar la redundancia
Minimizar el impacto de futuros cambios de datos
Minimiza el mantenimiento de datos
Dependencia Funcional
Es la relacin existente entre dos atributos, por lo que el conocimiento de uno de ellos
determina el valor del otro. Si un elemento A es funcionalmente dependiente de otro
elemento B, queda automticamente definido A. El nombre de un buque es
funcionalmente dependiente de su numero de matricula, pero no es cierto que al
conocer el nombre del buque se conozca su numero de matricula.
Las Reglas del Negocio o Conjunto de Reglas de Negocio describe las polticas,
normas, operaciones, definiciones y restricciones presentes en una organizacin y que
son de vital importancia para alcanzar los objetivos misionales.
Las reglas de negocio son un medio por el cual la estrategia es implementada. Las
reglas especifican - en un nivel adecuado de detalle - lo que una organizacin debe
hacer.
CAPITULO 7
Del modelo de Datos a la Base de Datos.
El proceso de Migracin a la BD.
Ingeniera Inversa.
Desarrollo de Caso Prctico.
D E L M O D E L O D E D A T O S A L A B A S E D E
D A T O S .
Ingeniera Inversa.
El proceso de ingeniera inversa consiste en transformar una base de datos o en su
defecto un script, a un modelo de objetos, para ello realizaremos el siguiente proceso:
13. hacer clic derecho, y del men contextual, seleccionar Data Modeler, luego
Transform to Object Model.
15. indicar algn tipo de prefijo para las clases, en este caso, no lo usaremos.
Adicionalmente, dejemos activado el check Include Primary Keys.
CAPITULO 8
Publicando una Web de Documentacin.
Examen Final.
P U B L I C A N D O U N A W E B D E D O C U M E N T A C I N .
Desde el Rational Rose, tenemos la posibilidad de poder publica en el internet, una
web con todo nuestro proyecto, de tal manera que podamos compartir con todos los
integrantes del equipo de desarrollo, todos los diagramas que conforman nuestro
proyecto.
3. podemos escoger el tipo de formato que van a tener las imgenes, para ello,
hacer clic en el botn Diagrams.
4. una vez realizados todos los cambios, hacer clic sobre el botn Publish, para
que se inicie el proceso de publicacin, una vez terminado, ir a la carpeta/ruta
especificada y ejecutar el archivo de inicio, luego puede ser enviado al Internet
o el sitio web especificado.
NOTA: Una vez completado el proceso de generacin del web, nos ubicamos en la
carpeta donde se guardo el archivo de inicio HTML, el cual se recomienda, tenga el
siguiente nombre: Index.html. Hacemos doble clic sobre el archivo, e inmediatamente
se abrir una ventana con el Browser que tenga instalado en su equipo (Internet
Explorer, Netscape Navigator, Mozilla, Chrome, FireFox, etc.)
6. Luego, nos ubicamos sobre el paquete que deseamos ver, haciendo un clic
sobre l, tan igual como si fuera un hipervnculo.
N D I C E
Capitulo 1.................................................................................................................... 1
Introduccin al Anlisis y Diseo Orientado a Objetos. ...................................... 2
El Desarrollo de la Estructura del Pensamiento y la Construccin del
Conocimiento ........................................................................................................ 2
La clasificacin es un medio por el cual organizamos el conocimiento. ............. 4
Simulacin. .................................................................................................... 4
Encapsulamiento............................................................................................ 5
Reutilizacion................................................................................................... 5
Conceptos Bsicos ............................................................................................ 6
Encapsulamiento de objetos .......................................................................... 6
Ciclo de Vida del Software. ................................................................................... 9
Sobre los sistemas ...........................................................................................10
Ciclo de Desarrollo ...........................................................................................11
Proceso de desarrollo utilizando UML. .................................................................11
Descripcin del Proceso Actual: El Modelo de Negocios......................................13
Conceptos Fundamentales para Modelar Negocios..........................................13
Estereotipos ..................................................................................................14
Creacin del Modelo en Rational Rose.............................................................15
Capitulo 2...................................................................................................................19
Del Modelo de Negocios al Modelo del Sistema..................................................20
Funcionalidad del Sistema: Use Case Diagram....................................................20
Actor .............................................................................................................21
Caso de uso..................................................................................................21
Tipos de asociacin entre CUs. ...........................................................................22
Comunicacin...................................................................................................23
Generalizacin..................................................................................................24
Inclusin ...........................................................................................................24
Extensin..........................................................................................................25
Como identificar un Actor..................................................................................25
Como identificar un Caso de Uso .....................................................................26
Ventajas de los Casos de Uso ..........................................................................26
Documentando los CUs.......................................................................................27
Creacin del Modelo en Rational Rose.............................................................28
Capitulo 3...................................................................................................................31
Capturando el Modelo de Objetos. .......................................................................32
Uso de: Objetos, Clases, Encapsulamiento, Herencia, Polimorfismo. ..................32
Clase ................................................................................................................32
Atributos ...........................................................................................................32
Operaciones .....................................................................................................33
Notas Adjuntas .................................................................................................34
Diagramas de Clases. ..........................................................................................35
Tipos de Asociacin entre Clases ........................................................................36
Asociacin (Binaria)..........................................................................................36
Clases de Asociacin (Atributos de Enlace)......................................................37
Asociaciones Reflexivas ...................................................................................38
Herencia Y Generalizacin ...............................................................................38
Agregacin / Composicin ................................................................................39