Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Programa desarrollado
Programa de la asignatura: Anlisis y diseo orientado a objetos Unidad 4. Diseo Orientado a Objetos con UML (Lenguaje Unificado de Modelado)
Presentacin de la unidad
El lenguaje unificado de modelado (UML) brinda un sistema de trabajo con objetos, basado en el anlisis y diseo, con una consistencia del lenguaje para especificar, construir y documentar un sistema de software. Esta especificacin representa la convergencia de las mejores prcticas en la tecnologa de la industria de objetos. El UML es un sucesor de los lenguajes de modelado de objetos derivado de las tres metodologas (Booch, OMT y OOSE). El UML es un lenguaje de modelado que integra a la comunidad orientada a objetos los conceptos de modelado bsico y permite desviaciones, las cuales se expresan en trminos de mecanismos de extensin. Es un conjunto preciso que consiste en la definicin de la semntica y notacin del UML, definiendo tambin cmo se maneja el Lenguaje de Especificacin de Objetos.
Propsito
Con el uso constante de UML se podr lograr una mejor comprensin entre los negocios y los requerimientos del sistema y los procesos que se deben hacer para que se cumplan stos. En cada paso el sistema se define de manera ms clara y precisa. As, al terminar el anlisis y diseo se tienen de forma precisa y detallada las especificaciones de clases y objetos, evitando el costo de una mala planeacin en el comienzo.
Competencia especfica
Aplicar los tipos de diagramas para estructurar un sistema orientado a objetos mediante el mtodo de modelado UML.
Un objeto, como recordars, es la unidad mnima en la representacin de algo real, y una clase es un objeto con atributos y mtodos o comportamientos.
Una clase puede representarse de forma esquemtica con los atributos y operaciones suprimidos, siendo entonces tan solo un rectngulo con el nombre de la clase. En la siguiente figura se ve cmo una misma clase puede representarse a distinto nivel de detalle, segn interese, y segn la fase en la que se est.
El siguiente ejemplo muestra la sintaxis: nombre_del_objeto: nombre_de_la_clase. Puede representarse un objeto sin un nombre especfico, entonces slo aparece el nombre de la clase.
Figura 4.3. Conjunto de diagramas UML (Kendall & Kendall, 2005: 665)
En los casos de uso, la palabra uso se utiliza como sustantivo en lugar de verbo. Un modelo de caso de uso muestra lo que hace un sistema sin describir cmo lo hace, muestra como si tuviera un usuario fuera del sistema, mostrando los requerimientos y se puede hacer usando los objetos y sus interacciones para derivar comportamiento del objeto, atributos y relaciones.
Los actores dentro del modelado UML son aquellos que interactan con el sistema a desarrollar. Las precondiciones son los hechos que se han de cumplir para que el flujo de evento se pueda llevar a cabo. El flujo de eventos corresponde a la ejecucin normal y exitosa del caso de uso. Los flujos alternativos son los que permiten indicar qu es lo que hace el sistema en los casos menos frecuentes e inesperados. Por ltimo, las poscondiciones son los hechos que se ha de cumplir si el flujo de eventos normal se ha ejecutado correctamente.
El diagrama de caso de uso contiene el actor y smbolos de caso de uso, y adems las lneas de conexin. Los actores se refieren a una situacin de un usuario del sistema, por ejemplo un actor podra ser cliente.
Los actores dan o reciben los datos del sistema. Los actores secundarios ayudan a mantener el sistema en ejecucin o proporcionan ayuda, como las personas que operan el centro de atencin telefnica, los empleados(as) de ventanilla, etctera.
Un caso de uso ilustra a los desarrolladores un panorama de lo que quieren los usuarios. No tiene detalles tcnicos o de implementacin.
Un caso de uso se compone de tres elementos: un actor, para comenzar el evento; el evento, que activa un caso de uso; y el caso de uso, que desempea las acciones activadas por el evento.
En la imagen, por el tipo de flechas, se muestran los cuatro tipos: Comunica, Incluye, Extiende y Generaliza.
Al hacer el diagrama del caso de uso hay que pedir todo lo que los usuarios quieren que el sistema haga para ellos, es decir, mostrar los servicios que se deben proporcionar. En las fases iniciales sta podra ser una lista parcial que se extiende en las ltimas fases del anlisis. Usa los siguientes lineamientos: Revisar las especificaciones para establecer los actores. Identificar los eventos y hacer los casos de uso. Revisar el caso de uso para determinar el flujo de los datos.
10
La figura muestra un caso de uso de una matriculacin de un estudiante. Agregar un estudiante incluye verificar la identidad de ste.
El caso de uso Comprar libro de texto extiende el caso de uso Matricularse en la clase y podra ser parte de un sistema para matricular a los estudiantes de un curso en lnea.
Pareciera como si el caso de uso Cambiar informacin del estudiante fuera una caracterstica menor del sistema y no se debiera incluir en el diagrama de caso de uso, pero debido a que esta informacin cambia con frecuencia, la administracin tiene un inters sutil en permitir a los estudiantes cambiar su propia informacin personal. El hecho de que los administradores juzguen esto como importante no solo justifica, sino que exige que el estudiante pueda cambiar su informacin.
11
A los estudiantes no se les permitira cambiar su promedio de calificaciones, cuotas a pagar y otra informacin. Este caso de uso tambin incluye el caso de uso Verificar identidad, y en esta situacin, significa que el estudiante tiene que introducir una clave de usuario y contrasea antes de acceder al sistema. Ver informacin del estudiante permite a los estudiantes visualizar su informacin personal, as como tambin los cursos y calificaciones.
Los diagramas de caso de uso son un buen punto de partida, pero se necesita una descripcin ms completa de ellos para su documentacin.
Figura 4.5. Cuatro tipos de relaciones (Kendall & Kendall, 2005: 667)
12
Descripcin: Permite crear un mensaje en el foro de discusin. Actores: Usuario de Internet firmado. Precondiciones: El usuario debe haberse firmado en el sistema. Flujo Normal: 1. El actor pulsa sobre el botn para crear un nuevo mensaje. 2. El sistema muestra una caja de texto para introducir el ttulo del mensaje y una zona de mayor tamao para introducir el cuerpo del mensaje. 3. El actor introduce el ttulo del mensaje y el cuerpo del mismo. 4. El sistema comprueba la validez de los datos y los almacena. Flujo Alternativo: 1. El sistema comprueba la validez de los datos, si los datos no son correctos, se avisa al actor de ello permitindole que los corrija. Poscondiciones: El mensaje ha sido almacenado en el sistema. Ejemplo de caso de uso (Gracia, J., 2003: 1)
13
14
Figura 4.7 Diagrama de actividades para modelar una actividad (Alarcn, 2005: 73)
15
Figura 4.8.Transicin
16
Figura 4.9. Representacin de clases en diagramas de secuencia Un diagrama de secuencia en el modelado UML muestra una interaccin ordenada segn la secuencia de cada evento. Muestra los objetos participantes en la interaccin y los mensajes que intercambian, ordenados segn su secuencia en el tiempo. El eje vertical representa el tiempo, y en el eje horizontal se colocan los objetos y actores participantes en la interaccin, sin un orden prefijado. Cada objeto o actor tiene una lnea vertical, y los mensajes se representan mediante flechas entre los distintos objetos. El tiempo fluye de arriba abajo. Se pueden colocar etiquetas (como restricciones de tiempo, descripciones de acciones, etc.) bien en el margen izquierdo o bien junto a las transiciones o activaciones a las que se refieren.
17
Nivel Superior: Contiene el nombre de la Clase a utilizar. Intermedio: Contiene los atributos (o variables de instancia) que caracterizan a la Clase (pueden ser private, protected o public). Nivel Inferior: Contiene los mtodos u operaciones, los cuales son la forma como interacta el objeto con su entorno (dependiendo de la visibilidad: private, protected o public). Un ejemplo sobre el diagrama de clase: Un Crdito que posee como caracterstica: Solicitud Puede realizar las operaciones de: Investigacin de Crdito (investigacin) Anlisis de crdito (anlisis) Y Entrega de crdito (entrega) El diseo asociado es:
18
Atributos y Mtodos: Atributos: Los atributos o caractersticas de una Clase pueden ser de tres tipos, los que definen el grado de comunicacin y visibilidad de ellos con el entorno, stos son: public (+, ): Indica que el atributo ser visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados. private (-, ): Indica que el atributo slo ser accesible desde dentro de la clase (slo sus mtodos lo pueden accesar). protected (#, ): Indica que el atributo no ser accesible desde fuera de la clase, pero si podr ser accesado por mtodos de la clase adems de las subclases que se deriven (ver herencia). Mtodos: Los mtodos u operaciones de una clase son la forma en cmo sta interacta con su entorno, stos pueden tener las caractersticas: public (+, ): Indica que el mtodo ser visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados. private (-, ): Indica que el mtodo slo ser accesible desde dentro de la clase (slo otros mtodos de la clase lo pueden accesar). protected (#, ): Indica que el mtodo no ser accesible desde fuera de la clase, pero s podr ser accesado por mtodos de la clase adems de mtodos de las subclases que se deriven (ver herencia).
19
Un diagrama de estados es un grfico donde los nodos son estados y los arcos son transiciones etiquetadas con los nombres de los eventos.
Un estado se representa como una caja redondeada con el nombre del estado en su interior, una transicin se representa como una flecha desde el estado origen al estado destino.
La caja de un estado puede tener uno o dos niveles: en el primer nivel aparece el nombre del estado, el segundo nivel es opcional, y en l pueden aparecer acciones de entrada, de salida y acciones internas.
Una accin de entrada aparece en la forma entrada/accin_asociada donde accin_asociada es el nombre de la accin que se realiza al entrar en ese estado, cada vez que se entra al estado por medio de una transicin, la accin de entrada se ejecuta.
Una accin de salida aparece en la forma salida/accin_asociada, cada vez que se sale del estado por una transicin de salida la accin de salida se ejecuta. Una accin interna es una accin que se ejecuta cuando se recibe un determinado evento en ese estado, pero que no causa una transicin a otro estado. Se indica en la forma nombre_de_evento/accin_asociada.
20
Un diagrama de estados puede representar ciclos continuos o bien una vida finita, en la que hay un estado inicial de creacin y un estado final de destruccin (finalizacin del caso de uso o destruccin del objeto). El estado inicial se muestra como un crculo slido y el estado final como un crculo slido rodeado de otro crculo. En realidad, los estados inicial y final no son estados, pues un objeto no puede estar en esos estados, pero nos sirven para saber cules son las transiciones inicial(es) y final(es).
3. Guarda la Actividad con el nombre DOO_U4_A3_XXYZ. Sustituye las XX por las dos primeras letras de tu primer nombre, la Y por la inicial de tu apellido paterno y la Z por la inicial de tu apellido materno. 4. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin.
21
Autoevaluacin
Para reforzar los conocimientos relacionados con los temas que se abordaron en esta unidad del curso, es necesario que resuelvas la actividad integradora. Recuerda que es muy importante leer cuidadosamente los planteamientos indicados y elegir la opcin adecuada para cada uno.
4. Guarda la evidencia con el nombre ADOO_U4_EA_XXYZ. Sustituye las XX por las dos primeras letras de tu primer nombre, la Y por la inicial de tu apellido paterno y la Z por la inicial de tu apellido materno. 5. Enva el archivo a tu Facilitador(a) a travs de Evidencia de aprendizaje, para recibir retroalimentacin.
Autorreflexiones
Adems de enviar tu trabajo de la Evidencia de aprendizaje, es importante que ingreses al foro Preguntas de Autorreflexin y consultes las preguntas que tu Facilitador(a) presente; a partir de ellas debes elaborar tu Autorreflexin en un archivo de texto llamado DOO_U4_ATR_XXYZ. Posteriormente enva tu archivo mediante la herramienta Autorreflexiones.
22
Cierre de la unidad
Has concluido la unidad 4 del curso. A lo largo de sta se vieron conceptos de diseo orientado a objetos con UML, cmo se representan los objetos y las clases, adems de cmo se hacen los diagramas para los casos de uso, escenarios del caso de uso, diagramas de actividades, diagramas secuenciales, de clase y el grfico de estado. Es aconsejable que revises nuevamente la unidad en caso de que los temas que se acaban de mencionar no te sean familiares, o no los recuerdes; de no ser ste tu caso, ya habrs terminado tu curso de Anlisis y diseo Orientado a Objetos, FELICIDADES!
Para saber ms
Fuentes de consulta
Alarcn, Ral. (2005). Diseo orientado a objetos con UML. Grupo Eidos. Pgina 73. Fowler, M. & Scott, K. (1999) UML GOTA A GOTA Mxico: Addison Wesley. Gracia, J. (2003) UML: Casos de Uso. Use case, Desarrollo de Software Orientado a Objetos. Recuperado de: http://www.ingenierosoftware.com/analisisydiseno/casosdeuso.php Kendall, J. & Kendall, J. (1990) Anlisis y Diseo de sistemas. Mxico: Prentice Hall Iberoamericana. Larman, C. (2004) Applying UML and Patterns an Introduction to object-Oriented Analysis and Design. Mxico: Prentice Hall.
23
24