Actividad


Objetivo de la actividad

Diseñar la arquitectura de software para resolver un caso de una tienda virtual para una compañía de telecomunicaciones.

Instrucciones

En una empresa de Telecomunicaciones decidió implementar un sistema para sus clientes, en el que puedan comprar a crédito computadoras de escritorio, laptops y tabletas electrónicas, haciendo uso de una aplicación web.

El desarrollo se encuentra en la etapa del Diseño dentro del ciclo de vida del desarrollo de un sistema. Cada uno de los stakeholders tiene un interés en particular que debe cubrir el sistema. Por ejemplo, el equipo de desarrolladores necesita una guía clara sobre cómo debe proceder y apegarse al diseño. Los clientes están esperando que el diseño responda de forma adecuada a sus requerimientos funcionales y cómo responderá el sistema a posibles cambios que se puedan generar. El gerente de soporte técnico está interesado en cómo responderá el sistema a los requerimientos no funcionales.

De esta forma el Arquitecto del Software ha decidido empezar a diseñar la arquitectura basándose en el modelo de Kruchten (4+1 vistas).

Descripción Técnica:

El sistema actualmente se encuentra hospedado en un servidor Linux versión CloudLinux 6.2. Utiliza una base de datos MySQL. Es posible tener acceso al servidor a través de sesiones FTP. Utiliza SMPT para el envío de correos electrónicos y SSL como protocolo de seguridad.

Requerimientos no funcionales
 
Seguridad: el sistema debe tener un control de acceso a través de un proceso de autenticación y autorización por perfiles de usuarios. La información sensible, como cargos a tarjetas de crédito, debe pasar por un proceso de cifrado.

Disponibilidad y mantenimiento: el sistema debe estar disponible al menos 16 horas diarias, los 7 días de la semana. El tiempo no activo, puede ser utilizado para labores de mantenimiento del sistema.
Internacionalización: el sistema debe mantener una interfaz en inglés y español.

Ayuda al Arquitecto con el diseño del software creando lo siguiente:

  1. Vista de escenarios: crea un caso de uso la funcionalidad principal del sistema y las entidades que intervienen en el sistema.
  2. Vista lógica: crea un diagrama de clases que pueda representar la relación que existen entre los objetos del sistema.
  3. Vista de implementación: crea un diagrama de componentes del sistema como tienda virtual.
  4. Vista de despliegue: genera un diagrama de despliegue que muestre la topología general que tendrá el software y la relación que existe con el hardware.
  5. Vista de procesos: describe el proceso de solicitar un producto a través de un diagrama de flujo de datos.

Para cada una de las vistas incluye la audiencia (stakeholders) a la que estaría destinada.

Realiza una tabla donde listes los principales stakeholders del sistema y marca cuáles serían las vistas que les interesarían conocer.

Checklist

Asegúrate de: