Programación II. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herramientas UML, Análisis y diseño UML Objetivo Específico • Conocer una herramienta de modelado para la solución de problemas utilizando programación orientada a objetos. • Conocer los diferentes tipos de diagramas para análisis y diseño básicos en UML • Utilizar una de las herramientas para elaborar diagramas UML Materiales y Equipo • Guía Número 2 • Herramienta de diseño UML(StarUML) Introducción Teórica ¿Que es UML? El Lenguaje de Modelado Unificado (UML - Unified Modeling Language) es un lenguaje gráfico de propósito general, estándar de la industria para visualizar, especificar y documentar cada una de las partes que comprende el Desarrollo de Sistemas a través del uso de diagramas y texto de soporte. ¿Para que sirve? • Visualizar como es un sistema o como queremos que sea. • Especificar la estructura y/o comportamiento de un sistema. • Hacer una plantilla que guíe la construcción de los sistemas • Documentar las decisiones que hemos tomado Para esta práctica usaremos los diagramas de casos de uso, diagramas de secuencia, y los diagramas de clase. Los diagramas de casos de uso y de secuencia, nos servirán para realizar el análisis necesario para poder hacer un diseño basado en diagramas de clase. 2 Programación II, Guía 2 Diagramas de Casos de uso. Este diagrama es una técnica para capturar información de como un sistema o negocio trabaja actualmente, o de como se desea que trabaje. Aquí aún no hay orientación a objetos, más bien es una técnica para el modelado de escenarios. Los casos de uso se representan por las figuras de “actor”, “caso de uso” y “asociación”, el actor es una entidad externa que interactúa con el sistema, los casos de uso son las funciones que realizará nuestro sistema y las asociaciones son los mensajes entre actores y casos de uso, y los casos de uso entre si: Como ejemplo de caso de uso, describimos la forma en que se reserva una hora libre en el centro de cómputo. Diagramas de secuencia. Estos diagramas nos sirven para describir la lógica de uno o más casos de uso, o sea, la interacción de los actores con los distintos objetos involucrados en el caso de uso. Los elementos que se usan en un diagrama de secuencia son: Objeto: instancia de una clase que podemos empezar a identificar como participante en la secuencia de operaciones que representa este caso de uso Programación II. Guía 2 3 Actor: son los actores tomados del caso de uso, y que se comunican con el caso de uso que estamos describiendo. Vida del objeto: indicamos la existencia de un objeto a lo largo del tiempo mediante una línea discontinua vertical. Activación: indicamos cuándo el objeto está realizando una tarea concreta, se representa por un rectángulo sobre la línea de vida del objeto. Mensaje: la comunicación entre objetos y sus activaciones, son flechas entre los rectángulos de las activaciones las cuales muestran la dirección del mensaje. Como ejemplo se muestra el diagrama de secuencia basado en el caso de uso de “consulta de hora libre”, se identifican los objetos salon, horario y reserva. Diagramas de Clases. Un diagrama de clase muestra un conjunto de clases, interfaces y colaboraciones y sus relaciones. Estos diagramas son los más comunes del modelado de sistemas orientados a objetos. 4 Programación II, Guía 2 En UML este se presenta como un listado de características de objeto donde se identifican el nombre de la clase, los atributos de la clase y los métodos que manipulan las propiedades. Algunos de los métodos pueden ser identificados según los mensajes entre objetos que se muestran en el diagrama de secuencia, y algunos atributos con la información que utilizan los mensajes. Se da un ejemplo de diagrama de clase basado en el diagrama de secuencia anterior: Los diagramas de clase y de secuencia pueden hacerse en paralelo ya que ambos se complementan mutuamente. Procedimiento Iniciando StarUML. Selecciona el icono de lanzamiento de la aplicación. Dado que un proyecto se puede realizar siguiendo distintos enfoques, StarUML nos pregunta cuál queremos utilizar. En esta práctica utilizaremos el “Default Approach”. Programación II. Guía 2 5 Una vez que iniciamos StarUML, nos aparece una ventana principal, que tiene los elementos que se muestran a continuación: Creación de Casos de Uso. En la parte de elementos de Proyecto, seleccionamos el modelo de casos de uso y cambiamos el nombre, así: 6 Programación II, Guía 2 Al seleccionar este tipo de modelo, nos despliega la barra de herramientas de Casos de Uso, donde nos permite utilizar los componentes para este tipo de diagrama. Para seleccionar un componente damos clic al componente deseado y luego damos clic en el área de trabajo. Cuando el componente es agregado, aparece el nombre sombreado, lo que indica que podemos cambiar esa propiedad a nuestro antojo. Para realizar la comunicación entre el actor con los casos de uso, utilizamos el componente DirectedAssociation Programación II. Guía 2 7 Creación de Diagramas de Clases. Para crear el diagrama de clases, en el mismo proyecto que tenemos abierto, nos vamos a elementos de proyecto y seleccionamos Design Model y cambiamos el nombre del Main Ahora lo único que tenemos que hacer es seleccionar el componente clases y dar clic en el área de trabajo Nos centramos en los botones de la derecha, el celeste y el rojo. El celeste nos permite agregar atributos o propiedades a la clase El rojo nos permite agregar métodos u operaciones a la clase. 8 Programación II, Guía 2 Seleccionamos cualquiera de las opciones, agregamos un atributo y un método y la clase toma la siguiente forma, note que los métodos terminan con un paréntesis. Ejemplos. Elaborar los diagramas de clase, de casos de uso y de secuencia mostrados en las páginas 2, 3 y 4 de esta guía. Análisis de Resultados Ejercicio No. 1: Desarrolle los diagramas de caso de uso, secuencia y clase para simular el sistema básico de préstamo de libros en biblioteca desde el punto de vista del alumno. El alumno consulta al sistema la disponibilidad de un libro cuantas veces sea necesario. Si lo encuentra da el código del libro para que el bibliotecario lo busque y se lo entregue, el alumno da su carnet y el bibliotecario verifica su estado de préstamo, si no hay problemas le dan el libro y la fecha de devolución, para el día de la devolución del libro el alumno lo entrega a biblioteca o renueva su préstamo. Ejercicio No. 2: Diseñe el diagrama de clases para la inscripción de Materias de la UDB. Programación II. Guía 2 9 Bibliografía • En la biblioteca de la UDB: Programación y Diseño en C++: Introducción a la programación y al diseño orientado a objetos Cohoon, James. No. Clasificación: 005.362 C678 2000 • Aprendiendo UML en 24 horas Joseph Schmuller, Prentice Hall • Utilización de UML en ingeniería del software con objetos y componentes Perdita Stevens, Rob Pooley. Addison Wesley 10 Programación II, Guía 2 Hoja de cotejo: Guía 2: Herramientas UML. Análisis y Diseño UML Alumno: Máquina No: Docente: GL: 2 1 Fecha: EVALUACIÓN % CONOCIMIENTO Del 20 al 30% APLICACIÓN DEL CONOCIMIENTO Del 40% al 60% 1-4 5-7 8-10 Conocimiento deficiente de los fundamentos teóricos Conocimiento y explicación incompleta de los fundamentos teóricos Conocimiento completo y explicación clara de los fundamentos teóricos No tiene actitud proactiva. Actitud propositiva y con propuestas no aplicables al contenido de la guía. Tiene actitud proactiva y sus propuestas son concretas. ACTITUD Del 15% al 30% TOTAL 100% Nota