Está en la página 1de 59

3.

Diseño lógico
(Herramientas de caja negra)

MC Rebeca Rodríguez Huesca


Contenido
● Herramientas Estructuradas
● Modelado en UML
– Diagrama de clases
– Diagrama de casos de uso
– Diagrama de actividad
Introducción

● La notación de caja negra se utiliza para


describir lo que un elemento va a hacer,
en lugar de cómo va a hacerlo

✔Qué X
Cómo
Representación Punto de vista Características
Diagrama de flujo de Funcional Flujo de información, dependencia
datos de operaciones en otras
operaciones, relación con
almacenes de datos
Estructuradas

Diagrama entidad- Modelado de Relaciones estáticas entre


relación datos entidades del diseño
Diagrama de Comportamiento Modelo de máquina de estado de
transición de estados una entidad
Gráfica de estados Comportamiento Modelo de estados del sistema
completo, incluyendo paralelismo,
jerarquía y abstracción
Diagrama de Funcional, Forma de secuenciamiento
estructura (Jackson) modelado de aportado (operaciones, datos,
datos, acciones)
comportamiento
UML: Diagrama de Construccional Interacciones entre clases y objetos
clases
UML: diagrama de Comportamiento Interacciones entre un sistema y
UML casos de uso y funcional otros actores
UML; Diagrama de Comportamiento Sincronización y coordinación de
actividades y funcional actividades del sistema
Correspondencia entre paradigma
tradicional y OO
Paradigma estructurado Paradigma OO
1. Fase de requisitos 1. Workflow de los requisitos
… …
… …
... ...
2. Fase de análisis 2. Workflow del análisis

… …
... Extraer las clases
...
3. Fase de diseño estructurado 3. Workflow del diseño OO
●Diseño arquitectónico Varios pasos, casi todos requieren conocimiento
●Diseño detallado (requiere conocimiento de de programación
programación)
Formas de modelado UML
Introducción a UML

UML = Unified Modeling Language

 Un lenguaje de propósito general para el modelado


orientado a objetos. Impulsado por el Object Management
Group (OMG, www.omg.org)
Orígenes


A mediados de los noventa existían muchos métodos de análisis
y diseño OO.
– Mismos conceptos con distinta notación.
– Mucha confusión.
– “Guerra de los métodos”

En 1994, Booch, Rumbaugh (OMT) y Jacobson (Objectory)
deciden unificar sus métodos: Unified Modeling Language
(UML)

Proceso de estandarización promovido por el OMG (Object
Managment Group)
Modelos que aglutina
Introducción a UML

● En 1996, el Object Management Group (OMG) publicó


una petición de propuestas para un enfoque estándar
sobre el modelado orientado a objetos
● El lenguaje Unificado de Modelado fue adoptado
unánimemente por los miembros de OMG como estándar
en noviembre de 1997
Utilidades de UML


Permite especificar todas las decisiones de análisis,
diseño e implementación, construyéndose modelos
precisos, no ambiguos y completos.

UML puede conectarse a lenguajes de programación:

Ingeniería directa e inversa

Permite documentar todos los artefactos de un
proceso de desarrollo (requisitos, arquitectura,
pruebas, versiones,..)
Incovenientes de UML


Definición del proceso de desarrollo usando UML. UML no es
una metodología


No cubre todas las necesidades de especificación de un
proyecto software. Por ejemplo, no define los documentos
textuales
Vistas de UML

● Una vista es un subconjunto de UML que


modela construcciones que representan un
aspecto de un sistema.
● Las vistas se pueden dividir en 3 áreas:
– Clasificación estructural
– Comportamiento dinámico
– Gestión del modelo
Vistas y diagramas de UML

Área Vista Diagramas


Vista estática Diagrama de clases
Vista de casos de uso Diagrama de casos de uso
Estructural Vista de implementación Diagrama de componentes
Diagrama de despliegue
Vista de despliegue
Vista de máquina de Diagrama de estados
estados
Dinámica
Vista de actividad Diagrama de actividad
Vista de interacción Diagrama de secuencia
Vista de gestión del Diagrama de clases
Gestión del modelo
modelo
Vista estática

● Es la base de UML
● Captura la estructura del objeto
● Describe entidades de comportamiento como
elementos de modelado discretos, pero no
contiene los detalles de su comportamiento
dinámico.
● Sus elementos clave son los clasificadores y
sus relaciones
Modelo

