Desintegración del dominio. (aka descomposición del dominio)
Enviado por Christopher • 22 de Agosto de 2018 • 3.189 Palabras (13 Páginas) • 376 Visitas
...
- Numeramos las clases detectadas en forma consecutiva comenzando por uno, en general vemos las clases más “importantes” o evidentes primero, pero, si no es así NO CAMBIAMOS el orden en que las descubrimos.
- Marcamos cada clase como no analizada y no terminada.
- Numeramos las relaciones en el orden que las detectamos.
- Numeramos los comportamientos en el orden en que los detectamos.
- Preguntamos ¿ surge, mirando la lista de relaciones alguna clase que no hayamos visto ? (como las clases de disparo alien y disparo humano o al menos la clase disparo, bala o como la llamemos).
- Si es así las agregamos a la lista.
- Preguntamos ¿ Surge de la lista de comportamientos alguna clase que no hayamos visto ? (por ejemplo la clase escuadrón o grupo que agrupa las naves).
- Preguntamos ¿ Es nuestro de punto de vista actual una clase en si misma que agrupa todo lo que estamos viendo ?, para que se entienda, la primera iteración siempre dirá, el sistema, en nuestro caso, el juego.
- Preguntamos ¿ ha quedado algún elemento sin clasificar ? es decir, sin una etiqueta. En nuestro caso nos quedó sin clasificar el puntaje.
- Si es así, por cada elemento sin clasificar :
- Agregamos el elemento a donde corresponda.
- Volvemos a ejecutar el paso de comprensión entero.
- Preguntamos ¿ tomando todos los elementos detectados, podría construir el sistema ? (suponiendo que cada elemento haga lo que debe de la forma que debe hacerlo).
- Si concluimos que no, volvemos al paso 1 relevar y luego al paso 2.
- Si concluimos que si, terminó este paso.
Paso 3 : verificación de completitud del punto de salto.
Para cada elemento no completo de las listas :
- Preguntamos ¿ Que ES esta clase ?, por ejemplo, un pájaro, una nave espacial.
- En ese momento sabemos de donde deriva, si la clase no existe en el mundo real o en nuestro análisis da lo mismo, simplemente la nombramos (por ejemplo nave nodriza extraterrestre desarmada).
- Notarán que estamos eliminando de un plumazo la herencia múltiple.
- Anotamos esta clase en la Macrolista y la marcamos como no analizada y completa nivel 1.
- Si esta clase ya estaba en la lista solo la marcamos sin terminar.
- Preguntamos ¿ Es esta clase una composición de otras ?, para responder aplicamos las siguientes reglas :
- Con lo que la clase es, ¿ puede hacer todo lo que yo creo ?, por ejemplo, ¿ Mi nave armada puede disparar solo porque sea una nave ?
- Si la respuesta es no, marco mi clase NaveArmada como no analizada y no terminada, se le puede agregar una nota para saber que debo especializar esa case y en que sentido.
- Si la respuesta es si, marco esa clase como analizada y completa nivel 3 porque la funcionalidad de esa clase está garantizada por su padre.
- ¿ Necesita mi clase la colaboración de otra para realizar lo que yo creo (que debe) ?
- Si la respuesta es sí hacemos una lista de las colaboraciones necesarias, es decir, las otras clases requeridas y las pasamos a la Macrolista, con los mismos criterios que la anterior.
- Si la respuesta es no tenemos a estas alturas tenemos una clase completamente analizada y completa nivel 2.
- Si la clase esta analizada y las clases que colaboran o componen anotadas en la lista la Macrolista se puede marcar esta clase como completa nivel 3.
- Para cada relación nos preguntamos :
- Son capaces las clases involucradas en esta relación de responder, mediante mensajes, a la funcionalidad de estas relaciones.
(Tener en cuenta que la clase debe ser vista en su punto más alto, es decir, ¿ mi nave espacial de ataque puede responder a los mensajes que el juego le envía para que dispare ?)
- Si la respuesta es no, creo el mensaje o la relación.
- ¿ He creado algún mensaje en esta iteración ?
- Si la respuesta es no marco las clases como completas nivel 4.
- Si la respuesta es si, marco las clases como completas nivel 1 y ejecuto el paso 3 completo.
Paso 4: modificación del punto de vista.
Debemos elegir ahora donde fijar la vista, por lo tanto :
- Volvemos al punto de salto del que partimos.
- Tomamos la clase de numeración menor marcada como no analizada, en general elegimos las del punto de salto que acabamos de ver, pero no es mandatorio, se puede elegir de cualquier punto de salto no terminado.
- Marcamos el elemento elegido como punto de salto y ejecutamos los tres pasos que acabamos de ver n veces hasta su completitud.
Paso 5: Verificación de la macrolista.
- Tomamos la macrolista y aplicamos los pasos de 1 a 4 n veces.
- Volvemos al punto uno hasta que todas las clases este completas nivel 4 y la macrolista este vacía.
Paso 6: Colisión
No lo veremos aquí sino en el capítulo de modelando el mundo ideal.
Cuando parar ....
Cuando llegamos al punto que todos los puntos de salto están completos sabemos que el modelo esta terminado, ahora bien, a veces pasa que tendemos a refinar demasiado, es decir, hacemos granos demasiado pequeños y eso también es malo, para evitar eso se puede graficar el progreso del modelo O DE CUALQUIERA DE SUS COMPONENTES, es decir, puntos de salto o clases, de forma que las y corresponden a la cantidad de clases / iteraciones mientras que las x a la cantidad de iteraciones completas. Si hay demasiadas iteraciones estamos perdiendo el tiempo en tonterías y llevando las cosas al extremo. Cuando la gráfica
...