Академический Документы
Профессиональный Документы
Культура Документы
Desarrollo de sistemas orientado a objetos con modelado en UML. 6l final de cada ciclo se integra lo realizado en ese ciclo con lo que %a estaba terminado# 9ormalmente, antes de iniciar el primer ciclo se realiza una fase de conceptualizacin del problema global#
*. +ase de Constr%cci(n.
=bjetivos& Bealizar el dise5o de la solucin al problema estudiado en la fase '# 1onstruir el producto de software +aplicacin informtica, que dar solucin al problema planteado por el usuario
(e divide en ciclos 1ada ciclo contiene < etapas& >odelaje +@eneracin de diagramas % modelos, *mplementacin +-rogramacin del cdigo fuente, -ruebas e integracin +6plicacin de pruebas unitarias % de integracin, -roductos esperados& 4iagramas % modelos& ?>/3Befinamientos +1asos uso, >odelo conceptual, @losario de trminos#, ?>/34iagramas de (ecuencia
Desarrollo de sistemas orientado a objetos con modelado en UML. 4ocumentos& =tros& ?>/31ontratos de las =peraciones ?>/34iagramas de 1olaboracin ?>/34iagrama de 1lases de 4ise5o >odelo de 4atos *nforme del 1iclo i# 0specificacin de 0stndares#
(e deben aplicar& -ruebas de 0jecucin# +$ace lo que el usuario pidi?, -ruebas de Bendimiento# +/o .ace tan eficiente como el usuario lo pidi?, -roductos esperados& 4ocumentos& *nforme Final del -ro%ecto# >anual de ?suario# (oftware ejecutndose en el entorno del cliente#
&. UML en la +ase de Concept%ali'aci(n ) planeacion'# 0ntender el problemas& ?>/ interviene en la creacin de& 1asos de uso& definir las necesidades del cliente# >odelo conceptual& comprender el entorno del problema# @losario de trminos& comprender el entorno del problema# )# -lanear la ejecucin del pro%ecto#
*. UML en la +ase de Concept%ali'aci(n ) planeacion'# 4ise5ar la solucin& 3 6nlisis& ?>/ interviene en la creacin de& 1asos de uso +Formato e7tendido,# 4iagramas de secuencia# 1ontratos de =peraciones# 3 4ise5o& ?>/ interviene en la creacin de& 1asos de uso +reales,# 4iagramas de colaboracin# 4iagramas de clases# )# *mplementar el (oftware#
,. UML en la +ase de Desplie#%e'# 1ertificar el (oftware& ?>/ interviene en la creacin de& 1asos de uso& para pruebas finales# )# -oner en marc.a el software en el cliente#
Casos de Uso. Al#%nas definiciones de casos de %sos'# ?n documento narrativo que describe la secuencia de eventos de un actor +un agente e7terno, que usa un sistema para completar un proceso# )# ?na interaccin t"pica entre un usuario % un sistema de cmputo# <# ?n caso de uso es una descripcin de un proceso de principio a fin#
Caracter$sticas de %n caso de %so 1apta alguna funcin visible para el usuario# -uede ser peque5o o grande#
Desarrollo de sistemas orientado a objetos con modelado en UML. /ogra un objetivo discreto para el usuario#
Al#%nos ejemplos de casos de %so Betirar efectivo de un cajero automtico# Begistrar las carreras que imparte una universidad# (olicitar el env"o de un pedido de productos# Facturar una venta de productos# Begistrar una solicitud de ingreso#
0/0>09A=( 1aso de ?so& 0ncapsula una interaccin usuario3sistema# (u nombre debe estar compuesto por& H*nfinitivo verbalIJH1omplementoI Se representa mediante un valo. 6ctor& 0s una entidad e7terna del sistema que de alguna manera participa en la .istoria del caso de uso# 0stimula al sistema con eventos de entrada o recibe algo de l#
Desarrollo de sistemas orientado a objetos con modelado en UML. /os actores estn representados por el papel que desempe5an en el caso& 1liente, 1ajero, (olicitante, Kendedor, 8odeguero, etc# Se representan mediante una figura estilizada# 6 pesar de que los actores estn representados por figuras .umanas, no es necesario que los actores sean seres .umanos# ?n actor puede ser tambin un sistema e7terno que necesite cierta informacin del sistema actual# Belaciones +actores Lcasos de uso, -ara vincular un caso de uso a un actor basta con agregar un arco entre ambos# /os actores pueden tener varios papeles respecto de un caso de uso& obtener un valor de l o slo participar de l# 0n el segundo caso tiende a ser confuso quin es el verdadero actor vinculado con ese caso de uso# -or ejemplo, en un sistema de ventas, para el caso de uso 0nviar proforma! no se tiene un actor espec"fico que solicite la accin en su propio beneficio +pues a quien en realidad le interesa la proforma es al cliente,# (in embargo, probablemente el actor Kendedor le interese enviarla para obtener una posterior venta por lo que s" e7istir v"nculo# Belaciones +entre casos de uso, (e representan como una l"nea que une a los dos casos de uso relacionados, con una flec.a % una etiqueta entre corc.etes +HH , II,# Aipos de relacin entre casos de uso 07tiende& HHe7tendsII (e usa cuando se tiene un caso de uso que es similar a otro, pero que .ace un poco ms# ?sa& HHusesII (e usa cuando se tiene una porcin de comportamiento que es similar en ms de un caso de uso % se quiere reutilizar#
Modelo Concept%al.
0l paso esencial de un anlisis o investigacin orientado a objetos es descomponer el problema en conceptos u objetos individuales& las cosas que sabemos# ?n modelo conceptual es una representacin de conceptos en un dominio del problema# 1onsiste en un modelo que describe % relaciona los conceptos que intervienen en el entorno del problema# 0l dise5o de un modelo conceptual tiene como fin subra%ar fuertemente los conceptos del dominio, no las entidades del software# ?n modelo conceptual puede mostrar& 1onceptos# 6sociaciones entre conceptos# 6tributos de los conceptos# ?n modelo conceptual es una descripcin del dominio de un problema real, no es una descripcin del dise5o del software, como una clase de Eava o 1JJ!# -or ello, un modelo conceptual no debe incluir& 6rtefactos de software +ventanas, base de datos,#
Desarrollo de sistemas orientado a objetos con modelado en UML. Besponsabilidades o mtodos +operaciones,#
?n concepto, para ser parte de un modelo conceptual, debe tener& ("mbolo& -alabras o imgenes que le representen# *ntensin& 4efinicin propia del concepto# 07tensin& 1onjunto de ejemplos a que puede aplicarse# 1uando se crea un modelo conceptual, por lo general la vista del s"mbolo % de la intensin de un concepto es lo que ms interesa#
0n el anlisis estructurado, la descomposicin se realiza mediante procesos o funciones# 0n el anlisis orientado a objetos, es posible realizar la descomposicin con base en los conceptos del entorno# 0strategias para identificar los conceptos& 0s mejor e7agerar % especificar un modelo conceptual con muc.os conceptos refinados que no especificarlo cabalmente# 9o piense que un modelo conceptual es mejor si tiene pocos conceptos# (e suelen omitir conceptos durante la fase inicial % descubrirlos ms tarde, cuando se e7aminen atributos o asociaciones o durante el dise5o# 1uando se detecten, deben incorporarse al modelo conceptual# 9o e7clu%a conceptos porque los requerimientos no digan que requiera persistencia, o porque carezca de atributos, pues podr"a ser parte importante del comportamiento# 0l error ms frecuente cuando se crea un modelo conceptual es representar algo como atributo, cuando debi .aber sido un concepto# 1mo construir un >odelo 1onceptual? '# /iste los conceptos idneos +utilizando la lista de categor"as % las frases nominales,# )# 4ibDjelos como cajas o rectngulos# <# *ncorpore las asociaciones necesarias para registrar las relaciones# 2# 6gregue los atributos necesarios para cumplir con las necesidades de informacin# 6sociaciones& ?na asociacin es una relacin entre dos conceptos que indica alguna cone7in significativa e interesante entre ellos# 0s conveniente incluir las siguientes asociaciones en un modelo conceptual& /as asociaciones en que el conocimiento de la relacin .a de ser preservado durante algDn tiempo +asociaciones que deben conocerse!,# /as asociaciones provenientes de la /ista de 6sociaciones 1omunes#
Desarrollo de sistemas orientado a objetos con modelado en UML. (in embargo es muc.o ms importante identificar los conceptos que las asociaciones# 0l tiempo consagrado a la creacin del modelo conceptual deber"a destinarse a identificar los conceptos, no las asociaciones# 6sociaciones >Dltiples& -ueden e7istir mDltiples asociaciones entre los mismos conceptos# 6tributos& ?n atributo es un valor lgico de un dato de un objeto# *nclu%a aquellos atributos en que los requerimientos indican o conllevan la necesidad de recordar informacin# 9o se debe incluir como atributo de un concepto el identificador! de un concepto relacionado con l#
3losario de t2rminos.
0s un documento simple en el que se describen los trminos utilizados# -retende mejorar la comunicacin % aminorar el riesgo de malos entendidos# (e crea originalmente en la primera fase del pro%ecto# /uego, se va refinando conforme avanza cada ciclo de desarrollo# Ejemplo: Trmino 1omprar -roductos -roducto Kenta#total & 1antidad -ago Categora 1aso de uso 1oncepto 6tributo 1oncepto Comentarios 4escripcin del proceso de un cliente que compra productos en una tienda ?n producto para venderse en una Aienda 0l gran total de la Kenta ?n pago en efectivo
Desarrollo de sistemas orientado a objetos con modelado en UML. -arte *nferior& +1urso alterno de eventos, 4escribe importantes opciones o e7cepciones que pueden presentarse en relacin con el curso normal# (iguen el formato He7cepcinI HaccinI# (i son complejas, se pueden e7pandir % convertirlas en casos de uso independientes# 1asos 0senciales de ?so& 1ontienen poca tecnolog"a % pocos detalles de implementacin# /as decisiones de dise5o se posponen# ?n caso de este tipo describe el proceso a partir de sus actividades % motivos esenciales# 1onvienen al comenzar a investigar los requerimientos, para entender mejor el alcance del problema % las funciones necesarias# 1asos Beales de ?so 4escriben el proceso a partir de su dise5o concreto actual, sujeto a las tecnolog"as espec"ficas de 0C(# 6 menudo ofrece presentaciones de la pantalla a utilizar en el sistema# (uelen ser Dtiles cuando la plataforma de ejecucin del sistema tenga caracter"sticas peculiares# 0jemplo de caso e7pandido de ?so +0sencial, 1aso de ?so& Betirar 4inero del 1ajero 6utomtico# 6ctores& 1liente# -ropsito& Bealizar un retiro de dinero de una cuenta# Kisin @eneral& ?n cliente llega al cajero automtico, introduce la tarjeta, se identifica % solicita realizar un retiro de dinero# 0l cajero le da el dinero solicitado tras comprobar que la operacin puede realizarse# 0l cliente toma el dinero % se va# Aipo& -rimario % 0sencial Beferencias& Bequerimiento N O 1urso A"pico de 0ventos& 6ccin del 6ctor '# 0ste caso de uso empieza cuando un cliente introduce su tarjeta en el cajero# <# *ntroduce la clave# P# (elecciona la operacin de Betiro O# *ntroduce la cantidad requerida# ':# Becoge el dinero, el recibo % la tarjeta# 1urso 6lternativo& 6ccin del actor /"nea 2& /a clave es incorrecta# /"nea R& 0l saldo no es suficiente#
Bespuesta del (istema )# -ide la clave de identificacin# 2# -resenta las opciones disponibles# Q# -ide la cantidad a retirar# R# -rocesa la peticin %, eventualmente, da el dinero solicitado# G# 4evuelve la tarjeta % genera un recibo# Bespuesta del sistema# (e indica el error % se cancela la operacin# (e indica el error % se cancela la operacin#
Dia#ramas de Sec%encia.
?n diagrama de secuencia muestra grficamente los eventos que flu%en de los actores al sistema# Forma parte del proceso de anlisis# (u creacin depende de la formulacin previa de los casos e7pandidos de uso# -retende e7plicar lo que el sistema .ace pero no cmo lo .ace# 0jes& 0l vertical es el tiempo +flu%e de arriba .acia abajo,# 0n el .orizontal se colocan los objetos %Co actores# 0l sistema % cada actor tienen una l"nea vertical# /os eventos +mensajes, se representan mediante flec.asS pueden incluir parmetros % se ordenan segDn su secuencia en el tiempo# (e suele agregar una nota con el curso normal de eventos del caso de uso e7pandido# 0jemplo&
0l nombre de una operacin debe mostrar el propsito inmediato de sta# (e recomienda que el nombre de los eventos empiece con un infinitivo# /as operaciones deben e7presarse a nivel de propsito % no de implementacin o interfaz#
Desarrollo de sistemas orientado a objetos con modelado en UML. 4escriben el comportamiento de un sistema a partir de cmo cambia el estado de ste cuando se invoca una de sus operaciones# ?n contrato describe lo que una operacin se propone lograr# (e declara enfatizando lo que suceder % no cmo se conseguir# -uede elaborarse un contrato tanto para una operacin del sistema +las del diagrama de secuencias, o para un mtodo de una clase software# (ecciones de un 1ontrato& 9ombre&Hnombre de la operacin % parmetrosI# Besponsabilidades& 4escripcin informal de las responsabilidades debe cumplir la operacin# Aipo&Hsistema, clase softwareI# Beferencias 1ruzadas& Bequerimientos %Co 1asos de ?so# 9otas& 9otas de dise5o, algoritmos e informacin af"n# 07cepciones& 1asos e7cepcionales# (alidas& (alidas at"picas del sistema +por salidas no estndar,# -recondiciones& (uposiciones acerca del estado del sistema# antes de ejecutar la operacin# -oscondiciones& 0l estado del sistema despus de la operacin# 1mo preparar un contrato? '# *dentifique las operaciones del sistema a partir de los diagramas de secuencia# )# 0labore un contrato para cada operacin# <# 1omience redactando las Besponsabilidades# 2# 1omplete luego la seccin de -oscondiciones, describiendo los cambios de estado de los objetos del modelo conceptual# P# -ara describir las poscondiciones utilice las siguientes categor"as& 1reacin % eliminacin de las instancias# >odificacin de los atributos# 6sociaciones formadas % canceladas# -oscondiciones& 0stipulan cmo cambi el sistema tras la operacin# 9o son acciones que deben efectuarse durante la operacin# (on declaraciones sobre el estado del sistema que se aplican una vez concluida la operacin +una vez que se .a%a disipado el .umo,# ?>/ no espec"fica cmo e7presar las poscondiciones& el analista escoge el formato# 0jemplo& 9ombre& introducir -roducto +1?-& nDmero, cantidad& entero, Besponsabilidades& Begistrar la venta de un producto % agregarla a la venta total# 4esplegar la descripcin % el precio del producto# Aipo& (istema# Beferencias 1ruzadas& Beq#', < % 2 1aso de ?so 1omprar -roductos 9otas& Aomar en cuenta el uso de cdigos de barras 07cepciones& (i el 1?- no est registrado, indicar el error# (alidas& -recondiciones& 0l sistema conoce el 1?-# -oscondiciones& T (i se trata de una nueva venta, se cre una Kenta +creacin de instancia,# T (i se trata de una nueva venta, la nueva Kenta fue asociada al -unto 4e Kenta +asociacin formada,#
Desarrollo de sistemas orientado a objetos con modelado en UML. T (e cre una instancia /"nea4e4etalle +creacin de instancia,# T (e asoci una instancia /"nea4e4etalle a la Kenta +asociacin formada,# T (e asign cantidad a /inea4e4etalle#cantidad +modificacin de atributo, T (e asoci una instancia /inea4e4etalle a la instancia 0specificacion4e-roducto, basado esto en la correspondencia del 1?-+asociacin formada,
Dia#ramas de Colaboraci(n.
4iagramas de *nteraccin& (e realizan durante el dise5o de cada ciclo de desarrollo# (on diagramas que e7plican grficamente cmo los objetos interactDan a travs de mensajes para realizar las tareas# 0l punto de partida de las interacciones es el cumplimiento de las poscondiciones de los contratos de operaciones# Bequieren la previa creacin de& >odelo 1onceptual& 6 partir de ste, el dise5ador podr definir las clases software correspondiente a los conceptos# 1ontratos de las =peraciones& 6 partir de ellos, el dise5ador identifica las responsabilidades % las poscondiciones que .an de llenar los diagramas de interaccin# 1asos Beales de ?so& 6 partir de ellos, el dise5ador recaba informacin sobre las tareas que realizan los diagramas de interaccin (on mu% importantes en la asignacin de responsabilidades % el dise5o de la colaboracin entre los objetos# /os diagramas de interaccin constitu%en uno de los artefactos ms importantes que se generan en el anlisis % en el dise5o orientado a objetos# 07isten dos tipos& '# 4iagramas de 1olaboracin& 4escriben las interacciones entre los objetos en un formato de grafo o red#
)# 4iagramas de (ecuencia& 4escriben las interacciones entre los objetos en un formato de cerca o muro#
1mo preparar un 4iagrama de 1olaboracin? '# 0labore un diagrama por cada operacin del sistema durante el ciclo actual de desarrollo# )# 4ise5e un sistema de objetos interactivos que realicen las tareas, usando como punto de partida las responsabilidades % poscondiciones del contrato de operacin % la descripcin de casos de uso# 0jemplo&
Belacin entre artefactos& 1asos de ?so +eventos del sistema, 4iagrama de (ecuencia# 1ontratos +operaciones del sistema,# 4iagrama de colaboracin +mensajes entre objetos internos del sistema,# 1lases e *nstancias& 9ombre del tipo subra%ado % precedido por dos puntos#
>ensajes& (e representan por medio de una flec.a con un nombre % situada sobre un v"nculo# (e agrega un consecutivo que indica el orden de los mensajes#
-armetros& (e anotan dentro de parntesis, despus del nombre del mensaje# 0s opcional incluir o no el tipo de parmetro en cuestin#
Betorno de valores& -uede incluirse un valor de retorno, ante ponindole al mensaje un nombre de variable % un operador de asignacin +&U,# 0s opcional mostrar el tipo de valor de retorno#
>ensajes a t.is!& ?n objeto puede enviarse un mensaje a s" mismo# (e representa con un v"nculo a s" mismo, pues el mensaje flu%e por el v"nculo#
*teraciones& (e indica posponiendo un asterisco +V, al nDmero de secuencia# Aambin es posible incluir una clusula de iteracin que indique los valores de recurrencia#
1ondicionales& (e indican posponiendo al nDmero de secuencia una clusula condicional entre corc.etes# 0l mensaje slo se env"a si la clusula se env"a como verdadera#
1ondicionales mutuamente e7clu%ente& (e utilizan letras minDsculas +a,b,c,###, despus del nDmero de secuencia para indicar la e7clusividad entre los posibles caminos#
Dia#rama de Clases.
?na vez que se tienen los diagramas de interaccin, se procede a definir las clases software que conforman el sistema# (u elaboracin requiere previamente& 4iagramas de *nteraccin& -ara identificar las clases % los mtodos#
Desarrollo de sistemas orientado a objetos con modelado en UML. >odelo 1onceptual& -ara agregar detalles a la definicin de las clases#
1undo elaborarlo? 6 pesar de que se supone que deben .acerse despus de los diagramas de interaccin, en la prctica se realizan en forma paralela# Bepresenta el cierre del dise5o de la aplicacin# -or ejemplo, conforme se dise5a el diagrama de colaboracin, van apareciendo los mtodos que estarn contenidos dentro de las clases#
0l diagrama de clases describe grficamente las especificaciones de las clases de software en una aplicacin# 9ormalmente contiene& 1lases# 6tributos# >todos# 6sociaciones# 9avegabilidad# 4ependencias# 6sociaciones de $erencia& (e dan cuando varias clases poseen atributos %Co mtodos en comDn /as subclases .eredan parte de las caracter"sticas de la superclase# 6unque las bases de datos orientadas a objetos no tuvieron muc.o 7ito, suele ser Dtil para a%udar a definir partes del modelo de datos relacional de un sistema# 0jemplo de .erencia&
6sociaciones de 6gregacin& *ndican que un objeto de una clase puede estar conformado por uno o varios objetos de otra clase#
/a agregacin requiere que& ?n objeto de la clase 6 pueda estar formado por varios objetos de la clase 8# ?n objeto de la clase 8 slo e7iste en el conte7to de un objeto de la clase 6 +debe e7istir un objeto a&6,#
0jemplos de agregaciones&