Modelado Estático Diagramas de Clases y Objetos

Documentos relacionados
Introducción al Modelado Conceptual

Introducción al Modelado Conceptual

Análisis y Negociación de Requisitos

Introducción a la orientación a objetos y a UML

12/08/2017. Diagrama de clases y objetos. Modelo de clases y objetos. Diagrama de clases y objetos. Diagrama de clases y objetos

Modelado Estructural F E B R E R O,

Unified modeling language

CLA. Diagramas de clases en Métrica V3

Sistemas de Información II Tema 4. El modelo entidad-relación (continuación)

Héctor Cuadra. Diseño de Sistemas de Información

Análisis y Diseño de Sistemas

Prof. Mariano Mancuso. Sistemas de información y control diagrama de clases

Modelado Conceptual: El Modelo E/R Extendido. Modelado Conceptual: El Modelo E/R Extendido 1

Análisis y Diseño de Sistemas Orientado a Objeto. Captura y Análisis de Requerimiento

Capítulo 16. Diagrama de Clases UML

Diagrama de Clases I: asociaciones

12/08/2017. Diagrama de secuencia. Diagrama de secuencia. Diagrama de secuencia. Diagrama de secuencia

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

Diagramas de clases de UML

Principios de la Tecnología de Objetos

Gestion y Modelación de Datos Diseño de BD - Modelo Entidad Relación

Modelo E-R Extendido. Ing. Edgar Ruano Bases de Datos I

Contenido. 1 Qué es un diagrama de clase? 2 Elementos de un diagrama de clase. 3 Clase, atributo, método y visibilidad. 4 Agregación y composición

CLASE 3: UML DIAGRAMAS CASOS DE USO. Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez

Diagrama de clases. Diagrama que contiene elementos clasificadores conectados por relaciones estáticas.

Modelo de Análisis. Programación Orientada a Objetos 2

Modelo del Dominio del Problema y Representación en UML. UNIDAD 6 Análisis y Diseño de Sistemas de Información

Modelado Conceptual: El Modelo E/R Extendido

Figura 3.9: Ejemplo de Casos de Uso. Se representa mediante un símbolo que personifica una persona, y va acompañado de un nombre significativo.

1. Preparar al estudiante para desarrollar aplicaciones de software utilizando un enfoque orientado a objetos.

INGENIERÍA WEB. Dr. Mario Rossainz López Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Otoño de 2017

Ingeniería de requerimientos de software: Análisis. Dpto. de Ingeniería de Sistemas y Computación Universidad de los Andes

Lenguaje de Modelamiento Unificado.

Modelado Estático Básico. Diseño de Software Avanzado Departamento de Informática

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Bases de datos 1. Teórico: Diseño Conceptual

BASES DE DATOS 1. Teórico: Diseño Conceptual

09/01/2008. Nombre de la clase. Atributos. Métodos/Operaciones

Ingeniería del Software Orientado a Objetos. Unidad 6: Vistas del UML

Sesión 1. Porque es útil usar UML Sesión 2. Casos de uso Modelo del Negocio Sesión 3. Diagramas de Casos de Uso Sesión 4. Diagrama de Actividad

INTRODUCCIÓN A LA NOTACIÓN UML Diagramas de clases

Diseño de base de datos: Modelo Entidad Relación (II)

Asignatura: Bases de datos Código: Año académico: Centro: Escuela Politécnica Superior Departamento: Lenguajes y Computación Área:

Enfoque de Desarrollo de software OO

Diagramas De Casos De Uso

Guía práctica de estudio 09: UML

Sistemas de Bases de Datos I MODELADO DE DATOS I. Sistema de Bases de Datos I

Ítems/Entidades/Objetos [sustantivos]: Objetos que existen en el mundo y que son

UML (Unified Modeling Language) Octubre de 2007

UML El Lenguaje Unificado de Modelado Grady Booch, Jim Rumbaugh e Ivar Jacobson

Documentación de Requisitos con Casos de Uso

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS.

diagramas de comportamiento con UML.

Diseño. Diseño. Interacción. Aspectos comunes en interacción. Diagramas de Interacción. Curso de Arquitecturas de Software

INGENIERIA DE SOFTWARE. Dr. Mario Rossainz López Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Primavera 2017

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema

Programa Educativo: PROGRAMA DE ESTUDIO Área de Formación : Horas teóricas: Horas prácticas: Total de Horas: Total de créditos:

