Vous êtes sur la page 1sur 20

Algunas Herramientas de Apoyo al Diseo de Software

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

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 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 excepcionales.

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 mensaje vaco.

Tarjeta CRC: Class, Responsibilities, Collaborators.


    

CRC: Clase, Responsabilidades, Colaboradores. Es una herramienta principalmente de diseo. Usa una tarjeta por cada clase El nombre de la clase va en la parte superior. Responsabilidades a la izquierda y


1-3 responsabilidades Colaboradores de la clase, no de cada responsabilidad.

Colaboradores a la derecha.


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 responsabilidades.

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). Responsabilidad: Administrar las casillas.

CRC inicial para: SistemaMensajeria


(SistemaMensajeria)

 

Usar los escenarios 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

Diagrama de Clases


Cada clase es representada por:


Casilla newMessages savedMessages add() getCurrentMessage() Atributos Mtodos

Tipos de Relaciones


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

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 para las clases cuyos objetos tiene estados de inters. Como diagrama de estados en Sistemas Digitales .

Diagrama de Estado para la conexin


Estado Inicial