Está en la página 1de 20

Documento de Arquitectura de Software

1. Presentacin
1.1.

Visin General del Documento

En las nueve secciones de este documento se detalla el mtodo 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, adems de los estilos
arquitectnicos, factores de riesgos, empleando un lenguaje sencillo y directo, as
como grficos y vistas de acuerdo a la metodologa utilizada.
1.2.

Propsito

Este documento proporciona una descripcin de la arquitectura del sistema,


haciendo uso de diversas visiones arquitectnicas 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 evaluacin y seleccin de proyectos de inversin para entidades financieras
definiendo de manera detallada la distribucin de los paquetes del sistema en las
diversas capas que ste presenta, as como una descripcin de las capas a
utilizar.

2. Descripcin de los factores de negocio


2.1 Descripcin del entorno del negocio
2.1.1 Introduccin
Uno de los desarrollos ms importantes dentro de la construccin del software es
el Desarrollo de la Arquitectura de Software, que permite representar una
estructura del sistema, sirviendo de comunicacin entre las personas involucradas
en el desarrollo y ayudando a realizar diversos anlisis que orienten el proceso de
toma de decisiones.
Este documento provee al usuario especializado una vista de la arquitectura
del Sistema para la evaluacin y seleccin de proyectos de inversin 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 aplicacin


MS Visin y empleando UML.

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


Lgica, Implementacin, Procesos e Implantacin, 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 influirn en una etapa de desarrollo.
Se tomarn en cuenta las siguientes metas y restricciones para el diseo 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 cdigo de usuario vlido


as como de una contrasea. Adems, dependiendo del perfil del usuario se
deshabilitarn opciones de manejo del Sistema para proteger informacin
confidencial.

Los requerimientos de rendimiento estipulados en el Documento de Visin,


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 organizacin. Afuera de ella no se podr acceder al sistema.

2.2.2. Restricciones Tcnicas del Sistema

Necesariamente el sistema usar como motor de Base de Datos a Oracle


siendo necesario la elaboracin de una copia de rescate de las tablas para
no afectar la informacin almacenada antes de poner en total
funcionamiento al sistema.
Las computadoras que brindarn el servicio cliente del sistema no debern
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, debern 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 prctica de una arquitectura cliente servidor. La
porcin del cliente solo se pone en ejecucin en las PC locales de los
distintos ambientes dentro de la empresa.

Los componentes se han diseado para asegurarse de obtener requisitos


mnimos de disco y memoria en el lado de las PC del cliente.

2.2.3. Tamao y Performance


La arquitectura de software elegida apoya los requisitos dominantes de capacidad
en disco y latencia, segn lo estipulado en el Documento de Visin 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 ms de 5 minutos en generar una evaluacin
ptima para los proyectos haciendo uso del algoritmo elegido y guardndolo
en base de datos.

Espacio en disco para el cliente


El espacio en disco necesario para la parte del cliente deber tener como
mnimo 500 MB de espacio libre para su correcto funcionamiento, esto
incluye tanto el tamao 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 mnimo 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 ms de 5 minutos en generar una evaluacin 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 travs de una clave.
2.3.4 Confiabilidad
El sistema tendr en cuenta que la informacin ingresada en l sea vlida, 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 Estndares
Se usar un estndar para todas las ventanas e interfaces con el usuario que
tenga el Sistema, as como los nombres, cdigos, etc.

3. Presentacin de la Arquitectura
3.1
3.1.1

Descripcin de las Diferentes Vistas o Estructuras de la Arquitectura


Vista de Casos de Uso

El diagrama de casos de uso representa la forma de cmo un cliente opera con el


sistema en desarrollo, adems de la forma tipo y orden de los elementos que
interactan y as obtener el conjunto de escenarios que contendr cada iteracin.
Cada caso de uso tiene una descripcin que especifica la funcionalidad que se
incorporar al sistema propuesto.
En este apartado se mostraran los casos de uso ms significativos del Sistema.

Realizaciones de Casos de Uso


Paquete Seguridad

Casos del uso del paquete Seguridad


Realizar el mantenimiento de usuarios
El propsito de este caso de uso es permitir el ingreso de un nuevo usuario al
sistema, la modificacin de la informacin ingresada y tambin la eliminacin del
usuario
Realizar el mantenimiento de perfiles de usuario
El propsito 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 propsito 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 segn los
perfiles asociados a estos roles.
Validar Usuario y Contrasea

El propsito 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
informacin.
Mantener Contrasea

El propsito de este caso de uso es permitir a los usuarios registrado establecer


su propia contrasea para el ingreso al programa.
Registrar Incidencias de Ingreso

El propsito de este caso de uso es mantener un registro de los intentos de


ingreso al sistema.
Registrar traza del usuario

El propsito 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 accin, y el ip de la mquina.
Importar datos para proyecto

El propsito de este caso de uso es mostrar cmo se pueden importar datos


desde XML para poder procesarlos en el software.
Realizar el mantenimiento de Proyectos

El propsito de este caso de uso es el de tener registrado todos los proyectos en


