1_2_5 Modelando clases Apoyo SSD3
El Proceso de Modelar Clases El diseño orientado a objetos es el proceso de construir un modelo de objetos para un sistema que será desarrollado. Un modelo de objetos especifica las clases, sus atributos y métodos y sus relaciones con otras clases.
Pasos para crear un modelo de objetos Identificar clases de objetos a partir de la especificación del sistema. Identificar relaciones entre clases. Identificar los atributos de cada clase. Identificar los métodos de cada clase. Modelar el sistema utilizando UML.
Identificando Clases Una manera sencilla de identificar las clases es analizar la descripción textual en la especificación del sistema. En este análisis textual, los sustantivos y las frases de sustantivos indican con frecuencia los objetos y sus clases
Pasos para identificar las clases utilizando el análisis del texto  Hacer una lista con los sustantivos de la especificación. Reducir la lista: Convertir los sustantivos en plural a su forma singular.. Eliminar los sustantivos que representen objetos. Reemplazar con sustantivos genéricos. Por ejemplo, utiliza "cliente" en vez de "John Smith." Eliminar los sustantivos vagos. Eliminar los sustantivos que son atributos de clases.
Pasos para identificar las clases utilizando el análisis del texto Agrupa los sinónimos y elige el mejor nombre para la clase a partir de este grupo. Por ejemplo, "usuario" y "cliente" son sinónimos.  Seleccionar las clases que son relevantes para el sistema.
Pasos para identificar las clases utilizando el análisis del texto Busca más clases relevantes: Cosas físicas. Roles jugados por personas u organizaciones.  Objetos que representan una ocurrencia o evento.  Objetos que representan una relación entre otros objetos del modelo. Por ejemplo, "compra" (relacionada con "comprador", "vendedor" y "mercancía")
Pasos para identificar las clases Busca más clases relevantes (cont.) Personas que desempeñan alguna función.  Lugares. Por ejemplo, "biblioteca", "salón de clases" y "banco". Colecciones de objetos, personas, recursos o facilidades. Por ejemplo, "catálogo" y "grupo". Conceptos o ideas que son intangibles. Por ejemplo, "dinero" y "cuenta de banco".
Identificando Relaciones Crear una tabla  n x n  donde  n  es el número de clases. Nombra las filas y columnas con los nombres de las clases Para identificar las relaciones de especialización/generalización, realiza las siguientes preguntas para cada celda de la fila  A  y la columna  B : ¿Es una instancia de la clase  A , una instancia de la clase  B ? ¿Es una instancia de la clase  B , una instancia de la clase  A ?
Identificando Relaciones Si la respuesta a las dos preguntas es  sí , entonces los nombres de clases pueden ser sinónimos. Si la respuesta a la primera pregunta es  sí , entonces la clase  A  es una especialización de la clase  B . Marca con una  S  la celda de la fila  A  y la columna  B . Si la respuesta a la segunda pregunta es  sí , entonces la clase  A  es una generalización de la clase  B . Marca con una  G  la celda de la fila  A  y la columna  B .
Identificando Relaciones Para identificar las relaciones de asociación, evalúa cada celda de la fila  A  y  B : Si no hay asociación entre la clase  A  y la clase  B , marca la celda con una  X . Si hay una o más asociaciones entre la clase  A  y la clase  B , entonces inserta los atributos de la asociación.
 
Identificando Atributos Los atributos son los datos que un objeto es responsable de conocer y administrar.  Los pasos para identificar los atributos de las clases son los siguientes: Buscar los adjetivos y las frases posesivas como  "X de Y"  en la especificación del sistema. Por ejemplo, "número de la cuenta" y "nombre del cliente". Utiliza tu conocimiento del dominio de la aplicación para definir el conjunto de atributos necesarios para que el sistema sea desarrollado.
Identificando Métodos Los métodos describen las acciones que un objeto es responsable de proveer. Los pasos para identificar los métodos de las clases son los siguientes: Para identificar comportamientos, busca verbos. Por ejemplo, el enunciado" el cliente deposita dinero en la cuenta“  Indica que la clase Cuenta debe definir un método depósito
Identificando Métodos Utiliza tu conocimiento del dominio de la aplicación para definir el conjunto de métodos necesarios para desarrollar el sistema. Busca en el dominio de la aplicación las acciones que: Creen e inicialicen nuevas instancias. Establezcan y obtengan los valores de los atributos. Carguen y guarden desde un almacenamiento persistente. Destruyan instancias. Realicen cálculos utilizando los valores de un objeto. Generen como salida o desplieguen un resultado.
Identificando Métodos Si el objeto tiene alguna colección, incluye los métodos necesarios para añadir, eliminar y acceder los elementos de estas colecciones.

