You are on page 1of 223

Universidad Politcnica del Valle de Mxico

Anlisis y Diseo

Modelado de Sistemas con UML


M. en I. Antonio Gama Campillo

ENERO-ABRIL

CONTENIDO

1. Introduccin
2. Generalidades del Paradigma OO
3. Proceso de Desarrollo Iterativo e Incremental

4. Diagramas del UML


5. Arquitectura
7. Bibliografa y referencias

MODELADO DE SISTEMAS CON UML

Introduccin

INTRODUCCIN
Qu es el software

Intangible

Complejo

No se gasta pero llega a ser obsoleto

Es la parte ms importante de los sistemas e


inclusive la ms costosa

La industria del software sigue en crecimiento

INTRODUCCIN
Complejidad

Program

x3

x3

x3
Program
Product

Application
system

x3

Application
System
Product

INTRODUCCIN
Problemtica en el desarrollo de software

Mala estimacin y dimensionamiento de los proyectos

Fallas en el manejo de riesgos

Complejidad del software

Los ciclos de negocio son ms cortos

La definicin de requerimientos es mala y no se


documentan

Los sistemas legados deben ser mantenidos por otras


personas

Diseo y arquitectura inadecuados

No se realiza un modelado detallado de las caractersticas


y componentes del software

INTRODUCCIN
Casos

Ao 2000 (Y2K)

Departamento de Trnsito de California, gast ms


de $43 millones en un sistema para integrar los
sistemas de registro de conductores y el registro de
vehculos. El sistema fue abandonado sin haberlo
usado

Un esfuerzo sin xito de $165 millones hecho por


American Airlines para ligar su sistema de reservacin
de vuelos con los sistemas de reservacin de los
hoteles Marriott, Hilton, y Budget.

Son ejemplos extremos PERO existen muchos casos similares en menor escala

INTRODUCCIN
Qu es un modelo

Es una representacin de algo real

Un modelo capta los aspectos importantes de lo que


estamos representando, desde cierto punto de vista, y
simplifica u omite el resto

Los modelos
matemticos

pueden

ser

fsicos,

grficos

INTRODUCCIN
Por qu modelar

Es difcil comprender el todo

Permite dividir un problema complejo en problemas


menores

Visualizar un sistema desde varias perspectivas

Entender y dimensionar el problema

Comprender y probar la solucin

INTRODUCCIN
Por qu modelar (2)
Abstraer las caractersticas,
estructura de algo por construir

componentes

Detectar fallas, inconsistencias y prever cambios

Documentacin del proyecto

Es menos costoso construir un modelo que un


sistema

Comunicacin entre el equipo de desarrollo y con los


usuarios

INTRODUCCIN
Aplicaciones del Modelado

Construccin

Telecomunicaciones

Automotriz

Cinematogrfica

Aeronutica

Administracin

Elctrica y electrnica

Software

UML permite que los usuarios, analistas, diseadores


y programadores comprendan un lenguaje de
modelado estndar

INTRODUCCIN
UML
El Lenguaje de Modelado Unificado (UML) es un
lenguaje de modelado visual que se usa para
especificar, visualizar, construir y documentar
artefactos de un sistema de software.

Fue desarrollado en un esfuerzo para simplificar y


consolidar las notaciones de desarrollo orientado a
objetos que haban surgido

Apoyado por el OMG1, Rational Software, Microsoft,


Hewlett-Packard, Oracle, Texas Instruments, MCI
Systemhouse y otros.

Object Management Group

INTRODUCCIN
UML
Integra lo mejor de varios autores
Booch
Rumbaugh

Jacobson

Fusion

Meyer

Operation descriptions,
Message numbering

Before and after


conditions

Harel
State charts

UML

Gamma, et.al

Embley
Singleton classes,
High-level view

Wirfs-Brock

Frameworks, patterns,
notes
Shlaer - Mellor
Object Lifecycles

Odell
Classification

Responsibilities

INTRODUCCIN

UML

UML 2.0

2001

UML 1.3, 1.4

1999-2000
1998

Submission to OMG
for adoption, July 97
Publication of
1.0 Standard Dec 96
public
feedback

June 96 & Oct 96

OOPSLA 95

Other methods

UML 1.2

UML 1.1

UML 1.0

UML Partners
Expertise

Unified Method 0.8

Booch 91

Unificacin
Fragmentacin

OMT - 2
OMT - 1

Industrializacin
Estandardizacin

UML 0.9 & 0.91

Booch 93

Optimizacin y
actualizacin

OOSE

INTRODUCCIN
UML
Lenguaje. Mediante la notacin permite expresar y
comunicar conocimiento.

Unificado. Integra lo mejor de varios autores,


notaciones y tcnicas.

Modelado. Permite representar de manera abstracta


aspectos reales.

INTRODUCCIN
UML

UML es un lenguaje y no un mtodo

No es un proceso de software

Incluye una serie de diagramas; especifica la notacin


para representarlos pero no describe cmo crearlos

Organizacin del UML:

Elementos

Relaciones

Diagramas

INTRODUCCIN
Ventajas del UML

Define una notacin expresiva y consistente

Facilita la comunicacin con otros

Permite detectar omisiones o inconsistencias

Es aplicable a sistemas sencillos y complejos

Es un estndar en la industria de construccin de


software

Existen herramientas en el mercado para modelar y


generar cdigo a partir de UML

MODELADO DE SISTEMAS CON UML

Generalidades del Paradigma


Orientado a Objetos

PARADIGMA OO
Evolucin
70s - Mtodos de desarrollo para lenguajes de programacin como
Cobol y Fortran

80s - Anlisis estructurado y diseo estructurado (Yourdon, Ward,


DeMarco, etc.)

1967 - Se desarrolla Simula 67, el primer lenguaje reconocido como


OO

80s - Surgen y evolucionan otros lenguajes como: Smalltalk,


Objetive C, C++, Eiffel, CLOS. Primeros mtodos de desarrollo
orientado a objetos

90s - Unificacin de mtodos orientados a objetos

2000 Desarrollo por componentes, reutilizacin , integracin e


interoperabilidad de los sistemas.

PARADIGMA OO
Tecnologa de objetos
El paradigma orientado a objetos es una filosofa
para el desarrollo de sistemas basado en el modelado
del mundo real a travs de la identificacin de objetos

Surgi inicialmente como un enfoque para la


programacin pero se ha extendido a todo el ciclo de
desarrollo de sistemas

PARADIGMA OO
Ejemplos de objetos cotidianos

Un objeto representa un elemento identificable con


ciertas caractersticas (atributos) y que puede realizar un
conjunto de acciones (operaciones)

PARADIGMA OO
Los objetos son ...
la pieza fundamental que combina tanto estructura
como comportamiento

en contraste con la programacin convencional, el


elemento donde la estructura de datos y el
comportamiento estn estrechamente relacionados

un elemento con estado, comportamiento e identidad

una instancia de una clase

Una clase es un conjunto de objetos que comparten una


estructura comn y un comportamiento comn.

PARADIGMA OO
Ejemplos de Clases

mamfero

hombre

PARADIGMA OO
Ejemplos de Clases (2)
instrumento

percusin

tambor

cuerda

violn

guitarra

aliento

saxofn

PARADIGMA OO
Ejemplos de Objetos
miViolin:violn
marca: Stradivarius
color: caf
ao: 1856
peso: 455 gr
afinar()
tocarNota(nota)
cambiarCuerda()

PARADIGMA OO
Ejemplos de Objetos (2)

Mary

James

Susy

PARADIGMA OO - Conceptos
Algunas caractersticas de los objetos

ABSTRACCIN
Omitir las propiedades y acciones de un objeto y
dejar slo aquellas que nos interesan

Por ejemplo: cuando se estudia el cuerpo humano


podemos abstraer diversos subsistemas
(respiratorio, seo, nervioso, etc.)

PARADIGMA OO - Conceptos

CLASIFICACIN
Los objetos con la misma estructura y
comportamiento son agrupados en clases

instrumento

percusin
tambor

cuerda
violn

guitarra

aliento
saxofn

PARADIGMA OO - Conceptos

POLIMORFISMO
El comportamiento de una clase puede variar de
acuerdo a ciertas circunstancias

En ocasiones una operacin tiene el mismo nombre


en diferentes clases

polgono

camin

piezaAjedrez

mover

mover

mover

PARADIGMA OO - Conceptos

HERENCIA
Las clases son organizadas jerrquicamente. Las
clases
hijas
conservan
la
estructura
y
comportamiento de las clases padres

PARADIGMA OO - Conceptos

ENCAPSULAMIENTO
Permite ocultar los detalles de la implementacin
de un objetos

Los objetos ocultan la funcionalidad interna de


sus operaciones, de otros objetos y del mundo
exterior

PARADIGMA OO - Conceptos

MENSAJES
Para que los objetos de un sistema trabajen en
conjunto, un objeto enva a otro un mensaje para
realizar una operacin y el objeto receptor ejecutar
la operacin

mensaje

torreControl

avin

PARADIGMA OO - Ventajas y Aplicaciones


Ventajas de la tecnologa de objetos

Facilita la re-utilizacin de la arquitectura y el cdigo

Los modelos reflejan de manera ms cercana el


mundo real

Describe con mayor exactitud los procesos y datos


incorporados

Descomposicin basada en particin natural

Ms fcil de entender y mantener

Estable

Un cambio pequeo en requerimientos no significa


cambios masivos en el sistema en desarrollo

PARADIGMA OO - Ventajas y Aplicaciones


Ventajas de la tecnologa de objetos
Orden

Objeto

Medio de entrega

PARADIGMA OO - Ventajas y Aplicaciones


Ventajas de la tecnologa de objetos
Ventas

Vendedor

Cliente

Empresa

Producto

Individual

Vehiculo

Trailer

Tren

PARADIGMA OO - Ventajas y Aplicaciones


Aplicaciones de la tecnologa de objetos
Sistemas basados en GUI
La metodologa OO facilita el diseo e
implementacin de sistemas con Interfaces Grficas
de Usuario (GUI)

PARADIGMA OO - Ventajas y Aplicaciones