el sistema. Este caso de uso incluye el registro, la actualizacin y eliminacin de
un proyecto de inversin.
Modificar valores de los parmetros

Este caso de uso permitir modificar los valores de los parmetros usados para la
evaluacin de un proyecto, dentro de los rangos vlidos definidos.
Paquete de Reportes

Generar matriz de flujos proyectada

El propsito de este caso de uso es poder visualizar mejor los flujos que cada
proyecto maneja.
Generar tablas de ingresos y egresos

El propsito de este caso de uso es poder visualizar de una manera adecuada


todos los ingresos y egresos de cierto proyecto.
Generar Tabla de anlisis de sensibilidad

El propsito de este caso de uso es poder visualizar de una manera adecuada el


anlisis de sensibilidad para que as se muestre todo efecto que ocurre sobre el
proyecto.
Generar Tabla de simulacin

El propsito de este caso de uso es poder generar una tabla de simulacin de


monte Carlo para determinar y analizar el riesgo del proyecto de inversin.
Generar Tabla de VAN

El propsito de este caso de uso es poder determinar la VAN con los datos del
anlisis del proyecto de inversin.
Generar reporte de los proyectos existentes

El propsito de este caso de uso es poder visualizar de una manera adecuada


todos los proyectos que han sido ingresados para la simulacin.
Paquete de Ejecucin

Evaluar proyectos

El propsito de este caso de uso es evaluar segn un criterio seleccionado y


parmetros de evaluacin un Proyecto.
Cargar o Guardar resultados de comparacin entre proyectos

El propsito de este caso de uso es poder guardar las comparaciones entre


proyectos del sistema.
Listar proyectos existentes en el sistema

El propsito de este caso de uso es poder listar todos los proyectos existentes
para as poder ver que proyectos hay por evaluar.
Anlisis de sensibilidad de proyectos

El propsito de este caso de uso es permitir el cambio de valores de variables del


proyecto y mostrar los resultados obtenidos haciendo una comparacin entre
evaluaciones de un mismo proyecto modificado.
Generar el anlisis de comparacin con otros proyectos

El propsito de este caso de uso es poder visualizar de una manera adecuada la


diferencia entre diferentes proyectos de inversin y as poder elegir el mas
conveniente.

Establecer que proyectos son viables de acuerdo al presupuesto dado

El propsito de este caso de uso es poder visualizar todos los proyectos para
poder hacer una eleccin adecuada del grupo de proyectos.
Modificar lmites sobre variables o parmetros

El propsito de este caso de uso es establecer lmites de aceptacin de valores


esperados de las variables o parmetros que se obtengan en el resultado de la
evaluacin y valores aceptados en las variables del sistema.

Realizacin 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 Contrasea. Es el caso de uso en el cual est basado
todo el mdulo 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


informacin, ya que son el principal mecanismo de entrada.
Paquete de Ejecucin

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 informacin manejada y generada por el Sistema.
3.1.2 Vista Lgica
Descripcin

La vista lgica 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


aplicacin, las cuales crean las ventanas que utiliza el usuario para comunicarse
con el sistema para una adecuada y fcil utilizacin de los paquetes que se
encuentran en las siguientes capas.

El paquete Lgica 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 evaluacin y seleccin, etc.

El paquete Entidades del Negocio contiene las clases que utilizar el sistema,
entre las principales clases se tiene: Usuario, Ejecucin, 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.

Diseo en Capas
En la siguiente figura podemos observar la distribucin de los paquetes en cada
una de las capas del sistema.

Diagrama de Distribucin 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 Lgica del Negocio

Esta capa contiene los paquetes de Servicios de Negocio y Entidades de Negocio.


Contiene la lgica 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 interaccin 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 anlisis y diseo. 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.
CONTRASEA
IdContrasea

AUDITORIA

Clave
FecCreacion
Duracion

ID
IdUsuario (FK)
IdRegistro
Evento
FecEvento

VENTANA
IdVentana
Acceso
Nombre
IdPerfil (FK)
Modificar
Eliminar
Agregar

IdParametro

IdPerfil
Nombre
Descripcion

Nombre
Valor

ROLXPERFIL
IdRol (FK)
IdPerfil (FK)

USUARIO

SENSIBILIDAD

IdUsuario

IdSensibilidad

DNI
Nombres
Apellidos
FecNacimiento
Direccion
Telefono
Email
IdRol (FK)

FecAnalisis
NumCasos

CONTRASEAXUSUARIO
IdContrasea (FK)
IdUsuario (FK)
FecCreacion
FecVencimiento
PROYECTOXCLIENTE
IdCliente (FK)
IdProyecto (FK)

EJECUCION

PARAMETROS

PERFIL

IdEjecucion
IdFecha
TotalBeneficio
TotalCosto
Saldo
Tiempo

CLIENTE
IdCliente
Nombre
RUC
Direccion
Telefono
Email
Web

ROL
IdRol

CASO

Nombre
Descripcion

PROYECTO
IdProyecto
Nombre
FecInicio
FecFin
Ubicacion

EJECUCIONXPROYECTO
IdProyecto (FK)
IdEjecucion (FK)
TIR
VAN
Beneficio
Estado

VARIABLE
IdVariable
PROYECTOXVARIABLE
IdVariable (FK)
IdProyecto (FK)

TIPODEPARTAMENTO

Nombre
ValorMin
ValorMax

IdCaso
NumTorres
PisosXTorre
DepXPiso
AreaTerreno
Duracion
MontoInversion
Impuesto
CosFijos
CosVariables
NumCaso
CasoOriginal
IdSensibilidad (FK)
IdDepartamento (FK)
IdProyecto (FK)

Valor

IdDepartamento
NumHabitaciones

Vista del Diagrama de Clases Significativo


3.1.4 Vista de despliegue
El presente Diagrama de Despliegue muestra de manera grfica los nodos que
conforman el sistema, adems los describe indicando la localizacin de las tareas
en los nodos fsicos. Cada nodo representa un recurso de ejecucin como una
computadora o servidor y se encuentra conectado con otros mediante un enlace
de comunicacin. 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 tendrn acceso al servidor va LAN.
Computadora Usuario

Son las computadoras que son utilizadas por cada uno de los usuarios de la
empresa para acceder al sistema. Estn conectadas directamente al servidor
principal va LAN.
3.1.5 Vista de implementacin
Descripcin

La vista de implementacin seguir el patrn de diseo MVC (Model View


Controller). Este patrn plantea la separacin 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 interaccin del usuario con
el sistema.
Capa Lgica del Negocio

Este componente permite manejar la lgica del negocio de todas las reas
involucradas.

Seguridad
Ejecucin
Ingreso de Datos
Reportes

Capa Base de Datos

Este componente contiene toda la informacin que maneja el Sistema.

Diagrama de Implementacin del Sistema.

4. Identificacin de Estilos Arquitectnicos


En este documento de arquitectura se identifican claramente los estilos
arquitectnicos 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 estmulos externos.
Representacin

La Arquitectura a utilizar ser Cliente-Servidor.

El cliente es la aplicacin que ser implementada en el lugar donde se


encuentra la empresa.
Se desarrollar una sola aplicacin 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 estn diseados para asegurarse
de obtener requisitos mnimos de disco y memoria en el lado de las PC del
cliente.

5. Generacin 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
aadir interfaz web ( < 1 personas-mes)

Utilidad
Fallos SW/HW
Disponiblidad

El fallo en el servidor 1 implica redireccionar las


peticiones al servidor 2
Reinicio despus de fallo del gestor y del disco
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 informacin del sistema al 99.999 % del tiempo

Confidencialidad
Servicio de autentificacin disponible al 99.999
e Integridad de Datos % del tiempo
Seguridad

6. Anlisis de los estilos Arquitectnicos

En este paso se analizan claramente los estilos arquitectnicos usados en esta


arquitectura, asociando los escenarios mas prioritarios delo Arbol de Utilidad con
los estilos arquitectnicos empleados.
6.1 Identificacin de cada uno de los componentes, conectores
configuraciones y restricciones que estn directamente relacionados
con los atributos de calidad mas importantes con respecto al rbol de
utilidad

7.

Estos componentes estn implementados para asegurarse de obtener


espacio mnimos 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.
Almacn de datos: Tiene como funcin almacenar datos para su posterior
uso.
Mquina virtual: Mecanismo intermediario entre usuarios y suministradores
de una cierta funcionalidad.
Intrprete: Incluye la codificacin de funciones, parmetros y descripciones
abstractas que permiten su modificacin.
Cliente/Servidor: Proporciona una coleccin de servicios que pueden ser
usados por otros componentes segn las reglas definidas en un protocolo
fijo.

Generacin de Escenarios y asignacin de prioridades


7.1 Escenarios ms 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

Deteccin de errores en la Base de Datos del servidor permitiendo la


correccin correspondiente al momento

La Seguridad e Integracin de datos en toda la informacin

7.2 Escenarios de caso de uso

Aqu se especifica la interaccin de los usuarios con el sistema en


ejecucin

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 gestin de informacin

Aspectos de seguridad e integridad de datos

Ingreso de Datos

8. Anlisis de los estilos arquitectnicos


8.1 En los escenarios ms prioritarios del rbol de utilidad:

Rendimiento: Acceso errneo en el ingreso de datos generando retrasos en


el sistema y prdida de informacin.

El tiempo de ejecucin 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 tendrn acceso al servidor va LAN.

8.2 En los escenarios de crecimiento:

Sistemas de datos centralizados: Los aspectos fundamentales son el


almacenamiento, representacin, procesamiento y gestin 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 interaccin de los usuarios con el sistema en


ejecucin

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 gestin de informacin

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
aadir interfaz web ( < 1 personas-mes)

Utilidad
Fallos SW/HW
Disponiblidad

El fallo en el servidor 1 implica redireccionar las


peticiones al servidor 2
Reinicio despus de fallo del gestor y del disco
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 informacin del sistema al 99.999 % del tiempo

Confidencialidad
Servicio de autentificacin 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 Arquitectnicos

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 informacin no valida


generan retraso en el sistema

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

También podría gustarte