Está en la página 1de 20

Documento de Arquitectura de Software

1. Presentación

1.1. Visión General del Documento

En las nueve secciones de este documento se detalla el método aplicado en esta


arquitectura del software a desarrollar. Para ello se presenta de manera clara el
caso de uso que mas representa la arquitectura del sistema, además de los estilos
arquitectónicos, factores de riesgos, empleando un lenguaje sencillo y directo, así
como gráficos y vistas de acuerdo a la metodología utilizada.

1.2. Propósito

Este documento proporciona una descripción de la arquitectura del sistema,


haciendo uso de diversas visiones arquitectónicas para representar diversos
aspectos del sistema. Se realiza con el fin de documentar las decisiones de
arquitectura significativas que se han tomado en el sistema.

1.3. Alcance

Este documento presenta la arquitectura en la cual estará basado el Sistema para


la evaluación y selección de proyectos de inversión para entidades financieras
definiendo de manera detallada la distribución de los paquetes del sistema en las
diversas capas que éste presenta, así como una descripción de las capas a
utilizar.

2. Descripción de los factores de negocio


2.1 Descripción del entorno del negocio

2.1.1 Introducción

Uno de los desarrollos más importantes dentro de la construcción del software es


el Desarrollo de la Arquitectura de Software, que permite representar una
estructura del sistema, sirviendo de comunicación entre las personas involucradas
en el desarrollo y ayudando a realizar diversos análisis que orienten el proceso de
toma de decisiones.

Este documento provee al usuario especializado una vista de la arquitectura


del Sistema para la evaluación y selección de proyectos de inversión para
entidades financieras
La plantilla de este documento se basa en las especificaciones de RUP (Rational
Unified Process) para el documento de arquitectura de software.

2.1.2 Requisitos del negocio

 Se empleará un solo servidor centralizado.

 La arquitectura se muestra como una serie de vistas, usando la aplicación


MS Visión y empleando UML.

 La arquitectura se basará en el modelo ‘4+1’, que contendrá las vistas de


Lógica, Implementación, Procesos e Implantación, con la vista central de
caso de uso.

2.2 Necesidades de la clientela y como se pretende satisfacerla

El objetivo principal de la arquitectura del sistema en el entorno del negocio es


mostrar los aspectos principales que influirán en una etapa de desarrollo.

Se tomarán en cuenta las siguientes metas y restricciones para el diseño de la


arquitectura del sistema:

2.2.1. Metas

 El Sistema permitirá a los usuarios acceder al sistema desde cualquier


Terminal de la empresa de ensamblaje.

 Para poder acceder al Sistema, se requiere de un código de usuario válido


así como de una contraseña. Además, dependiendo del perfil del usuario se
deshabilitarán opciones de manejo del Sistema para proteger información
confidencial.

 Los requerimientos de rendimiento estipulados en el Documento de Visión,


deben de ser considerados como parte de la arquitectura del sistema a
implementar

 El uso del sistema para los trabajadores de la empresa se limita a dentro de


la organización. Afuera de ella no se podrá acceder al sistema.

2.2.2. Restricciones Técnicas del Sistema


 Necesariamente el sistema usará como motor de Base de Datos a Oracle
siendo necesario la elaboración de una copia de rescate de las tablas para
no afectar la información almacenada antes de poner en total
funcionamiento al sistema.
 Las computadoras que brindarán el servicio cliente del sistema no deberán
de presentar potencias menores a las brindadas por una Pentium 4, con al
menos 512 MB de RAM y 200 MB de espacio en el disco, con un Sistema
Operativo Linux.

 Todos los nodos que hagan uso del sistema, al estar este desarrollado en
Java, deberán de tener instalado el JRE 1.6 o superior

 La arquitectura seleccionada apoya los requisitos de latencia y capacidad


en disco en la puesta en práctica de una arquitectura cliente servidor. La
porción del cliente solo se pone en ejecución en las PC locales de los
distintos ambientes dentro de la empresa.

 Los componentes se han diseñado para asegurarse de obtener requisitos


mínimos de disco y memoria en el lado de las PC del cliente.

