Anda di halaman 1dari 26

Ing.

Henry Crdova Objetos Cuarto Ciclo

Anlisis y Diseo Orientado a

UNIDAD N 1 1. CONCEPTOS Y PRINCIPIOS ORIENTADOS A OBJETOS 1.1. EL PARADIGMA ORIENTADO A OBJETOS QUE ES UN PARADIGMA? Procede del griego paradeigma, que significa ejemplo, modelo, mtodo. QUE ES LA ORIENTACIN A OBJETOS? puede describirse como el conjunto de disciplinas que desarrollan y modelizan software que facilitan la construccin de sistemas complejos a partir de componentes. Durante muchos aos el trmino Orientado a Objetos (OO) se us para referirse a un enfoque de desarrollo de software que usaba uno de los lenguajes orientados a objetos (Ada 95, C++, Eiffel, Smalltalk, etc.). En el libro The Structure of Scientific Revolutions, el historiador Thomas K describa un paradigma como un conjunto de teoras, estndar y mtodos que juntos representan un medio de organizacin del conocimiento: es decir, un medio de visualizar el mundo. En este sentido, la programacin orientada a objetos es un nuevo paradigma. La orientacin a objetos fuerza a reconsiderar nuestro pensamiento sobre la computacin, sobre lo que significa realizar computacin y sobre cmo se estructura la informacin dentro de la computadora. Jenkins y Glasgow observan que la mayora de los programadores trabajan en un lenguaje y utilizan slo un estilo de programacin. Ellos programan en un paradigma forzado por el lenguaje que utilizan. Con frecuencia, no se enfrentan a mtodos alternativos de resolucin de un problema, y por consiguiente tienen dificultad en ver la ventaja de elegir un estilo ms apropiado al problema a manejar. Bobrow y Stefik sugieren que existen cuatro clases de estilos de programacin: Orientados a procedimientos: Algoritmos. Orientados a objetos: Clases y Objetos. Orientados a lgica: Expresado en clculo de predicados. Orientados a reglas: Reglas if-then. No existe ningn estilo de programacin idneo para todas las clases de programacin. La orientacin a objetos se acopla a la simulacin de situaciones del mundo real. 1.2. CLASES Y OBJETOS Una clase es un concepto OO que encapsula las abstracciones de datos y procedimientos que se requieren para describir el contenido y comportamiento de alguna entidad del mundo real. Cada objeto es un elemento nico de la clase en la que se basa. Si una clase es como un molde, entonces un objeto es lo que se crea a partir del molde. La clase es la definicin de un elemento; el objeto es el elemento. Las funcin principal de una clase es que define las caractersticas de un conjunto de objetos que comparten algunas caractersticas como:

Pgina 1 de 26

Ing. Henry Crdova Anlisis y Diseo Orientado a Objetos Cuarto Ciclo almacenar los mismos tipos de datos y pueden ejecutar las mismas operaciones. Por definicin, todos los objetos que existen dentro de una clase heredan sus atributos y las operaciones disponibles para la manipulacin de los atributos.

1.2.1. IDENTIFICACIN DE CLASES Y OBJETOS Cuando se observa el espacio de un problema en una aplicacin software, los objetos pueden ser relativamente difciles de identificar. Se puede empezar a identificar objetos examinando el planteamiento del problema, realizando un anlisis sintctico gramatical en la narrativa del sistema que se va a construir. Los Objetos se determinan subrayando cada nombre o clausula nominal (Nombres Propios). Los sinnimos deben descartarse. Los objetos se manifiestan ellos mismos de alguna manera y pueden ser catalogados en:

Entidades Externas que producen o consumen informacin a usar por un sistema computacional. Por ejemplo: otros sistemas, dispositivos, personas. Cosas que son parte del dominio de informacin del problema. Por ejemplo: informes, presentaciones, cartas, seales. Cosas: (informes, presentaciones, cartas, seales, avin, auto...). Que son parte del dominio de informacin del problema. Ocurrencias o Sucesos que ocurren dentro del contexto de una operacin del sistema. Por ejemplo: una transferencia de propiedad o la terminacin de una serie de movimientos en un robot. Papeles o Roles desempeados por personas que interactan con el sistema. Por ejemplo: director, ingeniero, vendedor. Unidades Organizacionales que son relevantes en una aplicacin. Por ejemplo: divisin, grupo, equipo. Lugares que establecen el contexto del problema y la funcin general del sistema. Por ejemplo: planta de produccin o muelle de carga.
Pgina 2 de 26

Ing. Henry Crdova Anlisis y Diseo Orientado a Objetos Cuarto Ciclo Estructuras que definen una clase de objetos o, en casos extremos, clases relacionadas de objetos. Por ejemplo: sensores, vehculos de cuatro ruedas o computadoras.