Sistemas de Bases de Datos I Modelo Conceptual Modelo Entidad-Relación

Modelado Entidad-Relación

Interacción Persona - Ordenador

TRABAJO PRÁCTICO 7: OBJETOS

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

Sistemas de Bases de Datos I. Modelo Conceptual. Modelo Entidad-Relación

Diagrama de Clase. Tipos de diagramas

Gestión de Accidentes y Multas de Tráfico octubre 2014

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

Sistemas de Bases de Datos I. Modelo Conceptual. Modelo Entidad Relación

Tema 4e: Proceso Unificado: Análisis

UML. (Unified Modeling Language) Lenguage Unificado de Modelado

TIPOS DE DIAGRAMAS. Diagramas de estructura: mostrar la estructura estática del sistema que se está modelando

BASES DE DATOS II. Tema III:El problema del modelado conceptual. Profesores: Fernando Berzal Galiano Javier García Castellano Maria-Amparo Vila

DIAGRAMAS DE CLASES. Clases, asociaciones y atributos. Interfaces con sus operaciones y constantes. Información acerca del tipo de los atributos.

PROGRAMA ANALÍTICO DE ASIGNATURA

GUÍAS DE DISEÑO CON UML. Técnicas para creación de diagramas de software óptimos en UML

Modelado conceptual de aplicaciones web. Tecnologías web

Tema: Herramientas UML, Análisis y diseño UML

Introducción al Paradigma Orientado a Objetos

Procedimiento para construir el diagrama de clases

Ingeniería a de Software CC51A

TEMA 3.- MODELOS CONCEPTUALES DE DATOS.

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMERICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMERICA)

Para esta práctica usaremos los diagramas de casos de uso, diagramas de secuencia, y los diagramas de clase.

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

3.3. Extensiones del modelo

MOO - Metodología y Programación Orientada a Objetos

Horas Contacto. Objetivos Se pretende que el estudiante asimile los conceptos fundamentales de análisis y diseño orientado a objetos

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.

INSTITUTO TECNOLOGICO SUPERIOR DE LERDO. ALUMNO: JUAN ESQUIVEL VAQUERA. ENSAYO: Modelo entidad-relación. PROFESOR: RICARDO BUSTAMANTE.

División Académica de Informática y Sistemas

CIDE, SA. RIF: J NIT: MODELO FUNCIONAL

Programación Orientada a Objetos. Conceptos Básicos

UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso

Análisis y Diseño de Sistemas

Ingeniería de Software

Tema: Herramientas UML, Análisis y diseño UML

CLASE 5: DIAGRAMAS DE CLASES: MODELO CONCEPTUAL. Universidad Simón Bolívar. Ing. de Software. Prof. Ivette Martínez

Modelo Entidad Relación

Horas Contacto. Modelar gráficamente la solución de problemas con un enfoque Orientado a Objetos, usando un lenguaje de modelado, en este caso UML.

Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño

Transcripción:

//203 Modelado Estático Diagramas de Clases y Objetos Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 203 Objetivos de este tema Conocer los conceptos del modelado estático mediante diagramas de clases y objetos UML. Ser capaz de realizar un modelo estático de un sistema software a partir de una especificación de requisitos. noviembre 203 Ingeniería de Requisitos IR

//203 Modelo software Modelo estático (modelo conceptual) Describe la estructura y las restricciones de la información que representa el estado del sistema. Modelo de conducta Describe las interacciones del sistema con los Modelo = + actores y cómo evoluciona su estado al interactuar. Modelo estático = Estructura + Restricciones Modelo de conducta = Interacciones externas + Evolución interna noviembre 203 Ingeniería de Requisitos 2 Modelo estático software Estructura Describe la estructura de la información que representa el estado del sistema mediante Diagramas de clases UML Diagramas de objetos UML (escenarios) Restricciones Describen qué estados del sistema son válidos y cuáles no mediante Diagramas de clases UML (mutiplicidades) Restricciones asociadas a elementos de los diagramas de clases UML, que pueden expresarse en lenguaje natural o en OCL (Object Constraint Language). noviembre 203 Ingeniería de Requisitos 3 IR 2