2.2.3. Tamaño y Performance

La arquitectura de software elegida apoya los requisitos dominantes de capacidad


en disco y latencia, según lo estipulado en el Documento de Visión del Proyecto
del Sistema.

 Tiempo de respuesta en el acceso a la Base de Datos


El sistema proveerá accesos a la base de datos con un tiempo de
respuesta no mayor a los 5 segundos.

 Tiempo de respuesta de transacciones


El programa no demorará más de 5 minutos en generar una evaluación
óptima para los proyectos haciendo uso del algoritmo elegido y guardándolo
en base de datos.

 Espacio en disco para el cliente


El espacio en disco necesario para la parte del cliente deberá tener como
mínimo 500 MB de espacio libre para su correcto funcionamiento, esto
incluye tanto el tamaño del software como el JRE 1.6.

 Espacio en disco para el servidor de Base de datos


El espacio en disco necesario para la parte del Servidor de Base de datos
deberá tener como mínimo 1 GB libres en disco para su correcto
funcionamiento.
2.3 Atributos de Calidad

Para un mejor aprovechamiento de la arquitectura de software se dan los


siguientes requerimientos de calidad:

2.3.1 Usabilidad
El sistema permitirá un manejo intuitivo por parte de los usuarios.

2.3.2 Eficiencia
El programa no demorará más de 5 minutos en generar una evaluación óptima
para los proyectos haciendo uso del algoritmo elegido.

2.3.3 Seguridad
El sistema permitirá el acceso a funcionalidades dependiendo del rol del usuario
que ingresa al sistema, validando su ingreso a través de una clave.

2.3.4 Confiabilidad
El sistema tendrá en cuenta que la información ingresada en él sea válida, para lo
cual mostrará mensajes que expliquen al usuario acerca de los errores que éste
pudiera cometer y de aquellos que pueda cometer el mismo sistema.

2.3.5 Mantenimiento
El sistema será flexible, facilitando su mantenimiento futuro.

2.3.6 Estándares
Se usará un estándar para todas las ventanas e interfaces con el usuario que
tenga el Sistema, así como los nombres, códigos, etc.

3. Presentación de la Arquitectura

3.1 Descripción de las Diferentes Vistas o Estructuras de la Arquitectura

3.1.1 Vista de Casos de Uso

El diagrama de casos de uso representa la forma de cómo un cliente opera con el


sistema en desarrollo, además de la forma tipo y orden de los elementos que
interactúan y así obtener el conjunto de escenarios que contendrá cada iteración.

Cada caso de uso tiene una descripción que especifica la funcionalidad que se
incorporará al sistema propuesto.

En este apartado se mostraran los casos de uso más significativos del Sistema.
Realizaciones de Casos de Uso
Paquete Seguridad

Casos del uso del paquete Seguridad

Realizar el mantenimiento de usuarios


El propósito de este caso de uso es permitir el ingreso de un nuevo usuario al
sistema, la modificación de la información ingresada y también la eliminación del
usuario

Realizar el mantenimiento de perfiles de usuario


El propósito de este caso de uso es permitir el ingreso de un determinado perfil
para los usuarios del sistema. Con estos perfiles se dan las respectivas
restricciones a los usuarios para que estos solo tengan algunas funcionalidades
habilitadas.

Realizar el mantenimiento de roles de usuario


El propósito de este caso de uso es permitir el ingreso de un determinado rol para
los usuarios del sistema. Con estos roles se dan las respectivas restricciones a los
usuarios para que estos solo tengan algunas funcionalidades habilitadas según los
perfiles asociados a estos roles.

Validar Usuario y Contraseña


El propósito de este caso de uso es permitir el ingreso al sistema a un usuario
registrado, evitando que cualquier persona ajena al sistema pueda acceder a
información.

Mantener Contraseña
El propósito de este caso de uso es permitir a los usuarios registrado establecer
su propia contraseña para el ingreso al programa.

Registrar Incidencias de Ingreso


El propósito de este caso de uso es mantener un registro de los intentos de
ingreso al sistema.

