Upload
others
View
21
Download
0
Embed Size (px)
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