DRS_U3_EA_CRFI

13
Unidad 3 Evidencia de aprendizaje: Expansión modular y escalable de la arquitectura AL13503107 Cristóbal de Jesús Flores Iñiguez Diseño y arquitectura de software

Transcript of DRS_U3_EA_CRFI

Page 1: DRS_U3_EA_CRFI

Unidad 3

Evidencia de aprendizaje: Expansión modular y escalable de la arquitectura

AL13503107

Cristóbal de Jesús Flores Iñiguez

Diseño y arquitectura de software

Page 2: DRS_U3_EA_CRFI

Descripción 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 automatización 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 además 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, artículos y almacén.

Participación:

Clientes accederán al sistema y solicitaran el producto o mercancía 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.

Almacén registraran en el sistema entradas y salidas de los productos de acuerdo a las órdenes de envié y órdenes de compra.

Usuario: según su perfil al entrar con su contraseña, tendré los respectivos permisos para entrar al sistema. Los artículos serán registrados en el sistema, se Llevara un control exacto de las existencias, se imprimirán reportes o se podrán visuali1ar para llevar acabo las estadísticas que requiera la empresa para su toma de decisiones.

Page 3: DRS_U3_EA_CRFI

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 presentación: Referente a la interacción entre el usuario y la aplicación. Su principal responsabilidad es mostrar información al usuario, interpretar los comandos de este y realizar algunas validaciones simples de los datos ingresados con opciones de comandos, sistemas de Menús basados en texto o la interfaz de usuario.

2.- Capa de reglas del negocio: También denominada Lógica de Dominio o empresarial, esta capa contiene la funcionalidad que implementa la aplicación. Controla la ejecución de la capa de acceso a datos y servicios externos. Utilización de una interfaz de servicios que coordina la conversación con los clientes del servicio o invoca cualquier flujo o componente de negocio, sobre la base de las entradas y los datos almacenados, la validación 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 lógica de comunicación con otros sistemas que llevan a cabo tareas por la aplicación. Para el caso de aplicaciones empresariales, generalmente está representado por una base de datos, que es responsable por el almacenamiento persistente de información.

Page 4: DRS_U3_EA_CRFI

Patron MVC

El modelo MVC es plenamente aplicable a esta arquitectura base, ya que la división de las capas propuesta es fácilmente adaptable a la arquitectura MVC, las 3 capas propuestas quedan abarcadas por cada parte de la arquitectura MVC, a continuación 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 representación de los datos de la aplicación, generados y almacenados dentro del ámbito de su sistema, en este caso el modelo o capa de datos tendrá la función de enviar los datos requeridos por la siguiente capa para poder ser procesados.

Controlador:

Aplicación 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 comunicación entre el modelo y la vista, por lo que estas características 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 aplicación

Vista:

Es la representación del Modelo en un formato amigable al usuario y permite su interacción. Está representada por la interfaz gráfica de usuario (GUI, por sus siglas en inglés), que es el conjunto de ventanas donde el usuario interactúa con la aplicación, Por lo que la capa de presentación iría 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 gráfica al usuario es necesario que este se identifique y asi se muestre la información y los servicios que este le interese ver, en este caso tenemos los usuarios, clientes, proveedores, empleados y gerentes.

Page 5: DRS_U3_EA_CRFI

LModelo

*Capa de datos

*Almacena y envía información requerida en la aplicación

*Datos almacenados:

Clientes,Empleados,Proveedores,ventas,inventarios, compras, Estadisticas.

Controlador

*Capa de negocios

*Logica de aplicación

*Procesa la informacion pedida al modelo o capa de datos, comunica el modelo con la vista

*Actualiza y manipula el modelo cuando se realizan operaciones

Como alta de proveedor, compra, venta, etc.

Manipula y actualiza

*Capa de presentación

*Información y presentada al usuario

*Interfaces graficas de los distintos usuarios:

Clientes,Proveedores,Gerentes y empleados.

Actualiza

Pide información Vista

Page 6: DRS_U3_EA_CRFI

ARQUITECTURA CLIENTE-SERVIDOR (Propuesta en actividad 1 Unidad 3 por el compañero Jorge Peña Herrera)

