Vous êtes sur la page 1sur 117

El Anlisis y Diseo Orientado a

Objetos

Orientacin a Objetos
Estilo

de desarrollo

Los elementos bsicos de


anlisis, diseo y construccin
son los objetos

Anlisis
Enfocado

a investigar y
comprender
El dominio del problema
El QU del Sistema

Incluye:

Descripcin del problema


Requerimientos a cumplir

Diseo

Enfocado en definir

El producto de software
La Solucin al problema
El CMO del sistema

Incluye:
Definicin

de la solucin
Arquitectura del sistema
Mecanismos clave

Anlisis Orientado a Objetos

Centrado en la Identificacin de
objetos/conceptos para comprender el problema

La

nmina de los empleados se


calcula utilizando el sueldo
asignado y descontando el
impuesto del IMSS, mismo que se
calcula de la siguiente forma....

Diseo Orientado a Objetos

La estructura del software se determina con base en


objetos como elementos bsicos de construccin del
sistema

Nmina

Empleado

Sueldo

Impuesto IMSS

Programacin Orientada a Objetos

Los objetos y
componentes
diseados son
implementados en un
lenguaje como C++,
Java, Smalltalk, Delphi
o Visual Basic

class Nomina
{

private Empleado empleado;


}
public class Empleado
{

private Sueldo sueldo;


}
public class Sueldo
{

private ImpuestoIMSS
impuestoIMSS;
}

Lenguaje Comn

QU

CMO

Qu es un Objeto
Es

una entidad fsica o abstracta que


existe en el mundo real
Se les puede identificar porque
Podemos

hablar de ellos poseen


caractersticas particulares

Podemos

manipularlos poseen
comportamiento

Son nicos e irrepetibles poseen


identidad

Ejemplos de Objetos

Ejemplo 1
Juanito Prez

Caractersticas: masculino, 10 aos, blanco.


Comportamiento: Camina, juega, brinca,
habla.

Ejemplo 2
Seguro de vida de Rubn Ramrez

Caractersticas: Aseguradora: GNP, nmero:


2301, fecha: 12/oct/2001, cliente: Rubn
Ramrez, Total: $100,000, etc.
Comportamiento: Asegurar cliente, Asignar
beneficiarios, Cotizar, etc.

Clases

Abstraccin de objetos con


caractersticas y
comportamiento similares.

Objeto 1: Juan Prez

Persona
Profesin
Edad

Objeto 2: Mara Lpez

Tez
Caminar
Hablar

Identifica los Objetos y Clases

Anlisis y Diseo con UML

Definir casos de
uso

Definir modelo
conceptual

Definir
interacciones

Disear diagramas
de clases

Actividades Principales del Anlisis

Casos de Uso. Descripcin narrativa de los


procesos de un sistema o negocio
Modelo Conceptual. Muestra los conceptos
relevantes dentro de un contexto

Definir casos de
uso

Definir modelo
conceptual

ANLISIS

Definir
interacciones

Disear diagramas
de clases

Anlisis de Requerimientos: Caso


de Uso

Caso de Uso: Colocar una orden

Descripcin: El caso de uso comienza


cuando un cliente llama a un ejecutivo de
cuenta para solicitar la compra de un
producto. El ejecutivo de cuenta registra la
informacin del cliente y del producto en
una nueva orden

Anlisis del Dominio: Modelo


Conceptual

Caso de Uso: Colocar una orden


Descripcin: El caso de uso comienza cuando un
cliente llama a un ejecutivo de cuenta para
solicitar la compra de un producto. El ejecutivo de
cuenta registra la informacin del cliente y del
producto en una nueva orden
Cliente
Nombre
Telfono

Ejecutivo de Cuenta
Nombre

Orden
Nmero

Producto
Precio
Clave

Actividades Principales del Diseo

Interaccin entre los objetos. Diagrama


de interaccin

Estructura esttica del sistema.


Diagrama de clases

Definir casos de
uso

Definir modelo
conceptual

Definir
interacciones

Disear diagramas
de clases

DISEO

Interaccin entre Objetos


Cliente

Ejecutivo de
Cuenta

Producto

Solicitar compra
Consultar datos

Crear nueva orden


Solicitar datos
Registrar orden

Indicar datos de orden

Orden

Diagrama de Clases
Ejecutivo de Cuenta
Nombre

Cliente
Nombre

RecibirSolicitud ( )

Telfono
Registrar ( )

objCliente