● Descripción de un sistema desde diferentes


perspectivas
● Generador de potenciales configuraciones del
sistema
● Capta aspectos importantes de lo que estamos
modelando, desde cierto punto de vista, y
omite el resto
● Ejemplo: en la arquitectura de una casa se
requieren diferentes perspectivas como planos,
vista vertical, vista frontal, plano de plomería,
etc.
Modelos para expresar diseños

Modelo de caso de uso Modelo de clases


“hacer esto...” “con objetos de estas clases...”

Aplicación
meta

Modelo de estados
Modelo de componentes “reacciona a estos eventos...”
“de esta manera...”
Modelos y sus partes
Modelo de caso de uso: “hacer esto” Modelo de clase: “con...”
Caso de uso paquete
Caso de uso
de negocios
Consiste clase
en...
Elaborado por...

Diagrama de
Escenarios
secuencia métodos

Aplicación
meta
Modelo de componentes: “cómo” Modelo de estado: “cuándo”
Componente Flujo de datos
Estados
Organizado Flujo de datos locales
por... Subestados
Desglosado
en...
subcomponentes
Transiciones
Diagrama de clases
Diagrama de clases

● Es una presentación gráfica de la vista estática,


que muestra una colección de elementos
declarativos (estáticos) del modelo, como
clases, tipos, y sus contenidos y relaciones.
● Contiene ciertos elementos materializados de
comportamiento, como operaciones, pero cuya
dinámica está representada en otros
diagramas, como los de estados o de
colaboración
Definiciones
● Es un concepto que encapsula las abstracciones de datos y
procedimientos que se requieren para describir el contenido y
comportamiento de alguna entidad del mundo real.
● Es una descripción generalizada que describe una colección de
objetos similares. Por definición, todos los objetos que existen dentro
de una clase heredan sus atributos y las operaciones disponibles
para la manipulación de los atributos.
● Ejemplos:
– Cosa física → aeroplano
– Cosa de negocios → pedido
– Cosa lógica → Horario de difusión
– Cosa de una aplicación → Botón Cancelar
Tipos de clases (estereotipos)

● Entidad
– Es un modelo de la información perdurable
● Borde
– Modela la interacción entre el sistema de
información y sus actores
● Control
– Es un modelo de los cálculos y algoritmos
complejos
Ejemplo

Sistema de información bancario


● Clase entidad: Cuenta
● Clase borde: estado de cuenta
● Clase control: cálculo de intereses de una
cuenta
Clases de entidades
Representación

● En UML la clase se representa por un


rectángulo con 3 divisiones internas, las cuales
pueden suprimirse cuando no es necesario el
detalle completo
Ejemplo

Suscripción Nombre de clase

serie
categoría_precio Atributos
numero

conocerCosto()
reservar () Operaciones
cancelar()
Atributo

● Representa una propiedad de la entidad. Cada


atributo tiene un valor que pertenece a un dominio de
valores determinado
Operación

● Se refiere al conjunto de operaciones que


describe el comportamiento de los objetos de
una clase.
Objeto


Es una instancia o un miembro de una clase,
el cual hereda todos los atributos y las
operaciones de la clase
Se caracteriza por tener una identidad única, un
estado definido por un conjunto de valores de
atributos y un comportamiento representado
por sus operaciones y métodos
Objeto = Identidad + Estado + Comportamiento
Ejemplo
Ejemplo de objetos y clases

nombre: Rey Jorge III nombre: Rey Luis XVI


país: Gran Bretaña país: Francia
inicioReinado: 1760 inicioReinado: 1774
finReinado: 1820 finReinado: 1792

Clase Rey Nombre de la clase


nombre
país
inicioReinado Atributos
FinReinado

Reina() Operaciones
adbica()
Ejercicio

