Sie sind auf Seite 1von 69

Dedicatorias

A dios por permitirme realizar estos


estudios ya que si no hubiese sido por la
fortaleza que significa en mi vida estoy
realizando el sueo de ser una gran
profesionista.

A mi familia que estuvo como un pilar de


apoyo para poder lograr este gran pas en la
vida

poder

demostrar

la

calidad

de

conocimientos que adquir a lo largo de esta


etapa.
A mis grandes y mejores amigos que
pude conocer en esta etapa de la licenciatura
ya que gracias a los nimos que recibimos
mutuamente estamos dando juntos este gran
paso.

A mis profesores que estuvieron compartiendo


sus conocimientos y experiencias a lo largo de
cada semestre ya que con el granito de arena
que puso cada uno aqu estamos demostrando
que ningn obstculo es suficiente para frenar la
meta que nos propusimos al inicio de la carrera.

NDICE
Dedicatorias............................................................................................................ iii
Resumen................................................................................................................ vii
INTRODUCCIN..................................................................................................... viii
MARCO TERICO..................................................................................................... 1
Conceptos............................................................................................................... 2
Captulo 1. Sistemas de informacin basados en Web................................................4
1.1.

Antecedentes de Sistemas basados en Web..................................................4

1.2.

Sistema de Informacin................................................................................4

1.2.1.

Elementos de un sistema de informacin...................................................5

1.2.2.

Tipos de sistemas de informacin:............................................................6

1.3.

Sistemas basados en web............................................................................ 8


Aplicaciones Web..................................................................................... 8

1.3.1.
1.4.

Diseo arquitectnico..................................................................................9

1.4.1.

Ventajas de la arquitectura de software:...................................................10

1.4.2.

Requerimientos de arquitectura de software............................................10

1.4.3.

Modelos de arquitectura de software.......................................................12

1.4.3.1.

Modelo de repositorio..........................................................................12

1.4.3.2.

Modelo cliente servidor........................................................................13

1.4.3.3.

El modelo de capas.............................................................................14

1.4.3.4.

Modelo Vista Controlador (MVC, Model View Controller)........................15

Captulo 2. Paradigmas de programacion................................................................18


2.1.

Paradigma orientado a objetos...................................................................18

2.2.

Programacin del lado del servidor.............................................................18

2.2.1.

Ruby...................................................................................................... 19

2.2.2.

Sistemas Gestores de bases de datos (SGBD).........................................20

2.2.2.1.
2.2.3.

Arquitectura de los sistemas de bases de datos....................................20


Tipos de Sistemas Gestores de Bases de Datos.......................................23

2.2.3.1.

MYSQL................................................................................................ 23

2.2.3.2.

SQL.................................................................................................... 23

2.2.3.3.

SQLite................................................................................................. 24

2.2.3.4.

PostgreSQL......................................................................................... 25

2.2.4.
2.2.4.1.

Lenguaje de Modelado Unificado (UML)...................................................26


Vista esttica....................................................................................... 27
4

2.2.4.2.

Vista de casos de uso..........................................................................28

2.2.4.3.

Vista de actividad................................................................................ 29
Navegadores Web................................................................................... 30

2.2.5.
2.2.5.1.

Google Chrome................................................................................... 30

2.2.5.2.

Internet Explorer.................................................................................. 31

2.2.5.3.

Mozilla Firefox..................................................................................... 31

2.2.5.4.

Opera.................................................................................................. 32

2.2.5.5.

Safari.................................................................................................. 33

2.2.6.

Programacin del lado del cliente............................................................33

2.2.6.1.

Ruby on Rails...................................................................................... 34

a)

Framework................................................................................................... 35

b)

Fundamentos:............................................................................................... 35

c)

Tecnologa de Rails....................................................................................... 36

2.2.6.2.

HTML5................................................................................................ 36

2.2.6.3.

CSS3................................................................................................... 37

2.2.6.4.

JavaScript........................................................................................... 38

Captulo 3. Servidores Web..................................................................................... 40


3.1.

Antecedentes de servidores Web................................................................40

3.1.1.

WEBrick................................................................................................. 40

3.1.2.

Apache................................................................................................... 41

3.1.2.1.
4.

Caractersticas de Apache....................................................................41

Marco propositivo............................................................................................ 44
4.1.

Instalacin y creacin del proyecto.............................................................44

4.2.

Desarrollo del sistema Web........................................................................50

Conclusiones......................................................................................................... 57
REFERENCIAS....................................................................................................... 58

ndice de figuras
Figura 1. Datos, sistema e informacin..........................................................................5
Figura 2. Funciones de un sistema de informacin.........................................................6
Figura 3. Estructura de las aplicaciones de procesamiento de transacciones.........7
Figura 4. Arquitectura lgica de repositorio...................................................................12
Figura 5. Modelo cliente-servidor................................................................................ 13
Figura 6. Modelo de capas......................................................................................... 14
Figura 7. Diagrama del patrn MVC...........................................................................16
Figura 8. Modelo de comunicacin del modelo MVC.............................................17
5

Figura 9. Programacin del lado del servidor.......................................................19


Figura 10. Niveles de abstraccin de la arquitectura ANSI....................................21
Figura 11. Programacin del lado del cliente........................................................34
Figura 12. Framework (Solano, 2007, p.3)...................................................................35

ndice de tablas
Tabla 1. Elementos del diagrama de clases...........................................................27
Tabla 2. Elementos de casos de uso......................................................................28
Tabla 3. Elementos de la vista de actividades.......................................................29

Resumen
Los sistemas de informacin son de gran ayuda para que se pueda ahorrar
tiempo en la realizacin de procesos que se realicen de forma manual, en estos
sistemas se pueden tener entradas las cuales son procesadas y guardadas, estos
genera un informe que son las salidas que confirman que dicho proceso fue realizado
con xito. Se realizan los procedimientos de transacciones que se basan en
relacionar la informacin, con lo que en el almacn se tendr un buen control en
cuanto a las existencias de cada uno de los productos.
Las aplicaciones Web sirven para mantener una buena comunicacin, en cuanto
al cliente y los servidores que le podrn proporcionar respuestas a las peticiones que
haga un cliente. Los servidores Web que son compatibles con Ruby on Rails son
Apache y WEBrick el que se estar usando es el segundo ya que est integrado al
programa de Ruby on Rails y es de mayor eficacia para poder interactuar con los
navegadores Web.

INTRODUCCIN
A lo largo de los avances que van teniendo los sistemas de informacin se
enfocan a lo que son las aplicaciones Web, que poco a poco se van convirtiendo en
un conjunto de sistemas y subsistemas, que son indispensables para las tareas de
diferentes organizaciones. Pueden interactuar entre s para que se realice un
proceso y satisfaga las necesidades que un cliente o que un usuario requiera. El
desarrollador podr hacer uso de diferentes herramientas tecnolgicas, las cuales
podrn ser servidores web el que ms sea conveniente para la aplicacin y el tipo de
lenguajes que use para el sitio que desea desarrollar por lo que tienen que ser
compatibles en cuanto al framework que est usando. La posibilidad de hacer uso de
los sistemas gestores de base de datos, en cuanto a la facilidad de uso y la cantidad
de almacenamiento que desea tener.
Los programas que se usaran para el desarrollo de este proyecto son en cuanto al
lenguaje de programacion Web, se usara Ruby on Rails ya que posee una gran
ventaja en cuanto a su programacion que maneja con su interfaz. El editor de este
lenguaje ser SublimeText es una interfaz fcil de manipular en cuanto a
modificaciones de las pginas y la creacin de la misma. El sistema gestor de base
de datos ser el que viene integrado a esta herramienta que es Ruby on Rails, que
es SQLite se pueden crear las bases de datos con una gran facilidad al igual que las
tablas que la conforman. El servidor que se estar usando es WEBrick que de igual
manera viene integrado en Ruby on Rails. Conforme al tipo de lenguaje que se
estar usando tambin se usaran HTML5 que tiene las herramientas necesarias y
congenia con las hojas de estilo de CSS3 que darn un buen diseo del sistema
Web tanto como las herramientas de JavaScript.

MARCO TERICO

Conceptos
Sistema de Informacin: Domnguez (2012) menciona que un sistema de
informacin es un conjunto de elementos que interactan entre s con el fin de
apoyar actividades de una organizacin. (p. 23)
Paradigmas de programacin: Martin (2010) afirma que son la forma, que
determinan los mtodos y las herramientas que un programador usara en la
construccin de un software. (p. 3)
Lenguaje de programacin: segn Martin (2010) puede soportar distintos
paradigmas de programacin con el objetivo de que un programador utilice el ms
conveniente a la hora de resolver un problema. (p. 4)
HTML (HyperText Markup Language o lenguaje de marcado de hipertexto): de Luca
(2011) menciona que es el lenguaje de etiquetas que funciona como una de las
piedras angulares de la World Wide Web. (p. 20)
CSS: es la abreviatura de Cascading Style Sheet u hojas de estilo en cascada, la
finalidad de css es definir como se han de mostrar los elementos HTML y con qu
estilo se han de presentar. (Egea, 2007, p.133)
JavaScript: es un lenguaje compacto, y basado en objetos, diseado para el
desarrollo de aplicaciones cliente-servidor a travs de internet. (Snchez, 2001, p.10)
Cliente/Servidor: Kenneth y Kendall (2005), mencionan que se refiere a un modelo
de diseo que se puede pensar como aplicaciones que se ejecutan en una red de
rea local. (p.624)
UML (Lenguaje de Modelado Unificado): es un lenguaje de modelado visual de
propsito general que se utiliza para especificar, visualizar, construir y documentar
los artefactos de un sistema software. Captura decisiones y conocimiento sobre
sistemas que deben ser construidos. Se usa para comprender, disear, ojear,
configurar, mantener y controlar la informacin sobre tales sistemas. Est pensado
pasa ser utilizado con todos los mtodos de desarrollo, etapas del ciclo de vida,
dominios de aplicacin y medios. El lenguaje de modelado pretende unificar la
2

experiencia pasada sobre las tcnicas de modelado e incorporar las mejores


prcticas de software actuales en una aproximacin estndar. UML incluye conceptos
semnticos, notacin y principios generales. (Rumbaugh, Jacobson, Booch, 2000, p.
3)
Servidor Web: es un programa que atiende y responde a las diversas peticiones de
los navegadores, proporcionndoles los recursos que solicitan mediante el protocolo
HTTP o el protocolo HTTPS.

Captulo 1. Sistemas de informacin basados en Web


1.1.

Antecedentes de Sistemas basados en Web


Con la ayuda de estos sistemas se pueden generar y ahorrar muchsimos

recursos de una organizacin en particular. De tal manera que se pueda hacer


