Date post: | 09-Apr-2018 |
Category: |
Documents |
Upload: | edson-arturo-quispe-sanchez |
View: | 220 times |
Download: | 0 times |
of 52
8/8/2019 ClaseAYD_05
1/52
ANALISIS Y DISEO DESISTEMAS
SESION 05
UNIVERSIDAD NACIONAL DE INGENIERIAFacultad de Ingeniera Industrial y de SistemasIng. Jess Walter Antaurco Trujillo
8/8/2019 ClaseAYD_05
2/52
Modelado de objetosAspectos a considerar:
Paradigma Orientado a Objetos
Fundamentos de modelado Orientado aObjetos
Caracteristicas de los Objetos
2
8/8/2019 ClaseAYD_05
3/52
Paradigma Orientado a Objetos
3
8/8/2019 ClaseAYD_05
4/52
Objetos
Qu es orientacin a objetos?
Es una forma de pensar en la solucin de problemas
Una forma de modelar una solucin a un problema,respetando los procesos naturales del pensamientohumano.
Modelar el Dominio del Problema como una coleccin de
Objetos (entidades) interactuando entre si, cada uno de loscuales provee un definido conjunto de conductas(servicios). (ANALISIS)
Estructurar el Dominio del problema en un contexto dearquitectura de sistema (DISEO).
4
8/8/2019 ClaseAYD_05
5/52
Por qu la Orientacin a Objetos?
Proximidad de los conceptos de modeladorespecto de las entidades del mundo real
Mejora la captura y validacin de requisitos
Acerca el espacio del problema y el espacio dela solucin
Modelado integrado de propiedades estticas ydinmicas del mbito del problema
Facilita construccin, mantenimiento y reutilizacin
5
8/8/2019 ClaseAYD_05
6/52
Conceptos comunes de modelado durante elanlisis, diseo e implementacin
Facilita la transicin entre distintas fases
Favorece el desarrollo iterativo del sistema
Disipa la barrera entre el qu y el cmo
Por qu la Orientacin a Objetos?
6
8/8/2019 ClaseAYD_05
7/52
Reflexiones respecto de la situacin de
desarrollo de sistemas de informacin
Anlisis Diseo
EnfoqueEstructurado
Enfoque OO
Diagramas de Casos de Uso
Diagramas de Actividad
Diagramas de Secuencia
Diagramas de Colaboracin
DFDs
Diagrama de Clases
Diagrama de Estados
Diagramas de Actividad
DEs
ModeloRelacional !!
Implementacin
Entornos deProgramacin
Visual
Bases de Datos(Objeto-)
Relacionales
ModeloRelacional
E-R
7
8/8/2019 ClaseAYD_05
8/52
Fundamentos de Modelado OO
8
8/8/2019 ClaseAYD_05
9/52
Qu es un objeto? Representa un tem, unidad o entidad, real o abstracta,
individual e identificable con un definido rol en el Dominio
del Problema. (Booch Grady, 1993) Es un concepto, abstraccin o cosa con un significado ylmites definidos para el problema a manejar. (RambaughJames, 1991)
Abstraccin de algo en el dominio del problema, querefleja la capacidad del Sistema para mantener
informacin e interactuar sobre ese dominio. Es una
encapsulacin de valores determinados de atributos y
servicios exclusivos. Coad Peter and Yourdon Edward,
1991 9
8/8/2019 ClaseAYD_05
10/52
camion
ProcesoQuimico
Listas, Arboles, etc
Qu es un objeto? Informalmente, un objeto representa
una entidad, fsica, conceptual oprograma: Entidad fsica
Entidad conceptual
Entidad programa
10
8/8/2019 ClaseAYD_05
11/52
Modelado de objetos
El Modelado de Objetos permite representarel ciclo de vida de los objetos a travs de sus
interacciones En UML, un objeto se representa por un
rectngulo con un nombre subrayado
OtroObjeto
Un Objeto
OtroObjetoms
11
8/8/2019 ClaseAYD_05
12/52
Objetos Ejemplo de ordenes de compra:
Orden
Item
Despacho via
Orden
Item
Despacho via 12
8/8/2019 ClaseAYD_05
13/52
Objetos Diagrama de clases del Ejemplo de
ordenes de compra:
Vendedor Producto
Venta
Empresa
Cliente
Persona Camin
Vehculo
Tren
Vendedor Producto
Venta
Empresa
Cliente
Persona Camin
Vehculo
Tren
13
8/8/2019 ClaseAYD_05
14/52
Objetos Ejemplo de varios objetos relacionados:
Felipe
Juan
Cuenta Corriente 101
Cuenta Corriente 114
Banco de la Nacion
14
8/8/2019 ClaseAYD_05
15/52
Conceptos de los Objetos
Identidad Estado - Comportamiento
Persistencia Comunicacin Mensaje
Abstraccion Encapsulamiento Herencia- Polimorfismo
15
8/8/2019 ClaseAYD_05
16/52
Cada objeto posee un identificador de objeto.
El identificador establece la identidad del objeto y
tiene las siguientes caractersticas: Constituye un identificador nico y global para cada
objeto dentro del sistema.
Es determinado en el momento de la creacin del objeto
Es independiente de las propiedades del objeto, lo cualimplica independencia de valor y de estructura
Sin embargo, es preciso contar con algn mediopara hacer referencia a un objeto utilizando
referencias del dominio (valores de atributos)
Un Objeto tiene Identidad
16
8/8/2019 ClaseAYD_05
17/52
Profesor J Clark
ensea Algebra
Profesor J Clark
ensea Algebra
Profesor J Clark
ensea Algebra
Un Objeto tiene Identidad Cada objeto tiene una identidad nica, incluso
si su estado es idntico al de otro objeto
17
8/8/2019 ClaseAYD_05
18/52
Un Objeto Tiene Estado El estado evoluciona con el tiempo
Algunos atributos pueden ser constantes
El comportamiento agrupa las competenciasde un objeto y describe las acciones yreacciones de ese objeto
Las operaciones de un objeto sonconsecuencia de un estmulo externorepresentado como mensaje enviado desdeotro objeto
18
8/8/2019 ClaseAYD_05
19/52
Nombre : Joyce Clark
N Empleado : 567138
Fecha de Ingreso : 21 de marzo 1987Estado : Adjunto
Profesor Clark
a + b = 10
Un Objeto Tiene Estado El estado de un objeto es una de las
posibles condiciones en que el objeto
puede existir
19
8/8/2019 ClaseAYD_05
20/52
Curso Algebra 101
Asignacin del profesorClark
(Retorna:confirmacin)
Registro del
Sistema
a + b = 10
Un objeto tiene comportamiento El comportamiento de un objeto determina
cmo ste acta y reacciona frente a las
peticiones de otros objetos
20
8/8/2019 ClaseAYD_05
21/52
......Comportamiento Ejemplo de interaccin:
Otro objeto
Un objeto
Un mensaje
Operacion 1
Operacion 2
21
8/8/2019 ClaseAYD_05
22/52
Comportamiento Estado y comportamiento estn relacionados
Ejemplo: no es posible aterrizar un avin sino est volando. Est volando comoconsecuencia de haber despegado del suelo
22
8/8/2019 ClaseAYD_05
23/52
8/8/2019 ClaseAYD_05
24/52
Comunicacin Un sistema informtico puede verse como un
conjunto de objetos autnomos y concurrentesque trabajan de manera coordinada en laconsecucin de un fin especfico
El comportamiento global se basa pues en lacomunicacin entre los objetos que lacomponen
24
8/8/2019 ClaseAYD_05
25/52
Comunicacin Categoras de objetos:
Activos - Pasivos
Cliente Servidores, Agentes
Objeto Activo: posee un hilo de ejecucin(thread) propio y puede iniciar una actividad
Objeto Pasivo: no puede iniciar una actividadpero puede enviar estmulos una vez que se lesolicita un servicio
Cliente es el objeto que solicita un servicio.25
8/8/2019 ClaseAYD_05
26/52
ComunicacinServidor es el objeto que provee el servicio
solicitado
Agentes Los agentes renen las caractersticas de
clientes y servidores
Son la base del mecanismo de delegacin
Introducen indireccin: un cliente puedecomunicarse con un servidor que no conoce
directamente 26
8/8/2019 ClaseAYD_05
27/52
Comunicacin Ejemplo en el que un agente hace de
aislante:
Un agente
Un cliente
Sevidor 1
Servidor 2
27
8/8/2019 ClaseAYD_05
28/52
El Concepto de Mensaje La unidad de comunicacin entre objetos se
llama mensaje
El mensaje es el soporte de una comunicacinque vincula dinmicamente los objetos quefueron separados previamente en el proceso de
descomposicin Adquiere toda su fuerza cuando se asocia al
polimorfismo y al enlace dinmico
28
8/8/2019 ClaseAYD_05
29/52
El Concepto de Mensaje
Objeto 4Objeto 3
Objeto 2
Objeto 1
: Mensaje E
: Mensaje D
: Mensaje C
: Mensaje A
29
8/8/2019 ClaseAYD_05
30/52
Mensaje y Estmulo Un estmulo causar la invocacin de una
operacin, la creacin o destruccin de un
objeto o la aparicin de una seal
Un mensaje es la especificacin de un estmulo
Tipos de flujo de control:
Llamada a procedimiento o flujo de controlanidado
Retorno de una llamada a procedimiento
30
8/8/2019 ClaseAYD_05
31/52
Abstraccin
Es un proceso mental que utiliza mecanismos que permitenrepresentar una realidad compleja en trminos de unmodelo simplificado. (ignorando aquellos aspectos que noson relevantes al proposito).
31
8/8/2019 ClaseAYD_05
32/52
Encapsulamiento
Ocultar los detalles de implementacin uocultamiento de informacin
Encapsulacin ofrece dos tipos de proteccin.Protege:
El estado interno de un objeto, de ser corrompido porsus clientes
El cdigo del cliente, de cambios en la implementacindel objeto
Una forma para ver una clase es que consiste de dospartes: la interface y la implementacin
La interface puede ser vista y usada por otros objetos(Ej. Clientes)
La implementacin es oculta para los clientes
32
8/8/2019 ClaseAYD_05
33/52
Utiliza mecanismos que permiten a un objeto incorporartodo o parte de una definicin de otro objeto como partede su propia definicin.
Herencia
33
8/8/2019 ClaseAYD_05
34/52
Herencia mltiple
34
8/8/2019 ClaseAYD_05
35/52
Usa mecanismos que permiten diferentes operacionesen diferente tipos de objetos que tienen el mismo
nombre.
Polimorfismo
dormir
?
?
Animal
dormir()
Len Oso Tigre
35
8/8/2019 ClaseAYD_05
36/52
....Polimorfismo
36
8/8/2019 ClaseAYD_05
37/52
Qu son las Clases? Hay muchos objetos identificados para cada dominio
Una clase es una descripcin de un grupo de objetos conpropiedades en comn (atributos), comportamientosimilar (operaciones), la misma manera de relacionarseentre objetos (asociaciones y agregados) y unasemntica en comn
Un objeto es una instancia de una clase
Una clase es una abstraccin en que: Se enfatizan las caractersticas relevantes
Se suprimen otras caractersticas
La abstraccin nos ayuda a trabajar con cosas complejas
37
8/8/2019 ClaseAYD_05
38/52
Ejemplo de una Clase
a + b = 10
ClaseCurso
Estructura
NombreUbicacinDas ofrecidosHoras CrditosHorario de inicio
Horario de trmino
Comportamiento
Agregar un alumnoBorrar un alumnoDar una lista del cursoDeterminar si est lleno
38
8/8/2019 ClaseAYD_05
39/52
Clases de Objetos Cuntas clases ve?
39
8/8/2019 ClaseAYD_05
40/52
Objetos
Clase
Profesor
Profesor Smith
Profesor Jones
Profesor Mellon
Relacin entre clases y objetos
Una clase es una definicin abstracta de un objeto Define la estructura y el comportamiento de cada objeto en la
clase
Sirve como modelo para la creacin de objetos Los objetos pueden ser agrupados en clases
40
8/8/2019 ClaseAYD_05
41/52
Algebra 101Historia ArteQumicaEspaol 101
Gua para encontrando clases Una clase debe capturar una y solo una abstraccin
clave
Mala abstraccin: La clase estudiante que conoce lainformacin del estudiante y los cursos del actualsemestre del estudiante
Buena abstraccin: Clases separadas paraestudiantes y cursos del estudiante
41
8/8/2019 ClaseAYD_05
42/52
Nombre de clases El nombre de la clase debe ser el
sustantivo singular que mejor caracterice laabstraccin
La dificultad al nombrar la clase revela unapobre definicin de la abstraccin
Los nombres deben provenir directamentedel vocabulario del dominio
42
8/8/2019 ClaseAYD_05
43/52
Gua para nombrar clases
Una gua de estilo debe dictar convenciones para elnombramiento de clases
Ejemplo de gua de estilo Las clases son nombradas usando sustantivos singulares
Los nombres de las clases comienzan con letramayscula
No se usa el subrayado Los nombres compuestos por mltiples palabras se ponen juntos
y la primera letra de cada palabra se escribe con mayscula
Ejemplo: Estudiante, Profesor, SistemaDePago
43
8/8/2019 ClaseAYD_05
44/52
Fijarse en los QUE e ignorar los COMO
Semntica de las Clases Despus de nombrar las clases, debe hacerse
un informe descriptivo y conciso Concentrarse en el propsito de la clase, no en su
implementacin
El nombre y la descripcin de la clase sirvencomo base para elaborar el diccionario de
datos
44
8/8/2019 ClaseAYD_05
45/52
Mientras ms se descubre del problema, se refina ladefinicin de la clase y se actualizan el diccionario
Descripcin semntica Nombre: InformacinDelEstudiante
Definicin de Trabajo: Informacin de una persona
registrada para asistir a clases en la universidad Nombre: Curso
Definicin de Trabajo: Una clase ofrecida por launiversidad
45
8/8/2019 ClaseAYD_05
46/52
Profesor
Profesor Clark
a + b = 10
Representacin de clases Una clase es representada usando un
compartimiento rectangular
46
8/8/2019 ClaseAYD_05
47/52
Compartimientos en una clase Una clase est compuesta de tres secciones
La primera seccin contiene el nombre de la clase
La segunda seccin muestra la estructura (atributos)
La tercera seccin muestra el comportamiento(operaciones)
La segunda y la tercera seccin pueden sersuprimidas si se necesita que no se vean en el
diagrama
Persona
Alumno
-
-
codigo
nombre
: int
: int
+
+
+
+
crear ()
grabar ()
borrar ()
cambiar ()
: int
: int
: int
: int
Profesor
-
-
codigo
nombre
: int
: int
Curso
+
+
+
+
crear ()
grabar ()
borrar ()
cambiar ()
: int
: int
: int
: int
Escuela
47
8/8/2019 ClaseAYD_05
48/52
Estereotipos Un estereotipo es un nuevo tipo de elemento de
modelado que extiende la semntica del metamodelo Deben estar basados en tipos o clases existentes en el
metamodelo
Estereotipos comunes Clase Interfaz
Clase Entidad
Clase Control
Los estereotipos son mostrados en el compartimientodel nombre de la clase encerrados entre >
48
8/8/2019 ClaseAYD_05
49/52
Clase Interfaz Una clase interfaz modela la
comunicacin entre el entorno delsistema y su funcionamiento interno
Clases interfaz tpicas Windows (interfase del usuario)
Protocolo de comunicacin (interfase delsistema)
Interfase de la impresora Sensores
En el escenario del Registro de Cursos,un FormularioPrograma es creado para
aceptar la informacin del usuario
r r r
49
8/8/2019 ClaseAYD_05
50/52
Clase Entidad Una clase entidad modela informacin y asocia
comportamientos que generalmente son delarga duracin (persistentes) P
uede reflejar un fenmeno de la vida real Tambin puede ser necesitada por la tarea interna
del sistema
Los valores de estos atributos normalmente sonentregados por un actor
El comportamiento es independiente del entorno
Las clases entidades en el caso de usoRegistro de Cursos:
Curso
Programa
Catlogo
ListaCurso
Li t Cu
C t l g
P g
Cu
50
8/8/2019 ClaseAYD_05
51/52
Clase Control Una clase control modela el comportamiento especifico
de uno o ms casos de usos
La clase control Crea, inicializa y borra objetos controlados Controla la secuencia o coordina la ejecucin de los objetos
controlados
Controla asuntos concurrentes para las clases controladas
Es usualmente la implementacin de un objeto intangible
En el escenario del Registro de Cursos, la claseCoordinadorDeMatricula controla los procesos de registrodel curso
CoordinadorDeMatricula
51
8/8/2019 ClaseAYD_05
52/52
FIN Sesin 5
Analisis y Diseo de Sistemas
UNIVERSIDAD NACIONAL DE INGENIERIAFacultad de Ingeniera Industrial y de SistemasIng. Jess Walter Antaurco Trujillo
Wantaurco@yahoo com 52