Académique Documents
Professionnel Documents
Culture Documents
Instituto IACC
2 Diciembre 2019
INSTRUCCIONES: Realice la siguiente actividad en base a la situación planteada:
Su equipo de trabajo está desarrollando un juego que permite al usuario interactuar con
personajes que juegan bajo ciertos roles y es por ello que se les ha solicitado incorporar al juego
una facilidad para crear nuevos personajes que se añadan a los ya predefinidos.
En el juego, todos los personajes serán instancias de un pequeño conjunto de categorías tales
Cada categoría tiene una serie de atributos como nombre, imagen, altura, peso, inteligencia,
habilidades, etc., y según sus valores una instancia de la categoría representa a un personaje u
otro. Por ejemplo, se puede tener el personaje “príncipe tonto” o “príncipe inteligente”, o un
existen, con su principal característica, y a partir de ello seleccionar el que aplica para este caso y
ejemplificar cómo sería esta descomposición modular. Además, deberá diseñar una solución, en
base a los patrones GoF adecuados, que permita al usuario crear nuevos personajes y seleccionar
1.- Identificar los estilos de descomposición modular existentes, mencionar sus características.
1. a.- Descomposición orientada a objetos: cuando nos encontramos con un caso de uso bastante
complejo y que tiene muy bien descrita las interfaces como los objetos que lo componen, resulta
medianamente fácil alcanzar una descomposición que nos permita interpretar mejor la solución
que será necesaria aplicar al caso, lo cual puede ser posteriormente representado mediante un
diagrama UML del tipo Clases, ya que podremos representar a cada clase, objeto, atributos y
Características:
código
componentes arquitectónicos.
1. b.-Descomposición orientada a flujos de funciones: por otra parte tenemos el método también
lógica que tendrá la información a través del sistema, este enfoque actúa sobre el principio que
todo dato de entrada es procesado y transformado en un dato de salida. Este método también es
posible representarlo con diagramas UML, en este caso puede ser un diagrama a de actividad o
secuencial ya que es posible graficar cada uno de los procesos por lo que pasa el dato y las
Características:
descomposición y que se diferencian básicamente porque uno describe las clases con sus
respectivos atributos y métodos en caso que existan para interactuar entre los objetos y clases. Y
por otro el método de flujo de datos que básicamente representa la transformación de datos desde
(familias) que agrupara un determinado tipo de rol o personaje y que a su vez cada categoría
asignara valores a los atributos que corresponderán al personaje o rol de dicha categoría, esta
considerar el método de flujo de datos ya que deberá recoger datos que ingresará el usuario por
pantalla y que luego al ser procesados se obtendrá un personaje asimilado a un rol o categoría y
que tendrá por defecto cierto tipo de valores asignados a cada uno de sus atributos.
3.- Diseñe una solución en base a GOF, donde el usuario pueda crear personajes y seleccionar de
“Builder”, este nos señala por definición y cito “La representación de un objeto complejo se
El método Builder, permite la creación de un objeto complejo, a partir de una variedad de partes
que contribuyen individualmente a la creación y ensamblación del objeto mencionado. Por otro
lado, centraliza el proceso de creación en un único punto, de tal forma que el mismo proceso de
construcción pueda crear representaciones diferentes. Es un fiel representante del método divide
Builder: especifica una interface abstracta para la creación de las partes del Producto.
Declara las operaciones necesarias para crear las partes de un objeto concreto.
complejo.
Director: construye un objeto usando la interfaz Builder. Sólo debería ser necesario
especificar su tipo y así poder reutilizar el mismo proceso para distintos tipos.
Si se cambia la representación interna basta con crear otro Builder que respete la interfaz.
Las clases que definen la representación interna del producto no aparecen en la interfaz
del Builder.
Cada ConcreteBuilder contiene el código para crear y juntar una clase específica de
producto.
Arquitectura de Software
Fuente: Arquitectura de Software, Guía de contenidos semana 4, Modelamiento de
Soluciones de Software, Instituto Profesional IACC, 2019.
Método Builder
Fuente: http://migranitodejava.blogspot.com/2011/05/builder.html