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

Preview:

Citation preview

MODULO IIMODULO II

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

INFINF--162162

II. METODOLOGIAS2.3 Análisis y Diseño OO

1Facilitador: Miguel Facilitador: Miguel CotañaCotaña 14 de Marzo 2008

INTRODUCCIONINTRODUCCION

METODO:

INTRODUCCIONINTRODUCCION

Es un proceso disciplinado paragenerar un conjunto de modelos quedescriben varios aspectos de undescriben varios aspectos de unproyecto software, utilizando alguna

ó d f d

METODOLOGIA

notación definida.

METODOLOGIA

Es una colección de métodosaplicados a lo largo del ciclo de vidadel desarrollo de software

2del desarrollo de software.

Los métodos de análisis y diseñoyorientado a objetos surgieron paraayudar a los desarrolladores aayudar a los desarrolladores, aexplotar la potencia de los lenguajesp p g jde programación basados en objetosy orientados a objetos utilizandoy orientados a objetos, utilizandoclases y los objetos como bloquesbásicos de construcción

3

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

4

L t l í OO iLa tecnología OO, proporciona unaforma practica y productiva dep y pdesarrollo de Software;Se trata de pensar de modoSe trata de pensar de modoabstracto, acerca del problemaempleando conceptos del mundoreal y no conceptos dereal y no conceptos decomputadoras;P l ft d dPara lograr un software adecuadopara el cliente, existen el AOO,

5

p , ,DOO y POO.

MODELO DE OBJETOSMODELO DE OBJETOS

La tecnología orientada a objetos se apo a en los

MODELO DE OBJETOSMODELO DE OBJETOS

La tecnología orientada a objetos se apoya en lossólidos fundamentos de la ingeniería, cuyoselementos reciben el nombre global de modelo deobjetos. Abarca los principios de:j p p

Abstracción;Encapsulación;Modularidad;Modularidad;Jerarquía;Tipos;Concurrencia;

6Concurrencia;Persistencia.

ABSTRACCIONABSTRACCIONABSTRACCIONABSTRACCION

Una abstracción denota lasUna abstracción denota lascaracterísticas esenciales de unobjeto que lo distinguen de todoslos demás tipos de objeto ylos demás tipos de objeto yproporciona así fronteras

íconceptuales nítidamente definidasrespecto a la perspectiva delrespecto a la perspectiva delobservador.

7

8

ENCAPSULAMIENTOENCAPSULAMIENTOENCAPSULAMIENTOENCAPSULAMIENTO

Es el proceso de almacenar en unEs el proceso de almacenar en unmismo compartimiento losl t d b t ióelementos de una abstracción que

constituyen su estructura y suconstituyen su estructura y sucomportamiento;El encapsulamiento, permite que loscambios hechos en los programascambios hechos en los programassean fiables con el menor esfuerzo.

9

10

MODULARIDADMODULARIDADMODULARIDADMODULARIDAD

La modularidad es la propiedadti i t h idque tiene un sistema que ha sido

descompuesto en un conjunto dep jmódulos cohesivos y débilmenteacopladosacoplados.Es el acto de fragmentar unEs el acto de fragmentar unprograma en componentesi di id lindividuales

11

12

JERARQUIAJERARQUIAJERARQUIAJERARQUIA

U j t d b t iUn conjunto de abstraccionespueden llegar a formar unapuede ega a o a u ajerarquía, y la identificación de esasje a q ías en el diseño simplifica lajerarquías en el diseño simplifica lacomprensión del problemap pLa jerarquía es una clasificación u

d ió d b iordenación de abstracciones.

13

L j í á i t tLas jerarquías más importantesson:son:

Su estructura de clasesí(jerarquía de clases)

Su estructura de objetosSu estructura de objetos(jerarquía de partes)

Ejemplos: herencia simple,he encia múltiple ag egación

14herencia múltiple, agregación.

15

TIPOS (TIPIFICACION)TIPOS (TIPIFICACION)TIPOS (TIPIFICACION)TIPOS (TIPIFICACION)

L ti l tLos tipos son la puesta envigor de la clase de losgo de a c ase de osobjetos, de modo que losobjetos de tipos distintos noobjetos de tipos distintos nopueden intercambiarse o,p ,como mucho puedenintercambiarse sólo de formasintercambiarse sólo de formasmuy restringidas

16

y g

Un tipo es unacaracterizacióncaracterizaciónprecisa depropiedadesestructurales o deestructurales o decomportamiento.Las clasesimplementan a La comprobación estricta de tiposimplementan alos tipos.

impide que se mezclen abstracciones.

17

CONCURRENCIACONCURRENCIACONCURRENCIACONCURRENCIA

L i t lLa concurrencia se centra en laabstracción de procesos y laabst acc ó de p ocesos y asincronización.La concurrencia es lapropiedad que distingue unpropiedad que distingue unobjeto activo de uno que no

iesta activo

18

Un solo proceso(hilo de control)es la raíz a partires la raíz a partirde la cual seproducen accionesdinámicasdinámicasindependientesd d l identro del sistema

La concurrencia permite a diferentes

