Evidencia de diseño y arquitectura de software

Page 1

Nombre del alumno: Carlos Alberto Valle Basurto Matricula: AL11501864 Correo electr贸nico: AL11501864@unadmexico.mx Facilitador: Heriberto Gonzales Cazares

Fecha: 18/04/2013


Evidencia de aprendizaje. Representación gráfica de la arquitectura preliminar. Como parte de la evaluación de esta unidad, es necesario realizar en forma gráfica la arquitectura de una tienda de conveniencia aplicando y justificando el uso del patrón específico. Caso: “Una tienda de conveniencia necesita automatizar sus procesos de compra, venta y seguimiento de clientes. Lo desea hacer a través de venta en línea para sus clientes y que sus proveedores puedan acceder a un sitio privado y vean automáticamente las existencias del producto que surten, al mismo tiempo los usuarios podrán comentar sobre su experiencia de compra en línea o en el sitio; estos comentarios los podrán hacer a través de un equipo de cómputo convencional o mediante un dispositivo móvil que será capaz de conectarse al sitio de la tienda. El gerente de la tienda necesita que se obtengan tendencias de ventas y que se haga una posible sugerencia a los compradores sobre la base a sus compras anteriores, y sobre todo considerando su perfil (se entiende que el sistema deberá generar ese perfil en el que se incluya la edad, el sexo, la ubicación, los amigos, las fotografías, su grado escolar y comentarios hechos). Deberá ser fácil de usar para todos los usuarios y deberá manejar diferentes tipos de roles (administrador del sitio, gerente general, gerente de tienda, vendedor, proveedor, usuario normal) y cada uno tendrá acceso a diferentes privilegios asignados por el administrador del sitio”

Instrucciones 1. Justifica el uso del patrón. 2. Realiza la representación de la arquitectura propuesta. Para hacer esta presentación, usarás herramientas de diseño gráfico de arquitectura y, en base a los ejemplos mostrados en la unidad, hacer un diagrama con la arquitectura propuesta.


Para analizar el mejor patrón – arquitectura aplicable para la solución del caso de estudio, a continuación se presenta la siguiente tabla que describe los patrones que pudieran adaptarse al caso dejando fuera los que no se adaptan tanto a este caso.

Patrón

Patrón de procesos

En capas

Patrón de casos de uso Asignació n de responsabi lidades

Ventajas

Comentarios

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 interactúa con el sistema mediante la interfaz de usuario. 2. (Modelo) El controlador recibe la acción solicitada del usuario y gestiona el evento. 3. (Controlador) El controlador delega a los objetos de la vista la tarea de desplegar la interfaz de usuario.

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

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 se usado para sistemas distribuidos, es aplicable para sistemas centralizados. Patrón utilizable y viable, este nos permite conocer quién y cómo 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.

Ayudan a describir qué es lo que el sistema debe hacer, es decir, describen el uso del sistema y cómo 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 las 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 pos condiciones.

Análisis de los patrones De acuerdo al análisis que he realizado de los anteriores patrones que se muestran en la tabla puedo decir que el que mejor se adapta a este caso son el de Casos de uso, Modelo Vista Controlador y Cliente Servidor. Estos en su conjunto me permitirán modelar el proyecto mediante el uso de los diagramas correspondientes que mostrarán como estará estructurado el software a implementar. Y de esa manera será posible tener un mejor análisis del software que se va a realizar.


A continuación se describe la solución propuesta para el caso de estudio donde se analizan diferentes factores que me permitieron llegar a esta conclusión.

ANTECEDENTES Y DEFINICIÓN DEL PROBLEMA La tienda en cuestión está dedicada a la venta al público de productos varios que son adquiridos de sus proveedores. Dentro de la empresa existen 3 procesos principales: 1. El pedido de productos a sus proveedores, 2. Las ventas y 3. Los inventarios. Los productos son adquiridos mediante solicitud al proveedor o bien 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 inconformidades con los proveedores.

ARQUITECTURA PROPUESTA Mi propuesta arquitectónica es la de 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 o servicios 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 operativo multiusuario distribuido a través de una red de computadoras.

 La arquitectura de 3 niveles es lógica y no física. Se preocupa por las funciones y no con la implantación.  La arquitectura puedes ser utilizada para desarrollar sistemas centralizados o distribuidos.  Facilitará 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 así como distribuidos con soporte centralizado. http://www.slideshare.net/NoeGonzalezMendoza/arquitectura-cliente-servidor

PROPUESTA DE SOLUCIÓN Después de conocer los antecedentes y la problemática de la empresa, se propone el desarrollo de un sistema de software 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 más ágil.

OBJETIVO GENERAL Proporcionar a la tienda de conveniencia, una aplicación informática que le permita optimizar sus procesos de ventas e inventarios haciendo uso de equipo de cómputo y con esto facilitar el almacenamiento y control de la información que se manejan 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 de la información requerida y el buen funcionamiento del sistema. 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 realizado. 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.

JUSTIFICACIÓ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 e información que requiere el propietario para 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.


PROCESOS ESPECIALES REQUERIDOS POR EL PROPIETARIO Además de lo mencionado anteriormente y en entrevista realizada con el propietario de la tienda de conveniencia, se me explicó la necesidad de contar con un módulo para conocer la información de manera directa, inmediata y sencilla y es la que a continuación se detalla:     

Impresión de listados de precios por producto para la actualización de precios y descripciones en los catálogos de manera eficiente y rápida. Realizar descuentos por sistema cuando existan promociones. Llevar registro detallado de entradas y salidas de productos de manera diaria. Llevar registro detallado de pedidos a proveedores. Que el sistema cuente con alta seguridad e implemente niveles de seguridad por usuario del sistema.

DECISIÓN GENERAL Lenguaje de programación. En base a lo anteriormente expuesto se tomó la decisión de implementar el sistema en el lenguaje de programación java ya que permite el diseño de una interfaz gráfica y a la vez amigable para el usuario.

Base de datos Basado en que el propietario cuenta con licenciamiento de productos “MS-OFFICE” se decidió hacerla en su manejador de base de datos “Access”. Como soporte para esta actividad, a continuación describiré ejemplos de casos de uso de patrones y arquitecturas.

PATRÓN DE CASOS DE USO

Diagrama de procesos mediante el uso del diagrama de Casos de Uso


PATRÓN DEL MODELO VISTA CONTROLADOR

PATRÓN DEL MODELO CLIENTE – SERVIDOR


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.