Existen Seis caractersticas que deben ser usadas para incluir a un objeto en el modelo de anlisis: Informacin retenida el objeto potencial ser de utilidad durante el anlisis solamente si la informacin acerca de l debe recordarse para que el sistema funcione. Servicios necesarios el objeto potencial debe poseer un conjunto de operaciones identificables que pueden cambiar de alguna manera el valor de sus atributos. Atributos mltiples durante el anlisis de requisitos, se debe centrar la atencin en la informacin principal (un objeto con un solo atributo puede, en efecto, ser til durante el diseo, pero seguramente ser mejor presentado como un atributo de otro objeto durante la actividad de anlisis). Atributos comunes puede definirse un conjunto de atributos para el objeto potencial, los cuales son aplicables a todas las ocurrencias del objeto. Operaciones comunes puede definirse un conjunto de operaciones para el objeto potencial, las cuales son aplicables a todas las ocurrencias del objeto. Requisitos esenciales son entidades externas que aparecen en el espacio del problema y producen o consumen informacin esencial para la produccin de cualquier solucin para el sistema, sern casi siempre definidas como objetos en el modelo de requisitos. NOTA: El objeto debe cumplir todas o casi todas de las caractersticas anteriores para ser considerado un objeto vlido.

Pgina 3 de 26

Ing. Henry Crdova Objetos Cuarto Ciclo

Anlisis y Diseo Orientado a

DEBE TENERSE EN CUENTA QUE: 1) la lista anterior no incluye todo, hay que aadir objetos adicionales para completar el modelo; (2) algunos de los objetos potenciales rechazados sern atributos de los objetos aceptados (por ejemplo, nmero y tipo son atributos de sensor, y contrasea maestra y nmero de telfono pueden convertirse en atributos de sistema); y (3) diferentes descripciones del problema pueden provocar la toma de diferentes decisiones de aceptacin o rechazo (por ejemplo, si cada propietario tiene su propia contrasea o fue identificado por impresiones de voz, el objeto Propietario cumplira las caractersticas a y b y habra sido aceptado). TRABAJO N 1 EN CLASE: ESCOGER UN SISTEMA CUALQUIERA (FACTURACIN, ROL DE PAGOS, ETC.), OBTENER 10 SUSTANTIVOS QUE SEAN POSIBLES OBJETOS PARA EL SISTEMA ELEGIDO, CLASIFICAR LOS OBJETOS SEGN COMO USTED LO CATALOGUE Y REALIZAR LA VERIFICACIN SI ES O NO UN OBJETO REAL PARA EL SISTEMA ELEGIDO. 1.3. ATRIBUTOS Los atributos describen un objeto que ha sido seleccionado para ser incluido en el modelo de anlisis. Los atributos son caractersticas de una clase u objeto, que representan las propiedades o elementos de informacin interna de dicho elemento y que ellos describen la clase o el objeto de alguna manera. 1.3.1. ESPECIFICACIN DE ATRIBUTOS Para desarrollar un conjunto de atributos el analista puede estudiar la narrativa de proceso para el problema y seleccionar aquellos elementos que razonablemente pertenecen al objeto. Para cada objeto responderse la siguiente pregunta: Qu elementos definen completamente el objeto en el contexto del problema actual? Para una Clase Cliente los atributos fueran: NombredelCliente y DireccindelCliente pueden ser atributos.

Pgina 4 de 26

Ing. Henry Crdova Objetos Cuarto Ciclo

Anlisis y Diseo Orientado a

1.4. OPERACIONES, MTODOS Y SERVICIOS Las operaciones son caractersticas de una clase u otro elemento que representan el comportamiento o los servicios que soportan un elemento. Un objeto encapsula datos y los algoritmos que procesan estos datos. Estos algoritmos son llamados Operaciones, mtodos o servicios. 1.4.1. IDENTIFICACIN DE OPERACIONES Las operaciones definen el comportamiento de un objeto y cambian, de alguna manera, los atributos de dicho objeto. Ms correctamente, una operacin cambia valores de uno o ms atributos contenidos en el objeto. Aunque existen muchos tipos diferentes de operaciones, estas pueden clasificarse en tres grandes categoras: 1) Operaciones que manipulan, de alguna manera, datos, 2) operaciones que realizan algn calculo y 3)operaciones que motorizan un objeto frente a la ocurrencia de un suceso de control Para una clase Empleado, RegistrarNombreDelEmpleado y ObtenerEdadDelEmpleado pueden ser Operaciones.

1.4.2. FIN DE LA DEFINICIN DEL OBJETO La definicin de operaciones es el ltimo paso para completar la especificacin del objeto. Las operaciones se eligieron a partir de un examen gramatical de la narrativa del proceso del sistema. Las operaciones adicionales pueden determinarse considerando la historia de la vida de un objeto definidos por el sistema.