Aplicaciones de la tecnologa de objetos
Sistemas Inmersos
Los mtodos OO permiten desarrollar sistemas
inmersos y de tiempo real con mayor calidad y
flexibilidad

PARADIGMA OO - Ventajas y Aplicaciones


Internet
Comercio Electrnico
Los sistemas de comercio electrnico requieren
robustez y estabilidad que la tecnologa de objetos
proporciona
JAVA
Reutilizacin

eCommerce

MODELADO DE SISTEMAS CON UML

Proceso de desarrollo iterativo e


incremental

PROCESO DE DESARROLLO (RUP)


Adems del UML

Desarrollo
en equipo
Lenguaje de
Modelado

Proceso
Unificado

PROCESO DE DESARROLLO (RUP)


Se requiere un marco de trabajo que permita:

Generar aplicaciones atractivas para el usuario.

Generar aplicaciones robustas de alta calidad.

Generar
aplicaciones
rpidamente
liberaciones tempranas y continuas.

mediante

Soportar los cambios continuos de requerimientos.

Generar aplicaciones con la funcionalidad requerida y


dentro de los tiempos y costos inicialmente estimados.

PROCESO DE DESARROLLO (RUP)


Qu es un proceso?
Un proceso es un conjunto de actividades, mtodos y
prcticas para desarrollar y mantener el software y los
productos asociados.

Un proceso define qu hacer, cundo y cmo hacerlo, y


quin(es) deben hacerlo.

Requerimientos

Proceso de Ingeniera
de Software

Sistema

PROCESO DE DESARROLLO

Qu procesos o ciclos de
vida de desarrollo de
software conocemos?

PROCESO DE DESARROLLO (RUP)


El Rational Unified Process es un proceso de
ingeniera de software.
Su meta es la produccin de software de alta calidad
que cumpla con las necesidades de los usuarios dentro
de presupuestos y tiempos estimados.

El Proceso Unificado permite


Desarrollar software de manera iterativa
Manejar requerimientos mediante Casos de Uso
Usar arquitecturas basadas en componentes
Utilizar el modelado visual de software
Verificar la calidad del software
Controlar los cambios

PROCESO DE DESARROLLO (RUP)


Evolucin del RUP

PROCESO DE DESARROLLO (RUP) - Modelo


Proceso Unificado

Core Process
Workflows

Core
Supporting
Workflows

PROCESO DE DESARROLLO (RUP) - Fases


Fases del Proceso
Inception

Elaboration

Construction

Transition

Tiempo

Inception.

Definir el alcance y objetivos del proyecto.


Casos de Negocio del sistema.

Elaboration.

Analizar el dominio del problema, establecer


una arquitectura base, desarrollar el plan y
eliminar los elementos de alto riesgo del
proyecto.

Construction.

Transition.

Desarrollo del producto.


Introducir el producto a la comunidad de
usuarios.

PROCESO DE DESARROLLO (RUP) - Fases


Principales milestones
Inception

Elaboration

Construction

Transition

Tiempo
Visin y
objetivos

Arquitectura
Base

Capacidad
de operacin
Inicial

Versin
de producto

Cada fase se concluye con un milestone, un punto en el


tiempo en el que se deben tomar ciertas decisiones y
lograr ciertas metas.

PROCESO DE DESARROLLO (RUP) - Fases


Inception

Los elementos principales que se obtienen de la fase de


concepcin son:

Un documento de visin que incluye una visin general de


los requerimientos del proyecto, sus caractersticas clave y
sus principales restricciones.
Un modelo inicial de Casos de Uso (10%-20%)
Un glosario inicial del proyecto
El contexto del negocio, los criterios de xito y las
estimaciones financieras.
Una estimacin inicial de los riesgos.
Un plan del proyecto

PROCESO DE DESARROLLO (RUP) - Fases


Inception

Elaboration

Los elementos principales que se obtienen de la fase de


elaboracin son:

Un modelo de Casos de Uso (al menos 80%). Todos los


Casos de Uso y Actores han sido identificados y la mayora
de las descripciones se han desarrollado.
Los requerimientos adicionales que no estn asociados a
un caso de uso especfico.
Una descripcin del arquitectura de software.
Un prototipo de la arquitectura.
Una lista de riesgos revisada.
Un plan de desarrollo para todo el sistema.

PROCESO DE DESARROLLO (RUP) - Fases


Inception

Elaboration

Construction

Los elementos principales que se obtienen de la fase de


construccin son:

El producto de software integrado en la plataforma


adecuada.
Los manuales (de usuario y tcnico).
Una descripcin de la versin actual.

PROCESO DE DESARROLLO (RUP) - Fases


Inception

Elaboration

Construction

Transition

Los elementos principales que se obtienen de la fase de


transicin son:

Una prueba-beta para validar el nuevo sistema contra las


expectativas del usuario.
Operacin paralela del sistema legado que ser
reemplazado.
Conversin de bases de datos operacionales.
Capacitacin de los usuarios y administradores.
Presentacin del producto a los equipos relacionados.

PROCESO DE DESARROLLO (RUP) - Iteraciones


Iteraciones

Cada fase del proceso puede ser adems divida en


iteraciones.

Una iteracines un ciclo de desarrollo completo que


concluye con una versin (interna o externa) de un
producto ejecutable; un subconjunto del producto final el
cual crece incrementalmente de iteracin en iteracin
hasta llegar a ser el sistema final.

PROCESO DE DESARROLLO (RUP) - Iteraciones

...

Iteracin 1

Iteracin N

R
D

D
C

iter 1 iter 2 iter 3

iter 4

C
P

Ejecutable 1

Ejecutable N

iter i

iter
i+1

iter
i+2

iter
i+3

iter n

iter
n+1

iter
n+2

iter
n+3

PROCESO DE DESARROLLO (RUP) - Proceso


Estructura esttica del proceso

Un proceso describe quin, qu, cmo y cundo. Para


ello el Proceso Unificado usa cuatro elementos de
modelado:

Trabajadores

Actividades

Artefactos

Flujos de trabajo

PROCESO DE DESARROLLO (RUP) - Proceso


Trabajadores (Workers)
Analyst workers
Business-Process Analyst
Business Designer
Business-Model Reviewer
Requirements Reviewer
System Analyst
Use-Case Specifier
User-Interface Designer

Manager workers
Change Control Manager
Configuration Manager
Deployment Manager
Process Engineer
Project Manager
Project Reviewer

Developer workers

Other workers

Architect
Architecture Reviewer
Capsule Designer
Code Reviewer
Database Designer
Design Reviewer
Designer
Implementer
System Integrator

Any Worker
Course Developer
Stakeholder
System Administrator
Technical Writer
Tool Smith

Testing workers
Test Designer
Tester

PROCESO DE DESARROLLO (RUP) - Proceso


Actividades

Execute Test

Database design

PROCESO DE DESARROLLO (RUP) - Proceso


Purpose
To outline the functionality of the system.
To define what will be handled by the system and what will be handled outside the system.
To define who and what will interact with the system.
Divide the model into packages with actors and use cases.
Create diagrams of the use-case model.
Develop a survey of the use-case model.
Steps
Find Actors
Find Use Cases
Describe How Actors and Use Cases Interact
Package Use-Cases and Actors
Present the Use-Case Model in Use-Case Diagrams
Develop a Survey of the Use-Case Model
Evaluate Your Results
Input Artifacts
Glossary
Vision
Stakeholder Requests
Use-Case-Modeling
Guidelines
Business Use-Case Model
Business Object Model

Resulting Artifacts

Worker

Use-Case Model, briefly outlined.


Actors
Use Cases, briefly described; possibly
described step-by-step.
Supplementary Specifications

System Analyst

PROCESO DE DESARROLLO (RUP) - Proceso


Artefactos
Un artefacto
es una pieza
de
informacin
que es
producida,
modificada o
usada por un
proceso.

Son los
productos
tangibles del
proyecto.

PROCESO DE DESARROLLO (RUP) - Proceso


Flujos de Trabajo (Workflows)
Un workflow es una secuencia de actividades que producen un
resultado de valor observable.

Modelado del negocio


Requerimientos
Anlisis y Diseo
Implementacin
Pruebas
Distribucin

Administracin del proyecto


Administracin de configuracin y cambios
Ambiente

PROCESO DE DESARROLLO (RUP) - Proceso


Flujos de Trabajo (Workflows)

Modelado del negocio (Business modeling)


Documentacin de los procesos de negocio

Requerimientos (Requirements)
Descripcin de qu debe hacer el sistema; acuerdo entre los
desarrolladores y los clientes

Anlisis y Diseo (Analysis & Design)


Cmo se realizar el sistema en la fase de implementacin;
abstraccin del cdigo fuente.

Implementacin (Implementation)
Definir la organizacin del cdigo; implementar las clases y
objetos; probar los componentes desarrollados; integrar los
resultados en sistemas ejecutables

PROCESO DE DESARROLLO (RUP) - Proceso


Flujos de Trabajo (Workflows)

Pruebas (Test)
Verificar la interaccin e integracin de los componentes de
software; verificar que todos los requerimientos han sido
correctamente implementados.

Distribucin (Deployment)
Producir versiones de producto y entregar el software a los
usuarios; empacar, distribuir e instalar el software; brindar
asesora; migracin de datos existentes.

PROCESO DE DESARROLLO (RUP) - Proceso


Flujos de Trabajo (Workflows)

Administracin del proyecto (Project Management)


Lineamientos para planear, dirigir y monitorear el proyecto;
manejar riesgos.

Administracin de configuracin y cambios (Configuration &


Change Management)

Controlar los diversos artefactos producidos por la gente que


trabaja en un proyecto; actualizaciones; notificaciones; versiones.

Ambiente (Environment)
Configurar el proceso en el contexto del proyecto.

PROCESO DE DESARROLLO (RUP) - Prcticas


El Proceso Unificado de Rational provee a cada miembro
del equipo lineamientos para implementar seis prcticas
que facilitan el desarrollo eficiente para lograr aplicaciones
de alta calidad.
Desarrollo Iterativo

Arquitectura de Componentes

