Arquitectura de Software
Arquitectura de Software
Arquitectura de Software
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
HISTORIAL DE CAMBIOS
Versin
Autor
Descripcin
Fecha de Elaboracin
0.2
10/02/2015
0.3
11/02/2015
0.4
12/02/2015
0.5
Requisitos No Funcionales
Vista Lgica
Vista de CUS
27/02/2015
0.6
Vista Lgica
Vista de Implementacin
Vista de Procesos
Vista de Despliegue
Tamao y Desempeo
Calidad
28/02/2015
Confidencial
Pgina 2 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
INDICE
1.
INTRODUCCIN
1.1. Propsito
1.2. Alcance
1.3. Definiciones, acrnimos y abreviaturas
1.4. Referencias
1.5. Visin General
2. VISTA GENERAL DE LA ARQUITECTURA
2.1. Capa de presentacin
2.2. Capa de Lgica de Negocio
2.3. Capa de acceso a datos
3. METAS Y RESTRICCIONES DE LA ARQUITECTURA
4. VISTA CASOS DE USO
4.1. Diagrama de Caso de Uso
4.2. Casos de Uso Significativos de la Arquitectura
5. VISTA LGICA DEL SISTEMA
5.1. Generalidades
5.2. Paquetes de Diseo Arquitectnico Significativos
5.3. Interpretaciones de los Casos de Uso
6. VISTA DE PROCESOS
6.1. Web Services
6.2. Navegador
6.3. Email
7. VISTA DE IMPLEMENTACIN
7.1. Generalidades
7.2. Capas
8. VISTA DE DESPLIEGUE
9. VISTA DE DATOS
9.1. Modelo de Base de Datos Lgico y Fsico
10. TAMAO Y DESEMPEO
11. CALIDAD
Confidencial
Pgina 3 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
Confidencial
Pgina 4 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
Subsistema
Calificacin y
Evaluacin
Capa de
Presentacin
Capa de
Aplicacin y
Lgica de
Negocio
Capa de Base
de Datos
Confidencial
Pgina 5 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
b.
c.
d.
e.
f.
Confidencial
Pgina 6 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
Confidencial
Pgina 7 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
Confidencial
Pgina 8 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
1.1.2.
Confidencial
Pgina 9 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
1.1.3.
Versin: 0.2
Fecha: 12/02/2015
1.1.4.
1.1.5.
Confidencial
Pgina 10 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
Requerimientos No Funcionales
Validar en Sistema
Registrar Asistencia - Docente
Registrar Asistencia - Alumnos
Registrar Nota-Alumno
Generar reporte Syllabus Docente
Seguridad
Rendimiento, Confiabilidad
Rendimiento, Confiabilidad
Rendimiento, Confiabilidad
Rendimiento, Confiabilidad
Confidencial
Pgina 11 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
Confidencial
Pgina 12 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
Los patrones que hemos utilizado para nuestro sistema SAPEA, son los siguientes:
Patrn Adapter
- Utilizaramos el patrn adaptador para la comunicacin con el Aula Virtual (AV). De
este modo, si te cambian el AV, el nico sitio donde tendramos que cambiar el
cdigo es en aquella clase que realiza el papel de adaptador. La diferencia es
sustancial: sin un adaptador probablemente tendramos que cambiar el cdigo de tu
aplicacin en varias lneas, dispersas en decenas o incluso cientos de clases.
Confidencial
Pgina 13 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
Patrn Estado
- En el caso de obtener un usuario del sistema, primero se ingresara la cuenta y
contrasea, y se verificara en la base de datos si el usuario existe, entonces
verificaremos dos posibles estado Registrado y No registrado, en caso que el
usuario este registrado se cargara sus datos, en caso que no se mostraran
mensajes de que el usuario no est registrado.
<Validar en Sistema>
Clases
Usuario
Atributos de la clase
USUARIO
Nombre
Descripcin
CUENTA
CONTRASEA
Tipo Dato
Varchar2 (20)
Varchar2 (20)
Es
PK
SI
NO
Es
FK
NO
NO
Confidencial
Pgina 14 de 30
Es
Null
NO
NO
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
Clases
U_Docente
Curso
Asistencia_D
Delegado
Atributos de la Clase
CURSO
Nombre
Descripcin
NOM_CURSO
MOD
GRUPO
N_ALUMNOS
COD_PROFESOR
COD_ALUMNO
Tipo Dato
Varchar2 (80)
Varchar2 (20)
Numeric (1,0)
Numeric (2,0)
Varchar2 (8)
Varchar2 (8)
Es
PK
SI
NO
NO
NO
NO
NO
Es
FK
NO
NO
NO
NO
SI
SI
Es
Null
NO
NO
NO
NO
NO
NO
Es
PK
NO
NO
Es
FK
NO
NO
Es
Null
NO
NO
ASISTENCIA_D
Nombre
Descripcin
ESTADO
CONFIRMACION
Estado de la Asistencia
Confirmacin del alumno delegado
Tipo Dato
Varchar2 (20)
Varchar2 (20)
<Registrar Asistencia-Alumnos>
Clases
U_Docente
Curso
U_Alumno
Asistencia_A
Confidencial
Pgina 15 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
ASISTENCIA
Nombre
Descripcin
NOM_CURSO
MOD_CURSO
GRUPO_CURSO
FECHA
HORA
Tipo Dato
Varchar2 (80)
Varchar2 (20)
Numeric (1,0)
Timestamp(6)
Timestamp(6)
Es
PK
NO
NO
NO
NO
NO
Es
FK
SI
SI
SI
NO
NO
Es
Null
NO
NO
NO
NO
NO
Operaciones de Clase
getCurso()
getGrupo()
getModalidad()
BuscarAlumnos()
marcarAsistencia()
setHora()
setFecha()
Clases
Curso
U_Docente
U_Alumno
Sistema_Calificacion
Notas_A
Atributos de Clase
SISTEMA_CALIFICACION
Nombre
Descripcin
NOM_CURSO
PORCENTAJE_PARCIAL
PORCENTAJE_FINAL
PORCENTAJE_PRACTICA
PORCENTAJE_LAB
Tipo Dato
Varchar2 (80)
Numeric (2,0)
Numeric (2,0)
Numeric (2,0)
Numeric (2,0)
Es
PK
SI
NO
NO
NO
NO
Es
FK
SI
NO
NO
NO
NO
Es
Null
NO
NO
NO
NO
SI
Es
PK
SI
NO
NO
NO
NO
NO
NO
NO
NO
Es
FK
SI
SI
NO
NO
NO
NO
NO
NO
NO
Es
Null
NO
NO
NO
SI
NO
NO
SI
NO
SI
NOTAS_A
Nombre
Descripcin
COD_ALUMNO
NOM_CURSO
PROM_PRACTICA
LABORATORIO
E_PARCIAL
E_FINAL
E_SUSTITUTORIO
PROM_FINAL
ESTADO
Tipo Dato
Varchar2 (8)
Varchar2 (80)
Numeric (2,0)
Numeric (2,0)
Numeric (2,0)
Numeric (2,0)
Numeric (2,0)
Numeric (2,0)
Varchar2 (20)
Confidencial
Pgina 16 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
guardar()
modificar()
setNota()
getNota()
5.2.5. Subsistema Aula Virtual
5.2.5.1.
Clases
Usuario (Director de Escuela)
Atributos de Clase
USUARIO
Nombre
CUENTA
CONTRASEA
Descripcin
Identificador del usuario del sistema.
Contrasea nica del usuario.
Tipo Dato
Varchar2 (20)
Varchar2 (20)
Es
PK
SI
NO
Es
FK
NO
NO
Operaciones de la Clase
cargarAulaVirtual()
mostrarContenidos()
generarReporte()
Confidencial
Pgina 17 de 30
Es
Null
NO
NO
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
Confidencial
Pgina 18 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
Confidencial
Pgina 19 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
6. VISTA DE PROCESOS
Confidencial
Pgina 20 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
6.2. Navegador
Confidencial
Pgina 21 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
6.3. Email
7. VISTA DE IMPLEMENTACIN
7.1. Generalidades
7.2. Capas
7.2.1. Capa de Presentacin
Confidencial
Pgina 22 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
7.2.1.1.
Versin: 0.2
Fecha: 12/02/2015
<Gestor Web>
Este componente se encargara de la gestin del portal de la
FISI, donde se podr acceder al sistema SAPEA. As como
tambin este componente podr acceder a nuestro servidor web
y a la red del sistema.
7.2.2.1.
7.2.2.2.
7.2.2.3.
7.2.2.4.
7.2.2.5.
7.2.2.6.
7.2.2.7.
Confidencial
Pgina 23 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
7.2.3.1.
8. VISTA DE DESPLIEGUE
Configuraciones fsicas de red:
Utilizaremos la topologa tipo rbol ya que combina
caractersticas de la topologa de estrella con la BUS.
Consiste en un conjunto de subredes estrella
conectadas a un BUS. Esta topologa nos facilita el
crecimiento de la red. Utilizaremos cable UTP catg 6A
Infraestructura de la red:
Primer Piso:
Confidencial
Pgina 24 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Segundo Piso:
Tercer piso:
Versin: 0.2
Fecha: 12/02/2015
Confidencial
Pgina 25 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
Entorno de Desarrollo
NOMBRE DEL SERVIDOR
Servidor_D
DESCRIPCION Y OBJETIVO DEL SERVIDOR
En este servidor se almacenar el cdigo fuente de nuestro Sistema, en este entorno
trabajaran los desarrolladores.
Entorno Web
NOMBRE DEL SERVIDOR
DESCRIPCION Y OBJETIVO DEL SERVIDOR
En este servidor estarn todos los servicios va web.
Servidor_Web
Confidencial
Pgina 26 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
9. VISTA DE DATOS
9.1. Modelo de Base de Datos Lgico y Fsico
Mejorar el rendimiento
Espacio en memoria y en disco
Tiempo de procesador
Tiempo de disco
Contencin
Coste de los procesos auxiliares
Escalabilidad
Volumen de usuarios y datos
Sobre el almacenamiento:
Tablas y registros
Para aumentar el al rendimiento en el acceso a los datos se utilizara los siguientes
mtodos:
ndices n ( Arboles B+)
Estructuras auxiliares para mejorar el tiempo de bsqueda n ordenacin n ORDER BY,
GROUP BY, DISTINCT.
Backup, ficheros de logs de transacciones, ficheros de configuracin y logs
binarios.
Confidencial
Pgina 27 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
Optimizar las tablas: despus de inserts y updates las tablas se llenan de espacio
intil, por lo que es necesario optimizar las tablas usando OPTIMIZE TABLE.
Vaciar la cach: al ejecutarse selects con
tamaos diferentes de resultados, el cache se defragmenta, lo cual hace necesario
que se vacie la cache (FLUSH QUERY CACHE).
Uso de Procedimientos Almacenados : Para la seleccin de datos ms rpida por
parte del motor de base datos
Uso de disparadores: Al cumplirse una condicin establecida.
Confidencial
Pgina 28 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
Debido a que el SAPEA est orientado solo para los usuarios de la FISI, su uso est
destinado nicamente para estos. Se podra hacer factible su uso para otras
facultades y/o instituciones las cuales estn orientadas al rubro de la educacin y que
sus reglas del negocio se aproximen a las de la FISI.
Eficiencia
El sistema tendr una respuesta casi inmediata (entre 1 y 3 segundos), debido a que
realiza servicios en lnea, por lo que depende del internet. Su rendimiento esta
solamente limitado a la velocidad del internet.
Seguridad
El sistema permitir el uso de sus distintas funcionalidades dependiendo del perfil con
el que el usuario accede al sistema, validando su ingreso a travs de su usuario y
contrasea (ya sea Alumno, Docente o Personal Administrativo). Por lo tanto no puede
haber filtro de informacin de un usuario a otro ya que cualquier accin realizada por
uno de estos ser registrada en el sistema como un historial junto con los datos
personales.
Los datos no pueden ser visualizados o manipulados desde el exterior ya que se usa
un motor de base de datos Oracle 11g al cual solo se puede acceder si es que loguea
el usuario registrado en el sistema.
Confiabilidad
El sistema siempre validara los datos ingresados y mostrara mensajes indicando la
posible solucin en caso de presentar errores. En varios formularios se han
restringidos la digitacin de ciertos caracteres para asegurar la validacin de los datos
a la hora de ser guardados en el sistema.
En caso de que sucedan errores en el sistema, se mostraran mensajes indicando los
detalles de estos errores para que el usuario tome las medidas adecuadas ante estos.
Adems el sistema dar a conocer el resultado de las acciones de los usuarios,
mediante mensajes de confirmacin o variaciones en pantalla.
Mantenimiento
El mantenimiento estar regido de acuerdo a las necesidades de la FISI y los posibles
fallos que surjan y que no se hayan identificado. Debido a que el sistema no es de
gran envergadura y solo est orientado a web, su mantenimiento futuro no tendr
muchas dificultades incluso si el personal de desarrollo fuese diferente al inicial, ya
que adems el cdigo es bastante flexible.
Estndares
Se usar un estndar para todas las ventanas e interfaces. Asimismo se tendr un
estndar para el nombre de los formularios, clases, variables, mtodos y los cdigos.
Integridad
El sistema mantiene la informacin de los usuarios consistente con lo que stos
diligencian al ingresar a ste. Para lograr esto, se mantiene el almacenamiento de la
informacin como un mdulo aparte el cual no es accedido directamente por ningn
tipo de agente externo.
Escalable
El sistema permite la adhesin de nuevos componentes con el fin de dar ms
funcionalidades al sistema. En el caso de agregar un nuevo componente en la
Confidencial
Pgina 29 de 30
SAPEA
Documento de Arquitectura de Software
Arquitectura de Software.doc
Versin: 0.2
Fecha: 12/02/2015
arquitectura, esto se hace de manera transparente adicionando una interfaz del nuevo
mdulo para que sea utilizada por los ya existentes.
Confidencial
Pgina 30 de 30