UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO

EVIDENCIA DE APRENDIZAJE. UNIDAD 2
[LENGUAJE DESCRIPTOR Y PATRONES DE ARQUITECTURA DE SOFTWARE]
HOMERO CARLOS AGUILAR CORTES 3 DE ABRIL DEL 2013]

Para demostrar tu conocimiento acerca de los tipos de patrones arquitectónicos, tú diseñarás una propuesta de arquitectura que sirva para solucionar un problema; para ello considerarás que el patrocinador (la empresa que solicitó la solución) es una tienda de conveniencia, tú analizarás sus requerimientos de software y lo contrastarás con las herramientas de diferentes tipos de sistema, siendo capaz de elaborar una propuesta.

Evidencia de aprendizaje. Lenguaje descriptor y patrones de arquitectura de software
Para demostrar tu conocimiento acerca de los tipos de patrones arquitectónicos, tú diseñarás una propuesta de arquitectura que sirva para solucionar un problema; para ello considerarás que el patrocinador (la empresa que solicitó la solución) es una tienda de conveniencia, tú analizarás sus requerimientos de software y lo contrastarás con las herramientas de diferentes tipos de sistema, siendo capaz de elaborar una propuesta.

Análisis de patrones La siguiente tabla se realiza para analizar y escoger el mejor patrón.

Patrón
Patrón de casos de usos

ventajas
Ayudan a describir que es lo que el sistema debe hacer, es decir describe el uso del sistema y como este interactúa con los usuarios. Un sistema orientado a objetos se compone de objetos que envían mensajes a otros objetos para que lleven a cabo operaciones. Los diagramas de interacción describen gráficamente la solución a partir de los objetos en interacción que satisfacen estas responsabilidades y poscondiciones

observaciones
Patrón utilizable y viable, este nos permite conocer quien y como se comunica dentro de los procesos del sistema. Es un patrón utilizable en el proceso de elaboración de los diagramas de interacción (proceso interno) y como tal no utilizable como modelo principal

Asignación de responsabilidades

Patrón de procesos

Modelo vista controlador. Separación de los datos de la aplicación, la interfaz del usuario y la lógica del negocio. 1. (vista) el usuario el usuario interactúa con el sistema mediante la interfaz del usuario. 2. (modelo) el controlador recibe la acción solicitada del usuario gestiona el

Para este caso de estudio, no ofrece desventajas ya que este patrón es útil al ofrecer una interfaz grafica y facilidad de operación para el usuario

evento. 3. (controlador) el controlador delega a los objetos de la vista la tarea de desplegar la interfaz de usuario. En capas Modelo cliente-servidor. Todas las capas pueden residir en un único ordenador. 1. (presentación) es lo que ve el usuario 2. (negocio) los programas en ejecución. 3. (datos) almacén de datos del sistema. Como el patrón anterior también es viable para ser utilizado en el caso de estudio, cabe mencionar que aunque este patrón es usado para sistemas distribuidos, es aplicable para sistemas centralizados.

Después de analizar la información de esta tabla se llega a la conclusión de que el patrón o los patrones de arquitectura aplicables a este caso de estudio, es el caso de uso, modelo vista controlador y cliente servidor. Dado que entre todos se permitirán modelar el sistema utilizando diagramas que nos llevaran a estructurar el software a implementar.

Arquitectura recomendada Antecedentes y problemática a solucionar
Esta tienda se dedica a la venta al público de productos, los cuales son adquiridos a los proveedores. Dentro de esta empresa existen 3 procesos principales. 1. El pedido de productos a sus proveedores. 2. Las ventas 3. Los inventarios Los productos son adquiridos mediante solicitud al proveedor o por entrega programada, así mismo la solicitud se genera cuando el producto en cuestión ya no tiene existencias en el inventario. El problema principal se da cuando por errores del personal en el llenado del formato de pedido, en muchas ocasiones la información incluida no coincide con la cantidad o descripción de las mismas, lo que provoca problemas con los proveedores.