Pgina 5 de 26

Ing. Henry Crdova Anlisis y Diseo Orientado a Objetos Cuarto Ciclo La historia de la vida genrica de un objeto puede definirse reconociendo que dicho objeto deber ser creado, modificado, manipulado o ledo de manera diferente, y posiblemente borrado. Para el objeto Sistema, eso puede expandirse para reflejar actividades conocidas que La definicin del objeto resultante se muestra en la figura siguiente:

1.5. ENCAPSULAMIENTO, HERENCIA, POLIMORFISMO Encapsulamiento El encapsulamiento es una tcnica para empaquetar la informacin, envolviendo los atributos y mtodos de los objetos en clases, de tal forma que se oculte lo que debe ocultarse y haga visible lo que est pensado para serlo. Con esto se trata de lograr que al tener algn cambio en la implementacin de un objeto no se tengan que modificar los programas que utilizan tal objeto. Poniendo con ejemplo un automvil, se sabe que existen diversos mecanismos para que funcione ste, en particular se tiene el sistema de frenado que todo mundo sabe que sirve para detener el auto al pisar el pedal de freno, pero slo el mecnico sabe los detalles de la implementacin. Por otro lado, si en algn momento se cambia, para el conductor es transparente. Herencia La herencia es uno de los conceptos ms cruciales en la OO. La herencia bsicamente consiste en que una clase puede heredar sus atributos y acciones o mtodos a varias subclases (la clase que hereda es llamada superclase o clase padre). Esto significa que una subclase, aparte de los atributos y mtodos propios, tiene incorporados los atributos y mtodos heredados de la superclase. De esta manera se crea una jerarqua de herencia. Por ejemplo, imaginemos que estamos haciendo el anlisis de un Sistema para una tienda que vende y repara equipos celulares.
Pgina 6 de 26

Ing. Henry Crdova Objetos Cuarto Ciclo

Anlisis y Diseo Orientado a

En el grfico vemos 2 Clases ms que posiblemente necesitemos para crear nuestro Sistema. Esas 2 Clases nuevas se construirn a partir de la Clase Celular existente. De esa forma utilizamos el comportamiento de la SuperClase. Polimorfismo El polimorfismo se refiere a la posibilidad de definir mltiples clases con funcionalidad diferente, pero con mtodos o propiedades denominados de forma idntica, que pueden utilizarse de manera intercambiable o diferente mediante cdigo de programacin en tiempo de ejecucin. TRABAJO N 2 EN CLASE: OBTENER Y DESCRIBIR EL ENCAPSULAMIENTO, HERENCIA Y POLIMORFISMO DE LOS SIGUIENTES OBJETOS: PERSONA, ELECTRODOMSTICO, VEHCULOS, ANIMALES. 2. UNIDAD N 2 PROCESO DE ANLISIS ORIENTADO A OBJETOS (UML)

2.1. DEFINICIN DEL DOMINO El trmino anlisis de dominio tiene su origen en los comienzos de la dcada de los 80, que es, "el proceso por el cual la informacin utilizada para el desarrollo de sistemas software se identifica, captura y organiza con el fin de hacerla reutilizable en la creacin de nuevos sistemas". Esta definicin nos permite identificar las principales caractersticas del anlisis de dominio: a) Se trata de una disciplina orientada a la captura y gestin de informacin y conocimiento. b) Pretende abstraer los aspectos que describen y caracterizan un rea de actividad o proceso, es decir, un "dominio" especfico. c) Parte de un conjunto de sistemas software existentes. d) Tiene como objetivo identificar informacin que pueda reutilizarse en el diseo de futuros sistemas.
Pgina 7 de 26

Ing. Henry Crdova Objetos Cuarto Ciclo

Anlisis y Diseo Orientado a

