Análisis y Diseño
con UML
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 1
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Agenda

Beneficios del Modelado Visual

Historia del UML

El Modelado Visual con UML
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 2
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Qué es el Modelado Visual?
“Al Modelar se capturan las partes
Orden
esenciales del sistema.”
Dr. James Rumbaugh
Producto
Envío por
Proceso del
Negocio
El Modelado Visual
consiste en modelar
usando una notación
gráfica estándar
Sistema de Computo
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 3
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

El Modelado Visual captura
los procesos del negocio
El análisis de Casos de Uso es una técnica para capturar
los procesos del negocio desde la perspectiva del usuario
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 4
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

El Modelado Visual es una
herramienta de comunicación
Se usa para capturar los objetos y la lógica del negocio
Se emplea para analizar y diseñar la aplicación
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 5
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

El Modelado Visual ayuda
a gestionar
la Complejidad
Existen Factores de Limitación
fundamentales
en la
humana
“El máximo número
de bloques
decognición
información
que un individuo puede
comprender de forma simultánea es del orden de siete más o menos dos.”
Dr. Miller, G.
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 6
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

El Modelado Visual define la
Arquitectura del Software
Interfaz de
Usuario
(Visual Basic,
Java)
Servidor de
base de datos
(C++ y SQL)
Lógica del
negocio
(C++, Java)
Modele el sistema
independiente del
lenguaje de
implementación
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 7
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

El Modelado Visual
promueve la reutilización
Sistemas Múltiples
Componentes
Reutilizables
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 8
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Qué es el UML?

UML es un acrónimo para Unified Modeling Language
( Lenguaje de Modelamiento Unificado)

El UML combina lo mejor de lo mejor en:
–
–
–
–
Conceptos del Modelado de datos (Diagramas Entidad-Relación)
Modelado del negocio (Flujo de trabajo)
Modelado de objetos
Modelado de Componentes

El UML es el lenguaje estándar para visualizar, especificar,
construir, y documentar los artefactos en un sistema de
software a gran escala

Puede usarse con todos los procesos, a lo largo del ciclo de
vida de desarrollo, y a través de diferentes tecnologías de
implementación
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 9
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Historia del UML
Nov. del 97
UML es aprobado por el OMG
Marzo del 99
En 1.998
(Draft) UML 1.3
(Uso Interno) UML 1.2
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 10
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

UML Apoya el desarrollo
de aplicaciones
Relaciones
Objetos
Objetos del negocio
Sistemas a gran escala
ORDBMS
Oracle
Clases
UML
Descomposición
de la aplicación
Components
Microsoft
Escenarios
Casos de uso
ActiveX/COM
Microsoft
CORBA
OMG
Procesos del negocio
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 11
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Conceptos sobre el UML

El UML puede ser usado para:
–
–
–
–
–
–
Mostrar los límites de un sistema y sus principales funciones
empleando casos de uso y actores
Ilustrar lo que se desea o espera de los casos de uso a través de
diagramas de interacción (interaction diagrams)
Representar la estructura estática de un sistema utilizando
diagramas de clase (class diagrams)
Modelar el comportamiento de los objetos con diagramas de
transición de estado (state transition diagrams)
Dar a conocer la arquitectura física de implementación con
diagramas de componentes (component diagrams) y diagramas
de utilización (deployment diagrams)
Extender su funcionalidad con estereotipos
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 12
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

A trabajar con el UML

La Universidad URL quiere (sistematizar) automatizar su
sistema de registro
–
–
–
–
–
–
El Secretario General establece el currículum para un semestre
• Un curso puede tener ofrecimiento de cursos múltiples
Los Estudiantes seleccionan 4 cursos primarios y 2 alternos
Una vez que el estudiante se matricula para el semestre, el sistema
de facturación es notificado para que el estudiante pueda obtener la
liquidación de su matrícula financiera para el semestre
Los Estudiantes pueden usar el sistema para adicionar/cancelar
cursos hasta un cierto período después de la matrícula
Los Profesores usan el sistema para recibir los listados con los
ofrecimientos de los cursos
A los Usuarios del sistema de registro se les asigna contraseñas
(passwords) que son utilizadas para permitir su acceso al mismo
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 13
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Actores

