Está en la página 1de 20

Unidad dos

Curso: UML - Ingeniera de Software

Qu vimos hasta ahora?


Ciclo de Vida de Proyectos de Software Anlisis, Diseo, Implementacin Modelacin... Diagramas UML
Elementos estructurales Elementos de comportamiento Relaciones

Diagramas UML
Use-Case diagrams Diagramas de Componentes (Software) Diagramas de Distribucin (Hardware) Diagramas de Actividades (Flujograma) Diagramas de Colaboracin (Mensajes entre objetos para cambiar su estado) Diagramas de Secuencias (Lnea de vida - Colaboracin secuencializada) Diagramas de Estado

Modelacin
%system "xdvi modelacisn.dvi"

Prctica: Modelos en anlisis y diseo de motores elctricos: Elctrico: tensiones, corrientes, campos electromagn ticos, inductancias, resistencias. Mecnico: rigidez, densidad, movimiento, fuerzas pares. Trmico: disipacin de calor, transferencia de calor Fluido: Flujo de aire refrigerante Qu modelos deben considerarse para? Cunto pesa un motor? Cunto se calienta el motor? Cunta vibracin crea un motor? Cunto tardarn en gastarse los rodamientos?

... Orientado a Objetos


Programacin: Smalltalk, Simulacin Theoria generalizada: Anlisis Orientado a Objetos Diseo Orientado a Objetos Modelacin Orientado a Objetos - OMT Modelacin cierra el abismo entre anlisis y dise o. Programacin = Implementacin orientado a Objetos

Programacin Orientado a Objetos


C++ ampliacin de sintaxis de C java mquina virtual portable, interpretadores Lisp, Forth Perl, Tcl Rapid Prototyping, Scripting Bases de datos relacionales Eiffel, Python, Smalltalk Lenguajes con OO inherente

Programacin Orientado a Objetos


Conceptos bsicos Identidad Clasificacin Polimorfismo Herencia

Programacin Orientado a Objetos


Ejemplo: Geometria Jerarqa de Clases: punto linea trapezoide

Diagrama de Clases
Lavadora
Clase

Electrodomesticos Paquete - jerarqua de clases

Electrodomesticos::Lavadora
Classpath - via de acceso

Lavadora
marca modelo numeroSerie capacidad operaciones()

Clase con atributos y operaciones

Diagrama de Clases
miLavadora:Lavadora marca = "Siemens" modelo = "LV 17" numeroSerie = "GA23-304" capacidad = 9

Instancia de la Clase Lavadora Instancias annimas ":Lavadora"

Diagrama de Clases
Lavadora
marca modelo numeroSerie capacidad agregarRopa(tipo:String) sacarRopa(tipo:String) agregarDetergente(tipo:String,cant:Int) activar(): Boolean Firma (Signature) de operaciones

Relaciones entre Clases


Asociacin uni/bi-direccional, rol Restriccin {} Multiplicidad 1, *, n..m, a,b,c Calificacin Herencia y generalizacin
Autmatas Computadoras Sequenciadores (State Machines)

MacIntosh

Microcontrolador

PC compatible

Relaciones entre Clases


Agregacin Agregacin con restriccin
AntePlato
1 {o}

Ensalada
1

PlatoFuerte
1

Postre
1

Comida

Relaciones entre Clases


Composicin Agregacin exclusiva
PC
1 0..2 1 1 CPU

Monitor

Prctica:
Realizar el diagrama de Clases del ejemplo "Geometr a"

Interfaces
Interfaz es un conjunto (nombrado) de operaciones que presenta una clase hacia el sistema Clase que implementa: ofrece Interfaz Abstraccin: Un interfaz es un conjunto de operaciones. una o ms clases pueden *realizar* un interfaz.
Rombo
-a: punto -b: punto -c: punto #d: punto +draw() +move(dx:Int,dy:Int) ...()

interface

ManipulacionGeometrica
+transformacion() +reorientacion()

Interfaz
Notacin omitida:
Rombo
-a: punto -b: punto -c: punto #d: punto +draw() +move(dx:Int,dy:Int) ...()

interface

ManipulacionGeometrica
+transformacion() +reorientacion()

Rombo
ManipulacinGeometrica

Componentes, Clases e Interfaces


Una componente es una "biblioteca" de clases. Hacia el sistema *realiza* el conjunto de interfaces de las clases implementadas en ella.
Contiene clase X
Interfaz,Clase X

Requiere clase X

...

Encapsulacin, Privacidad
Attributos/operaciones pueden ser: + visibles, pblicos - privados - solo la clase misma # protegidos - solo subclases

Visibilidad de attributos y operaciones


Rombo
-a: punto -b: punto -c: punto #d: punto +draw() +move(dx:Int,dy:Int) ...()

interface

ManipulacionGeometrica
+transformacion() +reorientacion()

Rombo
ManipulacinGeometrica

También podría gustarte