Desarrollar una aplicación del tipo Cliente Servidor, del lado del Servidor se ubicara la base de datos con los registros de entradas y salidas de cada artículo para calcular la existencia actual con su respectivo precio, además 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 móvil o dispositivo local para ingresar al sistema (incluso podría ser a través de Internet), para su ingreso se deberá proporcionar una clave de usuario y contraseña (autenticación de usuarios),

*Servicios: Se refiere a la forma que se atiende una petición del sistema (servicios de comunicación, servicios de archivos, etc.), también contempla la ubicación física de la Aplicación, 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 contraseña de usuario, además de clave de acceso al servidor de aplicación para Administrar las conexiones a la base de datos,

*Base de Datos_ Base de datos relacional en la cual se registraran todos los catálogos del sistema, movimientos y procedimientos almacenados, Su acceso está determinado por roles (administrador, analista y desarrollador).

Page 7: DRS_U3_EA_CRFI

Este patrón propuesto, como se puede observar, se complementa con el patrón MVC, este tiene una estructura muy parecida al patrón de 3 capas que se presentó anteriormente, pero en este caso es un caso particular para compras a domicilio dentro de la tienda.

Básicamente 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 aplicaría de manera similar en el patrón de MVC, cabe mencionar que patrones como tuberías y filtros y pizarra, sería poco práctico aplicar a este sistema, por un lado tuberías y filtros se adecua para problemas donde la información tenga que fluir de filtro en filtro,filtrnado información necesaria para cada uno de los tipos de usuario, en este caso no se requiere esa clase de procesamiento de información, el patrón de pizarra no se adecuaría a esta problema debido a que este patrón 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 sistemáticamente al problema.

Page 8: DRS_U3_EA_CRFI

Componentes gráficos de arquitectura

(Generado por medio de: www.grapholite.com/Designer)

Page 9: DRS_U3_EA_CRFI

Descripción de arquitectura:

Las arquitecturas que propusieron los compañeros, en general tienen un común denominador con el patrón propuesto en esta evidencia de aprendizaje, que el patrón de 3 capas ( presentación, negocios, de datos), ya que en general se consideró como el más 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 presentación, la cual contiene la interfaz gráfica 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 móvil, etc. Quedo también ilustrado en el grafico anterior; Entre la capa de presentación y la capa de negocio, se encuentra una sub-capa de login, donde se pide usuario y contraseña para entrar al sistema, después se encuentra el firewall para prevenir cualquier filtro de información inesperada como por ejemplo, información de ventas y ganancias que solo corresponde de ver al usuario gerente, después de encuentra la capa de negocios que equivaldría a la capa de servicios dentro del patrón cliente-servidor descrito anteriormente, donde se definen las operaciones o transacciones hechas entre esta capa y los datos, como actualización de inventario, alta de clientes, compras realizadas, etc.

La última capa es la de mayor abstracción dentro de la arquitectura de capas, es donde se almacenan y se actualizan todo los datos que sustentan a la aplicación, donde se almacenan los productos en existencia, el historial de compras, estadísticas de ventas, etc.

Requerimientos de Software:

Además de los componentes físicos, toda computadora requiere de componentes lógicos como software informático 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

Page 10: DRS_U3_EA_CRFI

escritura del código necesario para implementar el software de esta arquitectura, el cual podría 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 físicos conectados a la computadora. El sistema operativo sugerido es Windows en su versión más nueva.

Software de comunicación.- algunas compañías dan acceso a internet y suelen ofrecer otro tipo de software de comunicaciones para la conexión telefónica u otra forma de conexión. También contempla dentro del mismo software los protocolos de comunicación TCP/IP este Tipo de software se use para conectar las computadoras en RED.

Software de navegación.- que permita acezar a sitios WEB como internet explorer, mozila, etc.

Acceso a dispositivos móviles :

Dentro de la arquitectura es posible incluir el acceso a dispositivos móviles, al hacer una versión móvil de la capa de presentación, siempre que se quiera desarrollar una versión ara móviles de una página web normal, necesita adoptarse en su versión móvil, dependiendo de la plataforma a desarrollar, esta podría hacerse para cualquier dispositivo móvil por medio de JavaScript o objetive c en caso de ser una aplicación para dispositivos Apple (iPhone, iPod, iPad) lo anterior modifica los requerimientos de software al tener que desarrollar una aplicación adicional para el soporte de dispositivos móviles.