Documente Academic
Documente Profesional
Documente Cultură
ANÁLISIS DE SISTEMAS II
Integrantes:
28/03/2018
1
CAPÍTULO # 1.
DESCRIPCIÓN DEL
PROYECTO
2
1.1. Descripción Técnica de la Situación Actual
San Ho se inicia en el año 2008 como un restaurante de comida china, que empezó
con número personal muy reducido, de 3 persona junto con el fundador Marco Suarez
y un prestigioso chef llamado Guillermo González Beristaín, ofreciendo un menú de
comida china, con una gran variedad de platos. A finales del 2010 el restaurante ofrece
una gran variedad de buffet.
El Restaurante San Ho que se encuentra en la Av. Cristóbal de Mendoza (2do anillo)
entre Alemania y Beni Calle Paquiao, al oeste de la ciudad de Santa Cruz de la Sierra,
este establecimiento consta con dos tipos de áreas, sociales y de reservas para la
comodidad de sus diferentes tipos de clientes. El Área social consta de diez mesas en
la cual cada mesa se le asigna seis sillas, el área de reserva consta de cinco mesas.
Para realizar la reserva en el restaurante la recepcionista se encarga de preguntar para
cuantas personas quiere la reserva. Por cada persona se cobra la suma de 30Bs.-, el
dinero anticipado será utilizado como saldo a favor para aplicar a la cuenta generada
por sus consumos ese día en el que realizó su visita. El restaurante no realiza cargos
adicionales por la reserva.
El restaurante proporciona una mesa con el número de sillas para realizar su reserva,
por ello es importante indicar que si el número de invitados es distintos al que acordó
con el personal de reserva el restaurante aplica la siguiente política: el cobro por el
número que acordaron en su reserva, pero si el número de personas es menor a lo
indicado, se realiza el pago por el número de personas registradas en la reserva.
Al realizar una reserva con anticipo, el cliente cuenta con una tolerancia de 30 minutos
contando a partir de la hora pactada que hizo en dicha reserva, en caso de que pasen
los 30 minutos, si el cliente no se presenta a la mesa reservada a su nombre podrá ser
utilizada por otros clientes en la lista de espera y por ende la mesa será cancelada.
El cliente tiene un plazo máximo de 48 horas previas a la fecha que acordó su reserva
para cancelar ya sea personalmente o mediante una llamada telefónica, y así devolver
el dinero que se entregó para la reserva de mesas y sillas. Pasadas las 48 horas el
cliente tiene la opción de cancelar la reserva, pero se le devuelve el 50% del dinero
total de la reserva, esto se informa al momento que el cliente este realizando la reserva.
3
1.2. Descripción de los Problemas Encontrados en la Situación Actual
Actualmente existen problemas que sufre San Ho, por no tener una tecnología
adecuada Eso provoca dificultades a la hora hacer una reserva, entre los problemas
tenemos los siguientes:
Cuando la reserva está escrita a mano surgen problemas, al reservar mesas que no
están disponibles, ya sea porque la recepcionista perdió la libreta donde anoto la
reserva o por ende no entiende lo que escribió en dicha libreta.
Uno de los problemas más habituales es que el cliente cancelo la reserva y no se anotó
en la libreta.
Otro problema es la falta de prioridad al cliente, el cliente frecuente que tiene que estar
respondiendo las mismas preguntas cada vez que hace una reserva.
También al llamar los clientes para confirmar la hora de la reserva existe el problema
que no están en lista y por tanto no hay reserva por falta de organizar las reservas
realizadas y de este modo el cliente llama molesto a cada cierto tiempo para preguntar
su reserva.
4
1.3. Descripción de la Situación Deseada
El sistema de información para reserva será desarrollado para el restaurante “San Ho”,
este se encuentra en la Av. Cristóbal de Mendoza (2do anillo) entre Alemania y Beni
Calle Paquiao, al oeste de la ciudad de Santa Cruz de la Sierra.
5
1.4.3. Límite Sustantivo
Sistema de información
para la reserva de un
restaurante
Realizar copia de
Gestionar Cliente Reporte de clientes
Seguridad
Gestionar Mesa
6
Módulo de Reserva: Se clasifican en dos sub módulos: Gestionar Cliente, Gestionar
Reserva y Gestionar Mesa.
Gestionar Cliente: Solicita la reserva.
Gestionar Reserva: Se realizan la reserva en una determinada hora, que el cliente
solicite.
Gestionar Mesa: Solicita la mesa y comprueba si está ocupada o no.
Módulo de Reporte: Se clasifican en dos sub módulos: Reporte de Cliente y Reporte
de Reserva.
Reporte de Cliente: Mostrara la cantidad de cliente que ingresan por día, mes y año.
Reporte de Reserva: Mostrara las mesas más solicitas por los clientes.
Módulo de Seguridad: Consta de un sub módulo: Realizar copia de seguridad.
Realizar copia de seguridad: Donde se guardan datos de la reserva.
7
1.5. Objetivos
El presente proyecto que se elabora para el restaurante San Ho reducirá tiempo en que
se realiza una reserva y permitirá al restaurante ordenarse en cuanto a la atención del
cliente y la reserva.
8
1.6.3. Justificación Social
Este sistema de información para la reserva puede ayudar a otros restaurantes a usar
la tecnología para así mejorar esa área de todos los restaurantes de Santa cruz de la
sierra.
1.7. Metodología
9
CAPÍTULO # 2
MARCO TEÓRICO
DEL PROYECTO
10
CAPÍTULO#2 MARCO TEÓRICO DEL PROYECTO
Cliente servidor
La arquitectura cliente-servidor es un modelo de diseño de software en el que las tareas
se reparten entre los proveedores de recursos o servicios, llamados servidores, y los
demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el
servidor, quien le da respuesta. Esta idea también se puede aplicar a programas que
se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema
operativo multiusuario distribuido a través de una red de computadoras.
El concepto de cliente-servidor, refiere por lo tanto a un modelo de comunicación que
vincula a varios dispositivos informáticos a través de una red. El cliente, en este marco,
realiza peticiones de servicios al servidor, que se encarga de satisfacer dichos
requerimientos.
Con esta arquitectura, las tareas se distribuyen entre los servidores (que proveen los
servicios) y los clientes (que demandan dichos servicios). Dicho de otro modo: el cliente
le pide un recurso al servidor, que brinda una respuesta. repartir de la capacidad de
procesamiento. El servidor puede ejecutarse sobre más de un equipo y ser más de un
programa. De acuerdo a los servicios que brinda, se lo puede llamar servidor web,
servidor de correo o de otro modo. Es importante mencionar que gran parte de los
servicios de Internet obedecen a la arquitectura cliente servidor. El servidor web pone
a disposición del cliente los sitios web, a los cuales el cliente accede a través de su
navegador. El servidor, de esta manera, aloja los datos que el cliente solicita mediante
el navegador instalado en su computadora.
11
CAPÍTULO#2 MARCO TEÓRICO DEL PROYECTO
Entre las disposiciones más comunes del modelo cliente servidor se encuentran los
sistemas multicapa, según los cuales el servidor ofrece la ejecución de varios
programas para que varios ordenadores puedan solicitarlos según sus necesidades,
de manera que el nivel de distribución aumenta.
12
CAPÍTULO#2 MARCO TEÓRICO DEL PROYECTO
ventaja principal de este estilo es que el desarrollo se puede llevar a cabo en varios
niveles y, en caso de que sobrevenga algún cambio, sólo es necesario actuar sobre el
nivel requerido sin que sea necesario realizar modificaciones en el código de los
restantes niveles.
La capa de presentación es la que ve el usuario (también se la denomina "capa de
usuario"), presenta el sistema al usuario, le comunica la información y captura la
información del usuario en un mínimo proceso (realiza un filtrado previo para comprobar
que no hay errores de formato). Esta capa se comunica únicamente con la capa de
negocio. También es conocida como interfaz gráfica y debe tener la característica de
ser "amigable" (comprensible y fácil de usar) para el usuario.
2.3. Metodología de desarrollo
• Diagrama de componentes.
• Diagrama de despliegue.
Los diagramas más interesantes (y los más usados) son los de casos de uso, clases
y secuencia, por lo que nos centraremos en éstos. Pare ello, se utilizará ejemplos de
un sistema de venta de entradas de cine por Internet.
El diagrama de casos de usos representa gráficamente los casos de uso que tiene un
sistema. Se define un caso de uso como cada interacción supuesta con el sistema a
desarrollar, donde se representan los requisitos funcionales. Es decir, se está diciendo
lo que tiene que hacer un sistema y cómo. En la figura 3 se muestra un ejemplo de
casos de uso, donde se muestran tres actores (los clientes, los taquilleros y los jefes
de taquilla) y las operaciones que pueden realizar (sus roles).
El diagrama de clases muestra un conjunto de clases, interfaces y sus relaciones. Éste
es el diagrama más común a la hora de describir el diseño de los sistemas orientados
a objetos.
En el diagrama de secuencia se muestra la interacción de los objetos que componen
un sistema de forma temporal. Siguiendo el ejemplo de venta de entradas, la figura 5
muestra la interacción de crear una nueva sala para un espectáculo.
El resto de diagramas muestran distintos aspectos del sistema a modelar. Para modelar
el comportamiento dinámico del sistema están los de interacción, colaboración, estados
y actividades. Los diagramas de componentes y despliegue están enfocados a la
implementación del sistema.
UML y su función en el modelado y diseño orientados a objetos
Hay muchos paradigmas o modelos para la resolución de problemas en la informática,
que es el estudio de algoritmos y datos. Hay cuatro categorías de modelos para la
resolución de problemas: lenguajes imperativos, funcionales, declarativos y orientados
a objetos (OOP). En los lenguajes orientados a objetos, los algoritmos se expresan
definiendo 'objetos' y haciendo que los objetos interactúen entre sí. Esos objetos son
cosas que deben ser manipuladas y existen en el mundo real. Pueden ser edificios,
artefactos sobre un escritorio o seres humanos.
Los lenguajes orientados a objetos dominan el mundo de la programación porque
modelan los objetos del mundo real. UML es una combinación de varias notaciones
orientadas a objetos: diseño orientado a objetos, técnica de modelado de objetos e
ingeniería de software orientada a objetos.
UML usa las fortalezas de estos tres enfoques para presentar una metodología más
uniforme que sea más sencilla de usar. UML representa buenas prácticas para la
construcción y documentación de diferentes aspectos del modelado de sistemas de
software y de negocios.
OMG: Tiene un significado diferente
14
CAPÍTULO#2 MARCO TEÓRICO DEL PROYECTO
15
CAPÍTULO#2 MARCO TEÓRICO DEL PROYECTO
El UML es popular entre programadores, pero no suele ser usado por desarrolladores
de bases de datos. Una razón es sencillamente que los creadores de UML no se
enfocaron en las bases de datos. A pesar de ello, el UML es efectivo para el modelado
de alto nivel de datos conceptuales y se puede usar en diferentes tipos de diagramas
UML. Puedes encontrar información sobre la multidimensionalidad de un modelo de
clases orientado a objetos en una base de datos relacional en este artículo sobre
Modelado de bases de datos en UML.
Actualizaciones en UML 2.0
El UML se perfecciona continuamente. UML 2.0 extiende las especificaciones de UML
para cubrir más aspectos de desarrollo, incluido Agile. La meta era reestructurar y
perfeccionar UML de forma que la facilidad de uso, la implementación y la adaptación
se simplificaran. Estas son algunas de las actualizaciones de los diagramas UML:
• Mayor integración entre modelos estructurales y de comportamiento.
• Capacidad de definir jerarquía y desglosar un sistema de software en
componentes y subcomponentes.
• UML 2.0 eleva el número de diagramas de 9 a 13.
Familiarízate con el vocabulario de UML, con esta lista extraída del documento UML
2.4.1, cuya finalidad es ayudar a quienes no son miembros de OMG a entender los
términos comúnmente usados.
• Compatibilidad con sintaxis abstracta Los usuarios pueden mover modelos a
través de diferentes herramientas, incluso si usan diferentes notaciones.
• Metamodelo de almacén común (CWM) Interfaces estándares que se usan para
permitir el intercambio de metadatos de almacén e inteligencia de negocios entre
herramientas de almacén, plataformas de almacén y repositorios de metadatos de
almacén en entornos heterogéneos distribuidos.
• Compatibilidad con sintaxis concreta Los usuarios pueden continuar usando una
notación con la que estén familiarizados a través de diferentes herramientas.
• Núcleo En el contexto de UML, el núcleo comúnmente se refiere al "paquete
central", que es un metamodelo completo particularmente diseñado para una alta
reutilización.
• Unidad de lenguaje Consiste en una colección de conceptos de modelado
estrechamente vinculados que proporciona a los usuarios la capacidad de representar
aspectos del sistema en estudio según un paradigma o formalismo en particular.
• Nivel 0 (L0) Nivel de cumplimiento inferior para la infraestructura UML - una sola
unidad de lenguaje que hace posible el modelado de tipos de estructuras basadas en
clases que se encuentran en los lenguajes más populares de programación orientados
a objetos.
• Meta Object Facility (MOF) Una especificación de modelado de OMG que brinda
la base para las definiciones de metamodelos en la familia de lenguajes MDA de OMG.
16
CAPÍTULO#2 MARCO TEÓRICO DEL PROYECTO
18
CAPÍTULO#2 MARCO TEÓRICO DEL PROYECTO
19
CAPÍTULO#2 MARCO TEÓRICO DEL PROYECTO
Descripción del producto (aumento + integración) es estable; ¿El plan del proyecto
es fiable?; Los costos son elegibles?
Fase de construcción
En la fase de construcción, el desarrollo físico del software se inicia, códigos de
producción, pruebas alfa. pruebas beta se llevaron a cabo al inicio de la fase de
transición.
Se debe aceptar las pruebas, procesos estables y de prueba, y el código del sistema
son “línea de base”.
Fase de transición
En esta fase es la entrega (“despliegue”) de software, que se lleva a cabo el plan de
despliegue y entrega, el seguimiento y la calidad del software. Productos
(lanzamientos, las versiones) se van a entregar, y coloque la satisfacción del cliente.
Esta etapa también se lleva a cabo la formación de los usuarios.
Disciplinas de la metodología rup
Seis disciplinas de ingeniería de software
La disciplina modelada de negocio
Las organizaciones dependen cada vez más de los sistemas de TI, por lo que es
imperativo que los ingenieros de sistemas de información saben cómo se integran las
aplicaciones en el desarrollo de la organización. Las empresas invierten en TI, que
entienden la ventaja competitiva del valor añadido por la tecnología.
El objetivo de modelado de negocio es establecer primero una mejor comprensión y
comunicación entre ingeniería de negocios y la ingeniería de software.
Comprender el negocio significa que los ingenieros de software deben entender la
estructura y la dinámica de la empresa objetivo (el cliente), los problemas actuales de
la organización y las posibles mejoras. También deben asegurar una comprensión
común de la organización de destino entre los clientes, usuarios finales y
desarrolladores.
El modelado de negocios explica cómo describir la visión de una organización en la
que se implementará el sistema y cómo utilizar esta visión como base para describir
los procesos, funciones y responsabilidades.
Requisitos del curso
Este curso explica cómo al llegar peticiones de las partes interesadas (“partes
interesadas”) y los convierten en un conjunto de requisitos que los productos funcionan
dentro del sistema que se construirán y proporcionar los requisitos detallados para lo
que es necesario que el sistema.
Análisis y diseño de la disciplina (“diseño”)
El propósito del análisis y diseño es mostrar cómo se llevará a cabo el sistema. El
objetivo es construir un sistema que:
21
CAPÍTULO#2 MARCO TEÓRICO DEL PROYECTO
Prueba de disciplina
Los fines de disciplina prueba son:
• Comprobar la interacción entre los objetos.
• Comprobar la correcta integración de todos los componentes de software.
• Compruebe que todos los requisitos han sido ejecutados correctamente.
• Identificar y asegurar que los defectos se tratan antes de la implementación de
software.
• Asegúrese de que todos los defectos son corregidos, revisados y cerrados.
22
CAPÍTULO#2 MARCO TEÓRICO DEL PROYECTO
El Rational Unified Process propone un enfoque iterativo, lo que significa que debería
estar probando el proyecto en su totalidad. Esto le permite encontrar defectos tan
pronto como sea posible, lo que reduce drásticamente el costo de reparar el defecto.
Las pruebas se realizan a lo largo de cuatro dimensiones de la calidad: fiabilidad,
funcionalidad, rendimiento de las aplicaciones y el rendimiento del sistema. Para cada
una de estas dimensiones de la calidad, el proceso se describe cómo a pasar la prueba
de la planificación, diseño, implementación, ejecución y evaluación
23
CAPÍTULO # 3
MARCO TEÓRICO
REFERENCIAL
24
CAPITULO # 3 MARCO TEÓRICO REFERENCIAL
Resumen
Es por eso que se propone diseñar e implementar un sistema que brinde flexibilidad
gracias al uso de terminales táctiles en cada una de las mesas, las cuales aumentarán la
participación del cliente, otorgará flexibilidad por medio de sus módulos configurables,
ofrecerá información precisa garantizada por la aplicación, llevará a cabo el control de
usuarios, la integración de los procesos del negocio por medio de los distintos módulos
del sistema, optimización de los mismos debido a que el sistema reduce el tiempo de
ejecución de los procesos y usabilidad.
25
CAPITULO # 3 MARCO TEÓRICO REFERENCIAL
26
CAPITULO # 3 MARCO TEÓRICO REFERENCIAL
27
CAPITULO # 3 MARCO TEÓRICO REFERENCIAL
Justificación
Es habitual que en este tipo de empresas (restaurantes, bares, taparías, etc.), el proceso
de atención al cliente se realice de forma que no deje satisfecho al cliente: ¿cuántas veces
nos quejamos porque se tarda demasiado tiempo en ser atendidos?, o por el contrario,
¿aún no hemos decidido qué elegir y el encargado de registrar los pedidos ya está
dispuesto a tomar nota? Las ventajas que obtendrá la empresa con la utilización de un
sistema que automatice la gestión de pedidos son múltiples. Las más importantes se
pueden resumir en:
Mejorar la atención al cliente: el cliente podrá pedir cualquier producto cuando él lo
deseé, sin depender de la disponibilidad de otra persona (camarero).
El sistema realizará la gestión de una parte del manejo económico de la empresa
cada pago de un pedido se registrará, permitiendo conocer cuánto dinero ha de haber en
la caja, al final del día, del mes o durante un determinado periodo de tiempo. SGP Sistema
de Gestión de Pedidos 12
Ahorrar en personal, ya que la automatización de procesos, hace que intervengan
menos personas, y que se puedan dedicar a otros procesos internos.
Colaborar con el medio ambiente ahorrando en papel, ya que cada vez que se
necesite actualizar la carta con los productos ofertados, no hará falta volver a imprimir
nuevas cartas.
Realizar estadísticas y estudios, ya que se dispondrá de información almacenada en
la base de datos, relacionada a los pedidos realizados por los clientes. Las desventajas
que obtendrá la empresa con la utilización de un sistema que automatice las gestiones
de pedidos son muy pocas. Las más importantes se pueden resumir:
Inversión inicial, ya que, al ser un sistema desarrollado a medida, supone un coste
más amplio.
Hardware, dependiendo del que se disponga, hay que hacer una inversión económica
mayor o menor. Automatizar un sistema o procesos conlleva a una serie de ventajas y
desventajas. Como hemos demostrado, en este caso las ventajas son mayores que las
desventajas, por lo que realizar esta automatización tendrá como resultado un beneficio
con respecto al sistema sin automatizar. SGP: Sistema
ESTUDIO DE VIABILIDAD
Introducción El objetivo del estudio de viabilidad es el análisis de un conjunto concreto de
necesidades para proponer una solución a corto plazo, que tenga en cuenta restricciones
económicas, técnicas, legales y operativas. El estudio de viabilidad se orientará a la
especificación de requisitos ya que costos, riesgos, problemas legales, etc., están fuera
de este proyecto. Durante el desarrollo de este capítulo se analizará el alcance de la
necesidad planteada y se identifican las restricciones relativas a la sincronización con
otros procesos, que puedan interferir en la planificación y futura puesta a punto del
sistema objeto de estudio. Esta información se recoge en el apartado de requisitos.
Objeto
Situación del estudio
28
CAPITULO # 3 MARCO TEÓRICO REFERENCIAL
29
CAPITULO # 3 MARCO TEÓRICO REFERENCIAL
30
CAPITULO # 3 MARCO TEÓRICO REFERENCIAL
31
CAPITULO # 3 MARCO TEÓRICO REFERENCIAL
Para las pruebas de unidad hemos usado HttpUnit y pruebas manuales. HttpUnit es un
cliente http hecho en java que podemos combinar con JUnit para hacer pruebas de
integración contra el servidor http.
Pruebas de rendimiento
Para ver la velocidad de las transacciones hemos usado clases sencillas con un
cronómetro software, para medir los rendimientos, ya que la velocidad era una parte
crítica del sistema.
Documentación
En cuanto a la documentación, no hemos prescindido de ella, hemos constatado que son
de gran utilidad los casos de uso bien documentados junto con diagramas de actividad
UML. 11 nos han sido especialmente útiles para describir el comportamiento de los
controladores de cada uno de los casos de uso. Los diagramas nos han ayudado a
mejorar la productividad ya que permitían centrarse en la funcionalidad que se estaba
desarrollando y dejar de lado las preocupaciones de las subsiguientes tareas. No nos han
parecido útiles sin embargo los diagramas de clases, de colaboración y de secuencia., y
por tanto no los hemos usado. Esto es porque siempre hemos usado los mismos
patrones: MVC, Façade, Decorators, Factorys y DAO.
Planificación del proyecto
A pesar de ser un proyecto ágil, no hemos renunciado a una mínima planificación,
inicialmente identificamos las siguientes etapas:
Investigación tecnología j2ee y PostgreSql
Se dedicará un tiempo finito a la formación e investigación. Queremos evaluar la nueva
tecnología JEE, Hibérnate, Spring y JSF. Acabado ese tiempo elegiremos la tecnología
que mejor se adapte a nuestro problema o la desarrollaremos nosotros mismos.
Instalación de entorno
Antes de empezar tan siquiera a hacer los casos de uso Instalaremos las siguientes
herramientas:
? Eclipse con soporte para jee (Ganymede)
? Java 1.6?
Herramienta de uml (Magic Draw)
? Tomcat? PostgreSql, jdbc y PgAdmin.
? Junit (pruebas de unidad)
? HttpUnit (pruebas de integración)
? Metrics (para medir aspectos de calidad del software)
Establecemos también un sistema de Backup automatizado a una unidad externa.
Se evaluarán la instalación de herramientas automatizadas de construcción de proyectos
como Ant y Maven.
Desarrollo de la aplicación por casos de uso (Sprint)
35
CAPITULO # 3 MARCO TEÓRICO REFERENCIAL
36
CAPITULO # 3 MARCO TEÓRICO REFERENCIAL
de prueba las ponemos en el mismo paquete que las clases a probar, pero en el
proyecto de reservasTest, es decir replicamos el paquete (la estructura de directorios)
Para java, cuando usa el classpath es como si estuviesen en el mismo paquete, y por
ello las clases de prueba, cables a corto plazo.
Introducción
Para empezar, se explicará la finalidad, en qué consiste y la estructura de elaboración
de este proyecto.
Objetivos y resumen del proyecto
El objetivo del proyecto, a grandes rasgos, es la implementación de una aplicación web,
que gestione un restaurante desde el punto de vista de los usuarios gerente, camarero
y cliente. No obstante, el objetivo más concreto es llevar a cabo la implementación
utilizando un concepto innovador. Este concepto consiste en que el cliente tenga
acceso a dicha aplicación desde su propia mesa y pueda seleccionar los productos que
desee directamente desde ésta, sin tener que necesitar al camarero para realizar su
pedido. A todo esto, debemos añadir que la aplicación debe permitir interactuar con ella
a los usuarios de una manera ágil y sencilla, dentro de las posibilidades de su
funcionalidad. A su vez, otro de los objetivos, éste desde el punto de vista del
desarrollador, es adquirir experiencia en la implementación de este tipo de sitios web,
que cada vez están más extendidos en la sociedad.
Problema Planteado
Desarrollar un sitio web para un restaurante que permita: A los gerentes gestionar el
catálogo de productos y los empleados del restaurante. A los camareros gestionar y
atender los pedidos, obteniendo en tiempo real los pedidos de los clientes en sus
terminales. A los clientes realizar pedidos desde su mesa desde el primer momento en
que llegan al restaurante, visualizar en qué estado se encuentra en tiempo real y realizar
reservas cuando se conecten a la aplicación desde fuera del restaurante. A cualquier
usuario que se conecte a la aplicación conocer el restaurante consultando información
diversa acerca del mismo y registrarse en el sistema.
37
CAPITULO # 3 MARCO TEÓRICO REFERENCIAL
38
CAPITULO # 3 MARCO TEÓRICO REFERENCIAL
Análisis
El propósito principal del análisis es obtener una descripción lógica del sistema a
desarrollar, es decir, describir formalmente mediante modelos las características de la
aplicación. Estos modelos servirán posteriormente de guía para obtener el producto
deseado. Para ello utilizaremos el lenguaje de modelado UML (Lenguaje Unificado de
39
CAPITULO # 3 MARCO TEÓRICO REFERENCIAL
Diagrama De Usuarios
En nuestra aplicación web tenemos 5 tipos de usuarios y cada tipo de usuario representa
un conjunto de usuarios con objetivos y responsabilidades comunes en el sistema. Estos
usuarios son: anónimo, cliente, cliente web, camarero y gerente, y sus inter-relaciones
así como su modo de acceso al sistema se muestran en el diagrama siguiente: Como se
ve en la figura, a nuestra aplicación podemos acceder como usuario anónimo o como
autenticado, esto es, como: gerente, camarero o cliente. El usuario cliente se especializa
en dos: Cliente normal y Cliente web. El cliente normal se asocia a un cliente que accede
a la aplicación físicamente desde el restaurante, mientras el cliente web a uno que accede
desde fuera del restaurante y que tiene acceso a funcionalidad diferente. Resulta
importante destacar que el cliente como tal no existe en la aplicación, se utiliza en el
diagrama para indicar que el cliente normal (estándar) y el web comparten funcionalidad.
Implementación E Integración
Tecnologías
40
CAPITULO # 3 MARCO TEÓRICO REFERENCIAL
Nuestra aplicación está construida sobre tres servidores, dos de código abierto: un
servidor HTTP Apache y un servidor de base de datos MySQL, y un servidor de correo
Mercury que no es libre ni de código abierto, pero que sí dispone de una versión gratuita
siempre que su uso sea privado y sin fines comerciales, que es nuestro caso. Utilizamos
el lenguaje ASP.NET (con VISUAL BASIC), AJAX y javascript para crear páginas web
dinámicas. Resulta importante destacar también la utilización del protocolo HTTPS, que
permite enviar información entre páginas de manera segura mediante cifrado SSL, así
que cuando nos autentificamos en la aplicación web ya sea como cliente, camarero o
gerente las páginas se muestran utilizando este protocolo seguro. A continuación
describiremos dichos componentes, así como también las tecnologías en las que se
sustentan.
Xampp. Es un servidor independiente de plataforma, software libre, que consiste
principalmente en la base de datos MySQL, el servidor Web Apache y los
intérpretes para lenguajes de script: PHP y Perl. No obstante, nosotros lo hemos
utilizado con el lenguaje ASP.NET, gracias al módulo modaspnet. Incluye módulos
como OpenSSL y phpMyAdmin para la gestión de las bases de datos.
Servidor HTTP Apache. Servidor web HTTP de código abierto, multiplataforma,
que implementa el protocolo HTTP/1.1 y la noción de sitio virtual. Entre otras
ventajas destacan que es modular, extensible y que es utilizado por una gran
comunidad de usuarios, por lo que es fácil de conseguir y existe mucha información
disponible al respecto en la web. La mayor parte de la configuración se realiza en
el fichero apache2.conf o httpd.conf, según el sistema donde esté corriendo.
Cualquier cambio en este archivo requiere reiniciar el servidor, o forzar la lectura
de los archivos de configuración nuevamente.
MySQL. Es uno de los SGBD más empleados del mercado para aplicaciones web
debido a su sencillez. Es relacional, multihilo y multiusuario. Pertenece a Sun
Microsystems. Por un lado se ofrece bajo la GNU GPL para cualquier uso
compatible con esta licencia, pero para aquellas empresas que quieran
incorporarlo en productos privativos deben comprar a la empresa una licencia
específica que les permita este uso. Al contrario de proyectos como Apache, donde
el software es desarrollado 60 por una comunidad
Mercury Mail Transport System. Es un servidor de correo, gratuito, basado en
estándares, proporcionando un completo apoyo y un servidor rápido para los
principales protocolos de correo electrónico. Va integrado en el paquete XAMPP.
HTML. Acrónimo inglés de HyperText Markup Language (lenguaje de marcas
hipertextuales), es un lenguaje de marcación diseñado para estructurar textos y
presentarlos en forma de hipertexto, que es el formato estándar de las páginas web.
Gracias a Internet y a los navegadores del tipo Internet Explorer, Opera, Firefox o
Netscape, el HTML se ha convertido en uno de los formatos más populares que existen
para la construcción de documentos y también de los más fáciles de aprender. HTML es
una aplicación de SGML conforme al estándar internacional ISO 8879. XHTML es una
reformulación de HTML 4 como aplicación XML 1.0, y que supone la base para la
evolución estable de este lenguaje. Además, XHTML permite la compatibilidad con los
agentes de usuario que ya admitían HTML 4 siguiendo un conjunto de reglas. En sus
orígenes, HTML era un lenguaje diseñado para compartir información entre científicos de
todo el mundo. Era puramente un lenguaje estructural, donde no había forma de describir
41
CAPITULO # 3 MARCO TEÓRICO REFERENCIAL
la apariencia de las páginas (ni tan solo la posibilidad de poner un texto en negrita o
cursiva). Más adelante se añadieron numerosas opciones para dar formato y presentar
texto y gráficos. A mediados de los 90 empezaron las ampliaciones de HTML para
conseguir presentaciones mejoradas, pero siempre desde diferentes perspectivas de
cada desarrollador, que acabaron en diferentes soluciones no estándares para diferentes
navegadores. Esto provocó la aparición de un consorcio que controla la evolución del
HTML: elW3C (World Wide Web Consortium). Esta evolución tenía un punto clave: la
separación del contenido y la apariencia. Con la versión 4 del HTML se recomendaba otro
mecanismo para controlar la visualización del contenido HTML, las hojas de estilo (CSS:
Cascade Style Sheet). 61 actualmente se recomienda el uso del XHTML, que mantiene
la misma sintaxis y mecanismos que el HTML, pero reformulado con un documento XML,
preparándose para aprovechar las ventajas de este lenguaje.
ASP.NET. ASP.NET es un conjunto de tecnologías de desarrollo de aplicaciones web
comercializado por Microsoft. Es usado para construir sitios web domésticos, aplicaciones
web y servicios XML. Forma parte de la plataforma .NET de Microsoft y es la tecnología
sucesora de la tecnología Active Server Pagés (ASP). Se trata una tecnología de páginas
activas que permite el uso de diferentes scripts y componentes en conjunto con el
tradicional HTML para mostrar páginas generadas dinámicamente. Microsoft desarrolló
una nueva tecnología denominada ASP.NET - como parte de su estrategia .NET- para el
desarrollo Web, con el objetivo de resolver las limitaciones de ASP. ASP.NET es mucho
más que la próxima versión de ASP. Su arquitectura ha sido rehecha desde cero para
facilitar al máximo la creación de aplicaciones Web dinámicas, y el modo en que
estructuramos el código ASP.NET también promueve una mejor reutilización. Mientras
que las aplicaciones tradicionales ASP utilizan la extensión .asp, las páginas ASP.NET
utilizan la extensión .aspx. Sin embargo, podemos utilizar tanto páginas ASP como
ASP.NET en un mismo sitio Web. El modelo de ASP.NET, con muchas características
nuevas, permite escribir código más limpioy más fácil de reutilizar y compartir,
incrementando el rendimiento y la escalabilidad al poder acceder a lenguajes compilados,
no interpretados. Otra de sus ventajas es que soporta muchos lenguajes compilados. La
versión actual de ASP está basada en lenguajes de scripting como VBScript y Script. No
hay nada malo en ello, pero el modelo presenta el inconveniente de la propia
interpretación del lenguaje y que los lenguajes de scripting no están fuertemente tipados.
Ambos conllevan a considerar con rigor los aspectos relacionados con el rendimiento.
ASP.NET, aunque no descarta totalmente la idea de los lenguajes de scripting, introduce
soporte para lenguajes completamente compilados, ofreciendo al desarrollador escribir el
código en Visual Basic, C++ o C#. De hecho, gracias a la incorporación del conjunto de
tipos comunes y el funcionamiento global del CLR, ofrece un verdadero entorno neutral
independiente del lenguaje para las aplicaciones Web.
Detalles De La Implementación
Páginas Principales
Para que el desarrollo del sitio web resultara más sencillo, rápido y organizado a medida
que avanzáramos en él, hemos utilizado páginas principales (master pages),
concretamente, una página principal por cada tipo de usuario (anónimo, empleado,
gerente y cliente), ya que, cada uno de estos usuarios precisan de una zona de
navegación distinta (un menú distinto). De esta forma, una vez tenemos las cuatro
42
CAPITULO # 3 MARCO TEÓRICO REFERENCIAL
páginas principales creadas ya sólo tenemos que preocuparnos del contenido de las
mismas, y es lo único que tendremos que implementar en el resto de páginas, que se
basaran en éstas. Las páginas principales permiten definir el aspecto, el diseño y el
comportamiento estándar que se desea que tengan todas las páginas (o un grupo de
páginas) de la aplicación en una sola página principal. A partir de ella se pueden crear
páginas de contenido individuales que incluyan lo que se desea mostrar. Cuando los
usuarios solicitan las páginas de contenido, éstas se combinan con la página principal
para dar como resultado una página con el diseño de la página principal y el contenido
de la página de contenido. 66 en definitiva, su utilización nos da muchas ventajas, ya que
proporcionan una funcionalidad que tradicionalmente los programadores creaban
copiando el código, el texto y los elementos de control existentes repetidamente,
mediante conjuntos de marcos, archivos de inclusión de elementos comunes, controles
de usuario de ASP.NET, etc. Entre las ventajas de las páginas principales se incluyen las
siguientes:
Permiten centralizar las funciones comunes de las páginas para que las
actualizaciones puedan llevarse a cabo en un solo lugar.
Facilitan la creación de un conjunto de controles y código, y aplican los resultados
en un conjunto de páginas. Por ejemplo, se pueden utilizar los controles en la
página principal para crear un menú que se aplique a todas las páginas.
Proporcionan un modelo de objetos que permite personalizar la página principal a
partir de páginas de contenido individuales. A continuación, le voy a dar un enfoque
más práctico a este apartado para tratar de demostrar lo comentado. Para que una
página sea página principal debe tener un encabezado similar.
43
CAPÍTULO # 4
MARCO TEÓRICO
CONCEPTUAL
44
CAPITULO # 4 MARCO TEÓRICO CONCEPTUAL
45
CAPÍTULO # 5
METODOLOGÍA DE
LA INVESTIGACIÓN
46
CAPÍTULO # 5 METODOLOGÍA DE LA INVESTIGACIÓN
Metodología de la Investigación
La Investigación Cualitativa
La metodología cualitativa, como indica su propia denominación, tiene como objetivo
la descripción de las cualidades de un fenómeno. Busca un concepto que pueda
abarcar una parte de la realidad. No se trata de probar o de medir en qué grado una
cierta cualidad se encuentra en un cierto acontecimiento dado, sino de descubrir tantas
cualidades como sea posible.
En investigaciones cualitativas se debe hablar de entendimiento en profundidad en
lugar de exactitud: se trata de obtener un entendimiento lo más profundo posible.
Dentro de las características principales de esta de metodología podemos mencionar:
La investigación cualitativa es inductiva.
Tiene una perspectiva holística, esto es que considera el fenómeno como un
todo.
48
CAPÍTULO # 5 METODOLOGÍA DE LA INVESTIGACIÓN
Metodología cuantitativa
La Metodología Cuantitativa es aquella que permite examinar los datos de manera
numérica, especialmente en el campo de la Estadística.
Para que exista Metodología Cuantitativa se requiere que entre los elementos del
problema de investigación exista una relación cuya Naturaleza sea lineal. Es decir, que
haya claridad entre los elementos del problema de investigación que conforman el
problema, que sea posible definirlo, limitarlos y saber exactamente donde se inicia el
problema, en cual dirección va y qué tipo de incidencia existe entre sus elementos.
Los elementos constituidos por un problema, de investigación Lineal, se denominan:
variables, relación entre variables y unidad de observación.
Edelmira G. La Rosa (1995) Dice que para que exista Metodología Cuantitativa debe
haber claridad entre los elementos de investigación desde donde se inicia hasta donde
termina, el abordaje de los datos es estático, se le asigna significado numérico.
El abordaje de los datos Cuantitativos es estadístico, hace demostraciones con los
aspectos separados de su todo, a los que se asigna significado numérico y hace
inferencias
La objetividad es la única forma de alcanzar el conocimiento, por lo que utiliza la
medición exhaustiva y controlada, intentando buscar la certeza del mismo.
49
CAPÍTULO # 5 METODOLOGÍA DE LA INVESTIGACIÓN
Tomar una parte del sistema como variable independiente (causa) y todo el de
los datos Cuantitativos lo que se puede observar en las investigaciones
tradicionales.
50
CAPÍTULO # 5 METODOLOGÍA DE LA INVESTIGACIÓN
51
CAPÍTULO # 6
MODELADO DE
NEGOCIO
52
CAPITULO # 6. MODELADO DE NEGOCIO
53
CAPITULO # 6. MODELADO DE NEGOCIO
54
CAPITULO # 6. MODELADO DE NEGOCIO
55
CAPITULO # 6. MODELADO DE NEGOCIO
56
CAPÍTULO # 7
REQUISITOS
57
CAPITULO # 7. REQUISITOS
58
CAPITULO # 7. REQUISITOS
59
CAPITULO # 7. REQUISITOS
Actores: Recepcionista.
Tipo: Primario.
Actores: Recepcionista.
Tipo: Primario.
60
CAPITULO # 7. REQUISITOS
Actores: Recepcionista.
Tipo: Primario.
Actores: Administrador.
Tipo: Primario.
61
CAPITULO # 7. REQUISITOS
62
CAPITULO # 7. REQUISITOS
63
CAPÍTULO #8
ANÁLISIS
64
CAPITULO # 8. ANÁLISIS
65
CAPITULO # 8. ANÁLISIS
66
CAPITULO # 8. ANÁLISIS
Actores: Recepcionista.
La hora de la llegada del cliente puede ser antes o después de la hora de dicha
reserva.
Actores: Recepcionista.
67
CAPITULO # 8. ANÁLISIS
Actores: Recepcionista.
Actores: Administrador.
68
CAPITULO # 8. ANÁLISIS
69
CAPITULO # 8. ANÁLISIS
70
CAPITULO # 8. ANÁLISIS
71
CAPITULO # 8. ANÁLISIS
72
CAPITULO # 8. ANÁLISIS
Actores: Recepcionista
Precondiciones: Ninguna
73
CAPITULO # 8. ANÁLISIS
Actores: Recepcionista
Precondiciones: Ninguna
74
CAPITULO # 8. ANÁLISIS
Actores: Recepcionista
Precondiciones: Ninguna
75
CAPITULO # 8. ANÁLISIS
Actores: Administrador
Precondiciones: Ninguna
4.2. Eliminar
76
CAPITULO # 8. ANÁLISIS
77