EL MÉTODO:
ES UN PROCEDIMIENTO PARA ALCANZAR UN DETERMINADO FIN.
LA NOTACIÓN:
SISTEMAS DE SIGNOS CONVENCIONALES ADOPTADOS PARA EXPRESAR CIERTOS CONCEPTOS.
LA ACCIÓN DE DIBUJAR UN DIAGRAMA NO CONSTITUYE ANÁLISIS NI DISEÑO.
UN DIAGRAMA
SE LIMITA A CAPTURAR UNA DESCRIPCIÓN DEL COMPORTAMIENTO DEL SISTEMA (EN EL ANÁLISIS), O LA VISIÓN Y LOS DETALLES DE UNA ARQUITECTURA (EN EL DISEÑO).EL DISPONER DE UNA NOTACIÓN EXPRESIVA
Y BIEN DEFINIDA ES IMPORTANTE PARA EL PROCESO DE DESARROLLO DE SOFTWARE.UNA NOTACIÓN ESTÁNDAR
POSIBILITA AL ANALISTA O DESARROLLADOR EL DESCRIBIR UN UNIVERSO O FORMULAR UNA ARQUITECTURA Y COMUNICAR ESTAS DECISIONES ENTONCES DE FORMA NO AMBIGUA (QUE NO SE ENTIENDA DE VARIAS MANERAS).DIAGRAMAS (REPRESENTACIÓN GRAFICA QUE DETALLA LOS PASOS SUCESIVOS DE UN PROCESO).
UNA NOTACIÓN EXPRESIVA
HACE POSIBLE ELIMINAR BUENA PARTE DEL TEDIO (INCOMPATIBILIDAD DE 2 ATRIBUTOS) DE COMPROBAR LA CONSISTENCIA Y CORRECCIÓN DE LAS DECISIONES ADOPTADAS.
ELEMENTOS DE LA NOTACIÓ N
LA NECESIDAD DE VISTAS MÚLTIPLES:
ES IMPOSIBLE CAPTURAR TODOS LOS DETALLES SUTILES DE UN SISTEMA DE SOFTWARE COMPLEJO EN UNA SOLA VISTA. TAMBIÉN COMPRENDER LA ESTRUCTURA TAXONÓMICA (CLASIFICACIÓN) DE LAS CLASES (CONJUNTO DE OBJETOS QUE COMPARTEN UNA ESTRUCTURA Y UN COMPORTAMIENTO EN COMÚN), LOS MECANISMOS DE HERENCIA UTILIZADOS, LOS COMPORTAMIENTOS INDIVIDUALES DE LOS OBJETOS Y EL COMPORTAMIENTO DINÁMICO DEL SISTEMA EN SU CONJUNTO .
LOS MODELOS DEL SISTEMA
REFLEJAN TODA LA VERDAD SOBRE SUS CLASES, RELACIONES Y OTRAS ENTIDADES, Y CADA DIAGRAMA REPRESENTA UNA PROYECCIÓN DE ESTOS MODELOS.
EL MODELO FÍSICO DE UN SISTEMA
DESCRIBE LA COMPOSICIÓN CONCRETA EN CUANTO A HARDWARE Y SOFTWARE DEL CONTEXTO O IMPLANTACIÓN DEL SISTEMA.
DURANTE EL ANÁLISIS, DEBEN PLANTEARSE LAS SIGUIENTES CUESTIONES PRINCIPALES:¿
CUÁL ES EL COMPORTAMIENTO QUE SE DESEA DEL SISTEMA? ¿CUÁLES SON LAS MISIONES Y RESPONSABILIDADES DE LOS OBJETOS QUE LLEVAN A CABO ESTE COMPORTAMIENTO?
EN EL MODELO LÓGICO, LOS DIAGRAMAS DE OBJETO SIRVEN DE VEHÍCULOS PRIMARIOS PARA DESCRIBIR UNIVERSOS.
DURANTE EL DISEÑO, DEBEN PLANTEARSE LAS SIGUIENTES CUESTIONES PRINCIPALES RELATIVAS A LA ARQUITECTURA DEL SISTEMA
:¿QUÉ CLASES EXISTEN, Y COMO SE RELACIONAN ESTAS CLASES?¿QUÉ MECANISMOS SE UTILIZAN PARA REGULAR LA FORMA EN QUE LOS OBJETOS COLABORAN?¿DÓNDE DEBERÍA DECLARARSE CADA CLASE Y OBJETO?SE UTILIZAN LOS SIGUIENTES DIAGRAMAS, RESPECTIVAMENTE, PARA RESPONDER A ESTAS PREGUNTAS:
DIAGRAMAS DE CLASES DIAGRAMAS DE OBJETOS DIAGRAMAS DE MÓDULOS DIAGRAMAS DE PROCESOS
LOS 4 DIAGRAMAS
INTRODUCIDOS HASTA AHORA SON FUERTEMENTE ESTÁTICOS. SIN EMBARGO LOS EVENTOS SUCEDEN DINÁMICAMENTE EN TODOS LOS SISTEMAS BASADOS EN SOFTWARE: LOS OBJETOS SE CREAN Y SE DESTRUYEN, LOS OBJETOS ENVÍAN MENSAJES A OTROS DE FORMA ORDENADA.
EN EL DESARROLLO ORIENTADO A OBJETOS, SE EXPRESA LA SEMÁNTICA (SIGNIFICADO DE LAS PALABRAS) DINÁMICA DE UN PROBLEMA O SU IMPLANTACIÓN MEDIANTE DOS DIAGRAMAS ADICIONALES:
DIAGRAMA DE TRANSICIÓN DE ESTADOS DIAGRAMAS DE INTERACCIÓN
UNA DE LAS COSAS QUE LAS HERRAMIENTAS
PUEDEN HACER ES AYUDAR A LOS MALOS DISEÑADORES A CREAR DISEÑOS HORRIBLES MUCHO MÁS RÁPIDO DE LO QUE JAMÁS HABÍAN PODIDO.
LOS 2 ELEMENTOS ESENCIALES:
LAS CLASES Y SUS RELACIONES.
SE UTILIZA UN DIAGRAMA DE CLASE
PARA MOSTRAR LA EXISTENCIA DE CLASES Y SUS RELACIONES EN LA VISIÓN LÓGICA DE UN SISTEMA.
DURANTE EL ANÁLISIS, SE UTILIZA DIAGRAMA DE CLASES PARA INDICAR LAS MISIONES Y RESPONSABILIDADES COMUNES DE LAS ENTIDADES QUE CARACTERIZAN EL COMPORTAMIENTO DE UN SISTEMA.
DURANTE EL DISEÑO, SE UTILIZAN DIAGRAMAS DE CLASE PARA PLASMAR LA ESTRUCTURA DE LAS CLASES QUE FORMAN LA ARQUITECTURA DEL SISTEMA.
UN ATRIBUTO DENOTA
UNA PARTE DE UN OBJETO AGREGADO. POR ESO SE UTILIZA TANTO DURANTE EL ANÁLISIS COMO EN EL DISEÑO PARA EXPRESAR UNA PROPIEDAD SINGULAR DE LA CLASE. SEGÚN LA SIGUIENTE SINTAXIS: A – NOMBRE DEL ATRIBUTO SOLAMENTE
:C
– CL A SE DEL ATRIBUTO SOLAMENTE A : CNOMBRE Y CLASE DEL ATRIBUTO A : C = E
NOMBRE, CLASE Y VALOR DEL ATRIBUTO
EL NOMBRE DEL ATRIBUTO
DEBE SER NO AMBIGUO (QUE NO SE ENTIENDA DE DISTINTAS FORMAS) EN EL CONTEXTO DE LA CLASE.
UNA OPERACIÓN DENOTA
ALGÚN SERVICIO PROPORCIONADO POR LA CLASE . LA DESCRIPCIÓN COMPLETA DE LA OPERACIÓN:N ( )
NOMBRE DE LA OPERACIÓN SOLAMENTE R N(ARGUMENTOS)CLASE DE RETORNO DE LA OPERACIÓN, NOMBRE Y PARÁMETROS FORMALES (SI LOS HAY)
LOS NOMBRES DE OPERACIÓN
DEBEN SER NO AMBIGUOS EN EL CONTEXTO DE LA CLASE.
UNA CLASE ABSTRACTA
SE CONVIERTE EN UNA CLASE GUÍA DE LOS COMPORTAMIENTOS QUE DEBEN EXISTIR EN UNA CLASE, ES AQUELLA PARA LA CUAL NO PUEDEN CREARSE INSTANCIAS. SE INTRODUCE UNA MARCA O ADORNO ESPECIAL PARA DESIGNAR UNA CLASE COMO ABSTRACTA,
RELACIONES DE CLASES
LAS CLASES RARAMENTE PERMANECEN EN SOLITARIO, COLABORAN CON OTRAS CLASES DE DIVERSAS MANERAS. LAS CONEXIONES ESENCIALES ENTRE CLASES INCLUYEN LAS RELACIONES DE ASOCIACIÓN, HERENCIA, POSESIÓN Y USO, CUYOS ICONOS
EL ICONO DE ASOCIACIÓN
CONECTA DOS CLASES Y DENOTA UNA CONEXIÓN SEMÁNTICA. UNA CLASE PUDE TENER UNA ASOCIACIÓN CONSIGO MISMA (LLAMADA ASOCIACIÓN REFLEXIVA).
SE APLICA EL ADORNO DE LA CARDINALIDAD (NUMERO DE INSTANCIAS QUE PARTICIPAN EN UNA RELACIÓN DE CLASES) AL EXTREMO DE DESTINO DE UNA ASOCIACIÓN, Y DENOTA EL NÚMERO DE ENLACES ENTRE CADA INSTANCIA DE LA CLASE ORIGEN Y LAS INSTANCIAS DE LA CLASE DESTINO.
TAMBIÉN ES POSIBLE TENER MÁS DE UNA ASOCIACIÓN ENTRE EL MISMO PAR DE CLASES. ADICIONALMENTE, PUEDE EXPRESARSE LA CARDINALIDAD DE LAS ASOCIACIONES, UTILIZANDO LAS SINTAXIS DE LOS SIGUIENTES EJEMPLOS:
1
EXACTAMENTE UNO M NUMERO ILIMITADO(CERO O MÁS)0..N
CERO O MAS 1..NUNO O MAS 0..1
CERO A UNO 3..7
RANGO ESPECIFICADO 1..3,7
RANGO ESPECIFICADO O NÚMERO EXACTO
EL ICONO DE HERENCIA
APARECE COMO UNA ASOCIACIÓN CON UNA CABEZA DE FLECHA. LA FLECHA APUNTA A LA SUPERCLASE Y EL EXTREMO OPUESTO DE LA ASOCIACIÓN DESIGNA LA SUBCLASE
EL ICONO DE POSESIÓN (A LA RELACIÓN SE LE CONOCE TAMBIÉN COMO AGREGACIÓN) APARECE COMO UNA ASOCIACIÓN CON UN CIRCULO (RELLENO), EN EL EXTREMO QUE SEÑALA AL AGREGADO .
EL ICONO DE UTILIZACIÓN
DENOTA UNA RELACIÓN CLIENTE/PROVEEDOR Y APARECE COMO UNA ASOCIACIÓN CON UNA CIRCUNFERENCIA (EN OPOSICIÓN AL CÍRCULO DEL ICONO DE POSESIÓN) EN EL EXTREMO QUE DENOTA AL CLIENTE.
LOS ICONOS DESCRITOS
HASTA AHORA CONSTITUYEN LOS ELEMENTOS ESENCIALES DE TODOS LOS DIAGRAMAS DE CLASES. EN CONJUNTO, PROPORCIONAN AL DESARROLLADOR UNA NOTACIÓN SUFICIENTE PARA DESCRIBIR LOS ASPECTOS FUNDAMENTALES DE LA ESTRUCTURA DE CLASES DE UN SISTEMA.
ELEMENTOS ESENCIALES
CATEGORÍA DE CLASES:
COLECCIÓN LÓGICA DE CLASES. UNA CATEGORÍA DE CLASE ES UN AGREGADO QUE CONTIENE CLASES Y OTRAS CATEGORÍAS DE CLASES.UNA CATEGORÍA DE CLASES NO CONTRIBUYE DIRECTAMENTE AL SISTEMA CON ESTADO U OPERACIONES. LO HACE SOLO INDIRECTAMENTE, A TRAVÉS DE LAS CLASES QUE CONTIENEN.
CLASES PARAMETRIZADAS
.- DENOTA UNA FAMILIA DE CLASES CUYA ESTRUCTURA Y COMPORTAMIENTO ESTÁN DEFINIDAS INDEPENDIENTEMENTE DE SUS PARÁMETROS DE CLASES FORMALES.
UNA CLASE PARAMETRIZADA
SE VISUALIZA COMO UNA CLASE SIMPLE PERO CON UNA CAJA DE LÍNEA DISCONTINUA EN LA ESQUINA SUPERIOR DERECHA INDICANDO SUS PARÁMETROS FORMALES.
UNA CLASE INSTANCIADA
SE SEÑALA CON UNA CAJA DE LÍNEA CONTINUA DENOTANDO SUS PARÁMETROS ACTUALES. LA RELACIÓN DE UN INSTANCIACIÓN ENTRE UNA CLASE PARAMETRIZADA Y SU CLASE INSTANCIADA SE REPRESENTA CON UNA LÍNEA DISCONTINUA QUE APUNTA A LA CLASE PARAMETRIZADAMETACLASE
ES LA CLASE DE UNA CLASE, LA META-RELACIÓN
SE REPRESENTA COMO UNA LÍNEA GRUESA DE COLOR GRIS CON CABEZA DE FLECHA, Y APUNTA DE UNA CLASE A SU METACLASE.
UTILIDADES DE CLASE
SE MANIFIESTAN DE UNA O DOS FORMAS.
PRIMERO, UNA UTILIDAD DE CLASE PUEDE DENOTAR UNO O MÁS SUBPROGRAMAS LIBRES EN LOS LENGUAJES HÍBRIDOS (PROCEDE DE 2 COSAS DE DISTINTA NATURALEZA), ES POSIBLE ESCRIBIR FUNCIONES QUE NO SON MIEMBROS DE NINGUNA CLASE), EL NOMBRE DE LA UTILIDAD DE CLASE
NO TIENE ENTONCES MÁS SIGNIFICADO QUE EL DE DAR UN NOMBRE ADECUADO A UN GRUPO LÓGICO DE TALES FUNCIONES.
SEGUNDO, UNA UTILIDAD DE CLASE PUEDE NOMBRAR A UNA CLASE QUE SOLAMENTE TIENE OPERACIONES Y VARIABLES DE INSTANCIA DE CLASE.
UNA UTILIDAD DE CLASE
SE REPRESENTA COMO UN ICONO PARA UNA CLASE NORMAL AL QUE SE LE AÑADE UNA SOMBRA.