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

Post on 17-May-2020

3 views 0 download

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

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

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

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

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.

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

7

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

9

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

11

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

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.

14

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)

16

Un tipo es unacaracterizaciónprecisa depropiedadesestructurales o decomportamiento.

Las clasesimplementan alos tipos.

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

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

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.

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

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.

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

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?

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

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

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

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.

27

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

e1:Empleado

Nombre:StringSexo:BooleanDireccion:StringFecha_nac:Fecha

TomarNombre()CalcularEdad()TomarDireccion()

29

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

31

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

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

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

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

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

METÁFORA

37

AGREGACION/COMPOSICION

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

38

ASOCIACIONES

Permite abstraer relaciones entreobjetos diferentes a lacomposición.

39

HERENCIA

Los objetos se organizan enjerarquías

Vertebrado

Mamifero

Canino Felino

Doméstico Salvaje

...

40

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

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

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

45especializacion

Generalizacion

46

Identificar clases y objetos es fundamental en elDOO. 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

Perfeccionarplan

Análisis Diseño Construcción Pruebas

De dos semanas a dos meses

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

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

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.

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