Vista previa del material en texto
MODULO IIMODULO II Análisis y Diseño de Análisis y Diseño de Análisis y Diseño de Análisis y Diseño de Sistemas de InformaciónSistemas de Información INFINF--162162 II. METODOLOGIAS 2.3 Análisis y Diseño OO 1 Facilitador: Miguel Facilitador: Miguel CotañaCotaña 14 de Marzo 2008 INTRODUCCIONINTRODUCCION METODO: INTRODUCCIONINTRODUCCION Es un proceso disciplinado para generar un conjunto de modelos que describen varios aspectos de undescriben varios aspectos de un proyecto software, utilizando alguna ó d f d METODOLOGIA notación definida. METODOLOGIA Es una colección de métodos aplicados a lo largo del ciclo de vida del desarrollo de software 2 del desarrollo de software. Los métodos de análisis y diseñoy orientado a objetos surgieron para ayudar a los desarrolladores aayudar a los desarrolladores, a explotar la potencia de los lenguajesp p g j de programación basados en objetos y orientados a objetos utilizandoy orientados a objetos, utilizando clases y los objetos como bloques básicos de construcción 3 El análisis y diseño orientado aEl análisis y diseño orientado a objetos representa un desarrolloj p evolutivo, no revolucionario; no rompe con los avances delrompe con los avances del pasado, sino que se basa en avances ya probados 4 L t l í OO iLa tecnología OO, proporciona una forma practica y productiva dep y p desarrollo de Software; Se trata de pensar de modoSe trata de pensar de modo abstracto, acerca del problema empleando conceptos del mundo real y no conceptos dereal y no conceptos de computadoras; P l ft d dPara lograr un software adecuado para el cliente, existen el AOO, 5 p , , DOO y POO. MODELO DE OBJETOSMODELO DE OBJETOS La tecnología orientada a objetos se apo a en los MODELO DE OBJETOSMODELO DE OBJETOS 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:j p p Abstracción; Encapsulación; Modularidad;Modularidad; Jerarquía; Tipos; Concurrencia; 6 Concurrencia; Persistencia. ABSTRACCIONABSTRACCIONABSTRACCIONABSTRACCION Una abstracción denota lasUna abstracción denota las características esenciales de un objeto que lo distinguen de todos los demás tipos de objeto ylos demás tipos de objeto y proporciona así fronteras íconceptuales nítidamente definidas respecto a la perspectiva delrespecto a la perspectiva del observador. 7 8 ENCAPSULAMIENTOENCAPSULAMIENTOENCAPSULAMIENTOENCAPSULAMIENTO Es el proceso de almacenar en unEs el proceso de almacenar en un mismo compartimiento los l t d b t ióelementos de una abstracción que constituyen su estructura y suconstituyen su estructura y su comportamiento; El encapsulamiento, permite que los cambios hechos en los programascambios hechos en los programas sean fiables con el menor esfuerzo. 9 10 MODULARIDADMODULARIDADMODULARIDADMODULARIDAD La modularidad es la propiedad ti i t h idque tiene un sistema que ha sido descompuesto en un conjunto dep j módulos cohesivos y débilmente acopladosacoplados. Es el acto de fragmentar unEs el acto de fragmentar un programa en componentes i di id lindividuales 11 12 JERARQUIAJERARQUIAJERARQUIAJERARQUIA U j t d b t iUn conjunto de abstracciones pueden llegar a formar unapuede ega a o a u a jerarquía, y la identificación de esas je a q ías en el diseño simplifica lajerarquías en el diseño simplifica la comprensión del problemap p La jerarquía es una clasificación u d ió d b iordenación de abstracciones. 13 L j í á i t tLas jerarquías más importantes son:son: Su estructura de clases í(jerarquía de clases) Su estructura de objetosSu estructura de objetos (jerarquía de partes) Ejemplos: herencia simple, he encia múltiple ag egación 14 herencia múltiple, agregación. 15 TIPOS (TIPIFICACION)TIPOS (TIPIFICACION)TIPOS (TIPIFICACION)TIPOS (TIPIFICACION) L ti l tLos tipos son la puesta en vigor de la clase de losgo de a c ase de os objetos, de modo que los objetos de tipos distintos noobjetos de tipos distintos no pueden intercambiarse o,p , como mucho pueden intercambiarse sólo de formasintercambiarse sólo de formas muy restringidas 16 y g Un tipo es una caracterizacióncaracterización precisa de propiedades estructurales o deestructurales o de comportamiento. Las clases implementan a La comprobación estricta de tiposimplementan a los tipos. impide que se mezclen abstracciones. 17 CONCURRENCIACONCURRENCIACONCURRENCIACONCURRENCIA L i t lLa concurrencia se centra en la abstracción de procesos y laabst acc ó de p ocesos y a sincronización. La concurrencia es la propiedad que distingue unpropiedad que distingue un objeto activo de uno que no iesta activo 18 Un solo proceso (hilo de control) es la raíz a partires la raíz a partir de la cual se producen acciones dinámicasdinámicas independientes d d l identro del sistema La concurrencia permite a diferentes 19 objetos actuar al mismo tiempo. PERSISTENCIAPERSISTENCIAPERSISTENCIAPERSISTENCIA La persistencia es la propiedad de unLa persistencia es la propiedad de un objeto por la que su existencia i d l i ( d i ltrasciende el tiempo (es decir, el objeto continúa existiendo despuésobjeto continúa existiendo después de que su creador deja de existir) / l i ( d i l i ióy/o el espacio (es decir, la posición del objeto varía con respecto alde objeto a a co especto a espacio de direcciones en el que fue c eado) 20 creado). Un objeto de software ocupa una ciertauna cierta cantidad de espacio, y existe durante una ciertadurante una cierta cantidad de i l d d tiempo. 21 La persistencia conserva el estado de un objeto en el tiempo y en el espacio PARADIGMA ORIENTADO A OBJETOSPARADIGMA ORIENTADO A OBJETOSPARADIGMA ORIENTADO A OBJETOSPARADIGMA ORIENTADO A OBJETOS La Orientación a Objetos (OO), es na técnica pa a el modelado deuna técnica para el modelado de sistemas como un conjunto de objetos relacionados que interactuan entre sí. La OO es similar a la formaentre sí. La OO es similar a la forma en que las personas observan su entornoentorno. La OO es un enfoque de desarrollo d f lde software que organiza tanto el problema como su solución. 22 p ¿QUÉ ES LA ORIENTACION A OBJETOS?¿QUÉ ES LA ORIENTACION A OBJETOS?¿QUÉ ES LA ORIENTACION A OBJETOS?¿QUÉ ES LA ORIENTACION A OBJETOS? El concepto surge en los lenguajes de programación:programación: Se organiza el software como una l ió d bj t di tcolección de objetos discretos que encapsulan:p Estructuras de Datos y C t i tComportamiento. Un sistema OO funciona medianteUn sistema OO funciona mediante la colaboración entre los objetos que se comunican entre sí 23 que se comunican entre sí. El concepto se extiende a los ét d d áli i di ñmétodos de análisis y diseño: Se utilizan los objetos del mundoSe utilizan los objetos del mundo real como base para construir modelosmodelos Los elementos que forman losq sistemas del mundo real se corresponden con objetoscorresponden con objetos software 24 CLASES Y OBJETOSCLASES Y OBJETOSCLASES Y OBJETOSCLASES Y OBJETOS Cuando se usan métodosCuando se usan métodos orientado a objetos, para analizar y diseñar un sistema los bloquessistema, los bloques básicos de construcciónbás cos de co st ucc ó son las clases, objetos y l isus relaciones. 25 OBJETOOBJETO l ó b d d l OBJETOOBJETO Es la representación abstraida de las cosas. Desde la perspectiva de lacosas. Desde la perspectiva de la cognición humana un objeto es: Una cosa tangible y/o visible.g y/ Algo que puede comprenderse. Algo hacia lo que se dirige una acciónAlgo hacia lo que se dirige una acción o pensamiento. Todo lo que hay en el mundo serán 26 q y objetos? b d l l d lUn objeto modela alguna parte de la realidad y es, por tanto, algo que existerealidad y es, por tanto, algo que existe en el tiempo y el espacio. Un objeto:Un objeto: Tiene un estado; E hib l ú t i t biExhibe algún comportamiento bien definido;; Tiene una identidad única. 27 28 QUÉ ES UN OBJETO?QUÉ ES UN OBJETO?QUÉES UN OBJETO?QUÉ ES UN OBJETO? Conceptualmente, un objeto es unap , j cosa con la que se puede interactuar: Se le pueden mandar variosSe le pueden mandar varios mensajes y reaccionará. El como sej y comporte dependerá del estado interno actual del objeto Un objetointerno actual del objeto. Un objeto tiene una identidad la cual lo distingue de todos los demás objetosobjetos. 29 EmpleadoEmpleado Nombre:String- Nombre:String - Sexo:Boolean - Direccion:String - Fecha_nac:Fecha_ + TomarNombre()() + CalcularEdad() + TomarDireccion() 30 b bLos objetos tienen atributos y operaciones;operaciones; Los atributos son sus características y i ( i i ét d )sus operaciones (servicios, métodos) son las acciones que el objeto puedeson las acciones que el objeto puede realizar; L d fi i ió d bj t i li lLa definición de objetos implica la descripción de atributos,p , comportamientos, operaciones y mensajes 31 mensajes Para verificar un objeto previamentePara verificar un objeto previamente identificado se pueden utilizar los siguientes criterios: Relevancia para el dominio del problema;del problema; Existencia independiente; Atributos; Operaciones. 32 Operaciones. CLASECLASECLASECLASE Clase es una agrupación de objetos con los mismos tipos decon los mismos tipos de características Los objetos son instancias de lasLos objetos son instancias de las clases. Las clases definen atributos yLas clases definen atributos y operaciones para sus objetos, no 33para ellas mismas. ……..CLASES Y OBJETOS……..CLASES Y OBJETOS……..CLASES Y OBJETOS……..CLASES Y OBJETOS 34 Vehículo l i l Animal Platero:Animal PuntoPunto Figura (1,3)Figura (1,3) (2,2) (2 1) (5,2.5) 35 (2,1) Una clase es una descripciónUna clase es una descripción generalizada de un conjunto de bj t i il T d l bj tobjetos similares.Todos los objetos son ejemplares de una clase.j p Todos los objetos que existen dentro de una clase heredan sus atributos y los métodos.los métodos. Un objeto es una instancia o variable de una clase. Un objeto se distingue de otros miembros de la clase por susde otros miembros de la clase por sus atributos. 36 ……..CLASES Y SUBCLASES……..CLASES Y SUBCLASES……..CLASES Y SUBCLASES……..CLASES Y SUBCLASES U l d l i lUna clase de alto nivel puede especializarse enp p clases de bajo nivel. Es decir, un clase puede, p tener subclases. Existe de este modo unaExiste de este modo una jerarquía de clases y subclasessubclases. 37 METÁFORAMETÁFORAMETÁFORAMETÁFORA 38 AGREGACION/COMPOSICIONAGREGACION/COMPOSICIONAGREGACION/COMPOSICIONAGREGACION/COMPOSICION Permite abstraer relaciones dePermite abstraer relaciones de tipo …… tiene…. y …. está compuesto de….. 39 ASOCIACIONESASOCIACIONESASOCIACIONESASOCIACIONES Permite abstraer relaciones entrePermite abstraer relaciones entre objetos diferentes a la composición. 40 HERENCIAHERENCIAHERENCIAHERENCIA Los objetos se organizan enLos objetos se organizan en jerarquías VertebradoVertebrado Mamifero ... Canino Felino Doméstico SalvajeDoméstico Salvaje 41 La herencia permite modelarLa herencia permite modelar relaciones del tipo …. es un…. y clasificaciones. SuperclaseVertebrado Superclase (Tipo) Vertebrado M if Subclase (Subtipo) Mamifero (Subtipo) 42 La relación de subtipajeLa relación de subtipaje (herencia): Si Y es subtipo de X entonces Si Y es subtipo de X entonces cualquier objeto de tipo Y puede d l i t ser usado en cualquier parte donde un objeto de tipo X puede donde un objeto de tipo X puede ser usado 43 GENERALIZACIONGENERALIZACIONGENERALIZACIONGENERALIZACION Es el proceso (durante las etapas deEs el proceso (durante las etapas de análisis y diseño de sistemas) dey ) identificar y definir los atributos y operaciones comunes en unaoperaciones comunes en una colección de objetos.j Permite identificar nuevas clases; Reduce la redundancia;Reduce la redundancia; Promueve la reutilización de 44código. ESPECIALIZACION Y GENERALIZACIONESPECIALIZACION Y GENERALIZACIONESPECIALIZACION Y GENERALIZACIONESPECIALIZACION Y GENERALIZACION Mientras la generalización se concentra en las clases mayores del sistema y ayuda aclases mayores del sistema y ayuda a encontrar nuevas clases, la especialización se concentra en crear clases más específicasconcentra en crear clases más específicas. L i li ió h i l di ióLa especialización es herencia con la adición o modificación de operaciones para resolver un problema específico. 45 GeneralizacionGeneralizacion 46especializacion CLASIFICACIONCLASIFICACION Identificar clases y objetos es fundamental en el DOO Implica descubrimiento e invención CLASIFICACIONCLASIFICACION DOO. Implica descubrimiento e invención. 47 ABSTRACCIONES CLAVEABSTRACCIONES CLAVE Es una clase u objeto que forma parte del vocabulario del dominio del problema ABSTRACCIONES CLAVEABSTRACCIONES CLAVE vocabulario del dominio del problema. 48 PROCESO DE DESARROLLOPROCESO DE DESARROLLOPROCESO DE DESARROLLOPROCESO DE DESARROLLO Planificación Construcción Aplicación Ciclo de Ciclo de . . .Ciclo de Ciclo de . . . desarrollo 1 desarrollo 2 Perfeccionar plan Análisis Diseño Construcción Pruebasp De dos semanas a dos meses 49 TAREAS EN EL ANALISISTAREAS EN EL ANALISISTAREAS EN EL ANALISISTAREAS EN EL ANALISIS Perfeccionar plan Análisis Diseño Construcción Pruebasplan Definir los Definir los casos Crear diagramas Crear modelo requisitos esenciales de uso g de casos de uso conceptual Crear el Definir diag. Definir los glosario de secuencia contratos 50 TAREAS EN EL DISEÑOTAREAS EN EL DISEÑOTAREAS EN EL DISEÑOTAREAS EN EL DISEÑO Perfeccionar plan Análisis Diseño Construcción Pruebasplan Definir casos Definir reportes, Perfeccionar la reales de uso interfaz de usuario, secuencia de pantallas arquitectura Definir diag. Definir diagramas Definir esquema de interacción Definir diagramas diseño de clases base de datos 51 AOO: Es un método de analisis queq examina los requisitos desde la perpectiva de las clases y objetos que seperpectiva de las clases y objetos que se encuentran en el vocabulario del dominio del problemadel problema. DOO: Es un método de diseño que óabarca el proceso de descomposición y una notación para describir los modelosp lógico y fisico. POO: Es un método de implementaciónPOO: Es un método de implementación en el que los programas se organizan l i ti d 52 como colecciones cooperativas de objetos. EJEMPLOEJEMPLO Un cliente tiene la opción de que se cargue su cuenta EJEMPLOEJEMPLO p q g automáticamente en el momento de la compra (combustible, mantenimiento, o estacionamiento) o de que se le envie l t f t l E l i l li tmensualmente 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 sepersonal. 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 deg , p acuerdo con el costo de los insumos y de la labor realizada. El estacionamiento se vende segun tarifas que pueden ser diarias, l l L i d l b tibl i i dsemanales 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 suel 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 53otro. Un 2,5% de impuesto local sobre ventas se aplica a todas las operaciones