Más contenido relacionado

PDF
Modelo relacional
PPTX
Implementación de clases
PDF
Uml clase 04_uml_clases
PDF
Diagrama de clases
PDF
6 Curso de POO en Java - clases y objetos
PPT
UML: CASOS DE USO
PDF
7 Curso de POO en java - diagrama de clases
PPTX
Diagrama UML de Clases
Modelo relacional
Implementación de clases
Uml clase 04_uml_clases
Diagrama de clases
6 Curso de POO en Java - clases y objetos
UML: CASOS DE USO
7 Curso de POO en java - diagrama de clases
Diagrama UML de Clases

La actualidad más candente (20)

PPTX
Analisis Y DiseñO Orientado A Objetos
PDF
PPTX
Diagrama de estado
PPTX
Presentacion Java
DOCX
Diccionario De Datos
PPTX
Diagramas de objetos
PPTX
UML - Analisis de Sistemas
PPTX
Encapsulamiento
PPTX
Asociaciones entre objetos-generalización especialización
 
PPT
Diagramas UML
ODP
Programación Orientada a Objetos para Python
PPTX
Metodología tradicional
PDF
Modelo basado en clases
PPT
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
PPTX
java (clases,herencias,encapsulamiento,.. )
PDF
Alfabetos-Lenguajes y Automatas 1
PDF
Lectura 3 Modelo De Analisis
PPTX
Modelo Conceptual UML
PPSX
Uml (presentación 6)
PPTX
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Analisis Y DiseñO Orientado A Objetos
Diagrama de estado
Presentacion Java
Diccionario De Datos
Diagramas de objetos
UML - Analisis de Sistemas
Encapsulamiento
Asociaciones entre objetos-generalización especialización
 
Diagramas UML
Programación Orientada a Objetos para Python
Metodología tradicional
Modelo basado en clases
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
java (clases,herencias,encapsulamiento,.. )
Alfabetos-Lenguajes y Automatas 1
Lectura 3 Modelo De Analisis
Modelo Conceptual UML
Uml (presentación 6)
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Publicidad

Similar a 1 2 5 Modelando Clases (20)

PPTX
Modelando clases y aplicando lo aprendido
 
PPT
Análisis y diseño oo con umldclases
PDF
Diagramas Analisis
PPT
Primeraclaseobjetos clases
PPT
Primeraclaseobjetos Clases
PPT
Primeraclaseobjetos Clases
PPTX
Diagrama de clases
DOCX
Portafolio ingenieria de software ii
PPT
Presentación Creación Diagrama de Clases.ppt
PDF
1 clases y_objetos (2)
PPT
PPT
12 Clase Analisis Orientado A Objetos
PPTX
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptx
PPTX
Uml orientada a objetos
PPT
Clases
DOC
1 clases y objetos
DOCX
2 clases y conceptos a fines
PPT
Tm04 modelo de clases
Modelando clases y aplicando lo aprendido
 
Análisis y diseño oo con umldclases
Diagramas Analisis
Primeraclaseobjetos clases
Primeraclaseobjetos Clases
Primeraclaseobjetos Clases
Diagrama de clases
Portafolio ingenieria de software ii
Presentación Creación Diagrama de Clases.ppt
1 clases y_objetos (2)
12 Clase Analisis Orientado A Objetos
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptx
Uml orientada a objetos
Clases
1 clases y objetos
2 clases y conceptos a fines
Tm04 modelo de clases
Publicidad

Más de UVM (20)

PPTX
Tiempo compartido en programación
 
PPTX
Portafolio de evidencias del curso Programación Avanzada
 
PPTX
Eficiencia en uso tiempo
 
PPTX
Administración de memoria arreglos dinamicos
 
PPTX
Practica de arreglos
 