En relacin al tercer punto, debemos recordar que al hablar de software se hace referencia no slo a los programas informticos propiamente dichos, sino tambin a toda la documentacin generada durante su especificacin y diseo, y a la que se usar para la operacin, mantenimiento y uso del sistema. Sealaremos tambin que en la prctica, y en las distintas metodologas que se han formulado para el anlisis de dominio el proceso de captura de informacin y conocimiento no se limita exclusivamente a los datos disponibles en documentos y aplicaciones informticas; tambin se propone utilizar entrevistas, juicio experto, etc. La principal caracterstica del anlisis de dominio es que su alcance no se restringe a la captura de la informacin necesaria para la resolucin de un problema en particular, identificado para un grupo de usuarios determinados (como sucede con las tcnicas y metodologas aplicadas en el diseo de aplicaciones informticas). El anlisis de dominio tiene una pretensin mayor: capturar y sistematizar el conocimiento en el que se basaran todas las aplicaciones informticas diseadas para satisfacer un escenario general, para cualquier comunidad de usuarios. Por ejemplo, si se disea un sistema de informacin automatizado para gestionar la red de vehculos de una empresa, estaremos haciendo un anlisis de una aplicacin informtica singular; frente a esto, el anlisis de dominio buscara respuesta a la pregunta: qu informacin y conocimiento es aplicable a la gestin de redes de vehculos de cualquier empresa? Cul es la mejor forma de representar este conocimiento para poder utilizarlo posteriormente en la creacin de sistemas informticos que satisfagan las necesidades de cualquier organizacin que opere en este mbito de actividad? 2.2. CASOS DE USOS Qu son los Casos de Uso? Los casos de uso son una tcnica para especificar el comportamiento de un sistema: Un caso de uso es una secuencia de interacciones entre un sistema y alguien o algo que usa alguno de sus servicios. Todo sistema de software ofrece a su entorno aquellos que lo usan una serie de servicios. Un caso de uso es una forma de expresar cmo alguien o algo externo a un sistema lo usa. Cuando decimos alguien o algo hacemos referencia a que los sistemas son usados no slo por personas, sino tambin por otros sistemas de hardware y software. Por ejemplo, un sistema de ventas, si pretende tener xito, debe ofrecer un servicio para ingresar un nuevo pedido de un cliente. Cuando un usuario accede a este servicio, podemos decir que est ejecutando el caso de uso ingresando pedido Siguiendo con nuestro ejemplo anterior, nuestro sistema de ventas tendr un evento Cliente hace Pedido. En este caso el sistema deber responder al estimulo que recibe el pedido procesndolo.
Pgina 8 de 26

Ing. Henry Crdova Objetos Cuarto Ciclo

Anlisis y Diseo Orientado a

Sin embargo, existen algunas diferencias entre los casos de uso y los eventos. Las principales son: 1) Los eventos se centran en describir qu hace el sistema cuando el evento ocurre, mientras que los casos de uso se centran en describir cmo es el dilogo entre el usuario y el sistema. 2) Los eventos son atmicos: se recibe una entrada, se la procesa, y se genera una salida, mientras que los casos de uso se prolongan a lo largo del tiempo mientras dure la interaccin del usuario con el sistema. De esta forma, un caso de uso puede agrupar a varios eventos. 3) Para los eventos, lo importante es qu datos ingresan al sistema o salen de l cuando ocurre el evento (estos datos se llaman datos esenciales), mientras que para los casos de uso la importancia del detalle sobre la informacin que se intercambia es secundaria. 2.3. DIAGRAMAS DE CASOS DE USO Objetivo de los Diagramas de casos de uso Los diagramas de casos de uso documentan el comportamiento de un sistema desde el punto de vista del usuario Por tanto los casos de uso determinan los requisitos funcionales del sistema: Representan las funciones que un sistema puede ejecutar Se pueden usar durante las siguientes fases del desarrollo: Captura de requisitos. Planificacin de iteraciones de desarrollo. Validacin del sistema. Su ventaja principal es la facilidad para interpretarlos, lo que hace que sean especialmente tiles en la comunicacin con el cliente. Lmites del sistema Es til dibujar los lmites del sistema cuando se pretende hacer un diagrama de casos de uso para parte del sistema

Pgina 9 de 26

Ing. Henry Crdova Objetos Cuarto Ciclo

Anlisis y Diseo Orientado a

Elementos de un Diagrama de un Caso de Uso Actor:

Una definicin previa, es que un Actor es un rol que un usuario juega con respecto al sistema. Es importante destacar el uso de la palabra rol, pues con esto se especifica que un Actor no necesariamente representa a una persona en particular, sino ms bien la labor que realiza frente al sistema. Como ejemplo a la definicin anterior, tenemos el caso de un sistema de ventas en que el rol de Vendedor con respecto al sistema puede ser realizado por un Vendedor o bien por el Jefe de Local. Identificacin de los Actores Los actores ms sencillos de identificar son los usuarios humanos del sistema Pero tambin pueden ser actores, entre otros: Otros sistemas informticos Unidades organizativas / empresas Siempre hay que intentar independizar los actores de la forma en que se interacta con el sistema. Por ejemplo: un teclado no es un actor en la mayor parte de los casos, slo un medio para introducir informacin al sistema Suele ser til mantener una lista de los usuarios reales para cada actor Caso de Uso:

Pgina 10 de 26

Ing. Henry Crdova Objetos Cuarto Ciclo

Anlisis y Diseo Orientado a

Es una operacin/tarea especfica que se realiza tras una orden de algn agente externo, sea desde una peticin de un actor o bien desde la invocacin desde otro caso de uso. Relaciones: Existen tres tipos de asociaciones o relaciones en los diagramas de casos de uso:

Generaliza Incluye Extiende

