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

52
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

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

Page 1: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

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

Page 2: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

2

Los métodos de análisis y diseñoorientado a objetos surgieron paraayudar a los desarrolladores, aexplotar la potencia de los lenguajesde programación basados en objetosy orientados a objetos, utilizandoclases y los objetos como bloquesbásicos de construcción

INTRODUCCION

Page 3: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

3

El análisis y diseño orientado aobjetos representa un desarrolloevolutivo, no revolucionario; norompe con los avances delpasado, sino que se basa enavances ya probados

Page 4: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

4

La tecnología OO, proporciona unaforma práctica y productiva dedesarrollo de Software;

Se trata de pensar de modoabstracto, acerca del problemaempleando conceptos del mundoreal y no conceptos decomputadoras;

Para lograr un software adecuadopara el cliente, existen el AOO,DOO y POO.

Page 5: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

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

Page 6: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

6

Una abstracción denota lascaracterísticas esenciales de unobjeto que lo distinguen de todoslos demás tipos de objeto yproporciona así fronterasconceptuales nítidamente definidasrespecto a la perspectiva delobservador.

ABSTRACCION

Page 7: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

7

Page 8: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

8

Es el proceso de almacenar en unmismo compartimiento loselementos de una abstracción queconstituyen su estructura y sucomportamiento;

El encapsulamiento, permite que loscambios hechos en los programassean fiables con el menor esfuerzo.

ENCAPSULAMIENTO

Page 9: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

9

Page 10: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

10

La modularidad es la propiedadque tiene un sistema que ha sidodescompuesto en un conjunto demódulos cohesivos y débilmenteacoplados.

Es el acto de fragmentar unprograma en componentesindividuales

MODULARIDAD

Page 11: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

11

Page 12: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

12

Un conjunto de abstraccionespueden llegar a formar unajerarquía, y la identificación de esasjerarquías en el diseño simplifica lacomprensión del problema

La jerarquía es una clasificación uordenación de abstracciones.

JERARQUIA

Page 13: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

13

Las jerarquías más importantesson:

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 14: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

14

Page 15: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

15

Los tipos son la puesta envigor de la clase de losobjetos, de modo que losobjetos de tipos distintos nopueden intercambiarse o,como mucho puedenintercambiarse sólo de formasmuy restringidas

TIPOS (TIPIFICACION)

Page 16: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

16

Un tipo es unacaracterizaciónprecisa depropiedadesestructurales o decomportamiento.

Las clasesimplementan alos tipos.

La comprobación estricta de tiposimpide que se mezclen abstracciones.

Page 17: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

17

La concurrencia se centra en laabstracción de procesos y lasincronización.

La concurrencia es lapropiedad que distingue unobjeto activo de uno que noesta activo

CONCURRENCIA

Page 18: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

18

Un solo proceso(hilo de control)es la raíz a partirde la cual seproducen accionesdinámicasindependientesdentro del sistema

La concurrencia permite a diferentesobjetos actuar al mismo tiempo.

Page 19: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

19

La persistencia es la propiedad de unobjeto por la que su existenciatrasciende el tiempo (es decir, elobjeto continúa existiendo despuésde que su creador deja de existir)y/o el espacio (es decir, la posicióndel objeto varía con respecto alespacio de direcciones en el que fuecreado).

PERSISTENCIA

Page 20: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

20

La persistencia conserva el estado deun objeto en el tiempo y en el espacio

Un objeto desoftware ocupauna ciertacantidad deespacio, y existedurante una ciertacantidad detiempo.

Page 21: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

21

La Orientación a Objetos (OO), esuna técnica para el modelado desistemas como un conjunto deobjetos relacionados que interactuanentre sí. La OO es similar a la formaen que las personas observan suentorno.La OO es un enfoque de desarrollode software que organiza tanto elproblema como su solución.

PARADIGMA ORIENTADO A OBJETOS

Page 22: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

22

El concepto surge en los lenguajes deprogramación:

Se organiza el software como unacolección de objetos discretos queencapsulan:

Estructuras de Datos y

Comportamiento.

Un sistema OO funciona mediantela colaboración entre los objetosque se comunican entre sí.

¿QUÉ ES LA ORIENTACION A OBJETOS?

Page 23: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

23

El concepto se extiende a losmétodos de análisis y diseño:

Se utilizan los objetos del mundoreal como base para construirmodelos

Los elementos que forman lossistemas del mundo real secorresponden con objetossoftware

Page 24: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

24

Cuando se usan métodosorientado a objetos, paraanalizar y diseñar unsistema, los bloquesbásicos de construcciónson las clases, objetos ysus relaciones.

CLASES Y OBJETOS

Page 25: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

25

Es la representación abstraida de lascosas. Desde la perspectiva de lacognició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ánobjetos?

OBJETO

Page 26: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

26

Un objeto modela alguna parte de larealidad y es, por tanto, algo que existeen el tiempo y el espacio.

Un objeto:Tiene un estado;Exhibe algún comportamiento biendefinido;Tiene una identidad única.

Page 27: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

27

Page 28: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

Conceptualmente, un objeto es unacosa con la que se puede interactuar:Se le pueden mandar variosmensajes y reaccionará. El como secomporte dependerá del estadointerno actual del objeto. Un objetotiene una identidad la cual lodistingue de todos los demásobjetos.

QUÉ ES UN OBJETO?

28