PPTX
Otra introducción a apuntadores
 
PPTX
Ejemplo de solución de práctica funciones stl
 
PPTX
Breve repaso de apuntadores
 
PPTX
Arreglos conceptos básicos
 
PPTX
Resolución práctica de tipos de datos
 
PPTX
Resumen de funciones
 
PPTX
Biblioteca estándar de funciones
 
PPTX
Manejo de bits
 
PPTX
Aclaración de dudas 4 de septiembre
 
PPTX
Aclaraciones varias a códigos entregados en sesión 3
 
PPTX
Funciones definidas por el usuario
 
PPTX
Función main()
 
PPTX
Depuración de un programa en c++
 
PPTX
Algunas dudas de la sesión 28 agosto
 
PPTX
Estructura programa c++
 
Tiempo compartido en programación
 
Portafolio de evidencias del curso Programación Avanzada
 
Eficiencia en uso tiempo
 
Administración de memoria arreglos dinamicos
 
Practica de arreglos
 
Otra introducción a apuntadores
 
Ejemplo de solución de práctica funciones stl
 
Breve repaso de apuntadores
 
Arreglos conceptos básicos
 
Resolución práctica de tipos de datos
 
Resumen de funciones
 
Biblioteca estándar de funciones
 
Manejo de bits
 
Aclaración de dudas 4 de septiembre
 
Aclaraciones varias a códigos entregados en sesión 3
 
Funciones definidas por el usuario
 
Función main()
 
Depuración de un programa en c++
 
Algunas dudas de la sesión 28 agosto
 
Estructura programa c++
 

Último (20)

PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PDF
MANUAL de recursos humanos para ODOO.pdf
PDF
Teoría de estadística descriptiva y aplicaciones .pdf
PDF
Distribucion de frecuencia exel (1).pdf
PPT
Protocolos de seguridad y mecanismos encriptación
PPTX
la-historia-de-la-medicina Edna Silva.pptx
PDF
NREN - red nacional de investigacion y educacion en LATAM y Europa: Caracteri...
PPTX
Control de calidad en productos de frutas
DOCX
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
DOCX
Trabajo informatica joel torres 10-.....................
PDF
Final Tecno .pdfjdhdjsjdhsjshshhshshshhshhhhhhh
PPTX
ccna: redes de nat ipv4 stharlling cande
PPTX
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
PDF
Taller tecnológico Michelle lobo Velasquez
PDF
Estrategia de Apoyo de Daylin Castaño (5).pdf
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PPTX
Mecanismos-de-Propagacion de ondas electromagneticas
PPTX
Sistema de Gestión Integral TCA Ingenieros.pptx
Presentacion de Alba Curso Auditores Internos ISO 19011
MANUAL de recursos humanos para ODOO.pdf
Teoría de estadística descriptiva y aplicaciones .pdf
Distribucion de frecuencia exel (1).pdf
Protocolos de seguridad y mecanismos encriptación
la-historia-de-la-medicina Edna Silva.pptx
NREN - red nacional de investigacion y educacion en LATAM y Europa: Caracteri...
Control de calidad en productos de frutas
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
Trabajo informatica joel torres 10-.....................
Final Tecno .pdfjdhdjsjdhsjshshhshshshhshhhhhhh
ccna: redes de nat ipv4 stharlling cande
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
Taller tecnológico Michelle lobo Velasquez
Estrategia de Apoyo de Daylin Castaño (5).pdf
informe_fichas1y2_corregido.docx (2) (1).pdf
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
Mecanismos-de-Propagacion de ondas electromagneticas
Sistema de Gestión Integral TCA Ingenieros.pptx

