Sunteți pe pagina 1din 19

Laboratorio de Investigacin de Sistemas de

Informacin

Sistema de Automatizacin del Mtodo MECAP


(SAM)
Documento de la Arquitectura del Software
Versin 1.3

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM

Versin:
1.3
Fecha: 14/07/2010

Historia de Revisin
Fecha

Versin

Descripcin

19/05/2010

1.0

Versin inicial del documento, previa a


la Fase de Construccin del proyecto

Autor

Nicols Cova
Carlos Castillo

01/06/2010

1.1

Conversin
de
Diagramas
de
Configuracin Estndar del Sistema
SAM, Componentes de Capa del patrn
MVC a UML. Actualizado Diagrama de
CU. Agregado Diagrama de Modelo de
Dominio.

Minty Ascencin
Carlos Castillo
Adriana Cerqueiro
Nicols Cova
Stefano DAmbrosio
Minty Ascencin

18/06/2010

1.2

Actualizacin de Diagrama de Modelo


de Dominio y Diagrama de Casos de
Uso. Inclusin de Diagrama ER,
Diccionario de Datos, Diagrama de
Clases, Diagramas de Secuencia.

Carlos Castillo
Adriana Cerqueiro
Nicols Cova
Stefano DAmbrosio
Minty Ascencin

14/07/2010

1.3

Inclusin de los Diagramas de


Componentes para las Capas Modelo,
Vista y Controlador. Actualizacin de
Diccionario de Datos, Diagrama ER,
Modelo de Dominio.

Carlos Castillo
Adriana Cerqueiro
Nicols Cova
Stefano DAmbrosio

Confidencial

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

Pgina 2 de 19

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM

Versin:
1.3
Fecha: 14/07/2010

Tabla de Contenidos
1.

Introduccin

1.1
1.2
1.3
1.4
1.5

4
4
4
4
4

Propsito
Alcance
Definiciones, Siglas, y Abreviaciones
Referencias
Vista Global

2.

Representacin Arquitectnica

3.

Metas y Restricciones Arquitectnicas

4.

Vista de Casos de Uso

5.

Vista Lgica

6.

7.

8.

9.

5.1

Visin general
5.1.1 Diagrama de Conceptual (Modelo de Dominio)
5.1.2 Diagrama de Clases
5.2
Realizaciones de los casos de uso
5.2.1 Crear Cuenta
5.2.2 Iniciar Sesin
5.2.3 Cerrar Sesin
5.2.4 Consultar Usuario
5.2.5 Modificar Usuario
5.2.6 Crear Proyecto

7
7
8
9
9
9
10
10
11
11

Vista de Implantacin

11

6.1

11

Configuracin Estndar

Vista de Implementacin

12

7.1
7.2

12
13
13
14
15

Vista General
Capas
7.2.1 Vista
7.2.2 Controlador
7.2.3 Modelo

Vista de Datos

16

8.1
8.2

16
16

Diagrama Entidad-Relacin (ER)


Diccionario de Datos

Tamao y Desempeo

18

10. Calidad

Confidencial

19

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

Pgina 3 de 19

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM

Versin:
1.3
Fecha: 14/07/2010

Documento de la Arquitectura del Software


1.

Introduccin

1.1

Propsito
El propsito del documento presente tiene como propsito presentarles a los participantes del proceso de
desarrollo del Sistema SAM una visin clara de los distintos aspectos que conforman la arquitectura del
sistema. El Documento de Arquitectura del Software busca el aumento de la productividad del equipo
desarrollador y sentar las bases de la arquitectura del software, con el fin de facilitar las actividades de
anlisis y toma de decisiones que puedan llevarse a cabo en un futuro.

1.2

Alcance
Definir y unificar los criterios de desarrollo del Sistema SAM con respecto a los aspectos arquitectnicos
del proyecto, mostrando los detalles sobre los paquetes, capas y procesos que conformaran el sistema.

1.3

Definiciones, Siglas, y Abreviaciones


A continuacin presentamos las abreviaturas y definiciones de los trminos de mayor importancia que se
encuentran en el documento.
LISI: Laboratorio de Investigacin de Sistemas de Informacin.
MECAP: Mtodo para Especificar CAsos de Prueba de software.
MVC: Modelo Vista Controlador. Estilo de arquitectura de software, frecuentemente visto en
aplicaciones Web, que divide los procesos en tres capas.
MySQL: sistema de gestin de bases de datos relacional, distribuido como software libre.
PHP: lenguaje de programacin interpretado, diseado para la construccin de pginas web dinmicas.
SAM: Sistema Automatizado de MECAP.
USB: Universidad Simn Bolvar.

1.4

Referencias

Documento de Visin del Sistema (v 1.0 02/05/2010).

Documento de Especificacin de Requerimientos del Sistema (v 1.0 19/05/2010).