publicidad, ventas o un control en cuanto al almacenamiento de los productos o
material, que son necesarios para cubrir el giro de la organizacin para que es
desarrollado. Tahuiton (2011) menciona que:
Con la llegada de Internet surgieron las aplicaciones Web, que permiten usar
la infraestructura de la Web para que se desarrollen aplicaciones globales. Estas
aplicaciones representan ms de la mitad del total de todas las aplicaciones de la
industria de software, lo que indica qu siguen creciendo y ganan ms
popularidad en un mercado que es bastante competitivo, y se perfilan para ser
aplicaciones del futuro. Hacen uso de los navegadores y servidores Web que les
permiten tener acceso a un sinfn de aplicaciones, mediante la interfaz que ofrece
el navegador Web.
Son ms accesibles gracias al uso de protocolos estndar como lo es HTTP,
ya que toda aplicacin Web es usada por toda la Web sin tomar en cuenta la
ubicacin y el tipo de plataforma que se est usando. Son fcil de mantener
desde el instante en que una aplicacin Web sea dada de alta en el servidor, los
usuarios pueden acceder a ella, que permite cualquier cambio solo se haga en el
servidor y no en el cliente, con lo que se pueden ahorrar tiempos de cada
proceso que lo integra. (p.25)

1.2.

Sistema de Informacin

Los sistemas de informacin brindan informacin a todos los subsistemas de una


organizacin, un analista se dedica a estudiar las partes de una organizacin, para
especificarlos sistemas de informacin correspondientes, ya que debe especificar
como debe de funcionar el sistema y sus subsistemas, las entradas y salidas que se
deban proporcionar, de igual manera que los procesos que sern realizados de forma
manual y los que se realizaran con la ayuda de la computadora (Domnguez, 2012).

Los sistemas de informacin desarrollan tres actividades fundamentales que


generan resultados para poder tomar decisiones, controlar y analizar problemas que
pudieran afectar a la organizacin.

Figura 1. Datos, sistema e informacin.


Fuente: Elaboracin propia

1.2.1. Elementos de un sistema de informacin


Los aspectos financieros permiten adquirir, contratar y poder mantener a los
dems recursos que integran al sistema de informacin. Los elementos
administrativos, son los objetivos, lineamientos, funciones, procedimientos, que
acorde a las actividades que desarrollan pueden crear y darle usos a los sistemas. El
elemento humano, lo componen grupos dentro de la organizacin el usuario, lo
representan las personas que manejan la informacin por medio de las herramientas
tecnolgicas, las que apoyan su desempeo de sus actividades. El tcnico, es aquel
que tiene los conocimientos especializados para poder desarrollar sistemas.
Los elementos materiales, son aquellos que soportan el funcionamiento del
sistema de informacin. La tecnologa, posee los conocimientos, experiencia y
tcnicas que pueden orientar la creacin, operacin y mantenimiento del sistema
desarrollado (Pea, 2006, p. 7). Un sistema de informacin es de gran ayuda lo que
permite agilizar los procesos operativos, como son realizar una venta con mayor
eficacia, para proporcionar informacin que ser de apoyo en la toma de decisiones.
Esto tiene ciertas ventajas competitivas en base a su implantacin y uso del mismo,
lo que logra la automatizacin de dichos procesos.

Figura 2. Funciones de un sistema de informacin


Fuente: Laudon Kenneth C. y Laudon Jane P., 2012,Sistemas de informacin gerencial, Mxico, Pearson
educacin, p.17

1.2.2. Tipos de sistemas de informacin:


Sistemas de procesamiento de transacciones (TPS, Transaction
Processing Systems) son sistemas de informacin computarizada creados para
procesar grandes cantidades de datos relacionadas con transacciones rutinarias
de negocios, como las nminas y los inventarios. Un TPS elimina el fastidio que
representa la realizacin de transacciones operativas necesarias y reduce el
tiempo que una vez fue requerido para llevarlas a cabo de manera manual,
aunque los usuarios an tienen que capturar datos en los sistemas
computarizados. (Kendall y Kendall, 2005, p. 2,3)

Su objetivo es capturar y procesar datos sobre las transacciones de negocios que


se realizan, constantemente en una organizacin. Dichas transacciones se conocen
como hechos o actividades que se llevan a cabo dentro de la organizacin, lo que
genera informacin. Son sistemas interactivos mediante el que se pueden hacer una
serie de peticiones de servicios de forma asncrona (Fernndez, 2006).

Figura 3. Estructura de las aplicaciones de procesamiento de transacciones.


Fuente: Somerville Ian, 2005, ingeniera de software, Madrid, PEARSON EDUCACIN, p. 276.

Este tipo de sistemas son diseados para que se procesen las peticiones de los
usuarios que requieran informacin o actualizar la base de datos. Las diferentes
transacciones que realizan las bases de datos son ejecutadas en forma secuencial,
para que puedan ser completadas y posteriormente guarde los cambios para que
sean permanentes. Tienen cada uno de sus procesos definidos como rutinas, que
permiten trabajar con un sinfn de volmenes de datos, estos procesos estn
delimitados para que puedan sustituir procesos manuales por otros que estn
basados en ordenadores.
Sus caractersticas se definen ya que tienen la facilidad de proporcionar
respuestas con eficacia, la fiabilidad que este tipo de sistemas representa para
proporcionar informacin, est diseado para que contenga un minimo de errores los
cuales no afecta todo el sistema y puede omitirlos para que pueda proporcionar las
respuestas viables y cada proceso se controla mediante las peticiones que realice el
cliente. Las propiedades que posee se enfocan a las operaciones que realiza con
xito y que las respuestas que proporcione sean errneas, la fiabilidad de la
informacin proporcionada por la base de datos, el aislamiento ayuda a que se
mantenga la integridad de los datos que estn dentro de la base de datos y la
durabilidad se torna al ciclo de vida en el cual se est basado el sistema.
Sistemas de automatizacin de las oficina y sistemas del trabajo del
conocimiento [OAS, Office Automation Systems] apoyan a los trabajadores de
datos, en general no generan conocimientos nuevos, sino ms bien analizan la
informacin con el propsito de transformar los datos o manipularlos de alguna
manera antes de compartirlos o, en su caso, distribuirlos formalmente con el
resto de la organizacin y en ocasiones ms all de sta.
Los sistemas de informacin gerencial (MIS, Management Information
Systems] no reemplazan a los sistemas de procesamiento de transacciones, ms
7

bien, incluyen el procesamiento de transacciones. Los MIS son sistemas de


informacin computarizados cuyo propsito es contribuir a la correcta interaccin
entre los usuarios y las computadoras.
Los sistemas de apoyo a la toma de decisiones (DSS, Decisin Support
Systems] constituyen una clase de alto nivel de sistemas de informacin
computarizada. Los DSS coinciden con sistemas de informacin gerencial en que
ambos dependen de una base de datos para abastecerse de datos. Sin embargo,
difieren en que el DSS pone nfasis en el apoyo a la toma de decisiones en todas
sus fases, aunque la decisin definitiva es responsabilidad exclusiva del
encargado de tomarla.
La inteligencia artificial (AI, Artificial Intelligence] se puede considerar como
el campo general para los sistemas expertos. La motivacin principal de la AI ha
sido desarrollar mquinas que tengan un comportamiento inteligente. Dos de las
lneas de investigacin de la AI son la comprensin del lenguaje natural y el
anlisis de la capacidad para razonar un problema hasta su conclusin lgica.
Los sistemas expertos utilizan las tcnicas de razonamiento de la AI para
solucionar los problemas que les plantean los usuarios de negocios. (Kendall y
Kendall, 2005, p. 2,3)

Los sistemas de informacin describen, caractersticas que se basan en un diseo


lgico, cuyos procesos que ejecutan son las entradas, salidas, base de datos y
procesamiento lo que cubre en si los requerimientos del usuario final. El diseo fsico
es la combinacin de los componentes y funciones que realizara cada proceso. Es
de gran beneficio a la organizacin lo que permite, tener mayor eficacia en las tareas,
reducir costes en cuanto a procesos ya sea de ventas o almacn.

1.3.

Sistemas basados en web

1.3.1. Aplicaciones Web


Inicialmente la web era una coleccin de pginas estticas, documentos, etc.,
que podan consultarse o descargarse. El siguiente paso en su evolucin fue la
inclusin de un mtodo para confeccionar pginas dinmicas que permitiesen
que lo mostrado fuese dinmico. Dicho mtodo fue conocido como CGI (common
Gateway interface) y defina un mecanismo mediante el cual podemos pasar
8

informacin entre el servidor HTTP y programas externos. Los CGI siguen siendo
muy utilizados, puesto que la mayora de los servidores web los soportan debido
a su sencillez. Adems, proporcionan total libertad a la hora de escoger el
lenguaje de programacin para desarrollarlos.
El esquema de funcionamiento de los CGI tena un punto dbil: cada vez que
recibe una peticin, el servidor web lanzaba un proceso que ejecutaba el
programa CGI. Como, la mayora de CGI estaban escritos en algn lenguaje
interpretado (Perl, Python, etc.) o en algn lenguaje que requera run-time
environment (Visual BASIC, Java, etc.), esto implicaba una gran carga para la
mquina del servidor. Adems, si la web tena muchos accesos al CGI, esto
supona problemas graves. (Mateu, 2004, p. 20)

Las aplicaciones web se implementan ideas que son subidas a internet lo que
ofrece, servicios al usuario, que puede hacer peticiones mediante un navegador
web, las aplicaciones se puede obtener el servicio solicitado. Son de acceso general
para los usuarios en el que podrn acceder a tiendas virtuales, blogs, bibliotecas
virtuales, etc. Cada usuario podr acceder a cada aplicacin web, que requieran ya
que puede ser mediante internet y emplean diferentes tecnologas que se pueden
visualizar en la interfaz de usuario, son compatibles con diferentes plataformas, son
de alta disponibilidad, los virus no las pueden daar, en cada navegador ofrece cada
vez ms mejores funcionalidades.

1.4.

Diseo arquitectnico

El diseo arquitectnico es bsicamente la estructura, que tomara el sistema de


informacin conforme a los requerimientos del usuario final del mismo. Este diseo
puede ocurrir mediante el desarrollo del sistema y mediante esta tcnica se puede
describir la forma que tomara el sistema a lo largo de su desarrollo.
Los grandes sistemas siempre se descomponen en subsistemas que
proporcionan algn conjunto de servicios relacionados. El proceso de diseo
inicial que identifica estos subsistemas y establece un marco para el control y
comunicacin de los subsistemas se llama diseo arquitectnico, es la primera

etapa en el proceso de diseo y representa un enlace crtico entre los procesos


de ingeniera de diseo y de requerimientos. (Sommerville, 2005, p.220)

1.4.1. Ventajas de la arquitectura de software:


Las ventajas que ofrecen las diferentes arquitecturas de software, son de gran
ayuda ya que pueden mantener una comunicacin slida, para poder tomar
decisiones en cuanto al diseo arquitectnico, ya que al momento de elegir un
modelo este describir como van a operar cada uno de sus componentes que
integren el sistema, para ello se basa en los requerimientos que hace el usuario
final.
La comunicacin stakeholders, en la arquitectura constituye una
presentacin de alto nivel del sistema que puede usarse como punto de
discusin por varios stakeholders. El anlisis del sistema, toma las decisiones de
diseo arquitectnico tienen un gran efecto sobre si el sistema puede cumplir los
requerimientos crticos tales como rendimiento, fiabilidad y mantenibilidad.
La reutilizacin a gran escala, en un modelo de arquitectura del sistema es
una descripcin compacta y manejable de la organizacin de un sistema y la
interoperabilidad de sus componentes. La arquitectura del sistema es a menudo
la misma para sistemas con requerimientos similares y pueden soportar
reutilizacin del software a gran escala. (Sommerville, 2005, p.220)

