Professional Documents
Culture Documents
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
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.
iii
Tablas.
iv
Figuras.
v
Prefacio
vi
Introducción
vii
Acerca del Autor
viii
PARTE I
Marco teórico, objetivos, desarrollo basado en componentes, CASE,
Arquitectura, UML 2.0, interacción XMI o XML, Factores de calidad en el
software
Capítulo 1: Perfil de Proyecto
Perfil de Proyecto
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. Historia
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.
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. 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” 2 una página web.
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.
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.
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 funcione
adecuadamente en cuanto a almacenamiento y rendimiento, está descrito a
continuación.
11
1.6.2 SOFTWARE
El software es el que la vida al hardware, por lo tanto, la elección del sistema
operativo y las herramientas de utilidad es un factor clave para el correcto
funcionamiento de la aplicación.
La diversidad de software necesario para el funcionamiento óptimo del
sistema en desarrollo está descrita a continuación.
Software Versión
Sistema operativo Windows Server 2016 Datacenter
Servidor Web Node.js v8.11.1
SGBD MariaDB v10.1.29
Antivirus Windows Defender
Framework Sails.js v1.0.1
Software Versión
Sistema operativo Windows 7 Professional o superior
Navegador Web Chrome, Opera, Firefox en su última versión
Antivirus Windows Defender
Software Versión
Lector de documentos PDF Adobe Reader DC
Paquete Ofimático Microsoft Office 2013 o superior
12
1.6.3 DATOS
Los datos son fragmentos de información, es decir caracteres, cadenas,
números, etc. Para ello se describirá los datos que WebCASE requerirá en la
siguiente tabla.
Entidad Descripción
Por cada usuario se requerirá lo siguiente:
Nombres.
Apellidos.
Usuario
Correo.
Contraseña.
Cargo.
Por cada mensaje se requerirá lo siguiente:
Texto.
Mensaje
Fecha.
Estado.
1.6.4 PROCESOS
Los procesos son las transformaciones que se le realizan a los datos
obtenidos. Por tanto, los procesos que se realizarán gracias a WebCASE se
describen en la siguiente tabla.
Entidad Descripción
El usuario puede registrarse para poder utilizar
WebCASE, debe ingresar a la página de registro,
Registro de usuarios
rellenar el formulario de registro con los datos
requeridos y clicar el botón de registrar.
Se lleva a cabo con las cuentas de usuario
activas, se crearan los roles y en función de
Roles y privilegios de usuario
dichos roles se podrán asignar limitaciones a los
usuarios de WebCASE.
Los usuarios activos podrán enviar y recibir
Envío de mensajes mensajes en el grupo, escribiendo el mensaje
deseado y luego clicando en el botón enviar.
Se puede generar código fuente a partir del
modelo realizado, esto seleccionando la opción
Generación de código
generar código y dando ciertos parámetros para
que WebCASE se encargue del resto.
Además, el modelo realizado durante el
proyecto, se podrá exportar para poder editarlo
más adelante en otra herramienta CASE.
Exportación del modelo
Para ello el usuario deberá clicar la opción
exportar modelo, darle los parámetros para que
WebCASE realice el resto.
13
1.6.5 PERSONAS
Las personas son las entidades que interactuaran directamente con el sistema
software.
Desarrollador
Es la persona que interactuará con la aplicación, esto es registrarse, enviar y
recibir mensajes, así como también la exportación y generación de código a
partir del modelo realizado.
Jefe de proyecto
Es la persona podrá hacer las mismas tareas que un desarrollador, pero
además también podrá administrar roles y permisos de usuarios, por otro lado,
es el usuario que dará inicio y fin a la edición del proyecto del que esta
encargado.
1.6.6 DOCUMENTACIÓN
La documentación es la información que respalda el sistema en cuanto a
funcionalidad, procesos seguidos e incluso el modo de uso del mismo.
Por ello, además del presente documento se incluye la siguiente información.
Guía de configuración e instalación: en el apéndice (A) se describe de
forma detallada la tarea de configuración e instalación de WebCASE para
empezar a utilizarla sin problemas.
Manual de usuario: el manual explicativo del uso correcto que se le debe
dar a WebCASE se describe en el apéndice (B). Se explica el uso de
WebCASE desde el registro de usuario pasando por la asignación y
gestión de los roles y privilegios, hasta llegar a la exportación del modelo
y la generación de código fuente a partir de dicho modelo.
14
15
Tabla 1.9 Costos incurridos en Hardware. (Especificaciones y detalles en el Anexo A).
MariaDB - - 1 0 0 0 0
16
Capítulo 2: Marco Teórico
Marco Teórico
17
El modelo del desarrollo basado en componentes lleva a la reutilización del
software, y eso da a los ingenieros de software varios beneficios en cuanto a
la mensurabilidad. Si la reutilización de componentes se vuelve parte de la
cultura, el equipo de ingeniería de software tiene la posibilidad tanto de reducir
el ciclo de tiempo del desarrollo como el costo del proyecto.
.
2.6.2 F
18
PARTE II
Metodologías, conjunto de modelos de software.
19
Contenido parte II.
Capítulo 3
20
PARTE III
Mecanismo de ayuda, manual, video, etc.
21
Contenido parte III.
22
PARTE IV
Reflexión, experiencia, antes y después, recomendaciones, etc.
23
Contenido parte IV.
24
25