Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas 1er.Cuatrimestre de 2013

Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013. Vist

1 downloads 86 Views 1MB Size

Story Transcript

Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013.

Vistas de un Sistema- Repaso

ANÁLISIS Y DISEÑO DE SISTEMAS

• Un modelo es la representación abstracta de un problema. • Los modelos de IS representan distintas vistas de un mismo problema: – Vista del usuario: representa un sistema (producto) desde la vista del usuario (actor).

Clase VII: Modelado Estructural I

– Vista estructural: modela la estructura estática (clases, objetos y relaciones). – Vista del comportamiento: representa los aspectos dinámicos o de comportamiento del sistema. Muestra las interacciones entre los elementos estructurales. – Vista de implementación: representa cómo se implementa el sistema. – Otras

Primer Cuatrimestre 2013

Mg. María Mercedes Vitturini [[email protected]] Dpto. Cs. e Ing. de la Computación Universidad Nacional del Sur

2

AyDS2013 - Clase 7- MMV

La vista estructural

Modelos de Datos

Ejemplo – Venta Electrónica de Material Bibliográfico • La funcionalidad será de uso público, pero se requiere que los clientes se previamente se registren. • Al registrar a un nuevo usuario se le solicitará nombre y apellido, dirección de correo electrónico, la que servirá como identificación del usuario, fecha de nacimiento, sexo y opcionalmente un teléfono de contacto. Además se requerirá que ingrese y confirme una clave a elección y copie el texto variable que se muestra en pantalla. • Al confirmar la registración, el sistema controlará si el usuario existe, en cuyo caso notificará la situación. • También se dará la opción de solicitar recuperar la contraseña para los casos de olvido. Identificar que corresponde a la vista de datos en este enunciado AyDS2013 - Clase 7- MMV

Clasificación según el nivel de abstracción Modelos Conceptuales: de mayor abstracción. Se usan en la etapa de Análisis y están orientados a representar los elementos del problema y sus relaciones. • Modelos Lógicos: de abstracción intermedia. Manejan estructuras simples que se usan a nivel de desarrollo. • Modelos Físicos: de menor abstracción. Son estructuras de datos a bajo nivel usadas en la implementación

+•

-

3

Modelo de Datos Conceptual

AyDS2013 - Clase 7- MMV

Métodos y Técnicas para MDC

Características • Está orientado a la descripción de las organización de los datos y restricciones de integridad. • Se usa en la etapa de análisis del problema. • Busca representaciones abstractas para los elementos del mundo real que intervienen en el problema. • Se abstrae de consideraciones y limitaciones de implementación.

MDC tradicionales: • Existen distintas opciones en modelos de datos

5

AyDS2013 - Clase 7- MMV

AyDS2013 - Clase 7- MMV

4

– En análisis orientados a objetos: diagramas de clases y sus variantes. – En área de bases de datos: diagramas entidad relación.

• Los MDC, según el caso, en general se usan como medio de comunicación con expertos del dominio. • Pueden resultar complejos para usuarios y clientes que no están adiestrados en el uso de abstracciones. 6

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.

1

Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013.

MDC Orientados a Objetos • El modelado datos conceptual de las metodologías Orientadas a Objetos muestra la estructura estática de los objetos y sus relaciones. Incluye:

El Diagrama de Clases

– El diagrama de Conceptos de Negocio. 

Herramienta de UML que sirve para modelar la Vista Estructural OO

– El diagrama de Clases, como un esquema o molde para describir todas las instancias posibles de los datos. – El diagrama de Instancias o Diagrama de Objetos. Describe un conjunto particular de objetos que se relacionan según lo especifica el diagrama de clases. • Un diagrama de clases se corresponde con infinitos conjuntos de diagramas de instancias. 7

AyDS2013 - Clase 7- MMV

Diagrama de Clases (DC)

Ejemplo #1