Generalizacin (generalization): es una relacin que ampla la funcionalidad de un Caso de Uso o refina su funcionalidad original mediante el agregado de nuevas operaciones y/o atributos y/o secuencias de acciones. Inclusin (include): Se puede incluir una relacin entre dos casos de uso de tipo include si se desea especificar comportamiento comn en dos o ms casos de uso. En el diagrama, se indica mediante una flecha a trazos y abierta, como en este ejemplo:

Extensin (extend): Se puede incluir una relacin entre dos casos de uso de tipo extend si se desea especificar diferentes variantes del mismo caso de uso Dicho de otra forma, la relacin extend implica que el comportamiento de un caso de uso es diferente dependiendo de ciertas circunstancias En principio, esas variaciones pueden tambin mostrarse como diferentes descripciones de escenarios asociadas al mismo caso de uso

Pgina 11 de 26

Ing. Henry Crdova Objetos Cuarto Ciclo

Anlisis y Diseo Orientado a

Descripcin de los Casos de Uso Los casos de uso se documentan con texto informal. En general, se usa una lista numerada de los pasos que sigue el actor para interactuar con el sistema. A continuacin se muestra una parte simplificada de la descripcin del caso de uso Ingresando Pedido.

Durante la ejecucin de un caso de uso, suelen aparecer errores o excepciones. Por ejemplo, mientras se ingresa un pedido, el cliente puede solicitar un producto que est discontinuado. El sistema deber en este caso informar esta situacin al empleado que ingresa el pedido. Esas desviaciones del curso normal del caso de uso se llaman alternativas. Las alternativas tienen las siguientes caractersticas: 1) Representan un error o excepcin en el curso normal del caso de uso. 2) No tienen sentido por s mismas, fuera del contexto del caso de uso en el que ocurren. Si bien en la bibliografa las alternativas se documentan al final del caso de uso, la experiencia demuestra que resulta til documentar los casos en tablas, mostrando el curso principal en la primera columna, y las alternativas en una segunda columna, como lo muestra el siguiente ejemplo:

Pgina 12 de 26

Ing. Henry Crdova Objetos Cuarto Ciclo

Anlisis y Diseo Orientado a

De esta forma, es mucho ms simple ver en qu parte del caso de uso puede ocurrir la excepcin, y se mantiene la ventaja de poder leer de corrido el curso normal. 2.4. ESPECIFICACIN DE JERARQUAS Y ESTRUCTURAS Se deriva una estructura de generalizacin-especializacin para las clases identificadas. Un objeto puede estar compuesto de un nmero de partes las cuales pueden definirse a su vez como objetos. Estos objetos agregados pueden representarse como estructura todo-partes. Las representaciones estructurales proveen al analista de los medios para particionar el modelo CRC (Tarjetero de clases) y para representar esta particin grficamente. 2.5. DIAGRAMAS DE SECUENCIA Es una herramienta de UML que permite describir grficamente el orden temporal de las interacciones entre distintos entes relacionados con el desarrollo de un sistema software. El diagrama de secuencia es uno de los diagramas ms efectivos para modelar interaccin entre objetos en un sistema. Un diagrama de secuencia muestra la interaccin de un conjunto de objetos en una aplicacin a travs del tiempo y se modela para cada mtodo de la clase, el diagrama de secuencia contiene detalles de implementacin del escenario, incluyendo los objetos y clases que se usan para implementar el escenario, y mensajes intercambiados entre los objetos. Un diagrama de secuencia muestra los objetos que intervienen en el escenario con lneas discontinuas verticales, y los mensajes pasados entre los objetos como flechas horizontales.
Pgina 13 de 26

Ing. Henry Crdova Objetos Cuarto Ciclo

Anlisis y Diseo Orientado a

Existen dos tipos de mensajes: sncronos y asncronos. Los mensajes sncronos se corresponden con llamadas a mtodos del objeto que recibe el mensaje. El objeto que enva el mensaje queda bloqueado hasta que termina la llamada. Este tipo de mensajes se representan con flechas con la cabeza llena. Los mensajes asncronos terminan inmediatamente, y crean un nuevo hilo de ejecucin dentro de la secuencia. Se representan con flechas con la cabeza abierta. Tambin se representa la respuesta a un mensaje con una flecha discontinua. Los mensajes se dibujan cronolgicamente desde la parte superior del diagrama a la parte inferior; la distribucin horizontal de los objetos es arbitraria. Durante el anlisis inicial, el modelador tpicamente coloca el nombre 'business' de un mensaje en la lnea del mensaje. Ms tarde, durante el diseo, el nombre 'business' es reemplazado con el nombre del mtodo que est siendo llamado por un objeto en el otro. El mtodo llamado, o invocado, pertenece a la definicin de la clase instanciada por el objeto en la recepcin final del mensaje.