Page 29: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

e1:Empleado

Nombre:StringSexo:BooleanDireccion:StringFecha_nac:Fecha

TomarNombre()CalcularEdad()TomarDireccion()

29

Page 30: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

30

Los objetos tienen atributos yoperaciones;Los atributos son sus características ysus operaciones (servicios, métodos)son las acciones que el objeto puederealizar;La definición de objetos implica ladescripción de atributos,comportamientos, operaciones ymensajes

Page 31: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

31

Para verificar un objeto previamenteidentificado se pueden utilizar los siguientes criterios:

Relevancia para el dominiodel problema;Existencia independiente;Atributos;Operaciones.

Page 32: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

32

Clase es una agrupación de objetoscon los mismos tipos decaracterísticas

Los objetos son instancias de lasclases.

Las clases definen atributos yoperaciones para sus objetos, nopara ellas mismas.

CLASE

Page 33: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

33

……..CLASES Y OBJETOS

Page 34: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

34

Vehículo

Punto

Figura

Animal

(1,3)

(2,2)

(2,1)

(5,2.5)

Platero:Animal

Page 35: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

Una clase es una descripcióngeneralizada de un conjunto deobjetos similares.Todos los objetosson ejemplares de una clase.

Todos los objetos que existen dentrode una clase heredan sus atributos ylos métodos.

Un objeto es una instancia o variablede una clase. Un objeto se distinguede otros miembros de la clase por susatributos.

35

Page 36: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

Una clase de alto nivelpuede especializarse enclases de bajo nivel. Esdecir, un clase puedetener subclases.Existe de este modo unajerarquía de clases ysubclases.

……..CLASES Y SUBCLASES

36

Page 37: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

METÁFORA

37

Page 38: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

AGREGACION/COMPOSICION

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

38

Page 39: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

ASOCIACIONES

Permite abstraer relaciones entreobjetos diferentes a lacomposición.

39

Page 40: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

HERENCIA

Los objetos se organizan enjerarquías

Vertebrado

Mamifero

Canino Felino

Doméstico Salvaje

...

40

Page 41: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

La herencia permite modelarrelaciones del tipo …. es un…. yclasificaciones.

Superclase(Tipo)

Subclase

(Subtipo)

Vertebrado

Mamifero

41

Page 42: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

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

Page 43: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

43

Es el proceso (durante las etapas deanálisis y diseño de sistemas) deidentificar y definir los atributos yoperaciones comunes en unacolección de objetos.

Permite identificar nuevas clases;Reduce la redundancia;Promueve la reutilización de código.

GENERALIZACION

Page 44: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

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

Page 45: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

45especializacion

Generalizacion

Page 46: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

46

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

CLASIFICACION

Page 47: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

47

Es una clase u objeto que forma parte del

vocabulario del dominio del problema.

ABSTRACCIONES CLAVE

Page 48: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

48

PROCESO DE DESARROLLO

Planificación Construcción Aplicación

Ciclo de Ciclo de . . . desarrollo 1 desarrollo 2

Perfeccionarplan

Análisis Diseño Construcción Pruebas

De dos semanas a dos meses

Page 49: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

49

TAREAS EN EL ANALISIS

Perfeccionarplan

Análisis Diseño Construcción Pruebas

Definir losrequisitos

Definir los casosesenciales de uso

Crear diagramasde casos de uso

Crear modeloconceptual

Crear elglosario

Definir diag.de secuencia

Definir loscontratos

Page 50: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

50

TAREAS EN EL DISEÑO

Perfeccionarplan

Análisis Diseño Construcción Pruebas

Definir casosreales de uso

Definir reportes,interfaz de usuario,

secuencia de pantallas

Perfeccionar laarquitectura

Definir diag.de interacción

Definir diagramasdiseño de clases

Definir esquemabase de datos

Page 51: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

51

AOO: Es un método de analisis queexamina los requisitos desde laperpectiva de las clases y objetos que seencuentran en el vocabulario del dominiodel problema.

DOO: Es un método de diseño queabarca el proceso de descomposición yuna notación para describir los modeloslógico y fisico.

POO: Es un método de implementaciónen el que los programas se organizancomo colecciones cooperativas deobjetos.

Page 52: Análisis y Diseño de Sistemas de Información INF-162cotana.informatica.edu.bo/downloads/analisis.pdf · el gerente de la estacion puede ingresar o cambiar un precio. A su criterio,

52

Un cliente tiene la opción de que se cargue su cuentaautomáticamente en el momento de la compra (combustible,mantenimiento, o estacionamiento) o de que se le enviemensualmente una factura en papel. En cualquier caso, los clientespueden pagar con dinero en efectivo, tarjeta de credito o chequepersonal. En la estación de servicio “amigos” el combustible sevende por galon a un precio que depende de que el combustiblesea gasolina, normal o especial. Los servicios están cotizados deacuerdo con el costo de los insumos y de la labor realizada. Elestacionamiento se vende segun tarifas que pueden ser diarias,semanales o mensuales. Los precios del combustible, servicios demantenimiento, partes y estacionamiento pueden variar; solamenteel gerente de la estacion puede ingresar o cambiar un precio. A sucriterio, el gerente puede dar un descuento en sus compras a uncliente en particular; este descuento puede variar de un cliente aotro. Un 2,5% de impuesto local sobre ventas se aplica a todas lasoperaciones

EJEMPLO