You are on page 1of 23

SISEVP

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


ESCUELA ACADEMICA PROFESIONAL DE INGENIERIA DE
SISTEMAS
Sistema de Estacionamiento Vehicular
Para la Playa de
San Pedro - Lurn
Curso : Ingeniera de Control
Profesor: Armando Fermn Prez
Alumnos: Alan Alvarado Barzola
Erick Chipana Ramos
John Quispe Palomino
Juan Carlos LLacza Torres
SISEVP
Versin: 2.0
Documento de la Arquitectura de Software Fecha: 02/Julio/14
Confidencial SISEVP, 2014 Pgina 2 de 23
Tabla de Contenidos
1. Introduccin 3
1.1 Propsito 3
1.2 Alcance 3
1.3 Definiciones, Siglas, y Abreviaciones 3
1.4 Referencias 3
1.5 Vista Global 3
2. Representacin Arquitectnica 3
3. Metas y Restricciones Arquitectnicas 4
4. Vista de Casos de Uso 5
5. Vista Lgica 7
5.1 Modelo Conceptual 7
5.2 Diagrama de Clases 8
6. Vista de Implantacin 16
7. Vista de Implementacin 17
8. Vista de Datos 20
8.1 Diagrama Entidad-Relacin 20
8.2 Tamao y Desempeo
9. Calidad 21
10. Aplicacin de la Computacin Autonmica 22
SISEVP
Versin: 2.0
Documento de la Arquitectura de Software Fecha: 02/Julio/14
Confidencial SISEVP, 2014 Pgina 3 de 23
Documento de la Arquitectura del Software
1. Introduccin
Este documento proporciona una amplia descripcin arquitectnica del sistema a ser implementado en la
Playa San Pedro de Lurn y en la municipalidad de Lurn, mediante la utilizacin de un nmero variado de
vistas arquitectnicas que permiten representar los distintos aspectos del sistema SISEVP. La intencin es
capturar y comunicar las decisiones arquitectnicas significativas que se han realizado sobre el sistema.
1.1 Propsito
Se mostrar la arquitectura del sistema empleando el modelo de las 4 + 1 vistas pertenecientes a la
metodologa RUP. En cada una de las vistas se detallarn las decisiones que se tomaron respecto a ellas.
1.2 Alcance
Automatizar los procesos de la gestin de estacionamiento vehicular en las playas de San Pedro - Lurn,
mediante un sistema de informacin.
Para poder reducir los costos de la gestin de estacionamiento y as poder incrementar los ingresos.
1.3 Definiciones, Siglas, y Abreviaciones
SISEVP : Sistema para Estacionamiento Vehicular para Playa.
1.4 Referencias
Se hace referencia al documento de visin, especificacin de casos de uso, el documento de secuencia,
diagrama de estados y el diagrama de navegabilidad.
1.5 Vista Global
Este documento se basa en la representacin de arquitectura del sistema, para lo cual se especifican cada
una de las vistas: casos de uso, lgica, de procesos, de despliegue, de implementacin y de datos.
Adicionalmente, contiene las restricciones del sistema con respecto a la arquitectura, sus metas, una breve
descripcin de las dimensiones del producto, al igual que todo lo relacionado con el desempeo y calidad
de plataformas y portabilidad, entre otros.
2. Representacin Arquitectnica
Siguiendo la metodologa RUP se va a implementar una arquitectura de 4 + 1 vistas para
el sistema de resolucin de casos. A continuacin se describe en que consiste cada una
de estas vistas.
Vista Lgica: Constituye el modelo conceptual del sistema a travs de los
subsistemas, clases e interfaces ms importantes y las relaciones entre estos
componentes.
Vista de Proceso: En esta vista se muestra la concurrencia entre los procesos e
hilos que conforman el sistema.
Vista de Implementacin: Es un resumen de la organizacin de los entregables y
de los cdigos
fuentes que se generan a partir de estos.
Vista de Implantacin: Lo constituye la distribucin del software en el hardware,
as como los requisitos funcionales a nivel de escalabilidad, confiabilidad y
respuesta.
Vista de Casos de Uso: Est constituida por los casos de uso o escenarios del
sistema. Se basa en las 4 vistas anteriores.
SISEVP
Versin: 2.0
Documento de la Arquitectura de Software Fecha: 02/Julio/14
Confidencial SISEVP, 2014 Pgina 4 de 23
3. Metas y Restricciones Arquitectnicas
Plataforma Tcnica: El sistema de resolucin de casos es desarrollado con PHP como lenguaje
de programacin y se encuentra en un servidor web Apache Tomcat, as como un manejador de
bases de datos MySQL Server. El servidor debe tener en consideracin posibles fallas de
electricidad, con el fin que la aplicacin no cese su funcionamiento por culpa de stas.
La comunicacin entre los equipos de la playa y los equipos de la municipalidad se realizarn a
travs de una conexin LAN Inalmbrica conformada por una antena emisora para la
transmisin en la playa y una antena receptora ubicada en la municipalidad.
Seguridad: Dado que distintos tipos de usuarios pueden acceder al sistema, es necesario
establecer niveles de privilegios, y por tanto establecer un sistema de acceso a sesiones mediante
un login para cada usuario con su respectivo password.
Persistencia de Datos: Una de las principales metas del sistema es garantizar que la
informacin registrada por los encargados de registro en los registros de ingreso, perdure en el
tiempo. Para ello es importante contar con un buen manejo de la base de datos, y respaldos de
los mismos.
Las restricciones halladas durante el desarrollo del proyecto son:
Restricciones de tiempo: existe una fecha de entrega fijada que apresura los procesos de
desarrollo.
Restricciones de interfaz: el desarrollo de la misma estar regido por las normas que imponga
la Municipalidad de Lurn.
Restricciones en la metodologa: SISEVP utiliza la metodologa de RUP para el desarrollo de
los documentos y diagramas.
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina5 de 23
4. Vista de Casos de Uso
Descripcin del
negocio
Actores Modelo del
dominio
Casos de Uso
4.1. Descripcin del Negocio
El negocio se basa en el funcionamiento de una playa de estacionamiento vehicular en este caso de la playa de San Pedro-Lurn.
Los clientes se dirigen con sus vehculos a la playa de estacionamiento con el fin de que les deje ingresar a la playa. El encargado de cobro
toma los datos del vehculo y en especial la hora de ingreso y entrega ticket al cliente. El ayudante del encargado de cobro levanta la
cuerda y deja pasar al vehculo. Cuando un cliente se quiere retirar se dirige hacia salida y entrega el ticket al encargado de cobro el
calcula el tiempo y cobra lo que corresponde. Al final del da los encargados de cobro llevan todo el importe recaudado en el da y los
tickets registrados al liquidador. El liquidador verifica el importe recibido con los tickets recibidos. El liquidador ni bien calculado el
importe entrega todo al subgerente quien lo verifica ltimo y lo registra con esto se obtendra los ingresos diarios en la playa.
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina6 de 23
Ver el documento Especificacin de Casos de Uso en la seccin 1.4 Referencias
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina7 de 23
5. Vista Lgica
5.1 Modelo Conceptual
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina8 de 23
5.2 Diagrama de Clases
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina9 de 23
5.3. Interfaz de Usuario
REGISTRAR INGRESO
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina10 de 23
REGISTRAR COBRO
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina11 de 23
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina12 de 23
VERIFICAR MONTO DE COBRADOR
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina13 de 23
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina14 de 23
VERIFICAR MONTO DE LIQUIDADOR
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina15 de 23
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina16 de 23
6. Vista de Implantacin
La vista de implantacin presenta la infraestructura necesaria para la utilizacin de nuestro
sistema.
Considerando la distribucin de la aplicacin, es posible identificar tres tipos de nodos: Pc Cliente,
Servidor Web, Servidor Bases de datos.
El nodo de Pc Cliente representa a las estaciones de trabajo de los usuarios finales de la
aplicacin, estos son en total 4 equipos (2 para el Encargado Cobro y 2 para el Encargado de
Registro).
El nodo Servidor Web representa aquel equipo donde correr el servidor Web y las aplicaciones
de nuestro sistema.
El ltimo nodo, Servidor Bases de Datos, representa el sistema donde se encuentra nuestro
manejador de base de datos y todas las tablas que la conforman.
Figura 7.1: Vista de Despliegue.
Las estaciones de trabajo de los usuarios (Pc Cliente) deben contar con un browser.
Hay solo una instancia del nodo Servidor la cual centraliza todos los requerimientos de los
clientes, debe ser servidor de aplicaciones PHP.
Dentro de la instancia Servidor de Bases de Datos el cual se encarga de la distribucin de los datos segn las
peticiones que vallan llegando del servidor.
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina17 de 23
7. Vista de Implementacin
En esta vista se plantea la organizacin de cada uno de los componentes de nuestro sistema. Estos
son organizados en jerarqua de capas, en donde cada capa provee una interfaz o fachada bien definida para
las capas superiores. En nuestro sistema podemos distinguir tres diferentes procesos que interactan entre si
a travs del sistema.
1. Interfaz grfica
Aqu encontramos todas nuestras diferentes paginas Web que son las encargadas en de la
comunicacin con los diferentes usuarios de nuestro sistema. Dentro de esta capa tambin encontramos una
fachada encargada de comunicarse con los diferentes paquetes de la capa de negocios, facilitando as el
entendimiento entre capas y la comunicacin con el usuario.
Nuestro sistema es una aplicacin basada principalmente en la Web. A nivel de usuario final,
existe una interaccin continua con el browser el cual se encargar de presentar al usuario, la interfaz de la
aplicacin y de enviarle al servidor las diversas solicitudes que el usuario realiza.
Por el lado del servidor, para poder ejecutar las pginas PHP, es necesario un servidor Web con un
contenedor Web que cumpla con las especificaciones de PHP y del Controlador. Para puntualizar, se
requiere algn servidor de aplicaciones PHP. Un servidor de aplicaciones es un software que ayuda al
servidor Web a procesar las pginas que contienen scripts etiquetas del lado del servidor. Cuando un
navegador solicita una pgina de este tipo, el servidor Web remite la pgina al servidor de aplicaciones para
su procesamiento antes de enviarla al navegador.
El servidor Web recibe las solicitudes del usuario y las redirige a las pginas dinmicas ubicadas
en la capa de Interfaz. El servidor web asocia a cada usuario con la informacin de sesin y es el quien se
encarga de gestionar la atencin a mltiples clientes en forma simultnea.
2. Lgica de negocio
Dentro de nuestra capa de negocios tenemos las diferentes clases que nos permiten manejar el
recibimiento y tratamiento de las distintas peticiones y realizar eficazmente las diferentes acciones que
ejecutan nuestro sistema, incluyendo en ellas todos los mtodos que cumplan nuestros ya establecidos
contratos.
Dado que nuestro sistema se desarrolla bajo un ambiente Cliente-Servidor sobre tecnologa Web,
usando pginas de servidor Apache (PHP). Para la realizacin de las tareas todas estas clases se encuentran
desarrolladas bajo el ambiente PHP.
Para un mejor manejo de nuestro programa, estas clases se encuentran agrupadas en diferentes
paquetes segn las distintas funciones que realiza nuestro sistema.
3. Acceso de datos
Para ejecutar los diferentes paquetes que conforman nuestro sistema es necesario interactuar con
una base de datos a cada momento. Para todo el desarrollo de la base de datos usamos un manejador de
Base de Datos como lo es MySQL.
Una aplicacin Web no puede conectarse directamente con una base de datos. Hace falta una
interfaz de software entre la aplicacin Web y la base de datos que haga posible el dilogo entre ambas.
Una aplicacin PHP puede conectarse con una base de datos mediante una interfaz. Esta interfaz acta
como un intrprete o traductor que permite a la aplicacin PHP comunicarse con una base de datos
utilizando el lenguaje SQL.
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina18 de 23
Dentro de esta capa se encuentra una de las principales clases de nuestro sistema como lo es el
manejador de base de datos, el cual ser el encargado de crear una comunicacin entre los objetos de la
capa de negocios y los de la capa de datos.
Figura de las 3 capas o paquetes que conforman nuestro programa
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina19 de 23
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina20 de 23
8. Vista de Datos
8.1 Diagrama Entidad-Relacin
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina21 de 23
8.2 Tamao y Desempeo
Tamao: Considerando que el sistema va a ser utilizado principalmente por el personal de
la Municipalidad de Lurn, el volumen de conexiones simultneas al sistema que se esperan
no es tan grande, incluso durante las horas pico, es probable que este nmero no exceda
las 10 conexiones simultneas.
Desempeo: El sistema debe presentar los resultados de las consultas en un tiempo
razonable, digamos no ms de 0.5 seg.
9. Calidad
Escalabilidad: El sistema debe poder soportar varias conexiones simultneamente, esto se
logra mediante el soporte de concurrencia del servidor web.
Confiabilidad y disponibilidad: Es importante que el sistema se mantenga en
funcionamiento las 24 horas, todos los das, para ello hay que garantizar que no caiga ante
fallas de electricidad, etc. Esto se logra mediante instalaciones en la planta fsica en donde se
van ubicar los servidores, as como mediante equipos (UPS, etc) que aseguren que el
servicio se mantenga arriba incluso durante una falla elctrica.
Portabilidad: Debido al uso de PHP, MySQL, el sistema puede ser migrado fcilmente a
cualquier otro servidor en caso de ser necesario, ya que estas herramientas funcionan bajo
cualquier sistema operativo.
Seguridad: PHP provee libreras para implementar los requisitos de seguridad del sistema,
tales como creacin de certificados, cifrado de datos, entre otros.
Modificable y mejor manejo de fallas: El sistema SISEVP cuenta con una arquitectura
basada en componentes, la cual es una de las prcticas de desarrollo de software ms
recomendadas hoy en da. Dicha arquitectura basada en componentes permite un mejor
manejo y correccin de fallas en el sistema sin modificar o afectar gran parte del mismo.
Es decir, podemos modificar solo aquellos componentes que produzcan la falla sin tener que
modificar otros componentes del sistema.
Expandible: La arquitectura basada en componentes tambin permite que el sistema sea
expandible. A la hora de ser necesaria la inclusin de una nueva funcionalidad al sistema, se
puede implementar un nuevo componente e integrarlo a la arquitectura sistema.
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina22 de 23
10. Aplicacin de la Computacin Autonmica
Los sistemas de computacin autonmica son aquellos que tienen la capacidad de gestionarse por s
mismos y adaptarse de forma dinmica a los cambios, de acuerdo con las reglas de negocio y
los objetivos existentes. Los sistemas autogestionados pueden llevar a cabo actividades de
gestin basadas en situaciones que ellos mismos perciben u observan dentro del entorno IT. En
vez de ser los profesionales del IT quienes inicien las actividades de gestin, es el sistema el
que se observa a si mismo y acta consecuentemente.
Esto le permite al profesional IT centrarse en otras tareas de alto valor mientras que la tecnologa es
la que gestiona las operaciones ms mundanas.
10.1. Auto-proteccin
El objetivo de la auto-proteccin es la de permitir que el entorno IT proporcione
la informacin exacta a los usuarios correctos en el momento oportuno, a travs
de acciones que garanticen un acceso a la informacin en funcin del rol del usuario y
de las polticas de seguridad preestablecidas con anterioridad. Un entorno IT dotado
de auto-proteccin puede detectar comportamientos hostiles o intrusivos dentro del sistema
y ejecutar las acciones necesarias para protegerse de los intentos no autorizados de
acceso, de los virus, de los ataques de denegacin de servicio, y de los fallos en general.
La capacidad de auto-proteccin permite a las empresas ejecutar de forma consistente
polticas de seguridad y privacidad, reducir los costes de administracin de seguridad La
auto-proteccin tambin se encarga de tareas relacionadas con la prevencin de
condiciones que puedan sobrecargar el sistema y poner en peligro la integridad del mismo.
Caso 1:
En caso que nuestro sistema detecte que un usuario est intentando acceder AL
SISTEMA y no lo consigue en 3 intentos, entonces se proceder a bloquear a ese usuario
y luego se realizar un reporte al administrador del sistema que corresponda.
Solucin planteada:
Uso de los componentes DOCTRINE o PHPILLOW para PHP adems de la seguridad
reforzada proporcionada por DB2.
Caso 2:
En caso que nuestro sistema detecte que existen demasiadas peticiones desde una
misma IP en un corto periodo de tiempo, entonces dicha IP ser bloqueada.
Solucin planteada:
Uso de un componente sensor que se encargue de monitorear el log del servidor, se
utilizar modelos matemticos para realizar acciones de proteccin.
Caso 3:
En caso que nuestro sistema detecte que un usuario del sistema est intentando hacer
sql injection en la base de datos, se proceder a cerrar la sesin de dicho usuario y
bloquearlo, luego esto se reportar al Administrador del Sistema.
Sistema de Estacionamiento Vehicular para la Playa de San Pedro - Lurn
Versin: 1.0
Documento de la Arquitectura de Software Fecha: 02/07/14
SISEVP_Doc_Architec.doc
Confidencial SISEVP, 2014 Pgina23 de 23
Solucin planteada:
Aplicacin de las propiedades autonmicas de la base datos DB2.
10.2. Auto-reparacin
Los entornos IT dotados de auto-recuperacin pueden detectar operaciones incorrectas
(bien proactivamente a travs de predicciones o bien de otras formas) e iniciar a
continuacin las acciones correctivas oportunas sin afectar al correcto funcionamiento de
las aplicaciones del sistema. Una accin correctiva podra significar que un elemento
altere su propio estado o influya sobre otros elementos del entorno provocando cambios
en ellos. Las operaciones del da a da de la empresa no deben tambalearse o fallar
por culpa de diversos eventos a nivel de componentes. El entorno IT debe hacerse ms
resistente y fiable gracias a que los cambios llevados a cabo reducen o ayudan a
eliminar el impacto sobre el negocio tras un fallo de un componente.
Caso 1:
En caso que nuestro sistema detecte que se perdi la conexin a la base de datos, se
proceder a reconectarlo automticamente hasta conseguir xito, mientras tanto los datos
de la transaccin se guardarn en sesin, una vez restaurada la conexin se continuar
con la ejecucin de la transaccin, de esta manera aseguramos que no se pierda la
informacin de la transaccin en proceso.
Solucin planteada:
Uso de componentes de DB2 Touchpoint Simulator y HADR.
10.3. Auto-Configuracin
Gracias a la capacidad de auto-configuracin al vuelo de un sistema, un
entorno IT puede adaptarse inmediatamente, y con la mnima intervencin humana
posible, al despliegue de nuevos componentes o cambios en el propio entorno. La
adaptacin dinmica ayuda a verificar de forma continua la fortaleza y la productividad de
la infraestructura e-business, a menudo el nico factor determinante entre
el crecimiento del negocio o el caos.
Caso 1:
En caso de que la variable que almacena la cantidad de usuarios registrados en la playa
llega a su nivel mximo (460), el sistema se autoconfigurar para no permitir ms registros
de ingreso.
Solucin planteada:
Creacin de un Componente el manejo de la variable.

You might also like