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

53
II. METODOLOGIAS MODULO IV Análisis y Diseño OO 1 Análisis y Diseño de Sistemas de Información INF-162 Facilitador: Miguel Cotaña

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

Page 1: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

II. METODOLOGIAS

MODULO IV

Análisis y Diseño OO

1

Análisis y Diseño de Sistemas de Información

INF-162

Facilitador: Miguel Cotaña

Page 2: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

METODO:

METODOLOGIA

INTRODUCCION

2

Es un proceso disciplinado para generar un conjunto de modelos que describen varios aspectos de un proyecto software, utilizando alguna notación definida.

Es una colección de métodos aplicados a lo largo del ciclo de vida del desarrollo de software.

Page 3: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

3

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

Page 4: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

4

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

Page 5: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

5

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.

Page 6: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

6

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

Page 7: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

7

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

Page 8: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

8

Page 9: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

9

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

Page 10: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

10

Page 11: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

11

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

Page 12: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

12

Page 13: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

13

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

Page 14: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

14

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.

Page 15: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

15

Page 16: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

16

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)

Page 17: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

17

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.

Page 18: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

18

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

Page 19: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

19

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.

Page 20: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

20

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

Page 21: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

21

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.

Page 22: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

22

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

Page 23: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

23

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?

Page 24: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

24

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

Page 25: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

25

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

Page 26: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

26

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

Page 27: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

27

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.

Page 28: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

28

Page 29: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

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?

29

Page 30: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

Empleado

- Nombre:String - Sexo:Boolean - Direccion:String - Fecha_nac:Fecha

+ TomarNombre() + CalcularEdad() + TomarDireccion()

30

Page 31: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

31

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

Page 32: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

32

Para verificar un objeto previamente identificado se pueden utilizar los siguientes criterios:

Relevancia para el dominio del problema; Existencia independiente; Atributos; Operaciones.

Page 33: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

33

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

Page 34: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

34

……..CLASES Y OBJETOS

Page 35: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

35

Vehículo

Punto

Figura

Animal

(1,3)

(2,2)

(2,1)

(5,2.5)

Platero:Animal

Page 36: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

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.

36

Page 37: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

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

37

Page 38: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

METÁFORA

38

Page 39: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

AGREGACION/COMPOSICION

Permite abstraer relaciones de tipo …… tiene…. y …. está compuesto de…..

39

Page 40: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

ASOCIACIONES

Permite abstraer relaciones entre objetos diferentes a la composición.

40

Page 41: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

HERENCIA

Los objetos se organizan en jerarquías

Vertebrado

Mamifero

Canino Felino

Doméstico Salvaje

...

41

Page 42: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

La herencia permite modelar relaciones del tipo …. es un…. y clasificaciones.

Superclase (Tipo)

Subclase

(Subtipo)

Vertebrado

Mamifero

42

Page 43: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

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

43

Page 44: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

44

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

Page 45: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

45

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

Page 46: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

46 especializacion

Generalizacion

Page 47: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

47

Identificar clases y objetos es fundamental en el DOO. Implica descubrimiento e invención.

CLASIFICACION

Page 48: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

48

Es una clase u objeto que forma parte del

vocabulario del dominio del problema.

ABSTRACCIONES CLAVE

Page 49: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

49

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

Page 50: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

50

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

Page 51: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

51

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

Page 52: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

52

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.

Page 53: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis y diseño OO...Un objeto de software ocupa una cierta cantidad de espacio, y existe

53

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