+ All Categories
Home > Documents > ClaseAYD_05

ClaseAYD_05

Date post: 09-Apr-2018
Category:
Upload: edson-arturo-quispe-sanchez
View: 220 times
Download: 0 times
Share this document with a friend

of 52

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

    [email protected]

  • 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