● Un zapato tiene un color (café, negro,


blanco, azul), viene en una talla (3, 4,
81/2), tiene un estilo (de aguja, sandalia,
mocasín, tenis) y está hecho de un
material (piel, hule)
● Definir la clase Zapato, con sus atributos
y operaciones
Pasos para crear un diagrama de
clases entidad
Paso 1. Extracción de sustantivos
Paso 2. Establecer las relaciones
Paso 3. Añadir los atributos de cada clase
Paso 4. Añadir las operaciones de cada clase
Ejemplo
Los informes se van a generar con el fin de mejorar la efectividad del proceso
de toma de decisiones para la compra de obras de arte. Los informes
contienen información de compra y venta sobre cuadros, los cuales se
clasifican en obras maestras, obras representativas y de otro tipo
● Los sustantivos son: informes, efectividad, proceso, compra, obra de arte,
información, venta, cuadro, obra maestra, obra representativa, y de otro tipo.
De los cuales:
– efectividad, proceso e información son sustantivos abstractos identifican
cosas que no tienen existencia física, por lo que es poco probable que
sean clases entidad.
– Compra y venta son derivados de los verbos “comprar” y “vender”, por
consiguiente quizá sean Operaciones de alguna clase
– Informe es un Sustantivo no perdurable, candidato de clase borde
– Obra de arte es sinónimo de cuadro
– Esto deja 4 clases entidad candidatas: Clase cuadro, clase Obra
maestra, clase obra representativa y clase Otro tipo
Clases borde
Descripción

● Se asocian con la entrada y la salida


● Son más fácil de extraer
● Cada pantalla de entrada, de salida e informe
impreso se modela mediante una clase
Ejemplo

● Un informe impreso incorpora todos los


elementos de datos que pueden incluirse en él
y las distintas operaciones que se llevan a cabo
con el fin de imprimirlo

Clase Interfaz de Usuario


Clase Informe de compras
Clase Informe de ventas
Clase informe de Tendencias futuras
Clases control
Descripción

● Modelan los cálculos no triviales


● Ejemplo

Clase Calcular Precio de Obra Maestra


Clase Calcular Precio de Obra Administrativa
Clase Calcular Precio de Cuadro de Otro Tipo
Clase Calcular Tendencias Futuras
Diagrama de casos de uso
Caso de uso

● Es un modelo de la interacción entre los


usuarios externos de un sistema de
información (actores) y el sistema de
información mismo.
Ejemplo
Realizar movimientos en cuenta
Actor

● Es una idealización de una persona externa, de un


proceso, o de una cosa que interactúa con un
sistema
● Entonces puede ser:
– Seres humanos
– Otros sistemas informáticos
– Procesos
● Cada actor interactúa con el caso de uso
intercambiando mensajes
Ejemplo
Elementos de la descripción de un
caso de uso
Caso de uso
Actores
Breve descripción
Descripción paso por paso
Ejemplo
Diagrama de clases con casos de
uso: Comprar una obra maestra
Diagrama de actividades
Descripción

● Muestran cómo se coordinan los diversos


elementos. Por lo que se usan cuando se llevan
a cabo actividades en paralelo.
● Son útiles para modelar negocios en los que una
serie de actividades se realizan en paralelo.
Grafo de actividades

● Un estado de actividad representa la


ejecución de una sentencia en un
procedimiento, o el funcionamiento de
una actividad en un flujo de trabajo
Supongamos que una pareja sentada a la mesa de un restaurante ordena su comida. Una de las
personas ordena un platillo de pollo, la otra pide pescado.
El mesero anota su orden y se la pasa a la chef para que sepa qué platillos preparar. No importa
cuál platillo termine de preparar primero porque la comida se sirve sólo cuando ambos platillos
están listos
Una bifurcación tiene una transición de entrada y
muchas transiciones de salida que se ejecutarán en
paralelo.
A la inversa, la unión tiene muchas transiciones de
entrada, cada una de las cuales viene de una
actividad ejecutada en paralelo. Y tiene una
transición de salida que se inicia cuando todas las
actividades en paralelo han finalizado
Representación

● Actividad →

● Transiciones simples →

● Inicio →
● Final →
● Bifurcación o unión → ___________
Modelo de calles y flujo de objetos

● A menudo es útil organizar las actividades de un


modelos según su responsabilidad, por ejemplo,
agrupando todas las actividades manejadas por
una organización del negocio.
● Esta clase de asignación puede mostrarse
organizando las actividades en regiones distintas
separadas por líneas en el diagrama
● Cada región se llama calle
● Flujo de objetos: puede mostrar el flujo de objetos
como valores, además del flujo de objeto.
● Para un valor de salida se dibuja la flecha con
línea discontinua desde una actividad al objeto
● Para una valor de entrada, se dibuja una flecha
con línea discontinua desde objeto a una
actividad
● Si un objeto tiene mas de un flujo de salida, las
flechas se dibujan desde el símbolo de división.

También podría gustarte