• Modela la vista estática del sistema, no modela comportamiento en el tiempo. • El DC describe el caso general. • Provee una notación gráfica que permite representar las clases y sus relaciones. • En un diagrama de clase se pueden reunir: 



Únicamente conceptos del dominio,



así como aquellos que forman parte del diseño o implementación.



Modelos de dominio. Modelos de diseño.

9

Socio Película Número Apellido Nombres Domicilio Estado

ANALISIS

DISEÑO

* darNúmero () darApellido y Nombres ()

Película

aTérmino () darTipo ()

*

Número Título Genero Duración Estado darNúmero () darEstado ()

10

AyDS2013 - Clase 7- MMV

Diagrama de Objetos (DO)

Socio

Alq_número Alq_Fecha Alq_FechaDevol Alq_Tipo

*

Diagrama de Clases del Dominio (vista parcial)

Ejemplo #2

Alquiler

alquila

darNúmero () darApellido y Nombres ()

AyDS2013 - Clase 7- MMV

Número Apellido Nombres Domicilio Estado

*

Número Título Genero Duración Estado darNúmero () darEstado ()

• El diagrama de objetos o diagrama de instancias muestra objetos individuales y sus relaciones. • Se puede usar para: – Discutir con los usuarios. – Plantear casos de prueba.

• Un diagrama de clases se corresponde con infinitos diagramas de objetos.

Diagrama de Clases del Dominio Refinado (vista parcial) 11

AyDS2013 - Clase 7- MMV

12

AyDS2013 - Clase 7- MMV

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.

2

Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013.

Diagrama de Objetos

Objetos y Clases Objeto – Es un concepto, abstracción, o cosa con identidad y significado para el contexto de la aplicación. Clase – Reúne a un grupo de objetos con iguales: – – – –

Objetos Diagrama de Objetos o Diagrama de Instancias 13

AyDS2013 - Clase 7- MMV

14

Representación Gráfica nombre

Clase

Objetos

Persona Mario: Persona

nombre: string,

atributos

darNombre ()

Mario, (“24 /10/1985”): Persona

darEdad () : Persona

• Una clase del diagrama puede representar: – Un concepto del mundo real (modelo del conceptual) – Un concepto de implementación (modelo de diseño).

• El nombre de la clase debe identificar claramente a los objetos que representa. • Las clases conceptuales se nombran con un sustantivo extraído del vocabulario del dominio de la aplicación. • Los objetos se agrupan en clases, para abstraer un problema. En la abstracción radica el poder del modelado.

operaciones

15

AyDS2013 - Clase 7- MMV

16

Atributos y Valores • Un atributo es una propiedad de la clase que tiene un nombre y que describe el valor que mantiene cada objeto dicha clase. • El nombre de atributo es único en la clase. • El valor que puede tomar un atributo está definido por el dominio del atributo. • Un atributo debe ser un valor de dato no un objeto. • Los atributos pueden ir acompañado de más detalles como tipo, valor por defecto, etc. Persona nombre: string, edad: integer AyDS2013 - Clase 7- MMV

17

AyDS2013 - Clase 7- MMV

Clases

Mario: Persona

fecha_nac: date()

propiedades (atributos), comportamiento común (operaciones), tipos de relaciones con otros objetos comunes, y semántica común.

Clase con atributos

Mario:Persona nombre= Mario

AyDS2013 - Clase 7- MMV

Operaciones Operación: es una función o transformación que se puede aplicar a, o por objetos de una clase. • El comportamiento de la operación depende de la clase de su destino. • La misma operación se puede aplicar a varias clases. Una operación se dice polimórfica si se implementa de diferentes maneras en distintas clases. • En UML las operaciones se listan en la tercer parte de la caja.

edad= 22 Objeto con valores

18

AyDS2013 - Clase 7- MMV

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.

3

Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013.

Operaciones - Ejemplos

Métodos Método – es la implementación de una operación en una clase.

Ventana