1.5

Vista Global
En las siguientes diez (10) secciones del documento se detalla la arquitectura del Sistema SAM a
desarrollarse. Se har hincapi en los detalles de las distintas vistas (lgica, casos de uso, procesos,
implementacin e implantacin) que conformaran la arquitectura del software (adems de otros aspectos
relevantes), empleando el lenguaje ms sencillo posible y haciendo uso de diagramas donde se considere
necesario con el fin de expresar las ideas de la forma ms concisa.

2.

Representacin Arquitectnica
La representacin arquitectnica del Sistema SAM se encuentra basada en el modelo de 4+1 Vistas de
Philippe Kruchten. En el transcurso del documento se tratara ms a fondo los detalles de cada una.

Confidencial

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

Pgina 4 de 19

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM

3.

Versin:
1.3
Fecha: 14/07/2010

Metas y Restricciones Arquitectnicas


Con el desarrollo del sistema SAM se busca obtener una aplicacin con un alto nivel de portabilidad, de
fcil distribucin y con un alto nivel de reusabilidad. En sus etapas iniciales, la aplicacin ser instalada en
un servidor dentro de la USB, pero se busca obtener una pieza de software que se pueda instalar en
cualquier servidor, con un mnimo de esfuerzo y con el mejor performance posible. Entre las restricciones
principales del desarrollo del sistema SAM se encuentran: hacer uso de tecnologas de software libre (en
nuestro caso, el lenguaje PHP y el manejador de base de datos MySQL) y el uso del patrn MVC para el
desarrollo de la herramienta (impuesto por el LISI). Por ltimo, se tiene como meta lograr que el sistema
SAM pueda ejecutarse sin percances en los navegadores web Microsoft Internet Explorer y Mozilla
Firefox, con el fin de poder serle til a la mayor cantidad de usuarios posible.

Confidencial

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

Pgina 5 de 19

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM

4.

Versin:
1.3
Fecha: 14/07/2010

Vista de Casos de Uso

Confidencial

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

Pgina 6 de 19

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM

Versin:
1.3
Fecha: 14/07/2010

5.

Vista Lgica

5.1

Visin general

5.1.1

Diagrama de Conceptual (Modelo de Dominio)


A continuacin proponemos un Modelo Conceptual (diagrama de Modelo de Dominio) para demostrar
cuales son los conceptos ms relevantes y sus asociaciones para el Sistema SAM.

Diagrama de Modelo del Dominio

Confidencial

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

Pgina 7 de 19

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM
5.1.2

Versin:
1.3
Fecha: 14/07/2010

Diagrama de Clases

Diagrama de Clases

Confidencial

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

Pgina 8 de 19

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM
5.2

Realizaciones de los casos de uso

5.2.1

Crear Cuenta

5.2.2

Iniciar Sesin

Confidencial

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

Versin:
1.3
Fecha: 14/07/2010

Pgina 9 de 19

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM
5.2.3

Cerrar Sesin

5.2.4

Consultar Usuario

Confidencial

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

Versin:
1.3
Fecha: 14/07/2010

Pgina 10 de 19

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM

Versin:
1.3
Fecha: 14/07/2010

5.2.5

Modificar Usuario

5.2.6

Crear Proyecto

6.

Vista de Implantacin

6.1

Configuracin Estndar
El Sistema SAM se est desarrollando con una configuracin estndar sencilla. El Sistema SAM se
hospedar y ejecutar desde un servidor principal, junto con el manejador de base de datos y los datos de la
aplicacin. Los usuarios tendrn acceso al sistema mediante el uso de estaciones de trabajo conectadas
directamente al servidor (mediante una red interna, por ejemplo) o a travs de Internet (asumiendo que
conozcan la direccin I.P. del servidor en donde se ejecute el sistema SAM). Dichos clientes deben ejecutar
un navegador web para poder hacer uso del sistema. Se recomienda tener un servidor de respaldo, el cual
monitoree el servidor principal y pueda detectar cuando haya fallas en el mismo.

Confidencial

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

Pgina 11 de 19

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM

Versin:
1.3
Fecha: 14/07/2010

Diagrama de la Implantacin Estndar del Sistema SAM

7.

Vista de Implementacin

7.1