Orden
Nmero
Registrar ( )
Modificar ( )

1..n
Producto
Precio
Clave
Consultar ( )

Ejercicio
Caso

de Uso: Saciar sed

Anlisis
Caso

de Uso
Modelo Conceptual

Diseo
Interaccin

entre objetos
Diagrama de clases

Conclusiones

El anlisis es el momento en que se identifica el QU


del sistema, y el diseo es cuando se identifica el
CMO
El anlisis y diseo orientado a objetos se
caracterizan porque el elemento fundamental son los
objetos
Una ventaja importante de la orientacin a objetos
consiste en que los desarrolladores no necesitan
hablar en trminos diferentes a los usuarios
Los objetos se identifican por tener caractersticas y
comportamiento que los identifican de manera nica
Las clases surgen al categorizar o abstraer un
conjunto de objetos con caractersticas similares

Conclusiones

El anlisis con UML incluye la definicin de casos de


uso y el anlisis del dominio
El diseo con UML incluye la definicin de las
interacciones entre los objetos y el diseo del
diagrama de clases

El Proceso Unificado
Un framework para desarrollar
sistemas con UML

Proceso

Conjunto de pasos aplicados a un producto de


entrada, llevado a cabo por roles con
responsabilidades especficas, utilizando tcnicas y
herramientas para transformarlo en un producto de
salida o para lograr un objetivo especfico.

Proceso de Venta, Pago de Nmina, Control de Inventarios,


Inscripciones Escolares, etc.

Entrada

C
M
O?
C

?
QU

PROCESO

ND

O?

QUI
N?

Salida

Proceso de Software

Conjunto de actividades necesarias para


transformar los requisitos de un usuario en un
sistema de software.

Requerimientos

PROCESO DE SW

Software

Proceso vs. Proyecto

Un proceso sigue una serie de pasos


realizados por roles involucrados para ir
cumpliendo objetivos y/o
desarrollando/utilizando productos y
recursos
Un proyecto es la ejecucin en un
momento determinado de un proceso con
un tiempo, costo y alcance definido
Cada proyecto es una instancia ejecutada
del proceso

Ciclo de Vida de Cascada


Requerimientos
Anlisis
Diseo
Programacin
Pruebas

Proceso Iterativo Incremental


Concepcin

Elaboracin

Iteracin 1

Construccin

Iteracin 2

Transicin

Iteracin 3

Construccin
Incremental
Proceso de Mini-Cascada

Planeacin
Captura de Requerimientos

Anlisis & Diseo


Implementacin
Pruebas
Preparar Liberacin

El Lenguaje Unificado de Modelado


Antecedentes y evolucin

Objetivos

Comprender qu es el modelado y para qu sirve

Entender la importancia del modelado visual como


una de las mejores prcticas de las ingenieras

Entender UML

Conocer como surge y evoluciona UML

Comprender los beneficios del modelado visual y UML


en los proyectos de software

Modelos

Representacin simplificada de la
realidad

Herramienta de comunicacin

Simplifica al mostrar slo ciertas


caractersticas en cada modelo

Facilita la comprensin de la idea,


concepto, sistema, etc.

Cada rol participante requiere vistas


especiales para entender el problema

Stakeholders

Simplificando la Complejidad

Modelo Visual
Notacin

grfica estndar

Maquetas,

diagramas

fotografas, dibujos, planos,

UML

Siglas de Unified Modeling Language


Lenguaje estndar de modelado de
sistemas orientado a objetos
No es una metodologa, es una notacin
para desarrollar modelos

UML es un lenguaje estndar para


visualizar, especificar, construir y
documentar los artefactos de un sistema
de software.
UML Users Guide

Objetivos al crear UML

Contar con un lenguaje expresivo de modelado


visual
Integrar mejores prcticas de desarrollo de software
Ser independiente de cualquier lenguaje y proceso
de desarrollo
Motivar el desarrollo de las herramientas OO en el
mercado
Soportar conceptos de ms alto nivel como
frameworks, patrones y componentes
Proporcionar mecanismos que permitieran extender
los conceptos bsicos

Artefactos de UML

Enfoques
Estructural

Diagramas Estticos

Clases
Objetos
Componentes
Despliegue/Distribucin

Comportamiento

Diagramas Dinmicos

Casos de Uso
Secuencia
Comunicacin
Transicin de Estados
Actividad

Beneficios de UML

Mejora la comunicacin entre los


involucrados