1.4.2. Requerimientos de arquitectura de software


El primer requerimiento es rendimiento, en la arquitectura se debe disear
para identificar las operaciones crticas en un pequeo nmero de subsistemas,
con poca comunicacin. El segundo requerimiento es la proteccin, se debe usar
en una arquitectura estructurada en capas, con recursos ms crticos protegidos
en las capas ms internas y aplicando una validacin de seguridad de alto nivel
en dichas capas.
La seguridad es el tercer requerimiento, la arquitectura se debe disear para
que las operaciones relacionadas con la seguridad se localicen en un solo
subsistema o en un pequeo nmero de subsistemas. Esto reduce los costes y
los problemas de validacin de seguridad y hace posible crear los sistemas de
10

proteccin relacionados con la seguridad. La disponibilidad es el requerimiento


cuatro, en la arquitectura se debe disear para incluir componentes redundantes
y para que sea posible reemplazar y actualizar componentes sin detener el
sistema.
El requerimiento cinco es la mantenibilidad, en la que la arquitectura del
sistema se debe disear usando componentes independientes de grano fino que
puedan modificarse con facilidad. Los productores de los datos deberan
separarse de los consumidores y deberan evitarse las estructuras de datos
compartidas. (Sommerville, 2005, p.220)

Se tiene que tener un buen rendimiento en el sistema, para que se comuniquen,


tenga un diseo, basndose en los recursos y la seguridad que lo vallan a integrar.
Se pueden reducir costes y problemas, basados en los diseos que pueda tomar de
acuerdo a los componentes, se podrn hacer reemplazamientos y separarlos de
acuerdo a cada nivel que representen. Los modelos arquitectnicos que pueden
desarrollarse Sommerville, 2005 menciona que pueden incluir:
Un modelo estructural, muestra los subsistemas o componentes que han sido
desarrollados como unidades separadas. El de proceso dinmico muestra cmo
se organiza el sistema en procesos en tiempo de ejecucin. Este modelo puede
ser diferente del modelo esttico. El modelo de interfaz, es el que define los
servicios ofrecidos por cada subsistema a travs de su interfaz pblica.
Los modelos de relacin, muestran las relaciones, tales como el flujo de datos,
entre los subsistemas. El modelo de distribucin, muestra cmo se distribuyen los
subsistemas entre las computadoras. (p.224)

Bsicamente son modelos que se desarrollan en base a limitantes que se vallan


presentando, y as poder mostrar la organizacin y la definicin de cada servicio, de
esta manera obtener un adecuado flujo de los datos a procesar, de la misma manera
se ejecuten de manera satisfactoria los procesos a realizar. A continuacin se
describen los tipos de arquitecturas de software.

11

1.4.3. Modelos de arquitectura de software


1.4.3.1. Modelo de repositorio
Los subsistemas que forman un sistema deben intercambiar informacin para
que puedan trabajar conjuntamente de forma efectiva. Esto se puede conseguir
de dos formas fundamentales:
Todos los datos compartidos se almacenan en una base de datos central a la que
puede acceder por todos los subsistemas. Un modelo de sistema basado en una
base de datos compartida se denomina algunas veces modelo de repositorio.
Cada subsistema mantiene su propia base de datos. Los datos se intercambian
con otros subsistemas mediante el paso de mensajes entre ellos. (Sommerville,
2005, p.225)

Figura 4. Arquitectura lgica de repositorio.


Fuente: Sommerville Ian, 2005, Ingeniera del software, Madrid, PEARSON EDUCACIN. S.A.,
p.225

En la arquitectura de repositorio se tiene un editor, el cual vera las diferentes


opciones que puede tomar el traductor del diseo y se basara en un anlisis que
previamente ser estudiado, para que se pueda generar la interfaz del sistema de
una manera en que pueda generar informes de los diferentes procesos que sern
ejecutados mediante el editor de cada una de las etapas por las que ser compuesto
el sistema.

12

1.4.3.2. Modelo cliente servidor


Es un modelo de sistema en el que dicho sistema se organiza como un
conjunto de servicios y servidores asociados, ms clientes que acceden y usan
los servicios. Los principales componentes de este modelo son: un conjunto de
servidores que ofrecen servicios a otros subsistemas, un conjunto de clientes que
llaman a los servicios ofrecidos por servidores y una red que permite a los
clientes acceder a estos servicios. Esto no es estrictamente necesario ya que los
clientes y los servidores podran ejecutarse sobre una nica mquina, el modelo
sistemas cliente-servidor se implementan como sistemas distribuidos.
Los clientes pueden conocer los nombres de los servidores disponibles y los
servicios que stos proporcionan. Los clientes acceden a los servicios
proporcionados por un servidor a travs de llamadas a procedimientos remotos
usando un protocolo de peticin-respuesta. (Sommerville, 2005, p.226, 227)

Figura 5. Modelo cliente-servidor


Fuente: Sommerville Ian, 2005, Ingeniera del software, Madrid, PEARSON EDUCACIN. S.A.,
p.227

Est compuesta por dos etapas en la que est el servidor, que estar integrado
por aplicaciones web que dan respuestas a un cliente que en caso dado es el

13

usuario, este puede hacer una serie de peticiones las cuales podrn ser de algn
tema en particular y el servidor mediante una conexin a internet o mediante intranet
se le harn llegar la respuesta de cada peticin que se ha hecho.

1.4.3.3. El modelo de capas


Sommerville (2005) menciona que, una arquitectura que organiza el sistema en
capas, cada una de las cuales proporciona un conjunto de servicios. Cada capa
puede pensarse como una mquina abstracta cuyo lenguaje mquina se define por
servicios proporcionados por cada capa. (p.228)

Figura 6. Modelo de capas.


Fuente: Sommerville Ian, 2005, Ingeniera del software, Madrid, PEARSON EDUCACIN. S.A.,
p.228.

Cada capa que compone a este modelo tiene una tarea especfica, est
compuesta por un servidor donde se almacenara cada subsistema que compone el
sistema, que son el sistema operativo donde se montaran las diferentes aplicaciones
como lo son el sistema gestor de base de datos en este caso ser el que se halla
considerado la mejor opcin para almacenar la informacin que se manejara, en la
gestin de objetos son los procesos que generan mediante la gestin de
14

configuraciones que es donde se generan la peticiones y es la interfaz con la que


interacta el usuario.

1.4.3.4. Modelo Vista Controlador (MVC, Model View Controller)


Es un patrn para disear aplicaciones, que permite separar el cdigo en tres
actores principales:
Modelos, se encargan de la comunicacin con la base de datos. Tiene la tarea de
conectar una aplicacin con la que, se limitara para indicar el tipo de base de datos,
nombre, usuario y contrasea. Al momento de hablar se empleara nicamente el
interlocutor que sern los modelos, utilizando una pieza del puzle Rails llamada
Active Record, que hace la tarea de intrprete entre el tipo de base de datos y el
lenguaje que utiliza, lo que es similar al lenguaje Sql nativo.
El controlador es el principal actor y su funcin es comunicarse en cuanto a los
modelos y las vistas. Es donde se coloca toda la lgica del programa. Vistas, son las
plantillas que se muestran a los usuarios, las cuales tienen cdigo Ruby entre
etiquetas HTML. Las vistas pueden ser dinmicas y se obtienen las variables del
controlador (Ponce, 2013).

15

Figura 7. Diagrama del patrn MVC


Fuente: Solano Murio Roberto y Coles Eduardo, 2007, Ruby on Rails una forma rpida de hacer aplicaciones
Web, Costa Rica, Universidad de Costa Rica, p. 4.

Estos tres elementos se comunican entre s ya que el modelo requiere referencias


de la vista, que a la vez esta necesita referencias del modelo y controlador y este
ultimo de necesita una referencia del modelo. Para este modelo se tiene que
considerar el uso de patrones de diseo para que se pueda generar cdigo, que ms
adelante se pueda reutilizar en algunos otros proyectos para que se puedan hacer
mejoras de una manera ms eficaz y prctica.

16

Figura 8. Modelo de comunicacin del modelo MVC.


Fuente: Mouzo Lema Fabricio Juan, Makedonsky Mariano, 2011, Flash: desarrollo profesional,
Buenos Aires: Fox Andina; Dalaga, p. 117.

17

Captulo 2. Paradigmas de programacion.


Un lenguaje de programacion puede soportar distintos paradigmas de
programacion con el objetivo de que el programador utilice el que ms le
convenga para que d solucin a las peticiones que su cliente haga. Un solo
paradigma no puede dar solucin a todos los problemas de una forma eficiente,
por lo que puede ser til entre distintos estilos de programacion que depende del
cada tipo de problema, existen lenguajes que permiten mezclar distintos
paradigmas. (Tahuiton, 2011, p. 4)

Existen distintos tipos de lenguajes de programacion unos son utilizados para


desarrollar sistemas basados en Web, para lo cual estos se diferencian ya que unos
suelen ser de parte del servidor que por consecuencia solo estarn ubicados ah y
del lado del cliente ya que esto ser posible acceder mediante una computadora
personal para gestionar algn servicio o producto.

2.1.

Paradigma orientado a objetos


Posee como idea principal encapsular estado y operaciones en objetos.
Estos objetos pueden comunicarse entre s, poseen clases y herencia. Se
puede destacar como ventaja la facilidad de reutilizacin de cdigo. Algn
ejemplo de algunos lenguajes orientados a objetos pueden ser: Simula,
Smalltalk, C++, Java, Visual Basic .NET, Ruby on Rails, etc. (Martin, 2010, p. 6)

Este tipo de paradigma posee una gran ventaja para que se pueda programar en
las diferentes plataformas, en especial las plataformas en que se puede programar
sistemas basados en Web. Tiene su propio comportamiento y sus propiedades
especificas del sistema en desarrollo, por lo que se pueden desarrollar sistemas
complejos, se puede relacionar con el mundo real, posee la facilidad de crear
sistemas visuales, una fcil elaboracin de prototipos lo que agiliza el desarrollo de
sistemas y una gran facilidad de dar mantenimiento al sistema.

18

2.2.

Programacin del lado del servidor

Es una tecnologa mediante procesos que son ejecutados mediante una peticin
del usuario, con la interpretacin de un Script dentro del servidor Web que genera
pginas dinmicamente. Se usan para darle actividades a los servidores de los sitios
Web que se conectan a sus bases de datos o almacenes de informacin, para que
muestren resultados

de las peticiones que hace el cliente mediante pginas

dinmicas. Cobo, Gmez, Prez y Rocha (2005) mencionan que: La programacin


de lado del servidor, son los programas que se ejecutan por el servidor y lo que se
enva al cliente es la respuesta o resultado de dicha ejecucin. (p. 16)

Figura 9. Programacin del lado del servidor


Fuente: Cobo y cols, 2005, PHP y MySQL: Tecnologa para el desarrollo de aplicaciones web, Espaa,
Ediciones Daz Santos, p. 16.

