Академический Документы
Профессиональный Документы
Культура Документы
PABLO SANCHEZ
maneja PowerDesigner
En PowerDesigner, se puede:
Los otros modelos son: modelo conceptual y modelo fsico Importar un modelo conceptual (CDM) Importar un modelo fsico (PDM) Generar un CDM o PDM Ajustar un OOM a las condiciones fsicas y consideraciones de rendimiento Ajustar e imprimir modelos
Interfase de PowerDesigner
La ventana inicial de PowerDesigner permite escoger el
modelo a trabajar
La ventana principal est subdividida en pneles que se
usan para ver diferentes aspectos relacionados con el rea de trabajo (workspace)
Los pneles se pueden manipular para colocarlos en un determinado sitio en un determinado tamao
Interfase de PowerDesigner
Explorador de objetos
El explorador permite manipular
rea de edicin
El rea de edicin
es el rea donde se edita el modelo actual La paleta se puede usar para aadir objetos al modelo y dibujar relaciones
realimentacin de los procesos que se llevan a cabo, por ejemplo, cuando se chequea un modelo o se genera cdigo
Esas ventanas se pueden dejar flotantes o en determinado lugar
como pneles
Barra de herramientas
Con la barra de
herramientas se puede manipular el rea de trabajo, modelos en el rea de trabajo y reportes Se puede fijar y ajustar la barra a las necesidades del usuarios
Manipulando modelos
Para crear modelos,
seleccionar File New del men, o usar la barra estndar de herramientas Los modelos se pueden abrir desde el explorador, desde el men File o utilizando la barra estndar de herramientas Se presentan opciones para grabar, cerrar o desligar modelos del rea de trabajo
Uso de la paleta
La paleta aparece despus de
propiedades seleccionar Model Model Properties del men o dar clic derecho en el diagrama y seleccionar Properties
opciones generales
Aplican a todos los modelos en el rea de trabajo
Seleccionar
diagramas UML:
Diagrama de clases Diagrama de casos de uso Diagramas de secuencia
Adicionalmente maneja:
Diagrama de actividades Diagrama de componentes
Diagrama de clases
Una clase es una categora o grupo de cosas que
Casos de uso
Los casos de uso registran el comportamiento del
sistema deste el punto de vista de un usuario externo Ivar Jacobsen, es el padre de los casos de uso Un caso de uso es una secuencia de acciones que un actor ejecuta en un sistema para conseguir un objetivo particular No se presumen especificaciones de diseo o de implementacin Indica qu requerimientos se estn haciendo
Actores
Rol que un usuario juega en el sistema Los actores llevan a cabo los casos de uso Los actores no necesitan ser personas
Puede ser un sistema externo que necesita informacin del sistema
Ejemplo: Un sistema genera un archivo que es usado por el sistema contable cada noche. En este caso el sistema contable es el actor que necesita de ese archivo
interaccin con los casos de uso Los casos de uso aparecen como valos Los actores se representan por un mueco Las lneas de asociacin conectan un actor a un caso de uso y representan la comunicacin entre ellos
entre casos de uso Se pueden usar para mostrar dependencias entre roles de actores Los actores que inician estn a la izquierda de los casos de uso Los actores receptores estn a la derecha El rectngulo representa los lmites del sistema
Encierra los casos de uso, los actores deben estar fuera del sistema
caso de uso
Ejemplo: El caso de uso Cancelar una Orden incluye el caso de uso Localizar una Orden
Diagramas de secuencia
Un sistema en funcionamiento tiene objetos que interactan
problema propuesto y/o entrevistas con clientes Una vez conocida la terminologa, comenzar a hablar con los usuarios para identificar actores y casos de uso Escribir una descripcin bsica de los casos de uso para describir los requerimientos funcionales en trminos generales Para cada caso de uso:
Identificar los objetos que participan en el escenario establecido Actualizar el diagrama de clases
(contina)
la accin
Describir el camino comn ms frecuente, el menos transitado y los caminos alternos en casos de condiciones de error
detallada de diseo
Qu es un objeto?
Un objeto es cualquier cosa, real o abstracta, del cual podemos almacenar datos y mtodos que manipulen esos datos
Consultar el nmero del Seguro Social Consultar el nombre Colocar el nombre Consultar la direccin Calcular el salario
Clasificacin de objetos
La clasificacin inteligente es un trabajo intelectual duro y generalmente viene a travs de un proceso incremental e iterativo (Booch) Martin y Odell han observado que en el anlisis y diseo orientado a objetos, de hecho, un objeto puede ser categorizado de ms de una manera
No hay un caso tal que podamos decir ese es el nico conjunto correcto de clases
Apariencias en la clasificacin
Estudiante
Empleado
Paciente
Cliente
Tcnica del sujeto-verbo-complemento_directo (tambin llamada el sustantivo de una frase) Aproximacin a categoras comunes de clases (estereotipos) Casos de uso
Ejemplo: VentanaDelCliente
(contina )
Refinando clases
Tener cuidado con las clases que tienen atributos pero no identifican operaciones
Atributos de clases son objetos tentativos que solo se usan como valores Redefinir esas clases como atributos y no como clases
Ejemplo: las estadsticas asociadas con un afiliado, no son clases, sino atributos de la clase Afiliado
estereotipo:
Contenedor Vista Control
estereotipo
Camin Sistema de nmina Juego de football Programador Matrimonio
Ejemplo
Bodega de datos Ordenador de tareas Error Mensaje Seguridad Transaccin
Detalles ms adelante
diagrama de clases, dar clic derecho en el nodo de modelo del explorador de objetos y seleccionar New Class Diagram
Ideas:
actores y los casos de uso de ms alto nivel que describen los requerimientos funcionales en trminos generales
Esta informacin fija los lmites y el alcance del sistema
nodo modelo del explorador de objetos y seleccionar New Use Case Diagram
Cdigo
Comentario Estereotipo
especificaciones
Pasos de accin Puntos de extensin Excepciones Pre-condiciones Post condiciones
casos de uso
Propiedades de las clases Crear una nueva clase
Dependencias
Muestra dependencias de casos de uso:
Generalizaciones y asociaciones
Propiedades de la generalizacin
Una generalizacin es una
relacin entre el caso de uso ms general (el padre) y un caso de uso ms especfico (el hijo)
Visibilidad privado,
protegido, pblico
relacin unidireccional que describe el encadenamiento entre objetos Muy similar a las asociaciones en un diagrama de clases
La orientacin se da de
No especifica roles, cardinalidad o navegabilidad
relacin entre dos elementos del modelo, en los cuales un cambio en un elemento del modelo (elemento influyente) afecta a otro elemento del modelo (elemento dependiente)
Atributos
Un atributo es una informacin acerca de un objeto
ejemplo, nmero)
Los nombres de los atributos deben ser significativos Los nombres de atributos y cdigos dentro de una clase
Ejemplos de atributos
Ejemplo de atributos para una clase Empleado:
PrimerNombre SegundoNombre PrimerApellido
Empleado:
Administrador
Esto es una relacin entre instancias de la clase empleado y no un atributo
modelamiento de objetos
Cada instancia tendr un valor para cada atributo de
un OOAD
Durante el anlisis, sustantivos, descripcin de sustantivos y adjetivos en las especificaciones y en la documentacin de casos de uso, se definen los atributos de una clase Durante el anlisis no es crtico identificar los tipos de datos para los atributos
atributos y tal vez algunos atributos se muevan a una clase ms relevante dentro de una jerarqua de clases
completo de propiedades:
En la pgina General:
Parent Name Code Comment Stereotype Data Type Multiplicity Visibility Static Derived
En la pgina Detail:
Initial Value Changeability Domain Primary Identifier Indicator Migrated from Persistent
Code Data Type Length Precision Class Generation
Identificador
Un identificador es un atributo o una combinacin de
Si una clase tiene solamente uno, ese identificador por default es el identificador primario de la clase
identificador
identificador:
1. En la ventana Identifier Properties, dar clic en la pestaa Attributes 2. Dar clic en Add Attributes 3. Colocar una marca en las cajas de seleccin para uno o ms atributos de la clase que se quieran escoger como un identificador 4. Clic en OK
Operaciones
Una operacin es lo que algunas veces puede hacer una clase
el comportamiento de la clase
Las responsabilidades de una clase son llevadas a cabo por sus
operaciones
Ejemplo, una responsabilidad de la clase Producto es dar el precio La operacin para cumplir esta responsabilidad puede ser:
Ver la informacin en la base de datos, o Calcular el precio
Una operacin debe ejecutar una funcin simple y cohesiva Una operacin se puede invocar para afectar el comportamiento
de una clase
Identificar operaciones
Durante la fase de anlisis, encontrar verbos y frases con verbos en la
documentacin de los requerimientos Las operaciones que necesitan las clases dependen del dominio del problema Ejemplo, para la clase Persona:
Sistema de Nmina TomarFechaNacimiento EnviarInforme ProducirCheque AsignarAdministrador Sistema Informacin de pacientes TomarFechaNacimiento RecibirPago ProducirFrmula AsignarCita
Identificar operaciones
Las operaciones por lo general corresponden a consultas
valores de los atributos tanto para consultas, actualizacin, lectura y escritura de instancias
Ejemplo: preguntas acerca de la clase Producto:
Qu servicios provee la clase Producto? y Qu informacin de la clase Producto se debe almacenar? (de un dominio conocido)
(contina)
una clase:
Clic derecho y seleccionar Operations o Doble clic en clases para abrir la ventana de propiedades
Polimorfismo
usan diferentes nombres de mtodos:
Cliente.GabarCliente( ) Factura.GrabarFactura( ) Orden.GrabarOrden( )
Categoras de polimorfismo
Operacional Mtodos polimorficos para clases no
relacionadas
Estrictamente es una seleccin de diseo del diseador OO Debe definir mtodos apropiados para cada clase Se puede obviar la construccin compleja de casos o los mensajes dinmicos
Operaciones registradas
Una operacin de registro de una operacin consiste de:
Lista opcional de argumentos Retorno de la clase o tipo de dato
operacin
Se hace en la etapa de diseo
Ejemplo:
Operaciones Abstractas
Algunas veces, los diseadores colocan operaciones en
clases abstractas que no estn totalmente implementadas, por ejemplo, no tienen definida la lgica
Las operaciones deben retornar el tipo de dato definido por la operacin registrada Esas operaciones se conocen como operaciones abstractas
interfases, un concepto de UML soportado por PowerDesigner y encontrado en Java (se ve ms adelante)
Para ver operaciones de superclases abstractas (ancestros), dar clic en el botn Inherited bajo la pestaa Operations
Dar clic en el botn Override para copiar la operacin registrada a su clase de tal manera que a esa subclase se debe aadir la lgica especfica
Operacin llamada durante la instanciacin de un objeto que crea una instancia de una clase
Destructores
destructores default:
1. En la ventana Class Properties seleccionar la pestaa Operations 2. Abrir Add y seleccionar Default Constructor/Destructor
Como a las propiedades solo se llega va las operaciones (mtodos), un objeto controla el acceso a sus datos
Las operaciones se pueden implementar como eventos definidos por el usuario o como funciones
Visibilidad
Visibilidad Indica cmo un objeto es visto y usado por
otros objetos
Privado
La operacin es visible y puede ser usada slo por el mismo objeto
Protegido
La operacin es visible al objeto mismo o a cualquier objeto descenciente (heredado de la misma clase)
Paquete
La operacin es visible a todos los objetos del mismo paquete
Pblico
La operacin es visible a todos los objetos
cada atributo
Para atributos de slo lectura, solamente declara la funcin
pblica get
Beneficios:
Previene cambios inesperados o no deseados de fuentes externas Cambios en la implementacin interna no hacen impacto en objetos externos
retornan el valor de una instancia de un atributo Mutators son operaciones que cambian el valor de una instancia de un atributo Para crear accessors y mutators:
En la ventana ClassProperties seleccionar la pestaa Attributes dar clic en Add y seleccionar Get/Set Operations
clases y objetos:
Asociacin Agregacin/composicin
Asociacin
Una referencia de una clase a otra es una asociacin
Las asociaciones se dibujan como lneas continuas entre un
par de clases
Implica que hay una conexin entre los objetos en las clases asociadas
(contina )
Asociacin
Algunas asociaciones son implcitas o son de
conocimiento general
Las asociaciones generalmente aparecen como
verbos en las frases que enuncian el problema y representan relaciones entre las clases
Ejemplo: un Cliente puede ordenar artculos
las frases
Ejemplos: parte de, siguiente a, trabaja para, contenido en
Para dibujar una asociacin hacer clic en una clase, sostener y soltar en la otra clase
o definir roles para la asociacin con el fin de dar claridad a la asociacin entre las clases relacionadas
Usualmente se omite el nombre de la asociacin cuando se tienen roles
Agregacin y composicin
asociacin Agregacin
Es una asociacin entre dos clases donde una de ellas est contenida en la otra Una instancia de la clase agregada puede ser sostenida por ms de una instancia de la clase contenedora a travs del tiempo
Composicin
Ejemplo: Un Empleado puede ser parte de un Departamento, pero puede pasar de un Departamento a otro a travs del tiempo
Una forma de agregacin en la cual las partes estn fuertemente ligadas y se ven como una sola cosa a travs del tiempo. Si el objeto compuesto se destruye, tambin sus partes
Ejemplo: ItemOrdenado es parte de unaOrden. Si la Orden se cancela/borra, ItemOrdenado tambin
Indicador (diamante):
Indica que la asociacin es una agregacin (diamante vacio) o una composicin (diamante lleno)
Agregaciones vs composiciones
Si en cualquier momento una clase es parte de otra, se
relacin es:
La clase agregada puede sobrevivir al contenedor (agregacin) o Una clase vive dentro de otra o es poseida por otra y no sobrevive al contenedor (composicin)
La clase compuesta crea dentro clases componentes Cuando el contenedor se detruye, el componente tambin
de la otra?
En Java son comunes las clases internas Forma fuerte de composicin porque solamente el todo conoce que la parte existe; esencialmente un objeto privado dentro de otro
lgicamente van juntas o que adicionalmente forzan encapsulamiento Cuando se hace reingeniera de una clase Java que contiene una o ms clases internas, se crea una clase externa y se crea una clase por cada una de las clases internas
(contina )
dependencia entre cada clase interna y la clase externa a la que est atada
El nombre de cada clase interna tiene como prefijo el nombre de la clase externa
Aadir dependencias
Una dependencia es una relacin lgica entre dos
elementos del modelo en el cual un cambio de un elemento del modelo afecta al otro elemento del modelo La relacin de dependencia indica que una clase o interfase en un diagrama de componentes usa el servicio o facilidades de otra clase o interfase
Ms til cuando es una dependencia de una clase en otra, aun cuando no haya una asociacin explcita entre ellas
siguientes propiedades:
Name: nombre de la dependencia Code: referencia al nombre de la dependencia Comment: comentarios Influent: el objeto independiente Dependent: el objeto dependiente Stereotype: estereotipo de la dependencia