//203 Trazabilidad hacia requisitos Todo elemento de un modelo estático debe estar trazado hacia aquellos requisitos que lo justifican, normalmente requisitos de información y reglas de negocio. class Ejemplo trazabilidad RI-00 - El sistema deberá almacenar la información correspondiente a los usuarios del sistema. En concreto: RF-004 - El sistema deberá enviar automáticamente un email a los usuarios cuando «trace» «trace» Usuario apellidos fechanacimiento email noviembre 203 Ingeniería de Requisitos 4 Trazabilidad hacia requisitos Todo elemento de un modelo estático debe estar trazado hacia aquellos requisitos que lo justifican, normalmente requisitos de información y reglas de negocio. noviembre 203 Ingeniería de Requisitos 5 IR 3

//203 Conceptos del modelado estático Clase entidad Atributo Asociación Rol Multiplicidad Clase asociación Objeto y enlace (instancias de clases y asociaciones) Generalización y especialización Composición y noviembre 203 Ingeniería de Requisitos 6 Representa un concepto relevante del dominio del problema sobre el que el sistema debe almacenar información porque así se ha especificado (o se deduce) en uno o más requisitos (trazas). Se nombran mediante un sustantivo en singular. class Ejemplos de clases Alumno fechanacimiento código Asignatura número fecha tienebeca Matrícula noviembre 203 Ingeniería de Requisitos 7 IR 4

//203 Atributo de una clase entidad Son propiedades asociadas a un concepto relevante del dominio del problema que el sistema debe almacenar porque así se ha especificado (o se deduce) en uno o más requisitos (trazas). Se nombran mediante un sustantivo en singular y sus valores deben ser simples (no estructuras de datos). Pueden ser opcionales ([0..]). class Ejemplos de clases Alumno fechanacimiento código Asignatura número fecha tienebeca Matrícula Normalmente las trazas se establecen a nivel de clase, aunque también puede hacerse a nivel de atributos. noviembre 203 Ingeniería de Requisitos 8 entidades Representa algún tipo de relación entre dos o más conceptos relevantes del dominio del problema que el sistema debe conocer porque así se ha especificado (o se deduce) en uno o más requisitos (trazas). Se nombran mediante un verbo en tercera persona del singular y las preposiciones que hagan falta, formando una frase con sentido al leerla con los roles. class Ejemplo asociación Asignatura código 0.. aparec een 0.. M atríc ula número fecha tienebeca noviembre 203 Ingeniería de Requisitos 9 IR 5

//203 Rol de un extremo de una asociación Papel que juega cada una de las clases que participan en una asociación. Por defecto, es su propio. Es necesario indicarlo en: Asociaciones de una clase consigo misma Cuando existe más de una asociación entre dos clases. class Ejemplos de roles padre 0..2 espadred e Persona Vuelo salida saled e origen Aeropuerto hijo 0.. llegada llegaa destino noviembre 203 Ingeniería de Requisitos 0 Multiplicidad de un extremo de una asociación Dado un objeto de una clase, indica los números mínimo y máximo de objetos de la otra clase con los que puede estar relacionado mediante de la asociación. class Ejemplos de roles espadred e class Ejemplo asociación Asignatura código 0.. aparec een 0.. M atríc ula número fecha tienebeca padre 0..2 Persona Vuelo salida saled e origen Aeropuerto hijo 0.. llegada llegaa destino noviembre 203 Ingeniería de Requisitos IR 6

//203 Multiplicidad de un extremo de una asociación Valores habituales de multiplicidades class Ejemplos de roles 0.. : opcional 0.. : múltiple opcional : equivalente a 0.. espadred e class Ejemplo asociación Asignatura código 0.... : obligatoria.. : múltiple obligatoria : equivalente a.. aparec een 0.. M atríc ula número fecha tienebeca padre 0..2 Persona Vuelo salida saled e origen Aeropuerto hijo 0.. llegada llegaa destino noviembre 203 Ingeniería de Requisitos 2 Restricciones en un extremo de un asociación {nonunique}: indica que se permiten duplicados {ordered}: indica que existe un orden Por defecto, se asume que no se permiten duplicados y que no existe un orden. sin duplicados con duplicados {nonunique} sin orden Conjunto (por defecto) Multiconjunto (bag) con orden {ordered} Conjunto ordenado Secuencia noviembre 203 Ingeniería de Requisitos 3 IR 7