2.2.1. Ruby
Este lenguaje tiene la posibilidad de llamadas directas al sistema operativo en el
cual este alojado, posee expresiones de cadenas de caracteres que lo distinguen de
cualquier otro lenguaje de programacion Web, ya que son regulares, tienen la
facilidad de desarrollo incremental. Por estas caractersticas todo es un objeto, se
distinguen por la programacion orientada a objetos (POO), para sus mtodos
singleton, Iteradores y cierres. La declaracin de variables es innecesaria, ya que las
variables no se distinguen por el tipo, su sintaxis es simple y consistente, para una
19

gestin de memoria que se realiza automticamente (Navajas, 2011). Este lenguaje


se puede comportar para poder minimizar la confusin, posee cuatro niveles que son
la forma global del sistema, las clases que lo conforman, las instancias y clusulas
que se han declarado en la programacion del sistema y que puede definir sus
operadores.

2.2.2. Sistemas Gestores de bases de datos (SGBD)


Son programas que pueden administrar y gestionar la informacin que contienen
en una base de datos, para lo que pueden realizar ciertas tareas: pueden mantener
la integridad de la informacin, dentro de la base de datos, su seguridad y la
manipulacin de la misma. Poseen una interfaz entre el usuario final, la informacin
y los programas que lo pueden manejar, dicho gestor puede almacenar, una
descripcin de la informacin contenida a lo que se le llama diccionario de datos, los
usuarios que pueden tener acceso a la informacin con ciertos privilegios cada uno
de estos, de acuerdo a las tareas que puede realizar cada usuario.
Como una coleccin de datos relacionados entre s, estructurados y
organizados, y un conjunto de programas que acceden y gestionan esos datos.
La coleccin de esos datos se denomina Base de Datos o BD. El SGBD es una
aplicacin que permite a los usuarios definir, crear y mantener la BD y
proporciona un acceso controlado a la misma. Debe prestar los siguientes
servicios:
La Creacin y definicin de la BD, que especificacin de la estructura, el tipo
de los datos, las restricciones y relaciones entre ellos mediante lenguajes de
definicin de datos. Toda esta informacin se almacena en el diccionario de
datos, el SGBD proporcionar mecanismos para la gestin del diccionario de
datos. La manipulacin de los datos realizando consultas, inserciones y
actualizaciones de los que utilizan los lenguajes de manipulacin de datos. El
acceso controlado a los datos de la BD mediante mecanismos de seguridad de
acceso a los usuarios.
Mantener la integridad y consistencia de los datos utilizando mecanismos para
evitar que los datos sean perjudicados por cambios no autorizados. Acceso
compartido a la BD, controlando la interaccin entre usuarios concurrentes.

20

Mecanismos de respaldo y recuperacin para restablecer la informacin en caso


de fallos en el sistema. (Ramos, Ramos y Montero, 2006, p.7)

2.2.2.1. Arquitectura de los sistemas de bases de datos


En 1975, el comit ANSI-SPARC (American National Standard Institute Standards Planning and Requirements Committee) propuso una arquitectura de
tres niveles para los SGBD cuyo objetivo principal era el de separar los
programas de aplicacin de la BD fsica. En esta arquitectura el esquema de una
BD se define en tres niveles de abstraccin distintos:
Nivel interno o fsico, el ms cercano al almacenamiento fsico, es decir, tal y
como estn almacenados en el ordenador. Describe la estructura fsica de la BD
mediante un esquema interno. Este esquema se especifica con un modelo fsico
y describe los detalles de cmo se almacenan fsicamente los datos: los archivos
que contienen la informacin, su organizacin, los mtodos de acceso a los
registros, los tipos de registros, la longitud, los campos que los componen,
etctera.
Nivel externo o de visin, es el ms cercano a los usuarios, es decir, es donde
se describen varios esquemas externos o vistas de usuarios. Cada esquema
describe la parte de la BD que interesa a un grupo de usuarios en este nivel se
representa la visin individual de un usuario o de un grupo de usuarios.
Nivel conceptual, describe la estructura de toda la BD para un grupo de
usuarios mediante un esquema conceptual. Este esquema describe las
entidades, atributos, relaciones, operaciones de los usuarios y restricciones,
ocultando los detalles de las estructuras fsicas de almacenamiento. Representa
la informacin contenida en la BD. (Ramos y cols, 2006, p.9)

21

Figura 10. Niveles de abstraccin de la arquitectura ANSI.


Fuente: Ramos Martin Ma. De Jess, Ramos Martin Alicia, Montero Rodrguez Fernando,
Sistemas Gestores de Bases de Datos, McGraw-Hill, Espaa, 2006, p. 9.

El tipo de arquitectura de datos, es de gran ayuda para que se puedan separar,


los programas de aplicacin que se usan para la base de datos fsica, regularmente
los SGBD manejan esquemas externos para las vistas de usuario, que especifican el
modelo de datos, que puedan describir la informacin.
El SGBD permite al usuario solicitar informacin, con la que crea una consulta,
tambin puede verificar y aceptarla en el nivel externo para el usuario, el que puede
transformar dicha solicitud en el nivel conceptual, para que posteriormente verifique y
acepte el esquema en el nivel fsico que seleccione la o las tablas involucradas en la
peticin y poder ejecutarla, lo que se transforma en el nivel conceptual y de ah
enviarlo al nivel externo y finalmente el usuario pueda visualizarlos datos que
requiere. Ramos y cols (2006) menciona que la arquitectura de tres niveles tiene un
concepto de independencia de datos, a los que se les conoce como tipos de
independencia:
Independencia lgica, es la capacidad de modificar el esquema conceptual sin
tener que alterar los esquemas externos ni los programas de aplicacin. Se podr
modificar el esquema conceptual para ampliar la BD o para reducirla, por

22

ejemplo, si se elimina una entidad, los esquemas externos que no se refieran a


ella no se vern afectados.
Independencia fsica, es la capacidad de modificar el esquema interno sin
tener que alterar ni el esquema conceptual, ni los externos. Por ejemplo, se
pueden reorganizar los archivos fsicos con el fin de mejorar el rendimiento de las
operaciones de consulta o de actualizacin, o se pueden aadir nuevos archivos
de datos porque los que haba se han llenado. La independencia fsica es ms
fcil de conseguir que la lgica, pues se refiere a la separacin entre las
aplicaciones y las estructuras fsicas de almacenamiento. (p.10)

Los componentes de los SGBD realizan tres funciones para que se consideren
validos: La funcin que describe o define, es la que permite al diseador de la BD,
poder crear estructuras para que se integre de una manera adecuada la informacin,
esta funcin se realiza definiendo estructuras, relaciones y reglas que debe cumplir
la informacin. La manipulacin es la funcin que permite utilizar y modificar la
informacin de la BD, ya que se puede aadir, eliminar, modificar y buscar
informacin. El control tiene la funcin de permitir a los administradores poseer
mecanismos que protegen las vistas de la informacin que se le permitan a cada
usuario.

2.2.3. Tipos de Sistemas Gestores de Bases de Datos


2.2.3.1. MYSQL
MySQL es un sistema de administracin de bases de datos relacional
(RDBMS). Se trata de un programa capaz de almacenar una enorme cantidad de
datos de gran variedad y de distribuirlos para cubrir las necesidades de cualquier
tipo de organizacin, desde pequeos establecimientos comerciales a grandes
empresas y organismos administrativos. Incluye todos los elementos necesarios
para instalar el programa, preparar diferentes niveles de acceso de usuario,
administrar el sistema y proteger y hacer volcados de datos.
Puede desarrollar sus propias aplicaciones de base de datos en la mayor parte
de 10s lenguajes de programacin utilizados en la actualidad y ejecutarlos en
casi

todos

10s

sistemas

operativos,

incluyendo

algunos

de

los

que

probablemente no ha odo nunca hablar. Utiliza el lenguaje de consulta


estructurado (SQL). Este lenguaje permite crear bases de datos, as como

23

agregar, manipular y recuperar datos en funcin de criterios especficos. (Gilfillan,


2008, p. 40)

Este tipo de SMBD, es una aplicacin la cual permite gestionar una BD, ya que
existen varios tipos de BD, se pueden usar mltiples tablas en las que se puedan
almacenar y organizar informacin. Este sistema se destaca por la facilidad que
representa el poder adaptarse a diferentes entornos en los que se pueden
desarrollar, esto permite una gran interaccin con diversos lenguajes de
programacin y la integracin a distintos sistemas operativos.

2.2.3.2. SQL
Es un lenguaje de programacin para el acceso a SGBD, ya que la mayor parte
de los sistemas actuales son de este tipo de lenguaje SQL es el ms ampliamente
usado en estos, se puede decir sin ningn gnero de dudas que este lenguaje es
empleado

mayoritariamente

en

los

sistemas

existentes

hoy

en

da

imprescindiblemente no tiene rival alguno. Es empleado en sistemas informticos


que van desde ordenadores personales bsicos, hasta los ms potentes
multiprocesadores

multicomputadores

con

decenas

de

procesadores

superescalares. (Quintana, Marqus y Aramburu, 2008, p. 8)

Las ventajas que aporte, son mediante la difusin ya que es empleada en la


mayora de los sistemas, la expresividad que maneja mediante diferentes
operaciones que desarrolla. Este sistema est conformado por dos tipos de
lenguajes, el primero es el lenguaje de definicin que incluye sentencias para que se
pueda definir la informacin. El segundo es el lenguaje de manipulacin, que lo
representan las sentencias que pueden manipular la informacin como podra ser
insertar, actualizar, modificar y barrar.

2.2.3.3. SQLite
Es una base de datos integrada de cdigo abierto la implementacin original
fue diseada por D. Richard Hipp. Hipp fue el diseo de software utilizado en
sistemas de misiles guiados de mesa y por lo tanto contaba con recursos
limitados para trabajar. Los objetivos de diseo resultantes de SQLite iban a

24

permitir que el programa funciona sin la instalacin de bases de datos o la


administracin
Especificaciones: SQLite es diferente de la mayora de los otros motores de
bases de datos SQL, ya que su primer objetivo es ser simple. SQLite funciona
con: formato de archivo de aplicacin-Operaciones de garanta ACID,
desencadena proporcionar funcin deshacer/rehacer Anlisis de datos temporalcliente, archivos CSV de importacin de lnea de comandos y el uso de SQL para
analizar y generar informes. (Coln, 2013, p. 2, 8)

Es un sistema completo de base de datos, ya que puede soportar mltiples


tablas, disparadores, vistas e ndices. No necesita que los procesos se realicen
aparte por lo que lee directamente de los archivos que se encuentran en el disco
duro. El formato que usa este tipo de SGBD es multiplataforma, los datos que son
almacenados hacen uso de un nico fichero a diferencia de otros SGBD que hacen
uso de varios archivos. Pueden emplear registros que tienen el tamao de la
variable que hace uso de un espacio, en disco el cdigo es de fcil entendimiento y
de una forma accesible para las funciones y estructuras que se deseen desarrollar.
Posee una memoria pequea y una biblioteca nica que es necesaria para que se
pueda acceder a la base.
Realiza procesos de una manera eficiente y es ms gil que PostgreSQL y
MySQL. Es compatible con ACID, lo que rene a los cuatro criterios que son
Atomicidad, Consistencia, Aislamiento y Durabilidad. Los usos de este SGBD, es en
base al formato de los archivos de las aplicaciones para dispositivos mviles y de
sitios Web con gran cantidad de transacciones que tienen alta consistencia. Se
puede enlazar con el sistema que se desarrolle para que forme parte del mismo. Su
funcionalidad se basa en las llamadas simples que se derivan de las rutinas y sus
funciones, en cuanto a las llamadas a las funciones son de una manera eficaz y la
buena comunicacin entre cada uno de los procesos.