Vista General
El Sistema SAM se desarrollar, a peticin de los integrantes del LISI, bajo el patrn conocido como
MVC, el cual dividir nuestro software en tres (3) capas principales. Con el uso de dicho patrn se contar
con un mejor entendimiento del sistema y facilitar las labores de desarrollo y mantenimiento de la
aplicacin.
Como se mencion anteriormente, el patrn MVC se encarga de separar la aplicacin en 3 capas,
conocidas como el Modelo, la Vista y el Controlador.
El Modelo (tambin conocida como la capa de datos) es la capa en donde reside la informacin que maneja
el sistema SAM. Estar conformado por un gestor de bases de datos (en nuestro caso, MySQL) para
realizar el almacenamiento de datos. Esta capa deber responder a las peticiones de informacin de estado
de parte de la capa de Vista y a las instrucciones de modificacin de estado, provenientes de la capa de
Controlador.
La Vista (tambin conocida como la capa de aplicacin) es la capa que se encarga de presentar la interfaz
con el usuario. Contiene todo el cdigo para generar la interfaz con el usuario, en lenguaje HTML, y se
encarga tanto de mostrar la informacin del sistema como capturar los datos ingresados por los usuarios.
Esta es la nica capa que el usuario final llega a ver del sistema.
El Controlador (tambin conocida como la capa lgica) es la capa que se encarga de interactuar entre la
capa de Vista y la capa de Modelo. Esta capa recibe peticiones del usuario a travs de la capa de Vista y las
transmite a la capa de Modelo. Luego, recibe los datos generados por la capa Modelo y se los hace llegar a
la capa de Vista para que puedan ser mostradas la usuario. Este ciclo se repite tantas veces como el usuario
genere peticiones (o acciones) en el sistema. Por ltimo, esta capa es de suma importancia puesto que
contiene toda la lgica del negocio y es quien se encarga de procesar los datos de entrada ingresados por los
usuarios.

Confidencial

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

Pgina 12 de 19

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM

Versin:
1.3
Fecha: 14/07/2010

Diagrama de Componentes del patrn MVC

7.2

Capas

7.2.1

Vista

Diagrama de Componentes de la capa Vista (primera parte)

Confidencial

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

Pgina 13 de 19

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM

Versin:
1.3
Fecha: 14/07/2010

Diagrama de Componentes de la capa Vista (segunda parte)


7.2.2

Controlador

Diagrama de Componentes de la capa Controlador

Confidencial

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

Pgina 14 de 19

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM
7.2.3

Versin:
1.3
Fecha: 14/07/2010

Modelo

Diagrama de Componentes de la capa Modelo

Confidencial

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

Pgina 15 de 19

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM

8.

Vista de Datos

8.1

Diagrama Entidad-Relacin (ER)

8.2

Diccionario de Datos
casos_de_uso
Atributo

Tipo

Versin:
1.3
Fecha: 14/07/2010

id_caso

varchar(20)

No

Valor por
Defecto
-

nombre

varchar(50)

No

descripcion

varchar(250)

Si

NULL

precondiciones

varchar(250)

Si

NULL

postcondiciones

varchar(250)

Si

NULL

id_proyecto

int(25)
No

No

Si

NULL

ciclo

int(11)

escenarios

varchar(1000)

Confidencial

Null

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

Descripcin
Identificador del CU.
Indica el nombre del
CU.
Describe el CU.
Precondiciones
que
deben cumplirse antes
de ejecutarse el CU.
Postcondiciones
que
deben
cumplirse
despus de ejecutarse el
CU.
Clave
fornea
que
apunta a: proyectos
id_proyecto.
Identifica el ciclo de
pruebas.
Descripcin de los
escenarios asociados al
CU.

Pgina 16 de 19

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM

escenarios
Atributo

Tipo

Versin:
1.3
Fecha: 14/07/2010

Null

Valor por
Defecto

id_proyecto

int(25)

No

id_caso

varchar(20)

No

ciclo

int(11)
No

No

No

Null

Valor por
Defecto

id_escenario

int(20)

flujo

varchar(60000)

flujos
Atributo

Tipo

id_proyecto

int(25)

No

id_caso

varchar(20)

No

paso
descripcion
ciclo

varchar(20)
varchar(100)
int(3)

No
No

No

Tipo

Null

Valor por
Defecto

permisos
Atributo

usuario

varchar(40)

No

id_proyecto

int(25)

No

id_rol

int(25)

No

Confidencial

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

Descripcin
Clave
fornea
que
apunta a: proyectos
id_proyecto.
Clave
fornea
que
apunta a: casos_de_uso
id_caso.
Clave
fornea
que
apunta a: casos_de_uso
ciclo.
Identificador de un
escenario.
Descripcin del flujo
del escenario.

Descripcin
Clave
fornea
que
apunta a: proyectos
id_proyecto
Clave
fornea
que
apunta a: casos_de_uso
id_caso
Titulo del paso.
Describe el paso.
Identificador del ciclo
de pruebas.

Descripcin
Clave
fornea
que
apunta a: usuarios
usuario
Clave
fornea
que
apunta a: proyectos
id_proyecto
Clave
fornea
que
apunta a: roles
id_rol

Pgina 17 de 19

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM

proyectos
Atributo
id_proyecto

int(25)

No

Valor por
Defecto
-

nombre