1 2 5 Modelando Clases

  • 2. El Proceso de Modelar Clases El diseño orientado a objetos es el proceso de construir un modelo de objetos para un sistema que será desarrollado. Un modelo de objetos especifica las clases, sus atributos y métodos y sus relaciones con otras clases.
  • 3. Pasos para crear un modelo de objetos Identificar clases de objetos a partir de la especificación del sistema. Identificar relaciones entre clases. Identificar los atributos de cada clase. Identificar los métodos de cada clase. Modelar el sistema utilizando UML.
  • 4. Identificando Clases Una manera sencilla de identificar las clases es analizar la descripción textual en la especificación del sistema. En este análisis textual, los sustantivos y las frases de sustantivos indican con frecuencia los objetos y sus clases
  • 5. Pasos para identificar las clases utilizando el análisis del texto Hacer una lista con los sustantivos de la especificación. Reducir la lista: Convertir los sustantivos en plural a su forma singular.. Eliminar los sustantivos que representen objetos. Reemplazar con sustantivos genéricos. Por ejemplo, utiliza "cliente" en vez de "John Smith." Eliminar los sustantivos vagos. Eliminar los sustantivos que son atributos de clases.
  • 6. Pasos para identificar las clases utilizando el análisis del texto Agrupa los sinónimos y elige el mejor nombre para la clase a partir de este grupo. Por ejemplo, "usuario" y "cliente" son sinónimos. Seleccionar las clases que son relevantes para el sistema.
  • 7. Pasos para identificar las clases utilizando el análisis del texto Busca más clases relevantes: Cosas físicas. Roles jugados por personas u organizaciones. Objetos que representan una ocurrencia o evento. Objetos que representan una relación entre otros objetos del modelo. Por ejemplo, "compra" (relacionada con "comprador", "vendedor" y "mercancía")
  • 8. Pasos para identificar las clases Busca más clases relevantes (cont.) Personas que desempeñan alguna función. Lugares. Por ejemplo, "biblioteca", "salón de clases" y "banco". Colecciones de objetos, personas, recursos o facilidades. Por ejemplo, "catálogo" y "grupo". Conceptos o ideas que son intangibles. Por ejemplo, "dinero" y "cuenta de banco".
  • 9. Identificando Relaciones Crear una tabla  n x n  donde  n  es el número de clases. Nombra las filas y columnas con los nombres de las clases Para identificar las relaciones de especialización/generalización, realiza las siguientes preguntas para cada celda de la fila  A  y la columna  B : ¿Es una instancia de la clase  A , una instancia de la clase  B ? ¿Es una instancia de la clase  B , una instancia de la clase  A ?
  • 10. Identificando Relaciones Si la respuesta a las dos preguntas es  sí , entonces los nombres de clases pueden ser sinónimos. Si la respuesta a la primera pregunta es  sí , entonces la clase  A  es una especialización de la clase  B . Marca con una  S  la celda de la fila  A  y la columna  B . Si la respuesta a la segunda pregunta es  sí , entonces la clase  A  es una generalización de la clase  B . Marca con una  G  la celda de la fila  A  y la columna  B .
  • 11. Identificando Relaciones Para identificar las relaciones de asociación, evalúa cada celda de la fila  A  y  B : Si no hay asociación entre la clase  A  y la clase  B , marca la celda con una  X . Si hay una o más asociaciones entre la clase  A  y la clase  B , entonces inserta los atributos de la asociación.
  • 12.  
  • 13. Identificando Atributos Los atributos son los datos que un objeto es responsable de conocer y administrar. Los pasos para identificar los atributos de las clases son los siguientes: Buscar los adjetivos y las frases posesivas como  "X de Y"  en la especificación del sistema. Por ejemplo, "número de la cuenta" y "nombre del cliente". Utiliza tu conocimiento del dominio de la aplicación para definir el conjunto de atributos necesarios para que el sistema sea desarrollado.
  • 14. Identificando Métodos Los métodos describen las acciones que un objeto es responsable de proveer. Los pasos para identificar los métodos de las clases son los siguientes: Para identificar comportamientos, busca verbos. Por ejemplo, el enunciado" el cliente deposita dinero en la cuenta“ Indica que la clase Cuenta debe definir un método depósito
  • 15. Identificando Métodos Utiliza tu conocimiento del dominio de la aplicación para definir el conjunto de métodos necesarios para desarrollar el sistema. Busca en el dominio de la aplicación las acciones que: Creen e inicialicen nuevas instancias. Establezcan y obtengan los valores de los atributos. Carguen y guarden desde un almacenamiento persistente. Destruyan instancias. Realicen cálculos utilizando los valores de un objeto. Generen como salida o desplieguen un resultado.
  • 16. Identificando Métodos Si el objeto tiene alguna colección, incluye los métodos necesarios para añadir, eliminar y acceder los elementos de estas colecciones.