21 de Agosto del 2012.
CURSO UML (LENGUAJE MODELADO UNIFICADO) Existen 3 diferentes maneras de uso de UML: SKETCH: Sirve para que los desarrolladores comuniquen aspectos generales del sistema. BLUEPRINT: Se requiere que un diseñador realice los diagramas a tal detalle que el programador lo entienda para comenzar la codificación. Requiere más detalle. LENGUAJE DE PROGRAMACIÓN: Los desarrolladores dibujan diagramas y generan automáticamente código listo para compilarse. Existen aproximadamente 13 diagramas: 1. Diagramas Estructurales: Presentan modelos estáticos como clases, paquetes y componentes. Describe los tipos de objetos en un sistema. Describe la estructura estática de las clases en el sistema e ilustra los atributos, operaciones y relaciones entre las clases.
Notas: Relación (Multiplicidad) (Multiplicidad) / Herencia (Generalización)/ Todo lo que se encuentre entre << >> es una palabra reservada a. Diagramas de Clases: Lo componen Nombre, atributos y operaciones Nombre: Son sustantivos y empezaran con Mayúsculas. Las operaciones y atributos o p ropiedades pueden tener visibilidad +public, #protected, -private y ~package Una Propiedad es un conjunto de atributos y asociaciones. VISIBILIDAD: + public: Visible para todas las clases # protected: Es conocido en el mismo paquete, su visibilidad es por paquete siempre y cuando estén en el mismo paquete ~ package: Solo puede ser visto en su mismo paquete - private: Solo la misma clase lo puede ver
IDENTIFICAR LOS ELEMENTOS DE UN DOMINIO ANALISIS ORIENTADO A OBJETOS: Descomposición por cosas Estrategias: Lista de Categorías y Frases Nominales Notas: Dominio (NEGOCIO, entender el negocio)
Ejercicio: Identifique las posibles clases existentes bajo el siguiente escenario:
“Se necesita modelar las potenciales clases para l as siguientes elecciones, por lo
tanto es necesario contemplar la emisión del voto y la contabilidad de los mismos, mostrando un reporte del ganador de la elección”
Urna Votante Candidatos Funcionarios de Casilla Papeleta Mampara Marcador de Papeleta Boleta de Resultados Credencial de Elector Tinta Indeleble Lista Nominal Marcadora de Credencial Cómputo de Votos
2. Diagramas de Comportamiento: Muestran la conducta en el tiempo de ejecución. 3. Diagramas de Interacción: Representa la forma en que los objetos interactúan y se comunican entre sí.
22 de Agosto del 2012. Continuación Diagramas de Clase Diagramas Estructurales: Presentan modelos estáticos como clases, paquetes y componentes. a. Diagramas de Clases: Las clases que se utilizaran en un diagrama UML deben tener comportamiento dado de que manipula sus propias variables. MULTIPLICIDAD: La multiplicidad en una propiedad es un indicativo de cuantos objetos pueden llenar la propiedad, 1 a 1 (uno a uno: Una orden debe tener exactamente un cliente), 0..1 (uno a muchos: Un cliente corporativo puede o no tener representante de ventas) y de *ó 0..* (muchos a muchos: Un cliente puede poner desde cero a muchas ordenes) OPERACIONES DE LA CLASE: Es cualquier acción que puede llevar a cabo una clase, todas las operaciones se escribirán a través de verbos. Es necesario hacer distinción entre operación y método: Una operación es aquella que es invocada en un objeto (la forma) mientras que el método es lo que se ejecuta en sí. Las operaciones que no afectan el comportamiento de una clase se llaman queries. GENERALIZACIÓN: Lo particular (SUBTIPO) abajo del diagrama de clases y lo genérico arriba (SUPERTIPOS) del diagrama de clase. La generalización se representa con una flecha. Los comentarios con una línea discontinua. ---------DEPENDENCIA: Existe entre dos elementos si cuando cambia la definición de uno hace cambiar al otro elemento. La dependencia se representa con una línea discontinua y flecha. ---------> ALTA COHESIÓN: Clases con objetivo único, que haga lo que se le asigno. Y solo tenga una sola responsabilidad. BAJO ACOPLAMIENTO: Que no tengan dependencias cíclicas y dependencias innecesarias. EJERCICIO: “Se necesita leer un archivo que está alojado en una ruta el sistema de archivos, el layout del archivo ya está determinado, una vez que es leído el archivo, se debe de transformar en xml y enviar su contenido a otro sistema mediante un llamado a un servicio Web que ya está publicado.” “Las variables estáticas se representaran de manera subrayada en l os atributos y operaciones.”
AGREGACIÓN y COMPOSICIÓN son asociaciones específicas. “Tiene un”, en términos generales un objeto es parte de otro objeto.
AGREGACIÓN: Una clase es el contenedor de otras clases. Sin embargo, las clases contenidas no tienen dependencia con su contenedor. Se representa con una línea y un diamante --------<> COMPOSICIÓN: La relación es aún más fuerte que la agregación. Un objeto no puede existir sin la existencia del otro. Se representa con una línea y un diamante de color negro --------<>
23 de Agosto del 2012. Continuación Diagramas de Clase CLASES ABSTRACTAS E INTERFACES: Una clase abstracta es aquella que solo presenta operaciones abstractas y no abstractas. El nombre en las clases abstractas se escribe en CURSIVA Una interface es una clase que es 100% abstracta, no contiene operaciones con cuerpo. TAREA: Realice un diagrama de clases considerando lo siguiente: “Se requiere que se programe un traductor de idiomas extranjeros a otomí; l os lenguajes
existentes deben ser Ingles, Francés y Alemán. DIAGRAMA DE OBJETOS. Proporciona información acerca de las relaciones entre instancias de clase en un punto en particular, también se puede encontrar como diagrama de instancias. Un diagrama de objetos solo se representa mediante un rectángulo sin compartimentos. DIAGRAMA DE PAQUETES. Las clases representan la forma básica en un sistema construido bajo el paradigma orientado a objetos. PAQUETE: Permite agrupar elementos bien relacionados. Comúnmente se usan para agrupar clases en un diagrama, además se usan para agrupar cualquier otro elemento UML. Así como una clase pertenece a un único paquete, un paquete también puede pertenecer a otro paquete. Otra forma de representar los paquetes anidados en UML es java::útil::Date Los paquetes se agrupan conforme a su funcionalidad. Son extremadamente útiles cuando se desea representar componentes a grande escala, ayudan a mantener la relación de dependencias bajo control. EJERCICIO: Realice un diagrama de paquetes considerando lo siguiente “Modele un diagrama de paquetes considerando una arquitectura usando el patrón MVC, el sistema deberá tener dependencias externas de algún framework conocido, estas dependencias también deberían de estar consideradas.
27 de Agosto del 2012. DIAGRAMA DE COMPONENTE. Se usan para ilustrar como los componentes de un sistema interactúan juntos a un nivel alto de abstracción. Se unen a través de interfaces, las cuales pueden ser físicas o lógicas. Son útiles las interfaces para que un componente no dependa de otro componente. La relación entre un componente u su interfaz se llama realización. DIAGRAMAS DE DESPLIEGUE Es un diagrama de arquitectura en tiempo de ejecución del sistema en el mundo real. Nos m uestra como las entidades del software se despliegan en hardware físico, nodos y dispositivos, son diagramas realmente simples. En el diagrama de despliegue la asociación (línea vertical) también se conoce como ruta. Un NODO es algo que puede almacenar software, dentro de un nodo se almacenan artefactos. 2. Diagramas de Comportamiento: Muestran la conducta en el tiempo de ejecución. DIAGRAMAS DE CASOS DE USO Son útiles como herramienta de Alto nivel para representar los requerimientos funcionales del sistema, describen interacciones típicas entre el usuario y el sistema en si, proporcionando una narrativa de cómo funciona el sistema. ESCENARIO: Secuencia de pasos que describen entre el usuario y el sistema.
28 de Agosto del 2012. Diagramas de Comportamiento: Muestran la conducta en el tiempo de ejecución. DIAGRAMAS DE CASOS DE USO Son útiles como herramienta de Alto nivel para representar los requerimientos funcionales del sistema, describen interacciones típicas entre el usuario y el sistema en sí, proporcionando una narrativa de cómo funciona el sistema. ESCENARIO: Secuencia de pasos que describen la interacción entre el usuario y el sistema. ACTOR: Es el rol que el usuario juega con respecto al sistema.