Está en la página 1de 7

Control Semana 4

PROGRAMACIÓN ORIENTADA A OBJETOS II

08/07/2021
DESARROLLO DEL CONTROL:

Lea atentamente el siguiente caso:

Suponga que usted ha desarrollado un sistema que maneje la nómina del personal de una
empresa trasnacional de petróleo, ahora, sí a ese sistema se le aplicó en alguna instancia
patrones estructurales, explique lo siguiente:

1. ¿Qué utilidad tiene el patrón de diseño estructural Adapter? (2 puntos).


2. ¿En qué se diferencian los distintos usos que se le pueden dar del patrón de diseño Bridge?
(2 puntos).
3. Describa las aplicaciones relacionadas con el patrón de diseño estructural Composite (1
punto).
4. ¿Cuáles son las características del patrón estructural decorator?(0,5 puntos).
5. ¿Cómo se puede aplicar el patrón estructural decorator?(0,5 puntos).
6. Emplee patrones de diseño estructural de acuerdo con los programas de software
implementado en el caso presentado (3 puntos).

Desarrollo

1. Descomposición modular

Para empezar, debemos entender qué es la descomposición modular, por que se explicará
dicho concepto:

La descomposición modular es básicamente la separación de problemas de gran complejidad


en problemas más sencillos. De esta forma el desarrollo se torna más ágil. Al utilizar esta
técnica podemos reutilizar el código, que es uno de los objetivos que persigue esta.

En la siguiente esquema podemos ver un ejemplo de descomposición modular.


Seguridad

Sistema Funcionalidad

Interoperabilidad

Subsistema 1 Subsistema 2

Seguridad Seguridad

Funcionalidad Funcionalidad

Interoperabilidad Interoperabilidad

Principales características:

a. Identificar módulos.
b. Descripción de cada módulo por separado.
c. Descripción de las relaciones entre cada módulo.
d. Independencia funcional.
e. Acoplamiento.
f. Cohesión.
g. Comprensibilidad y adaptabilidad.

La descomposición modular se puede dividir en dos estilos; descomposición orientada a


objetos y descomposición orientada a flujos de funciones

1.1. Descomposición orientada a objetos

Este tipo de estilo nos permite descomponer un sistema de un conjunto de objetos que se
comunica entre sí. Nos permite estructurar el sistema a un conjunto de objetos acoplados y con
sus interfaces bien definidas.
Características

Dentro de este estilo los componentes son los objetos o también llamadas instancias de tipo de
datos. A estos se les denomina manager, ya que son los responsables de preservar la
integridad del recurso y por último los objetos se les permite interactuar por medio de
invocaciones hacia sus funciones

Ventajas

 Pueden ser representados por entidades de la vida real, lo cual nos permite tener
información máscomprensible.

Desventajas

 El utilizar esta descomposición los objetos deben hacer referencia a un nombre y a sus
objetos. Para el caso del ejemplo, este sería la mejor opción, ya que cumple con todos
los requisitos para ser implementado.

El siguiente diagrama nos muestra como sería una posible descomposición modular orientada
a objetos

Personaje
Juego
Nombre
Habilidad

Heroe Villano Principe Mounstro

Nombre Nombre Nombre Nombre


Habilidad Habilidad Habilidad Habilidad

Heroe Heroe Villano Villano Principe Principe Mounstro


Feliz Furioso Traidor Maldito valiente Cobarde XL

Rick Mixo Crix Lup Ralph Ralph Rott


Distancia Distancia Magia Magia Fuerte Fuerte Rapidez
1.2. Descomposición orientada a flujos de funciones

Esta clase de descomposición nos permite agrupar el sistema por modelos de tipo funcional
que acepta datos transformándolos en datos de salida.
Características No está basado en un contador de programa y su ejecución de instrucciones
está determinada por la disponibilidad de los argumentos que se le entrega como entrada de
las instrucciones.

Ventajas

 Implementa la idea de ventana en ejecución, el cual permite seguir el orden secuencial


de la arquitectura. Dentro de su venta se le permite que las instrucciones sean
completadas con los datos según el orden de sus dependencias.