abrir() cerrar() mover() dibujar() manejarEvento()

Transacción

PelículaVideo

commit() rollback() tuvoExito()

reproducir() iniciar() parar() rebobinar()

19

• Si la misma operación tiene distintos métodos en diferentes clases, debe tener la misma signatura, esto es, número y tipo de argumentos y tipo de resultado. • Cada operación puede ir acompañada de detalles adicionales como tipo de los argumentos y tipo del resultado.

AyDS2013 - Clase 7- MMV

20

Representación de clases Resumen de la Notación Gráfica para Clases:

Asociaciones y Links Asociaciones y Links: son formas de establecer relaciones o vínculos. – Las asociaciones establecen relaciones entre clases. – Los links establecen relaciones entre objetos.

Nombre de la Clase nombre_atributo_1: tipo_de_dato = valor_por_defecto ... nombre_oper_1: (lista_argumentos) : tipo_resultado ...

21

AyDS2013 - Clase 7- MMV

• Una asociación describe un conjunto de links potenciales, de la misma manera que una clase describe un conjunto de objetos potenciales. • Generalmente aparecen como verbos en el enunciado de un problema. 22

Asociaciones

AyDS2013 - Clase 7- MMV

Links

Asociación: describe un grupo de links con estructura común y semántica común. • Las asociaciones son inherentemente bidireccionales (forward o inversa). • La asociación puede tener nombre, que en general se lee en una dirección. • No necesariamente se implementan ambas. • Ejemplo – trabaja en (emplea a) 23

AyDS2013 - Clase 7- MMV

AyDS2013 - Clase 7- MMV

Link: formalmente un link es una conexión conceptual o física entre instancias de objetos.

• Un link es una instancia de una asociación. • Matemáticamente es una “tupla” o lista ordenada de instancias de objetos.

24

AyDS2013 - Clase 7- MMV

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.

4

Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013.

Multiplicidad de asociación

Multiplicidad

• Multiplicidad: determina cuántas instancias de una clase se relacionan con una instancia de otra clase. • Ejemplos:

Empleado

– 3–5 – 2, 4, 6 – Muchos

1-2

• Generalmente las asociaciones son a “1” o a muchos. • En UML la multiplicidad se especifica como un intervalo a los extremos de la asociación:

– “1..*” indica 1 a muchos,

Cargos

– “3..5”, entre 3 y 5, “ – “*” en forma reducida indica 0 ó muchas. – Si no se especifica, se por convención se considera exactamente uno.

– Uno

25

AyDS2013 - Clase 7- MMV

26

Notación UML

Multiplicidad

AyDS2013 - Clase 7- MMV

0 ..*

• Una instancia de A se asocia con “ cero o varias” instancias de B. • Una instancia de A se asocia con “1 o ninguna” instancias de B. • Una instancia de A se asocia con exactamente “1” instancias de B. AyDS2013 - Clase 7- MMV

27

28

Ejercicios

IMPORTANTE

• Establecer la multiplicidad para las siguientes asociaciones. – Es capital entre CIUDAD y PROVINCIA. – Pertenece entre CIUDAD y PROVINCIA. – Cursa entre MATERIA y ALUMNO. – Escrito por entre AUTOR y LIBRO. – Reserva entre ESPECTADOR y TICKET. – Padre entre PERSONA Y PERSONA. – Alquilado_por entre AUTO Y CLIENTE 29

AyDS2013 - Clase 7- MMV

AyDS2013 - Clase 7- MMV

• En el modelado conceptual, NO deben usarse punteros u otra clase de referencia de objetos dentro de las clases como atributos. En cambio debe modelarse como asociación, para indicar que la información que contiene no está subordinada a ninguna clase.

30

AyDS2013 - Clase 7- MMV

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.

5

Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013.

Asociaciones con Atributos

Asociaciones vs Clases

