Evidencia de aprendizaje: Expansin modular y escalable de la
arquitectura AL13503107 Cristbal de Jess Flores Iiguez Diseo y arquitectura de software
Descripcin del sistema: Para conocer en realidad qu tipo de software requiere el gerente que le permita llevar un mejor control de lo que desea hacer para mejorar por medio de un sistema la automatizacin de sus procesos. El tipo de sistema que se requiere crear en la tienda tiene que llevar un control en los procesos de compra, venta y seguimiento de dientes, y adems que tenga un sitio privado para que cuando se requiera hacer un seguimiento de la existencia de productos que se surten. Requerimientos de los usuarios del sistema: Encargados: clientes, proveedores, usuarios empresa, artculos y almacn. Participacin: Clientes accedern al sistema y solicitaran el producto o mercanca que requieran, generaran el reporte de compra correspondiente, page y recibe el producto. Proveedores: verificaran la existencia de los productos que se surten en la empresa, se generara su orden de envi o de pago, verificaran el deposito o pago y enviaran el producto. Almacn registraran en el sistema entradas y salidas de los productos de acuerdo a las rdenes de envi y rdenes de compra. Usuario: segn su perfil al entrar con su contrasea, tendr los respectivos permisos para entrar al sistema. Los artculos sern registrados en el sistema, se Llevara un control exacto de las existencias, se imprimirn reportes o se podrn visuali1ar para llevar acabo las estadsticas que requiera la empresa para su toma de decisiones.
Patrones aplicables al sistema: PATRON DE CAPAS: De acuerdo al nivel de complejidad y requerimientos del sistema se utilizaran diferentes capas. En este caso se utilizaran solamente 3 niveles o capas. 1.- Capa de presentacin: Referente a la interaccin entre el usuario y la aplicacin. Su principal responsabilidad es mostrar informacin al usuario, interpretar los comandos de este y realizar algunas validaciones simples de los datos ingresados con opciones de comandos, sistemas de Mens basados en texto o la interfaz de usuario. 2.- Capa de reglas del negocio: Tambin denominada Lgica de Dominio o empresarial, esta capa contiene la funcionalidad que implementa la aplicacin. Controla la ejecucin de la capa de acceso a datos y servicios externos. Utilizacin de una interfaz de servicios que coordina la conversacin con los clientes del servicio o invoca cualquier flujo o componente de negocio, sobre la base de las entradas y los datos almacenados, la validacin de los datos de entrada o determinar la fuente de datos implicada son ejemplos de funcionalidades en la capa de dominio. 3.- Capa de datos: Esta capa contiene la lgica de comunicacin con otros sistemas que llevan a cabo tareas por la aplicacin. Para el caso de aplicaciones empresariales, generalmente est representado por una base de datos, que es responsable por el almacenamiento persistente de informacin.
Patron MVC
El modelo MVC es plenamente aplicable a esta arquitectura base, ya que la divisin de las capas propuesta es fcilmente adaptable a la arquitectura MVC, las 3 capas propuestas quedan abarcadas por cada parte de la arquitectura MVC, a continuacin se describe de manera extensa la propuesta de cada uno de los componentes MVC a la arquitectura base elegida. Modelo: En el Modelo estar contenida la capa de datos ya que es la representacin de los datos de la aplicacin, generados y almacenados dentro del mbito de su sistema, en este caso el modelo o capa de datos tendr la funcin de enviar los datos requeridos por la siguiente capa para poder ser procesados. Controlador: Aplicacin del funcionamiento propio del contexto, responde a peticiones del usuario hechas desde la vista y a su vez, hace peticiones al modelo para tomarlo como entrada para su proceso. Puede tomarse como la parte de comunicacin entre el modelo y la vista, por lo que estas caractersticas hacen que la capa de negocios descrita anteriormente se ubic justamente en la parte del controlador de esta arquitectura debido a que esta capa se aplican las reglas del negocio y de la aplicacin Vista: Es la representacin del Modelo en un formato amigable al usuario y permite su interaccin. Est representada por la interfaz grfica de usuario (GUI, por sus siglas en ingls), que es el conjunto de ventanas donde el usuario interacta con la aplicacin, Por lo que la capa de presentacin ira en esta parte de la arquitectura MVC, solo que esta arquitectura base requiere de distintas vistas una para cada tipo de usuario del sistema, por lo que antes de que muestra la interfaz grfica al usuario es necesario que este se identifique y asi se muestre la informacin y los servicios que este le interese ver, en este caso tenemos los usuarios, clientes, proveedores, empleados y gerentes. L
ARQUITECTURA CLIENTE-SERVIDOR (Propuesta en actividad 1 Unidad 3 por el compaero Jorge Pea Herrera) Desarrollar una aplicacin del tipo Cliente Servidor, del lado del Servidor se ubicara la base de datos con los registros de entradas y salidas de cada artculo para calcular la existencia actual con su respectivo precio, adems de un control de clientes y usuarios registrados para Controlar el acceso, de tal manera que la arquitectura del sistema contemplara tres aspectos fundamentales:
* Vistas: Contempla una vista por tipo de dispositivo, puede ser mvil o dispositivo local para ingresar al sistema (incluso podra ser a travs de Internet), para su ingreso se deber proporcionar una clave de usuario y contrasea (autenticacin de usuarios), *Servicios: Se refiere a la forma que se atiende una peticin del sistema (servicios de comunicacin, servicios de archivos, etc.), tambin contempla la ubicacin fsica de la Aplicacin, por lo tanto se incluye la regla del negocio y conexiones a la base de datos, Su acceso est restringido al Administrador del Sistema por medio de contrasea de usuario, adems de clave de acceso al servidor de aplicacin para Administrar las conexiones a la base de datos, *Base de Datos_ Base de datos relacional en la cual se registraran todos los catlogos del sistema, movimientos y procedimientos almacenados, Su acceso est determinado por roles (administrador, analista y desarrollador).
Este patrn propuesto, como se puede observar, se complementa con el patrn MVC, este tiene una estructura muy parecida al patrn de 3 capas que se present anteriormente, pero en este caso es un caso particular para compras a domicilio dentro de la tienda.
Bsicamente estas dos arquitecturas son las aplicables a la arquitectura elegida en la unidad anterior, como se puede observar ambas arquitecturas son complementarias, ya que en modelo de capas de aplicara de manera similar en el patrn de MVC, cabe mencionar que patrones como tuberas y filtros y pizarra, sera poco prctico aplicar a este sistema, por un lado tuberas y filtros se adecua para problemas donde la informacin tenga que fluir de filtro en filtro,filtrnado informacin necesaria para cada uno de los tipos de usuario, en este caso no se requiere esa clase de procesamiento de informacin, el patrn de pizarra no se adecuara a esta problema debido a que este patrn es reservado para problemas muy espaciales de procesamiento, como sistemas expertos o inteligencia artificial , donde se tiene que dividir el problema complejo en entidades que aporten sistemticamente al problema.
Componentes grficos de arquitectura
(Generado por medio de: www.grapholite.com/Designer)
Descripcin de arquitectura: Las arquitecturas que propusieron los compaeros, en general tienen un comn denominador con el patrn propuesto en esta evidencia de aprendizaje, que el patrn de 3 capas ( presentacin, negocios, de datos), ya que en general se consider como el ms adecuado a aplicar a este sistema propuesto de la tienda de conveniencia, en la primera capa, como se puede mostrar en el grafico anterior, es la capa de presentacin, la cual contiene la interfaz grfica para cada uno de los tipos de usuarios mostrados anteriormente(Usuario, Gerente y proveedor), esta capa puede ser visualizada en cualquier dispositivo conectado a internet, ya sea computadora, Tablet, dispositivo mvil, etc. Quedo tambin ilustrado en el grafico anterior; Entre la capa de presentacin y la capa de negocio, se encuentra una sub-capa de login, donde se pide usuario y contrasea para entrar al sistema, despus se encuentra el firewall para prevenir cualquier filtro de informacin inesperada como por ejemplo, informacin de ventas y ganancias que solo corresponde de ver al usuario gerente, despus de encuentra la capa de negocios que equivaldra a la capa de servicios dentro del patrn cliente-servidor descrito anteriormente, donde se definen las operaciones o transacciones hechas entre esta capa y los datos, como actualizacin de inventario, alta de clientes, compras realizadas, etc. La ltima capa es la de mayor abstraccin dentro de la arquitectura de capas, es donde se almacenan y se actualizan todo los datos que sustentan a la aplicacin, donde se almacenan los productos en existencia, el historial de compras, estadsticas de ventas, etc.
Requerimientos de Software:
Adems de los componentes fsicos, toda computadora requiere de componentes lgicos como software informtico que dan funcionalidad a muchos de los componentes a desarrollar, por lo que se sugiere un IDE o una ambiente integrado de desarrollo, para poder llevar a cabo la escritura del cdigo necesario para implementar el software de esta arquitectura, el cual podra ser, Microsoft Visual Studio, NetBeans, CodeProyect,etc.
Esencialmente se tiene que disponer de lo siguiente: Sistema operativo.- que representa un conjunto de programas que permiten dar utilidad o funcionamiento a todos los componentes fsicos conectados a la computadora. El sistema operativo sugerido es Windows en su versin ms nueva. Software de comunicacin.- algunas compaas dan acceso a internet y suelen ofrecer otro tipo de software de comunicaciones para la conexin telefnica u otra forma de conexin. Tambin contempla dentro del mismo software los protocolos de comunicacin TCP/IP este Tipo de software se use para conectar las computadoras en RED. Software de navegacin.- que permita acezar a sitios WEB como internet explorer, mozila, etc. Acceso a dispositivos mviles : Dentro de la arquitectura es posible incluir el acceso a dispositivos mviles, al hacer una versin mvil de la capa de presentacin, siempre que se quiera desarrollar una versin ara mviles de una pgina web normal, necesita adoptarse en su versin mvil, dependiendo de la plataforma a desarrollar, esta podra hacerse para cualquier dispositivo mvil por medio de JavaScript o objetive c en caso de ser una aplicacin para dispositivos Apple (iPhone, iPod, iPad) lo anterior modifica los requerimientos de software al tener que desarrollar una aplicacin adicional para el soporte de dispositivos mviles.