Está en la página 1de 12

UNIVERSIDAD ABIERTA Y A

DISTANCIA DE MÉXICO (UNADM)


UNIDAD 3(Actividad 1 – Sistemas distribuidos)

DISEÑO Y ARQUITECTURA DE
SOFTWARE

NOMBRE: Jesús Francisco Cortés Rodríguez


DOCENTE: Alfredo Orozco Escobar
MATRÍCULA: ES162002282
CORREO: jesusfco@nube.unadmexico.mx
CORREO PERSONAL: jfcr@live.com
Contenido
Introducción.........................................................................................................................................................3
Desarrollo.............................................................................................................................................................4
Describe detalladamente los elementos a cambiar o integrar en relación a los sistemas distribuidos
identificando claramente los requerimientos funcionales y no funcionales Menciona cada una de las
partes del sistema de que representa tu patrón arquitectónico:....................................................................4
Determina los web-services necesarios para su implementación indicando el nombre que se le asignaría y
los parámetros (requerimientos) de cada uno................................................................................................7
Describe en relación con cada servicio, la manera en que interactuará con el consumidor (puede ser una
aplicación, módulo u otro servicio), la forma en que debe ser solicitado el servicio y su formato de
respuesta..........................................................................................................................................................8
Plasma tu propuesta en una arquitectura para la empresa Llezo en base a la integración de los elementos
de un sistema distribuido. El resultado de este punto será una nueva propuesta arquitectónica en formato
de imagen digital. Puedes utilizar herramientas como Visio, un lenguaje descriptor de arquitectura u otra
de tu elección...................................................................................................................................................9
Explica la aplicación del patrón arquitectónico.............................................................................................10
Conclusión..........................................................................................................................................................11
Bibliografía..........................................................................................................................................................12
Introducción
En el desarrollo de una aplicación o un sistema es indispensable tener en claro los requerimientos del
proyecto que se va a realizar, a menudo se pueden obtener por medio de la entrevista, pero también no es
seguro que se pueda recopilar toda la información necesaria de lo que es sistema requiere solucionar por
ello es importante utilizar diversas técnicas para asegurarse de tener todos los requerimientos.

A partir de los requerimientos de puede uno comenzar a plantear la estructura que tendrá el sistema y elegir
un patrón arquitectónico más adecuado dependiendo totalmente del problema que se tiene que resolver y
los requerimientos.
Desarrollo
Identificar qué elementos puedes mejorar, integrar o cambiar al proyecto Llezo donde se aplique a sistemas
distribuidos y realiza los siguientes puntos:

Describe detalladamente los elementos a cambiar o integrar en relación a los


sistemas distribuidos identificando claramente los requerimientos funcionales y
no funcionales Menciona cada una de las partes del sistema de que representa
tu patrón arquitectónico:
1. MVC
2. Módulos
3. Cliente-Servidor
4. Orientado a objetos

Considero que estos 4 estilos se pueden implementar dentro del sistema para dar solución al problema
administrativo de la empresas LLEZO debido a que MVC será implementado del lado del servidor puesto que
se dividirá la manera en que trabajaremos por un lado los modelos se encargaran de hacer conexión con la
base de datos y surtir datos, la vista será exclusivamente para insertar los datos y mostrar las interfaces al
usuario y el controlador es un intermediario entre el modelo y la vista que es quien se encarga de procesar
los datos del usuario y regresar respuestas o vistas.

Se aplicará también el concepto de módulos ya que existían un controlador dedicado a resolver los
problemas de un módulo específico como controlador de administración de usuarios, este modulo solo se
encargará de las tareas relacionadas a la administración de usuarios, alta de usuario, baja, actualización, ver,
buscar, etc. Además de que las vistas y navegación también trabajaran bajo el mismo concepto.

El concepto de cliente-servidor también se aplica debido a que hay que garantizar el acceso al sistema las
24hrs del día, desde cualquier lugar y se pueden aplicar varias soluciones para el sistema, realizar una
aplicación web, una aplicación de escritorio o una aplicación móvil y en cualquiera de estas opciones
trabajara bajo el concepto de cliente-servidor, los clientes entran a un link para acceder al sistema, el
sistema recibe la orden del cliente, la procesa en un método del controlador deseado y le regresa una vista,
o datos, por ello se utiliza el patrón cliente-servidor.

Orientado a objetos también es unos de los patrones que se utilizan debido a que al trabajar con MVC
estamos obligados a hacer la utilización de un lenguaje de programación basado en objetos, los modelos son
objetos que son abstracciones de una tabla de la base de datos, al igual que los controladores por ello utiliza
el patrón orientado a objetos.
Requerimientos funcionales Requerimientos no funcionales
 Control del personal  Disponibilidad del sistema en cualquier
 Control de asistencia dispositivo en cualquier momento mediante
 Administración de bitácora de viajes de conexión a internet mediante una aplicación