• Una asociación puede tener unos o más atributo/s de asociación que la describen o aportan datos relacionados con la asociación. • Se representa como una caja, enlazada a la asociación por una línea punteada, y se dice que representan una clase de asociación.

• No confundir clases con atributos de asociación. Una clase, tiene identidad propia.

0..*

posee

Cursado

Materia

0..*

Cliente

Nro_Acta Año 0..* Cuatrimestre Resultado

Alumno

0..*

Cuenta Solicitud

0..*

Fecha 31

AyDS2013 - Clase 7- MMV

32

Roles

Examen nota fecha AyDS2013 - Clase 7- MMV

Roles - Ejemplo

• La asociación además de la multiplicidad en los extremos puede tener el rol. • Una asociación binaria tiene dos roles, cada uno de los cuales tiene un nombre. • Un nombre de rol es un nombre que unívocamente identifica un extremo de la asociación. • Es necesario definir roles para asociaciones entre objetos de la misma clase.

33

AyDS2013 - Clase 7- MMV

34

Calificador

Calificador

• Una asociación calificada es una asociación en la cual un atributo llamado el calificador quita ambigüedad a una asociación que en su extremo era “a muchos”. • El calificador es un atributo especial que reduce la multiplicidad de una asociación. • Se pueden calificar las asociaciones 1-m o m-m. 0..1

Archivo

35

1

Nombre archivo

AyDS2013 - Clase 7- MMV

• El calificador distingue entre el conjunto de objetos del lado muchos de la asociación. • La calificación sirve para: – Mejorar la exactitud de la semántica. – Aumentar la visibilidad de los caminos de navegación.

• La calificación se incluye en modelos de clases más refinados.

Directorio

AyDS2013 - Clase 7- MMV

36

AyDS2013 - Clase 7- MMV

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.

6

Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013.

Asociaciones N-Arias • Generalmente las asociaciones entre clases son binarias. • Ocasionalmente, se necesita de asociaciones n-arias. • Casi siempre se puede encontrar la representación de una asociación n-aria a través de varias relaciones binarias. • A nivel conceptual es más claro en ciertos casos modelar como asociación n-aria.

Ejemplo – Asociación N-Aria Persona

* Lenguaje_de_Programación

*

* Proyecto

Persona

*

Representación de relación n-aria

Recurso_Proyecto * * Proyecto

37

AyDS2013 - Clase 7- MMV

39

AyDS2013 - Clase 7- MMV

AyDS2013 - Clase 7- MMV

Generalización Discriminador: es un atributo de tipo enumerado que indica la propiedad del objeto que se abstrae en una relación de generalización.

Empleado

Discriminador

Tipo de empleado

Docente

40

Generalización

No_Docente

AyDS2013 - Clase 7- MMV

Generalización y herencia

• Conceptos relacionados con el uso de generalización en la etapa de modelado:

• Las generalización es una construcción útil tanto para el modelado como para la implementación:

– Clases abstractas y concretas. – Generalización como extensión. – Generalización como restricción. – Sobre-escritura de operaciones. – Herencia múltiple.

41

Resolución con relaciones binarias

38

Generalización - Especialización • Es la asociación entre una clase y una o más versiones refinadas de ella. • La clase que se refina es la superclase y la refinada es la subclase. • La generalización-especialización es un tipo de asociación transitiva y antisimétrica. • Los atributos y operaciones comunes a las subclases son asociados a la superclase y compartidos por las subclases. • Es una relación “es un”, ya que cada instancia de la subclase es una instancia de la superclase.

Lenguaje_de_Programación

– Estructura las clases, agrupando similitudes y diferencias. – La herencia de operaciones es útil durante la implementación como un medio para reutilizar código.

AyDS2013 - Clase 7- MMV

42

AyDS2013 - Clase 7- MMV

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.

7

Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013.

Clases Abstractas

Clases Abstractas

• No contiene instancias directas. • Sus descendientes tienen instancias directas. • Una clase concreta es una clase con instancias.