Registrar traza del usuario


El propósito de este caso de uso es permitir registrar las tablas que fueron
accedidas, las operaciones realizadas de los usuarios a la Base de Datos, así
como guardar fecha y hora de la acción, y el ip de la máquina.

Importar datos para proyecto


El propósito de este caso de uso es mostrar cómo se pueden importar datos
desde XML para poder procesarlos en el software.

Realizar el mantenimiento de Proyectos


El propósito de este caso de uso es el de tener registrado todos los proyectos en
el sistema. Este caso de uso incluye el registro, la actualización y eliminación de
un proyecto de inversión.

Modificar valores de los parámetros


Este caso de uso permitirá modificar los valores de los parámetros usados para la
evaluación de un proyecto, dentro de los rangos válidos definidos.

Paquete de Reportes
Generar matriz de flujos proyectada

El propósito de este caso de uso es poder visualizar mejor los flujos que cada
proyecto maneja.

Generar tablas de ingresos y egresos

El propósito de este caso de uso es poder visualizar de una manera adecuada


todos los ingresos y egresos de cierto proyecto.

Generar Tabla de análisis de sensibilidad

El propósito de este caso de uso es poder visualizar de una manera adecuada el


análisis de sensibilidad para que así se muestre todo efecto que ocurre sobre el
proyecto.

Generar Tabla de simulación

El propósito de este caso de uso es poder generar una tabla de simulación de


monte Carlo para determinar y analizar el riesgo del proyecto de inversión.

Generar Tabla de VAN

El propósito de este caso de uso es poder determinar la VAN con los datos del
análisis del proyecto de inversión.

Generar reporte de los proyectos existentes


El propósito de este caso de uso es poder visualizar de una manera adecuada
todos los proyectos que han sido ingresados para la simulación.

Paquete de Ejecución

Evaluar proyectos

El propósito de este caso de uso es evaluar según un criterio seleccionado y


parámetros de evaluación un Proyecto.

Cargar o Guardar resultados de comparación entre proyectos

El propósito de este caso de uso es poder guardar las comparaciones entre


proyectos del sistema.

Listar proyectos existentes en el sistema

El propósito de este caso de uso es poder listar todos los proyectos existentes
para así poder ver que proyectos hay por evaluar.

Análisis de sensibilidad de proyectos

El propósito de este caso de uso es permitir el cambio de valores de variables del


proyecto y mostrar los resultados obtenidos haciendo una comparación entre
evaluaciones de un mismo proyecto modificado.

Generar el análisis de comparación con otros proyectos

El propósito de este caso de uso es poder visualizar de una manera adecuada la


diferencia entre diferentes proyectos de inversión y así poder elegir el mas
conveniente.
Establecer que proyectos son viables de acuerdo al presupuesto dado

El propósito de este caso de uso es poder visualizar todos los proyectos para
poder hacer una elección adecuada del grupo de proyectos.

Modificar límites sobre variables o parámetros


El propósito de este caso de uso es establecer límites de aceptación de valores
esperados de las variables o parámetros que se obtengan en el resultado de la
evaluación y valores aceptados en las variables del sistema.

Realización de Casos de uso Significativos

Paquete de Seguridad

Se debe destacar por precedencia e importancia el caso de uso Mantener


Usuarios y Validar Usuario y Contraseña. Es el caso de uso en el cual está basado
todo el módulo y es el que permite que cualquier tipo de usuario pueda ingresar al
sistema
Paquete de Ingreso de Datos

En este paquete se debe resaltar la importancia de los casos de uso de ingreso de


información, ya que son el principal mecanismo de entrada.

Paquete de Ejecución

En este paquete se debe resaltar el principal caso de uso Evaluar Proyecto, donde
se hace uso del algoritmo elegido.

Paquete de Reportes

En este paquete se debe resaltar la importancia de los casos de uso de reportes


de diferente información manejada y generada por el Sistema.

3.1.2 Vista Lógica

Descripción