2.2.3.4. PostgreSQL
En 1996, se hizo evidente que el nombre Postgres95 no resistira el paso del
tiempo. Hay que elegir un nuevo nombre, PostgreSQL, para reflejar la relacin
entre el Postgres original y las versiones ms recientes con capacidades SQL. Al

25

mismo tiempo, hace que los nmeros de versin partieran de la 6.0, volviendo a
la secuencia seguida originalmente por el proyecto Postgres. Durante el
desarrollo de Postgres95 se hizo hincapi en identificar y entender los problemas
en el cdigo del motor de datos. Con PostgreSQL, el nfasis ha pasado a
aumentar caractersticas y capacidades, aunque el trabajo contina en todas las
reas. PostgreSQL posee una serie de mejoras las cuales son:
Los bloqueos de tabla han sido sustituidos por el control de concurrencia multiversin, el cual permite a los accesos de slo lectura continuar leyendo datos
consistentes durante la actualizacin de registros, y permite copias de seguridad
en caliente desde pg_dump mientras la base de datos permanece disponible
para consultas. Se han implementado importantes caractersticas del motor de
datos, que incluyen subconsultas, valores por defecto, restricciones a valores en
los campos (constraints) y disparadores (triggers).
Se han aadido funcionalidades en lnea con el estndar SQL92, incluyendo
claves primarias, identificadores entrecomillados, forzado de tipos cadenas
literales, conversin de tipos y entrada de enteros binarios y hexadecimales. Los
tipos internos han sido mejorados, incluyendo nuevos tipos de fecha/hora de
rango amplio y soporte para tipos geomtricos adicionales. La velocidad del
cdigo del motor de datos ha sido incrementada aproximadamente en un 2040%, y su tiempo de arranque ha bajado el 80% desde que la versin 6.0 fue
lanzada. (Lockhart, 1996, p. 5)

Este SGBD, se basa en las bases de datos relacionales, ya que es de gestin de


BD de cdigo abierto. Utiliza el modelo cliente-servidor, lo que por defecto puede
usar multiprocesos, para que garantice una gran estabilidad del sistema que se est
desarrollando.

2.2.4. Lenguaje de Modelado Unificado (UML)


Rumbaugh, Jacobson, Booch (2000) mencionan que;
UML capta la informacin sobre la estructura esttica y el comportamiento
dinmico del sistema. Un sistema es modelado como una coleccin de objetos
discretos que interactan para realizar un trabajo que en ltima instancia
beneficia a un usuario externo. La estructura esttica define tipos de objetos
importantes para un sistema y para su implementacin, as como las relaciones
entre los objetos. El comportamiento dinmico define la historia de los objetos a
26

lo largo del tiempo y la comunicacin entre objetos para cumplir los objetivos. El
modelado de un sistema desde varios puntos de vista separados pero
relacionados, permite entenderlo para diferentes propsitos.
Una vista simplemente es un subconjunto de las construcciones de modelado
de UML que representan un aspecto del sistema. La divisin en diferentes vistas
es un tanto arbitraria, pero esperamos que sea intuitiva. Uno o dos tipos de
diagramas proporcionan una notacin visual para los conceptos de cada vista.
Las vistas utilizadas en este libro no son parte de la especificacin de UML, pero
las utilizamos como ayuda para organizar y presentar los conceptos de UML. (p.
3)

Sirve de ayuda para visualizar de una forma grfica cada proceso que realizara el
sistema en desarrollo, para que se d una idea ms clara de los mismos. Con esto
se puede tener un mejor control de lo que se est desarrollando, y ver qu proceso
realizara tanto el servidor as como cada peticin que pueda hacer el usuario final
para tener un mejor control de cada usuario del sistema. De igual manera para hacer
las especificaciones de cada tarea que realizara tanto usuarios externos como los
internos de la organizacin.

2.2.4.1. Vista esttica


Modela los conceptos del dominio de la aplicacin, as como de los conceptos
internos inventados como parte de la implementacin de la aplicacin. Esta visin
es esttica porque no describe el comportamiento del sistema dependiente del
tiempo, que se describe en otras vistas. Sus componentes principales son las
clases y relaciones: que se basan en la asociacin, generalizacin, y varias
clases de dependencia, tales como la realizacin y el uso. (Rumbaugh y cols,
2000, p. 23)

Las clases describen los dominios del sistema que son el centro en el cual se
organizan las vistas de cada elemento que las conforman. Las imgenes que
representan un diagrama de clase son un rectngulo donde se especifican los
atributos y mtodos, una flecha que son la herencia de cada clase de la cual estn
dependiendo tanto como la agregacin que se podr realizar con una adecuada
asociacin.
27

Imagen

Nombre

Funcin
Nombre de la clase
Atributos
Mtodos

Clase

Herencia

Agregacin

Asociacin

Indica que una


subclase hereda los
mtodos y atributos
especificados por una
Sper Clase
Para modelar objetos
complejos, n bastan
los tipos de datos
bsicos que proveen
los lenguajes:
enteros, reales y
secuencias de
caracteres.
Permite asociar
objetos que colaboran
entre s.

Tabla 1. Elementos del diagrama de clases.


Fuente: Elaboracin propia.

2.2.4.2. Vista de casos de uso


En esta vista se visualizara que tareas podr realizar el usuario, para que pueda
hacer peticiones las cuales por consecuencia tendrn respuestas que procesara el
servidor Web, el estado en que se encuentre el usuario, y los resultados que se
visualizaran para cada usuario de acuerdo a las peticiones antes procesadas.
Modela la funcionalidad del sistema segn lo perciba cada usuario
externo, que son llamados actores. Un caso de uso es una unidad
coherente de funcionalidad, expresada como transaccin entre actores y
el sistema. El propsito es enumerar a los actores y los casos de uso para
demostrar que actores participan en cada caso de uso. (Rumbaugh y cols,
2000, p. 24)
Imagen

Nombre
Sistema

28

Funcin
El rectngulo representa
los lmites del sistema

que contiene los casos de


uso. Los actores se
ubican fuera de los
lmites del sistema.

Casos de uso

Actor

Relaciones

Se representan con
valos. La etiqueta en el
valo indica la funcin del
sistema.
Los actores son los
usuarios de un sistema.

Las relaciones entre un


actor y un caso de uso, se
dibujan con una lnea
simple.

Tabla 2. Elementos de casos de uso.


Fuente: Elaboracin propia.

2.2.4.3. Vista de actividad


En esta se podr visualizar los controles que se vallan a tener de los procesos
que realizar el sistema, el cmo se dividirn de acuerdo a cada uno de los
diferentes usuarios que tendrn acceso a l, para controlar y operar los procesos.
Es una variante de una mquina de estados, que muestra las
actividades de computacin implicadas en la ejecucin de un clculo. En
estado de actividad representa un paso en el flujo de trabajo o la ejecucin
de una operacin. El grafo de actividades describe a los grupos
secuenciales y concurrentes de actividades. (Rumbaugh y cols, 2000, p. 29)
Imagen

Nombre
Actividad

29

Funcin
Los estados de accin
representan las acciones

no interrumpidas de los
objetos.

Flujo de accin

Representados con
flechas, ilustran las
relaciones entre los
estados de accin.

Se refiere a la creacin y
modificacin de objetos
por parte de actividades.
Una flecha de flujo de
objeto, desde una accin
Flujo de objetos a un objeto, significa que
la accin est creando o
influyendo sobre dicho
objeto.
Estado inicial
De un estado de accin.
Estado final

Ramificacin

De una accin.
Un rombo representa una
decisin con caminos
alternativos. Las salidas
alternativas deben estar
etiquetadas con una
condicin.

Tabla 3. Elementos de la vista de actividades.


Fuente: Elaboracin propia.

2.2.5. Navegadores Web


Es un programa que solicita y muestra en la pantalla de un ordenador los
documentos o la informacin que estn en los servidores de sitios Web. Sirven para
interactuar con programas, equipos que acceden a ordenadores que se tengan
instalados. Son de uso gratuito y se pueden descargar desde sus sitios Web. Tienen
la capacidad de almacenar los diferentes sitios que son visitados, en el momento que

30

se accede a una cuenta de correo electrnico este programa enva la informacin de


la versin y el tipo de sistema operativo que se est usando.
Son los programas o aplicaciones que se usan para visitar las webs o portales
disponibles en internet. La mayora de los usuarios accede a las pginas web
para ver el estado de sus cuentas bancarias, realizar compras, leer su E-mail,
descargar archivos por medio de FTP o HTTP y algunos otros servicios. Los
navegadores almacenan las pginas Web que se visitan, al acceder a ellas, las
almacenan en un disco duro. Los portales Web, envan al navegador una cookie
o archivo que el navegador normalmente acepta y permite al portal reconocer la
peticin la siguiente vez que deseen entrar al mismo sitio. (Garca, 2007, p. 26)

2.2.5.1. Google Chrome


La primera versin de este navegador sali en el 2008, estaba pensado solo para
la plataforma de Windows, en la segunda versin llego en el 2009 ya que poda
soportar varios idiomas, en la tercera fase de igual manera que la segunda versin
del 2009, este soportaba estilos de CSS y HTML5 que de igual manera soportaba
JavaScript. En la cuarta etapa se public a inicios del ao 2010, que adems de ser
compatible con Windows ya tambin poda ser ejecutado tanto en Linux como en
Mac lo que lo destaco el soporte de poder almacenar datos localmente.
La quinta versin se public a mediados del 2010 lo que ofreca las versiones
como tal para Linux y Mac, en septiembre del 2010 sale la versin seis, esta contena
ms y mejores caractersticas, para una buena sincronizacin del navegador, en esta
versin ya se podan visualizar videos pero era necesario tener instalado el plu-gin
de Flash Player, el cual estaba incorporado y se activaba de manera automtica. En
su versin siete, se implement la actualizacin del navegador la cual era requerida
cada seis semanas, la versin ocho fue lanzada en diciembre del 2010 la cual brinda
mejoras, lectores de PDF, en su versin nueve ya contena WebGL que estaba
activado de manera predeterminada y aislamiento de Flash Player.
En la versin nmero diez, est integrado de muchas y mejores caractersticas en
cuanto a su rendimiento y era ms rpido que el antecesor, este era ms compatible
con las caractersticas de HTML5 y CSS3, en la versin once ya inclua la

31

compatibilidad con API de voz para que permitiera al usuario ingresar texto mediante
la voz. En la breve historia de este navegador ha evolucionado tanto en su
arquitectura y tecnologa ya que se ha convertido en el navegador preferido de
muchos usuarios aunque an est por debajo de Internet Explorer y Firefox en las
preferencias del pblico, Chrome es ms destacado por su actualizacin frecuente
(de Luca, 2011).

