You are on page 1of 23

Algunas Herramientas de Apoyo

al Diseo de Software
Agustn J. Gonzlez
ELO329: Diseo y programacin
orientados a objetos

09/22/16

Resumen

Para desarrollar software hay varias


herramientas de apoyo que se han
propuesto y son de gran utilidad
independientemente de la metodologa
usada en el desarrollo.
Veremos:

Descripcin de casos de uso,


Tarjetas CRC, viene de clase, responsabilidad
y colaboradores,
Diagramas UML (Unified Modeling Language)

Casos de Uso

Recordemos las principales actividades del


desarrollo: Definicin de requerimientos, anlisis,
diseo, implementacin, pruebas, distribucin.
El estudio de casos de uso es una tcnica de que
sirve tanto para definir requerimientos como en
el anlisis.
Cada caso de uso se concentra en un escenario
especfico.
Caso de uso = Secuencia de acciones

Accin = Interaccin entre actor(es) y el sistema bajo


desarrollo.

Cada accin conduce a un resultado


Cada resultado tiene un valor para uno de los
actores
Se usa variaciones para situaciones

Casos de Uso
Tcnica para capturar informacin de cmo un sistema o
negocio trabaja (o se comporta), o de cmo se desea que
trabaje o comporte

Un caso de uso, en el contexto de la etapa de anlisis,


puede entenderse como un componente que especifca y
modela la dinmica o el comportamiento de una de las
partes del sistema

Se construye en base a:

Levantamiento inicial de requerimientos


Reuniones de anlisis con usuario funcional

Durante la fase de anlisis modelamos el


comportamiento de un sistema / software / aplicacin
mediante diagramas de casos de uso.

Un caso de uso debe ser simple, inteligible, claro y

Platilla de Casos de Uso (usada


en DMR)

A continuacin se presenta una propuesta / plantilla


para la especificacin de un caso de uso:
Titulo. Nombre del caso de uso + cdigo del caso de
uso.
Autor. Persona(s) responsable del anlisis y redaccin
del caso de uso.
Propsito. Breve descripcin de la funcionalidad que
especifca el caso de uso.
Descripcin. Descripcin detallada de la funcionalidad
que especifca el caso de uso.
Detalle.

Actores. Personas o sistemas que interactan en la


funcionalidad especificada en el caso de uso
Evento. Suceso o intencin que debe de existir para la
ocurrencia de la funcionalidad especificada en el caso de
uso
Precondiciones. Pre-requisitos existentes (que se preveen)
para el correcto funcionamiento de la funcionalidad

Platilla de Casos de Uso (usada


en DMR)

Criterios de Calidad
Consideraciones tcnicas, de interfaz de usuario, de
procesamiento, o cualquier tipo de solicitud funcional
con tendencia al mejoramiento de la funcionalidad
especificada.
Curso Normal de Eventos.
Especificacin narrativa del comportamiento de la
funcionalidad especificada en el caso de uso. Parecido
a un seudo-algoritmo.
Curso Alternativo de Eventos.
Especificacin narrativa de la funcionalidad que se
implementar en un sistema en caso de preveerse
errores.
Requerimientos no funcionales.

Ejemplo de caso de uso: Sistema


de mensajes de voz en telfono.

Nombre: Dejar un mensaje


Actor: llamador
Descripcin: El llamador deja un mensaje en una casilla de voz.
Flujo principal:
1. El llamador marca el nmero principal del sistema de mensaje
de voz.
2. El sistema responde con un mensaje hablado pidiendo:
Ingrese el nmero de la casilla seguido por un signo #.
3. El usuario marca el nmero de la extensin.
4. El sistema le habla:
Usted se ha contactado con la casilla xxxx, Por favor deje su
mensaje ahora.
5. El llamador deja el mensaje.
6. El llamador cuelga.
7. El sistema pone el mensaje en la casilla.

Ejemplo: Variantes

Es comn especificar variantes de un caso de


uso:
Variante 1:
3A1. El usuario ingresa un nmero de extensin
invlido.
4A1. El sistema de mensaje de voz responde:
Usted ha marcado un nmero de casilla
invlido.
5A1: Contina con paso 2.
Variante 2
5A2. El usuario cuelga en lugar de dejar un
mensaje.
7A2. El sistema de mensaje de voz descarta el

Tarjeta CRC: Class,


Responsibilities, Collaborators.

CRC: Clase, Responsabilidades,


Colaboradores.
Es una herramienta principalmente de
diseo.
Creamos una tarjeta por cada clase
El nombre de la clase va en la parte
superior.
Responsabilidades a la izquierda y

1-3 responsabilidades

Colaboradores a la derecha.

Colaboradores de la clase, no de cada

Ejemplo tarjeta CRC:


(Casilla)

Tpicamente los sustantivos de los casos de uso


son una buena pista para encontrar candidatos a
clases.
Los verbos de los casos de uso son candidatos a

Recorrido de Caso de uso

El recorrido de los casos de uso permite


identificar otras clases.
Caso de uso: Dejar un Mensaje
Llamador se conecta al sistema de
mensajera.
Llamador marca extensin.
Alguien debe ubicar la casilla (Mailbox).
Ni la casilla ni el mensaje pueden hacer
esto.
Surge una nueva clase:
SistemaMensajeria (MailSystem).

CRC inicial para:


SistemaMensajeria
(SistemaMensajeria)

Usar los casos de uso para llenar las tarjetas


CRC.
Cambiar las tarjetas a gusto. Es comn hacer
cambios al considerar nuevos casos de uso.
Lo comn: el primer diseo no es el perfecto.

Diagramas UML

UML= Unified Modeling Language


Unifica las notaciones de los "3 Amigos"
Booch, Rumbaugh, Jacobson
Hay varios tipos de diagramas.
Nosotros veremos tres tipos:

Diagrama de Clases
Diagrama de Secuencia
Diagrama de Estados

Tipos de Relaciones entre clases

Dependencia puede existir entre


cualquier elemento,
normalmente ms usada para
ilustrar dependencia entre
paquetes. La idea es indicar que
un cambio de la clase de la cual
se depende afecta a la clase. Por
ejemplo para indicar que una
clase llama a otra.

Tipos de relaciones

Agregacin: relacin tiene o


contiene

Composicin: Caso especial de agregacin.


Contenido no existe fuera de la clase.

Asociacin: Puede tener roles, algunos la usan a


cambio de agregacin. Relacin de asociacin ms
general.

Tipos de relaciones

Asociacin: para indicar direccin. Algunas son


bidireccionales, otra no.
Ejemplo: Los mensajes no saben en qu cola de
mensajes estn contenidos

Interfaces: Describe un conjunto de mtodos.


No hay estado ni implementacin.

Algunas recomendaciones

Usar UML para informar, no para


impresionar.
No dibujar un nico diagrama
sobrecargado.
Cada diagrama debe tener un propsito
especfico.
Omitir detalles no esenciales.

Diagrama de clases para


sistema de mensajera

contiene

Depende de

A esto se llega luego de analizar varios


casos de uso y construir las tarjetas CRC
para cada clase.

Diagrama de Secuencia

Cada diagrama muestra la dinmica de


un escenario.
Incorporacin de un nuevo
mensaje.

Ubicacin de casilla

Creacin de una casilla

Diagrama de secuencia para:


Dejar un Mensaje

Diagrama de Estados

Son utilizados en las


clases cuyos objetos
tiene estados de
inters.
Como diagrama de
estados en Sistemas
Digitales.

Diagrama de Estado para la


conexin del dueo de la casilla
Estado Inicial

You might also like