Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MBooc PDF
MBooc PDF
de la Laguna a Objetos
3.3.1 Introducción.
El método cuenta con una notación expresiva y bien definida que le permite al diseñador
comunicar sus ideas y concentrarse en problemas más serios.
Para la captura de todos los detalles de un sistema de software complejo es necesario
vistas múltiples. La Figura # 44 muestra los diferentes modelos que se han considerado relevantes,
en el desarrollo de un proyecto orientado a objetos.
Modelo Dinámico
Modelo Estático
Estructura de clases
Modelo Lógico
Estructura de Objetos
Arquitectura de módulos
Modelo Físico
Arquitectura de procesos
El hecho de que esta notación sea detallada no significa que se deben utilizar todos sus
aspectos en la totalidad de las ocasiones, de hecho, un subconjunto de ella es suficiente para
expresar la semántica de un gran porcentaje de problemas de análisis y diseño. La notación
utilizada es independiente del lenguaje seleccionado, es necesario tener en cuenta que algunos
elementos de la notación no tienen equivalencia en determinados lenguajes de programación, por lo
que se deben evitar para la implementación.
Para cada dimensión se definen una serie de diagramas que denotan una vista de los
modelos del sistema, éstos reflejan "toda la verdad" sobre sus clases, relaciones y otras entidades,
y cada diagrama representa una proyección de estos modelos. En el estado estable, todos estos
diagramas deben ser consistentes con el modelo y también consistentes entre ellos mismos.
Diagramas de Clases
Un diagrama de clases es utilizado para mostrar la existencia de clases y sus relaciones en la visión
lógica de un sistema. Los dos elementos esenciales de un diagrama de clases son: las clases y
sus relaciones básicas.
Clases: La figura # 45 muestra el icono que se utiliza para representar una clase en un diagrama de
clases. En ciertos diagramas de clases, es útil exponer algunos de los atributos y operaciones
asociados con una clase:
Nombre
Atributos
Operaciones( )
Figura # 45
Atributos: denotan una parte de un objeto agregado, durante el diseño expresan una propiedad
singular de la clase.
! A Nombre del atributo solamente.
! :C Clase del atributo solamente.
! A:C Nombre y clase del atributo.
Operaciones: denotan algún servicio proporcionado por la clase, se distinguen de los atributos
añadiendo paréntesis.
! N() Nombre de la operación solamente.
! R N(Argumento) Clase de retorno de la operación, nombre y parámetros formales (si los
hay).
Relaciones de clase: representan una colaboración con otras clases de diversas maneras. Las
conexiones esenciales entre clases incluyen las siguientes relaciones:
Asociación
Herencia
Posesión
Uso
Figura # 46 Iconos de relaciones
• Asociación: conecta dos clases y denota una conexión semántica, se etiquetan con
expresiones sustantivas, denotando la naturaleza de la relación.
• Herencia: denota una relación de generalización / especialización (una relación <<es un>>), y
aparece como una asociación con una cabeza de flecha. La flecha apunta a la superclase, y el
extremo opuesto de la asociación designa la subclase. La subclase hereda la estructura y
comportamiento de su superclase. Las relaciones de herencia no pueden llevar indicaciones de
cardinalidad.
• Posesión: denota una relación todo / parte (relación <<tiene un>> o agregación), aparece
como una asociación con un círculo relleno en el extremo que señala al agregado, la clase que
esta en el otro extremo denota la parte cuyas instancias están contenidas por el objeto
agregado.
• Utilización: denota una relación cliente / servidor y aparece como una asociación con una
circunferencia en el extremo que denota al cliente. En esta relación de alguna forma el cliente
depende del servidor para que éste le proporcione determinados servicios.
Pildora
Come
50
Pacman
1
1Come Fruta
1
Tipos de clases:
A F
Abstracta Amiga
S V
Estática Virtual
Figura # 48
Abstracta: es aquella clase la cual no puede tener instancias. Para representarla se señala el icono
de clase con la letra (A), situada en el interior de un triangulo, en cualquier punto del interior del
icono de clase.
Estática: la designación de un objeto o función miembro de una clase (S).
Virtual: la designación de una clase base compartida en una trama de herencias con forma de
rombo(V).
Amiga: la designación de una clase que concede a otra derechos de acceso a sus partes no
publicas (F).
Pacman 1
Laberinto
Posición : entero
1 1
1
1 1
1 Come
S n
S
4 FF Come
4 Pildora
Fantasma n
Pildora_m
A
A
Pildora_N
Diagramas de Objetos.
Objetos: La Figura # 50 muestra el icono que se usa para representar un objeto en un diagrama de
objetos. Al igual que en el diagrama de clases, también se pueden especificar algunos atributos del
objeto.
Nombre
Atributo
Relaciones entre objetos: los objetos interaccionan a través de sus enlaces con otros objetos,
representados por el icono de la Figura # 51, un enlace es una instancia de una asociación, al igual
que un objeto es una instancia de una clase.
Mensaje(parámetros)
Objeto/valor
Rol
[Llave]
Restricción
Figura # 51 Relaciones entre objeto.
Mensaje: la existencia de una asociación entre dos clases denota por tanto una vía de
comunicación entre instancias de clases, por la que un objeto puede enviar mensajes a otro. Un
objeto también puede enviarse un mensaje a sí mismo. Cualquier objeto que invoque la operación
se conoce como cliente, cualquier objeto que suministre la operación se conoce como proveedor o
servidor. Un enlace se puede adornar mediante una serie de mensajes. Cada mensaje consta de
tres elementos.
• D Un símbolo de sincronización que denota la dirección de la invocación.
• M Una invocación de operación o despacho de evento.
• S Opcionalmente, un número de secuencia.
La dirección del mensaje se indica mediante una línea dirigida que apunta al objeto servidor.
La invocación de una operación es el tipo de mensaje más común. La sintaxis es la siguiente:
• N() Solamente el nombre de la operación.
• R N(argumentos) Objeto de retorno, nombre y argumentos actuales de la
operación.
Papeles, claves y restricciones: denotan el propósito o carácter de la relación que asocia una
clase con otra. Es útil declarar este papel en el enlace correspondiente entre dos objetos, ya que
ayuda a explicar porque un objeto opera sobre otro.
Flujo de datos: los datos pueden fluir en la misma dirección que un mensaje o en dirección
contraria. El mostrar explícitamente la dirección del flujo de datos ayuda a explicar la semántica de
un escenario particular.
Figura # 52 Sincronización.
Figura # 53 Visibilidad
Pildora
Posicion : entero = 150
Valor : entero = 5
Numero : entero = 50
50
Pacman Come
Posicion : entero = 12 1 Fruta
Puntos : entero = 200
Vida : entero = 3 Posicion : entero = 100
1
Velocidad : entero = 20 Come Valor : entero = 15
1
Puede representar una vista del modelo dinámico de una sola clase o de un sistema
completo. Debido a que durante el análisis se utilizan para indicar el comportamiento dinámico del
sistema.
Transiciones entre estados: se le conoce como cambio de estado, un evento es algún suceso que
puede causar un cambio en el estado de un objeto. Cada transición de estados conecta a dos
estados, un estado puede tener una transición hacia si mismo.
Evento: puede ser un nombre simbólico, una clase o el nombre de alguna operación. Un evento
puede proporcionar operaciones que pueden recibir tales nombres y efectuar la acción adecuada.
nombre
evento / acción
acciones
Figura # 55
inicio Activo
entry: Camina do: Come Pildora, Camina
Come Pildora_M
En Borde do: Come Fantasma, incrementa velocidad
do: Espera
El diagrama de estados inicia cuando el Pacman camina, entra en un estado activo que
tiene dos estados opcionales a donde puede irse. Si se topa en un borde entra en estado de espera
y la otra opción es de comer Píldora-M en este estado puede comer fantasma e incrementar
velocidad. El estado activo termina cuando un fantasma se come al Pacman.
Diagramas de interacción.
Mover
Camina_
Camina_Fruta(Posicion)
Come_
Decrementa(n
Come_
Diagramas de módulos.
c) Programa Principal
Figura # 58
Figura # 59
d) Subsistema.
Figura # 60
Definición de Campo
Campo
Dependencias: la única relación que puede darse entre dos módulos es una dependencia de
compilación, representada por una línea dirigida que apunta al modulo respecto al cual existe la
dependencia.
Las flechas denotan dependencias, la flecha sale del el icono dependiente.
Diagrama de procesos.
nombre
nombre
3.3.4 El proceso.
entregado en tiempo, y es flexible al cambio y al crecimiento. En los proyectos que han tenido éxito
se ha visto que existen los siguientes aspectos:
! La existencia de una fuerte visión arquitectónica. Un sistema con una buena arquitectura es
aquel que cuenta con integridad conceptual, y las siguientes propiedades:
! Esta construido en capas de abstracción bien definida.
! Existe una separación entre la interfaz y la implementación de cada capa.
! La arquitectura es simple.
! La aplicación de un ciclo de vida bien dirigido, iterativo e incremental.
! Es iterativo ya que conduce al refinamiento sucesivo de una arquitectura orientada a
objetos.
! Es incremental ya que en cada pasada por el ciclo; análisis / diseño / evolución conduce a
un refinamiento gradual de las decisiones estratégicas y tácticas, convergiendo hacia los
requerimientos reales y habitualmente no expresados por el usuario final.
El micro-proceso de desarrollo.
Esta dirigido por la corriente de escenarios y productos arquitectónicos, resultantes del macro-
proceso y refinamientos sucesivos. El micro-proceso sigue las siguientes actividades:
Identificar clases
Refinamiento del Diccionario de datos
y objetos.
diccionario (clases y objetos)
• Propósito.
• Productos.
• Actividades.
• Hitos y medidas.
El macro-proceso de desarrollo.
• Propósito.
• Productos.
• Actividades.
• Hitos y medidas.
Paola Romero Guillén 74
Instituto Tecnológico Análisis y Diseño Orientado
de la Laguna a Objetos
Establecer Desarrollar un
requisitos básicos modelo del
(conceptualización) comportamiento
deseado (análisis)
Crear una
arquitectura
(diseño)
Gestionar la Transformar la
evolución después de implementación
la entrega (evolución)
(mantenimiento)
Mediante esta conceptualización durante las primeras etapas del macro-proceso en especial
en el análisis es donde se estudia el comportamiento del sistema, se entra en el proceso del micro-
proceso donde se describen que clases y objetos intervendrán, y mientras se avanza en el macro-
proceso cuando se tengan establecidos los escenarios en el micro-proceso se podrá llevar acabo
una narración de sucesos que ayudará a identificar las responsabilidades de cada abstracción.
Mediante el ejemplo anterior se percibe que durante una etapa dentro del macro-proceso se
pueden tener varias iteraciones del micro-proceso, lo cual tendrá el propósito de refinar el sistema
agregando o eliminando abstracciones que se presenten en el sistema.