Está en la página 1de 22

PUCP Desarrollo de Programas 1

Sistema Antiplagium
Documento de Arquitectura de SW
Versin 3.0

Pg. 1 de 22

Sistema Antiplagium

Versin 2.0

Documento de Arquitectura de SW

Fecha

Versin

30/03/1 1.0
0
08/04/1 2.0
0

Pg. 2 de 22

Historia de Revisin
Descripcin
Versin inicial
Versin corregida

Autor
Kim Alvarado /
Patricia Natividad
Kim Alvarado

Tabla de Contenido
1.

Introduccin
1.1.
Propsito
1.2.
Alcance
1.3.
Definiciones, acrnimos y abreviaturas
1.3.1.
Definiciones
1.3.2.
Acrnimos
1.4.
Referencias
1.5.
Visin General del documento
2.
Representacin de la arquitectura
3.
Metas y Restricciones de la arquitectura
3.1.
Metas
3.2.
Restricciones del Sistema
4.
Vista y Realizaciones de Casos de Uso
5.
Vista Lgica
5.1
Descripcin
5.2
Diseo en Capas
5.2.1 Capa Interfaz de Usuario
5.2.2 Capa Lgica del Negocio
5.2.3 Capa Persistencia
6.
Vista de Proceso
6.1
Diagrama de clases
7.
Vista de Despliegue
7.1
Servidor
7.2
PC Cliente
8.
Vista de Implementacin
8.1
Descripcin
8.2
Niveles o Capas
8.2.1 Capa GUI
8.2.2 Capa Lgica del Negocio
8.2.3 Capa Base de Datos
9.
Diagramas de Secuencia
9.1
Paquete de Administracin
9.1.1 Registrar Usuario
9.2
Buscar Usuario
9.2.1 Eliminar Usuario
9.2.2 Reporte de Acciones
9.2.3 Registrar Cuenta
9.3
Paquete de Gestin de Pagos
9.3.1 Registrar Documento de Pago
9.3.2 Anular Documento de Pago
9.3.3 Emitir Documentos de Pago en Lote
9.3.4 Buscar Documento de Pago
9.3.5 Registrar Pago
9.3.6 Registrar Descuento
9.3.7 Generar Reporte de Historial de Pago de Cliente
9.3.8 Generar Reporte de Historial de Pago por Periodo
9.5
Paquete de Cliente
9.5.1 Registrar Cliente
9.5.2 Modificar Cliente
9.5.3 Buscar Cliente
9.5.4 Registrar Contrato
9.5.5 Modificar Contrato
9.5.6 Buscar Contrato
10.
Tamao y performance
11.
Calidad
11.1
Usabilidad

Pg. 3 de 22

5
5
5
5
5
5
6
6
7
7
7
7
8
13
13
15
16
16
16
16
16
18
19
19
20
20
20
20
20
20
21
21
21
21
22
22
23
24
24
24
25
25
26
26
27
27
31
31
31
32
32
33
33
36
37
37

11.2
11.3
11.4
11.5
11.6

Eficiencia
Seguridad
Confiabilidad
Mantenimiento
Estndares:

Pg. 4 de 22

37
37
37
37
37

Documento de Arquitectura de Software


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 la estructura
del sistema, sirviendo de comunicacin entre las personas involucradas en el
desarrollo, adems de ayudar a realizar el anlisis para la toma de decisiones.
Este documento provee al usuario especializado una vista de la arquitectura del
Sistema Antiplagium.
La plantilla de este documento se bas en las especificaciones de RUP (Rational
Unified Process) para el documento de arquitectura de software.
1.1.

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.2.

Alcance

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


para deteccin de plago Antiplagium, 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.
1.3.

Definiciones, acrnimos y abreviaturas

Se brindan definiciones y acrnimos de trminos usados en el presente


documento que necesiten de alguna explicacin para su correcta interpretacin.
1.3.1.Definiciones
Paquetes
Actor
Caso de Uso
Star UML

Agrupaciones de casos de uso y actores por funcionalidad


que proveen.
Alguien o algo externo al sistema que interacta con l.
Secuencia de acciones que el sistema realiza, la cual
proporciona un resultado de valor observable.
Se refiere a las herramientas que permiten realizar el
modelado de los diagramas presentados en este
documento.

1.3.2.Acrnimos
ERS
RUP
UML

Pg. 5 de 22

Especificacin de Requisitos de Software


Rational Unified Process
Unified Modeling Language

1.4.

Referencias

Las referencias aplicables son:


1. Documento de Especificacin de Requisitos del Sistema Antiplagium.
2. Documento de Visin del Sistema Antiplagium.
3. Plan de Proyecto del Sistema Antiplagium.
1.5.

Visin General del documento

En las diez secciones de este documento se detalla la arquitectura del software a


desarrollar. Para ello se presenta de manera clara el caso de uso que mas
representa la arquitectura del sistema, empleando un lenguaje sencillo y directo,
as como grficos y vistas de acuerdo a la metodologa utilizada.

Pg. 6 de 22

2. Representacin de la arquitectura
La Arquitectura a utilizar ser Cliente-Servidor. Se desarrollar una sola aplicacin
integrada, en la que solo se permitir el acceso a los usuarios registrados en el
sistema y a las tareas a las cuales tengan acceso autorizado. Se emplear un
solo servidor centralizado.
La arquitectura se muestra como una serie de vistas, utilizando la aplicacin Star
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.

3. Metas y Restricciones de la arquitectura


La meta principal de la arquitectura del sistema es mostrar los aspectos
principales que influirn en la etapa de desarrollo.
Se tomarn en cuenta las siguientes metas y restricciones para el diseo de la
arquitectura del sistema:
3.1.

Metas

1. El Sistema Antiplagium permitir a los usuarios acceder al sistema desde


cualquier Terminal.
2. Para poder acceder al Sistema Antiplagium, 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.
3. Los requerimientos estipulados en el Documento de Visin, deben de ser
considerados como parte de la arquitectura del sistema a implementar.
4. El uso del sistema para los trabajadores de la Institucin Educativa se
limita a dentro de la organizacin. Fuera de ella no se podr acceder al
sistema.
3.2.

Restricciones del Sistema

1. El sistema usar PostgreSql como motor de Base de Datos


necesariamente. Debe considerarse obligatorio la elaboracin de una copia
de rescate de las tablas para no afectar la informacin almacenada antes
de poner en total funcionamiento al sistema.
2. Las caractersticas tcnicas de las computadoras que sern utilizadas no
debern presentar potencias menores a las brindadas por una Pentium 4,
con al menos 1 GB de RAM y 500 MB de espacio libre en el disco, con
Sistema Operativo Linux.
3. Las computadoras que utilicen el sistema debern de tener instalado el JRE
1.6 o superior ya que el mismo ser desarrollado en java.

Pg. 7 de 22

4. Vista y Realizaciones de Casos de Uso


El diagrama de casos de uso representa la forma de cmo el usuario interacta
con el sistema a desarrollar, as podremos 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 del Sistema.
4.1

Paquete de Usuarios

Diagrama 1. Paquete de Usuarios


CU_PU001.

4.2

Paquete de Documentos

Paquete Documentos
Profesor
Buscar Documentos

Gestionar Documentos
Principal
<<extend>>
Buscar categora de documentos

Administrador

Gestionar categoras de documentos

Diagrama 2. Paquete de Documentos


CU_PDOC001 Buscar Documentos
Este caso de uso sirve para consultar por los documentos ingresados en la base de
datos.
CU_PDOC002 Gestionar Documentos
Este caso de uso permite subir y eliminar documentos de la base de datos.

Pg. 8 de 22

CU_PDOC003 Buscar categora de Documentos


Este caso de uso permite consultar las categoras existentes para clasificar los
documentos.
CU_PDOC004 Gestionar categoras de documentos
Este caso de uso permite registrar, modificar y eliminar categoras de clasificacin
de documentos.

4.3

Paquete de Deteccin

Paquete Deteccion

Profesor
Comparar documentos

Mostrar resultados de comparacin


Principal

Diagrama 3. Paquete de Deteccin


CU_PDET001 Comparar Documentos

Este caso de uso permite realizar la comparacin para deteccin de plagio


entre documentos (esto implica la implementacin de un algoritmo
adecuado).
CU_PDET002 Mostrar resultados de comparacin

Este caso de uso permite mostrar los resultados de comparaciones


pasadas que se hayan realizado entre archivos y en un determinado rango
de fechas.

Pg. 9 de 22

5. Vista Lgica
5.1

Descripcin

La vista lgica del sistema Antiplagium est compuesta de cuatro paquetes