: Encargado

:WInPrstamos

:Socio

:Video

:Prstamo

prestar(video, socio) verificar situacin socio verificar situacin video registrar prstamo entregar recibo

Pgina 14 de 26

Ing. Henry Crdova Objetos Cuarto Ciclo 2.6. EL MODELO OBJETO RELACIN

Anlisis y Diseo Orientado a

Diagramas de clases UML Las relaciones existentes entre las distintas clases nos indican cmo se comunican los objetos de esas clases entre s: Los mensajes navegan por las relaciones existentes entre las distintas clases. Asociacin Una asociacin es una relacin estructural que describe una conexin entre objetos. Grficamente, se muestra como una lnea continua que une las clases relacionadas entre s. Navegacin de las asociaciones Aunque las asociaciones suelen ser bidireccionales (se pueden recorrer en ambos sentidos), en ocasiones es deseable hacerlas unidireccionales (restringir su navegacin en un nico sentido). Grficamente, cuando la asociacin es unidireccional, la lnea termina en una punta de flecha que indica el sentido de la asociacin: Asociacin unidireccional Asociacin bidireccional Multiplicidad de las asociaciones La multiplicidad de una asociacin determina cuntos objetos de cada tipo intervienen en la relacin: El nmero de instancias de una clase que se relaciona con UNA instancia de la otra clase. - Cada asociacin tiene dos multiplicidades (una para cada extremo de la relacin). - Para especificar la multiplicidad de una asociacin hay que indicar lamultiplicidad mnima y la multiplicidad mxima (mnima...Mxima) 3. Multiplicidad Significado

- Cuando la multiplicidad mnima es 0, la relacin es opcional.


Pgina 15 de 26

Ing. Henry Crdova Anlisis y Diseo Orientado a Objetos Cuarto Ciclo - Una multiplicidad mnima mayor o igual que 1 establece una relacin obligatoria. 3.1. DIAGRAMAS DE COLABORACIN Muestra lo mismo que un diagrama de secuencia cmo interaccionan los objetos dentro de un Caso de Uso. A diferencia de un diagrama de secuencia no hay referencia a una serie temporal Su propsito es mostrar la topologa del proceso distribuido entre los distintos objetos 1Los objetos estn conectados por enlaces (links) en los cuales se representan los mensajes enviados acompaados de una flecha que indica su direccin. El Diagrama de Colaboracin ofrece una mejor visin del escenario cuando el analista est intentando comprender la participacin de un objeto en el sistema
:Socio

:Video 2: v erificar situacin socio

1: prestar(v ideo, socio) :WInPrstamos 5: entregar recibo : Encargad o

3: v erificar situacin v ideo

4: registrar prstamo

:Prstamo

3.2. EL MODELO OBJETO COMPORTAMIENTO El modelo objeto- Comportamiento indica cmo responder un sistema orienta a eventos externos o estmulos. Para crear el modelo, el analista debe ejecutar los siguientes pasos. 1. Evaluar todos los casos de uso para comprender totalmente la secuencia de interaccin dentro del sistema. 2. Identificar eventos que dirigen la secuencia de interaccin y comprender cmo estos eventos se relacionan con objetos especficos. 3. Crear una traza de eventos para cada caso de uso. 4. Construir un diagrama de transicin de estados para el sistema.

Pgina 16 de 26

Ing. Henry Crdova Anlisis y Diseo Orientado a Objetos Cuarto Ciclo 5. Revisar el modelo objeto- comportamiento para verificar exactitud y consistencia. Identificacin de eventos con casos de uso. El caso de uso representa una secuencia de actividades que incluyen a actores al sistema. En general, un evento ocurre cada vez que un sistema orientado a objetos y un actor (recuerde que un actor puede ser una persona, un dispositivo incluso un sistema externo) intercambian informacin. Esto, es un evento, no es la informacin que se intercambia, es el hecho que la informacin ha sido intercambiada. 3.3. DIAGRAMAS DE ACTIVIDADES Un Diagrama de Actividad est organizado de acuerdo con las actividades. Normalmente, estos diagramas se utilizan para especificar o detallar la secuencia de pasos que se ejecutan en un mtodo, o un caso de uso o un flujo del negocio. Representacin de diagramas de actividad En un diagrama de actividad, un paso o accin se representa como un rectngulo de esquinas redondeadas, en el cual se inscribe el nombre o la descripcin del paso o accin. Las transiciones entre pasos se representan con flechas, el inicio de una accin se representa con un crculo pintado, en cambio el final de las acciones se representa con un crculo pintado con otro crculo alrededor.

Las condiciones o decisiones se representan por un rombo -diamante-, con mltiples flechas de salida -tantas como posibilidades haya-, que debern estar etiquetadas en forma tal que constituyan una descripcin clara de las alternativas.