La vista lógica del sistema está compuesta de cuatro paquetes principales: Interfaz
de usuario (GUI), servicios del negocio (Business Logic), objetos del negocio
(Business Entity) y los objetos de persistencia (Data Access Objects).
El primer paquete, Interfaz de usuario, contiene las clases visuales de la
aplicación, las cuales crean las ventanas que utiliza el usuario para comunicarse
con el sistema para una adecuada y fácil utilización de los paquetes que se
encuentran en las siguientes capas.

El paquete Lógica del Negocio contiene las clases que permiten llevar a cabo los
servicios del negocio, como son: Controlar el mantenimiento de usuarios, ejecutar
el algoritmo de evaluación y selección, etc.

El paquete Entidades del Negocio contiene las clases que utilizará el sistema,
entre las principales clases se tiene: Usuario, Ejecución, Rol, etc.

El paquete de Objetos de Acceso de Datos contiene las clases que el sistema


utiliza para manejar la persistencia de los objetos con la Base de Datos.

Diseño en Capas

En la siguiente figura podemos observar la distribución de los paquetes en cada


una de las capas del sistema.
Diagrama de Distribución de Capas del Sistema

Capa Interfaz de Usuario


Esta capa contiene el paquete Interfaz de Usuario, el cual almacena todas las
clases con las cuales el usuario puede interactuar como lo son las ventanas.

Capa Lógica del Negocio


Esta capa contiene los paquetes de Servicios de Negocio y Entidades de Negocio.
Contiene la lógica para el manejo de las operaciones del negocio.

Capa Persistencia
Esta capa contiene el paquete de Objetos de Acceso de Datos, que brinda una
interfaz transparente para la interacción con el Framework el cual enviará al Driver
el conjunto de sentencias para interactuar con la Base de Datos.

3.1.3 Vista de Proceso

Diagrama de clases(CAMBIAR POR DIAGRAMA DE CLASES)

Es el diagrama principal para el análisis y diseño. En este diagrama se presentan


las clases del sistema con sus relaciones estructurales y de herencia. Para
establecer las clases, objetos atributos y operaciones entre clases se tomó como
base a los diagramas de casos de uso.
CONTRASEÑA VENTANA
IdContraseña IdVentana
AUDITORIA Acceso PERFIL PARAMETROS
Clave IdParametro
ID Nombre IdPerfil
FecCreacion
IdUsuario (FK) Duracion IdPerfil (FK) Nombre ROLXPERFIL Nombre
IdRegistro Modificar Descripcion Valor
IdRol (FK)
Evento Eliminar
IdPerfil (FK)
FecEvento Agregar
USUARIO SENSIBILIDAD
IdUsuario IdSensibilidad
CONTRASEÑAXUSUARIO DNI FecAnalisis
Nombres NumCasos
IdContraseña (FK)
Apellidos
IdUsuario (FK)
FecNacimiento ROL
FecCreacion Direccion CLIENTE
Telefono IdRol
FecVencimiento IdCliente CASO
Email Nombre
PROYECTOXCLIENTE IdRol (FK) IdCaso
Nombre Descripcion
IdCliente (FK) RUC NumTorres
EJECUCION IdProyecto (FK) Direccion PisosXTorre
IdEjecucion Telefono DepXPiso
Email AreaTerreno
IdFecha Web Duracion
TotalBeneficio MontoInversion
TotalCosto PROYECTO Impuesto
Saldo CosFijos
Tiempo IdProyecto
CosVariables
Nombre VARIABLE NumCaso
EJECUCIONXPROYECTO FecInicio CasoOriginal
FecFin IdVariable IdSensibilidad (FK)
IdProyecto (FK)
Ubicacion PROYECTOXVARIABLE IdDepartamento (FK)
IdEjecucion (FK) Nombre
IdVariable (FK) IdProyecto (FK)
ValorMin
TIR IdProyecto (FK) ValorMax
VAN
Beneficio Valor
Estado TIPODEPARTAMENTO
IdDepartamento
NumHabitaciones

Vista del Diagrama de Clases Significativo

3.1.4 Vista de despliegue

El presente Diagrama de Despliegue muestra de manera gráfica los nodos que