Reduce costos y riesgos al permitir la


experimentacin con modelos

Reduce la complejidad

Mayor calidad del software y satisfaccin


del usuario

Reuso

Tipos de Sistemas Soportados

Sistemas de informacin Empresarial


Bancarios y Servicios Financieros
Telecomunicaciones
Transportes
Defensa/aeroespaciales
Mdicos electrnicos
Cientficos
Servicios distribuidos en Web, etc.

Por qu me conviene usar un


Proceso Basado en UML?

Estandarizacin de los artefactos a nivel global y


organizacional
Orden y control en el desarrollo al definir los
artefactos a generar
Mejora la comunicacin interna y externa
Aumenta la calidad y mantenibilidad de los sistemas
Productividad y eficiencia en los desarrollos
Facilita el reuso de artefactos
Soporta la tecnologa de objetos y componentes

Conclusiones

Los modelos son una simplificacin de la realidad

Los modelos son excelentes herramientas de


comunicacin

Los modelos pueden aumentar la eficiencia, reducir


costos y aumentar la calidad

Los modelos sirven como base para una buena


planeacin y administracin

Conclusiones

UML, al ser un lenguaje para modelar, proporciona los


beneficios mencionados

UML es un lenguaje notacional que permite modelar,


documentar, visualizar y construir sistemas

UML no incluye el orden o responsabilidades en que


se utiliza

UML puede ser utilizado para cualquier tipo de


proyecto de desarrollo orientado a objetos

El Diagrama de Casos de Uso


El Eje de la Calidad

Objetivos

Aprender a describir el comportamiento general de un


sistema por medio de casos de uso

Entender qu es un actor y cmo representar su


interaccin con el sistema

Comprender las relaciones entre casos de uso

Conocer los mecanismos de extensin de UML en los


diagramas de casos de uso

Diagrama de casos de uso

Muestra el
Comportamiento
del Sistema
Muestra el
Alcance del
Sistema
Interacciones
con entidades
externas

ud Curso

Listar catlogo de
cursos

Alumno

Inscribir en curso

Sist. de Cobranza

Generar lista de
curso
Profesor

Elementos del diagrama de


casos de uso
ud Curso

Asociacin

Inscribir en curso

Alumno

Actor

Caso de Uso

Actor

Representa el rol que juega una entidad


externa que interacta con el sistema.

Intercambia informacin con el sistema

Puede ser un recipiente pasivo de informacin

Puede representar el rol que juega un


humano, una mquina u otro sistema

Se nombran generalmente con sustantivos en


singular

Actor

Cliente, Vendedor, Administrador, Alumno, Sistema


de Nmina, etc.

Una entidad, varios actores

Carlos como Profesor


ud Use Case Model

Carlos imparte un curso y


estudia un postgrado
Profesor

Carlos como Alumno


Alumno

Varias entidades, un actor

Claudia como Alumno

ud Use Case Model

Carmen estudia
administracin y Claudia
diseo grfico
Profesor

Carmen como Alumno


Alumno

Caso de uso

ud Curso

Caso de Uso

Es la especificacin de un conjunto de
acciones que ejecuta el sistema
Genera un resultado observable con valor
real para el actor
Describe un flujo de eventos completo
Describe las interacciones entre el actor y el
sistema
El actor inicia un caso de uso cuando
invoca cierta funcionalidad del sistema
Al unir todos los casos de uso se tienen
todas las formas posibles de usar el
sistema
Se nombran generalmente con un verbo en
infinitivo:

Realizar Venta, Cotizar Seguro, Generar


Nmina, etc.

Diagrama de casos de uso


ud Curso

Listar catlogo de
cursos

Inscribir en curso

Alumno

Sist. de Cobranza

Generar lista de
curso
Profesor

Relaciones entre casos de uso (1/2)

En ocasiones hay fragmentos


de funcionalidad que varios
casos de uso comparten
Para evitar la repeticin, esta
funcionalidad comn la
podemos factorizar en un caso
de uso nuevo
Los casos de uso que lo
requieren, invocan al caso de
uso factorizado

Relaciones entre casos de uso (2/2)


Entre

los casos de uso pueden darse dos


tipos de relaciones:

Dependencia

Implica que la funcionalidad englobada en un caso de uso


depende de otro ya sea por que el primero (dependiente)
incluye o extiende la funcionalidad definida por el segundo

