You are on page 1of 28

UNIVERSIDAD AUTÓNOMA GABRIEL RENÉ MORENO

FACULTAD DE INGENIERIA EN CIENCIAS DE LA COMPUTACIÓN,


REDES Y TELECOMUNICACIONES
CARRERA DE INGENIERIA EN SISTEMAS

WebCASE
Aplicación para la colaboración en tiempo real en
el modelado de software

POR:
Yimmy Quispe Yujra
214021191
MATERIA:
Ingeniería de Software I
DOCENTE:
Ing. Rolando Martinez Canedo

7 de mayo de 2018
Santa Cruz de la Sierra — Bolivia
WebCASE
Aplicación para la colaboración en tiempo real en
el modelado de software

Yimmy Quispe Yujra

Universidad Autónoma Gabriel René Moreno


Facultad de Ingeniería en Ciencias de la Computación y
Telecomunicaciones
Carrera de Ingeniería en Sistemas

Santa Cruz de la Sierra - Bolivia

Copyright © 2018 por Yimmy Quispe Yujra. Todos los derechos


reservados.

i
Dedicatoria

A:
Dios, por darme la oportunidad de vivir y estar conmigo en cada paso que
doy.
Mi madre Elena, por darme la vida, creer en mí y darme aliento para seguir
adelante incontables veces. Madre gracias por darme tu apoyo para poder
estudiar y ser mejor en el futuro, todo esto te lo debo a ti.
Mi padre Máximo, por enseñarme que en la vida hay que valorar lo poco o
mucho que se tiene.
A mis hermanos, Max, David, Noemí y Abigail por estar conmigo y apoyarme
siempre, los quiero mucho.
Todo este trabajo ha sido posible gracias a ellos.

ii
Contenido

DEDICATORIA II

PREFACIO VI

INTRODUCCIÓN VII

ACERCA DEL AUTOR VIII

1
C A P I T U L O 1 : PERFIL DE PROYECTO 2
1.1. ANTECEDENTES 2
1.2. JUSTIFICACIÓN 8
1.3. DESCRIPCIÓN DEL PROBLEMA 8
1.4. OBJETIVOS 9
1.5. ALCANCE 9
1.6. ELEMENTOS DEL SISTEMA BASADO EN COMPUTADORAS 10
1.7. COSTOS ASOCIADOS AL PROYECTO 11
C A P I T U L O 2 : MARCO TEÓRICO 12
2.1. NIVEL 2.1 12
2.2. NIVEL 2.2 12
2.3. NIVEL 2.3 12
2.4. NIVEL 2.4 12
2.5. NIVEL 2.5 12
2.6. NIVEL 2.6 12
CAPITULO 3 : 13
14
15
16

APÉNDICE A : 17

BIBLIOGRAFÍA 18

ÍNDICE 19

iii
No se encuentran elementos de tabla de ilustraciones.

iv
v
Prefacio

Este proyecto surgió a raíz de la necesidad de herramientas para el


modelado de software de tal manera que se aprovechen las últimas
tecnologías disponibles, como la comunicación, e intercambio de datos en
tiempo real.
En este proyecto se busca dar una posible solución a esta problemática,
para ser más específico, solo se abarca el modelado UML de los diagramas
de secuencia, los cuales ayudaran a modelar el comportamiento de
software.
Se ha incluido toda la información relevante en cuanto a las herramientas y
tecnologías empleadas para llevar a cabo este proyecto, entre dichas
tecnologías se encuentra el uso de lenguajes de programación modernos
como es el caso de JavaScript, que se utilizan tanto desde el lado del cliente
(Front end), como del lado del servidor (Back end) que para ser más
específico se denomina Node.js, sin olvidarnos el uso de componentes
gráficos para permitir el modelado de los diagramas de secuencia. Por otro
lado, también se gestiona los usuarios que tendrán acceso a la aplicación,
así como también se gestiona los privilegios y proyectos a los que un
usuario tendrá acceso para poder colaborar en tiempo real.
Por último, si bien el software en si es importante, también lo es el hecho
que este esté en correcto funcionamiento, esto implica que el software este
correctamente desplegado en una plataforma online como lo es AWS
(Amazon Web Services), tomando en cuenta factores de configuración
como lo es la elección del sistema operativo del servidor, y la configuración
correcta de la red sin olvidar la apertura y cierre de los puertos adecuados
para prevenir vulnerabilidades en el servidor entre muchos otros aspectos
que se verán en detalle dentro de esta obra.
Más de 4 años de aprendizaje universitario en el desarrollo de software
me han brindado la oportunidad de trabajar y conocer un gran conjunto de
tecnologías de desarrollo web los cuales han sido una gran recompensa
para mí, y que de formas diferentes pero congruentes han contribuido al
contenido de este proyecto.

