Análisis y Diseño de Sistemas de Información...
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