principales: Interfaz de usuario (GUI), servicios del Lgica (Logic), objetos de
procesamiento (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.

Interfaz de usuario

El paquete Lgica contiene las clases que permiten llevar a cabo los servicios de
procesamiento, como son: Controlar el mantenimiento de usuarios, Mostrar
resultados de comparaciones, etc.

Lgica del negocio (BL)

El paquete Entidades contiene las clases que utilizar el sistema Antiplagium,


entre las principales clases se tiene: Usuario, Documento, Detector, Provilegio,
etc.

Entidades del negocio (BE)

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.

Acceso a Datos (DA)

Pg. 10 de 22

5.2

Diseo en Capas

En la siguiente figura podemos observar la distribucin de los paquetes en cada


una de las capas del sistema.
Interfaz de usuario

Interfaz de usuario

Lgica del negocio

Lgica del negocio

Entidades del negocio

Persistencia

Acceso a Datos

Base de Datos

Base de Datos

Figura .5.1: Diagrama de Distribucin de Capas del Sistema

Pg. 11 de 22

5.2.1 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.
5.2.2 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.
5.2.3 Capa Persistencia
Esta capa contiene el paquete de Objetos de Acceso de Datos, que brinda una
interfaz transparente para la interaccin con la Base de Datos.

6. Vista de Proceso
6.1

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.
Figura 6.1: Vista del Diagrama de Clases

Detector

Operacion
+idOperacion
+nombre
+descripcion

tiene

ResultadoComparacion

0..*

+idResultadoComparacion
+fecha
+porcentaje
0..* RegistroOperacion

0..* +RegistrarResultadoComparacion()
+BuscarResultadoComparacion()

+idRegistroOperacion
+fecha

registra

0..*
0..*
2do doc. comparado

0..*

realiza

tiene

1er doc. com


1parado

1
Rol
+idRol
+nombre

0..*
pertenece

+RegistraRol()
+EliminarRol()
+ModificarRol()
+BuscarRol()
PrivilegioXRol

Privilegio
+idPrivilegio
+nombre
+RegistrarPrivilegio()
+BuscarPrivilegio()
+EliminarPrivilegio()

Pg. 12 de 22

Documento

Usuario
+idUsuario
+nombres
+apellidoPaterno
+apellidoMaterno
+alias
+password
+fechaRegistro
+estado

1
0..*

1
registra

+idDocumento
+nombre
+estado

0..*pertenece

+RegistrarDocumento()
+BuscarDocumento()
+EliminarDocumento()

+RegistrarUsuario()
+ModificarUsuario()
+EliminarUsuario()
+BuscarUsuario()

Categoria
+idArea
+nombre
+descripcion
UsuarioXCategoria

+RegistraCategoria()
+BuscarCategoria()
+EliminarCategoria()

7. 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.
PC Cliente

Servidor

Red LAN
Aplicacin Antiplagium

Figura 7.1: Diagrama de Despliegue del Sistema. Servidor (Base de Datos) y


Cliente (Computadora usuario).

Interfaz de Usuario

Lgica del Negocio

Entidades del Negocio

Acceso a Datos

Figura 7.2: Diagrama Componentes del Sistema.

Pg. 13 de 22

7.1

Servidor

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


usuarios tendrn acceso al servidor va LAN.
7.2

PC Cliente

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.

Pg. 14 de 22

8. Vista de Implementacin
8.1

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.
8.2

Niveles o Capas

8.2.1 Capa GUI


El componente GUI maneja las clases que permiten la interaccin del usuario con
el sistema.
8.2.2 Capa Lgica
Este componente permite manejar la lgica del negocio de todas las reas
involucradas.

Administracin del Sistema


Usuarios
Privilegios
Comparaciones
Registro de documentos

8.2.3 Capa Base de Datos


Este componente contiene toda la informacin que maneja el Sistema.

Aplicacin Antiplagium

Sistema

Usuario

Documento

Figura 8.1: Diagrama de Implementacin del Sistema.

Pg. 15 de 22

9. Diagramas de Secuencia
9.1

Paquete de Usuarios

//Meter diagramas
9.2

Paquete de Documentos

Gestionar Categora

Pg. 16 de 22

FrmCategoria

CategoriaBL

CategoriaDA

ConectionDA

: Administrador
1 : IngresarCategoriaDocumento()
2 : <<create>>()
GestorCategoria
3 : <<create>>()
4 : Conectar()
5 : insertarCategoria(CategoriaBE)()

<<create>>
6
7 : populate()
8
<<destroy>>

FrmCategoria

ConectionDA

CategoriaBL

9 : BuscarCategoria(codigo,nombre)()
<<create>>
10
<<create>>
11

12 : Conectar()

13 : BuscarCategoria(codigo,nombre)()

14 : ObtenerCategoria()

15 : listaCategorias

16 : CategoriaBE()

17 : cargarCategoria()
<<destroy>>
18

<<destroy>>
19

ConectionDA

CategoriaBL

FrmCategoria

20 : Categoria=SeleccionarCategoria()

21 : EliminarCategoria(Categoria)()
<<create>>
22
<<create>>
23
24 : Conectar()
25 : EliminarCategoria(Categoria)()

Pg. 17 de 22

26 : EliminarCategoria(Categoria)()

Gestionar
Documentos

FrmDocumento

DocumentoBE

CategoriaBL

ConectionDA

: Profesor
1 : IngresarDocumento()
<<create>>
2
3 : BuscarCategoria()

4 : BuscarCategoria()
5 : Conectar()
6 : ObtenerCategorias()

7 : listaCategorias
8 : CategoriasBE
9 : CargarCategorias()
<<destroy>>
10
<<destroy>>
11
12 : validarCampos()

ConectionDA

DocumentoBL
<<create>>
13

<<create>>
14

15 : Conectar()

16 : registrar(DocumentoBE)()

17 : insertar(documentoBE)()

<<destroy>>
18
<<destroy>>
19

<<destroy>>
20
21 : buscarDocumento(nombre,categoria,fecha)()
DocumentoBL
ConectionDA

22 : validarDatos()
<<create>>
23
<<create>>
24

25 : conectar()

26 : buscarDocumento(nombre,categoria,fecha()

27 : obtenerDocumentos(nombre,categoria,fecha()

28 : listaDocumentos()

29 : DocumentoBE
30 : cargarDocumentos()
<<destroy>>
31
<<destroy>>
32

DocumentoBL

33 : seleccionarDocumento()

ConectionDA

34 : eliminarDocumento()
<<create>>
35
<<create>>
36

9.3

37 : conectar()
38 : eliminarDocumento(documentoBE)()

39 : eliminarDocumento(DocumentoBE)()
<<destroy>>
40

Pg. 18 de 22

<<destroy>>
41

Paquete de Deteccin

Comparar
Documentos

FrmDeteccion

DeteccionBL

DeteccionDA

ConectionDA

: Profesor

1 : MostrarResultadosComparacion()
2 : MostrarResultadosComparacion()

3 : ObtenerComparacion()

GestorResultados

4 : Conectar()
<<create>>
5
6 : populate()
7 : Desconectar()

8 : ObtenerDocumentos()
GestorDocumentos

9 : Conectar()
<<create>>
10

Documento

11 : populate()
12 : Desconectar()

loop ObtencionResultados
13 : ObtenerCoincidencia()

14 : ObtenerOracion()

15 : ObtenerOracion()

Mostrar resultados comparacin

Pg. 19 de 22

FrmDeteccion

DeteccionBL

DocumentoDA

ConectionDA

: Profesor
1 : IngresarDocumentoComparar()

loop IngresoDocumentos

2 : IngresarDocumentosSistema()

3 : ObtenerDocumentos()

4 : ObtenerDocumentos()
5 : Conectar()
GestorDocumentos
<<create>>
6

7 : populate()
8 : Desconectar()
Detector
9
<<create>>
loop ComparacionDocumentos
10
<<create>>
11 : CompararDocumentos()

12
<<destroy>>

Pg. 20 de 22

10.

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
Especificacin de Requisitos de Software de Antiplagium y el Documento de
Visin del Proyecto del Sistema Antiplagium.
1. 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.
2. Tiempo de respuesta de transacciones
El programa no demorar ms de 15 minutos en generar reporte de comparacin
de documentos haciendo uso del algoritmo elegido y guardndolo en base de
datos.
3. 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.
4. 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.
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.

Pg. 21 de 22

11.

Calidad

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


siguientes requerimientos de calidad:
11.1 Usabilidad
El sistema permitir un manejo intuitivo por parte de los usuarios.
11.2 Eficiencia
El programa no demorar ms de 15 minutos en generar un reporte de
comparacin de documentos.
11.3 Seguridad
El sistema permitir el acceso a funcionalidades dependiendo del perfil del
usuario que ingresa al sistema, validando su ingreso a travs de una clave.
11.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.
11.5 Mantenimiento
El sistema ser flexible, facilitando su mantenimiento futuro.
11.6 Estndares:
Se usar un estndar para todas las ventanas e interfaces con el usuario que
tenga el Sistema Antiplagium, as como los nombres, cdigos, etc.

Pg. 22 de 22