Un actor es alguien o alguna cosa que debe interactuar con
el sistema bajo desarrollo
Secretario General
(Registrar)
Profesor
(Professor)
Estudiante
(Student)
Sistema De Facturación
(Billing System)
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 14
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Casos de Uso

Un caso de uso es un patrón de comportamiento que el
sistema expone
–

Cada caso de uso es una sucesión de transacciones conexas
ejecutadas por un actor y el sistema con el que interactúa.
Los Actores se examinan para determinar sus
necesidades
–
–
–
–
Secretario General -- Mantenimiento al Currículum (Maintain
Curriculum)
Profesor -- Solicita lista (Request Roster)
Estudiante -- Mantenimiento a la lista (Maintain Schedule)
Sistema de Facturación -- Recibe información de matrícula
para la elaboración de una factura
Mantenimiento Al Currículum
(Maintain Curriculum)
Solicitud Lista Del Curso
(Request Course Roster)
Mantenimiento De La Lista
(Maintain Schedule)
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 15
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Documentar los casos de uso

Se crea un documento que consigna el flujo de los
eventos para cada uno de los casos de uso
–
Narrado desde la perspectiva del actor

Detalla lo que el sistema debe proveer al actor cuando se
ejecuta el caso de uso

El contenido típico:
–
–
–
–
Cómo se inicia y se finaliza un caso de uso
El flujo normal de eventos
El flujo alterno de eventos
El flujo excepcional de eventos
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 16
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Aplicar el Flujo de Eventos a:
Mantenimiento Al Currículum

Este caso de uso empieza cuando el Secretario General se registra e
ingresa su contraseña al Sistema de Registro. El sistema verifica la
validez de la contraseña (E-1) y da lugar a que el Secretario General
elija el semestre actual o uno futuro (E-2). El Secretario General
entra el semestre deseado. El sistema insta al profesor a elegir la
actividad deseada: Agregar (ADD), Suprimir (DELETE), Revisar
(REVIEW), o Salir (QUIT).

Si la actividad Seleccionada es Agregar, la S-1: Se ejecuta el sub-flujo
Agregar Un Curso (Add a Course).

Si la actividad escogida es Suprimir, la S-2: Se realiza el sub-flujo
Suprimir Un Curso (Delete a Course).

Si la actividad elegida es Revisar, la S-3: Se lleva a cabo el sub-flujo
Revisar El Currículum (Review Curriculum).

Si se opta por la actividad Salir, el caso de uso finaliza.

...
Página 17
Copyright © 1997 por Rational Software Corporation
Versión Concha
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Diagrama de casos de
uso (Use Case Diagram)

Los Diagramas de Casos de Uso se crean para visualizar las
relaciones entre los casos de uso y los actores
Solicitud Lista Del Curso
Profesor
Estudiante
Mantenimiento De La Lista
Sistema De Facturación
Mantenimiento Al Currículum
Secretario General
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 18
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Las relaciones de uso (uses
relationship) y ampliación
(extends) en los casos de uso

A medida que se va avanzando en la documentación de casos
de uso, pueden descubrirse otras relaciones entre ellos
–
–
Una relación de uso (uses relationship) muestra el
comportamiento común a uno más casos de uso
Una relación de ampliación (extends relationship) muestra el
comportamiento opcional
<<uses>>
Matrícula En Cursos
(Register for courses)
<<uses>>
Validación Del Registro
De Ingreso Al Sistema
(Logon validation)
Mantenimiento Al Currículum
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 19
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Lo que se desea o espera de
los casos de uso

Un diagrama de casos de uso (use case diagram) presenta
una vista externa del sistema

Los diagramas de interacción (Interaction diagrams)
describen cómo los casos de uso se interpretan en forma de
interacciones entre colectividades de objetos

Los dos tipos de diagramas de interacción
–
–
Diagramas de secuencia (Sequence diagrams)
Diagramas de colaboración (Collaboration diagrams)
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 20
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

El diagrama de sucesión
(Sequence Diagram)

Un diagrama de secuencia o diagrama de sucesión muestra
las interacciones entre objetos ordenados o distribuídos en
secuencia de tiempo
: Estudiante
Formulario
matrícula
JefeDe
Admisiones
matemática
101
matemática 101
sección 1
1: llena información
2: da consentimiento
3: agrega curso(josé, matemática 101)
4: está abierto?
5: está abierto?
6: agrega(josé)
7: agrega(josé)
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 21
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

El diagrama de colaboración
(Collaboration Diagram)

Un diagrama de colaboración despliega las interacciones
entre los objetos y los nexos (enlaces) con otros objetos
organizados a su alrededor
1: fija información del curso
2: procesa
formulario curso :
FormularioCurso
3: agrega curso
: Secretario General
elAdministrador :
AdministradorCurrículum
unCurso :
Curso
4: nuevo curso
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 22
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Los Diagramas de clase
(Class Diagrams)

Un diagrama de clases muestra la existencia de clases y sus
relaciones en la vista lógica de un sistema

Los elementos UML en los diagramas de clase
–
–
–
–
Las clases, su estructura y comportamiento
Relaciones de asociación, herencia, posesión y uso
Indicadores de cardinalidad o multiplicidad y navegación
Nombres de los roles (papeles)
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 23
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Clases (Classes)

Una clase es una colección de objetos que comparten una
estructura común y un comportamiento común, además
tienen en común sus relaciones y semántica

Las clases se descubren e inventan examinando los objetos
en los diagramas de sucesión y de colaboración

Una clase se representa a través de un rectángulo con tres
compartimentos

Para darle nombre a las clases se debería utilizar el
vocabulario del dominio del problema
–
–
Se deben crear normas para fijar sus nombres
por ejemplo: toda clase será escrita utilizando un sustantivo
singular usando la primera letra en mayúscula
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 24
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Clases
AlgoritmoHorario
FormularioDeAdmisión
JefeDeAdmisiones
Curso
Estudiante
Profesor
OfrecimientoCurso
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 25
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Operaciones (Operations)

El comportamiento de una clase está representado por sus
operaciones

Las operaciones pueden ser halladas examinando los
diagramas de interacción
formularioDe
Admisión
JefeDe
Admisiones
JefeDeAdmisiones
3: agrega curso(josé, matemática 101)
agregarCurso(Estudiante,Curso)
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 26
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Atributos (Attributes)

La estructura de una clase es representada por sus atributos

Los atributos pueden ser hallados examinando las
definiciones de las clases, los requerimientos del problema y
por el dominio que se tiene acerca de la aplicación de este
conocimiento
OfrecimientoCurso
número
localización
hora
Cada ofrecimiento de
curso tiene:
un número, localización
y hora
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 27
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Clases
AlgoritmoHorario
FormularioDeAdmisión
JefeDeAdmisiones
agregarEstudiante(Curso, InfoEstudiante)
Curso
nombre
númeroDeCréditos
Estudiante
nombre
asignatura
abrir()
agregarEstudiante(InfoEstudiante)
OfrecimientoCurso
Profesor
nombre
statusAcadémico
número
localización
hora
abrir()
agregarEstudiante(InfoEstudiante)
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 28
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Relaciones (Relationships)

Las relaciones aportan el camino para la comunicación
entre objetos

Los diagramas de secuencia y/o colaboración son
examinados para determinar si es necesario dar existencia a
enlaces entre objetos para que puedan cumplir con el
comportamiento esperado --si dos objetos necesitan hablar
debe haber un enlace entre ellos

Los tres tipos de relaciones son:
–
–
–
De asociación (association)
De agregación (aggregation)
De dependencia (dependency)
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 29
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Relaciones

Una asociación es una conexión bidireccional entre clases
–

Una agregación es una relación más fuerte, que explicita la
relación que va del todo a sus partes
–

Una asociación se representa con una línea que conecta las clases
relacionadas
Una agregación se representa con una línea que conecta las clases
relacionadas con un diamante -rombo- en el extremo que señala al
agregado, es decir al todo. La clase que está en el otro extremo
denota la parte que está contenida
Una dependencia es una forma de relación más débil que
muesta la relación cliente/proveedor, donde el cliente de
alguna forma depende del proveedor. El cliente no tiene un
conocimiento semántico del proveedor
–
Una dependencia se representa con una línea punteada, en un
extremo lleva una cabeza de flecha que señala al proveedor
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 30
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Hallar Relaciones

