1. URL: http://adoo-mczc.blogspot.mx/
1
DIAGRAMA DE CLASES Y DIAGRAMA DE OBJETOS
El diagrama de clases es utilizado para modelar la vista diseño estática del sistema, es la base para el
diagrama de componentes y despliegue, consta de clases, interfaces y relaciones.
Una clase es la descripción de un conjunto de objetos que comparten los mismos atributos,
operaciones, relaciones y semántica.
Nombre de una clase: una clase debe tener un nombre que la distingue de las otras, un nombre
calificado consta del nombre de la clase precedido del nombre del paquete en el que se encuentra.
Normalmente se pone en mayúscula la primera letra de cada palabra como en Credito o
SensorDeTemperatura
Atributos: es una propiedad de una clase identificada, que describe un rango de valores que pueden
tomar las instancias de la propiedad. Un atributo representa una propiedad del elemento que se está
modelando que es compartida por todos los objetos de esa clase.
El nombre de un atributo se pone en mayúscula la primera letra de cada palabra excepto la primera
letra, como en numeroTdCredito
Operación: Una operación es la implementación de un servicio, que puede ser requerido a cualquier
objeto de la clase para que muestre un comportamiento.
El nombre tiene la misma estructura que el de los atributos.
TÉCNICAS DE MODELADO
Las clases se utilizan para modelar abstracciones extraídas dl problema a resolver, cada abstracción es
la parte del vocabulario del sistema, es decir que representan elementos importantes para el sistema.
RELACIONES
Una relación es una conexión entre elementos. Las tres relaciones más importantes son las de
Dependencias, generalizaciones y asociaciones. Gráficamente se representan con diferentes tipos d
líneas.
Dependencia: una dependencia es una relación que indica que un elemento utiliza la información y los
servicios de otro elemento, pero no necesariamente a la inversa
Generalización: es una relación entre un elemento general llamado padre o superclase y otro elemento
más específico llamado hijo o subclase que hereda propiedades y operaciones de la superclase.
2. URL: http://adoo-mczc.blogspot.mx/
2
Un objeto de la clase hija puede asociar una variable o un parámetro cuyo tipo venga dado por el padre,
pero no a la inversa.
Cuando una clase hijo implementa una misma operación de la clase padre (con el mismo nombre y
atributos) se denomina Polimorfismo.
Asociación: Es una relación estructural que especifica que los objetos de un elemento están conectados
a los objetos de otro elemento.
Multiplicidad: Representan cuantos objetos pueden conectarse a través de una asociación. Puede
existir multiplicidad uno (1), cero o uno (0..1), muchos (0..*) uno o más (1..*)
Agregación: es una relación todo/parte en la cual una clase representa un todo que consta de
elementos más pequeños.
CARACTERÍSTICAS AVANZADAS DE LAS CLASES
Visibilidad: Indica si los atributos y operaciones pueden ser usados por otros clasificadores
Public (+) Indica que cualquier clase externa con visibilidad a la clase puede utilizar la característica.
Protected (#) Indica que cualquier descendiente de la clase puede utilizar la característica.
Private (-) indica que solo el propio clasificador puede utilizar la característica.
Package (~) indica que solo los clasificadores declarados en el mismo paquete pueden utilizar la
característica.
3. URL: http://adoo-mczc.blogspot.mx/
3
EJEMPLO DE UN DIAGRAMA DE CLASES DEL GLOTTONE S.A
Relación Entre Paquetes
Se ha utilizado paquetes para organizar las clases que intervienen, la utilización de paquetes es opcional
(se puede o no utilizar) podemos observar los nombres calificados de cada una de las clases y la relación
entre paquetes.
Nota: en la figura se muestran los atributos y operaciones más importantes de cada clase.
A continuación, se detalla la relación entre las clases de un mismo paquete.
Diagrama de clases de paquete Registro
Existe una relación de asociación
Podemos definir los atributos y operaciones en una hoja de clase de la siguiente manera:
Clase: Producto
Atributos:
codProducto
nombreProducto
precioProducto
descripciónProducto
unidadMedida
imagen
videoEnlace
stock
Operaciones:
Registrar Nuevo Producto
ingresarProducto(codProducto, nombreProducto, precioProducto , descripciónProducto ,
unidadMedida, umagen, videoEnlace,stock)
Actualizar Producto
modificarProducto(codProducto, nombreProducto, precioProducto, descripciónProducto ,
unidadMedida,umagen, videoEnlace,stock)
Eliminar Producto
eliminarProducto(codProducto)
4. URL: http://adoo-mczc.blogspot.mx/
4
Diagrama de clases de paquete Negocio
Existe una relación de dependencia, entre las clases.
Diagrama de Objetos
Este diagrama muestra un conjunto de objetos y sus relaciones, son iguales que los diagramas de clase,
pero con casos reales o prototipos, ejemplo
5. URL: http://adoo-mczc.blogspot.mx/
5
CONCEPTOS BÁSICOS PARA MODELAR
Antes de dar paso a la realización de nuevos diagramas indispensables para el análisis y diseño de
sistemas, considero necesario detallar los conceptos importantes para poder desarrollar diseños de
software.
Los diseños que se presentarán estarán realizados en el lenguaje UML.
UML es un lenguaje para Visualizar, Especificar, Construir y Documentar los artefactos de un sistema
con gran cantidad de software. Es un lenguaje de modelado que se centra en la representación
conceptual y física de un sistema.
Visualizar: un modelo explicito facilita la comunicación.
Especificar: Significa construir modelos precisos y completos, permite especificar todas las decisiones
del análisis
Construir: UML permite realizar la ingeniería directa e inversa, es decir que es posible establecer
correspondencias desde un modelo UML a código de programación y viceversa.
Documentar: UML cubre la documentación de la arquitectura del sistema y todos sus detalles.
Modelo conceptual de UML
Ø Elementos Estructurales: Son los nombres de los modelos, partes estáticas, estos se
denominan clasificadores:
Clase: es un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y
semántica.
Una interfaz muestra el comportamiento completo o parcial de una clase.
Colaboración: proporciona un comportamiento cooperativo mayor a la suma de comportamiento de
sus elementos.
Caso de uso: descripción de un conjunto de secuencias de acciones que ejecuta un sistema.
6. URL: http://adoo-mczc.blogspot.mx/
6
Clase activa: sus objetos tienen uno o ms procesos o hilos de ejecución
Componente: es una parte reemplazable de un sistema que conforma y proporciona la implementación
de un conjunto de interfaces (clases, librerías).
Artefacto: Es una parte física y reemplazable de un sistema que contiene información física (bits) hay
tipos de artefactos como: código fuente, ejecutables y scripts.
Nodo: Es un elemento físico que existe en tiempo de ejecución y representa un recurso computacional
que, generalmente, tiene alguna memoria y, a menudo capacidad de procesamiento.
Ø Elementos de comportamiento: Son las partes dinámicas de los modelos UML
Interacción: Es una conexión entre objetos, comprende mensajes intercambiados entre un conjunto de
objetos
Máquinas de estado: es un comportamiento que especifica las secuencias de estados por las que pasa
u objeto o interacción durante su vida en respuesta a eventos.
Actividad: Comportamiento que especifica una secuencia de pasos que ejecuta el proceso
computacional. Una actividad es una acción.
Ø Elementos de agrupación: Son las partes organizativas de los modelos.
Paquete: sirve para organizar el propio diseño, en él se pueden incluir los elementos estructurales,
comportamiento e incluso otros elementos de agrupación.
Ø Elementos de anotación: son las partes explicativas del modelo
Nota: Es un símbolo para mostrar restricciones y comentarios junto a un elemento o colección de
elementos
7. URL: http://adoo-mczc.blogspot.mx/
7
¿Qué se entiende por arquitectura de un sistema?
Un sistema con gran cantidad de software requiere ser visto desde diferentes perspectivas (usuarios).
La arquitectura permite manejar los diferentes puntos de vistas y controlar el desarrollo del sistema.
Se describe con 5 vistas interrelacionadas
Vista de casos de uso: Describen el comportamiento del sistema tal y como es percibido por usuarios
finales, analistas y encargados de pruebas.
Vista de diseño: Comprende clases, interfaces y colaboraciones, forman el vocabulario y solución.
Vista de interacción: Muestra el flujo de control de diversas partes, incluyendo mecanismos de
concurrencia y sincronización.
Vistas de Implementación: Comprende artefactos utilizados para ensamblar y poner en producción el
sistema físico.
Vista de despliegue: Contiene los nodos que forman la topología del hardware sobre la que se ejecuta
el sistema.
¿Qué son los diagramas?
Un diagrama es la representación gráfica de un conjunto de elementos, los cuales se crean para
visualizar un sistema desde diferentes perspectivas, representa una vista resumida.
Existen diagramas que permiten representar la parte estática de un sistema y otros que representan la
parte dinámica.
DIAGRAMAS ESTÁTICOS DIAGRAMAS DINÁMICOS
Ø Diagramas de clases
Ø Diagramas de componentes
Ø Diagramas de estructura compuesta
Ø Diagramas de objetos
Ø Diagramas de despliegue
Ø Diagramas de artefactos
Ø Diagramas de Casos de uso
Ø Diagramas de secuencia
Ø Diagramas de comunicación
Ø Diagramas de estados
Ø Diagramas de actividades
8. URL: http://adoo-mczc.blogspot.mx/
8
MODELO CONCEPTUAL
Al realizar un estudio o análisis para construir un sistema de software, una parte primordial, constituye
la construcción de un modelo conceptual del problema como también de la solución.
El modelo conceptual del problema ayuda a conocer el estado actual del lugar en el cual vamos a
implementar el sistema e identificar el problema o las necesidades para proporcionar una solución que
guiará la correcta construcción del software. Sirve para conocer el dominio del problema.
El modelo conceptual de la solución se realiza cuando se ha logrado comprender que es lo que se
requiere implementar, es una solución al problema presentado.
A continuación se presenta un ejemplo de Modelo conceptual del problema de Glottone S.A
Como se puede observar la estrategia para realizar un modelo conceptual consiste en extraer los
conceptos principales (palabras claves) del enunciado.
9. URL: http://adoo-mczc.blogspot.mx/
9
EJEMPLO DE DIAGRAMA DE CASOS DE USO Y CASOS DE USOS EXPANDIDOS
Con la finalidad de que la información publicada acerca de los Casos de uso , se comprenda mejor, a
continuación proporciono un ejemplo sencillo dictado en clases, éste consta del diagrama de casos de
uso y caso de uso expandido.
GLOTTONE S.A
GLOTTONE S.A es una cadena de comisariato tipo Gourmet. Su selecta clientela (de la alta sociedad),
no le gusta hacer grandes columnas. El dueño de la cadena Mr. Tak-nhonni considera utilizar altas
tecnologías para agilizar el proceso de facturación. La alta sociedad no usa dinero. Mr. Tak-nhonni desea
utilizar geoposicionamiento, realidad aumentada y códigos Qr para cumplir con su objetivo.
Diagrama de Casos de Uso
En este diagrama, podemos observar una relación de tipo <<include>> entre el caso de
uso ”Vender Productos ” y “Facturar Productos ” lo cual representa un llamado obligatorio
a “Facturar Productos”
Nota: Pueden existir casos de uso con relación de tipo Extend lo cual indica que un caso de uso puede
llamar a otro solo en ciertas circunstancias, pero no en todas.
A continuación, se presenta el desarrollo de caso de uso extendido para “VenderProductos”
Caso de Uso Expandido
Caso de uso: Vender Productos
Actores: Cliente
Propósito: Registrar una nueva venta de productos.
Resumen: El Cliente al capturar la imagen del código Qr de un producto, puede visualizar
toda la información del mismo y elegirlo para su compra.
Tipo: Primario
Pre condiciones: Deben estar ingresados los productos y los clientes
Curso Normal de Eventos
10. URL: http://adoo-mczc.blogspot.mx/
10
Acción del Autor Respuestas del Sistema
1. Este caso de uso
empieza cuando el
cliente captura el
código del
producto, el cual lo
direcciona al
formulario de
ventas.
3. Escoge la opción
Agregar para
comprar el
producto.
4. Si no desea
seguir agregando
productos, escoge
la opción Facturar
2. Muestra toda la información del producto.
5. Genera el formulario facturar
Línea 4. Ver Sección Facturar Productos
Sección Facturar Productos
Acción del Autor Respuestas del Sistema
2. El cliente verifica
que la información
generada para la
transacción esté
correcta
3. Acepta la
facturación
1. Carga los datos de la venta y determina el IVA, descuento y precio total.
4. Registra la nueva factura.
Flujo Alterno
Línea 3: Si no desea comprar producto, escoger cancelar.
Datos Relacionados:
11. URL: http://adoo-mczc.blogspot.mx/
11
Casos de usos Relacionados:
Registrar cliente
Registrar Productos
Diseño de Formulario:
Operaciones y Validaciones:
Operaciones:
Calcular IVA
Calcular descuento
Calcular precio total