Arquitectura de Software
En la actualidad se han definido un conjunto de cinco
componentes identificados como comunes dentro de la arquitectura Web. Estos
componentes son Static Pages (paginas estáticas), Active Pages (paginas activas
de servidor), Web Objects (componentes de servidor), Multimedia Objects
(objetos multimedia como imágenes, video y sonido) y Databases (Bases de
datos).
La obtención de la arquitectura se basa en un conjunto de
tres modelos, que de forma progresiva reducen los detalles obtenidos en la
recuperación de los datos. En el modelo ELS (Entity-Level Schema) se definen las
relaciones que existen entre los componentes que viven dentro de las
aplicacionesWeb (objetos, tablas, variables, etc.) y a partir de este modelo se
define un conjunto de transformaciones necesarias para subir el nivel de
abstraccion hasta llegar al modelo CLS (Component-Level Schema).
CLS es un modelo que representa las relaciones entre los
componentes de la aplicacion Web (páginas estáticas, páginas de servidor y
bases de datos) y nuevamente se aplican una serie de transformaciones para
obtener el último modelo ALS (Abstract- Level Schema).
Finalmente, ALS es un modelo que muestra las relaciones que
existen entre los componentes de mayor tamaño, como los subsistemas, y
componentes que los contienen.
Para la representación de la arquitectura el esquema utiliza
como lenguaje de modelado diagramas de entidad relación conocidos como Schemas.
Requerimientos del usuario
id
|
Requerimientos de usuario
|
1
|
El sistema debe de autenti
car a cada uno de los usuarios (cliente, supervisor, gerente), mediante su Login y password. |
2
|
El Sistema debe permitir el uso de los servicios del
sistema de acuerdo a los permisos de cada uno de los usuarios.
|
3
|
El Sistema permitirá el alta, baja y modificación del
stock de productos, solo para los usuarios autorizados (gerentes).
|
4
|
El Sistema permitirá el alta, baja y modificación de los
usuarios del sistema.
|
5
|
El Sistema permitirá a, a los usuarios registrados, la
consulta detallada de los elementos disponibles.
|
6
|
El Sistema deberá contar con interfaces amigables e
intuitivas para facilitar el uso.
|
7
|
El sistema debera garantizar la disponibilidad e
integridad de la información en todo momento así como el acceso a ella desde cualquier
parte del mundo.
|
Objetivo.
Que la tienda de conveniencia sea un estándar de ventas por
medio del internet, a través de una interfaz que permita a los clientes
consultar por la web un buscador del producto, categoría de los productos y
novedosas ofertas del producto.
Tipo de Patrón de Arquitectura.
Se prefiere el diseño en capas por ser el más adecuado a
este tipo de sistema.
Justificación
Al
conectarnos a internet estamos navegando en 3 capas.
Al
abrir un formulario web de inscripción (capa de presentación), en este caso
esta capa seria la presentación del formulario de ventas
Después
de enviar la información esta es verificada (capa de negocios). Donde se
ubicaría la validación tanto de usuarios como de tarjeta de crédito.
Finalmente
la información es grabada en una base de datos (capa de datos)., donde se
guardarían todas las transacciones.
El estilo de arquitectura basado en capas se identifica por
las siguientes características:
• Describe la descomposición de servicios de forma que la
mayoría de la interacción ocurre solamente entre capas vecinas.
• Las capas de una aplicación pueden residir en la misma
maquina física (misma capa) o puede estar distribuido sobre diferentes
computadores (n-capas).
• Los componentes de cada capa se comunican con otros
componentes en otras capas a través de interfaces muy bien definidas.
• Este modelo ha sido descrito como una “pirámide invertida
de re-uso” donde cada capa agrega responsabilidad y abstracción a la capa
directamente sobre ella.
Principios fundamentales
Los principios comunes que se aplican cuando se diseña para
usar este estilo de arquitectura incluyen:
• Abstracción. La arquitectura basada en capas
abstrae la vista del modelo como un todo mientras que provee suficiente detalle
para entender las relaciones entre capas.
• Encapsulamiento. El diseño no hace asunciones
acerca de tipos de datos, métodos, propiedades o implementación.
• Funcionalidad claramente definida. El diseño
claramente define la separación entre la funcionalidad de cada capa. Capas
superiores como la capa de presentación envía comandos a las capas inferiores
como la capa de negocios y la capa de datos y los datos fluyen hacia y desde
las capas en cualquier sentido.
• Alta cohesion. Cada capa contiene funcionalidad
directamente relacionas con la tarea de dicha capa.
• Reutilizable. Las capas inferiores no tienen
ninguna dependencia con las capas superiores, permitiéndoles ser reutilizables
en otros escenarios.
• Desacople. La comunicacion entre las capas está
basada en la abstracción lo que provee un desacople entre las capas.
Beneficios
Los principales beneficios del estilo de arquitectura basado
en capas son:
• Abstracción. Las capas permiten cambios que se
realicen en un nivel abstracto. Usted puede incrementar o disminuir el nivel de
abstracción usado en cada capa de la “pila” jerárquica.
• Aislamiento. El estilo de arquitectura de capas
permite asilar los cambios en tecnologías a ciertas capas para reducir el
impacto en el sistema total.
• Rendimiento. Distribuir las capas entre múltiples
sistemas (físicos) puede incrementar la escalabilidad, la tolerancia a fallos y
el rendimiento.
• Mejoras en Pruebas. La capacidad de realizar
pruebas se beneficia de tener una interfaces bien definidas para cada capa así
como de la habilidad para cambiar a diferentes implementaciones de las
interfaces de cada capa.
• Independencia. El estilo de arquitectura basado en
capas el requerimiento de considerar el hardware y los problemas de instalación
así como las dependencias de interfaces externas.
Diagrama que muestra las funciones básicas
Diagrama elaborado.
Requerimientos
Consulta según categoría.
Este tipo de consulta consiste en una consulta SQL que
retorna todas las diferentes categorías de la base de datos.
Consulta de los detalles de un artículo.
Con esta consulta el cliente o usuario anónimo podrá ver una
información más detallada acerca del artículo que desee. Dándole clic en la
fotografía de artículo.
Añadir artículo al carrito.
Cualquier usuario que entre a la página podrá añadir
artículos ene l carrito de compras. Cuando se abre la página se crea
automáticamente una variable sesión que será la que contendrá los artículos del
cliente desee adquirir.
Inicio de sesión.
Todo usuario que previamente se haya registrado, podrá
identificarse introduciendo su usuario y contraseña.
Contacto.
La página tendrá una sección para servicio a clientes.