Está en la página 1de 5

Informática

Evaluacion sumativa 2
Principios de diseño

NOMBRE: Exequiel Acevedo


CARRERA: Analista Programador
ASIGNATURA: Sistemas de información
PROFESOR:
FECHA: 30 Abril de 2019
Tipo de diseño
Diseño a la medida

Para este proyecto es necesario implementar un diseño a la medida ya que debemos


satisfacer necesidades especificas del cliente, en este caso es la venta online de
vehiculos usados.

Las necesidades que se presentan son:

- Registrar los vehiculos

Los autos los suministran distintas personas naturales o jurídicas.


 Nos interesa conocer la marca, modelo, patente, precio de compra y de venta.
Los autos pueden ser: turismos, industriales y todoterreno.
Los autos pueden necesitar ser reparados, por lo que se debe tener un control de las
reparaciones hechas, que pueden ser: mecánicas, eléctricas o de pintura.
Los autos pueden estar en distintas exposiciones y debemos saber en todo momento
dónde se encuentra cada auto.
Se necesitan operaciones para realizar la venta de un auto, para reparar los que lo
necesiten, para comprar nuevos a los proveedores, etc.

- Registrar los proveedores

En la empresa habrá dos tipos de vendedores: contratados y solo por comisión.


De ambos vendedores se requiere saber los autos que han vendido y de los
contratados nos interesa saber también el sueldo.

- Registrar los clientes

Se necesita tener un control de los clientes, tanto de los que han comprado un auto
como de los interesados, ya que estos últimos podrán reservar.
También interesa tener datos sobre qué cliente compró determinado auto, y que se
realicen listados de los vehículos que se encuentran en stock en un momento dado.
Definición modelo Grasp

Es una colección de principios de diseño orientados a objetos que guían la asignación


de responsabilidades sobre los objetos.

Es un intento de documentar lo que los diseñadores expertos probablemente conozcan


intuitivamente.

Son guías o principios que sirven para asignar responsabilidades a las clases, para
asignar responsabilidad a nuestros objetos, existen 5 patrones Grasp:

 Experto: Es el principio básico de asignación de responsabilidades. Un ejemplo


es la responsabilidad de la creación de un objeto o la implementación de un
método, debe recaer sobre la clase que conoce toda la información necesaria
para crearlo.

De este modo obtendremos un diseño con mayor cohesión y así la información se


mantiene encapsulada.

 Creador: El patrón creador nos ayuda a identificar quien debe ser el responsable
de la creación de nuevos objetos o clases, la nueva instancia deberá ser creada
por la clase que:

- Tiene la información necesaria para realizar la creación del objeto.


- Usa directamente las instancias creadas del objeto.
- Almacena o maneja varias instancias de la clase.
- Contiene o agrega la clase.

 Controlador: Es un patrón que sirve como intermediario entre una determinada


interfaz y el algoritmo que la implementa, de tal forma que es la que recibe los
datos del usuario y la que envía a las distintas clases según el método llamado.
 Bajo acoplamiento: Este se da en las clases que no
representan un ente u objeto real del dominio del problema, si no que se ha
creado intencionadamente para disminuir el acoplamiento, aumentar la cohesión y
potenciar la reutilización del

 código. Es la solución cuando el diseñador se encuentre con una clase poco


cohesiva y no tenga otra clase en la que implementar algunos métodos.

Definición modelo GoF

Permite trabajar con objetos de distintas familias de manera que las familias no se
mezclen entre si y haciendo transparente el tipo de familia concreta que se este usando.
Se usa cuando se quiere retornar una de varias clases de objetos relacionados, cada
uno de los cuales puede retomar varios diferentes objetos.

 Cliente: La clase que llamara a la factoría adecuada ya que necesita crear uno de
los objetos que provee la factoría, es decir, cliente lo que quiere es obtener una
instancia de alguno de los productos (ProductoA, ProductoB).

 AbstractFactory: Es de definición de las interfaces de las factorías. Debe de


proveer un método para la obtención de cada objeto que pueda crear.
(“crearProductoA()” y “crearProductoB()”).

 Factorías Concretas: Estas son las diferentes familias de productos. Provee de


la instancia concreta de la que se encarga de crear. De esta forma podemos tener
una factoría que se cree los elementos gráficos para Windows y otra que los cree
para Linux.

 Producto abstracto: Definicion de las interfaces para la familia de productos


genéricos. En el diagrama son “ProductoA” y “ProductoB”. El cliente trabajará
directamente sobre la interfaz, que será implementada por los diferentes
productos concretos.
 Factory Method: centraliza en una clase constructora la
creación de objetos de un subtipo de un tipo determinado, ocultando al usuario la
casuística para elegir el subtipo que crear. Este patrón define una interfaz para
crear un objeto, y deja a las subclases decidir cual clase instanciar.

También podría gustarte