Generalizacin
Implica que un caso de uso especializado reutiliza tanto el
comportamiento como las relaciones que posee otro caso
de uso ms general
Adems, el caso de uso especializado puede redefinir
ciertas actividades definidas por el padre

Relacin de dependencia entre


casos de uso

UML define dos formas de


dependencia entre casos de uso:
Includes
Extends

includes
extends

Para representarlos necesitamos


utilizar el mecanismo de extensin
de UML: Estereotipos

Los estereotipos extienden el


significado de los elementos de UML
Se escriben entre y y se
coloca junto al elemento que
deseamos extender

estereotipo

Relacin Include

Las relaciones include se


usa
Para extraer parte del
flujo que comparten ms
de un caso de uso
Cuando se quiere
visualizar parte del detalle
de un proceso
El casos de uso base
incluye al caso de uso
incluido
<<include>>

Registrar Indiv iduo

include
Asignar Habitacin
Cliente
include
Registrar Grupo

Relacin Extend

La relacin extend aade


un flujo de trabajo a un caso
de uso de negocio que ya se
ha descrito completamente
La mayora de los casos de
uso de extensin no se
pueden ejecutar solos.
Las relaciones extend se
pueden usar para

Modelar un flujo que rara


vez ocurre
Modelar un flujo que solo
ocurre bajo circunstancias
especiales.
<<extend>>

Registrar Indiv iduo

Cliente

extend

Gestionar Pago con


Tarj eta Premier

Puntos de extensin

Identifica un punto en la funcionalidad de un caso de


uso donde esta se puede extender por la
funcionalidad de otro caso de uso (indicado en una
relacin extends)

Registrar Indiv iduo


extension points:
Al aplicar tarifa
Cliente

extend

Gestionar Pago con


Tarj eta Premier

Relacin de Generalizacin
La generalizacin del caso de uso de negocio es usada
para mostrar que dos flujos de trabajo comparten
estructura, propsito y medio.
Llamada Local

Larga distancia

1 Levantar Auricular

1 Levantar Auricular

2 Esperar tono

2 Esperar tono

3 Marcar numero

3 Marcar numero

4 el sistema conecta con


el numero marcado

4 el sistema conecta con


otro sistema B

5 Colgar

5 Sistema B conecta con


numero marcado

6 Sistema desconecta

6 Colgar
7 Sistemas desconectan

Llamar por
Telefono

Llamar Localmente

Llamar por Larga


Distancia

Paquetes

Los paquetes sirven para


agrupar de una manera
lgica elementos de UML
y reducir la complejidad

Casos de uso
Clases
Componentes
Paquetes

ud Extends
Paquete

Paquetes de casos de uso


ud Paquetes

ud Paquetes
Nmina

Administracin

Un paquete de
casos de uso
representa
agrupacin lgica
de funcionalidad.

Ejemplo:
mdulos,
subsistemas,
sistemas.

Conclusiones

El diagrama de casos de uso muestra el alcance, el


comportamiento del sistema y su interaccin con
entidades externas
Un actor es una entidad externa que interacta con el
sistema
Un caso de uso es un conjunto de interacciones entre el
sistema y uno o ms actores
Los casos de uso pueden relacionarse mediante
dependencias o generalizaciones
Las relaciones de dependencia entre casos de uso
pueden estereotiparse con extend o include
Los casos de uso se pueden agrupar en paquetes para
reducir la complejidad y organizarlos en subsistemas y
mdulos

Documentacin de casos de uso


Especificacin de Casos de Uso y
Escenarios

Objetivos

Aprender a documentar los requerimientos del sistema


mediante el uso de flujos de eventos y escenarios

Entender la estructura de un flujo de eventos

Comprender la ventaja de los flujos de eventos sobre


el enfoque basado en listas de requerimientos

Comprender el uso que tiene este artefacto para


mejorar la comunicacin entre las partes involucradas
en el proyecto

Documentacin de los casos de


uso

Los casos de uso se documentan con:

Una breve descripcin


El propsito del caso de uso en
unas cuantas lneas
El flujo detallado de los eventos
Descripcin detallada de eventos

Terminologa y redaccin simple


orientada al negocio/usuario

Caso de uso de alto nivel

Las descripciones breves de los casos de uso se


pueden realizar al principio del proyecto
Nombre del Caso de Uso:

Registrar Calificaciones

Descripcin Breve:
Este caso de uso tiene como propsito permitir al
Catedrtico registra las calificaciones que obtuvieron sus
alumnos tras la aplicacin de un examen.
Las calificaciones registradas ya no pueden modificarse
una vez generada el acta correspondiente.