unidades de propaganda (Kilometraje web.
recorrido, mantenimiento, cargas de gasolina y  Servidor instalado dentro del edificio de la
revista vehicular) compañía el cual albergara la base de datos.
 Administración de imprenta (pedidos de diseño  Capacidad del servidor de albergar una base de
de imprenta, almacén, compras, ventas, datos que pueda contener información de
proveedores, clientes) hasta 7 años de antigüedad.
 Administración de estados contables
 Administración de pedidos (Solicitudes de
compra, liberación de compras, solicitud de
ventas, liberación de ventas)

Nuevos requerimientos
 Desarrollo de aplicaciones móviles para
 Dentro de la aplicación de los clientes se
Android y iOS utilizando React-Native. Las
deberá poder realizar abonos a algún
pedido con los datos de la tarjeta de aplicaciones son de uso exclusivo para los
crédito que el cliente posea clientes, donde podrán ver el historial de
sus pedidos, compras y recibos.

Considero que se puede integrar al sistema una aplicación móvil diseñada para los clientes para facilitar la
comunicación de los clientes con el estado de sus pedidos, compras y recibos. Además de que también
podrán realizar pagos dentro de la aplicación
Determina los web-services necesarios para su implementación indicando el
nombre que se le asignaría y los parámetros (requerimientos) de cada uno.
Nombre: Sugerencia de clientes
Descripción: Dentro del formato para realizar la venta es necesario
colocar el nombre del cliente que ya haya sido ingresado al sistema de
manera previa
Parámetros: Valor de String con el que se realizara una búsqueda de
coincidencias en la tabla de clientes de la base de datos. Arreglo de
clientes.
Resultado: Se regresará un arreglo con los datos de los clientes
(Incluyendo el nombre) de los cuales coincidieron con el termino buscado

Nombre: Sugerencia de artículos


Descripción: Una venta puede tener diversos artículos por lo que es
necesario realizar una búsqueda de coincidencia con los artículos que se
tienen en la base de datos para agregarlo a la base de datos
Parámetros: Valor de String con el que se realizara una búsqueda de
coincidencias en la tabla de artículos de la base de datos. Arreglo de
artículos.
Resultado: Se regresará un arreglo de objetos en formato JSON con los
datos de los artículos de los cuales coincidieron con el termino buscado

Nombre: Pedidos de un cliente para App


Descripción: La aplicación de los clientes solicita al servidor los
pedidos de este cliente ordenándolos de la fecha más reciente a la última
fecha, pero entregando solo 10 elementos de la paginación solicitada
Parámetros: Token de autenticación y el número de paginación que se
desea
Resultados: Se regresa un arreglo de objetos en formato JSON de los
pedidos solicitados del cliente integrando los recibos de estos pedidos
así como toda la información relacionada con el pedido.

Nombre: Compras de un cliente para App


Descripción: La aplicación de los clientes solicita al servidor los
compras de este cliente ordenándolos de la fecha más reciente a la última
fecha, pero entregando solo 10 elementos de la paginación solicitada
Parámetros: Token de autenticación y el número de paginación que se
desea
Resultados: Se regresa un arreglo de objetos en formato JSON de los
compras realizadas del cliente integrando los recibos de estos pedidos
así como toda la información relacionada con la descripción de la compra.

Nombre: Recibos de un cliente para App


Descripción: La aplicación de los clientes solicita al servidor los
recibos de este cliente ordenándolos de la fecha más reciente a la última
fecha, pero entregando solo 10 elementos de la paginación solicitada
Parámetros: Token de autenticación y el número de paginación que se
desea
Resultados: Se regresa un arreglo de objetos en formato JSON de los
recibos del cliente integrando la descripción de lo que está pagando el
recibo ya se un pedido o una compra.
Describe en relación con cada servicio, la manera en que interactuará con el
consumidor (puede ser una aplicación, módulo u otro servicio), la forma en que
debe ser solicitado el servicio y su formato de respuesta.
“Sugerencia de clientes”

La sugerencia de clientes será utilizado exclusivamente por los


trabajadores dentro del sistema web debido a que es de gran utilidad para
el llenado de formulario como generar recibos, dar de alta un pedido, una
compra, porque hay que declarar en todos estos quien es el cliente al que
se le esta asignando dicho registro, se envía un solo termino al servidor
mediante AJAX a un url especifica y se recibe un arreglo en formato JSON
de los clientes con los que se encontró coincidencia

“Sugerencia de artículos”

La sugerencia de artículos es de uso exclusivo dentro del sistema web


debido a que se al realizar crear una comprar hay que colocar su
descripción en base a los artículos que existen en el sistema, se envía
un solo termino al servidor mediante AJAX a un url específica y se recibe
un arreglo en formato JSON de los artículos con los que se encontró
coincidencia con el termino enviado

“Pedidos de un cliente para App”

La aplicación móvil de los clientes solicita al servidor los pedidos de