2.2.5.2. Internet Explorer


Es uno de los navegadores Web trabajan bajo la misma plataforma de Windows,
aun es el ms popular, este navegador est incorporado en el sistema operativo,
para el acceso a los sitios no por ser el ms popular se convierte en el objetivo para
desarrollar ayudas tcnicas. Las cuales son el mbito para desarrolladores en
Windows y en Internet Explorer como el navegador predeterminado.
Este navegador incorpora ayudas para poder acceder y permita adaptar los
contenidos Web, para poder ampliar el tamao de letra, estilo, formato y colores de
cada contenido de las aplicaciones Web, para navegar con las combinaciones de
teclas y poder deshabilitar las hojas de estilo de cada pgina, de igual manera para
activar o desactivar la reproduccin de animaciones, videos, imgenes y sonidos
dentro del contenido Web (Martnez y Lara, 2006).

2.2.5.3. Mozilla Firefox


Este navegador es parte de una generacin nueva de navegadores que son
adaptados a la realidad y respetan las normas y estndares de la Web. Su logo es de
un zorro estilizado ya que su nombre tiene el significado de zorro de fuego. Se
construy sobre un motor de Mozilla Gecko, ya que siguieron los pasos de Netscape,
sus versiones que manejan se asemejan a Windows, Linux y Mac. Este navegador
no ocupa demasiados megas y es de una fcil instalacin debido a su ligereza, se
ocupa menos memoria, y es un factor para que se carguen de una manera ms
eficaz los sitios que se deseen visitar.
Est disponible en una gran variedad de idiomas, y sus traducciones a castellano
son realizadas por NAVE. El cual ha sido concebido para que sea funcional y ms
simple, ya que agrupa funciones necesarias para la navegacin y se le pueden
32

agregar programas para que tenga una mejor funcionalidad, se pueden realizar
bsquedas de una manera muy eficaz (Villeneuve, 2005).

2.2.5.4. Opera
En el ao de 1996 fue cuando se comercializo este navegador por otra parte en el
ao 2000 cambio su licencia, para el 2005 se conformaba de un freeware, lo que lo
destaca por el tamao reducido que tiene, la velocidad en que se cargan los sitios y
la constante actualizacin que tiende a realizarse automticamente, ya que fue el
primer navegador que introdujo una navegacin por pestaas y su interfaz de la
comunicacin con BitTorrent, para el ao 2006 se lanz el opera mini, esta versin es
para que se pueda navegar mediante los dispositivos mviles (Rodil y Pardo, 2011).
Es un navegador que contiene funciones muy llamativas, como es de las
prestaciones de voz, fue el primer navegador que soportaba el estndar
XHTML+Voice, de igual manera el primero que lee y vocaliza el texto de una pgina
Web y adems tiene la capacidad de or y ejecutar ordenes que se le pueden dar
vocalmente para que realice procesos como lo son cerrar pginas, imprimir, etc.,
estas tareas solo se podan hacer mediante los mens de opciones ya existen varios
dispositivos que se conforman con esta propiedad y son los telfonos mviles
modernos que reconocen la voz de quien los posee (Quero, Garca y Pea, 2007).

2.2.5.5. Safari
Es el navegador que contienen por defecto los sistemas operativos MAC-OS, en
el ao 2009 ya estaba disponible la versin que es compatible con Windows, es
rpido e innovador tiene varias dificultades para poder satisfacer las necesidades de
los usuarios de Windows, ya que la caracterstica del carecer de algunas cualidades
las cuales son respecto a las interfaces que se generan con HTML5 y CSS3, para lo
cual disminuye su rendimiento (Van, 2012).
Este navegador trabaja de igual manera que Google Chrome usando el motor de
renderizado (webkit), que tambin tiene la capacidad de interpretar las interfaces que
se han desarrollado con HTML, CSS3 y JavaScript. Puede organizar marcas, tanto el
buscador que est integrado a l, tiene la capacidad de mostrar varias pginas en
33

una sola ventana, se pueden auto rellenar los formularios con los que interacte,
posee una alerta para que esta avise de los nuevos contenidos disponibles de las
pginas que ms sean visitadas para el usuario, de igual forma ajusta el tamao de
la navegacin privada y de los campos de texto.

2.2.6. Programacin del lado del cliente


Para este sistemas de programacion los clientes son los que pueden hacer
peticiones, para que el servidor formule y de respuestas a dichas peticiones que el
cliente le ha hecho. Cobo, Gmez, Prez y Rocha (2005) mencionan que: los
programas residen junto a la pgina Web en el servidor pero son transferidos al
cliente para este los ejecute. (p.16)

Figura 11. Programacin del lado del cliente


Fuente: Cobo y cols, 2005, PHP y MySQL: Tecnologa para el desarrollo de aplicaciones web, Espaa,
Ediciones Daz Santos, p. 16.

2.2.6.1. Ruby on Rails


Este lenguaje pertenece a la programacin orientada a objetos, que poco a poco
va ganando popularidad gracias al lenguaje de Rails, que por la facilidad y rapidez en
el desarrollo de aplicaciones Web. En este lenguaje se puede hacer la reutilizacin
de cdigo. Tiene la capacidad de generar un formulario, para que posteriormente sea
llamado las veces que se requiera sin la necesidad de volver a generarlo y este
proceso se realiza solo ingresando una sola lnea de cdigo.
34

Es un framework o entorno de trabajo creado para el desarrollo de aplicaciones


web y dotado de una serie de configuraciones por defecto, adems de una
arquitectura para realizar el cdigo fuente conocida por sus siglas MVC, que, pese a
tener su origen hace algunos aos y su inexplicable infrautilizacin, no solo mantiene
su vigencia, sino que puede considerarse a la vanguardia de la innovacin. Se basa
en un lenguaje de programacin orientada a objetos llamado Ruby, que dota de una
gran flexibilidad y simplicidad del cdigo.
Dicho lenguaje procura que la interpretacin del cdigo implementado en
programas se realice de una forma natural, sin que se vea en la obligacin de
desencriptar engorrosos nombres de variables, comandos, etc. (Ponce, 2013).

a) Framework
Son parte fundamental de la ingeniera del software, ya que promueven la
reutilizacin del cdigo del diseo y el cdigo fuente. Los puntos flexibles de
framework se llaman los puntos calientes

o Hot-spots que son las clases o los

mtodos abstractos que deben ser implementados o puestos en ejecucin.


Una de las caractersticas del framework no son mutables ni tampoco pueden ser
alteradas fcilmente. Los puntos inmutables constituyen el ncleo o kernel de un
framework, tambin llamados como los puntos congelados o frozen-spots del
framework. El Kernel ser la constante y presentar siempre la parte de cada
instancia del framework (Solano, 2007).

35

Figura 12. Framework (Solano, 2007, p.3)

b) Fundamentos:
DRY (Dont Repeat Yourself), se refiere a evitar escribir el mismo cdigo una y
otra vez. La convencin sobre configuracin, se basa en reglas de convencin y de
generadores se crea un esqueleto bsico de la aplicacin, lo que organiza archivos y
directorios en categoras que dictan qu piezas deben acomodarse dentro de esa
estructura. Para que se evite el tener que definir incontables o archivos largos de
configuracin para tal organizacin.
TATFT TAFT (Test All The F* Time), es probar todo el tiempo, Rails se basa en
la estrategia de Desarrollo Dirigido por Pruebas (Test Driven Development, TDD).
Bsicamente, antes de escribir la funcionalidad requerida, se describirn las pruebas
o especificaciones con las que se verificara que el comportamiento que se
implemente sea el deseado (Solano y Coles, 2007).

c) Tecnologa de Rails
MVC, est compuesto por tres etapas: el modelo, representa al dominio, patrn
implementa el ActiveRecord para todas las operaciones de manejo de informacin
entre modelos y la base de datos. En el modelo tambin se incluyen cosas como la
36

validacin y acciones especficas para realizar con la base de datos. El controlador,


es el punto intermedio que se encarga de orquestar el flujo de operacin de la
aplicacin. La vista se usa para desplegar la informacin a los usuarios de manera
amigable. En Rails se usa Embedded Ruby o ERB como se conoce comnmente,
el cual es un lenguaje de plantilla que combina HTML y Ruby para la generacin de
interfaces de usuario.
REST (Representational State Transfer). Es un paradigma para definir rutas en
aplicaciones web. En base a REST, las aplicaciones de Rails determinan qu parte
se debe mostrar y cmo responder a las solicitudes del usuario.

2.2.6.2. HTML5
Tuvo su primer borrador pblico a partir del ao 2008. Plantea una evolucin
necesaria para HTML, que luego de ms de una dcada en la versin 4.01
necesitaba, de manera imperiosa, una renovacin para estar al da con las
necesidades del desarrollo web actual. Se destacan sus caractersticas
semnticas, las posibilidades multimedia que incorpora, las nuevas funciones
para formulario y las caractersticas que se definen para poder integrarse con
tecnologas que permitirn abrir una nueva etapa en Internet, en lo que se refiere
a la arquitectura de las aplicaciones.(de Luca, 2011, p. 25, 26)

Es un lenguaje de programacin Web que es de gran utilidad para darle


estructura y la presentacin del contenido Web, sus aspectos fundamentales son el
buen funcionamiento del sitio. Este lenguaje al momento de estar en ejecucin en
algn navegador Web en especial, tiene la funcin de poder interpretar el cmo se
debe ilustrar el contenido. Gracias a esta versin del lenguaje de HTML se reduce la
dependencia de plug-ins, ya que no son necesarios para poder visualizar una
determinada pgina Web, ya que es la ms adecuada para el desarrollo de
aplicaciones Web dinmicas lo que las versiones anteriores dependan de estos
plug-ins.
Caractersticas segn Gauchat, 2012:
HTML5 provee bsicamente tres caractersticas: estructura, estilo y
funcionalidad. Nunca fue declarado oficialmente pero, incluso cuando algunas
37

APIs (Interface de Programacin de Aplicaciones) y la especificacin de CSS3


por completo no son parte del mismo, HTML5 es considerado el producto de la
combinacin de HTML, CSS y JavaScript. Estas tecnologas son altamente
dependientes y actan como una sola unidad organizada bajo la especificacin
de HTML5. HTML est a cargo de la estructura, CSS presenta esa estructura y
su contenido en la pantalla y JavaScript hace el resto que es extremadamente
significativo. (p. 18)

Las etiquetas que usa permiten clasificar y ordenar en diferentes niveles, el


cdigo es muy simple permite que las pginas que se desarrollen sean tan ligeras lo
que ocasiona que se carguen de una manera ms eficiente, tambin se pueden
ejecutar aun si no se tiene el acceso a internet. Con JavaScript, aumenta la
capacidad en la que puede almacenar que vara

de 5 a 10 megas, todo esto

depende del tipo de plataforma en el que sea ejecutado.