Especificacin del caso de uso

La especificacin de un caso de uso


debe incluir:

Precondiciones
Flujos de eventos
Flujo Principal
Flujos Alternos
Flujos Excepcionales

Post-condiciones

Precondiciones

Es el estado en que se encuentra el sistema antes de


iniciar el caso de uso, y que es necesario para poder
llevarlo a cabo exitosamente

Generalmente son aspectos que no van a ser validados


durante el caso de uso, sino que se dan por ciertos

Precondiciones (Ejemplo)
CU:

Registrar Calificaciones

Precondiciones:
El catedrtico debe haber iniciado una sesin en el
sistema
El examen a calificar debe estar registrado como un
examen programado
El examen a calificar no debe tener un acta asociada
Los alumnos a los que se les asentarn las calificaciones
deben estar registrados como alumnos inscritos en el
grupo al que se aplic el examen
Los alumnos a los que se les asentar la calificacin debe
contar con derecho a presentar dicho examen. A los
alumnos sin derecho a examen se les asienta una
calificacin de NA

Flujos de eventos

Describe slo los eventos que ocurren dentro del


caso de uso y no lo que pasa en otros casos de uso
Evita terminologa vaga como por ejemplo,
informacin y etc.
Un flujo de eventos debe describir:
Cmo y cundo inicia y termina el caso de uso
Cundo interacta el sistema con el actor en el
caso de uso
Qu informacin es intercambiada entre un actor
y el sistema

No describir los detalles de la interfase de usuario

El flujo bsico de eventos


Cualquier flujo alterno

Tipos de flujos de eventos

Cada caso de uso

Debe tener un flujo principal (o bsico). Este flujo muestra los


pasos o transacciones que normalmente ocurren en el caso
de uso
Puede tener uno o varios flujos alternos
Normalmente tiene flujos excepcionales, que indican los
pasos a seguir en caso de error

Flujo principal

Flujos excepcionales

Flujos alternos

CU: Registrar Calificaciones


Flujo principal
1.

2.
3.
4.
5.

El caso de uso inicia cuando el Catedrtico le indica al


sistema que desea registrar las calificaciones resultantes
de la aplicacin de un examen.
El sistema le pide al Catedrtico que le indique el examen
que desea calificar.
El Catedrtico le indica al sistema el examen programado
que desea calificar.
El sistema le indica al catedrtico que asiente las
calificaciones obtenidas por los alumnos en el examen.
El Catedrtico asienta las calificaciones obtenidas por los
alumnos y al concluir le indica al sistema que las registre.
El catedrtico slo podr registrar las calificaciones para
aquellos alumnos con derecho a examen.

CU: Registrar Calificaciones (cont.)


Flujo principal
6. El caso de uso termina cuando el sistema registra las
calificaciones asentadas para los alumnos. A los alumnos
sin derecho a examen se les asienta una calificacin de
NA.

CU: Registrar Calificaciones (cont.)


Flujos alternos
5a. Identificar a los alumnos sin derecho a examen
1.
2.

El Catedrtico le indica al sistema que identifique a los alumnos


sin derecho a examen.
El sistema el sistema identifica a los alumnos sin derecho a
examen y el flujo de eventos contina en el paso 4 del flujo
principal.

CU: Registrar Calificaciones (cont.)


Flujos excepcionales
Cancelar el registro de las calificaciones
1.
2.
3.
4.

En cualquier momento, el Catedrtico le puede indicar al sistema


que desea cancelar el registro de calificaciones.
El sistema le indica al Catedrtico que confirme la cancelacin
del registro.
El Catedrtico confirma la cancelacin del proceso.
El caso de uso termina con la cancelacin del proceso de
registro. En este caso cualquier calificacin asentada por el
catedrtico no se registrar en el sistema.

Post-condiciones

Es el estado en el que debe quedar el sistema


despus de haber llevado a cabo exitosamente un
caso de uso

CU: Registrar Calificaciones

Post-condiciones:

Las calificaciones obtenidas por los alumnos en el examen


deben estar registradas en el sistema. Los alumnos con derecho
a examen tendrn registrada la calificacin asignada por el
catedrtico mientras que a los alumnos sin derecho a examen se
les registrar una calificacin de NA

Usuarios de los casos de uso

Clientes validan que los desarrolladores comprendieron el


