Edición de «Apunte de Modelo Conceptual (Ingeniería I)»
De Cuba-Wiki
Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces publica los cambios para así efectuar la reversión.
Revisión actual | Tu texto | ||
Línea 1: | Línea 1: | ||
<div style="border: 1px solid #CECEFF; padding: 5px; background-color: #EEEEFF; margin: 0px 0px 15px 0px;">[[Image:Back.png|14px|]] [[Ingeniería de Software I|Volver a la página de la materia]]</div> | |||
El modelo conceptual busca capturar las clases que comprenden nuestro modelo y sus interacciones. No confundir con el diagrama de diseño, en esta instancia las clases son conceptuales y no se corresponden necesariamente con las que se implementarán. | El modelo conceptual busca capturar las clases que comprenden nuestro modelo y sus interacciones. No confundir con el diagrama de diseño, en esta instancia las clases son conceptuales y no se corresponden necesariamente con las que se implementarán. | ||
Línea 23: | Línea 23: | ||
* Si se quieren agregar atributos a la asociación, se puede definir una clase de asociación que los contenga. Tiene las mismas características que una asociación común, es decir, es única para dos instancias en particular. | * Si se quieren agregar atributos a la asociación, se puede definir una clase de asociación que los contenga. Tiene las mismas características que una asociación común, es decir, es única para dos instancias en particular. | ||
* Además de las asociaciones comunes, pueden definirse composiciones y agregaciones (también llamadas composiciones débiles). La composición indica que un determinado objeto está compuesto por una seria de instancias del otro, y que este último no puede existir sin el primero. Por ejemplo, la relación entre hotel y habitaciones puede definirse como una composición. La cardinalidad del lado del compuesto es siempre 1. Se nota con un rombo lleno (pintado) del lado del compuesto (en el ejemplo, el compuesto es el hotel). | * Además de las asociaciones comunes, pueden definirse composiciones y agregaciones (también llamadas composiciones débiles). La composición indica que un determinado objeto está compuesto por una seria de instancias del otro, y que este último no puede existir sin el primero. Por ejemplo, la relación entre hotel y habitaciones puede definirse como una composición. La cardinalidad del lado del compuesto es siempre 1. Se nota con un rombo lleno (pintado) del lado del compuesto (en el ejemplo, el compuesto es el hotel). | ||
* La agregación es una composición débil. Es un concepto bastante subjetivo, la idea sería la misma que la | * La agregación es una composición débil. Es un concepto bastante subjetivo, la idea sería la misma que la agregación, con la diferencia de que el objeto que compone puede vivir independientemente del compuesto. | ||
== Object Constraint Language == | == Object Constraint Language == | ||
Línea 34: | Línea 34: | ||
* No utilizar clases de asociación cuando la asociación puede darse muchas veces entre los objetos. En el ejemplo de los trenes, un mismo ''tren'' puede realizar muchos ''viajes'' sobre un mismo ''recorrido''. Para estos casos, en lugar de una clase de asociacion, se coloca una clase intermedia que representa cada instancia de asociación. La multiplicidad del lado de la clase intermedia es generalmente 1, ya que cada instancia se corresponde a una única instancia de los objetos que une. | * No utilizar clases de asociación cuando la asociación puede darse muchas veces entre los objetos. En el ejemplo de los trenes, un mismo ''tren'' puede realizar muchos ''viajes'' sobre un mismo ''recorrido''. Para estos casos, en lugar de una clase de asociacion, se coloca una clase intermedia que representa cada instancia de asociación. La multiplicidad del lado de la clase intermedia es generalmente 1, ya que cada instancia se corresponde a una única instancia de los objetos que une. | ||
* Escribir <<CC>> sobre el nombre de cada clase para indicar que se trata de una clase conceptual. | * Escribir <<CC>> sobre el nombre de cada clase para indicar que se trata de una clase conceptual. | ||
* Atención al ubicar los atributos en una determinada clase, puede que pertenezcan a una asociación más que a la clase en sí, depende lo que se desee modelar. Por ejemplo, en la relación Producto - Factura, un atributo de cantidad en Producto puede indicar el stock que queda del mismo, mientras que el mismo atributo en la asociación indica cuántos items del Producto se vendieron en la Factura. | * Atención al ubicar los atributos en una determinada clase, puede que pertenezcan a una asociación más que a la clase en sí, depende lo que se desee modelar. Por ejemplo, en la relación Producto - Factura, un atributo de cantidad en Producto puede indicar el stock que queda del mismo, mientras que el mismo atributo en la asociación indica cuántos items del Producto se vendieron en la Factura. | ||
* No incluir en el diagrama clases que pertenecen a la implementación, y no al modelo conceptual. | * No incluir en el diagrama clases que pertenecen a la implementación, y no al modelo conceptual. | ||
* Recordar que la idea del modelo conceptual es ser explicativo. | * Recordar que la idea del modelo conceptual es ser explicativo. | ||
* Poner "'''/'''" en los atributos y responsabilidades derivadas. | * Poner "'''/'''" en los atributos y responsabilidades derivadas. | ||
[[Category:Apuntes]] | [[Category:Apuntes]] |