Desventajas

 Es compleja la lógica de mantener un rastro en sus dependencias de los lados de forma


dinámica restringiendo en su proceso a un orden reducido y número de ejecuciones.

2. Patrones GoF

Necesitamos diseñar una solución con base en patrones GoF, para lo que pasaremos a definir
el concepto antes de proponer dicha solución.

Los patrones de diseño permiten entregar soluciones a aquellos problemas de tipo iterativo
ente los desarrolladores de software y el ambiente de interfaz o sistema, además busca lograr
la reutilización que en muchas ocasiones logra entregar una respuesta satisfactoria al conflicto.
GoF si bien es cierto que no utiliza el uso del UML, pero si hace uso del OMT (Técnica de
modelamiento de objetos) para realizar estructuras de análisis antes de realizar la creación del
software reduciendo las partes más complejas del sistema propuesto.
Los patrones de creación nos permitirán realizar la iniciación y configuración de las clases y
objetos mencionados en este diseño, el patrón creacional es el Prototype, se utiliza este patrón
ya que nos permite iniciar y generar instancias de una clase para luego clonarlos y crear
nuevas instancias.

El patrón de prototipo se refiere a crear un objeto duplicado mientras se tiene en cuenta el


rendimiento. Este tipo de patrón de diseño está bajo un patrón de creación, ya que este patrón

proporciona una de las mejores formas de crear un objeto. Este patrón implica la
implementación de una interfaz de prototipo que le indica que cree un clon del objeto actual.

Para implementar el patrón Prototype en el caso planteado se mantendrá un catálogo de


instancias que crearan personajes predefinidos y mencionados bajo e siguiente esquema.

Catalogo de
Personaje
Personajes
Juego
Clonar()
Agregar()

Heroe Villano Principe Mounstro

Clonar() Clonar() Clonar() Clonar()


Bibliografía

[Haga triple clic en cualquier parte de este párrafo para escribir la primera referencia

bibliográfica.]

Instrucciones para la sección de las citas bibliográficas:


Escriba la bibliografía aquí en orden alfabético (empezando por el apellido del primer autor o, de
no haber autor, por la primera palabra del título). Esta página ya está formateada con sangrías
francesas. Incluya sólo las citas bibliográficas a las que haya hecho referencia en su trabajo y
asegúrese de incluir todas las citas bibliográficas a las que se haya referido en el mismo.

Ejemplos de un artículo:

Apellido, A. A., Apellido, B. B., y Apellido, C. C. (año). Título del artículo específico. Título
de la Revista, número de la revista, número de página.
https://doi.org/xx.xxxxxxxxxx

Lee, H. W. (2005). Los factores que influyen en los expatriados. Journal of American Academy of
Business, 6(2), 273-279.

Osorio-Delgado, M. A., Henao-Tamayo, L. J., Velásquez-Cock, J. A., Cañas-Gutiérrez, A. I.,


Restrepo-Múnera, L. M., Gañán-Rojo, P. F., Zuluaga-Gallego, R. O., Ortiz-Trujillo, I C. y
Castro-Herazo, C. I. (2017). Aplicaciones biomédicas de biomateriales poliméricos.
DYNA, 84(201), 241-252. https://doi.org/10.15446/dyna.v84n201.60466

Nota: Si el artículo de la revista no tiene un DOI y proviene de una base de datos de investigación académica,
finalice la referencia después del rango de páginas. No incluya información de la base de datos en la
referencia. La referencia en este caso es la misma que para un artículo de revista impresa. Si el artículo de la
revista no tiene un DOI, pero tiene una URL que resolverá para los lectores (por ejemplo, es de una revista en
línea que no forma parte de una base de datos), incluya la URL del artículo al final de la referencia, en vez del
DOI.

Ejemplos de un texto:

Apellido, N. N. (año). Título del texto. Editorial. http://www.dirección.com

McShane, S. L., y Von Glinow, M. (2004). Organizational behavior: Emerging realities for the
workplace. The McGraw-Hill Companies.

Panza, M. (2019). Números: elementos de matemáticas para filósofos.  Universidad Del Valle.


https://www.reddebibliotecas.org.co/

También podría gustarte