problema

Usuarios clarifican sus ideas respecto al problema


Desarrolladores comprenden lo que el usuario espera del

sistema a desarrollar
Revisores verifican la calidad de los requerimientos
Analistas y diseadores base para el anlisis y el diseo
Tester a partir de estos validan que el sistema hace lo que el
cliente/usuario pidi
Lder de proyecto es la base para el plan de trabajo
Documentador lo usan como base aproximada de un
manual de usuario

Prototipo GUI

Facilita el levantamiento de requerimientos

Al usuario y a los desarrolladores les ayuda a aterrizar y


esclarecer ideas
Reduce riesgos de requerimientos mal entendidos

Se deben realizar en paralelo con los casos de uso

El Prototipo y los casos de uso

Caso de Uso: Cotizar


Seguro de Vida
Descripcin: El caso
de uso comienza
cuando el ejecutivo
registra los datos del
asegurado, el sistema
utiliza los parmetros de
cotizacin para indicar el
monto ...

Ejemplo de flujo de eventos


Especifique

el Caso de Uso indicado

Ejercicio

Desarrollar para el caso de uso especificado:

Las precondiciones
El flujo de eventos principal
Los flujos de eventos alternos
Un flujo excepcional
Las post-condiciones

Escenarios

Un escenario es al caso de uso, lo que


el objeto es a las clases

Es una instancia especfica de un caso


de uso, al llevar a cabo uno de los flujos
del caso de uso (ya sea primario, alterno
o excepcional)

Los escenarios son utilizados para


comprender mejor algn caso de uso y
para realizar las pruebas funcionales del
sistema

Posibles Escenarios

Para cada uno de los flujos de un caso de uso existe por lo menos
un escenario

Para el caso de uso Registrar Calificaciones existen los siguientes


flujos posibles:

Cuando el registro de calificaciones sigue la secuencia de eventos tpica


Cuando se desea identificar a los alumnos sin derecho a examen
Cuando se cancela el registro de las calificaciones

Y los siguientes ejemplos de escenario para cada flujo:

Registrar las calificaciones del examen final para el ciclo 2006 obtenidas por
los alumnos inscritos en el curso de Comunicacin Oral y Escrita impartido
por Marco Aurelio Torres H. los martes y jueves de 14:00 a 16:00 hrs.
Identificar a los alumnos sin derecho al examen final para el ciclo 2006
inscritos en el curso de Comunicacin Oral y Escrita impartido por Marco
Aurelio Torres H. los martes y jueves de 14:00 a 16:00 hrs.
Cancelar el registro de las calificaciones del examen final para el ciclo 2006
obtenidas por los alumnos inscritos en el curso de Comunicacin Oral y
Escrita impartido por Marco Aurelio Torres H. los martes y jueves de 14:00 a
16:00 hrs.

Escenario: Registro de
Calificaciones Exitoso

Escenario: Registrar las calificaciones del examen final para el


ciclo 2006 obtenidas por los alumnos inscritos en el curso de
Comunicacin Oral y Escrita impartido por Marco Aurelio Torres
H. los martes y jueves de 14:00 a 16:00 hrs.
1.
2.
3.

4.
5.

6.

Marco Aurelio Torres H. le indica al sistema que desea registrar las


calificaciones resultantes de un examen
El sistema le pide a Marco Aurelio Torres H. que le indique el examen que
desea calificar.
Marco Aurelio Torres H. le indica al sistema que desea registrar las
calificaciones del examen final para el ciclo 2006 obtenidas por Juan de la
Barrera, Agustn Melgar y Francisco Mrquez, inscritos en el curso de
Comunicacin Oral y Escrita impartido los martes y jueves de 14:00 a 16:00
hrs.
El sistema le indica a Marco Aurelio Torres H. que asiente las calificaciones
obtenidas por los alumnos en el examen indicado.
Marco Aurelio Torres H. asienta las calificaciones obtenidas por Juan de la
Barrera, Agustn Melgar y Francisco Mrquez y al concluir le indica al sistema
que las registre.
El sistema registra las calificaciones obtenidas por Juan de la Barrera, Agustn
Melgar y Francisco Mrquez

Ejercicio

Enlistar los posibles flujos


Enlistar un escenario para cada flujo
Describir a detalle uno de los escenarios

Conclusiones

Los flujos de eventos son la forma en que se describen