//203 Restricciones entre asociaciones {xor}: indica que los objetos de la clase común a las asociaciones restringidas no pueden tener de más de una de dichas asociaciones. Ejemplo: un participante en un congreso no puede ser autor de una ponencia y a la vez miembro del comité de programa. Participante.. autor esmiembrode miembro {xor} esautorde 0.. 0.. {ordered} Comité de Programa Ponencia noviembre 203 Ingeniería de Requisitos 4 Clase asociación A veces es necesario añadir cierta información a las asociaciones, convirtiéndolas en clases. class Ejemplo clase asociación Empleado class Ejemplo clase asociación Empleado trabajaen trabajaen Proyec to presupuesto Proyec to presupuesto cuántas horas trabaja cada empleado en cada proyecto? Esf uerzo horas noviembre 203 Ingeniería de Requisitos 5 IR 8

//203 Clase asociación Ejemplo: las horas que trabaja un empleado en un proyecto no son una propiedad ni del empleado ni del proyecto, sino de la asociación entre ambos. f : Esfuerzo horas = 20 f3 : Esfuerzo horas = 7,5 e : Empleado trabajaen p : Proyecto trabajaen e2 : Empleado trabajaen f5 : Esfuerzo horas = 2 trabajaen f2 : Esfuerzo horas = 5 p2 : Proyecto trabajaen e3 : Empleado f4 : Esfuerzo horas = 25 noviembre 203 Ingeniería de Requisitos 6 Objeto Cada ocurrencia o instancia de una clase. Enlaces Cada ocurrencia o instancia de una asociación. class Equipos de fútbol Jugador 0.. Equipo noviembre 203 Ingeniería de Requisitos 7 IR 9

//203 Objeto Cada ocurrencia o instancia de una clase. Enlaces Cada ocurrencia o instancia de una asociación. object Equipos de fútbol j : Jugador j :Jugador = "Antoñito" j2 : Jugador j2 :Jugador = "Redondo" e2 : Equipo e :Equipo = "Xerez CD" e : Equipo e2 :Equipo = "Sevilla FC" j3 : Jugador j3 :Jugador = "Kanouté" j4 : Jugador j4 :Jugador = "Negredo" J6 : Jugador = "Luis Fabiano" j5 : Jugador j5 :Jugador = "Jesús Navas" noviembre 203 Ingeniería de Requisitos 8 Extensión de una clase Todas las instancias de dicha clase en el sistema. Extensión de la clase Jugador Extensión de la clase Equipo object Equipos de fútbol j : Jugador j :Jugador = "Antoñito" j2 : Jugador j2 :Jugador = "Redondo" e2 : Equipo e :Equipo = "Xerez CD" e : Equipo e2 :Equipo = "Sevilla FC" j3 : Jugador j3 :Jugador = "Kanouté" j4 : Jugador j4 :Jugador = "Negredo" J6 : Jugador = "Luis Fabiano" j5 : Jugador j5 :Jugador = "Jesús Navas" noviembre 203 Ingeniería de Requisitos 9 IR 0

//203 Composición Asociación especial que representa el concepto de ser-parte-de o estar-compuesto-por, en concreto: Una parte (componente) sólo puede pertenecer a un todo (compuesto). Una parte no puede existir sin pertenecer a un todo. La eliminación del todo implica la eliminación de todas sus partes. Es una relación transitiva y antisimétrica, que puede ser recursiva. class Ejemplo de composición Fac tura.. {ordered} L íneadefac tura noviembre 203 Ingeniería de Requisitos 20 Agregación Composición débil donde puede ocurrir que: Una parte (componente) puede pertenecer a más de un todo (agregado), por lo que su multiplicidad no está restringida a. Una parte puede existir sin pertenecer a un todo. La eliminación del todo no implica necesariamente la eliminación de todas sus partes. class Ejemplos de Polígono 3.. {ordered} Punto Grupo musical.. M úsic o noviembre 203 Ingeniería de Requisitos 2 IR

//203 /especialización A veces, algunos de los conceptos del dominio del problema presentan entre ellos relaciones del tipo es-un, por ejemplo: es-un vehículo es-un es-un camión automóvil motocicleta Estos conceptos suelen tener propiedades comunes, que al modelarlos conceptualmente aparecen como atributos o asociaciones comunes. noviembre 203 Ingeniería de Requisitos 22 /especialización class Ejemplo de generalización espropietariod e Autom óvil matrícula númerobastidor modelo plazas asegurado tieneseguro 0.. Persona propietario propietario 0.. espropietariod e Cam ión matrícula númerobastidor modelo tonelaje ejes asegurado tieneseguro 0.. 0.. propietario espropietariod e M otoc ic leta matrícula númerobastidor modelo cilindrada asegurado tieneseguro Seguro 0.. compañia númeropóliza tipo precio 0.. noviembre 203 Ingeniería de Requisitos 23 IR 2