Administracin de requerimientos

Verificacin de la Calidad

Modelado Visual

Control de Cambios

PROCESO DE DESARROLLO (RUP) - UML

UML

RUP

MODELADO DE SISTEMAS CON UML

Modelado de Sistemas con UML

MODELADO DE SISTEMAS CON UML


Anlisis y Diseo OO

OOA
Desarrollo del modelo
de requerimientos

Perspectiva de
Usuario

OOD
Agregar decisiones de
diseo y de detalle

Perspectiva de
Desarrollador

MODELADO DE SISTEMAS CON UML


UML
UML es el lenguaje de modelado estndar para crear planos
de software. Permite:

Visualizar la solucin y facilitar la comunicacin

Especificar
ambigedad

modelos

precisos,

completos

sin

Construir cdigo base mediante herramientas como el


Rose en varios lenguajes de programacin

Documentar arquitectura, requerimientos, pruebas,


procesos de negocio, pginas web

MODELADO DE SISTEMAS CON UML


Diagramas del UML

Use
Case
Use
Case de
Diagramas
Diagrams
Diagrams
Secuencia
Scenario
Scenario de
Diagramas
Diagrams
Diagrams
Colaboracin
Scenario
Scenario
Diagramas
Diagrams
Diagrams
de Estado

Use
Case
Use
Case de
Diagramas
Diagrams
Diagrams
Casos
de Uso

State
State
Diagramas
Diagrams
Diagrams
de Clase

Modelos

Diagramas de
Actividad

State
State
Diagramas
Diagrams
Diagrams
de Objetos
State
State de
Diagramas
Diagrams
Diagrams
Componentes

Component
Component
Diagrams
Diagramas
Diagrams de

Distribucin

Un modelo es una descripcin completa de un sistema desde


una perspectiva particular

MODELADO DE SISTEMAS CON UML


Diagramas del UML

Funcionalidad
Diagrama de Casos de Uso
Estructura Esttica
Diagrama de Clases
Comportamiento dinmico
Diagramas de Actividad
Diagramas de Interaccin (Secuencia y Colaboracin)
Diagramas de Estado
Implementacin
Diagramas de Componentes
Diagramas de Distribucin

MODELADO DE SISTEMAS CON UML

Casos de Uso
Comportamiento del Sistema y
Especificacin de Requerimientos

MODELADO DE SISTEMAS CON UML


Comportamiento del Sistema
El comportamiento del sistema se refiere a cmo
acta y reacciona el sistema

La actividad visible y comprobable de un sistema

El comportamiento del sistema se muestra en los


casos de uso

Los casos de uso describen al sistema, su ambiente,


y las relaciones entre estos

MODELADO DE SISTEMAS CON UML


Requerimientos
Un requerimiento es una condicin o caracterstica que
se debe satisfacer.

Dominio del
Problema

Dominio de la
Solucin

Necesidades
del negocio

Caractersticas del
Sistema

Requerimientos de Software

MODELADO DE SISTEMAS CON UML


Requerimientos
Funcionales
Describen lo que el sistema debe hacer, es decir
especifican acciones que el sistema debe ser capaz de
realizar, sin considerar restricciones fsicas. Los
requerimientos funcionales especifican el comportamiento
del sistema.

No Funcionales
Describen nicamente atributos del sistema o atributos del
ambiente del sistema y pueden ser por ejemplo:
requerimientos de interfaz, de diseo, de implementacin,
legales, fsicos, de costo, de tiempo, de calidad, de
seguridad, de construccin, operacin.

MODELADO DE SISTEMAS CON UML


Casos de Uso
La Vista de Casos de
comportamiento de un sistema.

Uso

captura

el

Un Caso de Uso Representa por lo tanto una


secuencia de acciones que un sistema lleva a cabo
para ofrecer algn resultado de valor para un Actor.
Los
Casos de Uso representan toda la
funcionalidad del sistema.
El modelo de Casos de Uso es una especificacin
completa de todas las formas posibles de utilizar un
sistema: requerimientos funcionales

Fue un concepto aportado por Jacobson en 1994

MODELADO DE SISTEMAS CON UML


Elementos de los Casos de Uso

Actor

Use Case

Un Actor representa cualquier


cosa que interacte con el
sistema

Un Caso de Uso es una


interaccin tpica entre un
usuario (Actor) y un sistema.

MODELADO DE SISTEMAS CON UML


Modelo de Casos de Uso
Un modelo de casos de uso
es una representacin de las
funciones del sistema (casos
de uso) y en su entorno
(actores)

El mismo modelo de casos


de uso se usa en el anlisis de
requerimientos,
diseo
y
pruebas

El propsito principal del modelo de casos de uso es


comunicar la funcionalidad y comportamiento del sistema
hacia el cliente o el usuario final

MODELADO DE SISTEMAS CON UML


Modelo de Casos de Uso - Beneficios
Se usa para comunicarse con los usuarios finales y
expertos en el dominio del problema

Proporciona una etapa previa de desarrollo de sistema


Asegura un entendimiento mutuo de los requerimientos

Se usa para identificar:


Quin interactuar con el sistema y qu debe hacer el
sistema
Qu interfaces debe tener el sistema

Se usa para verificar:


Que se capturen todos los requerimientos
Que
los desarrolladores hayan entendido
requerimientos

los

MODELADO DE SISTEMAS CON UML


Actores

Actor

Los Actores no son parte del sistema;


representan los roles que pueden jugar
los usuarios del sistema
Un
Actor
puede
intercambiar
informacin activamente con el sistema
Un Actor puede ser un receptor pasivo
de informacin
Un Actor puede ser una persona, una
mquina u otro sistema
Cada Actor participa en uno o ms
Casos de Uso

MODELADO DE SISTEMAS CON UML


Actores - Instancias

Un rol puede ser realizado por distintos usuarios

Insertar
Tarjeta

1
4
7
*

2
5
8
0

3
6
9
#

John

Tom

Usuario

Ingreso a
Instalaciones

MODELADO DE SISTEMAS CON UML


Actores - Instancias

Un usuario puede desempear varios roles

Insertar
Tarjeta

1
4
7
*

2
5
8
0

3
6
9
#

Charlie

Ingreso a
Usuario

Operador

Instalaciones

Mantenimiento

MODELADO DE SISTEMAS CON UML


Actores - Cmo encontrarlos
Quin est interesado en cierto requerimiento?
Dnde se usara el sistema dentro de la organizacin?
Quin proveer al sistema con esta informacin, usar esta
informacin, borrar esta informacin?
Quin usar esta funcin?
Quin le dar soporte y mantenimiento al sistema?
El sistema usa una fuente externa?
Qu actores necesitan los casos de uso?
Puede un actor desempear varios roles diferentes?
Varios actores desempean el mismo rol?

MODELADO DE SISTEMAS CON UML


Casos de Uso

Use Case

Un Caso de Uso es una unidad


coherente de funcionalidad
Un Caso de Uso especifica una
secuencia de acciones, incluyendo
variantes, que el sistema puede llevar a
cabo, y que producen un resultado
observable de valor para un actor
Es una toma instantnea de algn
aspecto del sistema
Los Casos de Uso representan un
conjunto de escenarios tpicos que
ayudan a estructurar y comprender los
requerimientos esenciales

MODELADO DE SISTEMAS CON UML


Casos de Uso - Fuentes

Fuentes de informacin para obtener los Casos de


Uso:
Conversacin con el cliente/usuario
Dominio del problema
Especificacin del sistema
Literatura relevantedel dominio
Entrevistas con expertos
Conocimiento personal del dominio
Sistemas legados

MODELADO DE SISTEMAS CON UML


Casos de Uso - Cmo encontrarlos

Cules son las tareas de este actor?

El actor crear, almacenar, cambiar, borrar o leer


informacin en el sistema?
Qu caso de uso crear, almacenar, cambiar, borrar o leer
esta informacin?
El actor necesitar informar al sistema acerca de cambios
externos repentinos?
El actor necesita recibir informacin acerca de ciertas ocurrencias
en el sistema?
El sistema proporciona al negocio el comportamiento correcto?
Qu casos de uso van a darle soporte y mantenimiento al
sistema?
Los requerimientos funcionales pueden ser ser ejecutados por los
casos de uso?

MODELADO DE SISTEMAS CON UML


Casos de Uso - Consideraciones

Cada Caso de Uso representa una forma de usar el


sistema (de dar soporte un usuario durante un proceso
de negocio)

Los mejores Caso de Uso son aquellos que aaden el


mayor valor al negocio que implanta el sistema

Casos de Uso vs. Casos de Abuso


Casos de Uso vs. Casos sin Uso

Es necesario ajustar la granularidad de acuerdo al


problema:

Muchos Casos de Uso ser abrumantes


Pocos Casos de Uso pueden ocultar
importantes

detalles

MODELADO DE SISTEMAS CON UML


Casos de Uso - Ejemplo Cajero Automtico

Retiro de ef ectiv o

Usuario

Consulta de Saldo

Depsito de Cheques

Mantenimiento

Alimenta ef ectiv o

Consulta Bitcora

Operador
Especialista

Banco

MODELADO DE SISTEMAS CON UML


Relaciones Uses y Extends

Adems de los vnculos entre Actores y los Casos de


Uso hay dos tipos de relaciones:

Uses (usa)
Extend (extiende)

Analiza
Riesgo

<<uses>>

Valuacin
Comerciante

Negocia
Precio

Captura
negociacin

<<uses>>

<<extends>>

Lmite
excedido

MODELADO DE SISTEMAS CON UML


Relaciones Uses y Extends

Las relaciones uses ocurren cuando se tiene una


porcin de comportamiento que es similar en ms de
un caso y no se quiere duplicar la descripcin de tal
conducta

Uses permite incluir la misma funcionalidad en dos o


ms Caso de Uso separados sin necesidad de repetir
los detalles

Se utiliza la relacin extends cuando se tiene un


Caso de Uso que es similar a otro, pero que hace un
poco ms

Extends describe una variacin de la conducta normal

MODELADO DE SISTEMAS CON UML


Ejemplo de Uses y Extends

