Unified modeling languageUML es un lenguaje para la especificacin, visualizacin, construccin y documentacin de documentos de sistemas de software.Es independiente del lenguaje de implementacin y proceso de desarrollo del software.Surge como resultado de la unificacin de varios lenguajes de modelado que existan a mediados de los '90.Booch, Rumbaugh y Jacobson se unieron y promovieron UML como standard de la OMG (Object Management Group).UML
RumbaughBoochUMLFusionOperation descriptions, message numberingHarelState chartsOdeMeyerPre and post conditionsShlaer-MellorObject life ciclesGamma et. Alpatterns, frameworks, notEmblySingleton classesWirfs-BrockResposabilitiesJacobson
Diagramas de Casos de Uso (*)Diagrama de Clases (*)Diagrama de Objetos (*)Diagrama de Estados (*)Diagramas de comportamiento: Diagramas de Estado Diagrama de Actividad Diagramas de Interaccin:Diagramas de Secuencia (*)Diagramas de ColaboracinUML - clasificacin de diagramas
UML - diagrama de casos de uso
Diagramas de implementacin: Diagrama de componentes Diagrama de distribucinUML - diagramas y modeloLos diagramas son la forma de describir un mismo modelo que provee UML
Permite modelar el sistema desde el punto de vista del usuario (actor). Cada caso de uso modela la interaccin entre un usuario y el sistema. Componentes:SistemaCaso de uso: unidad funcional completaActor: entidad externa que interacta con el sistema. Modelaun tipo de rol que juega la entidad.Relaciones: entre casos de uso y entre actoresNotacin: ejemplo
UML - diagrama de casos de uso
UML - diagrama de casos de uso
UML - diagrama de casos de uso
RelacionesEntre casos de uso
Entre actores
Junto a cada caso de uso se genera documentacin que describe:Restricciones (ej: cliente sin rojo para extraer)Escenarios del caso de uso (ej: camino normal, camino si no hay dinero en el caj ero para extraer)Precondiciones y postcondicionesNo hay forma estndard de documentarEs una vista grfica del modelo esttico y estructurado del sistema. Componentes:ClasesAtributosOperaciones
UML - diagrama de clasesNombreOeClase
UML - diagrama de clases
Asociaciones entre clases Interfaces (no se ver en este curso)- at'ibutsi:La descripcin de una clase se compone de atributos y operaciones. qu se puede describir de los atributos?+ ap&raaarE|isus
TipoAlcance (clase o instancia)E-ntErm: I nte-g e r[ 1| Cc-I I&cti n J ns'nbrE: Sing = Fabls
Valor inicial MultiplicidadVisibilidad:En Smalltalk todo atributo o variable de instancia es visible desde la clase o las subclases que lo heredan (protegida).Exiten otros tipos de visibilidadPrivada (-): slo los objetos de la clase lo ven. No se hereda el atributo.Protegida (#): slo los objetos de la clase y las subclases lo ven.Pblica (+): todo objeto puede acceder al atributo.Default (~): slo acceden objetos en el paquete de la clase
Qu se puede describir de las operaciones?Tipo de retornoParmetros, en orden y separados por comaspor cada uno: tipo, nombre, entrada/salidaAlcance: clase o instanciasNDmbre[>eClEe 3 L'i z\d 1: ti p Atii blo
Los mtodos de clase se subrayanAbstracto o concretoprstscsls 1+ spEradsnCcnParamEtrs3[Tipu 1, Tips2|i + operador, AbstractafFersonat + spEradcnCDnREtsrra-!;: IrtEgEr protocolo dE dasE + nEw[
Los mtodos abstractos estn en cursivaProtocolo al que pertenece VisibilidadEn Smalltalk todo mtodo es pblicoDescripcin del comportamiento en pseudocdigo (no estndar)Relaciones entre clases:AsociacinComposicino
AgregacinGeneralizacin{>
UML - diagrama de clases
UML - diagrama de objetos
UML - diagrama de objetos
Las relaciones de asociacin tienen: Visibilidad Multiplicidad RolesPersonaPasswDrd-dave->1-propietsfio
1./
CuentaBancaria-cuEntas
Permite modelar las instancias de los elementos contenidos en los diagramas de clases.Muestra un conjunto de objetos y sus relaciones en un momento concreto.Es muy similar a un diagrama de clases. Componentes:ObjetosRelaciones entre objetos
triangulo :PsM|ciic: Pe I 3 ene
vErtices = { {-1.1). (1.1). ;3.}}>VErticES. - {1,2), {2,
cois' = Rojsce-ntro = {3^3)
centro = ; 1,2)cois - = Ve r d e
:Pcligcnc
vert ces = { : 1.2). ! 3.2). ;2.0}. {1. 4)}
Col" r =Azul
CEntro= (0.0)
Relaciones, similares a las relaciones de asociacin de un diagrama de clases.Descripcin de un objetoNombre (opcional)Clase Estado
Permite definir los diferentes estados que podra tener una entidad durante su tiempo de vida. Componentes:Estados0 0Inicial, final IntermedioInicial Final f lomare de estado\VJ
Transiciones (triggers)nombie dE triga er
UML - diagrama de objetos
UML - diagrama de estados
UML - diagrama de estados
incondicional condicional
Ejemolo: estados de un ascensorse apret botnVAscensor subiendose aprEt botn [piso supErior' apieto boton-se [rompe
'se 11 B-g 3 a dEstinobaja pasajEro >Vr*/ As'iensor parado^iAscensor fuera de servicio* arreglase aprEt botn>se ompE
Inicial
A/V
se llega a destinose ompE
se aprEt botn]/Asce-nsor bajandoXsubE pasajEfo se ciena puErta
ase aprEt botnDescriben una interaccin que consta de un conjunto de objetos y sus relaciones, incluyendo los mensajes que se pueden enviar, para realizar un comportamiento.Existen dos tipos:Diagramas de secuenciaUML - diagramas de interaccin
UML - diagrama de secuencia
UML - diagrama de secuencia
Diagramas de colaboracin (no lo veremos)Detaca la ordenacin temporal de los mensajes que ocurren entre objetosCada objeto cuenta con una lnea de vida, que muestra el tiempo de vida del mismo.La activacin de un objeto representa la ejecucin de una operacin que realiza el mismo.Notacin:objetoB CIseB
objetoA :Clas&Am&nsaje
new>
Tipos de mensajes:directosa la clase o instancia respuesta/resultado Sincrnicos y asincrnicosSintaxis:[Condicin] * [expresin de iteracin] [valor de retorno := ] mensaje (parametros)
Iteracin:[1 ..B]: "verificarLinEaAuto mensaje
Bifurcacin:Creacin:Cliente: