Vista previa del material en texto
II. METODOLOGIAS MODULO II 2.3 Análisis y Diseño OO 1 Análisis y Diseño de Sistemas de Información INF-162 Facilitador: Miguel Cotaña 24 de Marzo 2010 2 Los métodos de análisis y diseño orientado a objetos surgieron para ayudar a los desarrolladores, a explotar la potencia de los lenguajes de programación basados en objetos y orientados a objetos, utilizando clases y los objetos como bloques básicos de construcción INTRODUCCION 3 El análisis y diseño orientado a objetos representa un desarrollo evolutivo, no revolucionario; no rompe con los avances del pasado, sino que se basa en avances ya probados 4 La tecnología OO, proporciona una forma práctica y productiva de desarrollo de Software; Se trata de pensar de modo abstracto, acerca del problema empleando conceptos del mundo real y no conceptos de computadoras; Para lograr un software adecuado para el cliente, existen el AOO, DOO y POO. 5 La tecnología orientada a objetos se apoya en los sólidos fundamentos de la ingeniería, cuyos elementos reciben el nombre global de modelo de objetos. Abarca los principios de: Abstracción; Encapsulación; Modularidad; Jerarquía; Tipos; Concurrencia; Persistencia. MODELO DE OBJETOS 6 Una abstracción denota las características esenciales de un objeto que lo distinguen de todos los demás tipos de objeto y proporciona así fronteras conceptuales nítidamente definidas respecto a la perspectiva del observador. ABSTRACCION 7 8 Es el proceso de almacenar en un mismo compartimiento los elementos de una abstracción que constituyen su estructura y su comportamiento; El encapsulamiento, permite que los cambios hechos en los programas sean fiables con el menor esfuerzo. ENCAPSULAMIENTO 9 10 La modularidad es la propiedad que tiene un sistema que ha sido descompuesto en un conjunto de módulos cohesivos y débilmente acoplados. Es el acto de fragmentar un programa en componentes individuales MODULARIDAD 11 12 Un conjunto de abstracciones pueden llegar a formar una jerarquía, y la identificación de esas jerarquías en el diseño simplifica la comprensión del problema La jerarquía es una clasificación u ordenación de abstracciones. JERARQUIA 13 Las jerarquías más importantes son: Su estructura de clases (jerarquía de clases) Su estructura de objetos (jerarquía de partes) Ejemplos: herencia simple, herencia múltiple, agregación. 14 15 Los tipos son la puesta en vigor de la clase de los objetos, de modo que los objetos de tipos distintos no pueden intercambiarse o, como mucho pueden intercambiarse sólo de formas muy restringidas TIPOS (TIPIFICACION) 16 Un tipo es una caracterización precisa de propiedades estructurales o de comportamiento. Las clases implementan a los tipos. La comprobación estricta de tipos impide que se mezclen abstracciones. 17 La concurrencia se centra en la abstracción de procesos y la sincronización. La concurrencia es la propiedad que distingue un objeto activo de uno que no esta activo CONCURRENCIA 18 Un solo proceso (hilo de control) es la raíz a partir de la cual se producen acciones dinámicas independientes dentro del sistema La concurrencia permite a diferentes objetos actuar al mismo tiempo. 19 La persistencia es la propiedad de un objeto por la que su existencia trasciende el tiempo (es decir, el objeto continúa existiendo después de que su creador deja de existir) y/o el espacio (es decir, la posición del objeto varía con respecto al espacio de direcciones en el que fue creado). PERSISTENCIA 20 La persistencia conserva el estado de un objeto en el tiempo y en el espacio Un objeto de software ocupa una cierta cantidad de espacio, y existe durante una cierta cantidad de tiempo. 21 La Orientación a Objetos (OO), es una técnica para el modelado de sistemas como un conjunto de objetos relacionados que interactuan entre sí. La OO es similar a la forma en que las personas observan su entorno. La OO es un enfoque de desarrollo de software que organiza tanto el problema como su solución. PARADIGMA ORIENTADO A OBJETOS 22 El concepto surge en los lenguajes de programación: Se organiza el software como una colección de objetos discretos que encapsulan: Estructuras de Datos y Comportamiento. Un sistema OO funciona mediante la colaboración entre los objetos que se comunican entre sí. ¿QUÉ ES LA ORIENTACION A OBJETOS? 23 El concepto se extiende a los métodos de análisis y diseño: Se utilizan los objetos del mundo real como base para construir modelos Los elementos que forman los sistemas del mundo real se corresponden con objetos software 24 Cuando se usan métodos orientado a objetos, para analizar y diseñar un sistema, los bloques básicos de construcción son las clases, objetos y sus relaciones. CLASES Y OBJETOS 25 Es la representación abstraida de las cosas. Desde la perspectiva de la cognición humana un objeto es: Una cosa tangible y/o visible. Algo que puede comprenderse. Algo hacia lo que se dirige una acción o pensamiento. Todo lo que hay en el mundo serán objetos? OBJETO 26 Un objeto modela alguna parte de la realidad y es, por tanto, algo que existe en el tiempo y el espacio. Un objeto: Tiene un estado; Exhibe algún comportamiento bien definido; Tiene una identidad única. 27 Conceptualmente, un objeto es una cosa con la que se puede interactuar: Se le pueden mandar varios mensajes y reaccionará. El como se comporte dependerá del estado interno actual del objeto. Un objeto tiene una identidad la cual lo distingue de todos los demás objetos. QUÉ ES UN OBJETO? 28 e1:Empleado Nombre:String Sexo:Boolean Direccion:String Fecha_nac:Fecha TomarNombre() CalcularEdad() TomarDireccion() 29 30 Los objetos tienen atributos y operaciones; Los atributos son sus características y sus operaciones (servicios, métodos) son las acciones que el objeto puede realizar; La definición de objetos implica la descripción de atributos, comportamientos, operaciones y mensajes 31 Para verificar un objeto previamente identificado se pueden utilizar los siguientes criterios: Relevancia para el dominio del problema; Existencia independiente; Atributos; Operaciones. 32 Clase es una agrupación de objetos con los mismos tipos de características Los objetos son instancias de las clases. Las clases definen atributos y operaciones para sus objetos, no para ellas mismas. CLASE 33 ……..CLASES Y OBJETOS 34 Vehículo Punto Figura Animal (1,3) (2,2) (2,1) (5,2.5) Platero:Animal Una clase es una descripción generalizada de un conjunto de objetos similares.Todos los objetos son ejemplares de una clase. Todos los objetos que existen dentro de una clase heredan sus atributos y los métodos. Un objeto es una instancia o variable de una clase. Un objeto se distingue de otros miembros de la clase por sus atributos. 35 Una clase de alto nivel puede especializarse en clases de bajo nivel. Es decir, un clase puede tener subclases. Existe de este modo una jerarquía de clases y subclases. ……..CLASES Y SUBCLASES 36 METÁFORA 37 AGREGACION/COMPOSICION Permite abstraer relaciones de tipo …… tiene…. y …. está compuesto de….. 38 ASOCIACIONES Permite abstraer relaciones entre objetos diferentes a la composición. 39 HERENCIA Los objetos se organizan en jerarquías Vertebrado Mamifero Canino Felino Doméstico Salvaje ... 40 La herencia permite modelar relaciones del tipo …. es un…. y clasificaciones. Superclase (Tipo) Subclase (Subtipo) Vertebrado Mamifero 41 La relación de subtipaje (herencia): Si Y es subtipo de X entonces cualquier objeto de tipo Y puede ser usado en cualquier parte donde un objeto de tipo X puede ser usado 42 43 Es el proceso (durante las etapas de análisis y diseño de sistemas) de identificar y definir los atributos y operaciones comunes en una colección de objetos. Permite identificar nuevas clases; Reduce la redundancia; Promueve la reutilización de código. GENERALIZACION 44 Mientras la generalizaciónse concentra en las clases mayores del sistema y ayuda a encontrar nuevas clases, la especialización se concentra en crear clases más específicas. La especialización es herencia con la adición o modificación de operaciones para resolver un problema específico. ESPECIALIZACION Y GENERALIZACION 45especializacion Generalizacion 46 Identificar clases y objetos es fundamental en el DOO. Implica descubrimiento e invención. CLASIFICACION 47 Es una clase u objeto que forma parte del vocabulario del dominio del problema. ABSTRACCIONES CLAVE 48 PROCESO DE DESARROLLO Planificación Construcción Aplicación Ciclo de Ciclo de . . . desarrollo 1 desarrollo 2 Perfeccionar plan Análisis Diseño Construcción Pruebas De dos semanas a dos meses 49 TAREAS EN EL ANALISIS Perfeccionar plan Análisis Diseño Construcción Pruebas Definir los requisitos Definir los casos esenciales de uso Crear diagramas de casos de uso Crear modelo conceptual Crear el glosario Definir diag. de secuencia Definir los contratos 50 TAREAS EN EL DISEÑO Perfeccionar plan Análisis Diseño Construcción Pruebas Definir casos reales de uso Definir reportes, interfaz de usuario, secuencia de pantallas Perfeccionar la arquitectura Definir diag. de interacción Definir diagramas diseño de clases Definir esquema base de datos 51 AOO: Es un método de analisis que examina los requisitos desde la perpectiva de las clases y objetos que se encuentran en el vocabulario del dominio del problema. DOO: Es un método de diseño que abarca el proceso de descomposición y una notación para describir los modelos lógico y fisico. POO: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos. 52 Un cliente tiene la opción de que se cargue su cuenta automáticamente en el momento de la compra (combustible, mantenimiento, o estacionamiento) o de que se le envie mensualmente una factura en papel. En cualquier caso, los clientes pueden pagar con dinero en efectivo, tarjeta de credito o cheque personal. En la estación de servicio “amigos” el combustible se vende por galon a un precio que depende de que el combustible sea gasolina, normal o especial. Los servicios están cotizados de acuerdo con el costo de los insumos y de la labor realizada. El estacionamiento se vende segun tarifas que pueden ser diarias, semanales o mensuales. Los precios del combustible, servicios de mantenimiento, partes y estacionamiento pueden variar; solamente el gerente de la estacion puede ingresar o cambiar un precio. A su criterio, el gerente puede dar un descuento en sus compras a un cliente en particular; este descuento puede variar de un cliente a otro. Un 2,5% de impuesto local sobre ventas se aplica a todas las operaciones EJEMPLO