UML: Lenguaje De Modelado Unificado

1y ago
14 Views
3 Downloads
1.47 MB
55 Pages
Last View : 16d ago
Last Download : 3m ago
Upload by : Emanuel Batten
Transcription

UML: Lenguaje de Modelado UnificadoYalú Galicia Hdez. (FCC/BUAP)1

¿Qué es UML? Diagramas UMLDiagrama de clases Clase,objetos Relaciones entre clases ciaRealizaciónDiseño OOYalú Galicia Hdez. (FCC/BUAP)2

UML(Unified Modeling Language) es unlenguaje que permite visualizar, modelar,construir y documentar los elementos queforman un sistema de software usandoobjetos. Es decir, para realizar un proyecto debemosantes realizar un esquema del mismo. ElUML nos permite mediante diagramas,plasmar de una forma detallada e inteligiblela solución a un problema planteado.Yalú Galicia Hdez. (FCC/BUAP)3

UML está compuesto por diversos elementosgráficos que se combinan para conformardiagramas Los diagramas tienen como objetivo presentardiversas perspectivas de un sistema. A esto se lellama Modelo. El modelo UML de un sistema es similar a unmodelo a escala de un edificio junto con lainterpretación del arquitecto del edificio. Tenemos que tener en cuenta que un modeloUML describe lo que supuestamente hará unsistema, pero no dice como implementar dichosistema. Yalú Galicia Hdez. (FCC/BUAP)4

Un modelo es una descripcion completa de un sistema desdeuna perspectiva especifica (diagrama)Use CaseUseCaseDiagramasDiagramsDiagramsdeSecuenciaUse CaseUseCaseDiagramasDiagramsDiagramsdeCasos de eEstadoYalú Galicia Hdez. (FCC/BUAP)StateStateDiagramsDiagramasDiagramsde asDiagramsDiagramsDeDeployment5

Se usan los diagramas de Casos de Uso para visualizarla interacción del sistema con el mundo exteriorYalú Galicia Hdez. (FCC/BUAP)6

Los diagramas de secuencia muestran cómo se dapaso a paso cierta funcionalidad en el sistemaYalú Galicia Hdez. (FCC/BUAP)7

Los diagramas de colaboración muestran cómo interactúanlos objetos para lograr cierta funcionalidad en el sistemaYalú Galicia Hdez. (FCC/BUAP)8

Los diagramas de clase muestran la estructura delsistemaYalú Galicia Hdez. (FCC/BUAP)9

Los diagramas de componentes ilustran la organización ydependencia entre los componentes que definen laarquitectura del sistemaYalú Galicia Hdez. (FCC/BUAP)10

Los diagramas de deployment permiten visualizar ladistribución de los componentes del sistema através de la empresaYalú Galicia Hdez. (FCC/BUAP)11

¿Qué es UML? Diagramas UMLDiagrama de clases Clase Relaciones entre nHerenciaRealizaciónDiseño OOYalú Galicia Hdez. (FCC/BUAP)12

Eneste curso, nos enfocaremos solamente enlos diagrama de clases, como un medio dediseño de nuestros programas. La forma de representar una clase en UML, esmediante una caja con divisionesNombre de la claseLista de atributosLista de operaciones oaccionesYalú Galicia Hdez. (FCC/BUAP)13