Cuando es necesario representar acciones que se cumplen en forma concurrente, pueden utilizarse mltiples flechas que entran o salen de la barra de sincronizacin.

Pgina 17 de 26

Ing. Henry Crdova Objetos Cuarto Ciclo

Anlisis y Diseo Orientado a

En muchas oportunidades es necesario representar las responsabilidades de la ejecucin del paso, lo cual puede hacerse organizando las actividades en regiones distintas, separadas por lneas en el diagrama. Debido a su aspecto, estas separaciones se denominan Carriles (Swim Lanes).

Utilizacin de los diagramas de actividad Los diagramas de actividad, como al inicio mencionramos, son de gran utilidad para complementar la especificacin de un use case.

Muchos ingenieros de sistemas prefieren la descripcin grfica que brinda el diagrama de actividad al texto o al pseudocdigo que describe un use case
Pgina 18 de 26

Ing. Henry Crdova Anlisis y Diseo Orientado a Objetos Cuarto Ciclo que, en muchas oportunidades puede resulta difcil de leer un grfico vale por mil palabras.

3.4. DIAGRAMA DE ESTADOS Un diagrama de estados es un diagrama utilizado para identificar cada una de las rutas o caminos que puede tomar un flujo de informacin luego de ejecutarse cada proceso. Permite identificar bajo qu argumentos se ejecuta cada uno de los procesos y en qu momento podran tener una variacin. El diagrama de estados permite visualizar de una forma secuencial la ejecucin de cada uno de los procesos. Un Diagrama de Estados muestra la secuencia de estados por los que pasa bien un caso de uso, bien un objeto a lo largo de su vida, o bien todo el sistema. En l se indican qu eventos hacen que se pase de un estado a otro y cules son las respuestas y acciones que genera. Descripcin bsica de los Estados Cada objeto est en un estado en un cierto Instante. El estado est caracterizado parcialmente por los valores de los atributos del objeto. El estado en el que se encuentra un objeto caracteriza sus condiciones dinmicas. Notacin bsica de un estado:

Pgina 19 de 26

Ing. Henry Crdova Anlisis y Diseo Orientado a Objetos Cuarto Ciclo Los estados inicial y final estn diferenciados del resto y se notan de manera distinta:

Una transicin puede contener, opcionalmente, los siguientes elementos: Evento Guarda Accin Las transiciones son las lneas que unen los diferentes estados

Un diagrama de estado representa el ciclo de vida de un objeto: los eventos que le ocurren, sus transiciones, y los estados que median entre estos eventos. En particular, es til hacer diagramas de estado para describir la secuencia permitida de eventos en los casos de uso. Por ejemplo, en el caso de uso comprarProductos no est permitido efectuar pagoTarjeta mientras no haya ocurrido el evento terminarVenta. Un diagrama de estado que describe los eventos globales del sistema y su secuencia en un caso de uso es un diagrama de estado para casos de uso. Por ejemplo, una versin simplificada del diagrama de estados para el caso de uso comprarProductos es el siguiente:

Una versin ms completa del diagrama anterior se muestra en la siguiente figura:

Pgina 20 de 26

Ing. Henry Crdova Objetos Cuarto Ciclo

Anlisis y Diseo Orientado a

El diagrama anterior aun no est completo, pues falta considerar algunos casos excepcionales, como por ejemplo, si al rechazar una tarjeta de crdito o un cheque, el cliente decide pagar usando otro mtodo, por ejemplo pagando en efectivo. Una transicin puede tener una proteccin condicional, o prueba booleana, que permite pasar al siguiente estado solamente si esta proteccin es vlida. Estas protecciones se colocan entre parntesis debajo de los eventos (ver validacin del usuario al descolgar el auricular, en la siguiente figura). Tambin se pueden tener sub-estados anidados.

Pgina 21 de 26

Ing. Henry Crdova Objetos Cuarto Ciclo

Anlisis y Diseo Orientado a

3.5. DIAGRAMA DE COMPONENTES Los diagramas de componentes describen los elementos fsicos del sistema y sus relaciones. Muestran las opciones de realizacin incluyendo cdigo fuente, binario y ejecutable. Los componentes representan todos los tipos de elementos software que entran en la fabricacin de aplicaciones informticas Pueden ser simples dinmicamente, etc. archivos, paquetes, bibliotecas cargadas

Pgina 22 de 26

Ing. Henry Crdova Objetos Cuarto Ciclo La representacin grfica es la siguiente:

Anlisis y Diseo Orientado a

EJEMPLO: MODELADO DE EJECUTABLES Y BIBLIOTECAS

3.6.

DIAGRAMAS DE DISTRIBUCIN

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

