Documente Academic
Documente Profesional
Documente Cultură
Agustn J. Gonzlez
ELO329: Diseo y programacin orientados a objetos
Resumen
Para desarrollar software hay varias herramientas de gran utilidad independientemente de la metodologa usada en el desarrollo. Veremos:
Descripcin de casos de uso, Tarjetas CRC (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. Se requiere de tcnica para capturar informacin sobre cmo un sistema o negocio trabaja (o se comporta), o sobre cmo se desea que trabaje o comporte El estudio de casos de uso es una tcnica de que sirve tanto para definir requerimientos como en el anlisis. Tambin es de utilidad durante las pruebas. Cada caso de uso se concentra en un escenario especfico y describe la interaccin entre un actor principal y el sistema. Caso de uso = Secuencia de acciones Accin = Interaccin entre actor(es) y el sistema bajo desarrollo.
Elo329: Diseo y Programacin Orientados a Objetos
Actores pueden ser usuarios, otros sistemas, hardware, todos fuera del sistema de software que estamos definiendo. Cada resultado (salida) tiene un valor para uno de los actores Se usa variaciones para situaciones excepcionales. Se construye en base a levantamiento inicial de requerimientos y en reuniones de anlisis con usuarios. Un caso de uso debe ser simple, claro y conciso. No debe dar lugar a especificaciones ambiguas. Se pueden presentar grficamente usando Diagramas de Casos de Uso. Son buenos para capturar requerimientos reflejados en comportamientos del sistema ante determinadas entradas (son los requerimientos funcionales). No son buenos para requerimientos no funcionales. Ej.: Plataforma, desempeo, seguridad, Orientados ade respuesta. Elo329: Diseo y Programacin tiempo Objetos
Esta es una de varias posibles. Nombre: Nombre del caso de uso, usar verbo y sustantivo, debe sintetizar el objetivo deseado. Ej. Cambiar nota Propsito: Resume brevemente qu se desea lograr con este caso de uso. Actores: Entes externos que participan en el caso de uso.
Pre-condiciones: Pre-requisitos existentes (que se prevn) para el correcto funcionamiento de la funcionalidad especificada en el caso de uso.
Elo329: Diseo y Programacin Orientados a Objetos
Evento: Situacin que gatilla el inicio del caso de uso. Pos-condiciones: Situacin que ocurre despus de usar la funcionalidad especificada en el caso de uso Tipo: Manual o automtico, Ej.: Un timer expira es automtico.
Curso Normal de Eventos (o detalle): aqu se describe una secuencia numerada de pasos relatando el flujo bsico o feliz del caso de uso. Se sugiere separar en dos columnas:
Entorno 1) Sistema
2)
Requerimientos no funcionales: Especificacin narrativa de solicitudes no funcionales del usuario que especifican situaciones de rendimiento, volmenes de informacin, seguridad, tiempos de respuesta, etc.
Nombre: Dejar un mensaje Propsito: El llamador desea dejar un mensaje en una casilla de voz. Actor: llamador Pre-condicin: Existe la casilla buscada. Evento: El llamador llama a una casilla. Post-condicin: El mensaje queda grabado en casilla. Tipo: manual
Curso Normal de Eventos: 1. El llamador marca el nmero principal del sistema de mensaje de voz. 2. El sistema responde con un mensaje hablado pidiendo:
Usted se ha contactado con la casilla xxxx, Por favor deje su mensaje ahora. Elo329: Diseo y Programacin Orientados a Objetos
Variante 1:
3A1. El usuario ingresa un nmero de extensin invlido.
5A1: Contina con paso 2. Variante 2 5A2. El usuario cuelga en lugar de dejar un Elo329: Diseo y Programacin Orientados a Objetos mensaje.
Es una herramienta principalmente de diseo. Creamos una tarjeta por cada clase (fijarse en sustantivos en casos se uso) El nombre de la clase va en la parte superior. Responsabilidades a la izquierda y
1-3 responsabilidades (fijarse en versos en casos de uso) Colaboradores de la clase, no de cada responsabilidad.
Elo329: Diseo y Programacin Orientados a Objetos
Colaboradores a la derecha.
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.
(Casilla)
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(SistemaMensajeria) perfecto.
Diagramas UML
UML= Unified Modeling Language Hay varios tipos de diagramas. Nosotros veremos slo cuatro tipos:
Diagrama de Casos de Uso Diagrama de Clases (ya algo conocen) Diagrama de Secuencia (idem) Diagrama de Estados
Usaremos slo 4
Dejar un mensaje
Diagrama de Clases
Atributos
Mtodos
Asociacin: es la relacin ms general representa una familia de relaciones, la asociacin puede ser unidireccional o bidireccional. Puede tener roles, algunos la usan a cambio de agregacin. Relacin de asociacin es ms general. Multiplicidad
Persona 0..*
Suscribe
0..* Revista
Tiene suscriptores
Message Queue
Message
Message
Composicin: Caso especial de agregacin. Mailbox 1 0..* Message Contenido no existe fuera de la clase. La parte Queue slo existe en la medida que el todo exista.
Elo329: Diseo y Programacin Orientados a Objetos
Un comit tiene miembros. Es agregacin porque los miembros existen por s solos incluso fuera de ese comit o en otro comit.
Una trabajador tiene nombre y salario. Es composicin porque el nombre o salario por s solos no tienen sentido. Cuando el trabajador se destruye, desaparece tambin su nombre y salario.
Elo329: Diseo y Programacin Orientados a Objetos
Herencia: Cuando se cumple la relacin es-un y adems hay una relacin de sub-tipo vlida. Una clase extiende la otra.
Alumno Persona
Dependencia: Es la ms dbil de las asociaciones. Indica que una clase usa otra en algn momento. Existe dependencia si una clase aparece en un parmetro o variable local de un GSpring Graphics mtodo de la otra.
Recomendaciones Usar UML para informar, no para impresionar. No dibujar un nico diagrama sobrecargado. Cada diagrama debe Programacin Orientados a Objetos Elo329: Diseo y tener un propsito
A esto se llega luego de analizar varios casos de uso y construir las tarjetas CRC para cada clase.
contiene
Depende de
Elo329: Diseo y Programacin Orientados a Objetos
Diagrama de Secuencia
Objeto :Clase
Ubicacin de casilla
Diagramadesecuenciapara:Dejarun Mensaje
Diagrama de Estados
Son utilizados en las clases cuyos objetos tiene estados de inters. Similares a los diagrama de estados que vern o vieron en SistemasDigitales.
Herramientas de software
Varios IDE (Integrated Development Environment) incluyen facilidades para crear estos diagramas; por ejemplo: Jgrasp lo provee, en su versin estndar. Eclipse no lo provee directamente, pero se puede incluir agregando un plug-in para ese propsito (yo no lo he probado an) NetBeans incluye un mdulo que lo permite, para ello se debe bajar la versin completa e instalar lo necesario. Cuando las clases ya se tienen, se usa Botn derecho en proyecto->reverse engineer
Luego en Model: seleccionar las clases a diagramar Botn derecho en las clases->Create diagram from selected elements.