Generalización Especialización Generalización Especialización //203 /especialización class Ejemplo de generalización Persona Seguro compañia númeropóliza tipo precio 0.. espropietariod e propietario 0.. tieneseguro Autom óvil plazas asegurado Vehíc ulo matrícula númerobastidor modelo M otoc ic leta cilindrada La clase más general (superclase), contiene todas las propiedades (atributos y asociaciones) comunes, que son heredados por las clases más específicas (las subclases). {completa, disjunta} tonelaje ejes Cam ión noviembre 203 Ingeniería de Requisitos 24 /especialización class Ejemplo de generalización Persona Seguro compañia númeropóliza tipo precio Todas las instancias de las subclases se consideran también instancias de la superclase. La generalización es una relación transitiva y antisimétrica. 0.. espropietariod e propietario 0.. tieneseguro Autom óvil plazas asegurado Vehíc ulo matrícula númerobastidor modelo M otoc ic leta cilindrada {completa, disjunta} tonelaje ejes Cam ión noviembre 203 Ingeniería de Requisitos 25 IR 3

//203 /especialización class Ejemplo de generalización Persona Seguro compañia númeropóliza tipo precio 0.. espropietariod e propietario 0.. tieneseguro Autom óvil plazas Vehíc ulo matrícula númerobastidor modelo M otoc ic leta cilindrada {completa, disjunta} implica una partición del conjunto de instancias de la superclase. asegurado {completa, disjunta} Vehículos tonelaje ejes Cam ión Clase abstracta El de las clases abstractas se muestra en cursiva. Automóviles Motocicletas Camiones noviembre 203 Ingeniería de Requisitos 26 /especialización class Ejemplo comunidad universitaria M iem brocu {completa, solapada} Alum no Em pleado {completa, disjunta} PAS PD I noviembre 203 Ingeniería de Requisitos 27 IR 4

//203 La barra (/) indica que algún atributo o asociación puede derivarse (calcularse) a partir de otros. Es necesario añadir las restricciones que indican cómo deben derivarse. { total de factura : total = suma de cantidad precio de todas las líneas de factura.} class Ejemplo de Factura número fechaemisión / total emitidaa Cliente / contienea { contenido de la factura : Los productos que contiene son los productos asociados a las líneas fe factura.} LíneaDeFactura.. cantidad {ordered} precio.. correspondea Producto noviembre 203 Ingeniería de Requisitos 28 Tipos enumerados Definen un tipo que puede ser usado en los atributos de las clases entidades. Los atributos son los posibles valores que pueden tomar los atributos del tipo enumerado. class Notación enumerados «enumerado» Sexo hombre mujer «enumerado» VíaPúblic a calle plaza avenida carretera «enumerado» Categoría infantil aventuras cienciaficción drama noviembre 203 Ingeniería de Requisitos 29 IR 5

//203 Creación de conceptuales Pasos recomendados:. Analizar la información sobre el dominio del problema (glosario) y los requisitos. 2. Identificar posibles entidades y atributos. 3. Identificar posibles asociaciones. 4. Construir incrementalmente el modelo conceptual e identificar las multiplicidades de las asociaciones. 5. Identificar clasificaciones entre entidades con propiedades (atributos y/o asociaciones) comunes. 6. Identificar composiciones entre entidades. 7. Añadir las restricciones que no puedan expresarse gráficamente. 8. Validar con posibles escenarios mediante diagramas de objetos. 9. Registrar todos aquellos problemas semánticos que deban ser aclarados con clientes y usuarios. noviembre 203 Ingeniería de Requisitos 30 Bibliografía C. Larman, UML y Patrones. Ed. Prentice-Hall, 999. Capítulos 9 al 2 C. Larman, UML y Patrones (2ª edición). Ed. Prentice-Hall, 2003. Capítulos 0 al 2 M. Fowler, UML Distilled (3 rd edition). Ed. Addison-Wesley, 2004. Capítulo 3 noviembre 203 Ingeniería de Requisitos 3 IR 6