vi
Introducción

En la actualidad las tecnologías web has revolucionado la manera en la que


realizamos nuestras actividades, pues las redes sociales, YouTube,
Facebook y tantas otras plataformas web transformaron el modo en el que
nos relacionamos e intercambiamos información, y esto no solo en el
ámbito social, sino también empresarial y educativo.
Por tanto, el uso de estas tecnologías para crear y brindar soluciones es
indispensable para crear productos software de calidad y vanguardia. En
nuestro caso, el desarrollo de software implica muchas etapas, una de ellas
es el diseño, el cual incluye aspectos teóricos que se toman en cuenta para
desarrollar un buen producto, pero son los diagramas o modelos, en los
que se plasman dichos aspectos teóricos, particularmente para este
proyecto se tratará de cubrir en su totalidad los diagramas de secuencia los
cuales son un tipo de diagrama para representar flujos de información entre
entidades de un software, que forman parte del UML (Lenguaje Unificado
de Modelado) en su versión 2.0.
Como esta será una herramienta para facilitar el modelado de software
tiene que tomarse en cuenta que los ingenieros de software podrían no
estar en el mismo establecimiento o lugar, lo cual implica la existencia de
un medio para realizar esta tarea de manera remota y colaborativa en
tiempo real.

vii
Acerca del Autor

Yimmy Quispe Yujra es un estudiante de la carrera Ing. En Sistemas de la


Facultad de Ciencias de la Computación, redes y Telecomunicaciones en
la Universidad Autónoma Gabriel René Moreno de la Ciudad de Santa Cruz
de la Sierra – Bolivia.
Hasta la fecha cursa su último año en la universidad, además de tener
experiencia en desarrollo web Full Stack, es una persona apasionada que
ama la música, una deliciosa comida y desarrollar software.

viii
Marco teórico, objetivos, desarrollo basado en componentes, CASE,
Arquitectura, UML 2.0, interacción XMI o XML, Factores de calidad en el
software

1
Capitulo 1 : Perfil de Proyecto

Perfil de Proyecto

Des los inicios de las ciencias de la computación la demanda de software


complejo y de calidad fue creciendo a ritmo exponencial, pues a medida que
el hardware iba evolucionando con mejores prestaciones, también el software
tuvo que hacerlo pues la potencia del hardware hacia posible sacarles más el
jugo a las aplicaciones informáticas, con esto la complejidad del software
incremento considerablemente haciendo cada vez más complicado el diseño
de software de calidad.
Además, dicha complejidad afecto directamente el desarrollo del software
pues la cantidad de ingenieros de software involucrados en un equipo de
desarrollo creció hasta el punto de tener equipos con miembros dispersos, por
nombrar un ejemplo, un equipo conformado por 50 desarrolladores, no
necesariamente debían estar en el mismo lugar o ciudad o incluso país.
El uso de herramientas CASE facilitó esta tarea, pero, faltaba algo en la
ecuación, y ese ingrediente es el uso de las tecnologías web, las cuales
facilitan la comunicación en tiempo real sin importar cuan alejados estén las
personas que se estén comunicando. Con ello los desarrolladores pueden
diseñar una aplicación de manera colaborativa sin importar cuan disperso
estén en una determinada área geográfica.

1.1. Antecedentes
Las herramientas colaborativas son estructuras sociales compuestas por
grupos de personas, las cuales están conectadas por varios tipos de
relaciones, tales como intereses comunes, educación, trabajo o que
comparten conocimientos y objetivos en común.

2
En su forma más simple, una herramienta colaborativa es un conjunto de
herramientas que permiten la comunicación y colaboración entre un conjunto
de personas o usuarios de manera sistemática.

1.1.1. ANÁLISIS DE LAS HERRAMIENTAS COLABORATIVAS


Son las herramientas utilizadas en la comunicación entre personas, aunque
ésta sólo sea de forma virtual. Actualmente existen diversas herramientas de
este tipo tales como las redes sociales, wikis, blogs, chats y otros recursos
específicos. Estas nuevas herramientas de la comunicación nos han permitido
de forma eficaz y rápida el traspaso de información y han acortado de una
forma u otra las distancias. En el ámbito académico, en particular en
educación superior, las herramientas de trabajo colaborativo son un potente
recurso que fácilmente se adapta a diversas necesidades y objetivos.

1.1.2. HISTÓRIA DE LAS HERRAMIENTAS COLABORATIVAS


La World Wide Web, como se conoce en el presente, nació a principios de la
década de 1990 y en sus inicios sólo ofreció contenido textual agrupado en
los famosos hipervínculos o links.
En esta época se habló mucho del nacimiento del hipertexto como concepto
y de la navegación por la Web.
No obstante, en la actualidad, estamos lejos de aquella época; basta con
visitar cualquiera de nuestros sitios Web favoritos para darnos cuenta.
Los sitios Web ya no son sólo texto e hipervínculos.
Son imágenes, animaciones Flash, publicidad que tapa la lectura, ventanas
desplegables, videos, juegos y aplicaciones completas.
La información ya no tiene la exclusividad en el mundo de Internet; en el
presente la usamos también para comprar, mantener nuestra vida social,
administrar nuestras hojas de cálculo o publicar nuestros videos.
Es por eso que la Web como la conocíamos ha cambiado. Apareció una nueva
Web, la Web 2.0.
El término Web 2.0 tiene un origen claro: fue utilizado por primera vez por
O'Reilly Media (empresa conocida por su editorial de libros de tecnología) en
una conferencia en octubre de 2004.
Meses después fue Tim O'Reilly, fundador de la empresa, quien definió el
concepto y lo hizo conocido en la comunidad.

3
Incluso antes de que el término se hiciera de uso común, O'Reilly lo había
registrado como marca, lo que luego dio algunos dolores de cabeza a otras
empresas que intentaron usarlo.
La Web 2.0 es una segunda generación de servicios basados en la Web, que
enfatiza en la colaboración online, la conectividad y la posibilidad de compartir
contenidos entre los usuarios.
La Web 2.0 implica la evolución de las aplicaciones digitales hacía
aplicaciones dirigidas al usuario final, que incluyen servicios como redes
sociales, blogs wikis y las folcsonomías.

1.1.3. HERRAMIENTAS COLABORATIVAS EN INTERNET


En contraste con la Web tradicional, Web 2.0 ofrece más que interacción
básica y participación de usuarios. En estas aplicaciones los participantes de
las comunidades desarrollan una reputación en base a la cantidad y calidad
de sus contribuciones, se comparten documentos en los que varias personas
pueden trabajar al mismo tiempo, se utilizan interfaces dinámicas y atractivas
que se acercan a las aplicaciones de escritorio, se comparte información, en
ocasiones en tiempo real, por medio de interfaces de programación y
comunicación que permite el desarrollo rápido de nuevas aplicaciones y
permiten la participación de la comunidad en el etiquetamiento, clasificación y
toma de decisiones.
Las herramientas colaborativas de la web son herramientas utilizadas en la
comunicación entre personas, aunque ésta sólo sea de forma virtual.
Actualmente existen diversas herramientas de este tipo tales como las redes
sociales, wikis, blogs e incluso los chats. Estas nuevas herramientas de la
comunicación nos han permitido de forma eficaz y rápida el traspaso de
información y ha acortado de una forma u otra las distancias entre personas.

1.1.4. TIPOS DE HERRAMIENTAS COLABORATIVAS


Las herramientas colaborativas se encuentran en nuestro medio actual de
muchas formas, están las pensadas para el ocio, o las hay también pensadas
en la educación, sin olvidar las que tienen mero carácter comunicativo.
Pero a pesar de las muchas formas que estas herramientas han adquirido a
lo largo de los años, se considerarán a las siguientes como los tipos más
habituales disponibles en la internet.

4
Redes Sociales
Las redes sociales han tomado de una forma abrumadora el mercado virtual
y han sido muy bien aceptadas por la comunidad mundial.
Este tipo de herramientas son usadas tanto de forma personal, como lo es la
comunicación con familiares, amigos o conocidos; como de forma corporativa
en la cual intervienen diferentes elementos como son la publicidad: con la
promoción de productos y servicios, la incorporación de usuarios o
consumidores e incluso la compra-venta, todos a través del uso de ésta
herramienta.
Muchas son las redes sociales que circulan en la web, de diferentes estilos y
con diferentes herramientas para transmitir la información y comunicar a un
grupo de personas que es la finalidad de una red social. Entre este tipo de
herramientas colaborativas encontramos el famoso Facebook, creado por
Mark Zuckerberg un entorno colaborativo para intercambiar y compartir.
Facebook ha tenido una acogida tan grande que incluso su historia ha sido
llevada a la pantalla grande con el título The social network, cinta que fue
acreedora de varias nominaciones a los premios de la Academia. También
encontramos a Twitter, creado por Jack Dorsey, Evan Williams y Biz Stone,
que junto a un vistoso pájaro azul ha creado una interfaz agradable y una gran
capacidad de transmitir información de manera eficaz, además de poner a las
personas que usan medios móviles como usuarios estables de la web.
YouTube es una red social líder en el interactuar, de la mano con Google ha
establecido una manera fácil y sencilla para compartir, ver y comentar vídeos,
broadcast y música en un espacio neutro, pero gustoso a la vista.
Otras redes sociales que han marcado y que engrandecen sus usuarios
conforme actualizamos el sitio son Yahoo! Respuestas, MySpace, Hi5 y
Metroflog.

Blogs
Los blogs son sencillamente diarios en línea o llamados también bitácoras, las
cuales permiten a una persona escribir sobre un tema en específico e ir
actualizando a través de entradas o instrucciones con nueva información que
permita que los usuarios o visitantes se mantengan en contacto con el sitio
web. Es un tipo de Herramienta de trabajo colaborativo con poca interactividad
puesto que el dueño del sitio implanta información, en forma de texto,
imágenes, videos o hipervínculos que lleven a otras páginas con temas
relacionados, el usuario (no en todos los blogs) tiene sólo la posibilidad de
comentar acerca de lo que piensa, pero generalmente esto no es algo
trascendental en el blog como tal.

5
Wikis
Los wikis son sitios web que promueven la libre expresión y el compartir de la
información. Se trata de una página donde un usuario redacta un texto o da a
conocer una información actual o de interés general, ésta es publicada y los
usuarios que acceden a este wiki pueden modificarla con la autorización del
autor (solo en algunos wikis, en otros cualquiera puede modificarlo. Todo
depende de la privacidad escogida o la privacidad que ofrece el sitio) y
corregirlo o incluso añadirle información faltante que es relevante o también
para eliminar información errónea o desactualizada la cual da una mejor
credibilidad al escrito y da muestra de la cooperactividad en internet.

Chats
El chat es una herramienta de trabajo colaborativo que ha ganado gran
acogida entre los visitantes de la web e incluso es una herramienta que tiene
la capacidad de ser insertada en otras herramientas de trabajo igualmente. Se
trata de un componente por medio del cual dos usuarios o un grupo de
usuarios puede hablar en conjunto por esto el término chat puede ser
reemplazado por términos como ciberdialogo, ciberhabla o cibercharla.
Permite de una manera rápida y eficaz el contacto con otras personas.
Algunos chats como el Windows Live Messenger o Skype, para los cuales su
fin en realidad es el chat, comprenden muchos más componentes que hacen
del chat algo más interactivo tales como las videoconferencias o video
llamadas, llamadas pc a pc o pc a teléfono, juegos compartidos y otros
componentes que crean un entorno divertido y atractivo.

1.1.5. ¿CÓMO FUNCIONAN?


Las herramientas Colaborativas cuentan con una estructura de
funcionamiento en común, para empezar, hacen el uso de la web 2.0, utilizan
algún mecanismo de comunicación entre sus usuarios, como podrían ser
correo electrónico, mensajería instantánea en tiempo real, lienzos interactivos,
etc.
Las herramientas colaborativas1, básicamente son los sistemas que permiten
acceder a ciertos servicios que facilitan a los usuarios comunicarse y trabajar
conjuntamente sin importar que estén reunidos en un mismo lugar físico. En
general con ellos se puede compartir información en determinados formatos
(audio, texto, video, etc.), y en algunos casos producir conjuntamente nuevos
materiales productos de la colaboración. Muchos de ellos proveen de

1. https://patob2000.wordpress.com/patricio-bustamante-miranda/

6
avanzadas funcionalidades que facilitan tareas como publicación de
información, búsquedas, filtros, accesos, privilegios, etc.
Por lo general las herramientas colaborativas tienen un funcionamiento
similar, trabajan bajo el concepto de cliente servidor, donde los clientes son
los usuarios que hacen uso de un servicio y el servidor se encarga de ofrecer
este servicio. Generalmente se utilizan programas clientes para acceder a
estos servicios, tal es el caso de un browser que hace las veces de cliente
para acceder a un servicio que puede ser por ejemplo un servidor web que
“sirve” una página web.

Rol del Cliente, rol del Servidor:


Las herramientas colaborativas requieren dos tipos de programas o software
para poder establecer una “conversación” entre los usuarios que hacen uso
de un servicio.
Servidor: Primero tenemos los programas servidores, está de más decir que
son aquellos que permiten ofrecer un servicio, generalmente este se ejecutara
en un servidor web, accesible desde Internet, una intranet o una red privada
o algunas de sus variaciones. Su función es coordinar el flujo de información
y alojar en muchos casos dicha información.
Cliente: En segundo lugar, tenemos los programas clientes, que son el
software que posee cada usuario en su computador y que le permite acceder
a los servicios, y que son entonces capaces de ver información publicadas por
otros usuarios o publicar la propia.

Ejemplo de Cliente y Servidor:


El caso más cercano, es el del correo electrónico, y es aquí donde se hace
bastante claro la función del software cliente y el software servidor. Los
servidores de correo alojan, conducen y entregan mensajes que son abiertos,
leídos y respondidos utilizando clientes de mail.
Un software de servidor de correo puede ser por ejemplo Sendmail, este es
un software que se instala en el servidor y permite ofrecer el servicio de correo.
Este servicio de correo se llama generalmente SMTP (Simple Mail Transfer
Protocol) es decir un protocolo de transferencia de correo.
Un software cliente de correo, puede ser por ejemplo Outlook, que es quien
se comunica con el servidor. En este caso hay que configurar Outlook para
que se identifique y comunique con el servidor de correo, para así poder tener
acceso a este servicio.

7
1.2. Justificación
Esta Web App está pensada para el uso colaborativo en el modelado de
diagramas de actividad UML, con el objetivo de agilizar y facilitar el proceso
de diseño de software en una empresa de desarrollo.
Entre los beneficios generados gracias a esta Web App se mencionan los
siguientes:
 Mejora en el flujo de trabajo del desarrollo.
 Mejora en la coordinación mediante chat.
 Acorta la distancia entre los miembros del grupo de trabajo.
 Propicia la generación de conocimiento.
 Favorece la adquisición de destrezas sociales.
 Estimulo del uso del lenguaje.
Además, no se puede dejar de lado el beneficio a largo plazo de este tipo de
herramientas, pues sirven como base para futuras Apps, o como prototipos
para desarrollar nuevas tecnologías de software.

1.3. Descripción del Problema


El uso de herramientas CASE se ha vuelto muy popular con el paso del
tiempo, pues gracias a ellas se puede agilizar el proceso de desarrollo de
software de manera significativa, esto debido a funciones como la generación
de código a partir de los modelos realizados en dichas herramientas, así como
también la ingeniería inversa que estas permiten.
Sin embargo, aún no es tan popular el uso de herramientas CASE
colaborativas, debido principalmente al problema de conlleva el uso de las
plataformas web, ya que estas no están del todo estandarizadas para poder
ser extendidas y popularizadas como herramienta de facto.
Por ello es necesaria la implementación de software colaborativo en tiempo
real con el uso de tecnologías web 2.0, no solo para facilitar el trabajo de los
ingenieros de software, sino también para poder hacer más sistemático el
proceso de desarrollo de software, con lo cual se conseguiría una mejor
gestión y estimación de recursos empleados para el desarrollo de un producto
software.

8
1.4. Objetivos
Los objetivos para llevar a cabo este proyecto se describen a continuación.

1.4.1. GENERAL
Desarrollar una Web App para facilitar el proceso de modelado de un sistema
software.

1.4.2. ESPECÍFICOS
Para poder realizar el objetivo general se realizarán las siguientes actividades
y/o tareas.
 Realizar la captura de requisitos para poder determinar los posibles
requerimientos para este proyecto.
 Analizar los requerimientos obtenidos para definir los requisitos del
software.
 Realizar el diseño de cada uno de los módulos y componentes que
formarán parte del software.
 Realizar la configuración de la arquitectura física para el despliegue del
software.
 Probar todos y cada uno de los módulos y componentes del software.
 Finalizar el despliegue con la puesta en producción del software terminado.

1.5. Alcance
La aplicación que se pretende desarrollar está enfocada en el área de
herramientas colaborativas, en el que se destacan las operaciones en
interacciones web en tiempo real, tales como el envío y recibo de mensajes,
así como también el registro de usuarios, la gestión y asignación de roles y
privilegios, sin dejar de lado la gestión de archivos para el guardado de los
modelos.
Esta Web App cuenta con un módulo de usuarios, un módulo de comunicación
entre usuarios y un módulo de generación de código a partir de los modelos
realizados.

9
1.5.1. MÓDULO DE USUARIOS
En este módulo se agrupa toda la funcionalidad que implica directamente al
usuario.
 Registro de Usuarios: este se encarga de la creación de nuevos usuarios
en WebCASE, esto permite al usuario acceder al resto de funciones de la
aplicación
 Asignación de Roles y Privilegios: se encarga de la gestión de los
permisos que se podrán asignar a los usuarios de la aplicación.

1.5.2. MÓDULO DE COMUNICACIÓN


El módulo de comunicación agrupa la funcionalidad referente al intercambio
de datos en tiempo real.
 Envío y recibo de mensajes: se encarga del envío y recibo de mensajes
en tiempo real entre un usuario y un receptor o entre un usuario y un grupo
de receptores.
 Envío y recibo de metadatos de modelo: se encarga del envío y recibo
de metadatos del modelo para la visualización del modelo en tiempo real,
esto entre el conjunto de usuarios que estén en un proyecto determinado.

1.5.3. MÓDULO DE GENERACIÓN


Este módulo engloba las funciones de exportación y mapeo lógico para
generar código a partir del modelo.
 Generación de código: se encarga de generar código fuente Java y C# en
base a un modelo realizado en la aplicación.
 Exportación del modelo: se encarga de posibilitar la exportación del
modelo a un formato legible para otras herramientas CASE como ser MS
Vicio o Enterprise Architect.

1.6. Elementos del Sistema Basado en


Computadoras
Todo sistema software requiere de un conjunto de elementos que interactúen
entre sí para que pueda demostrarse el funcionamiento y utilidad que aportará
a los beneficiarios finales, por tanto, dichos elementos se describen a
continuación.

10
1.6.1. HARDWARE
El hardware es uno de los elementos esenciales en un sistema software, pues
es en él donde el software puede cobrar vida y realizar sus funciones.
Todo el hardware necesario para que el sistema software funciones
adecuadamente en cuanto a almacenamiento y funcionalidad, está descrito a
continuación.

1.6.2. SOFTWARE

1.6.3. DATOS

1.6.4. PROCESOS

1.6.5. PERSONAS

1.6.6. DOCUMENTACIÓN

1.7. Costos Asociados al Proyecto

11
Capitulo 2 : Marco Teórico

Marco Teórico

Contenido antes de subnivel

2.1. Nivel 2.1

2.2. Nivel 2.2

2.3. Nivel 2.3

2.4. Nivel 2.4

2.5. Nivel 2.5

2.6. Nivel 2.6

12
Capitulo 3 :

13
Metodologías, conjunto de modelos de software

14
Mecanismo de ayuda, manual, video, etc

15
Reflexión, experiencia, antes y después, recomendaciones, etc.

16
Apéndice A :

17
Bibliografía

Arlow, J. y Neustadt, I. (2005). Programación UML 2. Madrid: Anaya


Multimedia.
Rumbaugh, J. Jacobson, I. y Booch, G. (2007). El lenguaje unificado de
modelado, manual de referencia – Segunda Edición. Madrid: Pearson
Educación.
Rumbaugh, J. Jacobson, I. y Booch, G. (2000). El proceso unificado de
desarrollo de software. Madrid: Pearson Educación.
Rumbaugh, J. Jacobson, I. y Booch, G. (2007). El lenguaje unificado de
modelado, manual de referencia – Segunda Edición. Madrid: Pearson
Educación.
Miles, R. y Hamilton, K. (2006). Learning UML 2.0. Sebastopol, California:
O’REILLY
Stauffer, Matt. (2017). Laravel: Up and Running: A Framework for Building
Modern PHP Apps. Sebastopol, California: O’REILLY
Documentación del framework Laravel (2017). Laravel Docs. 5.5: The PHP
Framework For Web Artisans. Recuperado el 1 de octubre del 2017, de
https://laravel.com/docs/5.5

18
Índice

19