19objetos actuar al mismo tiempo.

PERSISTENCIAPERSISTENCIAPERSISTENCIAPERSISTENCIA

La persistencia es la propiedad de unLa persistencia es la propiedad de unobjeto por la que su existencia

i d l i ( d i ltrasciende el tiempo (es decir, elobjeto continúa existiendo despuésobjeto continúa existiendo despuésde que su creador deja de existir)/ l i ( d i l i ióy/o el espacio (es decir, la posición

del objeto varía con respecto alde objeto a a co especto aespacio de direcciones en el que fuec eado)

20creado).

Un objeto desoftware ocupauna ciertauna ciertacantidad deespacio, y existedurante una ciertadurante una ciertacantidad dei

l d d

tiempo.

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

PARADIGMA ORIENTADO A OBJETOSPARADIGMA ORIENTADO A OBJETOSPARADIGMA ORIENTADO A OBJETOSPARADIGMA ORIENTADO A OBJETOS

La Orientación a Objetos (OO), esna técnica pa a el modelado deuna técnica para el modelado de

sistemas como un conjunto deobjetos relacionados que interactuanentre sí. La OO es similar a la formaentre sí. La OO es similar a la formaen que las personas observan suentornoentorno.La OO es un enfoque de desarrollod f lde software que organiza tanto elproblema como su solución.

22

p

¿QUÉ ES LA ORIENTACION A OBJETOS?¿QUÉ ES LA ORIENTACION A OBJETOS?¿QUÉ ES LA ORIENTACION A OBJETOS?¿QUÉ ES LA ORIENTACION A OBJETOS?

El concepto surge en los lenguajes deprogramación:programación:

Se organiza el software como unal ió d bj t di tcolección de objetos discretos que

encapsulan:pEstructuras de Datos yC t i tComportamiento.

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

23que se comunican entre sí.

El concepto se extiende a losét d d áli i di ñmétodos de análisis y diseño:

Se utilizan los objetos del mundoSe utilizan los objetos del mundoreal como base para construirmodelosmodelosLos elementos que forman losqsistemas del mundo real secorresponden con objetoscorresponden con objetossoftware

24

CLASES Y OBJETOSCLASES Y OBJETOSCLASES Y OBJETOSCLASES Y OBJETOS

Cuando se usan métodosCuando se usan métodosorientado a objetos, paraanalizar y diseñar unsistema los bloquessistema, los bloquesbásicos de construcciónbás cos de co st ucc óson las clases, objetos y

l isus relaciones.

25

OBJETOOBJETO

l ó b d d l

OBJETOOBJETO

Es la representación abstraida de lascosas. Desde la perspectiva de lacosas. Desde la perspectiva de lacognición humana un objeto es:

Una cosa tangible y/o visible.g y/Algo que puede comprenderse.Algo hacia lo que se dirige una acciónAlgo hacia lo que se dirige una acción

o pensamiento.

Todo lo que hay en el mundo serán26

q yobjetos?

b d l l d lUn objeto modela alguna parte de larealidad y es, por tanto, algo que existerealidad y es, por tanto, algo que existeen el tiempo y el espacio.

Un objeto:Un objeto:Tiene un estado;E hib l ú t i t biExhibe algún comportamiento biendefinido;;Tiene una identidad única.

27

28

QUÉ ES UN OBJETO?QUÉ ES UN OBJETO?QUÉ ES UN OBJETO?QUÉ ES UN OBJETO?

Conceptualmente, un objeto es unap , jcosa con la que se puede interactuar:Se le pueden mandar variosSe le pueden mandar variosmensajes y reaccionará. El como sej ycomporte dependerá del estadointerno actual del objeto Un objetointerno actual del objeto. Un objetotiene una identidad la cual lodistingue de todos los demásobjetosobjetos.

29

EmpleadoEmpleado

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

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

30

b bLos objetos tienen atributos yoperaciones;operaciones;Los atributos son sus características y

i ( i i ét d )sus operaciones (servicios, métodos)son las acciones que el objeto puedeson las acciones que el objeto puederealizar;L d fi i ió d bj t i li lLa definición de objetos implica ladescripción de atributos,p ,comportamientos, operaciones ymensajes

31mensajes

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

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

32

Operaciones.

CLASECLASECLASECLASE

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

Los objetos son instancias de lasLos objetos son instancias de lasclases.

Las clases definen atributos yLas clases definen atributos yoperaciones para sus objetos, no

33para ellas mismas.

……..CLASES Y OBJETOS……..CLASES Y OBJETOS……..CLASES Y OBJETOS……..CLASES Y OBJETOS

34

Vehículo

l i l

Animal

Platero:Animal

PuntoPunto

Figura (1,3)Figura (1,3)

(2,2)

(2 1)

(5,2.5)

35

(2,1)

Una clase es una descripciónUna clase es una descripcióngeneralizada de un conjunto debj t i il T d l bj tobjetos similares.Todos los objetos

son ejemplares de una clase.j pTodos los objetos que existen dentrode una clase heredan sus atributos ylos métodos.los métodos.Un objeto es una instancia o variablede una clase. Un objeto se distinguede otros miembros de la clase por susde otros miembros de la clase por susatributos. 36

……..CLASES Y SUBCLASES……..CLASES Y SUBCLASES……..CLASES Y SUBCLASES……..CLASES Y SUBCLASES

U l d l i lUna clase de alto nivelpuede especializarse enp pclases de bajo nivel. Esdecir, un clase puede, ptener subclases.Existe de este modo unaExiste de este modo unajerarquía de clases ysubclasessubclases.

37

METÁFORAMETÁFORAMETÁFORAMETÁFORA

38

AGREGACION/COMPOSICIONAGREGACION/COMPOSICIONAGREGACION/COMPOSICIONAGREGACION/COMPOSICION

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

39

ASOCIACIONESASOCIACIONESASOCIACIONESASOCIACIONES

Permite abstraer relaciones entrePermite abstraer relaciones entreobjetos diferentes a lacomposición.

40

HERENCIAHERENCIAHERENCIAHERENCIA

Los objetos se organizan enLos objetos se organizan enjerarquías

VertebradoVertebrado

Mamifero ...

Canino Felino

Doméstico SalvajeDoméstico Salvaje41

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

SuperclaseVertebrado Superclase(Tipo)

Vertebrado

M if Subclase(Subtipo)

Mamifero(Subtipo)

42

La relación de subtipajeLa relación de subtipaje(herencia):

Si Y es subtipo de X entonces Si Y es subtipo de X entonces cualquier objeto de tipo Y puede

d l i t ser usado en cualquier parte donde un objeto de tipo X puede donde un objeto de tipo X puede

ser usado43

GENERALIZACIONGENERALIZACIONGENERALIZACIONGENERALIZACION

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

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

44código.

ESPECIALIZACION Y GENERALIZACIONESPECIALIZACION Y GENERALIZACIONESPECIALIZACION Y GENERALIZACIONESPECIALIZACION Y GENERALIZACION

Mientras la generalización se concentra en lasclases mayores del sistema y ayuda aclases mayores del sistema y ayuda aencontrar nuevas clases, la especialización seconcentra en crear clases más específicasconcentra en crear clases más específicas.

L i li ió h i l di ióLa especialización es herencia con la adicióno modificación de operaciones para resolverun problema específico.

45

GeneralizacionGeneralizacion

46especializacion

CLASIFICACIONCLASIFICACION

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

CLASIFICACIONCLASIFICACION

DOO. Implica descubrimiento e invención.

47

ABSTRACCIONES CLAVEABSTRACCIONES CLAVEEs una clase u objeto que forma parte del

vocabulario del dominio del problema

ABSTRACCIONES CLAVEABSTRACCIONES CLAVE

vocabulario del dominio del problema.

48

PROCESO DE DESARROLLOPROCESO DE DESARROLLOPROCESO DE DESARROLLOPROCESO DE DESARROLLO

Planificación Construcción Aplicación

Ciclo de Ciclo de . . .Ciclo de Ciclo de . . . desarrollo 1 desarrollo 2

Perfeccionarplan Análisis Diseño Construcción Pruebasp

De dos semanas a dos meses

49

TAREAS EN EL ANALISISTAREAS EN EL ANALISISTAREAS EN EL ANALISISTAREAS EN EL ANALISIS

Perfeccionarplan Análisis Diseño Construcción Pruebasplan

Definir los Definir los casos Crear diagramas Crear modelorequisitos esenciales de uso

gde casos de uso conceptual

Crear el Definir diag. Definir losglosario de secuencia contratos

50

TAREAS EN EL DISEÑOTAREAS EN EL DISEÑOTAREAS EN EL DISEÑOTAREAS EN EL DISEÑO

Perfeccionarplan Análisis Diseño Construcción Pruebasplan

Definir casos Definir reportes, Perfeccionar lareales de uso interfaz de usuario,

secuencia de pantallasarquitectura

Definir diag. Definir diagramas Definir esquemade interacción

Definir diagramasdiseño de clases base de datos

51

AOO: Es un método de analisis queqexamina los requisitos desde laperpectiva de las clases y objetos que seperpectiva de las clases y objetos que seencuentran en el vocabulario del dominiodel problemadel problema.DOO: Es un método de diseño que

óabarca el proceso de descomposición yuna notación para describir los modelosplógico y fisico.POO: Es un método de implementaciónPOO: Es un método de implementaciónen el que los programas se organizan

l i ti d52

como colecciones cooperativas deobjetos.

EJEMPLOEJEMPLO

Un cliente tiene la opción de que se cargue su cuenta

EJEMPLOEJEMPLO

p q gautomáticamente en el momento de la compra (combustible,mantenimiento, o estacionamiento) o de que se le envie

l t f t l E l i l li tmensualmente 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 sepersonal. 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 deg , pacuerdo con el costo de los insumos y de la labor realizada. Elestacionamiento se vende segun tarifas que pueden ser diarias,

l l L i d l b tibl i i dsemanales 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 suel 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 a

53otro. Un 2,5% de impuesto local sobre ventas se aplica a todas lasoperaciones

Recommended