este cliente ordenándolos de la fecha más reciente a la última fecha,
pero entregando solo 10 elementos de la paginación solicitada mediante
HTTP Request a un url específica dedicada a esto y se recibe un arreglo
en formato JSON de los artículos con los que se encontró coincidencia con
el termino enviado. Para ello es necesario enviar el token de
autenticación del usuario y numero de paginación que se desea ver.

“Compras de un cliente para App”

La aplicación móvil de los clientes solicita al servidor las compras de


este cliente ordenándolos de la fecha más reciente a la última fecha,
pero entregando solo 10 elementos de la paginación solicitada mediante
HTTP Request a un url específica dedicada a esto y se recibe un arreglo
en formato JSON de las compras con sus descripciones correspondientes.
Para ello es necesario enviar el token de autenticación del usuario y
numero de paginación que se desea ver.

“Recibos de un cliente para App”

La aplicación móvil de los clientes solicita al servidor los recibos de


este cliente ordenándolos de la fecha más reciente a la última fecha,
pero entregando solo 10 elementos de la paginación solicitada mediante
HTTP Request a un url específica dedicada a esto y se recibe un arreglo
en formato JSON de los recibos con su descripciones correspondiente. Para
ello es necesario enviar el token de autenticación del usuario y numero
de paginación que se desea ver.
Plasma tu propuesta en una arquitectura para la empresa Llezo en base a la
integración de los elementos de un sistema distribuido. El resultado de este
punto será una nueva propuesta arquitectónica en formato de imagen digital.
Puedes utilizar herramientas como Visio, un lenguaje descriptor de
arquitectura u otra de tu elección.
Explica la aplicación del patrón arquitectónico.
Sostengo que se aplicaran estos patrones para el desarrollo del sistema

 MVC
 Módulos
 Cliente-Servidor
 Orientado a objetos

MVC Modelo vista controlador se encuentras en el servidor, debido a que los modelos tienen la
responsabilidad de realizar la conexión con la base de datos según la tabla que estén instanciando de la base
de datos y otorgar permite hacer operaciones como solicitar registros filtrando registros, crear registros,
actualizar, o eliminar, los Modelos le van a hacer de utilidad al controlador ya que el controlador es quien
decide que hacen los modelos con sus respectivos métodos y al final los datos manejados son colocados en
una vista o simplemente se regresan los datos en algún formato como JSON

Dentro del aplicación móvil del cliente se utilizará un patrón de módulos para dividir los requerimientos en
distintos módulos que solucionen cosas específicas, a su vez la aplicación móvil podría ser considerado un
cliente que se conecta con el servidor por medio de los Http request que ejemplificaría el funcionamiento
del patrón Cliente-Servidor, haciendo solicitudes al servidor por medio de url especificas mandando datos y
recibiendo.

El patrón orientado a objetos es utilizado en distintas secciones de todo el sistema como los modelos que
son abstracciones de la estructura de las tablas de la base de datos.
Conclusión
Gracias a la flexibilidad que nos otorga el patrón MVC no se tuvieron que hacer grandes cambios en la
estructura del sistema ni los patrones utilizados incluso al agregar la aplicación planteada de los clientes se
podía seguir trabajando con el patrón MVC en el servidor, pero agregando un manejador URL para elegir un
método de un controlador que va a dispara cuando llega una HTTP request o cuando se accede
directamente a una url. Debido a que existe un servidor y las personas realizan peticiones ya sea gracias al
navegador web entrando a una url especifica o mediante la aplicación móvil utilizando http request se utiliza
el patrón cliente-servidor.

El patrón de módulos se puede encontrar dentro del desarrollo de la aplicación ya que tendrá un modulo
que se encargue del inicio de sesión, otro del listado de recibos, compras, pedidos, etc y mediante peticiones
al servidor obtendrá la información que desee.

Y el patrón orientado a objetos lo podemos encontrar en prácticamente todo el proyecto con la creación de
clases.

Veo que cuando un sistema es complejo y tiene que cumplir con muchos requerimientos se divide el sistema
en subsistema que pueden albergar diferentes patrones arquitectónicos como es el caso de mi diseño.
Contar con todos los requerimientos será esencial para poder previo a determinar un patrón arquitectónico.
Bibliografía
Unadm. (2015). Unidad 2 Elementos de diseño de la arquitectura de software. Obtenido de Unidad 2
Elementos de diseño de la arquitectura de software:
https://unadmexico.blackboard.com/bbcswebdav/institution/DCEIT/Bloque2/DS/04/DDRS/U2/Uni
dad_2_elementos_de_diseno_de_la_arquitectura_de_software.pdf

Unadm. (2015). Unidad 3 Arquitectuera de sistemas informaticos. Obtenido de Unidad 3 Arquitectuera de


sistemas informaticos:
https://unadmexico.blackboard.com/bbcswebdav/institution/DCEIT/Bloque2/DS/04/DDRS/U3/Uni
dad_3_arquitectura_de_sistemas_informaticos.pdf

También podría gustarte