Upload
phamhanh
View
233
Download
0
Embed Size (px)
Citation preview
II. METODOLOGIAS
MODULO II
2.5 Análisis y Diseño OO
1
Análisis y Diseño de Sistemas de Información
INF-162
Facilitador: Miguel Cotaña Abril 2014
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
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
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
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.
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 Sw. 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.
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
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
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ón se 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
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