Documentos de Académico
Documentos de Profesional
Documentos de Cultura
IEEE-1471-2000
Control del documento
Proyecto
Sistema Restaurant
Ttulo
Arquitectura del Sistema [v1.0 al 02 de Julio de 2009]
Generado por
Magister en Informtica - [Juan Jos Gonzlez Fandez]
Aprobado por
[Ac tiene que poner la firma el profe Veloso]
1. Introduccin
1.1 Propsito
Este documento proporciona una descripcin comprensiva arquitectnica del
sistema, usando un nmero finito de vistas diferentes para representar los distintos
aspectos que se requieren para capturar y transportar las decisiones significativas que
han sido hechas sobre el sistema.
1.2 Alcance
El presente documento contiene el diseo elaborado para el proyecto Sistema
Restaurant, el cual es producto de un anlisis minucioso de los requisitos del sistema,
segn estos pueden ser satisfechos con las tecnologas y caractersticas discutidas con
los clientes y usuarios.
El documento est organizado alrededor de tres ideas principales.
1. Las caractersticas generales del diseo
2. Los requisitos atendidos por el diseo
3. Los modelos y vistas que lo detallan
Al contrario de muchas otras actividades tcnicas, el desarrollo de sistemas
intensivos en software dedica la mayora de sus esfuerzos a la especificacin y modelado.
Los modelos son utilizados tanto para el anlisis de requisitos, como para el
diseo de la solucin, as como para la especificacin, construccin y despliegue del
sistema en su ambiente de explotacin.
Los modelos son presentados por vistas o diagramas, generalmente utilizando
notaciones grficas como el UML.
Por otro lado, los programas de computadora son construidos por medio del uso
de herramientas de traduccin automticas llamados compiladores, para los cuales es
construida la forma lineal y ms detallada del software del sistema: el cdigo fuente.
La ltima seccin del documento indica la forma en que se puede obtener el
cdigo fuente del proyecto as como las instrucciones de compilacin necesarias para
lograr la ejecucin de los componentes que este cdigo detalla.
Este documento ha sido generado directamente del anlisis del sistema
RESTAURANT y el modelo de diseo puesto e implementado en Rational Rose Versin
7.0. La mayora de las secciones ha sido extrada del Modelo de Rational Rose Version
7.0 y la utilizacin de plantillas de referencia de ATAM (Architecture Tradeoff Analysis
Method) y del modelo 4+1 de Kruchten.
IEEE 830-1998 ST
Architecture Tradeoff Analysis Method
ISO 9126 -2001 Calidad del Software y Mtricas de evaluacin
The 4+1 View .Kruchten - 1009
Administrador
Cliente
Cajero
Garzon
Jefe cocina
Manager
descripcin
Es el usuario dueo
del restaurant y est
encargado de la
gestin directiva del
restaurant.
escenario
Escenario de
negocios
Escenario de
diseo
Vistas
CU Negocio
CU Diseo
Gestionar
Reserva
CU Diseo
Gestionar
Compra
(proveedores)
CU Diseo
Gestionar
Cuentas
CU Negocio
CU Diseo
Gestionar
reserva
Gestionar
Cuenta (Caja)
Es la persona que
interacta con el
negocio de restaurant
y hace los pedidos de
men segn su
preferencia.
Escenario de
negocios
Escenario de
diseo
Es la persona
encargada de hacer
efectivo el pago y
recibir el dinero que
le proporciona el
cliente.
Escenario de
negocios
Escenario de
diseo
CU Negocio
CU Diseo
Gestionar
Cuenta (Caja)
Es la persona
encargada de
atender a los clientes
y llenar la comanda
con los pedidos.
Escenario de
negocios
Escenario de
diseo
CU Negocio
CU Diseo
Gestionar
Ordenes
Es la persona
encargada de
administrar las
rdenes que llegan a
cocina y establecer
las prioridades de
cada una.
Escenario de
negocios
Escenario de
diseo
CU Diseo
Gestionar
Cocina
CU Diseo
Gestionar
Proveedores
Es la persona
encargada de
administrar el local
de restaurant.
Escenario de
negocios
Escenario de
diseo
CU Negocio
CU Diseo
Gestionar
Cocina
CU Diseo
Gestionar
Cuenta
CU Diseo
Gestionar
Ordenes
UML
Escenarios
Lgica
Desarrollo
Fsica
Procesos
Casos de uso
Clases
Componentes
Despliegue
Secuencia
Manager
Gestionar Reservas
Administrador
(from Actores)
Gestionar Compras
Garzon
Jefe cocina
Gestionar Ordenes
(from Actores)
Cajero
(from Actores)
Gestionar Cuentas
Cliente
(from Actores)
Aprobar pedido
<<extend>>
<<include>>
Gestionar Compras
Jefe cocina
(from CU Negoci o)
(from Actores)
<<include>>
<<extend>>
(from Actores)
<<extend>>
<<extend>>
<<extend>>
Gestionar Reservas
<<extend>>
<<extend>>
Gestionar Cuentas
(from CU Negoci o)
(from CU Negoci o)
<<extend>>
<<extend>>
Cajero
<<extend>>
(from Actores)
Nueva Reserva
Eliminar Reserva
<<extend>>
<<include>>
Asignar Mesa
Verificar despacho de Ordenes
<<extend>>
Imprimir Cuenta
<<extend>>
<<extend>>
<<extend>>
Gestionar Ordenes
Monitorear Preparacion
(from CU Negoci o)
<<extend>>
<<include>>
<<include>>
Tomar Pedido en la Comanda
<<include>>
Preparar Orden
Derivar Orden
Cambiar estado a "LISTA"
Vista.- Lgica
Diagramas.- Clases
Vista.- Desarrollo
Diagrama de componentes general, estilo arquitectnico N-Tiers / Orientacin a
objetos
Presentacion
-Applet
-ASP
-ASPX
-JSP
-Etc
oracle-con
nector.jar
Gestion
Negocio
AccesoDatos
NHiberna
teCore
EnterpriseSer
vicesCore
Vista.- Fsica
Diagrama.- Despliegue
Servidor de aplicaciones
Servidor Web
Internet Information
Server
InterfazGestion
InterfazDom
HTTP
SUN Enterprise
Server
InterfazDao
TCP
Servidor de BD
SQL
Server
Oracle
Mysql
Vista.- Procesos
Diagrama.- Secuencia (Buscar Reserva)
: Administrador
InterfaceSistema
ReservaModel
GestionReserva
GestionReserva
ReservaDao
1: Numero Reserva
2: Buscar(NumReserva, Contexto)
3: BuscarReserva(NumReserva, Contexto)
4: Buscar(NumReserva, Contexto)
5: Buscar(NumReserva, Contexto)
6: hayError : ErrorDTO
7: ReservaDTO : Object
8: ReservaDTO : Object
9: ReservaDTO : Object
InterfaceSistema
ReservaModel
GestionReserva
ReservaDom
ReservaDao
: Administrador
1: DatosReserva
2: NuevaReserva(ReservaDTO)
3: NuevaReserva(ReservaDTO, ContextoDTO)
4: Registrar(ReservaDTO, ContextoDTO)
5: Registrar(ReservaDTO, ContextoDTO)
6: hayError : ErrorDTO
7: ReservaDTO : Object
8: ReservaDTO : Object
9: ReservaDTO : Object
: Cajero
InterfaceSistema
CuentaModel
GestionCuenta
CuentaDom
CuentaDAO
2: RegistrarPago(PagoDTO)
3: RegistrarPago(PagoDTO, ContextoDTO)
4: Registrar(PagoDTO, ContextoDTO)
5: Registrar(PagoDTO, ContextoDTO)
6: hayError : ErrorDTO
7: PagoDTO : Object
8: PagoDTO : Object
9: PagoDTO : Object
DESCRIPCION DE MODULOS
Nombre del mdulo
Gestion
Negocio
AccesoDatos
descripcin
Modulo que agrupa las
clases e interfaces
encargadas de orquestar
las clases del dominio,
agrupa funcionalidades
que se acercan ms al
negocio.
Modulo que agrupa todas
las clases del negocio
(Dominio), cada clase
contiene su propia interfaz
para exponer la
funcionalidad a las otras
capas, ejemplo:
ReservaDom /
IReservaDom. Contiene
el CRUD (Create, Read,
Update, Delete) del
negocio.
Contiene las clases que
hacen la persistencia a la
base de datos, cada clase
posee su propia interfaz
para exponer la
funcionalidad de cada
tabla expresada en el
modelo de datos.
Componentes inclusos
GestionCuenta
GestionOrden
GestionComanda
GestionReserva
ReservaDom
CuentaDom
OrdenDom
ClienteDom
ComandaDom
MesaDom
PlatoDom
MenuDom
CompraDom
ProveedorDom
DaoFactory
IDaoFactory
ReservaDao
OrdenDao
ComandaDao
CuentaDao
ClienteDao
ProveedorDao
CompraDao
MesaDao
PlatoDao
MenuDao
DESCRIPCION DE COMPONENTES
Nombre del componente
Reserva
Orden
descripcin
Contiene la lgica para:
Nuevas reservas, buscar
reservas, eliminar reservas,
actualizar reservas.
Contiene la lgica para:
nuevas rdenes y el CRUD
necesario de acuerdo a la
funcionalidad del negocio.
Componentes relacionados
Cliente
Orden
Con sus correspondientes
interfaces.
Reserva
Garzon
Cuenta
Comanda
Mesa
Comanda
Menu
Mesa
Plato
Orden
Orden
Plato
DERSCRIPCION DE CONECTORES
5.6 Arquitectura lgica.
Performances
La arquitectura de software escogida apoya a los requerimientos no funcionales y
requerimientos de arquitectura de sistemas descritos en los anexos de este documento.
1. El sistema apoyar hasta 2000 usuarios simultneos contra la base de datos central en
cualquier tiempo dado, y hasta 500 usuarios simultneos contra los servidores locales en
un momento dado.
2. El sistema proporcionar el acceso a la base de datos de catlogo de curso de
herencia sin ms que una 10 segunda latencia.
3. El sistema debe ser capaz de completar el 80 % de todas las transacciones dentro de 2
minutos.
4. La parte de cliente requerir el espacio de disco de menos de 20 MB y la RAM de 32
MB.
Calidad
La arquitectura de software apoya las exigencias de calidad, como estipulado en la
especificacin anexa a este documento.
1. El interfaz de usuario ser WEB.
2. El interfaz de usuario del Sistema RESTAURANT ser diseado para la facilidad de
uso y ser apropiado para asegurar las normas de usabilidad universal establecidas por
ISO 9126.
3. Cada despliegue de opciones de pantalla, tendr la ayuda en lnea para el usuario. La
ayuda En lnea incluir paso a paso instrucciones en la utilizacin del Sistema. La ayuda
En lnea incluir definiciones para trminos y acrnimos.
5.7 Ejemplo de uso.
N/A.
5.8 Detalles de la implementacin
La especificacin de un sistema intensivo en software tiene como ltima
representacin al cdigo fuente de los componentes. Este cdigo indica los ms finos
detalles del software, por medio de un lenguaje preciso, capaz de ser traducido
automticamente a instrucciones de la maquina. Acompaa al cdigo, las llamadas
previsiones de compilacin, constituidos por todos los elementos de soporte necesarios
para realizar la construccin de los componentes a partir del conjunto de cdigos. Esta
seccin detalla la obtencin y uso del paquete de cdigo fuente para el proyecto. De
manera de facilitar el uso de este, para las futuras ampliaciones o correcciones del
sistema.
5.8.1 Lenguajes y plataformas
La lgica de diseo arquitectnico aplicada en este documento, abre la posibilidad
de que la implementacin de bajo nivel sea efectuada con lenguajes que solamente
cumpla con la caracterstica de Orientacin a Objetos (Punto NET, Java, SmallTalk, etc.).
Y eso va a depender directamente de las caractersticas de los desarrolladores,
capacidad de aprendizaje, y en muchos casos opciones propias de la empresa para la
cual se efecta el diseo. Si la implementacin se desea desarrollar bajo lenguajes que
no cumplan las caractersticas mencionadas, se deber confeccionar una nueva vista que
cumpla con los requerimientos funcionales y no funcionales de los stakeholders que lo
solicitan.