<<extends>>
<<uses>>

Retiro de efectivo

<<uses>>
Usuario

Consulta de Saldo

Validacin de NIP

Efectivo insuficiente

MODELADO DE SISTEMAS CON UML


Documentacin de los Casos de Uso

Breve Descripcin

Pre-condiciones

Secuencias de acciones que detallan las alternativas del Caso

Flujos de Excepcin

Secuencia de acciones que se dan normalmente

Flujos Alternos

Requisitos necesarios para que el Caso de Uso se lleve a cabo

Flujo Principal

El propsito es explicar en pocas lneas el Caso

Eventos extraordinarios del Caso

Post-condiciones

Requisitos que deben cumplirse posteriormente

MODELADO DE SISTEMAS CON UML


Documentacin de los Casos de Uso

Describe slo los eventos que pertenecen al caso de


uso, y no lo que pasa en otros casos de uso
Utilizar un lenguaje comprensible para el cliente
Evitar terminologa vaga como por ejemplo, etc. e
informacin
Deber describir:

Cmo y cundo inicia y termina el caso de uso


Cuando interactua el caso de uso con los actores
Qu informacin se intercambia entre un actor y el caso
de uso
No describe los detalles de la interfaz de usuario,
describe las acciones

MODELADO DE SISTEMAS CON UML


Utilidad de los Casos de Uso

Clientes. Aprueban lo que el sistema debe


hacer
Usuarios. Ganan entendimiento del
sistema
Analistas. Proporciona las bases para el
anlisis y diseo
Desarrolladores. Comportamiento del
documento del sistema
Probadores. Se usan como base para las
pruebas del sistema.
Lder del Proyecto. Planeacin de
proyectos
Documentador. Base para la gua de
usuario

MODELADO DE SISTEMAS CON UML


Escenarios

Un escenario es una instancia de un caso de uso

Es un flujo a travs de un casos de uso

Es una ruta que muestra una combinacin particular


de condiciones en un caso de uso
Un Caso de Prueba es un conjunto de entradas de
prueba, condiciones de ejecucin y resultados
esperados desarrollados para probar un camino
concreto a travs de un Caso de Uso

Escenarios primarios.

Flujo normal. La forma en la que debe trabajar el sistema

Escenarios secundarios

Excepciones del escenario primario

MODELADO DE SISTEMAS CON UML


Escenarios - Cuntos

Respuesta sencilla: tantos como los que necesiten


para entender el desarrollo del sistema
Regla de manejo:
Escenarios Primarios
Elaborar aproximadamente el 80% de estos
escenarios
Escenarios Secundarios
Elaborar
algunos
de
los
escenarios
secundarios interesantes y de alto riesgo

MODELADO DE SISTEMAS CON UML


Modelo Casos de Uso

El modelo de Casos de Uso est casi terminado


cuando captura todos los requisitos funcionales de un
modo que puedan comprender los clientes, usuarios y
desarrolladores
Los Casos de Uso ayudan a los jefes de proyecto a
planear, asignar y controlar muchas de las tareas que
los desarrolladores realizan

Incluso se puede estimar el esfuerzo y tiempo


requeridos para realizar las tareas y por lo tanto el
tamao del proyecto y los recursos necesarios

MODELADO DE SISTEMAS CON UML

Diagramas de Actividad
Secuencia y acciones paralelas

MODELADO DE SISTEMAS CON UML


Diagramas de Actividad
El diagrama de actividad combina ideas de varias
tcnicas: el diagrama de eventos de John Odell, las
tcnicas de modelado de estados de SDL y las
redes de Petri
Son tiles para la descripcin del comportamiento
que tiene una gran cantidad de procesos paralelos
Permite
modelar los procesos reales de una
organizacin humana y modelar actividades de
software
Permiten describir casos de uso

MODELADO DE SISTEMAS CON UML


Diagramas de Actividad

MODELADO DE SISTEMAS CON UML


Diagramas de Actividad - Ejemplo
Seleccionar obra

Programar obra

Anunciar obra

Comprar guiones
y msica

Contratar
artistas

Comprar
equipos

Vender entradas

Ensayar

Ensayo general

Representar la obra

Disear
iluminacin

Hacer
vestuario

MODELADO DE SISTEMAS CON UML


Diagramas de Actividad - Notacin

Actividad

Barra de
sincronizacin

Decisin

[condicin de guarda ]

Una actividad es una accin a


realizar
La barra de sincronizacin permite
iniciar acciones una vez que se
han
realizado
actividades
concurrentes
La decisin es un punto en el que
se pueden seguir alternativas
distintas de acuerdo al resultado
de la actividad anterior
Las condiciones de guarda son los
posibles resultados de una accin
que servirn como condicin para
la realizacin de otra

MODELADO DE SISTEMAS CON UML


Diagramas de Actividad - Perspectiva
Dependiendo de la perspectiva, la actividad es
interpretada de manera diferente:

Perspectiva conceptual
Una actividad es alguna tarea que necesita
ser realizada ya sea por una persona o una
computadora
Perspectiva de especificacin
Una actividad es un mtodo en una clase

MODELADO DE SISTEMAS CON UML

[no hay caf]

[no hay refresco]

Buscar Bebida

