Analisis

download Analisis

of 29

  • date post

    03-Nov-2014
  • Category

    Documents

  • view

    4
  • download

    1

Embed Size (px)

description

Tecnología Orientada a Objetos - UNEG - Profesor Mauricio Paletta

Transcript of Analisis

  • 1. PresentacinAnlisis Orientado a ObjetosIng. Mauricio Paletta, MscINGENIERA EN INFORMTICAProgramacin IIUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA Programacin II

2. Anlisis Orientado a Objetos Descomposicin de un problema en suspartes. Resultado: Problema entendido como unapreparacin para el diseo. Preocuparse ms por identificar los tipos deobjetos que los objetos individuales. Programacin II 3. Anlisis Orientado a Objetos Preocuparse ms por el modelo esttico(estructura) que por el modelo dinmico(comportamiento). Productos: Diagramas de casos de uso ydiagrama de clases. 4 pasos a realizar.Programacin II 4. Anlisis Orientado a ObjetosPaso 1: Identificar la idea y objetivos bsicos del sistema Primer contacto con el problema, se busca entenderlo de forma completa. Tcnicas que se pueden seguir:o Escribir entre 5 y 20 oraciones de la informacin quese haya podido recopilar mediante entrevistas.o Si ya se tiene un enunciado o documento explicativo,extraer las oraciones de all.o Mapas mentales sobre el problema. Programacin II 5. Anlisis Orientado a ObjetosProgramacin II 6. Anlisis Orientado a ObjetosProgramacin II 7. Anlisis Orientado a ObjetosPaso 2: Identificar actores / nombres Los actores o nombres son posibles clases. Se identifican a partir de las oraciones obtenidas en el paso anterior. Todos los nombres deben ser considerados inicialmente, luego se har un proceso de seleccin o filtrado. Ejemplo: Un sistema de reservacin para la venta de boletos a varias obras de teatro Programacin II 8. Anlisis Orientado a ObjetosPaso 3: Identificar procesos / requerimientos Descripcin del sistema desde el punto de vista del usuario. Se conocen como casos de uso y se pueden representar mediante los diagramas de casos de uso de UML. Coleccin de situaciones respecto al uso de un sistema. Cada escenario describe una secuencia de eventos. Cada secuencia se inicia por una persona, otro sistema, una parte del hardware o por el paso del tiempo. A estas entidades que inician secuencias se les conoce como actores.Programacin II 9. Anlisis Orientado a Objetos El resultado de una secuencia debe ser algo utilizableya sea por el actor que la inici o por otro actor. El detalle de la secuencia de eventos desde que unactor la inicia hasta que se llega al resultado se puederepresentar mediante los diagramas de actividad deUML.Programacin II 10. Anlisis Orientado a ObjetosPaso 4: Identificar Clases y Asociaciones Obtener la lista definitiva de conceptos que representan clases dentro del contexto del problema. Hay que aplicar criterios para identificar clases incorrectas o innecesarias. Identificar las relaciones o asociaciones entre clases. Hay que aplicar criterios para saber si las asociaciones son o no correctas. Realizar el Diagrama de Clases sin niveles de detalle. Representar las relaciones entre clases incluyendo los roles (breve descripcin de su objetivo) y la multiplicidad (nmero de elementos involucrados en la relacin). Programacin II 11. Anlisis Orientado a ObjetosCriterios para identificar clases incorrectas o innecesarias: Clases redundantes: cuando dos clases expresan la misma informacin; se debe tomar el nombre ms descriptivo. Ejemplo:cliente / pasajero persona que va a tomar un vuelocliente / usuario ATM o cualquier servicio bancario Programacin II 12. Anlisis Orientado a Objetos Clases irrelevantes: cuando una clase tiene poco onada que ver con el problema. La posible clase aeliminar puede ser importante en otro contexto.Ejemplo: reservacin cuando el contexto es la ocupacin del teatro venta cuando el contexto es administrativo / financieroProgramacin II 13. Anlisis Orientado a Objetos Clases vagas: cuando una clase no es especfica, notiene sus lmites bien definidos con claridad o sualcance es muy amplio. Ejemplo: sistema / universo / horizonte Clases o atributos: Nombres que describen objetosindividua-les pueden ser considerados como atributosde una clase. Si fuese importante la existencia de unapropiedad independiente, entonces hacer de sta unaclase y no un atributo. Ejemplo: nombre / edad / peso / direccin estudiante direccin sistema de correo Programacin II 14. Anlisis Orientado a Objetos Clase u operacin: si un nombre describe unaoperacin que es aplicada a objetos, no es una clase.Una operacin que tiene caractersticas propias debeser modelada como una clase. Ejemplo: llamada telefnica contexto del problema es eltelfono llamada telefnica sistema de facturacin Clase o asociacin: el nombre de una clase debereflejar su naturaleza intrnseca y no un role que stajuega en una asociacin. Ejemplo: propietario no es una clase produccin de carrosProgramacin II 15. Anlisis Orientado a Objetos Uso de implementaciones: Implementacionesexternas al mundo real no se deben agregar en elanlisis. Probablemente se requieran en el diseo. Estbasado en la reutilizacin de elementos. Ejemplo: CPU / subrutina / proceso / algoritmo / interrupcin / lista enlazada / arreglo / rbol / conjunto / tabla / elementos de interfaz Programacin II 16. Anlisis Orientado a ObjetosCriterios para no tomar en cuenta asociaciones incorrectas o innecesarias: Asociaciones entre clases eliminadas: si una de las clases de la asociacin ha sido eliminada, la asociacin debe ser eliminada o redefinida en trminos de otra clase. Programacin II 17. Anlisis Orientado a Objetos Asociaciones irrelevantes o de implementaciones:eliminar toda asociacin que est fuera del dominio delproblema o tenga que ver con el uso deimplementaciones. Ejemplo: Banco mantiene ATM es irrelevante cuando el contexto del problema es el servicio que el banco presta a sus clientes ATM tiene impresora tiene que ver con implementacin Programacin II 18. Anlisis Orientado a Objetos Acciones: una asociacin debe describir una propiedadestructural del dominio de la aplicacin, no un evento. Unrequerimiento expresado como una accin puedeimplicar una relacin estructural y debe ser reescritoacordemente. Ejemplo: ATM acepta tarjetas de dbito describe parte de un ciclo de interaccin entre ATM y Cliente, no una relacin entre ATM y tarjeta de dbito. Computador central transfiere transaccin con banco describe una accin que implica la siguiente relacin: Computador central se comunica con el banco. Programacin II 19. Anlisis Orientado a Objetos Asociaciones ternarias: muchas asociaciones entre 3o ms clases se pueden descomponer en asociacionesbinarias o rescritas como asociaciones calificadas. Si untrmino en una asociacin ternaria es puramentedescriptivo y no tiene caractersticas propias, el trminoes un atributo enlace en una asociacin binaria.Ejemplo: Cajeros introducen transacciones de cuentas se puede romper en Cajeros introducen transacciones y transacciones tienen que ver con cuentas. La compaa emplea personas con un sueldoProgramacin II 20. Anlisis Orientado a Objetos Asociaciones derivadas: asociaciones que pueden serdefinidas en trminos de otras asociaciones deben seromitidas ya que son redundantes. Tambin hay queomitir asociaciones definidas por condiciones en losatributos. Ejemplo: Abuelo de puede ser definido usando un par de relaciones Padre de Ms joven que expresa una condicin en la edad de dos personas, no es informacin adicional. Programacin II 21. Anlisis Orientado a ObjetosNOTA: tanto como sea posible, las clases, los atributosy las asociaciones deben representar informacinindependiente. Muchos caminos entre clases a vecesindican asociaciones derivadas que estn compuestaspor asociaciones primitivas. Ejemplo: Consorcio comparte ATM es una composicin de Consorcio tiene computador central y computadorcentral se comunica con los ATM Programacin II 22. Anlisis Orientado a ObjetosNOTA: Hay que tener cuidado porque no todas lasasociaciones que forman mltiples caminos entre clasesindican redundancia. Algunas veces la existencia deuna asociacin puede ser derivada de dos o msasociaciones primitivas. Aunque las asociacionesderivadas no agregan informacin, son tiles para eldiseo.Programacin II 23. Anlisis Orientado a ObjetosEjemplo: Una compaa emplea a muchas personas y es propietaria de muchas computadoras; a cada empleado se le puede asignar alguna de estas computadoras para su uso personal.persona y empleado son conceptos redundantesCompaa 1* Empleado emplea1 1 poseeasignada * Computadora0,1 Programacin II 24. Anlisis Orientado a ObjetosEjercicio enunciado del problema: Una red bancaria computarizada incluye tanto cajeros humanos como automticos (ATM), stos ltimos compartidos por un consorcio de bancos. Cada banco provee su propia computadora para mantener sus propias cuentas y procesar las transacciones contra ellas. Las estaciones de los cajeros son propias de cada banco y se comunican directamente con la computadora propia del banco. Los cajeros humanos introducen datos de cuentas y transaccin. Los ATM se comunican con un computador central el cual transfiere las transacciones con los bancos apropiados. Un ATM acepta una tarjeta de dbito, interacta con el usuario, se comunica con el sistema central para llevar a cabo la transaccin, dispensa efectivo e imprime un recibo. El sistema requiere de mecanismos de seguridad y auditoria adecuados. El sistema puede manejar acceso concurrente a la misma cuenta. Los bancos proveen su propio software para sus propias computadoras. El costo del sistema compartido es distribuido por los bancos segn el nmero de clientes con tarjetas de dbito.Programacin II 25. Anlisis Orientado a ObjetosEjercicio identificacin de nombres / conceptos: Una red bancaria computarizada incluye tanto cajeros humanos como automticos (ATM), stos ltimos compartidos por un consorcio de bancos. Cada banco provee su propia computadora para mantener sus propias cuentas y procesar las transacciones contra ellas. Las estaciones de los cajeros son propias de cada banco y se comunican directamente con la computadora propia del banco. Los cajeros humanos introducen datos de cuentas y transaccin. Los ATM se comunican con un computador central e