varchar(50)

No

fechaInicio

date

No

fechaFinal

date

Yes

NULL

fechaCreacion

date

No

descripcion

varchar(254)

Yes

NULL

siglas

varchar(50)

No

ciclo

int(3)

No

Null

Valor por
Defecto
-

Roles
Atributo
id_rol
nombre
Usuarios
Atributo

9.

Tipo

Versin:
1.3
Fecha: 14/07/2010

Tipo
int(25)
varchar(50)

Tipo

Null

No
No

Null

usuario
nombre
apellido

varchar(40)
varchar(20)
varchar(20)

No
No
No

Valor por
Defecto
-

contrasena

varchar(40)

No

email

varchar(40)

No

Descripcin
Identifica un proyecto
Indica el nombre del
proyecto
Indica la fecha de inicio
del proyecto
Indica la fecha de
finalizacin
del
proyecto
Indica la fecha de
creacin del proyecto
La
descripcin del
proyecto
Las siglas del nombre
del proyecto.
Identificador del ciclo
de pruebas.

Descripcin
Identificador del Rol
Nombre del Rol

Descripcin
Apodo del Usuario
Nombre del Usuario
Apellido del Usuario
Contrasea del Usuario
en el sistema
Direccin de e-mail del
Usuario

Tamao y Desempeo
El Sistema SAM se puede catalogar como un sistema de pequea envergadura, en vista de que sus clientes
objetivos son las Pymes, las cuales cuentan (a lo sumo) con una cantidad de 100 empleados (de los cuales
se puede asumir que el nmero de usuarios ser estrictamente menor a esa cantidad). No se puede medir a
priori el volumen de informacin que ser cargada en el sistema debido a que esto depender de manera
directamente proporcional a las actividades de la empresa cliente y el tamao de los proyectos que ingresen
en el sistema. La cantidad mxima de informacin que pueda alojarse en el sistema depender de la
capacidad de alojamiento del servidor en el cual se implante el Sistema SAM.
El Sistema SAM tambin puede considerarse como un sistema de alta portabilidad, debido a sus bajos
requerimientos de sistema: un servidor con soporte de PHP5 y MySQL, un explorador Web (Microsoft
Internet Explorer o Mozilla Firefox) y una conexin de Internet (o Intranet). Adicionalmente, el patrn de

Confidencial

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

Pgina 18 de 19

S.A.M. (Sistema Automatizado de MECAP)


Documento de la Arquitectura de Software
DOCUMENTO_ARQUITECTURA_SOFTWARE_SAM

Versin:
1.3
Fecha: 14/07/2010

arquitectura utilizado para su desarrollo garantiza reducir a un mnimo la complejidad del diseo de la
arquitectura y maximizar la flexibilidad y mantenimiento del cdigo. El sistema est diseado para que
cumpla acciones y peticiones en un periodo de 1 a 4 segundos, dado que se cuente con una buena velocidad
de Internet/Intranet y que no ocurran fallas en el servidor de implantacin.
El Sistema encuentra su mayor restriccin en el estado de la conexin de Internet/Intranet entre la mquina
cliente y el servidor que aloja al sistema. Una baja velocidad de conexin en la red puede afectar los
tiempos de respuesta del sistema o, en su peor caso, impedir hacer uso del sistema.

10.

Calidad

Requerimiento

Tolerancia a fallos

Uso de protocolos de
comunicacin
pertenecientes
a
entornos Web.

Lenguajes,
Componentes
Comprados
Licenciamiento

Arquitectura MVC

Confidencial

Diagrama

Elemento

Diagrama de Implantacin
Estndar del Sistema SAM

Servidor de Respaldo

Diagrama de Implantacin
Estndar del Sistema SAM

Enlaces
Maquina
Cliente Servidor de
Aplicacin
y
Servidor
de
Aplicacin Servidor
de Prueba

Diagrama de Implantacin
Estndar del Sistema SAM

Servidor
Aplicacin

Diagrama de Componentes
del Patrn MVC y Diagrama
de Componentes de las Capas
Vista, Controlador y Modelo

Laboratorio de Investigacin de
Sistemas de Informacin, 2014

de

Observaciones
Se recomienda el uso de un
servidor de respaldo que
monitoree el estado del
servidor
de
aplicacin
principal, con el fin de manejar
aquellas fallas que puedan
ocurrir en el mismo.

Como se puede ver en el


diagrama, los componentes del
software fueron desarrollados
con PHP, JavaScript, CSS, los
cuales son lenguajes de
software
libre.
Adicionalmente, la base de
datos utilizada es MySQL, la
cual tambin es software libre.
A pesar de que no se est
utilizando un framework para
el desarrollo de la aplicacin,
se est haciendo uso del patrn
MVC durante el desarrollo del
mismo.

Pgina 19 de 19