Arquitectura seleccionada
Una recomendación muy importante para este caso sería escoger como propuesta arquitectónica, cliente- servidor (3 niveles ) para el desarrollo de software de tiendas de conveniencia ya que este permite que las tareas se repartan entre los proveedores de

recursos llamados servidores y los demandantes llamados clientes. Un cliente realiza peticiones a otro programa, el servidor que le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema multiusuario distribuido a través de una red de computadoras.

Capa cliente

Capa intermedia Aplicación de servidor

Capa de servidor Datos de negocio

Aplicaciones cliente

La arquitectura de tres niveles es lógica y no física. Se preocupa por las funciones y no con la implantación. La arquitectura puede ser utilizada para desarrollar sistemas centralizados o distribuidos. Facilitara la distribución de los componentes del sistema

Beneficios
     Arquitectura flexible y fácil de modificar según las necesidades del negocio. Alto nivel de reutilización del software y datos. Fácil y rápido desarrollo de sistemas grandes y complejos aso como distribuidos con soporte centralizado. Alto nivel de reutilización del software y datos. Fácil y rápido desarrollo de sistemas grandes y complejos asi como distribuidos con soporte centralizado.

Principal propuesta
Conociendo la problemática y sus antecedentes, se da como propuesta el desarrollo de un sistema con una base de datos que le permita a la empresa optimizar el manejo y su control de la información. Dicho sistema le permitirá al propietario tener la información más organizada y confiable de una manera ágil.

Objetivo general
Brindar a la tienda de conveniencia un software que le permita optimizar sus procesos de ventas e inventarios haciendo uso de equipo de computo y con esto facilitar el almacenamiento y control de la información que se maneja en cada uno de los procesos mencionados, y que además agilice las consultas a dicha información precisa y ordenada al momento que el propietario o el personal de la empresa lo requiera.

Objetivos particulares
1. Diseñar el modelo de un sistema que permita mejorarle los procesos y solucionarle las necesidades de la administración de la información en la empresa. 2. Crear una base de datos para el almacenamiento en la empresa. 3. Diseñar las interfaces del sistema de modo que sea fácil de entender y utilizar. 4. Codificar el sistema en base al diseño previamente diseñado. 5. Instalar el sistema, capacitar al personal y mantener el sistema a prueba durante un periodo de 15 días para la evaluación del sistema. 6. Implantar el sistema en la empresa y este estará sujeto a modificaciones, mejoras y actualizaciones.

Verificación
Con el desarrollo del sistema de ventas y control de inventarios, se pretende que la tienda de conveniencia pueda mejorar sus procesos de ventas e inventarios con el propósito de dar un mejor servicio a sus clientes, aumentar la eficiencia del personal y la calidad de los datos que requiere el propietario para poder tener una mejor visión de las ganancias de la tienda de conveniencia y la reducción considerable de errores y conflictos en los procesos actuales.

Procesamiento especial requerido por el propietario
En la entrevista realizada al propietario se me expreso que una necesidad es contar con un modulo para conocer la información de manera directa, sencilla e inmediata.     Que el sistema cuente con nivel de alta seguridad e implemente niveles de seguridad por usuario. Realizar los descuentos por promociones. Impresión de listados de precios por producto para la actualización de precios. Llevar registro detallado de pedidos a proveedores

Lenguaje de programación
Dado todos los requerimientos y necesidades del propietario se llego a la conclusión de utilizar lenguaje visual basic 6.0, que nos permite un diseño de una interfaz grafica entendible
para los usuarios.

Base de datos
Para la base de datos de este sistema se utilizara ACCESS.

Caso de uso de patrones de arquitecturas. Tienda de conveniencia

Solicita producto

Verifica precio

Compra producto

Patrón del modelo cliente servidor

Servidores de archivos

Servidor proveedor de servicios

Servidor de base de datos Servidores de objetos Servidores web

Arquitectura clienteservidor

Servidores de group Servidores de objetos
El cliente consumidor de servicios

Patrón del modelo vista controlador

El uso de una (GUI) que proporciona datos al sistema para su procesamiento ejemplifica el uso del modelo MVC.