Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Carátula para entrega de prácticas Facultad de Ingeniería Laboratorio de docencia Laboratorios de computación salas A y B Profesor: Saavedra Hernández Honorato Ing. Asignatura: Programación Orientada a Objetos Grupo: 1 No de Práctica(s): 9 Integrante(s): Ayala Trejo Albanya Yendalli Téllez González Jorge Luis Méndez Costales Luis Enrique Villamar Cortes Juan Antonio Santana Sánchez María Yvette Zecua Salinas Juan Carlos Téllez González Jorge Luis Villamar Cortes Juan Antonio Zecua Salinas Juan Carlos No. de Equipo de cómputo empleado: --- No. de Lista o Brigada: --- Semestre: 2020-2 Fecha de entrega: 06/04/2020 Observaciones: CALIFICACIÓN: __________ Facultad de Ingenierı́a Programación Orientada a Objetos Índice 1. Introducción 2 2. Objetivo 2 3. UML 2 3.1. Diseño estático o de estructura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.1.1. Diagrama de casos de uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.1.2. Diagrama de clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1.3. Diagrama de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2. Diseño dinámico o de comportamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.2.1. Diagrama de estados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.2.2. Diagrama de actividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.3. Diagrama de interacción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.3.1. Diagrama de secuencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3.2. Diagrama de comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4. Conclusiones 12 1 Facultad de Ingenierı́a Programación Orientada a Objetos 1. Introducción En todas las disciplinas de la Ingenierı́a es evidente la importancia que tiene el modelado, ya que permiten describir el aspecto y el funcionamiento de un determinado sistema; ya sea que este exista, se encuentre en desarrollo o en una fase temprana de planeación. En este punto los diseñadores del modelo deben de investigar los requerimientos necesarios para el producto final. Ası́ mismo, un modelo óptimo debe de ser dividido en un número determinado de vistas que describan un aspecto en especı́fico del producto o sistema en cuestión. El Lenguaje Unificado de Modelado UML es un lenguaje o técnica de modelado para la especi- ficación de sistemas en todas sus fases. Este lenguaje prescribe un conjunto de notaciones y diagramas estándar con el fin de modelar sistemas orientados a objetos, ası́ mismo, describe la semántica necesaria para interpretar el significado de los diagramas y sı́mbolos que utiliza. Figura 1: Componentes esenciales de UML. En el presente reporte se analizarán los diseños básicos en UML, ası́ como los correspondientes diagramas que los componen. Con el fin de realizar los diagramas necesarios, se ha optado por el uso del software StarUML. 2. Objetivo Utilizar UML como herramienta para diseñar soluciones de software para un lenguaje de programa- ción orientado a objetos. 3. UML El lenguaje de modelado UML nace en el año de 1994 como una solución al problema del modelado en el paradigma orientado a objetos. Sus creadores son Grady Booch, autor del método Booch; James Rumbaugh, autor del método OMT e Ivar Jacobson, autor de los métodos OOSE y Objectory. La versión 1.0 de UML se liberó en enero de 1997 y ha visto ampliado su uso a sistemas de diversa ı́ndole, como son: hospitales, bancos, comunicaciones, aeronáutica, finanzas, etc. 2 Facultad de Ingenierı́a Programación Orientada a Objetos Los principales beneficios que brinda el uso de UML son los siguientes: Menores tiempos de desarrollo (en un 50% o más). Modelado de sistemas (no limitado a Software) utilizando conceptos orientados a objetos. Encaminar el desarrollo de sistemas crı́ticos de misión crı́tica. Disponer de un lenguaje de modelado apto para el uso de humanos y máquinas. Soporte especializado para la planeación y el control de proyectos. Alta reutilización y minimización de costos. Los diagramas UML permite modelar aspectos conceptuales como procesos de negocios o funcio- nalidades de un sistema, cumple con los objetivos siguientes: 1. Visualizar: expresa de forma gráfica la solución. 2. Especificar: muestra las caracterı́sticas del sistema. 3. Construir: genera soluciones. 4. Documentar: especifica la solución implementada. 3.1. Diseño estático o de estructura Estos diagramas aportan una visión fija del sistema, los diagramas permiten modelar caracterı́sticas para el lenguaje orientados a objetos y pueden ser los siguientes: 3.1.1. Diagrama de casos de uso Este tipo de diagrama describe el comportamiento del sistema conforme el usuario interactúa con este, y muestra la reacción del sistema a las posibles entradas o acciones del usuario. Los diagramas de casos de uso permiten modelar el comportamiento de un sistema, un subsistema o, incluso, una clase. Está compuesto por 3 elementos básicos: 1. Actores 2. Casos de uso 3. Relaciones 3 Facultad de Ingenierı́a Programación Orientada a Objetos Por lo tanto, para generar un diagrama de casos de uso hay que identificar a los actores que van a interactuar con el sistema, las actividades dentro del sistema, ası́ como los permisos que tendrá cada actor con los casos de uso. Figura 2: Ejemplo de un diagrama de casos en un sistema de finanzas y comercio. 3.1.2. Diagrama de clases Un diagrama de clases sirve para visualizar las relaciones entre las clases que involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y de agregación, ya que una clase es una descripción de conjunto de objetos que comparten los mismos atributos, operaciones, métodos, relaciones y semántica; mostrando un conjunto de elementos que son estáticos, como las clases y tipos junto con sus contenidos y relaciones. Un diagrama de clases está compuesto por los siguientes elementos: atributos, métodos y visibi- lidad. El conjunto de clases permite observar las relaciones que existen entre ellas dentro del sistema. Por otra parte, los diagramas de clase están compuestos por 3 elementos básicos: Clases Cardinalidad Relaciones 4 Facultad de Ingenierı́a Programación Orientada a Objetos Figura 3: Ejemplo de un diagrama de clases que modela vehı́culos y 2 variantes. 3.1.3. Diagrama de objetos Los diagramas de objetos modelan las instancias de elementos contenidos en los diagramas de clases. Un diagrama de objetos muestra un conjunto de objetos y sus relaciones en un momento concreto. Podemos situar a los diagramas de objetos en un punto intermedio, ya que contiene un conjunto de instancias de los elementos encontrados en el diagrama de clases, representando sólo la parte estática de una interacción, consistiendo en los objetos que colaboran pero sin ninguno de los mensajes intercambiados entre ellos. En general, los diagramas de objetos se utilizan para visualizar, especificar, construir y documentar la existencia de ciertas instancias en el sistema, junto a las relaciones entre ellas. Los elementos de los diagramas de objetos son: Objetos Atributos Vı́nculos 5 Facultad de Ingenierı́a Programación Orientada a Objetos Figura 4: Componentes básicos de un diagrama de objetos. 6 Facultad de Ingenierı́a Programación Orientada a Objetos Figura 5: Ejemplo de un diagrama de objetos pertenecientes a un cine. 3.2. Diseño dinámico o de comportamiento El diseño dinámico nos ayuda a modelar los aspectos dinámicos de los sistemas de software usando la notación y la semántica de UML. Los diagramas dinámicos o de comportamiento permiten visualizar la comunicación entre elemen- tos del sistema para un proceso especı́fico, los diagramas que permiten modelarestas caracterı́sticas para un lenguaje orientado a objetos son los que se describen a continuación: 3.2.1. Diagrama de estados Los diagramas de estado muestran el conjunto de estados por los cuales pasa un objeto durante su vida en una aplicación en respuesta a eventos (por ejemplo, mensajes recibidos, tiempo rebasado o errores), junto con sus respuestas y acciones. También ilustran qué eventos pueden cambiar el estado de los objetos de la clase. Normalmente contienen: estados y transiciones. 7 Facultad de Ingenierı́a Programación Orientada a Objetos Los componentes básicos de un diagrama de estado son: Pseudoestado de opción: es un sı́mbolo con forma de diamante indicando una condición dinámica con resultados potenciales ramificados. Punto de salida: a partir de donde se sale de un estado compuesto, o de una máquina de estados. Se representa con un cı́rculo con una � X �. Evento: Aquel que activa una transición. Estado final: Se representa con un cı́rculo negro con una flecha de transición. Protección: una condición booleana que permite o detiene una transición. Estado: un rectángulo redondeado que muestra el estado en que se encuentra un objeto. Subestado: un estado contenido dentro de la región de un estado compuesto. Disparador: es un mensaje que mueve un objeto de estado en estado. Transición: una flecha que corre de un estado a otro que indica un estado cambiante. Estado compuesto: es un estado que contiene sub-estados. Comportamiento de transición: un tipo de comportamiento resultante que ocurre durante la transición de un estado. Se escribe arriba de la flecha de transición. Figura 6: Ejemplo de un diagrama de objetos pertenecientes a un cine. 8 Facultad de Ingenierı́a Programación Orientada a Objetos 3.2.2. Diagrama de actividades El diagrama de actividades muestra el flujo de acciones, lo cual permite observar los objetos involucrados dentro de una acción de forma ordenada; de acuerdo a como se va desarrollando determinada acción dentro del sistema. A su vez, permite ver la comunicación de las actividades de cada objeto ya sea con sus propios métodos o la interacción con otros objetos, siendo una actividad la ejecución del objeto, cuyo resultado es un cambio en el estado del sistema o la devolución de un valor. Los componentes básicos de un diagrama de actividades son: Nodos de entrada y salida. Actividades Transiciones Figura 7: Ejemplo de un diagrama de actividades relacionadas al uso de un cajero bancario. 3.3. Diagrama de interacción El diagrama de interacción muestran los mensajes que un cliente u objeto se pasan entre ellos dentro del caso de uso. Los elementos básicos de los diagramas de interacción son: Objeto y cliente Enlace(s) Mensaje(s) 9 Facultad de Ingenierı́a Programación Orientada a Objetos Por otra parte, los diagramas de interacción se dividen en 2 tipos principales: Diagrama de secuencia Diagrama de comunicación 3.3.1. Diagrama de secuencia Esta clase de diagramas tienen como objetivo mostrar una interacción ordenado de los eventos en un siste- ma, visualizando los objetos participantes en cada interacción, ası́ como los mensaje que intercambian entre sı́. Su principal funcionalidad es, por tanto, observar la interacción generada al momento de ejecutar una determinada acción dentro del sistema, ası́ como los objetos que se involucran durante tal proceso. Los elementos más básicos de este tipo de diagramas son los siguientes: Lifelines: Representa a un participante individual en el diagrama de secuencia. Básicamente, cada instancia en este tipo de diagrama se representa de esta forma. Se encuentran ubicados en la parte superior del diagrama, su forma es de un rectángulo y su nombre estándar en UML es de la forma: Nombre De Instancia: Nombre De Clase. Mensajes: Comunicación entre objetos señalada con flechas. Existen 2 tipos de mensajes: sincroniza- dos o asincrónicos. Los primeros esperan una respuesta antes de realizar cualquier acción, mientras que los mensajes asincrónicos no esperan una respuesta. También existen los automensajes y los mensajes de respuesta, que son representados con una flecha punteada. Figura 8: Ejemplo de un diagrama de actividades relacionadas al uso de un cajero bancario. 10 Facultad de Ingenierı́a Programación Orientada a Objetos Figura 9: Ejemplo de tipos de mensaje. 3.3.2. Diagrama de comunicación El propósito de los diagramas de comunicación consiste en mostrar la interacción entre diversos objetos y el orden relativo entre ellos. La secuencia de los mensajes y flujos de ejecución concurrentes son determinados mediante el uso de números secuenciales. Permiten visualizar interacciones en un determinado proceso e identificar los objetos involucrados, ası́ como su orden de invocación. Entre otros propósitos, se encuentran los siguientes: Capturar las interacciones de los objetos durante el paso de mensaje con el fin de identificar sus roles en el escenario colaborativo. Identificar los objetos, atributos y operaciones involucradas en cada caso de uso. Modelar escenarios alternativos de uso en operaciones que involucren la colaboración de diferentes objetos. 11 Facultad de Ingenierı́a Programación Orientada a Objetos Figura 10: Ejemplo de un diagrama de comunicación en un sistema de reservación hotelera. 4. Conclusiones La importancia del lenguaje UML va más allá de cualquier lenguaje de programación orientado a objetos, ya que este implementa una forma universal de comunicar el desarrollo y los componentes de un sistema por medio de conceptos orientados a objetos. Tener un dominio adecuado de este lenguaje, por tanto, es indispensable durante el modelado de sistemas complejos, ya que facilitará en mayor medida la compren- sión de su funcionamiento y la posibilidad de programarlo en la mayorı́a de los lenguajes pertenecientes al paradigma de los objetos. A través del trabajo realizado pudimos comprender la estructura básica de los diferentes diagramas existentes en UML. Además, se realizaron ejemplos básicos de sistemas en donde estos diagramas puedan tener una potencial aplicación. Finalmente, la brigada considera que el objetivo principal ha sido cumplido por medio de los ejemplos desarrollados en cada sección, los cuáles nos permitieron desarrollar habilidades básicas en su manejo y comprensión. 12 Facultad de Ingenierı́a Programación Orientada a Objetos Referencias [1] EL LENGUAJE UNIFICADO DE MODELADO (UML). Recuperado de: http://profesores. fi-b.unam.mx/carlos/aydoo/uml.html. Fecha de consulta: 3/04/2020. [2] Qué es UML? Recuperado de: http://stadium.unad.edu.co/ovas/10596_9839/qu_es_uml. html. Fecha de consulta: 3/04/2020. [3] UML. Recuperado de: http://lcp02.fi-b.unam.mx/static/docs/PRACTICAS_POO/poo_p9. pdf. Fecha de consulta: 3/04/2020. [4] UML. Recuperado de: https://www.visual-paradigm.com/guide/ uml-unified-modeling-language/what-is-communication-diagram/. Fecha de consulta: 3/04/2020. [5] Unified Modeling Language (UML) — Sequence Diagrams. Recuperado de: https://www. geeksforgeeks.org/unified-modeling-language-uml-sequence-diagrams/. Fecha de consul- ta: 3/04/2020. Los créditos de las fotografı́as pertenecen a sus respectivos autores. c© LATEX 13 http://profesores.fi-b.unam.mx/carlos/aydoo/uml.html http://profesores.fi-b.unam.mx/carlos/aydoo/uml.html http://stadium.unad.edu.co/ovas/10596_9839/qu_es_uml.html http://stadium.unad.edu.co/ovas/10596_9839/qu_es_uml.html http://lcp02.fi-b.unam.mx/static/docs/PRACTICAS_POO/poo_p9.pdf http://lcp02.fi-b.unam.mx/static/docs/PRACTICAS_POO/poo_p9.pdf https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-communication-diagram/ https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-communication-diagram/ https://www.geeksforgeeks.org/unified-modeling-language-uml-sequence-diagrams/ https://www.geeksforgeeks.org/unified-modeling-language-uml-sequence-diagrams/ Introducción Objetivo UMLDiseño estático o de estructura Diagrama de casos de uso Diagrama de clases Diagrama de objetos Diseño dinámico o de comportamiento Diagrama de estados Diagrama de actividades Diagrama de interacción Diagrama de secuencia Diagrama de comunicación Conclusiones
Compartir