conforman el sistema, además los describe indicando la localización de las tareas
en los nodos físicos. Cada nodo representa un recurso de ejecución como una
computadora o servidor y se encuentra conectado con otros mediante un enlace
de comunicación. En este caso, la red será de tipo LAN.

Diagrama de Despliegue del Sistema. Servidor (Base de Datos) y Cliente


(Computadora usuario).
Servidor de la Empresa.

El servidor principal de la empresa donde se encuentra la Base de Datos. Los


diferentes usuarios tendrán acceso al servidor vía LAN.

Computadora Usuario

Son las computadoras que son utilizadas por cada uno de los usuarios de la
empresa para acceder al sistema. Están conectadas directamente al servidor
principal vía LAN.

3.1.5 Vista de implementación

Descripción

La vista de implementación seguirá el patrón de diseño MVC (Model View


Controller). Este patrón plantea la separación del problema en tres capas: la capa
model, la capa controller y la capa view.

Niveles o Capas

Capa GUI
El componente GUI maneja las clases que permiten la interacción del usuario con
el sistema.

Capa Lógica del Negocio

Este componente permite manejar la lógica del negocio de todas las áreas
involucradas.

 Seguridad
 Ejecución
 Ingreso de Datos
 Reportes
Capa Base de Datos

Este componente contiene toda la información que maneja el Sistema.


Diagrama de Implementación del Sistema.

4. Identificación de Estilos Arquitectónicos


En este documento de arquitectura se identifican claramente los estilos
arquitectónicos usados en la arquitectura. Dichos estilos representan los medios
mediante los cuales la arquitectura puede alcanzar sus atributos de calidad y
definen la forma en que un sistema puede crecer, modificarse, integrarse con otros
sistemas y responder a estímulos externos.

Representación

 La Arquitectura a utilizar será Cliente-Servidor.

 El cliente es la aplicación que será implementada en el lugar donde se


encuentra la empresa.
 Se desarrollará una sola aplicación integrada, en la que solo se permitirá el
acceso a los usuarios registrados en el sistema y a las áreas a las cuales
tengan acceso autorizado.
 Uso de Componentes: Los componentes están diseñados para asegurarse
de obtener requisitos mínimos de disco y memoria en el lado de las PC del
cliente.

5. Generación de Arbol de Utilidad


Minimizar latencia de almacenamiento en BD
del cliente a 150 ms
Latencia de datos
Rendimiento acceso a la BD en tiempo real en menos de 5s

Rendimiento

Distribuidor de Datos

Modificabilidad
Maquina Virtual
añadir interfaz web ( < 1 personas-mes)

Utilidad
El fallo en el servidor 1 implica redireccionar las
peticiones al servidor 2
Fallos SW/HW Reinicio después de fallo del gestor y del disco
Disponiblidad en menos de 3 segundos
Un fallo en la red y en el gestor de arranque de
la B.D local debe ser detectado y corregido en
menos de 1.5 seg.

Seguridad e integridad de datos en toda la infor-


mación del sistema al 99.999 % del tiempo

Confidencialidad Servicio de autentificación disponible al 99.999


e Integridad de Datos % del tiempo

Seguridad

6. Análisis de los estilos Arquitectónicos


En este paso se analizan claramente los estilos arquitectónicos usados en esta
arquitectura, asociando los escenarios mas prioritarios delo Arbol de Utilidad con
los estilos arquitectónicos empleados.

6.1 Identificación de cada uno de los componentes, conectores


configuraciones y restricciones que están directamente relacionados
con los atributos de calidad mas importantes con respecto al árbol de
utilidad

 Estos componentes están implementados para asegurarse de obtener


espacio mínimos en el disco y la memoria al lado de los servidores del
cliente
 Conectores: Uso de una Interfaz de Usuario para el almacenamiento de
datos y de las clases compuesto por un paquete de usuario
 Distribuidor de datos: mecanismo intermediario que direcciona datos entre
los productores y consumidores.
 Almacén de datos: Tiene como función almacenar datos para su posterior
uso.
 Máquina virtual: Mecanismo intermediario entre usuarios y suministradores