Un nodo es un elemento fsico que existe en tiempo de ejecucin y representa un recurso computacional, que generalmente tiene algo de memoria y, a menudo, capacidad de procesamiento. Los nodos se utilizan para modelar la topologa del hardware sobre el que se ejecuta el sistema. Representa tpicamente un procesador o un dispositivo sobre el que se pueden desplegar los componentes. Los componentes son los elementos que participan en la ejecucin de un sistema. Los nodos son los elementos donde se ejecutan los componentes. Los componentes representan el empaquetamiento fsico de los elementos lgicos. Los nodos representan el despliegue fsico de los componentes.

Pgina 23 de 26

Ing. Henry Crdova Anlisis y Diseo Orientado a Objetos Cuarto Ciclo La relacin entre un nodo y el componente que despliega puede mostrarse con una relacin de dependencia, o listando los nodos desplegados en un compartimiento adicional dentro del nodo.

EJEMPLO CONEXIN ENTRE NODOS

UNIDAD N 3 4. PROCESO DE DISEO ORIENTADO A OBJETOS

4.1. El Enfoque convencional y el enfoque Orientado a Objetos 4.2. Componentes genricos del modelo Orientado a Objetos 4.3. Proceso de Diseo del Sistema 4.4. Proceso de Diseo de Objetos 4.5. Patrones de Diseo CASO DE ESTUDIO HERRAMIENTAS UML Enunciado Desarrollo de un sistema informtico para la biblioteca de una Universidad Requisitos Libros: La biblioteca contiene libros, es posible que de cada libro haya varias copias. Algunos de los libros se prestan por pequeos periodos de tiempo, el resto pueden ser prestados por periodos de hasta tres semanas. Es posible tomar prestados hasta seis elementos a la vez, el personal hasta doce.

Pgina 24 de 26

Ing. Henry Crdova Anlisis y Diseo Orientado a Objetos Cuarto Ciclo Regularmente llegan nuevos ejemplares de libros, algunas veces se eliminan los antiguos. Prestamos: El sistema debe mantener informacin sobre los libros prestados y devueltos. El sistema actual ya lo hace. Deben emitirse recordatorios cuando un libro se excede del tiempo de prstamo. Es posible que en un futuro se permita a los usuarios extender el periodo de prstamo si un libro no est reservado. Bsquedas: El sistema debe permitir a los usuarios la bsqueda de libros sobre un tpico, un autor, etc. El sistema debe permitir comprobar si un libro est disponible. El sistema debe permitir la reserva de libros. Cualquiera puede realizar bsquedas en la biblioteca. CASOS DE USO Prstamo de un libro:La persona que quiere llevarse un libro lo presenta. El sistema comprueba que es miembro de la biblioteca y si an no ha llegado al mximo nmero de libros permitidos. El mximo es seis salvo que sea miembro del personal, en ese caso es doce. Si ambas comprobaciones son correctas el sistema registra el prstamo en caso contrario lo rechaza. Cada caso de uso deber ser documentado, generalmente en tercera persona y voz activa (El sistema comprueba...) Diagramas de Casos de Uso Una vez descritos los casos de uso es posible representarlos mediante diagramas

CLASES Modelo de dominio Si se han descrito los requisitos y casos de uso es posible determinar las clases mediante la bsqueda de nombres
Pgina 25 de 26

Ing. Henry Crdova Anlisis y Diseo Orientado a Objetos Cuarto Ciclo Libros y revistas: La biblioteca contiene libros y revistas, es posible que de cada libro haya varias copias. Algunos de los libros se prestan por pequeos periodos de tiempo, el resto pueden ser prestados por periodos de hasta tres semanas Solo el personal pueden tomar prestadas las revistas. Es posible tomar prestados hasta seis elementos a la vez, el personal hasta doce. Regularmente llegan nuevos ejemplares de libros y revistas, algunas veces se eliminan los antiguos. Al final del ao se envan las revistas para ser encuadernadas. Si se han descrito los requisitos y casos de uso es posible determinar las clases mediante la bsqueda de nombres Prestamos: El sistema debe mantener informacin sobre los libros prestados y devueltos. El sistema actual ya lo hace. Deben emitirse recordatorios cuando un libro se excede del tiempo de prstamo. Es posible que en un futuro se permita a los usuarios extender el periodo de prstamo si un libro no est reservado Bsquedas: El sistema debe permitir a los usuarios la bsqueda de libros sobre un tpico, un autor, etc... El sistema debe permitir comprobar si un libro est disponible. El sistema debe permitir la reserva de libros. Cualquiera puede realizar bsquedas en la biblioteca. Seleccin de las correctas Analizando la lista de clases y eliminando las incorrectas, se obtiene la lista de clases que hay en el sistema Libro Revista Prstamo Miembro de biblioteca Miembro del Personal

Pgina 26 de 26

Anda mungkin juga menyukai