Las relaciones se descubren al examinar los diagramas de
interacción
–
Si dos objetos deben hablar debe haber un camino que permita
su comunicación
JefeDeAdmisiones
JefeDe
Admisiones
Matemática 101:
Curso
3: agrega estudiante(josé)
Curso
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 31
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Relaciones
AlgoritmoHorario
FormularioDeAdmisión
JefeDeAdmisiones
agregarEstudiante(Curso, InfoEstudiante)
Curso
nombre
númeroDeCréditos
Estudiante
abrir()
agregarEstudiante(InfoEstudiante)
nombre
asignatura
Profesor
OfrecimientoCurso
nombre
statusAcadémico
localización
abrir()
agregarEstudiante(InfoEstudiante)
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 32
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Cardinalidad (Multiplicity) y
navegabilidad (Navigation)

La multiplicidad o cardinalidad define cuántos objetos
participan en una relación
–
–
La multiplicidad es el número de instancias de una clase
relacionada con UNA instancia de otra clase
Para cada asociación y agregación existen dos decisiones de
multiplicidad a tomar: una para cada extremo de la relación

A pesar de que por omisión las asociaciones y las
agregaciones son bidireccionales, a menudo es deseable
restringir la navegación a un solo sentido

Si se restringe la navegación, se agrega una cabeza de flecha
para indicar la dirección de navegación
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 33
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Cardinalidad y navegación
AlgoritmoHorario
FormularioDeAdmisión
0..*
1
JefeDeAdmisiones
agregarEstudiante(Curso, InfoEstudiante)
1
Curso
0..*
Estudiante
nombre
númeroDeCréditos
abrir()
agregarEstudiante(InfoEstudiante)
asignatura
1
3..10
Profesor
1..*
OfrecimientoCurso
4
statusAcadémico
localización
1
0..4
abrir()
agregarEstudiante(InfoEstudiante)
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 34
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Herencia (Inheritance)

Herencia es una relación entre superclases y sus subclases

Hay dos formas de encontrar la herencia:
–
–

Generalización
Especialización
En el nivel más alto de la jerarquía se muestran los
atributos comunes, las operaciones y/o las relaciones
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 35
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Herencia
AlgoritmoHorario
FormularioDeAdmisión
JefeDeAdmisiones
agregarEstudiante(Curso, InfoEstudiante)
Curso
nombre
númeroDeCréditos
RegistrationUser
nombre
Estudiante
abrir()
agregarEstudiante(InfoEstudiante)
asignatura
Profesor
OfrecimientoCurso
statusAcadémico
localización
abrir()
agregarEstudiante(InfoEstudiante)
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 36
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

El estado de un objeto

Un diagrama de transición de estados muestra
–
–
–

La historia de la vida de una clase dada
Los eventos que causan una transición de un estado a otro
Las acciones que resultan como consecuencia de un cambio de
estado
Los diagramas de transición de estado se crean para los
objetos que exiban un comportamiento dinámico
significativo
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 37
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Diagrama de transición de estados
(State Transition Diagram)
Agrega Estudiante[ contador < 10 ]
Inicialización
Agrega Estudiante /
Hacer contador = 0
Abrir
do: Inicializar curso
entry: Registrar estudiante
exit: Incrementar contador
Cancela
Cancela
[ contador = 10 ]
Cancelado
do: Notificar registro estudiantes
Cancela
Cerrado
do: Finalizar curso
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 38
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

El mundo físico

Loa diagramas de componentes ilustran la organización y
dependencias entre los componentes del software

Un componente puede ser
–
–
–
Código fuente
Una biblioteca (run time) o
Un programa ejecutable
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 39
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Diagrama de componentes
(Component Diagram)
Matricula.exe
Facturación.exe
Sistema
de
Facturación
Gentes.dll
Usuario
Curso.dll
Curso
Estudiante
Curso
Profesor
Ofrecimiento
DeCursos
Copyright © 1997 por Rational Software Corporation
Versión Concha
Página 40
Escobar Computers Consultants
Adaptación Mauricio Gaona
The most recent updates on the Unified Modeling Language are available via the worldwide web, www.rational.com/uml.

Descargar

Visual Modeling and the UML