de una cierta funcionalidad.
 Intérprete: Incluye la codificación de funciones, parámetros y descripciones
abstractas que permiten su modificación.
 Cliente/Servidor: Proporciona una colección de servicios que pueden ser
usados por otros componentes según las reglas definidas en un protocolo
fijo.

7. Generación de Escenarios y asignación de prioridades


7.1 Escenarios más prioritarios del árbol de utilidad

 El Rendimiento y tiempo de acceso a la Base de Datos del servidor en


tiempo real

 La disponibilidad del SW debe ser controlada y bien manipulada para evitar


fallos en el sistema y en el gestor de la Base de datos

 Detección de errores en la Base de Datos del servidor permitiendo la


corrección correspondiente al momento

 La Seguridad e Integración de datos en toda la información


7.2 Escenarios de caso de uso

 Aquí se especifica la interacción de los usuarios con el sistema en


ejecución

7.3 Escenarios de crecimiento

 Representa al uso de los diferentes componentes en el sistema

 Uso eficiente de los componentes y seguridad en el ingreso de datos

 Aspectos importantes como el almacenamiento y gestión de información

 Aspectos de seguridad e integridad de datos

Ingreso de Datos
8. Análisis de los estilos arquitectónicos

8.1 En los escenarios más prioritarios del árbol de utilidad:

 Rendimiento: Acceso erróneo en el ingreso de datos generando retrasos en


el sistema y pérdida de información.

 El tiempo de ejecución excesivo en el acceso a la Base de Datos

 Modificabilidad: Que la Arquitectura del SW no se acomode con facilidad a


las distintas situaciones o propuestas del negocio

 Uso indebido del sistema, ingreso de datos incorrectos puede ocasionar


problemas en los servidores, generando así retraso en la entrega de datos.
El servidor principal de la empresa donde se encuentra la Base de Datos en
los diferentes usuarios que solo tendrán acceso al servidor vía LAN.

8.2 En los escenarios de crecimiento:

 Sistemas de datos centralizados: Los aspectos fundamentales son el


almacenamiento, representación, procesamiento y gestión de grandes
cantidades de datos.

9. Reporte

9.1 Conjunto de escenarios y su orden de prioridad

Escenarios de caso de uso

 Aquí se especifica la interacción de los usuarios con el sistema en


ejecución

Escenarios de crecimiento

 El uso de los diferentes componentes en el sistema

 Eficiencia en los componentes y seguridad en el ingreso de datos

 Aspectos importantes como el almacenamiento y gestión de información


 Aspectos de seguridad e integridad de datos

9.2 Arbol de utilidad

Minimizar latencia de almacenamiento en BD


del cliente a 150 ms
Latencia de datos
Rendimiento acceso a la BD en tiempo real en menos de 5s

Rendimiento

Distribuidor de Datos

Modificabilidad
Maquina Virtual
añadir interfaz web ( < 1 personas-mes)

Utilidad
El fallo en el servidor 1 implica redireccionar las
peticiones al servidor 2
Fallos SW/HW Reinicio después de fallo del gestor y del disco
Disponiblidad en menos de 3 segundos
Un fallo en la red y en el gestor de arranque de
la B.D local debe ser detectado y corregido en
menos de 1.5 seg.

Seguridad e integridad de datos en toda la infor-


mación del sistema al 99.999 % del tiempo

Confidencialidad Servicio de autentificación disponible al 99.999


e Integridad de Datos % del tiempo

Seguridad
9.3 Determinar Puntos sensibles, puntos de compromiso

 Puntos sensibles: Fallos en el SW/HD

 Puntos de compromiso: Seguridad, Usabilidad, Portabilidad, Eficiencia

9.4 Significado de Riesgos – No Riesgos Arquitectónicos

 Mal manejo del sistema por parte de los usuarios

 Problemas en los servidores que dificultan el acceso a los programas y a


los gestores de base de datos

 Errores por parte de los usuarios en el ingreso de información no valida


generan retraso en el sistema

 Tiempo de respuesta excesivo en el acceso a la Base de Datos

También podría gustarte