¿Abstracta o concreta?

• Organizan rasgos comunes de varias clases. • ¿Cómo surgen las clases abstractas? – Para agrupar clases que participan de una misma asociación o agregación. – Representan clases que naturalmente aparecen en el dominio de aplicación. – Se crean artificialmente para promover la reutilización de código

Trabajador

Panadero

• Tip! No usar conceptos relacionados con la implementación en la etapa de modelado del dominio.

Confitero

43

AyDS2013 - Clase 7- MMV

44

Agregación

Agregación – Ejemplo

• Es un tipo distinguido de asociación. • Es un tipo de relación fuerte: parte de, en la cual los objetos que representan componentes de algo son asociados con un objeto que representa al objeto ensamblador. • La agregación es transitiva y antisimétrica. • El agregado es un objeto semánticamente extendido que en ciertas operaciones es tratado como una unidad. • Notación: 45

AyDS2013 - Clase 7- MMV

Ejemplo: Agregación – Asociación Empresa

* Departamento

AyDS2013 - Clase 7- MMV

*

Auto

5

Motor

Documento

46

Chasis

*

Párrafo

Rueda

*

Oración

AyDS2013 - Clase 7- MMV

Agregación vs Generalización • Agregación: – Es una relación “parte de”. – Los objetos que representan componentes de algo son asociados con un objeto que representa al objeto “ensamblado”.

Sección

• Generalización:

*

– Es la relación entre una clase y una o más versiones refinadas de ella. – La clase que refina es la superclase y la refinada es la subclase.

Proveedor

47

AyDS2013 - Clase 7- MMV

48

AyDS2013 - Clase 7- MMV

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.

8

Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013.

Generalización – Ejemplo

Agregación – Ejemplo Auto

Auto

Nro_Patente Color Año_Fabricación

Nro_Patente Color Año_Fabricación

5

1

1

Chasis

Motor

Rueda

Nro_Chasis

Nro_Motor Cilindradas

Marca Rodado Estado

49

AyDS2013 - Clase 7- MMV

Utilitario

Camión

Camioneta

Nro_Asientos

Altura Tipo_Transporte

Peso_Máximo Fecha_Verificación Estado

50

Agregación vs. Generalización

AyDS2013 - Clase 7- MMV

Agregación – Generalización

• Ambas relaciones se representan con una estructura de árbol con clausura transitiva y relación antisimética. • Sin embargo, – El árbol de agregación está compuesto por instancias de objetos, partes de un objeto compuesto. – El árbol de generalización está compuesto por clases que describen a un objeto.

51

AyDS2013 - Clase 7- MMV

52

Clases de Enumerados

Agregación vs. Generalización Agregación

53

Generalización

Relaciona instancias

Relaciona clases

“parte de”

“clase de”.

Relación “and”

Relación “or”

La superclase y la subclase se refieren a las propiedades de un objeto.

AyDS2013 - Clase 7- MMV

AyDS2013 - Clase 7- MMV

• Un tipo enumerado es un tipo de datos que tiene un conjunto finito de valores. • No confundir con generalización. • Las clases enumeradas se marcan con el estereotipo • Ejemplo: – Sería incorrecto generalizar la clase Carta en CartaEspada, CartaBasto, etc.

54

AyDS2013 - Clase 7- MMV

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.

9

Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2013.

Temas de la clase de hoy • Vista Estructural – Diagrama de Clases • Clases, atributos, operaciones • Relaciones, asociación, generalización. – Diagrama de Objetos

• Bibliografía – “Object Oriented Modeling and Design with UML” – James Rumbaugh. Capítulo 3. • Lecturas sugeridas. – “El Lenguaje Unificado de Modelado” – Booch, Jacobson, Rumbaugh. Capítulos 4 y 5. 55

AyDS2013 - Clase 7- MMV

Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.

10

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.