textualmente y a detalle los casos de uso
Los flujos de eventos permiten especificar el
funcionamiento del sistema
Es uno de los principales artefactos de entrada utilizados
por los diferentes stakeholders
Los prototipos GUI facilitan la identificacin de
requerimientos y casos de uso, y ayudan a eliminar
riesgos tempranamente
Los escenarios son instancias especficas para cada flujo
del caso de uso
Los escenarios son los guiones utilizados para realizar
las pruebas al sistema y validar la implementacin de los
requerimientos

El Diagrama de Clases
La Estructura Esttica del Sistema

Objetivos
Conocer

los elementos de UML para


modelar un diagrama de clases
El alumno podr desarrollar un diagrama
de clases con base en los artefactos
generados durante el anlisis
El alumno conocer los elementos de un
diagrama de clases

Diagrama de Clases
Es

el artefacto principal en el desarrollo


orientado a objetos
Muestra las clases en las que se
implementar el sistema, sus relaciones,
atributos y operaciones
C las e
A tri b u to
O p e ra ci o n ()

A so ci a ci n

C la s e2

Elementos en un Diagrama de Clases (1/2)


Clases
Atributos
Operaciones
Scope

C la s e

A so ci a ci n

A tri b u to
O p e ra ci o n ()

o alcance de atributos y
operaciones

C la s e 2

Elementos en un Diagrama de Clases (2/2)


Relaciones
Elementos

de las Asociaciones y
Agregaciones
Navegabilidad
Roles
Multiplicidad

Visibilidad

entre clases

Atributos

Descripcin de un dato
que define a una clase
El atributo debe tener
especificado un nombre,
tipo de dato y scope
Cada objeto instanciado
de una clase tiene su
propio valor para el
atributo

Empleado
Nombre : String
Edad : Integer

Operaciones
Especificacin

de una transformacin o query


que puede ser solicitado a un objeto
Consta de un nombre y una serie de
parmetros (firma de la operacin)
Un mtodo es la implementacin de una
operacin
Empleado
CalcularEdad(AoActual : Integer) : Integer
ObtenerNombre() : String
Registrar()

Scope de Atributos y Operaciones


Es

la visibilidad que tienen las clases


hacia los atributos y operaciones de una
clase con la cual estn relacionadas.
Existen 4 tipos de scope:
Pblico

C la s e

Privado

A tri b u to P ri va d o

Protegido

O p e ra ci o n P b l i ca ()
O p e ra ci n P ri va d a ()
O p e ra ci n P ro te g i d a ()

Friendly

Control de Acceso y Encapsulamiento


El

control de acceso se emplea para


reforzar el encapsulamiento
Atributos Privados
Operaciones protegidas y
privadas
Operaciones pblicas

Especificacin del Control de Acceso


Se

pueden usar smbolos de acceso en una


clase para indicar la accesibilidad a sus
atributos y operaciones
+ Acceso Pblico
# Acceso Protegido
- Acceso Privado
~ Acceso Friendly

El

acceso es concedido, de manera explcita,


por la misma clase y no forzado por el cliente

Especificacin del Control de Acceso

Curso
- maxAlumnos
- Nombre
+ agregarAlumno ()
+ estaLleno ()
# determinarTamaoCurso ()

Tipos de Relaciones entre Clases


Asociacin

y
Composicin
Generalizacin
Dependencia

Curso

Modulo

Diplomado

Alumno

Agregacin

Asociacin
Es

la relacin ms simple entre dos


clases
Indica que 2 clases pueden verse o
solicitar sus servicios
Clase

Asociaci n

Clas e2

Clases Asociacin
Una

clase asociacin contiene informacin


perteneciente a un vnculo entre objetos
Alumno

Curso
3..10

Calificacin
Promedio

Roles

En trminos de anlisis indica el rol que toma una


clase con respecto a otra en una relacin de
asociacin
En trminos de implementacin es el nombre de la
instancia u objeto que se utilizar para solicitar los
servicios de la clase y para asignarle valores a sus
atributos
E m pres a

+ E m p leado

P ers ona

Navegabilidad

La asociacin sin flechas indica que ambas clases


pueden verse y comunicarse entre s
Pero, en ocasiones no es necesario eso, sino que una
sola clase es la que requiere comunicarse con la otra,
en este caso indicamos que existe navegabilidad
hacia un solo lado por medio de una punta de flecha
al final de la asociacin

E m pres a

+ E m p leado

P ersona

Agregacin
Es

una clase especial de asociacin


