Análisis y diseño oo con umldclases

301 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
301
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Análisis y diseño oo con umldclases

  1. 1. Análisis y Diseño OO con UML Diagramas de Clases
  2. 2. CLASESModelado Conceptual: Organización del conocimiento del dominio del problema en un conjunto de abstracciones ordenadas de forma que se obtiene un conocimiento más profundo del problema
  3. 3. Clasificación El mundo real puede ser visto desde abstracciones diferentes (subjetividad) Mecanismos de abstracción:  Clasificación / Instanciación  Composición / Descomposición  Agrupación / Individualización  Especialización / Generalización La clasificación es uno de los mecanismos de abstracción más utilizados
  4. 4. ¿Qué es una Clase? Es una descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica. Son una abstracción de las cosas que forman parte del vocabulario del dominio.
  5. 5. Clases La clase define el ámbito de definición de un conjunto de objetos Cada objeto pertenece a una clase Los objetos se crean por instanciación de las clases
  6. 6. Clases: Notación Gráfica Cada clase se representa en un rectángulo con tres compartimientos:  nombre de la clase  atributos de la clase  operaciones de la clase
  7. 7. ClasesAtributo Es una propiedad, cualidad o característica asociada a una clase, identificada por un nombre que describe un rango de valores que puede tomar la propiedad. El nombre de un atributo es un nombre corto o expresión nominal extraída del dominio.  Por lo general se suele poner la primera letra de cada palabra en mayúsculas, excepto de la primera (precio; tipoProducto) Junto al nombre se pueden incluir otras características (tipo, valor por defecto, etc.)
  8. 8. ClasesOperación Es una implementación de un servicio que puede ser requerido a cualquier objeto de la clase para que muestre un comportamiento. Generalmente la invocación de una operación sobre un objeto produce un cambio en los datos o el estado de éste. El nombre de una operación es un verbo o expresión verbal extraído del dominio.  Por lo general se suele poner la primera letra de cada palabra en mayúsculas, excepto de la primera (comprar; calcularImporte)
  9. 9. ClasesOperación Junto al nombre se puede especificar su signatura.  Nombre, tipo y valores por defecto de los parámetros y en ciertos casos necesarios tipo de retorno.
  10. 10. ClasesEspecificación de una clase Para facilitar la comprensión no se suelen mostrar todos los atributos y operaciones de la clase, o incluso a veces sólo se muestra el nombre de la clase.  Se puede indicar explícitamente que hay más atributos o propiedades mediante: ...
  11. 11. ClasesIdentificación de clases El objetivo es identificar los conceptos significativos del dominio. Dos posibles estrategias:  A partir de una lista de categorías.  A partir de identificación de frases nominales.
  12. 12. ClasesIdentificación de frases nominales Este método consiste en identificar en las descripciones textuales del dominio nombre o frases nominales y considerarlas como conceptos. En esta estructura los verbos representan asociaciones entre conceptos.Ejemplo.- El cliente realiza los pedidos CLIENTE REALIZA PEDIDO
  13. 13. ClasesErrores y problemas en la identificación de clasesIncorporación de documentos como clases. Incorporarlos sólo si cumplen un papel especial respecto a las reglas del negocio (ejemplo.- un recibo de compra puede ser necesario para realizar una devolución).Distinción entre atributo y clase. Si el concepto identificado no se describe mediante un simple número o texto descriptivo, posiblemente sea una clase.
  14. 14. Clases: Encapsulación La encapsulación presenta dos ventajas básicas:  Se protegen los datos de accesos indebidos  El acoplamiento entre las clases se disminuye  Favorece la modularidad y el mantenimiento Los atributos de una clase no deberían ser manipulables directamente por el resto de objetos
  15. 15. …Clases: Encapsulación Los niveles de encapsulación están heredados de los niveles de C++:  (-) Privado : es el más fuerte. Esta parte es totalmente invisible (excepto para clases friends en terminología C++)  (#) Los atributos/operaciones protegidos están visibles para las clases friends y para las clases derivadas de la original  (+) Los atributos/operaciones públicos son visibles a otras clases (cuando se trata de atributos se está transgrediendo el principio de encapsulación)
  16. 16. Relaciones entre Clases Los enlaces entre objetos pueden representarse entre las respectivas clases Expresa una conexión entre las clases del dominio. Formas de relación entre clases:  Asociación y Agregación (vista como un caso particular de asociación)  Generalización/Especialización Las relaciones de Agregación y Generalización forman jerarquías de clases

×