2.2.6.3. CSS3
Al tiempo que el nivel 2 de CSS se desarrollaba, un equipo de trabajo pona
manos a la obra en lo que sera CSS3. Poco a poco se fueron conociendo sus
principales caractersticas, que comenzaron a movilizar el mundo del diseo web.
Sin ser un estndar aprobado an, sus caractersticas ms novedosas fueron
pasando de un plano experimental entre los aos 2009 y 2010, a ser utilizadas en
muchos sitios web en la actualidad. Las caractersticas ms importantes que se
destacan en este nuevo nivel de CSS se encuentran:
Nuevas alternativas para dibujar bordes con el uso de opciones tales como
color, imgenes, y radio o redondeado.
Novedades en el trabajo con fondos, con el uso de degradados y la posibilidad

de incluir mltiples imgenes.


Uso de sombras para texto (text shadow).
Se incluye la posibilidad de aplicar sombra a elementos (box shadow).
Novedades en cuanto al uso del color y de la opacidad.
Incorporacin de muchas novedades en lo que se refiere a flujo de texto dentro

del sitio (text overflow).


Nuevas caractersticas para trabajo con mltiples columnas.
Finalmente se le dice adis al problema de las limitaciones con las tipografas,
con el uso de @fontface.
Novedades y algunos cambios en el uso de pseudoelementos.

38

Caractersticas relacionadas con la interfaz de usuario.


Capacidad de rotacin de elementos.
Opciones de transformacin de elementos.
Incorporacin de transicin y tambin funciones de animacin. (de Luca, 2011,
p. 25, 26)

Incorpora mejores mecanismos para que se mantenga un mejor control en cuanto


al estilo en el que se muestran cada elemento que contengan las pginas Web. Se
pueden aplicar imgenes a los bordes de cada seccin que se est usando, los
fondos pueden contener degradados, la transparencia de estos, usar sombras para
los elementos, transformar, poner animaciones y transiciones, tambin insertar
caracteres con diversas fuentes y que los sitios Web se adapten a diferentes
tamaos de pantalla.

2.2.6.4. JavaScript
Es un lenguaje multiparadigma que requiere de un intrprete para ser
ejecutado. As como los navegadores web cuentan con un motor para
representar el contenido de HTML y CSS, tambin tienen un motor que funciona
como intrprete para el cdigo JavaScript. Como lenguaje, JavaScript sali a la
luz en el ao 1995. Su finalidad principal es permitir la creacin de pginas
dinmicas, con cdigo que puede ejecutarse desde el lado cliente, alivianando la
tarea del servidor y disminuyendo la cantidad de peticiones que se le hagan. (de
Luca, 2011, p. 32)

Este lenguaje posee muchas posibilidades, que son utilizadas para desarrollar
pequeos programas, que posteriormente pueden ser insertados en una pgina web
que est orientada a objetos. Posee una serie de caractersticas, una de ellas es que
est basada en acciones que posee el minimo de restricciones, este lenguaje es
soportado en la mayora de los navegadores Web.

39

Captulo 3. Servidores Web


3.1.

Antecedentes de servidores Web


Un servidor web procesa conexiones y atiende peticiones de los usuarios que

estn dentro de una red ya sea de forma local o en la web, se realiza mediante una
url en especfico o frases de la bsqueda. Para que a un sistema de informacin se
le haga la peticin de acuerdo con la direccin url para poder interactuar y realizar
procesos de la organizacin con eficacia.
Un servidor web bsico tiene un esquema de funcionamiento muy sencillo,
ejecutando de forma infinita el bucle siguiente:
Espera peticiones en el puerto TCP asignado (el estndar para HTTP es

el 80).
Recibe una peticin.
Busca el recurso en la cadena de peticin.
Enva el recurso por la misma conexin por donde ha recibido la peticin.
Vuelve al punto 2.

Un servidor web que siguiese el esquema anterior cumplira los requisitos


bsicos de los servidores HTTP, aunque, slo podr servir ficheros estticos. A
partir del esquema anterior se han diseado y construido todos los programas
servidores de HTTP que existen, variando slo el tipo de peticiones que pueden
atender, en funcin de que sean o no multi-proceso, multi-hilados. A continuacin
detallaremos algunas de las caractersticas principales de los servidores web,
que extienden, obviamente el esquema anterior. (Mateu, 2004, p. 23)

3.1.1. WEBrick
Ruby on Rails proporciona el servidor web Webrick, que permite acceder a
travs de la URL las aplicaciones generadas con el framework. Generalmente
para arrancarlo se necesita del comando Ruby script/server. Una vez arrancado
se ejecuta el navegador web preferido para ver una aplicacin. (Ponce, 2013,
p.3)

40

3.1.2. Apache
El NCSA (National Center for Super Computing) creo un servidor Web que se
convirti en el nmero uno en 1995. Sin embargo, el principal desarrollador de
servidores Web del NCSA abandono el NCSA casi en ese mismo momento y el
proyecto del servidor empez a bloquearse. Entretanto, la gente que estaba
utilizando el servidor web de NCSA, empez a intercambiar sus propios
paquetes para el servidor y pronto pensaron que era necesario un foro para
gestionarlos, naci el grupo Apache.
El grupo utilizaba el cdigo del servidor Web de NCSA y de un manojo de
paquetes hoy en da el servidor Web Apache es el lenguaje de la comunidad de
los servidores Web. En los siguientes tres aos, adquiri el papel de servidor
lder del mercado. La primera versin (0.6.2) de apache que fue distribuida al
pblico se estren en abril de 1995. La versin 1.0 se estren el 1 de diciembre
de a 1995. El grupo apache se ampli y se convirti en un grupo sin nimo de
lucro. El grupo trabaja exclusivamente va internet. (Kabir, 2002, p. 41)

3.1.2.1. Caractersticas de Apache


Funciona en plataformas virtuales muy utilizadas. Al principio Apache se
utilizaba para ser el primer servidor web basado en Unix, pero esto ya no es
verdad. Apache solo funciona en la mayora de las versiones Unix sino que,
adems, funciona en Windows 2000/NT/9x y en muchos otros sistemas
operativos de escritorio y de tipo servidor como son Amiga OS 3.x y OS/2.
Autenticacin HTTP, Apache soporta autenticacin bsica basada en la Web.
Est tambin preparado para autenticacin basada en la digestin de mensajes,
que es algo que los navegadores Web populares ya han implementado. Apache
puede implementar autentificacin bsica utilizando tanto archivos estndar de
contrasea como los DBM, llamadas a SQL o llamadas a programas externos de
autentificacin.
Perl se ha convertido en el estndar para la programacin de scripts CGI.
Apache es seguramente uno de los factores que hacen de Perl un lenguaje de
programacin CGI tan popular. Apache se encuentra ms cerca de Perl que
nunca. Puede bajar script CGI basado en Perl a la memoria utilizando su mdulo

41

mod_perl, y reutilizarlo tantas veces como se necesite. Este proceso elimina las
desventajas del arranque que se encuentran asociadas a menudo con lenguajes
de interpretacin como perl.
Scripts PHP, este lenguaje de script ha comenzado a ser muy utilizado y
apache ofrece un amplio soporte de PHP utilizando al mdulo mod_php. Servlets
de java, los Servlets de Java y las Java Server Pages (JSP) se estn
convirtiendo en algo muy comn en los sitios web dinmicos. Puede ejecutar
Servlets de java utilizando el premiado entorno Tomcat con apache. (Kabir, 2002,
p. 41, 42, 43)

Los servidores web locales son de gran ayuda para el programador web, ya que
mediante esta herramienta tecnolgica se pueden hacer pruebas, del sistema web en
desarrollo e ir haciendo mejoras para que los procesos que realizara sean
gratificantes para la organizacin a la que se le est desarrollando el sistema web.
Con una mayor facilidad de hacer bsquedas de los productos que se tengan de la
misma manera que la cantidad que se tiene o est agotado.
Constan de un intrprete HTTP para que mantengan la espera de las peticiones
que el usuario este requiriendo, lo que responde de acuerdo a la solicitud que se le
ha hecho. Dispone de otros intrpretes de los diferente lenguajes de programacin
web, que estn integrados en el cdigo HTML de las paginas, con las que est
estructurado el sitio o servidor web.

42

MARCO PROPOSITIVO

43

4. Marco propositivo
4.1.

Instalacin y creacin del proyecto


La versin de rails que se us para el desarrollo de este proyecto es rails-ftw-

v0.13-2.0.0-4.0.3 y se puede descargar del siguiente link http://railsftw.bryanbibat.net


ya que es no se tarda en que se descargue para que posteriormente se pueda
instalar.

Una vez descargado se puede proceder para hacer la instalacin, de ROR con
esto seguiremos los siguientes pasos y se ver en donde se ubicara la carpeta de
ROR, primer paso a seguir es aceptar el contrato de licencia como se muestra en la
siguiente ilustracin.

44

Una vez que ya aceptamos nos mostrara la ruta en donde se podr ubicar, Rails
para esto solo daremos en el botn Install para que pueda culminar con la instalacin
de ROR.

Se comienza la instalacin de ROR lo cual genera una serie de subcarpetas


dentro de RailsFTW200403 este es el nombre de la carpeta que se genera en la
instalacin de este programa cada uno de los componentes que lo conforman sirven
para que tenga un buen funcionamiento una vez que ya estemos trabajando en su
plataforma.

45

Una vez que se ha completado se procede a finalizar la instalacin con esto ya


podremos tener acceso a su plataforma para poder generar un ejemplo de prueba y
verificar que la instalacin se realiz con xito.

En la ilustracin de abajo se muestran las carpetas que se crearon con la


instalacin de ROR, en la primer carpeta que esta seleccionada estn todos los
componentes que Rails requiere para un buen funcionamiento, en la segunda se
podrn almacenar los proyectos que se deseen desarrollar.

46

En la siguiente ilustracin se muestra la bsqueda que se hace del comando de


sistema que se usara para la creacin de nuevos proyectos.

La siguiente interfaz que se muestra es como abre la lnea de comando, que se


usara para crear un ejemplo, de igual manera verificar que funcione de una manera
ideal el programa y se pueda desarrollar el sistema.

47

Una vez que ya se ha entrado a la interfaz de lnea de comandos de Rails, se


usara el comando cd.. para que se salga del dominio del usuario de la maquina en
que se est trabajando como se ilustra a continuacin.

Una vez que ya se logr salir del dominio del usuario, se puede acceder a la
carpeta de ruby con el comando cd un espacio y se coloca el nombre de la carpeta a
la que se desea ingresar.

Para crear un nuevo proyecto se usara el comando rails new y enseguida el


nombre que se le pondr al proyecto que se desea tener para que posteriormente se
pueda manipular.

Se muestran algunos de los elementos que se generan, con la creacin de un


proyecto nuevo las cuales tienen una funcin especfica y se pueda manipular de tal
forma, que tenga un buen funcionamiento cada tarea que se les valla a asignar.

48

En esta ilustracin se muestran las carpetas con los componentes que se


generaron al crear un proyecto nuevo.

Una vez que termino el proceso de la creacin del nuevo proyecto se puede tener
acceso a la carpeta que se cre el comando que se usa es el mismo que es usado

49

para poder acceder a la carpeta de ruby lo nico que cambia es el nombre de la


carpeta a la que se desea acceder.

Una vez que se ha ingresado a la carpeta del proyecto creado se puede ejecutar
el servidor que se instal junto con Rails y podamos checar si nos muestra la pgina
de inicio del proyecto. El comando que se utiliza para esta tarea es rails server.