donde una clase contiene a otra clase,
o donde una clase es parte de otra
clase
Un

Motor contiene Vlvulas (o las vlvulas


son parte del motor)
Motor

V lvu la
*

Composicin

Es un tipo de agregacin ms slido donde las partes


slo existen cuando existe el contenedor

Una mano est compuesta de dedos

Si la mano desaparece los dedos no sirven de nada

La parte slo puede ser parte de un contenedor al


mismo tiempo
Ma no

D e do
*

Generalizacin (Herencia)

Es una relacin donde una clase es


un tipo especial de otra clase. Es
decir, tiene todas las caractersticas
(atributos, operaciones y
relaciones) de la sperclase ms
otras especiales

Un carro es un tipo especial de


transporte

Existen dos formas de identificar la


herencia:

Generalizacin
Especializacin

Trans porte
M otor

Carro
LLantas

Generalizacin
Cuando

obtenemos caractersticas
comunes de varias clases para crear una
sperclase de la cual van a heredar todas
las subclases las caractersticas comunes

Carro
Motor
Llantas

Barco
Motor
Aspas

Generalizacin

Transporte
Motor
Carro
Llantas

Barco
Aspas

Especializacin

Es la tcnica mediante la cual se identifica que una


clase puede comportarse o tener caractersticas
diferentes dependiendo de cierta situacin o condicin

Identificamos cules son las caractersticas que nunca


cambian y las dejamos en una sperclase, y las
caractersticas especiales las ponemos en nuevas clases
llamadas subclases
Transporte

Transporte
Motor
Llantas
Aspas

Motor
Carro
Llantas

Barco
Aspas

Dependencia
Es

un tipo de relacin menos duradera


que una asociacin o una agregacin
La

comunicacin slo es posible en


momentos especficos de la clase
dependiente (p.ej. cuando instanca o
recibe como parmetro a la 2a clase)
N om ina

Em pre s a

Visibilidad
Existen

Global

El objeto servidor es un parmetro de una operacin del


objeto cliente

Local

El objeto servidor es un objeto global

Parmetro

cuatro opciones de visibilidad

El objeto servidor se declara localmente dentro de uno de


los mtodos del objeto cliente

Campo

El objeto servidor es un campo contenido en el objeto


cliente

Visibilidad
Indica

cmo y
bajo que
circunstancias
pueden
comunicarse dos
clases
relacionadas

Visibilidad

Tipo de
Relacin

Global

dependencia

Por parmetro

dependencia

Local

dependencia

Por campo

asociacin,
agregacin o
composicin

Elaboracin del Diagrama de


Clases
Identificar

operaciones y su scope (usar


d. de interaccin)
Identificar atributos con su tipo de dato y
scope
Identificar relaciones entre clases (usar
d. de interaccin)
Organizar clases en paquetes lgicos

Informacin en Diagrama de
Interaccin

El diagrama de interaccin es uno de los productos de entrada


ms importantes para elaborar el de clases
Pasos para Refinar el Diagrama de Clases a partir del de
interaccin

Convertir mensajes en operaciones


Definir scope de las operaciones
Decidir visibilidad requerida entre 2 clases comunicndose en el d.
De interaccin
Si es global, local o por parmetro mostrar una dependencia en el d.
De clases
Si es por campo

Identificar si es una relacin de un todo con sus partes

Si la parte, slo es parte en una relacin de composicin, marcarla como


composin
Si no marcarla como agregacin

Si no, marcarla como asociacin


Mostrar la multiplicidad, navegabilidad y rol

Paquetes de Clases
Las

clases se pueden agrupar


lgicamente en paquetes
Las

clases que se agrupan son


las que guardan una relacin
cercana entre s, ya sea de
funcionalidad o de datos
Estos grupos o paquetes lgicos
de clases son los que suelen
convertirse en componentes

P aquete

Paquete de Clases
Nmina

Empresa

Empleado

Empresa

Nmina

Direccin

Impuestos

Ventas

Venta

Producto

Cliente

Factura

Ejercicio
Desarrolle

el Diagrama de Clases de
Diseo con base en los artefactos antes
generados

Conclusiones
El

diagrama de clases muestra la


estructura esttica del sistema
Un diagrama de clases muestra las
clases y sus relaciones
Existen diferentes tipos de relaciones y
visibilidad entre las clases
Las clases se pueden agrupar
lgicamente en paquetes para reducir la
complejidad

Vous aimerez peut-être aussi