Recordando algunos conceptosdel paradigma orientado aobjetos, una clase es unacategoría o grupo de cosas quetienen atributos y accionessimilares.Por ejemplo: La clase“lavadora” tiene atributoscomo, la marca, el modelo, elnumero de serie y lacapacidad. También podemosobservar que entre lasacciones o comportamientosde esta clase se encuentran:“agregar ropa”, “agregardetergente”, “activarse”,“enjuagar ropa” y “sacar ropa”Yalú Galicia Hdez. arRopa( pa()14

LavadoraVariable:tipomarca: Stringmodelo: StringnoSerie: Intcapacidad: IntMétodo ofunción( parámetros):tipo de regresoNombre de laclaseatributosagregarRopa(r: Ropa): voidagregarDetergente(): voidiniciar(): voidenjuagarRopa(): voidsacarRopa(): RopaYalú Galicia Hdez. (FCC/BUAP)Comportamientoo acciones15

MÉTODOS DE ACCESOSímbolo Indicaprivado (oculto) público (visible)#protegido (semioculto)acciones públicas interface!Yalú Galicia Hdez. (FCC/BUAP)Lavadora- marca: String- modelo: String- noSerie: Int- capacidad: Int agregarRopa(r: Ropa): void agregarDetergente(): void iniciar(): void enjuagarRopa(): void sacarRopa(): Ropa16

ObjetosCLASEPunto-x: real-y: real rotar(angulo: real) Escala(factor: real)p1: Puntox 3.14y 2.718p2: Puntox 1y 1.414Yalú Galicia Hdez. (FCC/BUAP)17

¿Notacióncamello? Nombres Inician con MayúsculaSon en singularSe aplica notación camello Nombre de atributossustantivosInician con minúsculaSe aplica notación camello Nombre de las clases:de los métodosVerbos (acciones)Inician con minúsculaSe aplica notación camelloYalú Galicia Hdez. (FCC/BUAP)En la notación camello,cuando se unen variaspalabras, cada palabrainicia con mayúsculaEj: lavarRopaSucia18

¿Qué es UML? Diagramas UMLDiagrama de clases Clase Relaciones entre nHerenciaRealizaciónDiseño OOYalú Galicia Hdez. (FCC/BUAP)19

Los problemas del “mundo real”, son máscomplejos que modelar que una simple clase,más bien, se tiene muchos objetos de distintasclases comunicándose unos con otros. Estosignifica, que dichos objetos establecenrelaciones. Básicamente las relaciones que se establecenson: ciaRealizaciónYalú Galicia Hdez. (FCC/BUAP)20

La relación más simple entre clases es la asociación.Indica que dos clases tienen una relación que las asociasegún el papel que cada una juega con respecto a otra.Se usa la asociación para relacionar dos objetos quenecesitan colaborar enviándose mensajesEn un diagrama de clases, la asociación se indicamediante una línea continua que se dirige de un objetoa otro.PersonaEmpresaAsociaciónYalú Galicia Hdez. (FCC/BUAP)21

Para aclarar su significado, En la línea se puedeanotar el nombre de la relación (normalmente unverbo) y con un triángulo se indica la dirección enla que hay que leer dicho nombre. Por default la asociación es bi-direccional.Opcionalmente se pueden colocar un nombre derol para cada clase, dicho rol es un nombrealternativo que representa el papel que tomacada clase en la relaciónPersonaTrabaja enTrabajadorYalú Galicia Hdez. (FCC/BUAP) EmpresaEmpleador22

La Multiplicidad es el número de instancias de unaclase relacionadas a UNA instancia de otra clase Para cada asociación existen dos decisiones quetomar en cuanto a multiplicidad; una para cadaextremo de la asociación Por ejemplo, en la conexión entre Profesor y Curso Cada instancia de Profesor, puede impartir muchos (ceroo más) cursos Para cada instancia de Curso, hay exactamente unProfesor ProfesorCurso1Yalú Galicia Hdez. (FCC/BUAP)0. *23

Cada extremo de la asociación contiene unindicador de multiplicidad Indica el número de objetos que participan en la relaciónSin especificarExactamente unoMuchos (Cero o más,sin limite)Uno o másCero o unoRango EspecíficoVarios RangosYalú Galicia Hdez. (FCC/BUAP)1*0.*1.*0.12.42,4.6,824

La multiplicidad responde dos preguntas ¿La asociación es obligatoria o es opcional?¿Cuál es el mínimo y máximo número de objetos de unaclase que se pueden enlazar a un objeto de la otra clase?Las decisiones de multiplicidad exponen muchassuposiciones escondidas acerca del problema que seestá modelando¿Se puede ir el maestro de licencia o tomar vacaciones? ¿Puede un curso tener dos maestros? ProfesorCurso1Yalú Galicia Hdez. (FCC/BUAP)1. *25

Esta relación implica dependencia entre clases.Se denota mediante una línea punteada conflecha. Siempre es dirigida (La clase A depende de la clase B)La dependencia es causada porque un método enla clase A temporalmente “usa un” objeto de laclase B.AB“usa una”Yalú Galicia Hdez. (FCC/BUAP)26

Porejemplo, un Pedido usa una Cuenta,porque un pedido necesita acceder a losobjetos de tipo cuenta para comprobar elestado de un crédito La flecha es dirigida hacia la clase “usada”PedidoCuenta“usa una”Yalú Galicia Hdez. (FCC/BUAP)27

Es común que un objeto contenga objetos de otrasclases, tal capacidad se llama agregación. Por ejemplo: Un objeto Auto tiene o esta formadopor objetos de otras clases (Llantas, Motor, etc.) La relación que se establece entre estos objetos sellama “tiene un”, “es parte de” o “consta de” Ejemplo: Un auto tiene un motor Un escuela tiene alumnos La relación de agregación, es una relación “débil”entre los objetos, ya que estos pueden existirindependientemente del “todo”. Es decir, una llanta“puede existir”, sin ser parte de un auto.Yalú Galicia Hdez. (FCC/BUAP)28

1.4AutoLlantamultiplicidad1Tiene unMotorAgregación: diamante vacíoYalú Galicia Hdez. (FCC/BUAP)29

País1.*Estado0.*PlayaYalú Galicia Hdez. (FCC/BUAP)30

Es una relación de composición es muyparecida a la anterior (del tipo tieneun), sólo que en este caso la relaciónes mas fuerte.La vida de los objetos incluidos comoatributos es totalmente dependientede la vida del objeto contenedor Por ejemplo, una cara puede serdescrita, por los elementos que laforman; es decir; una cara estácompuesta por un par de ojos, una bocay una narizTanto los ojos, la boca y la nariz, sonobjetos de otras clases: la clase Ojo, laclase Boca y la clase Nariz; sin embargono existen independientemente a unacara.Yalú Galicia Hdez. (FCC/BUAP)31

Tiene unCara2Ojo11BocaNarizComposición: diamante llenoYalú Galicia Hdez. (FCC/BUAP)32

Yalú Galicia Hdez. (FCC/BUAP)33

Comoya comentamos, la herencia permiteespecificar jerarquías de clases en las queunas clases toman propiedades de otras(atributos, operaciones y relaciones). A la clase superior se la llama superclasemientras que a la clase que hereda laspropiedades de la anterior se la llamasubclase. La relación que se establece entre clasesque heredan, se llama “es un” Por ejemplo: Una persona es un ser humanoUn perro es un caninoUn auto es un medio de transporteYalú Galicia Hdez. (FCC/BUAP)34

VehículoEstas métodos seheredan mover () detener ()es unCocheBicicleta llenarGasolina()Un coche es un vehículo,pero NO todos los vehículosson coches!!Yalú Galicia Hdez. (FCC/BUAP)35

A este nivel, laclase esabstracta Abstracta ConcretaYalú Galicia Hdez. (FCC/BUAP)36

La mayoría de las veces una clase hereda de solo otra clase(herencia simple), sin embargo una misma clase puedeheredar de varias clases distintas (herencia multiple).Esto puede ayudar a simplificar el Modelo de Analisis, perodebe usarse juiciosamente, ya que puede ser dificil deimplementar en el Modelo de anoHelicópteroPájaroYalú Galicia Hdez. (FCC/BUAP)LoboCaballo37

Recordamosque polimorfismo se definecomo la capacidad de objetos de clasesdiferentes, relacionados mediante herencia,a responder de forma distinta al mismomensaje (llamada a un método) Es decir, el mismo mensaje que se envía amuchos tipos de objetos, toma “muchasformas” y de ahí viene el términopolimorfismo.Yalú Galicia Hdez. (FCC/BUAP)38

Ladefinición del método reside en la superclase La implementación del método reside en lasubclase La invocación es resuelta al momento deejecución (ligadura FrenarYalú Galicia Hdez. (FCC/BUAP)39

TransporteEn itálicasdenota claseabstractasLa definición de estosmétodos se heredan,pero hay redefinirloso sobreescribirlos avanzar () frenar ()Caballo avanzar () frenar ()Cohete avanzar () frenar ()Yalú Galicia Hdez. (FCC/BUAP)Carro avanzar () frenar ()40

Clase Encapsulación Relaciones entreclases Asociación Dependencia Agregación Composición Herencia PolimorfismoYalú Galicia Hdez. (FCC/BUAP)41

¿Qué es UML? Diagramas UMLDiagrama de clases Clase Relaciones entre nHerenciaRealizaciónDiseño OOYalú Galicia Hdez. (FCC/BUAP)42

Pararesolver un problema usando POO sedeben seguir los siguientes pasos Análisis Diseño En esta etapa se deben identificar todos los objetosrelacionados en la descripción del problemaClasificar los objetosObtener sus características y operaciones principales.Identificar las relaciones entre los objetosCodificación Escribir el código de cada objeto sin tener en cuentaal resto de elementos del programaImplementar las relaciónesYalú Galicia Hdez. (FCC/BUAP)43

La identificación de clases y objetos es la partemás difícil del diseño orientado a objetos La identificación de objetos implicadescubrimiento e invención No hay recetas fáciles para identificar clases yobjetos Clasificar es agrupar cosas que tienen unaestructura común o exhiben un comportamientocomún La clasificación ayuda a identificar jerarquías degeneralización, especialización, y agregaciónentre clases. La clasificación, también proporciona una guíapara tomar decisiones sobre modularización Yalú Galicia Hdez. (FCC/BUAP)44

Laclasificación es el medio por el cualordenamos el conocimientoYalú Galicia Hdez. (FCC/BUAP)45

Escribe la descripción del problemaIdentificar la meta Subrayalo siguiente: sustantivos: candidatos a clases verbos: candidatos a métodos adjetivos: candidatos a atributosYalú Galicia Hdez. (FCC/BUAP)46

Candidatos aClases Hacerun programa que permita realizaroperaciones aritméticas sobre fracciones.Además, permita imprimir el resultado enla forma a/b, donde a es el numerador y bel denominador.Candidatosa atributosYalú Galicia Hdez. (FCC/BUAP)Candidatosa métodos47

Enel rancho la "Esperanza", se cuenta condiferentes graneros para almacenar semillas(maíz, trigo, sorgo, etc.). Los graneros tienendiferentes formas y tamaños, algunos soncilíndricos, otros cúbicos y otros cónicos.Conocer el volumen de semillas almacenadas esvital para la subsistencia de la región entiempos de sequías; por lo que se requierecalcular constantemente la cantidad total desemillas almacenadas en los graneros, sinimportar el tipo de semilla, para evitardesabasto. Además, visualizar el tipo de semillaque está almacenada en cada graneroYalú Galicia Hdez. (FCC/BUAP)48

ElementoAceptadoRancho Graneros SemillasXMaizXSorgoXTrigoXRegiónXConocer volumen Calcular volumen total Visualizar tipo semillas Formas (cilindro, cubo, cónicos)Tamaño (medidas)Tipo de semillaYalú Galicia Hdez. (FCC/BUAP) 49

Paracada objeto encontrado, modelar suclase por separado Relacionar las clases Fórmulas para cálculo de volúmenes:cubo lado3cilindro PI * radio2 * Alturacono (PI * radio2 *Altura)/3Yalú Galicia Hdez. (FCC/BUAP)50

0.*RanchoGranero- graneros[]: Granero-tipoGrano: String calcularVolTotal() visualizarTipo() calcularVolumen()Cilíndrico-radio: float-altura: float calcularVolumen()CónicoCúbico- lado: float calcularVolumen()Yalú Galicia Hdez. (FCC/BUAP)- radio: float- altura: float calcularVolumen()51

Una relación de realización, indica que una claseimplementa un comportamiento específico de otraclase, llamada interface o protocolo. Una interface puede ser realizada por muchasclases Una clase concreta puede implementar muchasinterfaces estereotipo Interfaz Clase concretaYalú Galicia Hdez. (FCC/BUAP) Interfaz FormaFormaRectángulo52

Unainterface es como una clase abstracta,sólo que todos sus métodos son siempreabstractos. Las interfaces son utilizadas para definirroles representados por objetos. Una misma persona puede jugar varios rolescomo por ejemplo: maestro, padre, hermano,esposo, etc. Deesta forma, la relación de realización quese establece entre la clase y la interface estambién una relación “es-un”Yalú Galicia Hdez. (FCC/BUAP)53

Seres vivos Interfaz Ciudadano Interfaz EmpleadoSer humanopersona Unaclase puede heredar de solo una clase,pero puede implementar muchas interfacesYalú Galicia Hdez. (FCC/BUAP)54

Yalú Galicia Hdez. (FCC/BUAP)55

diversas perspectivas de un sistema. A esto se le llama Modelo. El modelo UML de un sistema es similar a un modelo a escala de un edificio junto con la interpretación del arquitecto del edificio. Tenemos que tener en cuenta que un modelo UML describe lo que supuestamente hará un sistema, pero no dice como implementar dicho sistema.

Related Documents:

2 IDEAS'07 - Modelado de Negocios 3 Introducción En los últimos siete años, el Modelado de Negocios ha Modelado de Negocios ganado popularidad Una simple búsqueda en Internet (Google) arroja: Más 83.4 millones de enlaces a documentos en Inglés y Más de 1.5 millones de enlaces a documentos en Español En Librerías Digitales especializadas la cantidad de

Unidad I: Introducción al lenguaje ensamblador 1.1 Importancia de la programación en lenguaje ensamblador Para comenzar el curso empezaremos conociendo que es el lenguaje ensamblador que utilizaremos y algunos conceptos básicos del mismo: Definición: El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado .

Lenguaje SQL Página 3-PARTE I-Tema 1. EL LENGUAJE SQL Y LOS SISTEMAS DE GESTIÓNDE BASES DE DATOS. Autor: Fernando Montero El lenguaje S.Q.L. S.Q.L. significa lenguaje estructurado de consulta (Structured Query Language). Es un lenguaje estándar de cuarta generación que se utiliza para definir, gestionar y manipular la

La técnica de modelado de objetos (OMT) es un lenguaje de modelado de objetos para software de modelado y diseño. Se desarrolló alrededor de 1991 por Rumbaugh, Blaha, Premerlani, Eddy y Lorensen como un método para desarrollar sistemas orientados a objetos y apoyar orientada a objetos Modelo de objetos programming.Describes o

to Design Patterns Part III Modeling Behavior: State Machines etc. Literature on UML §Official standard documents by OMG: www.omg.org, www.uml.org §Current version is UML 2.0 (2004/2005) §OMG documents: UML Infrastructure, UML Superstructure §Books: Pfleeger: Software Engineering 3rd ed., 2005 (mostly Chapter 6) Rumbaugh, Jacobson, Booch:

Praise for UML Distilled “UML Distilled remains the best introduction to UML notation. Martin’s agile and pragmatic approach hits the sweet spot, and I wholeheartedly recommend it!” —Craig Larman Author of Applying UML and Patterns “Fowler cuts through the complexity of UML to get users started quickly.”

OOAD with UML Object Oriented Analysis and Design Using the UML . 2 UML Applied - Object Oriented Analysis and Design using the UML . . Objects 23 Terminology 24 The Object Oriented Strategy 24 Summary 25 AN OVERVIEW OF THE UML 26 The Use Case Diagram 27 The Class Diagram 28

the standard represented by the Associated Board of the Royal Schools of Music (ABRSM) Grade 5 Theory examination. The module will introduce you to time-based and pitch-based notation, basic principles of writing melody, harmony and counterpoint, varieties of rhythmic notation, simple phrasing, and descriptive terms in various languages.