En la siguiente ilustracin se muestra la interfaz local de lo que es el ndex que se


gener por default dentro del nuevo proyecto. La direccin que se usa es
127.0.0.1:3000 la primera parte hace referencia a la manera local del sistema y el
numero 3000 al puerto que se usa para tener acceso a dicha interfaz. Para poder
salir del servidor es necesario teclear contol+c ya que se refiere a detener nuestro
servidor local y poder seguir manipulando el proyecto en uso.

50

4.2.

Desarrollo del sistema Web

Una vez que concluimos con la desactivacin del servidor podemos, manipular el
proyecto que se cre anteriormente para que se pueda manipular y realice los
procesos de la papelera Fabela, tanto del almacn, clientes, empleados y los
pedidos que se realizan dentro de esta organizacin y sean ms eficaces. El
siguiente diagrama de actividades es un prototipo del cmo se pretende que funcione
el sistema Web en desarrollo.

51

Se puede proceder a generar la carpeta welcome en la que dentro se situaran las


pginas de index.html.rb, contactanos.html.rb, productos.html.rb y pedidos.html.rb
estas pginas las podremos manipular de tal forma que podamos situar informacin
de la organizacin para la que se est desarrollando.

En la siguiente ilustracin se muestran las pginas que se crearon desde la lnea


de comandos.

52

Una vez modificada la pagina de index.html.rb con estilos css3 la interfaz con la
que se va a interactuar el la siguiente en primera instancia se da la bienbenida al
sistema Web de la papelera Fabela y las diferentes redes sociales en las que
pueden contactarnos para obtener mas informacion de la que se proporciona.

En el apartado de quienes somos?? Se describe el giro de la organizacin y las


cosas mas reelevantes de esta, con esto se pretende convencer a los clientes que
sera una buena opcin en cuanto a surtir sus productos de papeleria ya sea en
mayoreo o menudeo conforme a las necesidades de los mismos.

53

Una vez modificado el index del proyecto se procedera a crear nuestra base de
datos y posteriormente crear las tablas que se estaran manejando y hacer las
migraciones de los datos para que podamos manipular las tablas desde el sistema
Web. en la siguiente ilustracion se muestra el codigo usado para crear la tabla de
pedidos la cual se crea con el comando rails g scaffold
descripcion:string

ped nombre:string

cantidad:integer fecha:datetime con esto se crean las

instancias de poder insertar un nuevo registo, modificarlo, visualizarlo y eliminarlo.


Una vez que se creo la tabla se hace la migracion de la misma con el comando rake
db:migrate con el que se puede trabajar con nuestra tabla desde la interfaz de un
navegador Web para esto es necesario que el servidor este funcionando y para esto
ejecutaremos el comado rails server una vez que ya este funcionando podemos
acceder al sistema con la url local de la computadora en uso que es 127.0.0.1:3000 y
el numero del puerto que usa el servidor. Este mismo procedimiento se usa para
crear las tablas que se desean ocupar para este sistema Web en este caso son las
de pedidos, empleados, productos y clientes con los que cuenta la organizacin.

54

En la ilustracion siguiente de productos se puede visualizar el listado de los


mismos, en el cual en cada uno de estos se muestran los links, los cuales son el ver
las propiedades, editarlo y eliminar el producto en caso de que ya no sea rentable o
este aotado y a no se tenga proveedor del mismo.

55

En la siguiente ilustracion se muestra el listado de los pedidos que se tienen que


entregar los cuales tienen tres posibles aspectos que se pueden realizar con ellos ya
sea visualizar los detalles, le edicion que se les puede hacer y la cancelacion en caso
de que ya no requieran los prodcuctos solicitados.

En la vista de clientes se puede ver el listado de los mismos, en el cual en cada


uno de estos se muestran tres opciones, las cuales son el ver las propiedades, editar
y eliminar el cliente en caso de que ya no sea rentable o este aotado y a no se tenga
proveedor del mismo.

56

En la siguiente ilustracion se muestra el listado de los empleados con los que


cuenta la organizacin los cuales tienen tres aspectos que se pueden realizar con
ellos ya sea visualizar los detalles, le edicion que se les puede realizar a cada uno y
la eliminacion en caso de que ya no este trabajando dentro de la organizacin.

57

Conclusiones
Se utiliz el Lenguaje de Modelado Unificado, para poder describir cada uno de
los procesos que este sistema basado en Web podr ejecutar y como se visualizaran
los resultados que arrojara. Este proyecto se desarroll para eficientar varios
procesos que suelen ser ejecutados manualmente para lo que la automatizacin de
estos, ser para mantener un mejor control en cuanto a cada producto que se tiene
disponible, su precio y poder generar ventas de una manera ms eficaz ya que esto
representa tanto entradas como salidas de los mismos.
Se mantendr un mayor conocimiento en cuanto a la informacin que esta
almacenada en la base de datos, ya que con solo hacer las peticiones pertinentes
por cada usuario dependiendo de los privilegios que este tenga, el servidor podr
procesar la informacin para que proporcione los resultados. La metodologa que se
utiliz en este desarrollo fue el Ciclo de vida en cascada ya que este ciclo comprende
desde analizar los requerimientos que se tienen que satisfacer, disear la estructura
que se mostrara en el navegador que est usando, codificar el sistema con la ayuda
de las plataforma de SublimeText ya que es un IDE que colabora con Ruby on Rails
para que se compacte con HTML5, las hojas de estilo y JSP para que se visualice
una estructura que se pueda visualizar de una manera ptima y amigable.

58

REFERENCIAS
Bibliogrficas
Cobo ngel, Gmez Patricia, Prez Daniel y Rocha Roci, PHP y MySQL:
Tecnologa para el desarrollo de aplicaciones web, Ediciones Daz Santos, Espaa,
2005.
De Luca Damin, HTML5, Primera Edicin, Buenos Aires: Fox Andina; Dalaga, 2011.
Domnguez Coutio Luis Antonio, Anlisis de Sistemas de Informacin Red Tercer
Milenio, Primera Edicin Mxico, 2012, p.34.
Egea Garca Carlos, Diseo Web para Tod@s I: Accesibilidad al diseo Web, Icaria
editorial, Barcelona, 2007.
Gauchat Juan Diego, El gran libro de HTML5, CS3 y JavaScript, Primera edicin en
libro electrnico, Marcombo, Barcelona (Espaa), 2012.
Gilfillan Ian, La Biblia MySQL, Anaya multimedia, Madrid, 2003.
Kabir Mohamed J., La biblia servidor Apache, Anaya multimedia, Madrid, 2002.
Kendall Kenneth E. y Kendall Julie E., Anlisis y diseo de sistemas, Sexta edicin,
Pearson educacin, Mxico, 2005. p. 2,3 parte 1.
Laudon Kenneth C. y Laudon Jane P., Sistemas de informacin gerencial,
Decimosegunda edicin, Pearson educacin, Mxico, 2012.
Lockhart Thomas, Manual del usuario de PostgreSQL, Postgres Global Development
Group, 1996.
Martin Martin Yamili Guadalupe, Paradigmas de programacion, Instituto Tecnolgico
de Chetumal, Ingeniera de sistemas Computacionales, Quintana Roo, 2010.
Mateu Carles, Desarrollo de aplicaciones Web, Primera edicin, Eureca media,
Barcelona, 2004.
Martnez Usero Jos ngel, Lara Navarra Pablo, La accesibilidad de los contenidos
Web, Primera edicin, Editorial UOC, Barcelona, 2006.
Mouzo Lema Fabricio Juan, Makedonsky Mariano, Flash: desarrollo profesional,
Primera edicin, Buenos Aires: Fox Andina; Dalaga, 2011.
Pea Ayala Alejandro, Ingeniera de software: una gua prctica para crear sistemas
de informacin, Primera edicin, Instituto Politcnico Nacional, Mxico, 2006.

59

Ponce Moreno Santiago, Ruby on Rails. Desarrollo prctico de aplicaciones web,


Primera Edicin, Alfaomega, Mxico 2013.
Quero Catalinas Enrique, Garca Romn Agustn, Pea Rodrguez Javier,
Mantenimiento de portales de la Informacin: explotacin de sistemas de
informacin, Thomson Editores Spain Paraninfo, Espaa, 2007.
Quintana G., Marqus M., Aliaga J.L., Aramburu M. J., Aprende SQL, Universitat
Jaume, 2008.
Ramos Martin Ma. De Jess, Ramos Martin Alicia, Montero Rodrguez Fernando,
Sistemas Gestores de Bases de Datos, Primera edicin en espaol, McGraw-Hill,
Espaa, 2006.
Rodil Jimnez Irene y Pardo De Vega Camino, Operaciones auxiliares con
tecnologa de la informacin y la comunicacin, Ediciones Paraninfo, Espaa, 2011.
Rumbaugh J., Jacobson I., Booch G., El Lenguaje Unificado de Modelado Manual
de Referencia, Pearson educacin S.A., Madrid, 2000.
Snchez Maza Miguel ngel, JavaScript, INNOVACIN Y CUALIFICACIN, S.L.,
Espaa, 2001.
Solano Murio Roberto y Coles Eduardo, Ruby on Rails una forma rpida de hacer
aplicaciones Web, Universidad de Costa Rica, Costa Rica, 2007.
Sommerville Ian, Ingeniera del software, Sptima Edicin, PEARSON EDUCACIN
S.A., Madrid. 2005.
Tahuiton Mora Juan, Arquitectura de software para aplicaciones Web, Centro de
Investigacin y de Estudios Avanzados del Instituto Politcnico Nacional,
Departamento de Computacin, Mxico, 2011.
Van Lancker Luc, HTML5: Los fundamentos del lenguaje, Ediciones ENI, Barcelona,
2012.
Villeneuve Louise, Mozilla Firefox (Windows y Linux): navegue de otra manera,
Ediciones ENI, Barcelona, 2005.

Cibergrafa
Navajas Modelo Pedro, Lenguaje Ruby y su entorno, Escuela politcnica superior,
Universidad
de
Crdoba,
http://www.uco.es/aulasoftwarelibre/wiki/images/3/35/Curso_ruby_i.pdf,
2011.
Recuperado 30/05/2014

60

Chvez Mario, Desarrollo con Ruby on Rails: Ests listo para aumentar tu
productividad?,
IBM,
http://sg.com.mx/revista/31/desarrollando-rubyrails#.U5XmF9Q0kRA , 2011. Recuperado 01/06/2014
Garca Nez Guillermo, Curso prctico aplicado de proteccin, privacidad y
seguridad de la informacin, Ingeniero Superior de Informtica en Sistemas,
http://books.google.com.mx/books?
id=GJG2EctxDjsC&pg=PA26&dq=navegadores+web&hl=es&sa=X&ei=RvCaU8iDAui
-8QGf9oD4Aw&ved=0CEAQ6AEwBw#v=onepage&q&f=false , 2007. Recuperado
05/06/2014
Coln Gong Fabio Junior, SQLite, http://es.slideshare.net/FabioColanWong/sqlite27921206#, 2013. Recuperado 30/06/2014

61

Das könnte Ihnen auch gefallen