Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis...

52
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

Transcript of Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis...

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

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 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.

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ó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

45 especializacion

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