[hay caf

Poner caf en filtro

[hay refresco]

Aadir agua al depsito Tomar taza


Tomar refresco

Poner filtro en mquina

Encender mquina
^cafetera.On
Caf en preparacin

Servir caf

Beber

MODELADO DE SISTEMAS CON UML


Diagramas de Actividad
La diferencia entre los diagramas de flujo y los
diagramas de actividad es que pueden ser
representadas actividades en paralelo

Esto es importante para el modelado de negocios,


cuando los procesos no son secuenciales y pueden
ser representados de forma paralela

Los diagramas de actividad tambin son tiles para


programas concurrentes. Por ejemplo en el uso de
threads

MODELADO DE SISTEMAS CON UML


Diagramas de Actividad -Swimlanes
Los diagramas de actividad mediante los
swimlanes muestra adems de qu pasa, quin lo
hace

Se indican con una lnea vertical que separa el


diagrama en zonas. Cada zona representa una clase,
persona o departamento en particular

Utilidad
Desde la perspectiva de la implementacin, permite
representar qu clase es responsable de qu
actividad
Desde
el punto de vista de dominio, permite
representar qu persona o departamento es
responsable de qu actividad

MODELADO DE SISTEMAS CON UML


Diagramas de Actividad - Triggers
Actividad 1
Trigger 1

AND Trigger 2

1
3

Trigger 3

Actividad 1
Trigger 1

OR

Trigger 3

Actividad 2

Trigger 2

Actividad 2
2

Actividad 3

MODELADO DE SISTEMAS CON UML


Diagramas de Actividad - Ejercicio (1)

Cuando recibimos un pedido, comprobamos la


existencia y suficiencia de cada artculo. Si el
artculo existe asignamos la mercanca al pedido. Si
esta asignacin hace bajar la cantidad de mercanca
en existencia por debajo del nivel de reorden, se
surte. Mientras hacemos esto, revisamos el pago
para ver si est correcto. Si el pago est bien y hay
mercancas en existencia despachamos el pedido. Si
el pago est correcto pero no hay las mercancas en
existencia o si el pago no est bien, cancelamos la
orden.

MODELADO DE SISTEMAS CON UML


Diagramas de Actividad - Cundo utilizarlos?
La gran utilidad de los diagramas de actividades
reside en que manejan y promueven el
comportamiento en paralelo; no obstante algunos
consideran que no estn orientados a objetos.

Se sugiere utilizarlos en:


El anlisis de un caso de uso
En la comprensin del flujo de trabajo a travs de
numerosos casos de uso
Aplicaciones multihilos

NO se sugiere utilizarlos para:


Ver cmo colaboran los objetos
Ver el comportamiento de un objeto

MODELADO DE SISTEMAS CON UML

Diagramas de Clases y Objetos


Caractersticas estructurales

MODELADO DE SISTEMAS CON UML


Qu es un objeto?

De manera informal, un objeto representa una entidad,


ya sea fsica, conceptual o de software

Entidad fsica
Trailer

Entidad conceptual
Proceso Qumico

Entidad de software
Lista Ligada

MODELADO DE SISTEMAS CON UML


Qu es un objeto?

Un objeto es un concepto, abstraccin, o cosa con


lmites bien definidos y significado para una aplicacin
Un objeto es algo que tiene:

Estado
Comportamiento
Identidad

Un objeto es una instancia de una clase

MODELADO DE SISTEMAS CON UML


Estado de un objeto

El estado de un objeto es una de las condiciones


posibles en las que un objeto puede existir
El estado de un objeto normalmente cambia con el
paso del tiempo
El estado de un objeto usualmente se implementa por
una serie de propiedades (llamadas atributos), con
valores determinados, ms las relaciones que el objeto
pueda tener con otros objetos
a + b = 10

Nombre:
Mariana C.
Empleado ID:
567138
Fecha de contrato: 21/03/1987
Estado:
Asignada

MODELADO DE SISTEMAS CON UML


Comportamiento de un objeto

El comportamiento determina como acta y responde


un objeto a peticiones de otros objetos
El comportamiento visible de un objeto se modela por
un conjunto de mensajes a los que puede responder
(las operaciones que el objeto puede desempear)
a + b = 10

Asignar a la Profesora Mariana C.

(Regresa:confirmacin)
Sistema de
Inscripcin

Curso de Algebra 101

MODELADO DE SISTEMAS CON UML


Identidad de un objeto

Cada objeto tiene una identidad nica, an si el estado


es idntico al de otro objeto

Profesor J. C.
imparte Algebra

Profesor J. C.
imparte Algebra

Profesor J.C.
imparte Algebra

MODELADO DE SISTEMAS CON UML


Qu es una Clase

Una clase es una descripcin de un grupo de objetos


con propiedades comunes (atributos), comportamiento
comn (operaciones), relaciones comunes con otros
objetos (asociaciones y agregaciones) y semnticas
comunes.

Una clase es una abstraccin en la que ella:

Un objeto es una instancia de una clase

Enfatiza caractersticas relevantes


Suprime otras caractersticas

La abstraccin nos ayuda a manejar la complejidad

MODELADO DE SISTEMAS CON UML


Qu es una Clase

Clase
Curso
Estructura
Nombre
Ubicacin
Das ofrecidos
Horas de crditos
Hora inicio
Hora trmino

Comportamiento
a + b = 10

Agregar un alumno
Borrar un alumno
Obtener catlogo de curso
Determinar si est lleno

MODELADO DE SISTEMAS CON UML


Cuntas clases hay?

MODELADO DE SISTEMAS CON UML


Clases vs. Objetos

Una clase es una definicin abstracta de un objeto

Define la estructura y comportamiento de cada objeto en


la clase
Sirve como una plantilla para crear objetos

Los objetos pueden agruparse en clases


Objetos

Profesor
Profesor Smith

Profesor Mellon

Clase
Profesor Jones

MODELADO DE SISTEMAS CON UML


Cmo identificar las clases en un problema

Las clases surgen de la terminologa de un rea de


conocimiento.
Hay que prestar atencin a:

Los sustantivos (cosas, personas, hechos) ya que se


pueden convertir en clases del modelo
Verbos que pueden operaciones de las clases o en clases
por s mismas
Los atributos de una clase tambin se pueden identificar
por sustantivos especficos que pueden tomar algn valor
Busque el QUE e ignore el COMO

MODELADO DE SISTEMAS CON UML


Tarjetas CRC

MODELADO DE SISTEMAS CON UML


Tarjetas CRC

Tarjetas de 4 x 6 pulgadas

Responsabilidad: Descripcin de alto nivel del propsito


de una clase
No se permite escribir ms de lo que cabe en la tarjeta
Eliminar descripcin de pedazos de datos y procesos

Colaboradores: Otras clases con las que tiene que


trabajar cada responsabilidad

MODELADO DE SISTEMAS CON UML


Cmo nombrar las clases

El nombre de una clase debe ser un nombre singular que


caracterice de la mejor forma a la abstraccin
La dificultad en el nombramiento de una clase puede
indicar que una abstraccin est pobremente definida
Los nombres deben venir directamente del vocabulario del
dominio
Una gua de estilo debe dictar convenciones de nombres
para clases. Ejemplo:
Las clases se nombran usando sustantivos singulares
Los nombres de clases empiezan con una letra minscula
No
se usan palabras subrayadas. Los nombres
compuestos de palabras mltiples se ponen juntas y la
primera letra de cada palabra adicional se escribe en
maysculas. Ejemplo: alumno, profesor, sistemaCobro

MODELADO DE SISTEMAS CON UML


Diagrama de Clases

El diagrama de clases muestra las clases que hay en el


sistema y las relaciones estticas (asociacin y
agregacin) entre ellas.
Se consideran la columna vertebral de los mtodos OO

MODELADO DE SISTEMAS CON UML


Diagrama de Clases - Perspectivas

Los diagramas de clases se pueden construir desde tres


perspectivas:

CONCEPTUAL. Representa los conceptos del dominio


que se est estudiando. Se dibujan sin importar el
software con que se implementarn por lo que son
independiente del lenguaje.
ESPECIFICACIN. Enfocados al software en sus
interfaces pero no en su implementacin.
IMPLEMENTACIN. Se expone por completo la
implementacin.

MODELADO DE SISTEMAS CON UML


Diagrama de Clases

Una clase se comprende de tres secciones

La primera seccin contiene el nombre de la clase


La segunda seccin muestra la estructura (atributos)
La tercera seccin muestra el comportamiento (operaciones)

Las secciones segunda y tercera pueden suprimirse si no es


necesario que sean visibles en el diagrama

profesor

nombre
empID
crear( )
guardar( )
borrar( )
modificar( )

profesor

nombre
empID

profesor

crear( )
guardar( )
borrar( )
modificar( )

profesor

profesor

MODELADO DE SISTEMAS CON UML


Diagrama de Clases
Una clase es una descripcin de un conjunto de objetos que comparten
los mismos atributos, relaciones y semntica

Un atributo es una propiedad de una clase identificada con un nombre,


que describe un rango de valores que pueden tomar las instancias de la
propiedad

Una abstraccin de un tipo de dato o estado que puede incluir un


objeto de la clase

Una operacin es la implementacin de un servicio que puede ser


requerido a cualquier objeto de la clase para que muestre un
comportamiento
Es una abstraccin de algo que se puede hacer a un objeto y que
es compartido por todos lo objetos de la clase

MODELADO DE SISTEMAS CON UML


Diagrama de Clases

MODELADO DE SISTEMAS CON UML


Diagrama de Clases - Estereotipos
Un estereotipo es un nuevo tipo de elemento de modelado
que extiende las semnticas del metamodelo

Deben estar basados en tipos o clases existentes en el


metamodelo

Cada clase puede tener como mximo un estereotipo


Estereotipos comunes

Clase Interfaz
Clase Entity
Clase Control

Los Estereotipos se muestran en la parte donde se escribe


el nombre de la clase entre << >>

MODELADO DE SISTEMAS CON UML


Diagrama de Clases - Interfaces
Las clases de interfaz se utilizan para modelar la interaccin
entre el sistema y sus actores. Esta interaccin a menudo implica
recibir (y presentar) informacin y peticiones de (y hacia) los
usuarios y los sistemas externos

Las clases de interfaz modelan las partes del sistema que


dependen de sus actores, lo cual implica que clarifica y renen
los requisitos en los lmites del sistema

Representan a menudo abstracciones de ventanas, formularios,


pneles, interfaces de comunicaciones, impresoras, sensores,
terminales

MODELADO DE SISTEMAS CON UML


Diagrama de Clases - Entity
Una clase entity (entidad) modela informacin y comportamiento
asociado que es generalmente de larga vida (persistente)
Puede reflejar un fenmeno de la vida real
Tambin puede necesitarse para las tareas internas del sistema
Los valores de sus atributos se proporcionan generalmente por
un actor
Ejemplo de clases entity (entidad) en un caso de uso de
Registro de Cursos
Curso
Horario
Catalogo de Asignaturas
Lista de Curso

MODELADO DE SISTEMAS CON UML


Diagrama de Clases - Control
Las clases de control representan coordinacin, secuencia,
transacciones y control de otros objetos y se usan con frecuencia
para encapsular el control de un caso de uso en concreto.

Las clases de control tambin se utilizan para representar


derivaciones y clculos completos, como lgica del negocio que
no pueden asociarse con ninguna informacin concreta, de larga
duracin, almacenada por el sistema.

MODELADO DE SISTEMAS CON UML


Paquetes

Un paquete es un mecanismo de propsito general para


organizar elementos en grupos.
Los elementos estructurales y los elementos de
comportamiento pueden agruparse en paquetes.
Se visualizan como carpetas.

Nombre del paquete

MODELADO DE SISTEMAS CON UML


Diagrama de Clases - Relaciones

Asociacin

Agregacin (pertenencia)

Relacin de tipo tiene-un

Generalizacin (herencia)

Nombre, rol, multiplicidad

Relacin de tipo es-un

Dependencia

MODELADO DE SISTEMAS CON UML - Relaciones


La Necesidad de Relaciones

Todos los sistemas abarcan varias clases y


objetos
Los objetos contribuyen al comportamiento del
sistema colaborando con unos y otros

La colaboracin se realiza a travs de las relaciones

Hay dos importantes tipos de relaciones durante


el anlisis

Asociacin
Agregacin

MODELADO DE SISTEMAS CON UML - Asociacin


Asociaciones

Una asociacin es una conexin semntica bi-direccional


entre clases

Esto implica que hay una liga entre objetos en las clases
asociadas

Las asociaciones se representan en diagramas de clase por


una lnea que conecta las clases asociadas
La informacin puede fluir en cualquier direccin o en ambas
direcciones a travs de la liga

<<controller>>

registrationManager

<<entity>>

course

MODELADO DE SISTEMAS CON UML - Asociacin

Navegacin
Una asociacin es una relacin bi-direccional

Dada una instancia de registrationManager hay un objeto


asociado course
Dada una instancia de course hay un objeto asociado
registrationManager

<<controlador>>
registrationManager

<<entidad>>
course

MODELADO DE SISTEMAS CON UML - Asociacin


Nombramiento de Asociaciones

Para clarificar su significado, se debe nombrar una asociacin


El nombre se representa como una etiqueta que se pone a lo largo de
la lnea de asociacin, a mitad de camino entre los iconos de clases
Un nombre de asociacin es usualmente un verbo o una frase con
verbo

<<control>>
registrationManager

maneja

<<entity>>
course

MODELADO DE SISTEMAS CON UML - Asociacin


Definicin de Roles

Un rol denota el propsito o capacidad en la que una


clase se asocia con otra
Los nombres de roles son tpicamente sustantivos o
frases con sustantivo
Un nombre de rol se pone a lo largo de la lnea de
asociacin cerca de la clase que modifica

Uno o ambos finales de una asociacin pueden tener nombres de


roles

person

Teacher

course

MODELADO DE SISTEMAS CON UML - Asociacin


Multiplicidad para Asociaciones

Multiplicidad es el numero de instancias de una


clase relacionada a UNA instancia de la otra clase
Para cada asociacin, hay dos decisiones de
multiplicidad que tomar: una por cada final de la
asociacin
Por ejemplo, en la conexin entre person jugando
el rol de teacher con course

Para cada instancia de person, varios (i.e., cero o ms)


courses deben impartirse
Para cada instancia course, exactamente una person es
el maestro

MODELADO DE SISTEMAS CON UML - Asociacin


Multiplicidad de Indicadores

Cada final de una asociacin contiene una multiplicidad de


indicadores

Indica el numero de objetos que participan en la relacin

Muchos
Exactamente uno
Cero o ms
Uno o ms
Cero o uno
Rango especfico

*
1
0..*

1..*
0..1
2..4

MODELADO DE SISTEMAS CON UML - Asociacin


Ejemplo: Multiplicidad

La multiplicidad de decisiones exponen varias hiptesis


ocultas acerca del problema que se est modelando

Puede estar un maestro en sabtico?


Puede tener un curso dos maestros?

Person

Teacher

Course
1

1..*

MODELADO DE SISTEMAS CON UML - Asociacin


Qu significa Multiplicidad?

Multiplicidad responde a dos preguntas

La asociacin es obligatoria u opcional?


Cul es el numero mnimo y mximo de instancias que pueden
ligarse a una instancia?

Teacher

Course
0..*

Qu le dice este diagrama?

MODELADO DE SISTEMAS CON UML - Asociacin


Asociacin. Ejemplo

MODELADO DE SISTEMAS CON UML - Agregacin


Agregacin

Agregacin es una forma especializada de asociacin en la


que un todo se relaciona con su parte o sus partes

Agregacin es conocida como parte de o relacin que contiene

Una agregacin se representa como una asociacin con un


diamante al lado de la clase denotando el agregado (todo)
La multiplicidad se representa de la misma manera que otras
asociaciones

<<boundary>>
registrationForm

<<boundary>>
scheduleForm
1

MODELADO DE SISTEMAS CON UML - Agregacin


Agregacin

Se usa la frase parte de para describir relaciones?

Se aplican algunas operaciones en el todo automticamente


a sus partes?

Mover el Carro, Mover la Puerta

Se propagan algunos valores de atributos del todo a todas o


algunas de sus partes?

Una Puerta es parte de un Carro

El Carro es azul, La Puerta es azul

Hay una asimetra intrnseca a la relacin donde una clase


se subordina a la otra?

Una Puerta Es parte de un Carro, un Carro No Es parte de una


Puerta

MODELADO DE SISTEMAS CON UML - Agregacin


Agregacin

MODELADO DE SISTEMAS CON UML - Agregacin


Asociacin o Agregacin?

Si dos objetos estn estrictamente limitados por una relacin


completa

La relacin es un agregacin

Si dos objetos se consideran usualmente como independientes,


y an as estn ligados

La relacin es una asociacin

MODELADO DE SISTEMAS CON UML - Asociacin


Asociaciones Reflexivas

En un asociacin reflexiva, se relacionan los objetos en la


misma clase

Indica que mltiples objetos en la misma clase colaboran juntas en


otra forma

course

Pre-requisite

0..
*

0..
*

A course may have many pre-requisites


A course may be a pre-requisite for many other courses

MODELADO DE SISTEMAS CON UML - Asociacin


Clase de Asociacin

Quisiramos rastrear los grados para todos los cursos que un


alumno ha tomado
La relacin entre alumno y course es una relacin de muchos-amuchos
Dnde ponemos el atributo de calificacin?

student

0..*
3-10

course

MODELADO DE SISTEMAS CON UML - Asociacin


Clase de Asociacin (cont.)

El atributo grado no puede ponerse en la clase course porque


existen (potencialmente) varias referencias a varios objetos
student
El atributo grado no puede ponerse en la clase student porque
existen (potencialmente) varias ligas a varios objetos course
Por lo tanto, el atributo en realidad pertenece a la liga
individual student-course
Una asociacin de clase se usa para mantener la informacin
de clase

MODELADO DE SISTEMAS CON UML - Asociacin


Clase de Asociacin

Crear una clase de asociacin usando el icono clase


Conectar el icono clase a la lnea de asociacin usando una
lnea punteada
La clase de asociacin puede incluir mltiples propiedades de
la asociacin
Slo se permite una clase de asociacin por asociacin
student

1..*

3-10

grade

course

MODELADO DE SISTEMAS CON UML - Asociacin


Calificadores

department

Un calificador es un atributo o grupo de atributos cuyos


valores particionan el conjunto de objetos relacionado a un
objeto a travs de una asociacin

EmployeeID

Dado un objeto Department y un


valor para un Employee ID hay
exactamente un objeto Professor

professor

Dado un objeto Department y un


valor para Title hay un conjunto de
objetos Professor

department
Title

professor

1..*

MODELADO DE SISTEMAS CON UML - Asociacin


Restricciones

Una restriccin es la expresin de alguna condicin que se debe


preservar

Una restriccin se muestra como una lnea punteada

Professor

{Ordered by
employee id}

Department

is a member of
1

1..*

1
{Subset}

is head of

MODELADO DE SISTEMAS CON UML - Generalizacin


Generalizacin (Herencia)
La generalizacin permite conectar clases generales con
otras ms especializadas.

Se conocen como subclase/superclase o hijo/padre.

Es un relacin de es-un-tipo-de

Una clase hija hereda las propiedades de sus clases


padres, especialmente sus atributos y operaciones.

Generalizacin

MODELADO DE SISTEMAS CON UML - Generalizacin


Generalizacin (Herencia)

MODELADO DE SISTEMAS CON UML - Dependencia


Dependencia

Las dependencias son relaciones de uso.

Indican que un cambio en la especificacin de un


elemento puede afectar a otro elemento que la utiliza.

Se representa con una lnea discontinua dirigida hacia


el elemento del cual se depende.

Se utilizan generalmente en el contexto de las clases o


entre paquetes.

MODELADO DE SISTEMAS CON UML - Dependencia


Relaciones de Paquetes

Los paquetes se relacionan unos a otros usando una relacin


de dependencia
Si una clase en un paquete habla con una clase en otro
paquete entonces se agrega una relacin de dependencia en
el nivel de paquete
Los diagramas de escenario y de clase se evalan para
determinar relaciones de paquete
Interfaces
Business Rules

University
Artifacts

MODELADO DE SISTEMAS CON UML - Relaciones

Relaciones durante Anlisis y Diseo

Durante el anlisis, se establecen conexiones (asociaciones


y agregaciones) entre clases

Estas conexiones existen debido a la naturaleza de las clases,


y no debido a una implementacin especfica
Hacer una estimacin inicial de multiplicidad para exponer
hiptesis ocultas

Los diagramas de clase se actualizan para mostrar las


relaciones agregadas
Durante el diseo:

Se refinan y actualizan las estimaciones de multiplicidad


Se evalan y refinan las asociaciones y agregaciones
Se evalan y refinan las relaciones de paquetes
Se maduran los diagramas de clase

MODELADO DE SISTEMAS CON UML- Relaciones

Relaciones (Resumen)

Todos los sistemas contienen varios objetos que colaboran con unos
y otros para producir la funcionalidad que se necesita
Las asociaciones y agregaciones son dos importantes tipos de
relaciones
Una asociacin es una conexin entre dos clases que representan
comunicacin
Una asociacin puede tener un nombre
Se pueden usar nombres de roles
La comunicacin puede ser uni- o bi-direccional (por omisin)
La multiplicidad es el numero de instancias que participan en una
asociacin
Se representa cerca del final de la lnea de asociacin
Cada final de asociacin debe tener un indicados de multiplicidad

MODELADO DE SISTEMAS CON UML- Relaciones


Relaciones (Resumen)

La agregacin es la forma especializada de asociacin en la que


un todo se relaciona con sus partes

Una clase puede tener una asociacin reflexiva

Dos objetos en la misma clase que estn relacionados

Las relaciones de agregacin pueden tambin ser reflexivas

Cada final de una lnea de agregacin debe tener un indicador de


multiplicidad

Cuenta de Bill de materiales (las partes estn hechas de partes)

Informacin que pertenece a la liga entre objetos se muestra como


una clase de asociacin

MODELADO DE SISTEMAS CON UML- Relaciones


Relaciones (Resumen)

Un calificador es un atributo de una clase que puede usarse


para reducir la multiplicidad de la asociacin
Las relaciones se pueden determinar examinando escenarios
para descubrir necesidades de comunicacin de objetos

MODELADO DE SISTEMAS CON UML

Diagramas de Interaccin
Secuencia y colaboracin

MODELADO DE SISTEMAS CON UML


Diagramas de Interaccin
Un diagrama de interaccin es una representacin
grfica de interacciones entre objetos Hay dos tipos
de diagramas de interaccin

Diagramas de secuencia
Diagramas de colaboracin
Cada uno provee un punto de vista diferente de la
misma interaccin
Los diagramas de secuencia estn ordenados de
acuerdo al tiempo
Los diagramas de colaboracin pueden incluir flujo
de datos

MODELADO DE SISTEMAS CON UML


Diagramas de Secuencia
Un diagrama de secuencia muestra interacciones
de objetos ordenados en secuencia de tiempo

El diagrama muestra:
Los objetos que participan en la interaccin
La secuencia de mensajes intercambiados
Un diagrama de secuencia contiene:
Objetos con sus lneas de vida
Mensajes intercambiados entre objetos en
orden secuencial
Enfoque de control (opcional)

MODELADO DE SISTEMAS CON UML


Diagramas de Secuencia

John :
Alumno

forma de
Inscripcin

forma de
horario

cursos
disponibles

1: introducir id
2: validar id
3: introducir semestre actual
4: crear horario nuevo
5: desplegar
6: obtener
cursos

MODELADO DE SISTEMAS CON UML


Diagramas de Secuencia

Los objetos se dibujan como rectngulos con nombres


subrayados
Las lneas de vida se representan con lneas de guiones
descendentes
cursos
disponibles

Cursos : Catlogo
disponibles

: Catlogo

MODELADO DE SISTEMAS CON UML


Diagramas de Secuencia

La interaccin de objeto se indica con flechas horizontales


que se dirigen desde la lnea vertical que representa al objeto
cliente hasta la lnea que representa al objeto proveedor
Las flechas horizontales se etiquetan con mensaje
El tiempo de orden de mensajes se indica por posicin
vertical, con el ms cercano en la parte superior
La numeracin es opcional ya que la orden se basa en
posicin vertical
forma de
horarios

cursos
disponibles

Obtener cursos

MODELADO DE SISTEMAS CON UML


Diagramas de Secuencia

Las notas pueden agregarse para agregar ms


informacin al diagrama
cursos disponibles
para el semestre elegido
forma de
horario

cursos
disponibles
obtener cursos

MODELADO DE SISTEMAS CON UML


Diagramas de Secuencia

Para escenarios complejos, los diagramas de secuencia


pueden mejorar mediante el uso de scripts
Un script se escribe a la izquierda de un diagrama de
secuencia con los pasos del script alineados con las
interacciones del objeto
Los scripts se pueden escribir en lenguaje natural o en
pseudo-cdigo

MODELADO DE SISTEMAS CON UML


Diagramas de Secuencia - Ejemplo de script
forma de
horario

Procesa primero los cursos


primarios, slo usa cursos
alternos si es necesario

un curso

obtener prerequisito

MODELADO DE SISTEMAS CON UML


Diagramas de Colaboracin
Un diagrama de colaboracin es una forma alternativa de
representar los mensajes intercambiados por un conjunto de
objetos
El diagrama muestra interacciones de objeto organizadas
alrededor de los objetos y sus ligas a cada uno
Un diagrama de colaboracin contiene:
Objetos
Ligas entre objetos
Mensajes intercambiados entre objetos
Flujo de datos entre objetos, si hay alguno

MODELADO DE SISTEMAS CON UML


Diagramas de Colaboracin
2: validar id

1: introducir id 3: introducir semestre actual


forma de registro
4: crear nuevo horario
5: desplegar

John : Alumno

clases disponibles
6: obtener cursos

forma horario

MODELADO DE SISTEMAS CON UML


Diagramas de Colaboracin

Los objetos se dibujan como rectngulos con nombres


subrayados

Ingles
101

Object only

Ingles 101:
Curso

Object and Class

:Curso

Class only

MODELADO DE SISTEMAS CON UML


Diagramas de Colaboracin

Una liga de interaccin en un diagrama de colaboracin


se representa como una lnea que conecta iconos de
objetos
Una liga indica que hay una ruta para comunicacin
entre objetos conectados

forma horario : Forma

un curso : Curso

MODELADO DE SISTEMAS CON UML


Diagramas de Colaboracin

Una liga de interaccin en un diagrama de colaboracin


se puede anotar con:

Una flecha apuntando del objeto cliente al objeto


proveedor
El nombre del mensaje con una lista opcional de
parmetros y/o un valor de dato de regreso
Un numero de secuencia opcional que muestre el orden
relativo en el cual se envan los mensajes

MODELADO DE SISTEMAS CON UML


Diagramas de Colaboracin
Message
points
from client to
Mensaje
supplier

2: obtener cursos

Objeto
Client
object
1: obtener prerequisitos
lista curso

forma horario : Forma

un curso : Curso

Data return

Liga

Objeto
Supplier
object

MODELADO DE SISTEMAS CON UML


Diagramas de Interaccin (Resumen)

La interaccin de objeto puede representarse grficamente en


un diagrama de secuencia que muestra la existencia de
objetos y las interacciones entre objetos identificados

Los objetos se representan por rectngulos con nombres


subrayados
Un lnea de vida de objeto se representa con lneas
discontinuas verticales descendentes del objeto
Los mensajes se indican con flechas horizontales que estn
dirigidas desde el objeto cliente (emisor) al objeto proveedor
(receptor)
Las flechas horizontales de etiquetan con el nombre del mensaje
Un script opcional se puede agregar para proporcionar ms
detalle al diagrama

MODELADO DE SISTEMAS CON UML


Diagramas de Interaccin (Resumen)
Un diagrama de colaboracin es una representacin
grfica alterna de interacciones de objetos

Los objetos se representan con rectngulos


Un liga de interaccin (liga) se dibuja entre objetos
comunicantes
La liga se anota con una flecha que contiene el nombre del
mensaje que apunta desde el objeto cliente al objeto
proveedor
La liga puede tambin anotarse con una flecha de dato de
regreso

MODELADO DE SISTEMAS CON UML


Diagramas de Interaccin (Resumen)
Se recomienda utilizar los diagramas de interaccin cuando
se desea ver el comportamiento de varios objetos en un caso
de uso. Son buenos para mostrar la colaboracin entre
objetos; sin embargo, no sirven para la definicin precisa del
comportamiento

MODELADO DE SISTEMAS CON UML

Diagramas de Estado
Comportamiento dinmico

MODELADO DE SISTEMAS CON UML


Diagramas de Estado
Orientacin a Objetos = Estructura + Comportamiento
Los diagramas de clase representan la estructura y el
comportamiento esttico de los objetos.

Cmo representamos el comportamiento dinmico?

Desde la creacin de un objeto hasta su fin

MODELADO DE SISTEMAS CON UML


Diagramas de Estado
Un diagrama de transicin de estado se usa para mostrar la
historia de vida de una clase dada, los eventos que causan una
transicin de un estado a otro, y las acciones que resultan de
un cambio de estado

El espacio de estado de una clase dada es la numeracin de


todos los estados posibles de un objeto

El estado de un objeto es una de las condiciones posibles en


las que puede existir un objeto
Contiene todas las propiedades del objeto
Usualmente esttico
Ms
los valores actuales de cada una de estas
propiedades
Usualmente dinmico

MODELADO DE SISTEMAS CON UML


Diagramas de Estado

Un estado se representa como un rectngulo redondeado

State Name

MODELADO DE SISTEMAS CON UML


Diagramas de Estado

Los estados pueden distinguirse por los valores de ciertos


atributos
Course
numStudents

English101 : Course
numStudents = 7

Le nmero mximo de alumnos por curso es 10


numStudents < 10
Open

numStudents > = 10
Closed

MODELADO DE SISTEMAS CON UML


Diagramas de Estado

Los estado tambin pueden distinguirse por la existencia de


ciertas ligas
Las instancias de la clase Profesor puede tener dos estados:

Impartir cuando existe una liga a un curso


En sabtico cuando no existe liga

Professor

0..*

Course

MODELADO DE SISTEMAS CON UML


Diagramas de Estado - Inicio y Fin

El estado inicial es el estado introducido cuando se crea


un objeto

Un estado inicial es obligatorio


Solo un estado inicial es permitido
El estado inicial se representa como un crculo slido

Un estado final indica el final de vida de un objeto

Un estado final es opcional


Puede existir ms de un estado final
Un estado final se indica con un ojo

MODELADO DE SISTEMAS CON UML


Diagramas de Estado - Eventos
Un evento es la ocurrencia de alguna situacin que
sucede en un punto del tiempo
El estado del objeto determina la respuesta a
diferentes eventos
Ejemplo:
Agregacin un alumno a un curso
Creacin de un curso nuevo

MODELADO DE SISTEMAS CON UML


Diagramas de Estado - Transiciones

Una transicin es un cambio de un estado original a un estado


sucesor como resultado de algunos estmulos

Open

Add student

Cancel course

Canceled

MODELADO DE SISTEMAS CON UML


Diagramas de Estado - Condiciones de guarda

Una condicin de guarda es una expresin booleana de


valores de atributos que permiten una transicin solo si
la condicin es verdadera

[ numStudents >= 3 ]

Open

Registration Complete

MODELADO DE SISTEMAS CON UML


Diagramas de Estado - Acciones

Una accin es una operacin que se asocia a una


transicin

Toma una cantidad insignificante de tiempo para


completarse
Se considera no-interruptible

MODELADO DE SISTEMAS CON UML


Diagramas de Estado - Actividades

Una actividad es una operacin que toma tiempo para


completarse
Las actividades se asocian con un estado
Una actividad

Inicia cuando se introduce el estado


Puede ejecutarse hasta el fin o puede ser interrumpida por una
transicin que sale

Closed
do: Report course is full

MODELADO DE SISTEMAS CON UML


Diagramas de Estado - Ejemplo
addStudent

Initialize

addStudent/
numStudents = 0

Unassigned

do: Initialize course


object

do: Assign professor


to course

Open
entry: Register a
student

cancelCourse

cancelCourse

registration closed[
Canceled

numStudents < 3 ]

do: Send cancellation


notices

[date = end]

[ numStudents = 10 ]

cancelCourse

Closed
do: Report
course is full

RegistrationComplete
do: Generate class
roster

MODELADO DE SISTEMAS CON UML


Diagramas de Estado - Ejemplo
addStudent
Register

Initialize

RegistrationComplete

registration closed [date = end]

do: Generate class roster

Unassigned
do: Assign professor to course
Add student / numStudents = 0
Open
registration closed[
numStudents < 3 ]

entry: Register a student

addStudent

[ numStudents = 10 ]

Canceled

Closed
cancelCourse

do: Report course is closed

MODELADO DE SISTEMAS CON UML

Diagramas de Componentes y de
Distribucin

MODELADO DE SISTEMAS CON UML


Diagrama de Componentes
Un componente es una unidad de cdigo fuente que sirve como
bloque constructor para la estructura fsica de un sistema
Un componente pertenece al mundo material de los bits.
Los estereotipos (con iconos alternos) pueden usarse para definir
tipos de componentes especficos.
Ejemplos:
Ejecutables EXE, bibliotecas DLL, programas
principales, headers, mdulos, formas, tablas, archivos y
documentos.
Agrupar clases en un componente que ya sea que tenga una funcin
cooperativa o que necesite estar en proximidad para la eficiencia en la
implementacin
Nombre del Componente
Notacin de componente:

MODELADO DE SISTEMAS CON UML


Diagrama de Componentes
Un diagrama de componente muestra la distribucin de clases y
objetos en los componentes de implementacin as como sus
dependencias de compilacin

Name 1

Name 2

Name 1

Name 3

Name 2

MODELADO DE SISTEMAS CON UML


Diagrama de Componentes
Se requiere un nombre para cada componente, este nombre
denota tpicamente el nombre simple del archivo fsico
correspondiente en el espacio de trabajo actual

La nica relacin es la dependencia de compilacin,


representada por una lnea punteada dirigida que apunte al
modelo donde existe la dependencia

Por ejemplo: en C++, se indica una dependencia de compilacin


por directivas #include

Puede que no haya ciclos en un conjunto de dependencias de


compilacin

MODELADO DE SISTEMAS CON UML


Diagrama de Componentes
Inscripciones

Catlogos

Reportes

MODELADO DE SISTEMAS CON UML


Diagrama de Componentes

Los ejecutables y las libreras son representadas como


componentes en UML

Especificacin de Paquete (DLL)


Especificacin de tareas (EXE)

(DLL)

(EXE)

MODELADO DE SISTEMAS CON UML


Diagrama de Componentes - Paquetes

Un paquete en la vista de componente es una coleccin de


componentes, algunos de los cuales son visibles a otros paquetes y
otros estn ocultos
Un paquete agrupa componentes que estn lgicamente
relacionados
Un paquete en la vista de componente agrupa componentes de
manera similar a la que un paquete en en la vista lgica agrupa
clases
Cada componente en el sistema debe vivir en un solo paquete en el
nivel mas alto del sistema
Notacin:
PackageName

MODELADO DE SISTEMAS CON UML


Diagrama de Distribucin
Los nodos, al igual que los componentes, pertenecen al
mundo material y modelan el aspecto fsico de un
sistema.
Los nodos modelan la topologa del hardware sobre el
que se ejecuta el sistema.
Los requerimientos como son rendimiento y desempeo
son tomados en cuenta.
Los diagramas de despliegue son creados para mostrar
los diferentes nodos (procesadores y dispositivos) en el
sistema.
Los elementos esenciales de un diagrama de despliegue
son los nodos y sus conexiones.

MODELADO DE SISTEMAS CON UML


Diagrama de Distribucin

Un nodo es un objeto fsico en tiempo de ejecucin que


representa resursos de cmputo.
Una conexin indica comunicacin, usualmente la
relacin directa entre hardware

Etiqueta
Nombre

Nodo

Conexin

MODELADO DE SISTEMAS CON UML


Diagrama de Distribucin - Ejemplo
BD
Terminal
Serv. Escolares

<<RS-232>>
Server
P=300MHz
Memoria=128MB
MS-SQL Server

<<BUS>>

Terminal
Serv. Escolares

<<Ethernet>>

Consola
config.exe

ARQUITECTURA

Arquitectura 4 + 1

ARQUITECTURA
Diagramas del UML

Use
Case
Use
Case de
Diagramas
Diagrams
Diagrams
Secuencia
Scenario
Scenario de
Diagramas
Diagrams
Diagrams
Colaboracin
Scenario
Scenario
Diagramas
Diagrams
Diagrams
de Estado

Use
Case
Use
Case de
Diagramas
Diagrams
Diagrams
Casos
de Uso

State
State
Diagramas
Diagrams
Diagrams
de Clase

Modelos

Diagramas de
Actividad

State
State
Diagramas
Diagrams
Diagrams
de Objetos
State
State de
Diagramas
Diagrams
Diagrams
Componentes

Component
Component
Diagrams
Diagramas
de
Diagrams

Distribucin

ARQUITECTURA
Vista Casos de Uso: Diagrama
de Casos de Uso

Vista Lgica: Diagrama de Clases

Vista Casos de Uso: Diagrama


de Secuencia

ARQUITECTURA
Diagrama de Actividad
Diagrama de Colaboracin
Inicio

[ no hay caf ]

Encuentra
bebida

: alumno
valida

[ encontr refresco ]

Poner caf en
filtro

Aade agua al
depsito

Obtiene tazas

Obtiene lata
de refresco

Poner filtro en
mquina

: formaInscripcion

1: Semestre

: grupo

[ no hay refresco ]

3: materia

2: Cupo

Enciende la
mquina

Preparar caf

: asignatura
Servir caf

Tomar bebida

Fin

Diagrama de Estados
Inicio

disponible

[ si hay energa elctrica ]

encendido

trabajando
Selecciona operacion

desactiv a interruptor

apagado

fin

ARQUITECTURA
Vista Implementacin: Diagrama de Componentes

path.dll

collision.dll

driver.dll
{versin =
8.1.3.2}
IDrive
ISelfTes
t
Vista Distribucin: Diagrama de Distribucin

Data Server (UNIX)

{Conexin}

: Objeto
Acceso

TCP
/IP

: Salud
Dominio

Application Server (Windows NT)


:Objeto
Negocio
:
Salu
d
Domi
{Objeto
nio

{Nodo}
<<comunicacin>>

Contenido}

ARQUITECTURA
Visin Arquitectnica
Dos cualidades comunes para virtualmente todos los
proyectos OO son:
La existencia de una visin arquitectnica fuerte
La aplicacin de un ciclo de vida incremental bienmanejado e iterativo
La arquitectura debe ser simple
El logro de comportamiento comn a travs de
abstracciones y mecanismos comunes

ARQUITECTURA
Dimensiones de la Arquitectura del Software
Perspectivas diferentes para inversionistas diferentes
Usuario final, cliente, administrador de proyecto
Ingeniero de sistema, desarrollador, arquitecto,
evaluador
Las perspectivas mltiples requieren mltiples vistas
Los diagramas de clase no muestran los mapas del
sistema al hardware
Los diagramas de bloque del hardware no
describen la estructura del sistema

ARQUITECTURA
Vistas de la Arquitectura del Software
Para describir completamente una arquitectura, se necesitan
cuatro vistas:
La vista lgica para proporcionar una imagen esttica de
las clases primarias y sus relaciones
La vista de componente para mostrar como est el
cdigo organizado en paquetes y libreras
La vista de proceso para mostrar los procesos y tareas
La vista de distribucin para mostrar los procesadores,
dispositivos y ligas en el ambiente operacional
Finalmente, una vista de escenario explica como trabajan
juntas las otras cuatro vistas

ARQUITECTURA

VISTA LGICA

VISTA DE
COMPONENTES

Funcionalidad

Administracin, Reuso y
Portabilidad del
Software

VISTA DE CASOS
DE USO
Contexto del Sistema

VISTA DE PROCESOS
IPC, Concurrencia,
Desempeo,

VISTA DE
DISTRIBUCIN
Desempeo,
Escalabilidadm Entrega e
Instalacin

ARQUITECTURA
Vista Lgica
La vista lgica de arquitectura
mapea
los
requerimientos
funcionales al sistema
Proporciona una imagen esttica
de las clases primarias y sus
relaciones
La vista lgica se captura en
diagramas de clase que contienen
paquetes, clases y relaciones que
representan abstracciones clave
del sistema en desarrollo

VISTA LGICA
Funcionalidad

ARQUITECTURA
Vista de Componentes
La vista de componente de
arquitectura tiene que ver con la
organizacin de los mdulos del
Los diagramas de componente se
crean para mostrar los paquetes
(en expansin) y componentes
que componente el sistema en
desarrollo
Muestra la distribucin de clases
a componentes y la distribucin de
componentes en paquetes

VISTA DE
COMPONENTES
Administracin, Reuso y
Portabilidad del
Software

ARQUITECTURA
Vista de Procesos
La vista de proceso de la
arquitectura se enfoca en la
descomposicin de procesos
La vista muestra la distribucin de
componentes a procesos
La vista de procesos direcciona la
disponibilidad,
confiabilidad,
desempeo,
administracin
y
sincronizacin del sistema

VISTA DE PROCESOS
IPC, Concurrencia,
Desempeo,

ARQUITECTURA
Vista de Distribucin (Despliegue)
La

vista

de

despliegue

de

arquitectura mapea componentes


a nodos de procesamiento
Los diagramas de despliegue se

VISTA DE PROCESOS

crean para mostrar los diferentes

IPC, Concurrencia,
Desempeo,

nodos (procesos y dispositivos) en


el sistema
Los nodos se conectan en el
diagrama de manera que refleje la
ruta de comunicacin entre ellos

ARQUITECTURA

VISTA LGICA

VISTA DE
COMPONENTES

Arquitectos
Programadores

Integradores
Lder de Proyecto
VISTA DE CASOS
DE USO

Usuarios y Clientes
Analistas
Diseadores Pruebas
Lder de Proyecto

VISTA DE PROCESOS

VISTA DE
DISTRIBUCIN

Diseadores

Administradores
de Sistemas

ARQUITECTURA

VISTA LGICA
Diagramas de Clase
Diagramas de Secuencia
Diagramas de Colaboracin
Diagramas de Estado

VISTA DE
COMPONENTES
Diagramas de componentes

VISTA DE CASOS DE USO


Diagramas de Casos de Uso
Diagramas de Secuencia
Diagramas de Actividad

VISTA DE PROCESOS
Diagramas de componentes
Diagramas de despliegue

VISTA DE
DISTRIBUCIN
Diagramas de despliegue

MODELADO DE SISTEMAS CON UML

Bibliografa y Referencias

BIBLIOGRAFA Y REFERENCIAS
Orientacin a Objetos
Booch, Grady.
Anlisis y diseo orientado a objetos, 2 Edicin
Mxico, Addison-Wesley Iberoamericana. 1996.
Jacobson, Ivar.
Object oriented software engineering.
EE.UU, Addison-Wesley. 1994.
Rumbaugh, James y otros.
Object oriented modeling and design.
EE.UU, Prentice-Hall. 1991.

BIBLIOGRAFA Y REFERENCIAS
Proceso de Desarrollo Unificado
Jacobson, Ivar.
El Proceso Unificado de Desarrollo de Software
Espaa, Addison-Wesley Iberoamericana.
2000.

BIBLIOGRAFA Y REFERENCIAS
UML
Booch, Grady.
El Lenguaje Unificado de Modelado
Espaa, Addison-Wesley Iberoamericana. 1999.
Booch, Grady.
El Lenguaje Unificado de Modelado. Manual de Referencia
Espaa, Addison-Wesley Iberoamericana. 1999.
Fowler, Martin
UML Gota a Gota
Mxico, Addison-Wesley, 1999.

BIBLIOGRAFA Y REFERENCIAS
Ligas de inters
Objetct Management Group

http://www.omg.org/technology/uml/index.htm
Rational Software Corporation

http://www.rational.com/uml
Cetus Links - Object-Orientation

http://www.cetus-links.org
The Object Agency

http://www.toa.com
The Object-Oriented Page

http://www.well.com/user/ritchie/oo.html
Sinan Si Alhirs Web Site

http://home.earthlink.net/~salhir/
Object Orientation Tips

http://ootips.org/

You might also like