UNIVERSIDAD DE GUAYAQUIL -...
Transcript of UNIVERSIDAD DE GUAYAQUIL -...
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS
CARRERA DE INGENIERÍA EN SISTEMAS
COMPUTACIONALES
“DESARROLLO DEL PROTOTIPO DE LA RED SOCIAL
HSOUL”
TESIS DE GRADO
Previa a la obtención del Título de:
INGENIERO EN SISTEMAS COMPUTACIONALES
AUTOR: DANIEL DAGOMER FRANCO LÓPEZ
TUTOR: ING. ANGEL OCHOA
GUAYAQUIL – ECUADOR
2015
REPOSITORIO NACIONAL EN CIENCIAS Y TECNOLOGÍA
FICHA DE REGISTRO DE TESIS
TÍTULO “DESARROLLO DEL PROTOTIPO DE LA RED SOCIAL HSOUL”
REVISORES:
INSTITUCIÓN: UNIVERSIDAD DE GUAYAQUILFACULTAD: CIENCIAS MATEMÁTICAS
Y FÍSICAS
CARRERA: INGENIERÍA EN SISTEMAS COMPUTACIONALES
FECHA DE PUBLICACIÓN: 04 de Mayo del 2015 N° DE PÁGS.: 84
ÁREA TEMÁTICA: Desarrollo de software
PALABRAS CLAVES: Red Social Salud.RESUMEN: El siguiente trabajo busca simplificar y agilizar la relación entre usuarios con
diferentes roles, a saber: médico, paciente, mediante el uso de una estructura social virtual (red
social) con el fin de ahorrar tiempo y recortar distancias en pro de una vida saludable. HSoul
intenta proyectarse como una plataforma de futuro para el cuidado de la salud, complementaria al
sistema convencional – presencial que es utilizado actualmente. La aplicación web representa
un punto de encuentro de usuarios con intereses similares. Permite al paciente localizar
especialistas en el área de la medicina, con quienes compartir información o solicitar una segunda
opinión a un diagnóstico realizado con anterioridad.
N° DE REGISTRO(en base de datos):N° DE CLASIFICACIÓN:
Nº
DIRECCIÓN URL (tesis en la web): http://hsoul.somee.com/
ADJUNTO PDF SI NO
CONTACTO CON AUTOR: Daniel Dagomer Franco
López
Teléfono:
0996464554
E-mail:
CONTACTO DE LA INSTITUCIÓNNombre:
Teléfono:
II
X
APROBACIÓN DEL TUTOR
En mi calidad de Tutor del trabajo de investigación, “DESARROLLO DEL
PROTOTIPO DE LA RED SOCIAL HSOUL” elaborado por el Sr. DANIEL
DAGOMER FRANCO LÓPEZ, egresado de la Carrera de Ingeniería en
Sistemas Computacionales, Facultad de Ciencias Matemáticas y Físicas de la
Universidad de Guayaquil, previo a la obtención del Título de Ingeniero en
Sistemas Computacionales, me permito declarar que luego de haber orientado,
estudiado y revisado, la Apruebo en todas sus partes.
Atentamente
ING. ANGEL OCHOA FLORES
TUTOR
III
CERTIFICACIÓN DE GRAMATÓLOGA
Quien suscribe el presente certificado, se permite informar que después de
haber leído y revisado gramaticalmente el contenido de la tesis de grado de:
Daniel Dagomer Franco López. Cuyo tema es: “DESARROLLO DEL
PROTOTIPO DE LA RED SOCIAL HSOUL”.
Certifico que es un trabajo de acuerdo a las normas morfológicas, sintácticas y
simétricas vigentes.
ATENTAMENTE,
NOMBRE DEL GRAMATOLOGO
# LICENCIA, M Sc.
IV
DEDICATORIA
Dedico el presento trabajo a mis padres
Luz Marina López Torres y Daniel
Bernardino Franco Ponce, ya que su
confianza y apoyo han sido los
principales motores que han impulsado
mi carrera. Lo que soy es fruto de los
valores que me inculcaron desde mi
etapa infantil.
Daniel Franco
V
AGRADECIMIENTO
Agradezco a mi familia, compañeros y
profesores quienes en gran o pequeña
medida han aportado para que pueda
presentar este proyecto que representa
el duro trabajo de varios años.
Daniel Franco
VI
TRIBUNAL DE GRADO
VII
Ing. Eduardo Santos Baquerizo, M. Sc.
DECANO DE LA FACULTAD
CIENCIAS MATEMÁTICAS Y
FÍSICAS
Ing. Harry Luna Aveiga, M. Sc.
DIRECTOR (E) CISC, CIN
Ing. Ángel Ochoa
DIRECTOR DE TESIS
Ing. Marcia Burgos
PROFESOR DEL ÁREA - TRIBUNAL
Ing. Raúl Carballea
PROFESOR DEL ÁREA - TRIBUNAL
Ab. Juan Chávez A.
SECRETARIO
DECLARACIÓN EXPRESA
“La responsabilidad del contenido de esta Tesis
de Grado, me corresponden exclusivamente; y
el patrimonio intelectual de la misma a la
UNIVERSIDAD DE GUAYAQUIL”
DANIEL DAGOMER FRANCO LÓPEZ
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS
COMPUTACIONALES
DESARROLLO DEL PROTOTIPO DE LA RED
SOCIAL HSOUL
Proyecto de Grado que se presenta como requisito para optar por el título de:
INGENIERO EN SISTEMAS COMPUTACIONALES
Autor: DANIEL DAGOMER FRANCO LÓPEZ
C.I. 0919975326
Tutor: ING. ÁNGEL OCHOA FLORES
IX
CERTIFICADO DE ACEPTACIÓN DEL TUTOR
En mi calidad de Tutor de Primer Curso de Fin de Carrera, nombrado por el
Departamento de Graduación y la Dirección de la Carrera de Ingeniería en
Sistemas Computacionales.
CERTIFICO:
Que he analizado el Proyecto de Grado presentado por el
estudiante DANIEL DAGOMER FRANCO LÓPEZ, como requisito previo para
optar por el título de Ingeniero en Sistemas Computacionales, cuyo problema es:
DESARROLLO DEL PROTOTIPO DE LA RED SOCIAL HSOUL
Considero aprobado el trabajo en su totalidad.
Presentado por:
DANIEL DAGOMER FRANCO LÓPEZ CC: 0919975326
Tutor: Ing. Ángel Ochoa Flores
Guayaquil, mayo de 2015
X
UNIVERSIDAD DE GUAYAQUILFACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
Autorización para Publicación de Tesis en Formato Digital
1. Identificación de la Tesis
Nombre Alumno: Daniel Dagomer Franco LópezDirección: Cdla. Universitaria Mz. 257 V.13Teléfono: 0996464554 E-mail: [email protected]
Facultad: Ciencias Matemáticas y FísicasCarrera: Ingeniería en Sistemas ComputacionalesTítulo al que opta: Ingeniero en Sistemas ComputacionalesProfesor guía: Ing. Ángel Ochoa Flores
Título de la Tesis: DESARROLLO DEL PROTOTIPO DE LA RED SOCIAL HSOUL.
Temas Tesis: Desarrollo Aplicación Web Red Social HSOUL
2. Autorización de Publicación de Versión Electrónica de laTesis
A través de este medio autorizo a la Biblioteca de la Universidad de Guayaquil y a laFacultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica de estatesis.
Publicación electrónica:
Inmediata Después de 1 año X
Firma Alumno:
3. Forma de envío:
El texto de la Tesis debe ser enviado en formato Word, como archivo .Doc. O .RTF y.Puf para PC. Las imágenes que la acompañen pueden ser: .gif, .jpg o .TIFF.
DVDROM CDROM X
XII
ÍNDICE GENERAL
APROBACIÓN DEL TUTOR..................................................................................................III
CERTIFICACIÓN DE GRAMATÓLOGA..................................................................................IV
DEDICATORIA.....................................................................................................................V
AGRADECIMIENTO............................................................................................................VI
TRIBUNAL DE GRADO.......................................................................................................VII
DECLARACIÓN EXPRESA..................................................................................................VIII
CERTIFICADO DE ACEPTACIÓN DEL TUTOR.........................................................................X
ÍNDICE GENERAL................................................................................................................1
ÍNDICE DE FIGURAS............................................................................................................4
ÍNDICE DE GRÁFICOS..........................................................................................................5
ÍNDICE DE TABLAS..............................................................................................................6
ABREVIATURAS...................................................................................................................7
SIMBOLOGÍA......................................................................................................................9
RESUMEN.........................................................................................................................10
ABSTRACT.........................................................................................................................11
INTRODUCCIÓN................................................................................................................12
CAPÍTULO I.......................................................................................................................14
EL PROBLEMA...............................................................................................................14
PLANTEAMIENTO DEL PROBLEMA................................................................................14
Ubicación del Problema en un Contexto......................................................................14
Situación Conflicto Nudos Críticos................................................................................15
Causas y Consecuencias del Problema.........................................................................16
Delimitación del Problema...........................................................................................16
Formulación del Problema...........................................................................................16
Evaluación del Problema..............................................................................................17
OBJETIVOS....................................................................................................................18
OBJETIVO GENERAL..................................................................................................18
OBJETIVOS ESPECÍFICOS...........................................................................................18
1
ALCANCES DEL PROBLEMA.......................................................................................19
JUSTIFICACION E IMPORTANCIA..................................................................................20
CAPÍTULO II......................................................................................................................22
MARCO TEÓRICO..........................................................................................................22
ANTECEDENTES DEL ESTUDIO......................................................................................22
FUNDAMENTACIÓN TEÓRICA.......................................................................................23
HERRAMIENTAS UTILIZADAS DURANTE EL DESARROLLO.........................................24
FUNDAMENTACIÓN LEGAL...........................................................................................30
CIENCIA TECNOLOGÍA INNOVACIÓN Y SABERES ANCESTRALES................................31
VARIABLES DE LA INVESTIGACIÓN................................................................................31
Variables independientes.........................................................................................31
Variables dependientes............................................................................................32
DEFINICIONES CONCEPTUALES.....................................................................................32
CAPÍTULO III.....................................................................................................................35
METODOLOGÍA.............................................................................................................35
DISEÑO DE LA INVESTIGACIÓN.....................................................................................35
Modalidad de la investigación..................................................................................35
POBLACIÓN Y MUESTRA...............................................................................................36
Población:.................................................................................................................36
Muestra:...................................................................................................................36
Operacionalización de variables...................................................................................37
Instrumentos de recolección de datos.........................................................................38
Técnicas de investigación..........................................................................................38
Instrumentos de la investigación..............................................................................39
La encuesta y el cuestionario...................................................................................40
Criterios para la elaboración de la propuesta...............................................................57
Criterios de validación de la propuesta....................................................................57
CAPÍTULO IV.....................................................................................................................58
MARCO ADMINISTRATIVO............................................................................................58
CRONOGRAMA.........................................................................................................58
PRESUPUESTO..........................................................................................................60
2
CAPÍTULO V......................................................................................................................61
CONCLUSIONES Y RECOMENDACIONES.......................................................................61
CONCLUSIONES........................................................................................................61
RECOMENDACIONES................................................................................................64
BIBLIOGRAFÍA...................................................................................................................66
Fuentes electrónicas....................................................................................................66
ANEXOS............................................................................................................................69
Implementación de Twilio en nuestra aplicación.........................................................69
Alojamiento de prueba en línea...................................................................................71
3
ÍNDICE DE FIGURAS
Figura No. 1: Pantalla del Programa Twilio.......................................................................69Figura No. 2: Pantalla de Administrador de Paquetes NuGet...........................................70Figura No. 3: Ejemplo de lenguaje de programación C#...................................................70Figura No. 4: Pantalla principal SOMEE............................................................................72Figura No. 5: Panel de control SOMEE..............................................................................72
4
ÍNDICE DE GRÁFICOS
Gráfico No. 1: Pregunta No. 1...........................................................................................43Gráfico No. 2: Pregunta No. 2...........................................................................................44Gráfico No. 3: Pregunta No. 3...........................................................................................45Gráfico No. 4: Pregunta No. 4...........................................................................................47Gráfico No. 5: Pregunta No. 5...........................................................................................49Gráfico No. 6: Pregunta No. 6...........................................................................................51Gráfico No. 7: Pregunta No. 7...........................................................................................52Gráfico No. 8: Pregunta No. 8...........................................................................................53Gráfico No. 9: Pregunta No. 9...........................................................................................55Gráfico No. 10: Cronograma de Actividades - Parte 1......................................................58Gráfico No. 11: Cronograma de Actividades - Parte 2......................................................59
5
ÍNDICE DE TABLAS
Tabla No. 1: Causas y Consecuencias del Problema.........................................................16Tabla No. 2: Historia de las Versiones SQL Server.............................................................25Tabla No. 3: Requisitos del Sistema..................................................................................27Tabla No. 4: Definiciones Conceptuales de variables independientes..............................33Tabla No. 5: Definiciones Conceptuales de variables dependientes.................................34Tabla No. 6 Población de CIMAIT......................................................................................37Tabla No. 7: Operacionalización de las Variables..............................................................38Tabla No. 8: Tabulación pregunta 1..................................................................................43Tabla No. 9: Tabulación pregunta 2..................................................................................44Tabla No. 10: Tabulación pregunta 3................................................................................45Tabla No. 11: Tabulación pregunta 4................................................................................47Tabla No. 12: Tabulación pregunta 5................................................................................49Tabla No. 13: Tabulación pregunta 6................................................................................51Tabla No. 14: Tabulación pregunta 7................................................................................52Tabla No. 15: Tabulación pregunta 8................................................................................53Tabla No. 16: Tabulación pregunta 9................................................................................55Tabla No. 17: Detalle de Ingresos del Proyecto................................................................60Tabla No. 18: Detalle de Egresos del Proyecto.................................................................60
6
ABREVIATURAS
Ing. Ingeniero/a
M. Sc. Maestría en Ciencias
CISC Carrera de Ingeniería en Sistemas Computacionales
CIN Carrera de Ingeniería en Networking
Ab. Abogado/a
C.I. Cédula de identidad
CC Cédula de ciudadanía
SMS Servicio de mensajes cortos
Http Protocolo de transferencia de hipertexto
TIC Tecnologías de la información y la comunicación
IDE Ambiente de desarrollo integrado
IA Inteligencia artificial
SQL Lenguaje de consulta estructurado
ASP Active Server Pages
HTML Lenguaje de marcas de hipertexto
RUC Registro único de contribuyentes
PROMEINFO Programa Continuo de Investigaciones Médico -
Informática
ECMA Asociación europea de fabricantes de informática
HL7 Health Level Seven
UML Lenguaje de modelado unificado
XML Lenguaje extensible de marcado
ANSI Instituto nacional estadounidense de estándares
SGBD Sistema gestor de base de datos
DDL Lenguaje de definición de datos
DML Lenguaje de manipulación de datos
OS Sistema operativo
BI Inteligencia de negocios
XAML Lenguaje de marcado de aplicaciones extensible
DOM Modelo de objetos del documento
DTO Objeto de transferencia de datos
7
DA Acceso a datos
BL Capa de negocio
CE Electrónica de negocios
AES Estándar de encriptación avanzado
CSS Hoja de estilo en cascada
URL Localizador de Recursos Uniforme
WWW World Wide Web (Red mundial)
8
SIMBOLOGÍA
GB Gigabyte (109 bytes)
MB Megabyte (106 bytes)
9
UNIVERSIDAD DE GUAYAQUILFACULTAD DE CIENCIAS MATEMATICAS Y FISICAS
CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES
DESARROLLO DEL PROTOTIPO DE LA RED SOCIAL HSOUL
RESUMEN
El objetivo del presente trabajo es desarrollar una primera versión de una redsocial dirigida al ámbito de la salud “HSoul”. El término de red social estáasociado a un conjunto de personas que tienen un vínculo, el cuál aplicado alpresente trabajo, es la salud. El desarrollo de una aplicación web debe estarregida a diferentes estándares y buenas prácticas definidas desde el inicio, lasmismas que faciliten la integración y escalabilidad del proyecto. La metodologíade desarrollo a utilizar es la de prototipado, debido a la naturaleza del proyecto,este método nos ofrece las facilidades para desarrollar la idea principal delmismo con interacción continua con el usuario, así como un posteriorcrecimiento de las funcionalidades. La relación que se plasmará en esta primeraversión será la de paciente – médico, mediante la cual un paciente puedesolicitar una segunda opinión a un especialista, el cual habrá sido añadido conanterioridad a sus contactos. Se implementarán otros procesos de apoyo, comoel registro de usuarios y la modificación de sus datos personales. Dentro de lafuncionalidad de la aplicación se contempla medidas de seguridad comopregunta de seguridad, activación de cuenta mediante correo electrónico yverificación de identidad mediante SMS enviado al móvil registrado delespecialista. Se establecerán estándares y buenas prácticas de programación anivel de back end y front end, que faciliten tareas de integración y escalabilidadcon vistas a futuros desarrollos. Se desarrollarán el manual técnico y de usuario,que avalen el trabajo realizado dentro de la fase de diseño técnico del proyecto.La herramienta de desarrollo utilizada (Visual Studio 2013) nos ofrece grancantidad de componentes que facilitan en gran medida la implementación defunciones asociadas a controles. La facilidad de la implementación y del uso, dela herramienta que se utilizó para el envío de SMS’s (Twilio), hace atractiva suadquisición final para el proyecto.
10
Autor: Daniel Franco López
Tutor: Ing. Ángel Ochoa.
UNIVERSIDAD DE GUAYAQUILFACULTAD DE CIENCIAS MATEMATICAS Y FISICAS
CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES
DESARROLLO DEL PROTOTIPO DE LA RED SOCIAL HSOUL
ABSTRACT
The aim of this project is to develop a first version of a social network related tothe field of health "HSoul". The term “social network” is associated to a group ofpeople having a link, applied to the present work would be health. Thedevelopment of a web application must be governed by different standards andbest practices defined from the beginning, they facilitate integration andscalability of the project. The development methodology used is “the prototyping”,due to the nature of the project, this method offers facilities to develop the mainidea with continuous interaction with the user, and further growth of thefunctionalities. The relationship that will be implemented in this first version will bepatient - specialist, whereby a patient may request a second opinion from aspecialist, who have been previously added to the contacts. Other supportingprocesses such as user registration and modification of your personal data will beimplemented. Within the functionality of the application, security measures areseen, such as security question, account activation through email andidentification verification via SMS sent to the registered specialist mobile.Standards and best programming practices level back end and front end will beestablished, to facilitate integration tasks and scalability in view of futuredevelopment. Technical and user manual will be developed, that support the workperformed within the technical design phase of the project. The development toolused (Visual Studio 2013) provides many components that greatly facilitate theimplementation of functions associated controls. The ease of implementation anduse of the tool used for sending SMS's (Twilio) makes attractive its finalacquisition for the project.
11
INTRODUCCIÓN
El presente trabajo tiene como principal propósito el desarrollo del prototipo de
una red social dedicada al área de la salud.
“La noción de red social está vinculada a la estructura donde un grupo de
personas mantienen algún tipo de vínculo” (http://definicion.de/red-social/).
Estos vínculos pueden estar aplicados a distintos aspectos de nuestra vida
cotidiana, para nuestro proyecto será la salud. A pesar de los avances de la
tecnología, el tema de la salud sigue siendo un tema delicado, por lo que su
tratamiento a través de la web debe implementar las debidas medidas de
seguridad para el manejo de la información.
La salud electrónica (eSalud) es el apoyo de los profesionales de la salud en las
tecnologías de la información y las comunicaciones (TIC). Dentro de este ámbito
se encuentra embebida la telemedicina, término que se refiere a la prestación
de servicios médicos a distancia, dirigido con mayor énfasis a pacientes crónicos
y a personas mayores de edad.
En la actualidad existen varios sitios en internet dedicados al tema de la salud, a
saber: http://redpacientes.com/, http://www.doctoralia.es/, entre otros.
“Redpacientes” es una red social que permite a sus usuarios conocer su
enfermedad, compartirla con otros usuarios y controlar su evolución. “Doctoralia”
es una guía de médicos, profesionales y clínicas, mediante la cual un usuario
puede resolver todas sus dudas respecto a temas de la salud de manera
anónima.
En Ecuador el tema de la eSalud no está desarrollado. Los servicios sanitarios
públicos en nuestro país viven en una saturación permanente, en parte debido a
una sobrepoblación implícita dentro del crecimiento continuo de la sociedad,
pero también a una mala planificación en el cuidado de nuestra salud.
12
Este trabajo de graduación consta de 5 capítulos, los cuales son:
Capítulo I. Planteamiento del problema, descripción a detalle de la
problemática a investigar.
Capítulo II. Marco teórico, contiene información de las herramientas
utilizadas durante el desarrollo de la aplicación.
Capítulo III. Metodología, descripción a detalle de metodologías de
investigación y desarrollo aplicadas al proyecto.
Capítulo IV. Marco administrativo, contiene información acerca de
cronograma y presupuesto aplicados al presente proyecto.
Capítulo V. Conclusiones y recomendaciones, especifica las
conclusiones y recomendaciones obtenidas una vez finalizado el
proyecto.
Al final del documento se encuentra el Anexo, donde se adjuntará la
documentación derivada del desarrollo.
13
CAPÍTULO I
EL PROBLEMA
PLANTEAMIENTO DEL PROBLEMA
Ubicación del Problema en un Contexto
En la actualidad el uso de las redes sociales en nuestro país está muy difundido,
por lo cual se han convertido en un medio importante de intercambio de
información, en especial de los más jóvenes. El ámbito de la información que en
ellas se comparte suele ser más orientado al entretenimiento.
Según estudios, en Ecuador, el número de personas que acceden a internet son
aproximadamente 8.5 millones, de los cuales cerca del 95% (8 millones aprox.)
son usuarios activos de Facebook, la cual se ubica como la principal red social
del país. Twitter con aproximadamente 2 millones de usuarios se ubica en
segundo lugar, mientras que LinkedIn aparece en tercer lugar global, pero como
la primera red social temática (profesional), con un poco más del millón de
usuarios registrados (Formación gerencial internacional y ranking Alexa 4 de
enero de 2015).
A pesar de la gran acogida que han tenido las redes sociales, el tema de la salud
no suele ser de mucha difusión dentro las preferencias de los usuarios
ecuatorianos. Los problemas que afectan la salud de una persona en particular
es un tema delicado y no tiende a ser un tópico de conversaciones públicas. La
distribución de la información relacionada con la salud, genera desconfianza
debido a la privacidad y seguridad del canal.
El desarrollo de un prototipo está atado directamente al lenguaje de
programación y Entorno de Desarrollo Integrado (IDE) elegido. Los cuales
deben permitir un desarrollo ágil y dinámico, mediante el cual se puedan
14
establecer las bases de un proyecto sólido y escalable, que permita la
integración de nuevas funcionalidades creadas en el futuro.
Situación Conflicto Nudos Críticos
Las necesidades del ser humano se clasifican en cinco grandes grupos:
Fisiología, Seguridad, Afiliación, Reconocimiento, Autorrealización. En el
segundo grupo (Seguridad) se encuentra la salud (Maslow, 1943). El actual
ritmo de vida, impide que la gran mayoría cubra esta necesidad como es debido,
siendo la segunda en importancia dentro de la pirámide. La falta de tiempo es el
principal impedimento.
Según estudio, analizando las páginas web visitadas, se puede establecer los
principales intereses, de los ecuatorianos, al navegar por internet (Formación
gerencial internacional y ranking Alexa 4 de enero de 2015):
1. Entretenimiento, juegos y redes sociales.
2. Noticias e información.
3. Vídeos.
4. Búsquedas.
5. Compras.
6. Deportes.
7. Servicios Públicos.
8. Pornografía.
Como se puede observar las redes sociales ocupan el primer lugar, pero
orientadas al ocio y entretenimiento. La salud como categoría, no aparece entre
las 8 primeras.
En Ecuador no existe una red social local dedicada a la salud. Quienes tienen
más difundido esta temática son los países europeos, con páginas como redes
sociales o directorios médicos en línea. Según Alexa una de las principales
redes sociales de salud orientada a la salud, redpacientes.com, cuenta con el
15
principal porcentaje de visitantes en España, con el 62.6 %. Ecuador no aparece
en el listado.
Causas y Consecuencias del Problema
Tabla No. 1: Causas y Consecuencias del Problema
CAUSAS CONSECUENCIAS
Falta de tiempo, que impide cubrir lanecesidad de salud del ser humano,de manera correcta.
Un mal estilo de vida, que disminuyecontinuamente la calidad de la misma.
Saturación de los servicios médicospúblicos y de mala calidad.
Desconfianza, malestar social ymigración de usuarios hacia el serviciomédico privado.
Ausencia de un sitio web localdedicado a la salud.
Explotación externa del mercado metanacional. Por ejemplo, laimplementación de un dominioecuatoriano para directorios médicos,como el de doctoralia, el cual ya poseevarios dominios a nivel internacional(español, mexicano, etc.)
Manejo de información inadecuada Perdida de información, o falta deintegridad en la misma.
Elaboración: Daniel Franco Fuente: Hospital Universitario
Delimitación del Problema
Campo: Salud.
Áreas: Desarrollo de Software.
Aspectos: Red social y las relaciones que se producen en la misma (médico -
paciente). Seguridad de la información.
Tema: Desarrollo del prototipo de una Red Social orientada al campo de la
salud.
16
Formulación del Problema
Desarrollo del prototipo de una red social local, para Ecuador, orientada al
campo de la salud.
Evaluación del Problema
Delimitado: El desarrollo está limitado a un prototipo de una red social
ecuatoriana orientado al campo de la salud.
Claro: Durante la construcción se establecerán estándares y buenas prácticas
de programación, para facilitar el entendimiento de los desarrollos.
Concreto: Al tratarse de un prototipo, todas las funcionalidades serán precisas,
enfocándose en la relación que se desea plasmar y su funcionalidad, para evitar
el desperdicio de tiempo y recursos.
Contextual: El desarrollo de software es una de las áreas de las ciencias de la
computación integrada con la inteligencia artificial (IA). Para el desarrollo se han
utilizado las últimas versiones de las herramientas disponibles en el mercado.
Factible: Este trabajo de titulación es factible ya que lo que se desea
implementar no es una versión final, sino solo un prototipo cuya principal misión
es bosquejar la funcionalidad de la relación médico – paciente. Además gracias
al convenio que existe entre la Universidad de Guayaquil y Microsoft, tenemos
las facilidades necesarias para la obtención de las herramientas de desarrollo
elegidas para el proyecto.
Original: En el Ecuador no existe un sitio web con las especificaciones de
HSoul, red social dedicada al área de la salud. A nivel internacional existen
distintas opciones de redes sociales a nivel de paciente, como por ejemplo
“Redpacientes”. También existen diversos directorios médicos virtuales, como
17
por ejemplo “Doctoralia”. Sin embargo HSoul es una especie de fusión entre los
dos conceptos.
Relevante: Se pretende que esta sea la base para la implementación de la
primera red social orientada al ámbito de la salud, en el Ecuador. La cual
permita una mejor calidad de vida a los usuarios, ahorrando tiempo y recursos
en el tratamiento de las dolencias de los mismos, mediante el uso de tecnologías
como la telemedicina.
Variables: Entre las variables más importantes tenemos: el lenguaje de
programación, el entorno de desarrollo integrado, metodología de desarrollo,
interfaz de usuario, usabilidad, seguridad, entre otros que se especificarán más
adelante.
OBJETIVOS
OBJETIVO GENERAL
Desarrollar el prototipo de una red social orientada al campo de la salud, en el
Ecuador.
OBJETIVOS ESPECÍFICOS
Desarrollar el modelo entidad relación e implementarlo en un Sistema
Gestor de Base de Datos escogido, para convertirlo en el backend y
soporte de la aplicación web.
Desarrollar una primera versión de la plataforma web, con las principales
funcionalidades definidas en el alcance, que se convierta es una interfaz
fácil y amigable para los usuarios de la red social.
18
Implementar medidas de seguridad que garanticen la integridad de cada
uno de los usuarios y generen confianza en el uso de la plataforma
debido a su naturaleza impersonal.
ALCANCES DEL PROBLEMA
Para definir con mayor detalle y precisión las diferentes capacidades que
conformarán la funcionalidad de la red social, se han identificado los aspectos
que serán tomados en cuenta en el diseño y desarrollo del mismo. Cabe
recalcar que el alcance de la aplicación de momento cubrirá solo el territorio
nacional.
Diseñar el prototipo del modelo entidad relación, el cual será elaborado
en SQL Server 2012.
Desarrollar el prototipo de la aplicación web en Visual Studio 2013 bajo
ASP .NET, Codebehind C# y Javascript, bajo los estándares de HTML
5.0.
Desarrollar un estándar para la programación web y de base de datos,
que sirva de base para futuros desarrollos y nuevas funcionalidades que
se implementen en la aplicación.
Implementar la funcionalidad de obtener una segunda opinión médica de
parte de un especialista, como resultado de la relación establecida entre
el médico y el paciente.
Implementar la funcionalidad de envío de mensajes SMS a celulares
registrados. Para lo cual se utilizarán los servicios de TWILIO. Esta
aplicación es de pago, por lo que para el desarrollo se instalará una
versión de prueba.
19
Implementar la funcionalidad de registro de usuarios, bajo los roles de
médico o paciente. Para lo cual se desarrollará un formulario básico que
solicite los datos más relevantes.
Implementar la funcionalidad de visualización y modificación de perfil de
usuario, mediante el cual se pueden actualizar ciertos datos ingresados
durante el registro.
Implementar medidas de seguridad que garanticen la veracidad de la
información. Validación del número de cédula o RUC durante el registro
de usuarios. Activación de la cuenta por medio de un link enviado al
correo electrónico registrado. Verificación de identidad del profesional, al
responder una consulta hecha por un paciente, mediante un código
enviado al número de celular ingresado durante el registro.
Implementar la funcionalidad de subida de imágenes, durante el registro
de usuario y el formulario de consulta a un profesional. La imagen debe
estar en formato JPG y su tamaño no debe ser mayor a 2 MB.
JUSTIFICACION E IMPORTANCIA
HSoul nace como parte de un proyecto global denominado “Programa Continuo
de Investigaciones Médico - Informática” (PROMEINFO) de la Universidad de
Guayaquil. Su objetivo es el desarrollo de una red social orientado al ámbito de
la salud. En Ecuador no existe un sitio web de este tipo, por lo que se estaría
hablando de una red social pionera e innovadora que busca simplificar y mejorar
el sistema sanitario del país. Implementando un servicio online al alcance de
todos los ecuatorianos, para el cuidado de nuestra salud, al mismo tiempo que
permita cambiar nuestro estilo de vida.
El desarrollo del prototipo plantea implementar una primera versión de la
aplicación web así como del modelo entidad relación de la base de datos, los
cuales deben implementar estándares y buenas prácticas, para volver la
20
programación más entendible a futuros desarrollos. Hay que tener en cuenta
que este es un proyecto de gran magnitud por lo que nuestro trabajo es poner la
primera piedra y facilitar la construcción de futuras funcionalidades relacionadas
con la red social.
El tiempo estimado para el desarrollo del proyecto es insuficiente para la
construcción de una aplicación con todas las funcionalidades que podría tener
una red social orientada al campo de la salud. Sin embargo el prototipo solo se
va a centrar en las funcionalidades definidas en el alcance pero con mayor
énfasis en la estandarización del producto para que este sea escalable a la
magnitud que se desea alcanzar con este proyecto.
PORMEINFO es un proyecto de gran alcance, por lo que la importancia de la
estandarización no está solo limitada al desarrollo de la aplicación HSoul y la
implementación de nuevas funcionalidades dentro de la misma, sino también a la
integración con otros proyectos en los que trabajan compañeros de la
Universidad, pertenecientes a nuestra facultad, así como también de otras
facultades, como la de Medicina, con la que se trabaja en conjunto ciertas
investigaciones. Tenemos la motivación de que estas buenas practicas sean
acogidas por otros proyectos, para la construcción de sus desarrollos, sin
pretender ser el único estándar aplicable, este está abierto a la complementación
o sustitución de ciertos parámetros debidamente justificados, con el fin de crear
un marco de trabajo global y común para todo el universo dentro del proyecto
PROMEINFO.
21
CAPÍTULO II
MARCO TEÓRICO
ANTECEDENTES DEL ESTUDIO
En el Ecuador no existe una red social orientada al ámbito de la salud, por lo que
el desarrollo de este proyecto significará un sitio web innovador y pionero dentro
del territorio nacional. A nivel internacional existen varios sitios web relacionadas
con la salud.
Redpacientes, es una red social a nivel de pacientes donde los mismos
pueden conocer, compartir y controlar sus afecciones, según sus propios
términos su fin es netamente informativo y no pretende sustituir la
consulta de un profesional.
Ippok, es una comunidad sanitaria establecida en España, está más
orientada a profesionales sanitarios, sin intervención del paciente, donde
los mismos comparten información relacionada con su rama de
especialización.
DoctorDice, es un sitio web similar a ippok, con la diferencia de que se
encuentra establecido en Mexico. Las principales funcionalidades de
esta red social son: discusiones médicas, noticias médicas, herramientas
médicas, y red de contactos.
Doctoralia, es un directorio web de profesionales de la salud, mediante el
cual se puede reservar citas presenciales y en línea con profesionales
22
especialistas. Este sitio web se encuentra establecido en España y
Mexico.
A nivel de estándares de programación y buenas prácticas, no existe un patrón
oficial a seguir dentro del campo, excepto para el lenguaje de programación C#,
donde se utilizará el estándar ECMA-334. A nivel de información clínica existe
un conjunto de estándares conocido como Health Level Seven (HL7), el cual
pretende facilitar el intercambio de información electrónico mediante Lenguaje de
Modelado Unificado (UML) y un Lenguaje Extensible de Marcado (XML). Este
estándar fue aprobado por el Instituto nacional estadounidense de estándares
(ANSI) en 2003. Sin embargo como se especifica afecta a la integración con
otros módulos y al intercambio de información entre los mismos, no a la escritura
de código y nomenclatura de objetos.
Las buenas prácticas utilizadas en el desarrollo de la aplicación son fruto de la
experiencia del programador tanto de su vida estudiantil como laboral. Sin
embargo se han utilizado manuales de internet para reforzar, respaldar y unificar
nomenclaturas y estructuras de objetos en la base de datos.
FUNDAMENTACIÓN TEÓRICA
En la actualidad las redes sociales han evolucionado de tal modo que forman
parte de nuestro día a día. El desarrollo de las nuevas tecnología ha dado paso
al nacimiento de nuevos términos en el área de la salud: eSalud, telemedicina y
telesalud.
El término de la eSalud representa la aplicación de las tecnologías de la
información y las telecomunicaciones (TIC) en el campo de la salud en general.
Entre los principales servicios que ofrece la eSalud están: Historiales Médicos
Electrónicos y la Telemedicina.
La telemedicina consiste en la prestación de servicios médicos de manera
remota, utilizando TIC. La telemedicina mejora y facilita el acceso a los servicios
23
sanitarios, sin embargo disminuye la relación médico – paciente al ser una
tecnología impersonal, y la calidad de la información no es del todo fiable, por lo
que se recomienda una clara implementación de protocolos de comunicación.
Para el desarrollo de nuestra aplicación se utiliza la metodología de prototipado
u orientada a prototipos, la cual consiste en un desarrollo rápido y evolutivo,
optimizando el tiempo y los recursos. Nuestro prototipo se centra en la
funcionalidad que relaciona a un paciente con un profesional, relegando a un
segundo plano las funcionalidades secundarias que están implícitas. De esta
manera presentamos una primera versión de la aplicación web, para obtener una
retroalimentación del usuario final y además la misma queda abierta para futuros
desarrollos.
Las fases de la metodología de desarrollo de prototipos son:
Investigación preliminar. En esta fase se determina el problema y se
identifican las posibles soluciones para establecer su factibilidad.
Definición de los requerimientos del sistema. En esta fase se determinan
los requerimientos, para lo cual se interactúa con los usuarios y se
determinan sus necesidades.
Diseño técnico. Se diseña el sistema y se genera la respectiva
documentación que servirá de guía para la construcción de la aplicación.
Programación y pruebas. Las funcionalidades establecidas en la fase de
diseño son implementadas y probadas en esta fase, con el fin de cumplir
con los requerimientos.
Operación y mantenimiento. En esta fase la aplicación es instalada. El
mantenimiento resulta menor, al no tratarse de una versión final. Por otro
lado si se requiere de un cambio drástico el proceso de prototipado debe
repetirse, acorde a los nuevos requerimientos.
Esta metodología nos ofrece optimización de tiempo y costos, incrementa la
aceptación del sistema, así como su integración y adaptabilidad.
24
HERRAMIENTAS UTILIZADAS DURANTE EL DESARROLLO
SISTEMA GESTOR DE BASE DE DATOS
La herramienta elegida como Sistema Gestor de Base de Datos (SGBD), es el
Microsoft SQL Server 2012. Este software soporta transacciones,
procedimientos almacenados, inteligencia de negocios, entre otras. El entorno
gráfico de administración a utilizarse es el SQL Server Management Studio, el
cual nos permite realizar tareas de administración, utilizar comandos DDL y DML
en un modo cliente – servidor.
Tabla No. 2: Historia de las Versiones SQL Server
Versión Año Nombre de la Versión Nombre Clave1.0 (OS/2) 1989 SQL Server 1-0 SQL
4.21 (WinNT) 1993 SQL Server 4.21 SEQUEL6.0 1995 SQL Server 6.0 SQL956.5 1996 SQL Server 6.5 Hydra7.0 1998 SQL Server 7.0 Sphink- 1999 SQL Server 7.0 OLAP
ToolsPlato
8.0 2000 SQL Server 2000 -8.0 2003 SQL Server 2000
64-bit EditionLiberty
9.0 2005 SQL Server 2005 Yukón10.0 2008 SQL Server 2008 Katmai
10.50 2010 SQL Sever 2008 R2 Kilimanjaro11.0 2012 SQL Server 2012 Denali12.0 2014 SQL Server 2014 SQL 14 (Antes
Hekaton)Elaborado por: Daniel Franco
Fuente: http://es.wikipedia.org/wiki/Microsoft_SQL_Server
Características claves que ofrece SQL Server 2012
Los grupos de disponibilidad AlwaysOn, el cual lleva a otro nivel el tema
del Mirroring de las bases de datos, con esta funcionalidad se podrán
25
conmutar varias bases de datos en lugar de una, además las copias
secundarias se vuelven legibles y utilizables para realizar backups. Columnas almacenadoras de índices, básicamente la información e
agrupada y almacenada y un índice de columna comprimido y plano,
reduciendo en gran medida la utilización de memoria en consultas de
gran tamaño. Funciones mejoradas de auditoría, la auditoría está ya disponible en
todas la ediciones de SQL Server. Además, los usuarios pueden definir
especificaciones de auditoría personalizadas para escribir eventos
específicos en el registro. Estas nuevas características dan mayor
flexibilidad para escoger que eventos se escriben en el registro. Objetos de secuencia, esto ha sido una características muy solicitado,
sobre todo por personas que han programado en Oracle. Una secuencia
es un simple contador. SQL siempre ha tenido una funcionalidad similar
con las columnas identidad, pero ahora se trata de un objeto discreto. Soporte mejorado PowerShell, PowerShell es una interfaz de consola que
permite la escritura de scripts con la finalidad de automatizar tareas de
administración o realizarlas de forma más controlada. PowerView, esta herramienta está más orientado al tema de la
inteligencia de negocios (BI). Permite crear rápidamente, y con poco
conocimiento técnico, una presentación atractiva que soporte un análisis
de negocio. Mejoras para SQL Azure, el almacenamiento del presente, la nube.
Microsoft está realizando mejoras claves en la integración de sus
servicios con el almacenamiento en la nube, a través de SQL Azure. El
tamaño máximo de una base de datos Azure es ahora superior a los 150
GB. Soporte para grandes cantidades de información. Microsoft ha anunciado
una asociación con Cloudera proveedor de Hadoop, el cual es un
framework de apache que ofrece soporte a gran cantidad de datos
mediante técnicas como MapReduce y Google File System.
26
Tabla No. 3: Requisitos del Sistema
NOMBRE DESCRIPCIÓNMemoria del sistema Mínimo 512 MB para SQL Server Express with
Tools y SQL Server Express con Advanced
Services y 4 GB para. Reporting Services que se
instala con SQL Server Express con Advanced
Services.Sistema Operativo Tener un sistema operativo compatible.
Windows 7, Windows Server 2003, Windows Server
2008, Windows Server 2008 R2, Windows Server
2012 en cualquiera de sus versions.Disco Duro 2,2 GB de espacio en disco.Procesadores X86: Procesador compatible con Pentiun III o más
rápido.
X64: AMD Opteron, AMD Athlon 64, Intel Xeon
compatible con Intel EM64T, Intel Pentium IV
compatible con EM64T. Velocidad de procesador
1.0 GHz o más.
I64: Procesador Itanium o más rápido (Velocidad
del procesador: 1.0 GHz o más.)Elaborado por: Daniel Franco
Fuente: http://sqlmag.com/sql-server-2012/sql-server-2012s-hardware-and-software-requirements
27
ENTORNO DE DESARROLLO INTEGRADO (IDE)
La herramienta utilizada para el desarrollo de la aplicación web es el Microsoft
Visual Studio 2013, el cual es un Entorno de Desarrollo Integrado (IDE) que
contiene nuevas herramientas para crear innovadoras aplicaciones para
Windows y la Web.
Características
Intellisense. Esta es una de las características más valoradas por los
desarrolladores, pero además en esta versión se incluye soporte para
desarrollos XAML.
Depuración de aplicaciones de la tienda de Windows construidas usando
JavaScript a través del explorador DOM. Algo nuevo para las
aplicaciones desarrolladas para la tienda de Windows es la depuración
de código mediante el uso de la herramienta de inspección DOM
proporcionado dentro del IDE. La depuración interactiva permite
modificar el código sin detener y reiniciar el depurador.
Configuración de puntos de interrupción en código desplegado para
Azure. Esta nueva funcionalidad de Visual Studio 2013 permite la
máxima flexibilidad durante la depuración de su aplicación.
Posibilidad de desactivar las mayúsculas de la barra de menús.
Just my code. Esta característica le dice al depurador que solo pase por
el código escrito por el desarrollador ignorando código propio del
framework y otros códigos.
CodeLens. Esta es una característica solo disponible en la versión
Ultimate, mediante la cual por defecto se muestra encima de la propiedad
o método, el número de veces que la misma hace referencia a su código.
Bootstrap. Es una colección gratuita y de código abierto, de herramientas
para la creación de sitios y aplicaciones web. Contiene plantillas de
28
diseño basadas en HTML y CSS para tipografía, formas, botones,
navegación, y otros componentes de la interfaz, así como las extensiones
de JavaScript opcionales. El objetivo principal es facilitar el desarrollo
web.
Estas son unas cuantas de las nuevas características que posee Visual Studio
2013 añadidas a las que ya traían versiones anteriores.
Arquitectura de desarrollo
La arquitectura de desarrollo por capas elegida para el desarrollo permite la
interdependencia de las tareas dentro de la aplicación. La interfaz de usuario se
vuelve independiente de la lógica de negocios y del acceso a la base de datos.
Se implementa además una cuarta pseudo capa, la de objeto de transferencia
de información (DTO), que me facilita la transferencia de información entre las
capas. La principal ventaja de esta arquitectura cliente servidor es la facilidad,
simplicidad y rapidez de los cambios, ya que esto se afecta por niveles.
Imaginemos que tenemos un cambio en el acceso a la base de datos, esté solo
afectaría a la capa de Acceso a Datos (DA), sin tocar la Lógica de Negocios (BL)
y la Interfaz de usuario (Proyecto Web).
TWILIO
Es una compañía que ofrece servicios en la nube. Permite a los desarrolladores
de software hacer y recibir llamadas y enviar y recibir mensajes de texto
mediante código de programación haciendo uso de sus servicios web. Los
servicios de Twilio son accesibles vía HTTP y son facturados según su uso.
Estándar de programación en C#
29
ECMA International es una organización fundada en 1961 y dedicada a la
estandarización de Tecnologías de la Información y Comunicación (TIC) y
Electrónica de Consumos (CE).
Los objetivos que persigue ECMA son:
Desarrollar, en cooperación con las organizaciones nacionales, europeas
e internacionales apropiadas, estándares y reportes técnicos para facilitar
y estandarizar el uso de las tecnologías de la información y electrónica de
consumo.
Fomentar el uso correcto de las normas, al influir en el entorno en el que
son aplicadas.
Publicar estas normas e informes técnicos en formato electrónico e
impreso; las publicaciones puedes ser copiados libremente por todos los
interesados sin restricciones.
AES
Es el método de encriptación que utilizaremos para guardar la contraseña del
usuario dentro de la base de datos. Es un algoritmo de criptografía simétrica
creado por los criptólogos belgas, Joan Daemen y Vincent Rijmen, estudiantes
de la Katholieke Universiteit Leuven.
“AES tiene un tamaño de bloque fijo de 128 bits y tamaños
de llave de 128, 192 o 256 bits. La mayoría de los cálculos
del algoritmo AES se hacen en un campo finito
determinado. AES opera en una matriz de 4×4 bytes,
llamada state."
FUNDAMENTACIÓN LEGAL
30
El Programa Continuo de Investigaciones Médico Informática PROMEINFO, fue
creado en la Universidad de Guayaquil, con el objeto de apoyar la investigación
en Ciencias Médicas mediante el empleo de herramientas informáticas, dichos
proyectos se encuentran respaldados por la Constitución Ecuatoriana.
CIENCIA TECNOLOGÍA INNOVACIÓN Y SABERES
ANCESTRALES
Art. 386. El sistema comprenderá programas, políticas, recursos, acciones, e
incorporará a instituciones del Estado, universidades y escuelas politécnicas,
institutos de investigación públicos y particulares, empresas públicas y privadas,
organismos no gubernamentales y personas naturales o jurídicas, en tanto
realizan actividades de investigación, desarrollo tecnológico innovación y
aquellas ligadas a los saberes ancestrales.
El estado, a través de organismo competente, coordinará el sistema, establecerá
los objetivos y políticas, de conformidad con el Plan Nacional de Desarrollo, con
la participación de los actores que lo conforman.
VARIABLES DE LA INVESTIGACIÓN
Variables independientes
Lenguaje de programación, el lenguaje que se utilizará para el desarrollo
de la aplicación web (ASP .NET, C#).
Entorno de desarrollo integrado IDE. La herramienta que se utilizará para
escribir el código de la aplicación. Visual Studio 2013.
31
Metodología de desarrollo. La metodología utilizada para la construcción
de la aplicación y todas sus fases. Metodología de prototipado.
Arquitectura de desarrollo. La arquitectura de nuestro proyecto a nivel de
estructura de lógicas de diseño. Para nuestro proyecto, programación
por capas.
Variables dependientes
Interfaz de usuario. El resultado de la vista de la aplicación que aprecia
el usuario final.
Usabilidad. La facilidad que tienen los usuarios para manejar la
aplicación web y la claridad de sus funcionalidades.
Seguridad. El nivel de seguridad que presenta la aplicación web en el
manejo de la información y la impresión que se da al usuario final.
DEFINICIONES CONCEPTUALES
A continuación se detalla el concepto de cada uno de las variables de
investigación:
32
Tabla No. 4: Definiciones Conceptuales de variables independientes
NOMBRE DESCRIPCIÓN
Lenguaje de programación
Es un lenguaje formal diseñado para
expresar procesos que pueden ser
llevados a cabo por máquinas como las
computadoras.
Entorno de desarrollo integrado
(IDE) Aplicación de software, que
proporciona servicios integrales para
facilitarle al programador de computadora
el desarrollo de software.
Metodología de desarrollo de
software
En Ingeniería de Software es un marco de
trabajo usado para estructurar, planificar y
controlar el proceso de desarrollo en
sistemas de información.
Arquitectura de desarrollo de
software
A semejanza de los planos de un edificio,
son formas y guías generales, con base a
las cuales se puedan resolver problemas,
indican la estructura, funcionamiento e
interacción entre las partes del software. Elaborado por: Daniel Franco
Fuente: http://es.wikipedia.org/
33
Tabla No. 5: Definiciones Conceptuales de variables dependientes
NOMBRE DESCRIPCIÓN
Interfaz de usuario
Es el medio con que el usuario puede
comunicarse con una máquina, un equipo
o una computadora, y comprende todos
los puntos de contacto entre el usuario y el
equipo.
Usabilidad
Se refiere a la facilidad con que las
personas pueden utilizar una herramienta
particular con el fin de alcanzar un objetivo
concreto.
Seguridad
Área de la informática que se enfoca en la
protección de la infraestructura
computacional y todo lo relacionado con
esta y, especialmente, la información
contenida o circulante.Elaborado por: Daniel Franco
Fuente: http://es.wikipedia.org/
34
CAPÍTULO III
METODOLOGÍA
DISEÑO DE LA INVESTIGACIÓN
Modalidad de la investigación
Teniendo en cuenta el tema del proyecto, la modalidad de la investigación
elegida será la especial. Debido a que se trata de un desarrollo de software, el
mayor esfuerzo del proyecto está dedicado a la propuesta (prototipo) de la
aplicación web. Además se realiza una amplia investigación bibliográfica para el
estudio de las herramientas y buenas prácticas de programación. La
investigación de campo se basa en una pequeña encuesta con temática neta en
el uso de las redes sociales aplicadas a la salud.
Tipo de investigación
Es preciso tener en cuenta que nuestro proyecto se basa en la creación de una
solución susceptible de ser utilizadas como solución al problema del cuidado de
la salud de los ecuatorianos. Por tal razón, la actual investigación, se enfocó
dentro de la modalidad de proyecto especial.
Según el Manual de Trabajos de Grado de Especialización y Maestría y Tesis
Doctorales de la Universidad Experimental Libertador (UPEL, 2005), se utiliza
este enfoque de investigación en los siguientes casos:
“Trabajos que lleven a creaciones tangibles, susceptibles de serutilizadas como soluciones a problemas demostrados, o querespondan a necesidades e intereses de tipo cultural. Se incluyen enesta categoría los trabajos de elaboración de libros de texto y demateriales de apoyo educativo, el desarrollo de software, prototipos y
35
de productos tecnológicos en general, así como también los decreación literaria y artística. El estudiante podrá optar por estacategoría cuando el tipo de trabajo seleccionado tenga directavinculación con el perfil de competencias profesionales delsubprograma de postgrado que cursa, o así se establezca en eldiseño curricular respectivo. En caso de dudas, corresponderá alConcejo Técnico Asesor de Postgrado del Instituto atender y decidirsobre las consultas que se le formulen”.
POBLACIÓN Y MUESTRA
Población:
Al tratarse de un proyecto de desarrollo, se planteó la encuesta como un
resultado del mismo. Se realizó una encuesta a los empleados programadores
que conforman la empresa CIMAIT (Empresa ecuatoriana de desarrollo de
software donde labora, a esta fecha, el autor). El sector hacia el que va dirigido
es, especialistas en el tema de desarrollo de aplicaciones web, lo que nos
permitirá obtener opiniones expertas acerca del diseño y la funcionalidad de
nuestra red social.
Muestra:
Debido al tamaño de la población no fue necesario realizar el muestreo, se
utilizará el total de la población.
36
Tabla No. 6 Población de CIMAIT
POBLACION USUARIOS Nº
Desarrolladores de software CIMAIT 75
TOTAL 75
Elaborado por: Daniel FrancoFuente: Cuadro poblacional de HSOUL
Operacionalización de variables
A continuación se detallan las variables relacionadas al proyecto y se las define
detalladamente:
37
Tabla No. 7: Operacionalización de las Variables
VARIABLES LIMITACIONES INDICADORES
Técnicas y/o
instrumentos
Variable Independiente
Diseño y desarrollo Red
Social
Prototipo de un sitio
web que pueda ser
fácilmente escalable.
Lenguaje de
programación.
Entorno de
desarrollo.
Metodología de
desarrollo.
Arquitectura de
desarrollo.
Lenguaje.
IDE.
Metodología.
Arquitectura.
Textos
seleccionados y
referencias web
relacionadas al
tema.
Variable Dependiente
Red Social HSOUL
El sitio web como tal,
resultado del proyecto.
Interfaz de
usuario.
Usabilidad.
Seguridad.
Diseño.
Interpretación
usuario final.
Encuesta.
Elaborado por: Daniel Franco Fuente: Daniel Franco
Instrumentos de recolección de datos.
Técnicas de investigación
Al tratarse de un proyecto orientado netamente al desarrollo, se aplicarán dos
tipos de técnicas durante la elaboración del mismo:
Documental. Consiste en la presentación resumida e interpretada de lo
que autores especializados ya han publicado respecto a un tema
38
específico. Esta investigación se caracteriza por la utilización de textos,
ya sean libros o referencias electrónicas, generalmente está asociada a
la investigación bibliográfica. El concepto de documento, es muy amplio,
y muchas veces se refiere a: vídeos, diapositivas, planos, discos, cintas,
etc.
Lectura Científica. Consiste en una lectura profunda, analítica y
generalmente con un propósito específico. Nos ayudará a determinar las
mejores herramientas a utilizar durante el desarrollo, estándares
aplicables e implementación de las medidas de seguridad de la
información.
De Campo. En esta técnica el estudiante se encuentra en contacto con
la realidad. De esta manera puede recolectar datos sin alteraciones de
intermediarios, además el investigador puede percatarse de las
condiciones en las que se desenvuelve el objeto de investigación.
Encuesta. Consiste en una técnica de recolección de datos con la ayuda
de un cuestionario, aplicado a un conjunto o muestra de individuos. Se
utilizará para determinar los resultados del proyecto, servirá para conocer
la opinión de los usuarios respecto al sitio web como un servicio a la
comunidad.
Instrumentos de la investigación
A continuación se detallan los instrumentos utilizados para la recolección de
datos, durante el desarrollo del proyecto:
Fichas bibliográficas. Permite al lector tener acceso a las fuentes
consultadas por el autor del trabajo de investigación, para que de ser el
caso, el lector pueda profundizar más en el tema.
39
Reporte de página electrónica. En la actualidad la investigación
documental no se limita a recursos impresos. Con la ayuda de internet,
se puede acceder a un sin número de sitios donde se publica información
de diversos temas y materias. Toda la información relacionada a la
investigación documental está detallada en la sección de bibliografía del
presente documento.
Cuestionario. Es el instrumento de investigación de la encuesta y
consiste en una serie de preguntas que tienen el objetivo de recolectar
información de una muestra de individuos. Por lo general, una vez
tabulados, se utilizan para realizar análisis estadísticos de la realidad
investigada. Las características de las preguntas que conforman el
cuestionario son: coherentes, organizadas, secuenciadas y estructuradas
de acuerdo a una planificación previa, con el fin de obtener un resultado
preciso.
La encuesta y el cuestionario
Identificación de la institución
Hospital Universitario, dirección Vía Perimetral y Av. 43 NO.
Objetivos que persigue
El objetivo de la encuesta es conocer la opinión de personas, que tienen relación
con el tema de desarrollo de software, acerca del sitio web desarrollado.
Determinar la aceptabilidad de la red social y tener en cuenta los resultados para
futuras implementaciones.
40
Instrucciones de cómo debe contestar
Las preguntas utilizadas en el cuestionario son de tipo cerradas y de escala de
Likert, por lo que la elección es única.
Cuestionario
1. Por favor indicar tu sexo.
a) Varón.
b) Mujer.
2. ¿Te gusta la interfaz gráfica de la red social?
a) Sí
b) No
3. ¿Crees que el contenido de la web es claro y comprensible?
a) Definitivamente sí
b) Probablemente sí
c) No lo sé
d) Probablemente no
e) Seguramente no
4. ¿Qué tan fácil te pareció el proceso de registro en la red social?
a) Muy fácil
b) Fácil
c) Regular
d) Difícil
e) Muy difícil
5. ¿Qué tan fácil te pareció el proceso de solicitud de una segunda opinión
por parte del especialista?
a) Muy fácil
b) Fácil
c) Regular
d) Difícil
e) Muy difícil
41
6. ¿Qué tan fácil te pareció el proceso de modificación o actualización de
los datos de la cuenta y accesos?
a) Muy fácil
b) Fácil
c) Regular
d) Difícil
e) Muy difícil
7. ¿Tuviste algún problema o error durante la navegación por el sitio web?
a) Sí
b) No
8. ¿Te parece cómoda la interfaz para dispositivos móviles del sitio web?
a) Sí
b) No
c) No sé
9. ¿Recomendarías la red social a alguien más?
a) Seguramente sí
b) Probablemente sí
c) No lo sé
d) Probablemente no
e) Seguramente no
Procesamiento y análisis
Una vez finalizada la recolección de la información, se procederá al
procesamiento y análisis de la información. El procesamiento se lo realizará de
manera manual, para lo cual se revisarán las 75 encuestas realizadas, tabulando
cada una de las respuestas con la ayuda de una herramienta de hojas de
cálculo.
A continuación, se muestra un listado de las nueve preguntas realizadas durante
la encuesta, acompañado de su correspondiente resultado, gráfico estadístico y
análisis. Las gráficas indicarán cantidades de respuestas y porcentajes
equivalentes, para una mayor claridad de análisis.
1. Por favor indicar tu sexo.
42
Gráfico No. 1: Pregunta No. 1
Elaborado por: Daniel FrancoFuente: Cuadro Estadístico
Tabla No. 8: Tabulación pregunta 1
Opciones Cantidad
Varón 54Mujer 21
Elaboración: Daniel Franco Fuente: Daniel Franco
Análisis: De momento esto solo nos indica que en la empresa laboran más
personas del sexo masculino. Sin embargo una vez finalizada el análisis se
podrá determinar futuras implementaciones exclusivas, tomando en cuenta el
sexo del usuario registrado.
2. ¿Te gusta la interfaz gráfica de la red social?
43
Gráfico No. 2: Pregunta No. 2
Elaborado por: Daniel FrancoFuente: Cuadro Estadístico
Tabla No. 9: Tabulación pregunta 2
Opciones Cantidad
Sí 73No 2
Elaboración: Daniel Franco Fuente: Daniel Franco
Análisis: Mediante el análisis de esta pregunta se puede concluir que el diseño
de la interfaz de la aplicación web es del agrado de la gran mayoría de
encuestados, correspondientes al 97% de la muestra. Se optó por una interfaz
sencilla, elegante y orientada a la usabilidad.
3. ¿Crees que el contenido de la web es claro y comprensible?
44
Gráfico No. 3: Pregunta No. 3
Elaborado por: Daniel FrancoFuente: Cuadro Estadístico
Tabla No. 10: Tabulación pregunta 3
Opciones Cantidad
Definitivamente sí 40Probablemente sí 34No lo sé 0Probablemente no 1Seguramente no 0
Elaboración: Daniel Franco Fuente: Daniel Franco
Análisis: Se puede determinar que mediante la interfaz gráfica sencilla, se ha
conseguido obtener claridad y comprensibilidad en el uso de la aplicación web.
Una interfaz web sobrecargada de imágenes muchas veces resulta confusa ante
la percepción de los usuarios, lo que termina siendo poco práctico. Cabe anotar
que las personas más preocupadas por su salud son las personas adultas, los
que muchas veces no tienen tanta afinidad con la tecnología como la nueva
generación, por lo que el factor de la usabilidad representa un factor crítico
dentro de los resultados esperados.
45
4. ¿Qué tan fácil te pareció el proceso de registro en la red social?
Gráfico No. 4: Pregunta No. 4
46
Elaborado por: Daniel FrancoFuente: Cuadro Estadístico
Tabla No. 11: Tabulación pregunta 4
Opciones Cantidad
Muy fácil 62Fácil 13Regular 0Difícil 0Muy difícil 0
Elaboración: Daniel Franco Fuente: Daniel Franco
Análisis: Para esta pregunta el 17% considera que el proceso de registro es
muy fácil, mientras que el resto (83 %) opina que es fácil. El proceso de registro
es bastante claro y sencillo, sin embargo para esta primera versión aún no se
han incluido la petición de todos los datos necesarios para crear una ficha
médica completa, o para comprobar con exactitud la preparación y experiencia
de un profesional. A pesar de esto, sí están validados, en el formulario, ciertos
campos obligatorios y la activación de la cuenta vía mail. El mail es un campo
estratégico ya que puede servir para administración de la cuenta, por ejemplo se
podría utilizar para recuperar la contraseña en caso de pérdida, por este motivo
la verificación de un correo válido se convierte en primordial. Muchos de estos
aspectos pueden volver tedioso el proceso de registro.
47
5. ¿Qué tan fácil te pareció el proceso de solicitud de una segunda
opinión por parte del especialista?
Gráfico No. 5: Pregunta No. 5
48
Elaborado por: Daniel FrancoFuente: Cuadro Estadístico
Tabla No. 12: Tabulación pregunta 5
Opciones Cantidad
Muy fácil 9Fácil 66Regular 0Difícil 0Muy difícil 0
Elaboración: Daniel Franco Fuente: Daniel Franco
Análisis: Se concluye que a pesar de lo novedoso de la funcionalidad, el
proceso tuvo una buena acogida entre los usuarios encuestados. El 12%
considera que el proceso es muy fácil, mientras que el resto (88%) piensa que
es fácil. El diseño de toda la aplicación está orientado a la sencillez no solo
visual, sino también funcional. El formulario de una consulta es sencillo y
además puede llevar adjunta una imagen, el cual en principio puede ser una
fotografía o un escaneo de un examen realizado con anterioridad. Sin embargo
se propone la modificación de la funcionalidad para permitir la subida de otro tipo
de archivos, como por ejemplo textos y PDF.
49
6. ¿Qué tan fácil te pareció el proceso de modificación o actualización
de los datos de la cuenta y accesos?
Gráfico No. 6: Pregunta No. 6
50
Elaborado por: Daniel FrancoFuente: Cuadro Estadístico
Tabla No. 13: Tabulación pregunta 6
Opciones Cantidad
Muy fácil 63Fácil 12Regular 0Difícil 0Muy difícil 0
Elaboración: Daniel Franco Fuente: Daniel Franco
Análisis: Se concluye que la gran mayoría considera que el proceso de
actualización de la información es bastante comprensible y fácil de usar. En este
formulario son pocos los datos que están habilitados para su modificación, ya
que la gran mayoría, como por ejemplo la identificación, no son actualizables.
También se ofrece la posibilidad de cambiar la contraseña y/o pregunta secreta,
mediante el ingreso de la contraseña anterior, como medida de seguridad.
7. ¿Tuviste algún problema o error durante la navegación por el sitio
web?
Gráfico No. 7: Pregunta No. 7
51
Elaborado por: Daniel FrancoFuente: Cuadro Estadístico
Tabla No. 14: Tabulación pregunta 7
Opciones Cantidad
Sí 0No 75
Elaboración: Daniel Franco Fuente: Daniel Franco
Análisis: Mediante esta pregunta confirmamos la fiabilidad de la aplicación. El
100% coincide en que no tuvo ningún tipo de inconvenientes durante el uso de la
red social. A pesar de tratarse de un prototipo, se han utilizado las más
novedosas herramientas, y se ha tomado mucho cuidado en cumplir cada uno
de los estándares especificados en el manual técnico adjunto a este trabajo, lo
que ha llevado a obtener un producto de gran calidad.
8. ¿Te parece cómoda la interfaz para dispositivos móviles del sitio
web?
Gráfico No. 8: Pregunta No. 8
52
Elaborado por: Daniel FrancoFuente: Cuadro Estadístico
Tabla No. 15: Tabulación pregunta 8
Opciones Cantidad
Sí 63No 2No sé 10
Elaboración: Daniel Franco Fuente: Daniel Franco
Análisis: Para esta pregunta se implementó la opción “No sé”, para los que por
algún motivo no pudieron visualizar la interfaz en un dispositivo móvil. Como
resultado de la encuesta se puede concluir que a la mayoría (84%) les pareció
cómoda la interfaz para dispositivos móviles. Un 13% no tuvo las condiciones
para experimentar la aplicación en un dispositivo móvil y un 3 % considera que
no es cómoda. Mediante la tecnología bootstrap que viene incluida en el Visual
Studio 2013, se puede diseñar aplicaciones adaptables, dependiendo de las
dimensiones de la pantalla donde se ejecuta la aplicación, ciertos controles
cambian su comportamiento, haciendo más cómoda la navegación por la misma.
En la actualidad los dispositivos móviles son el medio más común, rápido y cómo
de acceso al internet, por los que la presentación de la red social en dispositivos
53
de este tipo, es fundamental. Sin embargo no se excluye la creación de una
aplicación nativa para dispositivos móviles.
9. ¿Recomendarías la red social a alguien más?
Gráfico No. 9: Pregunta No. 9
54
Elaborado por: Daniel FrancoFuente: Cuadro Estadístico
Tabla No. 16: Tabulación pregunta 9
Opciones Cantidad
Seguramente sí 5Probablemente sí 66No lo sé 0Probablemente no 3Seguramente no 1
Elaboración: Daniel Franco Fuente: Daniel Franco
Análisis: De esta pregunta concluimos que cabe la posibilidad que se
recomiende la red social a otra persona pero tampoco es seguro. Hay que
recalcar que la aplicación web no está finalizada, el resultado final es un
prototipo, todavía existe mucha funcionalidad por implementar, a pesar de ello se
ha conseguido un alto grado de aceptabilidad por parte de los usuarios
encuestados. Se recomienda realizar la misma encuesta una vez finalizada el
desarrollo de la red social, como versión final, para apreciar la opinión de los
usuarios y los cambios respecto a este cuestionario.
55
Criterios para la elaboración de la propuesta
La propuesta para el proyecto de “Desarrollo de Prototipo de la Red Social
HSoul” contendrá:
56
Aplicación web, consiste en el sitio web que alojara toda la información
acerca de la red social y que funcionará como front-end hacia el usuario
final. Entre los criterios más importantes que se tomarán en cuenta a la
hora de desarrollar la aplicación web serán: Entorno de desarrollo (IDE),
lenguaje de programación, estándares de programación, arquitectura de
desarrollo, etc.
Base de datos, representa el back-end de la aplicación, el lugar donde se
almacena toda la información recolectada a través de la interfaz web.
Uno de los principales criterios a tomar en cuenta a la hora de la
implementación de la base de datos será el modelo entidad relación, el
cual debe definir todas las entidades y relaciones establecidas en los
alcances. Entre otros criterios están: Sistema manejador de la base de
datos (SGBD), estándares de nomenclatura de objetos, etc.
Criterios de validación de la propuesta
El desarrollo del prototipo de la red social HSoul, forma parte del Programa
Continuo de Investigaciones Médico Informáticas (PROMEINFO). Cuenta con el
respaldo de profesionales altamente capacitados en el tema.
CAPÍTULO IV
MARCO ADMINISTRATIVO
CRONOGRAMA
El tiempo estimado para el desarrollo del prototipo es aproximadamente
de 6 meses. En el siguiente gráfico se detallan las actividades
involucradas en la metodología de desarrollo, y el tiempo dedicado a cada
57
una de ellas.
Gráfico No. 10: Cronograma de Actividades - Parte 1
Elaboración: Daniel FrancoFuente: Daniel Franco
58
Gráfico No. 11: Cronograma de Actividades - Parte 2
Elaboración: Daniel FrancoFuente: Daniel Franco
PRESUPUESTO
Todos los gastos asociados al proyecto son financiados por el autor del proyecto.
Tabla No. 17: Detalle de Ingresos del Proyecto
INGRESOS
Financiamiento Propio 328
TOTAL DE INGRESO $328
Elaboración: Daniel Franco
59
Fuente: Daniel Franco
Tabla No. 18: Detalle de Egresos del Proyecto
EGRESOS DOLARES
Suministros de oficina 10
Encuadernado y Empastados 52
Impresiones 26
Internet 180
Transporte 60
TOTAL DE EGRESO $328
Elaboración: Daniel FrancoFuente: Daniel Franco
El desarrollo en sí no produce ningún gasto, gracias al convenio que tiene la
Universidad de Guayaquil con Microsoft, para la utilización de sus herramientas,
con fines estudiantiles, sin costo alguno.
CAPÍTULO V
CONCLUSIONES Y RECOMENDACIONES
CONCLUSIONES
La salud es una de las principales preocupaciones que tienen los ecuatorianos,
sin embargo el actual ritmo de vida impide se den los respectivos cuidados a
nuestro cuerpo. El trabajo es una de las principales excusas que se da a la hora
60
de exponer las causas de porque no se asiste al médico para un chequeo de
rutina. En conclusión se tiene claro la importancia de una buena salud física y
mental pero no ocupa el lugar que debería dentro de nuestras prioridades, y por
consiguiente no hay disposición de sacrificar ciertas cosas por su cuidado.
La eSalud, es un tema que no está del todo difundido en nuestro territorio
nacional, debido a su naturaleza impersonal, todavía no se considera que el
internet sea una herramienta adecuada para el tratamiento de las dolencias de
los usuarios, por eso existe esa especie de temor y resistencia a su uso. En la
actualidad existen distintas páginas dedicadas a la salud de los usuarios,
directorios médicos virtuales en línea y redes sociales para pacientes, pero no
existe una página que combine las dos cosas, que es lo que HSoul busca
conseguir.
Las personas tienen gran predisposición a la idea de vincular la salud con las
redes sociales, por lo que se puede deducir que para las ya existentes no existe
la debida información o no generan suficiente confianza. Cabe recalcar que para
el tema de directorios médicos en línea, no se ha implementado uno netamente
ecuatoriano, donde puedan interactuar de manera virtual, médico y paciente. De
hecho esa sería la funcionalidad más valorada entre los usuarios, según
encuestas.
El sistema gestor de base de datos, SQL Server 2012, trae nuevas
características que facilitan y potencian nuestras aplicaciones, como por ejemplo
integración mejorada con los servicios SQL Azure, que nos da soporte en la
nube para operaciones de respaldo si fuera necesario. Además con su
asociación con Cloudera proveedor de Hadoop, ofrece soporte a gran cantidad
de datos mediante técnicas como MapReduce y Google File System.
Se ha diseñado un modelo entidad relación que soporta las principales
funcionalidades de la aplicación web, tomando en cuenta aquellas que todavía
no se han implementado pero se consideran básicas para futuros desarrollos,
como por ejemplo la mensajería instantánea entre contactos confirmados. El
61
diseño se enfoca en la escalabilidad de la estructura y en la integración de la
aplicación con otros módulos relacionados.
Respecto al desarrollo se concluyó que la metodología escogida fue la idónea,
ya que nos permitió realizar una aplicación de calidad en poco tiempo y alcanzar
todos los alcances planeados al inicio del proyecto. La metodología se centra en
la función principal que se deseaba alcanzar, para nuestro caso, la relación
médico – paciente, y abarcar las otras funcionalidades como procesos de
soporte en un plano secundario. Además al tratarse de un prototipo, se deja
especificada toda la parametrización para futuros desarrollos o
implementaciones.
Acerca del lenguaje de programación elegido para el desarrollo del proyecto se
puede concluir que lo que primó fue la facilidad y eficacia. La principal
desventajas, a primera vista, que posee el lenguaje .NET es el valor del
licenciamiento que puede tener el entorno de desarrollo integrado que elijamos.
Para nuestro proyecto hemos utilizado una licencia de estudiante, gracias a las
facilidades que nos ofrece el convenio de Microsoft con la Universidad de
Guayaquil, el cual nos permite utilizar el programa, con fines académicos, sin
restricciones, descargándolo de la web https://www.dreamspark.com/. De igual
manera, hablando de manera general existe versiones express que nos permiten
utilizar el IDE sin costo alguno, con ciertas restricciones. Existen muchas
ventajas a la hora de programar en .NET, por ejemplo, su curva de aprendizaje
rápida. Su IDE, Visual Studio en su versión 2013 trae incorporados muchas
funcionalidades, lo que evita el problema de búsqueda de componentes externos
que solucionen nuestros problemas, Además el gestor de paquetes NuGet (Su
uso está detallado en la parte de los anexos) simplifica el tema de instalación de
componentes de terceros.
Los estándares de programación utilizados, con excepción del ECMA-334, se
han reunido en base a buenas prácticas publicadas en internet y experiencia
propia de los integrantes del proyecto, que permitan la integración y
escalabilidad futura del proyecto.
62
La herramienta que se utiliza para el envío de SMS’s a celulares registrados es
una versión de prueba pero nos permite conocer la implementación y
funcionalidad global del componente. Twilio es una herramienta fácil de
implementar y fácil de invocar, de hecho el uso del componente dentro de la
aplicación web se limita a unas pocas líneas de código.
Las medidas de seguridad que se han implementado en el prototipo nos
permiten verificar la veracidad de la información, lo que ayuda a mantener la
integridad de los datos. Sin embargo al tratarse de una primera versión existen
ciertas normas de seguridad que, por motivos de tiempo, no se han
implementado, las mismas que se detallan en el apartado de recomendaciones.
RECOMENDACIONES
Existen muchas funcionalidades implícitas en el funcionamiento de las redes
sociales que formarían parte de futuros desarrollos para HSoul. A continuación
se detallan las más importantes:
63
Comunidades donde los usuarios puedan compartir la información de
afecciones personales, tratamientos positivos y negativos, especialistas
de su preferencia, etc.
Se propone un sistema de calificación de los especialistas, por pacientes
quienes hayan utilizado sus servicios. Además la implementación de una
funcionalidad de reportes a usuarios que no cumplan con las normas de
la comunidad.
Sería de gran ayuda un sistema de mensajería instantánea privada que
permita la comunicación en línea entre usuarios.
Al sistema de solicitud de una segunda opinión se podría implementar
una opción de videoconferencia mediante la cual un usuario podría ser
atendido remotamente, de manera más cómoda gracias a las ventajas
que ofrece el video y el sonido.
Para el tema del envío de mensajes existe la alternativa de utilizar los
servicios de un modem GPRS, el cual permite el uso de la red celular
para el envío de los SMS a celulares registrados.
Se recomienda la verificación del título del profesional, mediante el
registro en el SENESCYT y su número de identificación (Cedula de
ciudadanía). Actualmente no existe una interfaz o servicio donde se
pueda realizar la consulta automáticamente.
HSoul es solo una parte de un gran sistema médico global informatizado para el
país. Uno de los principales objetivos que se deberían buscar es la integración
de la información clínica de los usuarios con la aplicación web, para lo cual se
recomienda seguir los estándares especificados en el HL7, uno de los conjuntos
de estándares más utilizado a nivel internacional en el campo de la salud
electrónica. Otro aspecto que se debería tomar en cuenta a nivel de eSalud es
la creación de historiales médicos electrónicos, algo que está implícito en la
integración de la información.
Se recomienda que para futuros desarrollos se lea detenidamente los
estándares de programación, incluidos en el manual técnico del proyecto, lo cual
ayudará a un desarrollo más ágil y seguro, sin poner en riesgo la integridad del
64
prototipo. Además, tener claro la arquitectura por capas implementada, asegura
la continuidad de las dependencias lógicas establecidas en el diseño de la
aplicación web.
BIBLIOGRAFÍA
Alberto Urueña, (2011). Redes Sociales en Internet. Madrid: Observatorio
Nacional de las Telecomunicaciones y de la SI
65
Ramiro López, P. (2010). Programa Nacional de Telemedicina/Telesalud.
Guayaquil: Ministerio de Salud Pública.
Universidad Pedagógica Experimental Libertador Vicerrectorado de Investigación
y Postgrado, (2006). Manual de Trabajos de Grado de Especialización,
Maestrías y Tesis Doctorales. Caracas: Fondo Editorial de la Universidad
Pedagógica Experimental Libertador (FEDUPEL).
Fuentes electrónicas
Alexa, (n.d.). Acerca de Alexa. Obtenida el 15 de Octubre de 2014, de
http://www.alexa.com/about
DEFINICIÓN.DE, (n.d.). Definición de Red Social. Obtenida el 01 de enero de
2015, de http://definicion.de/red-social/
Dirección General de Gobierno Digital, (2006). Estándares de Diseño de Bases
de Datos. Obtenida el 05 de noviembre de 2014, de
http://static.aytoroquetas.org/public/documentos/juntas_gobierno/158_estandare
sbds.pdf
ECMA-334, (2006). C# Language Specification. Obtenida el 05 de noviembre
de 2014, de http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-
334.pdf
HL7, (n.d.). Acerca de HL7. Obtenida el 15 de febrero de 2015, de
http://www.hl7.org/about/index.cfm?ref=nav
Joey D’Antoni, (2012). Top 12 Features of SQL Server 2012. Obtenida el 01 de
Noviembre de 2014, de http://mcpmag.com/articles/2012/03/14/top-12-features-
of-sql-server-2012.aspx
66
Juan Pablo del Alcazar Ponce, (2015). Ranking de Páginas Web Ecuador.
Obtenida el 02 de febrero de 2015, de
http://blog.formaciongerencial.com/2015/01/26/ranking-paginas-web-ecuador/.
Luis Felipe Herrera, (2012). Metodología Orientada a Prototipos. Obtenida el 05
de enero de 2015, de https://prezi.com/t2kt8xbor9n7/metodologia-orientada-a-
prototipos/
Manpower, (n.d.). El Impacto de las Redes Sociales de Internet en el Mundo del
Trabajo: México. Obtenida el 22 de octubre de 2014, de
http://www.manpowergroup.com.mx/uploads/estudios/El_Impacto_de_Redes_So
ciales_en_el_Mundo_del_Trabajo_Mexico.pdf
Michael Crump, (2014). 5 Killer Productivity Features in Visual Studio 2013.
Obtenida el 03 de noviembre de 2014, de http://developer.telerik.com/featured/5-
features-dont-want-miss-visual-studio-2013/
Michael Otey, (2013). SQL Server 2012’s Hardware and Software Requeriments.
Obtenida el 03 de noviembre de 2014, de http://sqlmag.com/sql-server-2012/sql-
server-2012s-hardware-and-software-requirements
Microsoft, (n.d.). Convenciones de código de C# (Guía de programación de C#).
Obtenida el 05 de noviembre de 2014, de https://msdn.microsoft.com/es-
es/library/ff926074.aspx
PROMEINFO, (n.d.). PROMEINFO. Obtenida el 01 de marzo de 2015, de
http://www.promeinfo.hol.es
Wikipedia, (n.d.). Bienvenidos a Wikipedia. Obtenida el 31 de Octubre de 2014,
de http://es.wikipedia.org/wiki/Wikipedia:Portada
67
ANEXOS
68
Implementación de Twilio en nuestra aplicación.
Para utilizarlos en nuestra aplicación tenemos que descargar los compilados de
internet, los cuales son gratuitos. Damos clic derecho en la carpeta de
References, en nuestro IDE de programación. Seleccionamos la opción
Administrar paquetes NuGet.
Figura No. 1: Pantalla del Programa Twilio
Elaborado por: Daniel Franco
Fuente: https://www.twilio.com
En la pantalla de administración ingresamos la palabra clave twilio.
Seleccionamos la primera opción que aparece (Twilio – Twilio REST API
helper library) y damos clic en Instalar.
Figura No. 2: Pantalla de Administrador de Paquetes NuGet
69
Elaborado por: Daniel Franco
Fuente: https://www.twilio.com
Las APIs están listas para ser usadas dentro de la aplicación. A continuación se
detalla un ejemplo de invocación en lenguaje de programación C#:
Figura No. 3: Ejemplo de lenguaje de programación C#
Elaborado por: Daniel Franco
Fuente: https://www.twilio.com
El método TwilioRestClient recibe como parámetros tokens de seguridad que se
reciben al registrarse en la página web de twilio y crear una cuenta.
70
El valor de enviar un sms a través de los servicios de twilio en territorio
ecuatoriano es $0.039.
Alojamiento de prueba en línea.
Para el proyecto se ha utilizado los servicios de alojamiento de SOMEE
(somee.com), la cual ofrece servicios de hospedaje gratuito para aplicaciones
.NET con servidor de Base de datos SQL Server.
El plan de hospedaje gratuito está limitado a una serie de restricciones, a saber:
150 MB de almacenamiento.
ASP .NET 1.1/ 2.0/ 3.5/ 4.0/ 4.5.
15 MB MSSQL 2008R2/ 2012/ 2014.
Acceso FTP.
Existen otros tipos de planes que ofrece la web en mención, por mencionar
alguno, tenemos el de $7.95 mensual. A continuación sus características:
1 GB de almacenamiento.
ASP .NET / PHP.
Pool de aplicaciones dedicado.
100 MB MSSQL 2005/ 2008/ 2012/ 2014.
99.9 % de garantía de tiempo de actividad.
Para acceder a sus servicios se requiere la creación de una cuenta con datos
básicos de usuario como un nombre, una contraseña y el correo electrónico.
Una vez creada la cuenta, se puede acceder a la web y administrar nuestro
servidor con las limitaciones antes mencionadas, mediante la opción del menú
“Control Panel”.
Figura No. 4: Pantalla principal SOMEE
71
Elaborado por: Daniel Franco
Fuente: https://www.somee.com
Una vez dentro del panel de control, tenemos una serie de opciones que
permiten administrar ciertos aspectos básicos de mi servidor de aplicaciones.
Figura No. 5: Panel de control SOMEE
Elaborado por: Daniel Franco
Fuente: https://www.somee.com
WebSites.- Aquí se puede visualizar los sitios que hemos creado, en este caso
hsoul.somee.com. Además se puede visualizar la dirección ftp del servidor para
la subida de archivos de manera más cómoda.
MSSQL.- Esta opción permite visualizar las bases de datos creadas en el
servidor, en este caso hsoul2015. Seleccionando la base de datos se pueden
visualizar los datos de conexión. También existe una interfaz que permite
72
ejecutar scripts directamente a la base, seleccionando la opción “New SQL
Query”.
73
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS
CARRERA DE INGENIERÍA EN SISTEMASCOMPUTACIONALES
“DESARROLLO DEL PROTOTIPO DE LA RED SOCIAL
HSOUL”
MANUAL DE USUARIO
Previa a la obtención del Título de:
INGENIERO EN SISTEMAS COMPUTACIONALES
AUTOR: DANIEL DAGOMER FRANCO LÓPEZ
TUTOR: ING. ANGEL OCHOA
GUAYAQUIL – ECUADOR
2015
RED SOCIAL DE LA SALUD
HSOUL
MANUAL DE USUARIO
v. 1.0.0
01/04/2015
Desarrollado por:
Daniel Franco López.
2 | 0 4 / 0 5 / 2 0 1 5
Manual de usuario de la página web de la Red Social HSoul.
El siguiente manual busca explicar en detalle las funcionalidades que ofrece elaplicativo web de la red social HSoul.
Página Principal.- La página por defecto de la red social.
Se puede apreciar la barra de menú donde tenemos 4 opciones:
Acerca de, nos muestra una pantalla que contiene información acerca de lapágina.
Contacto, nos muestra información acerca de los desarrolladores del proyecto.
3 | 0 4 / 0 5 / 2 0 1 5
Registrarse, nos muestra el formulario para el registro de un usuario.
Se deben ingresar todos los datos solicitados, cuando un dato sea obligatorio, laaplicación lo indicará con un mensaje cerca del campo.
4 | 0 4 / 0 5 / 2 0 1 5
Una vez completada la información, se debe dar clic en el botón Registrarsepara continuar con el proceso.
Aparece la pantalla de información que indica el envío de un mail deconfirmación al correo electrónico registrado.
5 | 0 4 / 0 5 / 2 0 1 5
Revisar la bandeja de entrada del correo electrónico registrado (En caso de norecibir el correo electrónico, verificar la bandeja de Correo no deseado). Abrir el mail,donde se encontrará un link de confirmación, abrir directamente o copiar y pegar en labarra de direcciones del navegador.
Se despliega la pantalla de confirmación de activación de la cuenta.
Iniciar sesión, muestra el formulario para acceder a la página web como unusuario registrado. Ingresamos el usuario y la contraseña, y damos clic en elbotón Iniciar sesión.
6 | 0 4 / 0 5 / 2 0 1 5
Se presenta la pantalla de inicio del usuario. En la pantalla principal se aprecianlas publicaciones realizadas por nuestros contactos. Además aparecen tres nuevosítems en la barra de menú.
7 | 0 4 / 0 5 / 2 0 1 5
Hola [Nombre de usuario]!, muestra los datos del usuario, y permitemodificarlos. Modificar los datos de usuario que no están bloqueados y damosclic en Actualizar.
8 | 0 4 / 0 5 / 2 0 1 5
Además está la opción de cambiar las Credenciales de acceso dando clic en el link que aparece al final de la pantalla bajo el botón Actualizar.
Aparece la pantalla de actualizar las credenciales.
Para actualizar cualquier dato en esta pantalla se debe ingresar la contraseñaanterior, ingresar los nuevos datos y dar clic en el botón Actualizar.
9 | 0 4 / 0 5 / 2 0 1 5
Mi muro, Permite visualizar la publicaciones hechas por el usuario y eliminarlasde ser el caso, dando clic en el botón Eliminar.
Cerrar sesión, Permite cerrar la sesión actual y muestra la pantalla principal.
Además cuando se ingresa como usuario registrado, aparece una barra demenú extra, bajo la barra de menú principal.
10 | 0 4 / 0 5 / 2 0 1 5
Publicar, Permite al usuario realizar una publicación, llenando los datosrequeridos en el formulario, una vez finalizado el proceso, dar clic en el botónPublicar.
11 | 0 4 / 0 5 / 2 0 1 5
Agregar contacto, lista los usuarios que aún no constan como contactospersonales. Se puede agregar uno, presionando el botón Agregar que seencuentra sobre el lado derecho de dicho usuario. También puedo utilizar losfiltros para realizar una búsqueda más específica.
12 | 0 4 / 0 5 / 2 0 1 5
Consultar profesional, muestra un listado de los especialistas que constancomo contacto personal. Se puede realizar una consulta, presionando el botónConsultar que se encuentra sobre el lado derecho del especialista.
Al presionar el botón consultar se despliega el formulario de consultas. Una vezllenada la información requerida se presiona el botón Consultar, en la parte inferior de la pantalla.
13 | 0 4 / 0 5 / 2 0 1 5
Una vez presionado el botón, se envía un SMS al celular registrado delespecialista, con el código secreto asignado a la consulta.
Consultas, muestra el listado de las consultas realizadas.
14 | 0 4 / 0 5 / 2 0 1 5
Al dar clic en el botón Revisar se pueden leer los detalles de la consulta. Unavez el especialista la haya respondido, se puede visualizar la respuesta dada a la misma.
En la pestaña Consultas de un usuario especialista, aparecen las consultas quele han realizado como profesional.
Al dar clic en el botón Revisar que aparece sobre el lado derecho de cadaconsulta, se muestra el cuadro de texto que solicita el código de verificación que serecibió vía SMS al celular registrado.
Dar clic en el botón Activar, si el código es correcto, aparecerán los datos de laconsulta para poder contestarla, de lo contrario se presentará el mensaje de errorcorrespondiente.
Dar clic en el botón Responder.
15 | 0 4 / 0 5 / 2 0 1 5
Cuando el usuario revise sus consultas, podrá visualizar la respuesta dada por elespecialista. Con esto finaliza el ciclo de consulta médico – paciente.
16 | 0 4 / 0 5 / 2 0 1 5
RED SOCIAL DE LA SALUD
HSOUL
MANUAL TÉCNICO
v. 1.0.0
04/05/2015
Desarrollado por:
Daniel Franco López.
Modelo de clases
17 | 0 4 / 0 5 / 2 0 1 5
Modelo de datos
18 | 0 4 / 0 5 / 2 0 1 5
RED SOCIAL DE LA SALUD
HSOUL
DICCIONARIO DE DATOS
v. 1.0.0
04/05/2015
Desarrollado por:
Daniel Franco López.
Diccionario de datos de la aplicación.
En el siguiente documento se detallan las tablas del diseño de datos de la aplicaciónHSoul, así como el detalle de cada uno de sus campos.
19 | 0 4 / 0 5 / 2 0 1 5
hs_answer
En esta tabla se almacenan las preguntas de seguridad con sus respectivasrespuestas que el usuario parametriza al momento de su registro.
Campo Tipo de dato Descripción Referenciaid Bigint Autoincremetal que identifica
un registro.hs_user_id Bigint Numérico que representa el
usuario al que pertenece la respuesta.
hs_user
hs_catalogs_id Int Identifica la pregunta que se responde
hs_catalog
answer Varchar(250) Respuesta que el usuario da a la pregunta escogida.
created Datetime Fecha en la que se crea el registro. Auditoría.
createdby Bigint Usuario que crea el registro. Auditoría.
updated Datetime Fecha en la que se actualiza el registro. Auditoría.
updatedby Bigint Usuario que actualiza el registro. Auditoría.
hs_catalog
En esta tabla se almacenan todos los catálogos utilizados por la aplicación web hsoul.
Campo Tipo de dato Descripción Referenciaid Int Autoincremetal que identifica
un registro.description Nvarchar(250
)Descripción del catálogo al que pertenece el registro.
code Nvarchar(5) Código del registro.value Nvarchar(250
)Descripción del registro.
parent Int Código del catálogo padre. Para el caso de catálogos recursivos
isactive Bit 1 = activo.0 = desactivado.
created Datetime Fecha en la que se crea el registro. Auditoría.
createdby Bigint Usuario que crea el registro. Auditoría.
updated Datetime Fecha en la que se actualiza el registro. Auditoría.
updatedby Bigint Usuario que actualiza el registro. Auditoría.
hs_code_verification
20 | 0 4 / 0 5 / 2 0 1 5
En esta tabla se almacenan los códigos de seguridad que se generan durante ciertasetapas que requieren de altas medidas de seguridad en la funcionalidad general de laaplicación hsoul.
Campo Tipo de dato Descripción Referenciaid Bigint Autoincremetal que identifica
un registro.hs_user_id Bigint Usuario al que se genera el
código de verificación.hs_user
code Nvarchar(max)
Código de verificación generado.
isactive Bit 1 = activo.0 = desactivado.
created Datetime Fecha en la que se crea el registro. Auditoría.
createdby Bigint Usuario que crea el registro. Auditoría.
updated Datetime Fecha en la que se actualiza el registro. Auditoría.
updatedby Bigint Usuario que actualiza el registro. Auditoría.
hs_login
Esta tabla almacena los datos de acceso a la aplicación web.
Campo Tipo de dato Descripción Referenciahs_user_id Bigint Id del usuario al que
pertenecen las credenciales de acceso
hs_user
user_name Nvarchar(50) Usuariopassword Nvarchar(500
)Contraseña
last_login Datetime Fecha del último acceso a la aplicación web.
times_error Int Número de veces que se ha ingresado mal las credenciales de acceso. Se reinicia cuando se ingresa correctamente las credenciales.
block_time Datetime Fecha en que se produce el bloqueo. Se reinicia una vez se cumplan los 5 min. De suspensión.
21 | 0 4 / 0 5 / 2 0 1 5
hs_role
Esta tabla almacena los roles de usuarios especificados dentro de la aplicación webhsoul.
Campo Tipo de dato Descripción Referenciaid Int Autoincremetal que identifica
un registro.description Nvarchar(100
)Descripción del rol.
isactive Bit 1 = activo.0 = desactivado.
created Datetime Fecha en la que se crea el registro. Auditoría.
createdby Bigint Usuario que crea el registro. Auditoría.
updated Datetime Fecha en la que se actualiza el registro. Auditoría.
updatedby Bigint Usuario que actualiza el registro. Auditoría.
22 | 0 4 / 0 5 / 2 0 1 5
hs_user
En esta tabla se encuentran los usuarios registrados en la aplicación web.
Campo Tipo de dato Descripción Referenciaid Bigint Autoincremetal que identifica
un registro.identification Nvarchar(25) Identificación del usuario
(cédula o RUC)name Nvarchar(250
)Nombre completo del usuario
last_name Nvarchar(250)
Apellido completo del usuario
birth_date Datetime Fecha de nacimiento del usuario
gender Int Sexo del usuario. hs_cataloghs_role_id Smallint Rol de sistema del usuario hs_rolenationality Int Nacionalidad del usuario hs_cataloglegal_status Int Estado civil del usuario hs_catalograting_average Smallint Promedio de calificación del
profesional. Solo aplica a profesionales o instituciones
mail Nvarchar(50) Email del usuariomobile Nvarchar(15) Teléfono del usuariophone Nvarchar(15) Teléfono del usuarioespeciality Int Especialidad del profesional.
Solo aplica a profesionales o instituciones.
hs_catalog
isactive Bit 1 = activo.0 = desactivado.
created Datetime Fecha en la que se crea el registro. Auditoría.
createdby Bigint Usuario que crea el registro. Auditoría.
updated Datetime Fecha en la que se actualiza el registro. Auditoría.
updatedby Bigint Usuario que actualiza el registro. Auditoría.
23 | 0 4 / 0 5 / 2 0 1 5
hs_consultation
En esta tabla se almacena la información acerca de las consultas que realiza unusuario a un profesional.
Campo Tipo de dato Descripción Referenciaid Bigint Autoincremetal que
identifica un registro.hs_user_id Bigint Usuario que solicita la
consulta.hs_user
hs_profesional_id
Bigint Usuario al que se realiza la consulta
hs_user
title Nvarchar(500) Tema acerca de la consultaquestion Nvarchar(max
)Pregunta formulada durante la consulta
answer Nvarchar(max)
Respuesta generada por el profesional
code Nvarchar(50) Código de verificación generado.
isactive Bit 1 = activo.0 = desactivado.
created Datetime Fecha en la que se crea el registro. Auditoría.
createdby Bigint Usuario que crea el registro.Auditoría.
updated Datetime Fecha en la que se actualizael registro. Auditoría.
updatedby Bigint Usuario que actualiza el registro. Auditoría.
hs_message
Tabla que almacena los mensajes generados durante una conversación de chat entrecontactos.
Campo Tipo de dato Descripción Referenciaid Bigint Autoincremetal que identifica
un registro.hs_user_id Bigint Usuario que envía el
mensaje.hs_user
hs_contact_id Bigint Usuario al que se envía el mensaje
hs_user
message Nvarchar(max)
Mensaje que se envía.
isactive Bit 1 = activo.0 = desactivado.
created Datetime Fecha en la que se crea el registro. Auditoría.
createdby Bigint Usuario que crea el registro. Auditoría.
24 | 0 4 / 0 5 / 2 0 1 5
updated Datetime Fecha en la que se actualiza el registro. Auditoría.
updatedby Bigint Usuario que actualiza el registro. Auditoría.
hs_contact
Tabla que almancena la relación entre un usuario y otro, lo que determina loscontactos en la aplicación.
Campo Tipo de dato Descripción Referenciahs_user_id Bigint Usuario que envía el
mensaje.hs_user
hs_contact_id Bigint Usuario al que se envía el mensaje.
hs_user
relationship Nvarchar(50) Almacena la relación entre los dos usuario.
isactive Bit 1 = activo.0 = desactivado.
created Datetime Fecha en la que se crea el registro. Auditoría.
createdby Bigint Usuario que crea el registro. Auditoría.
updated Datetime Fecha en la que se actualizael registro. Auditoría.
updatedby Bigint Usuario que actualiza el registro. Auditoría.
hs_rating
Tabla que almacena la valoración que hace un usuario sobre un profesional.
Campo Tipo de dato Descripción Referenciaid Bigint Autoincremetal que identifica
un registro.rating Smallint Número del 1 al 5 que
representa la calificaciónhs_user_id Bigint Usuario que realiza la
valoración.hs_user
hs_rated_id Bigint Usuario que recibe la valoración.
hs_user
description Nvarchar(max)
Breve explicación.
isactive Bit 1 = activo.0 = desactivado.
created Datetime Fecha en la que se crea el registro. Auditoría.
createdby Bigint Usuario que crea el registro. Auditoría.
updated Datetime Fecha en la que se actualiza el registro. Auditoría.
updatedby Bigint Usuario que actualiza el registro. Auditoría.
25 | 0 4 / 0 5 / 2 0 1 5
hs_publication
Tabla que almacena una publicación realizada por algún usuario.
Campo Tipo de dato Descripción Referenciaid Bigint Autoincremetal que identifica
un registro.description Nvarchar(max
)Descripción o publicación propiamente dicha.
photo Nvarchar(250) Ruta de una imagen adjunta, de ser el caso
hs_user_id Bigint Usuario que realiza la publicación
hs_user
isactive Bit 1 = activo.0 = desactivado.
created Datetime Fecha en la que se crea el registro. Auditoría.
createdby Bigint Usuario que crea el registro. Auditoría.
updated Datetime Fecha en la que se actualiza el registro. Auditoría.
updatedby Bigint Usuario que actualiza el registro. Auditoría.
hs_album
Tabla que almacena las fotos publicadas por el usuario.
Campo Tipo de dato Descripción Referenciaid Bigint Autoincremetal que identifica
un registro.hs_user_id Bigint Usuario al que pertenece el
album.hs_user
name Nvarchar(250) Nombre del álbum.description Nvarchar(max
)Breve descripción de la fotografía.
isactive Bit 1 = activo.0 = desactivado.
created Datetime Fecha en la que se crea el registro. Auditoría.
createdby Bigint Usuario que crea el registro. Auditoría.
updated Datetime Fecha en la que se actualiza el registro. Auditoría.
updatedby Bigint Usuario que actualiza el registro. Auditoría.
26 | 0 4 / 0 5 / 2 0 1 5
hs_comment
Tabla que almacena los comentarios hechos sobre las publicaciones.
Campo Tipo de dato Descripción Referenciaid Bigint Autoincremetal que
identifica un registro.description Nvarchar(max
)Comentario realizado.
hs_user_id Bigint Usuario que realiza el comentario.
hs_user
hs_publication_id
Bigint Id de la publicación. hs_publication
isactive Bit 1 = activo.0 = desactivado.
created Datetime Fecha en la que se crea el registro. Auditoría.
createdby Bigint Usuario que crea el registro.Auditoría.
updated Datetime Fecha en la que se actualizael registro. Auditoría.
updatedby Bigint Usuario que actualiza el registro. Auditoría.
hs_photo
Tabla que almacena la ruta de las fotos publicadas por los usuarios.
Campo Tipo de dato Descripción Referenciaid Bigint Autoincremetal que identifica
un registro.description Nvarchar(max
)Mensaje adjunto a la photo.
hs_album_id Bigint Id del álbum al que pertenece la foto.
hs_album
photo Nvarchar(250) Ruta del archivo físico.isactive Bit 1 = activo.
0 = desactivado.created Datetime Fecha en la que se crea el
registro. Auditoría.createdby Bigint Usuario que crea el registro.
Auditoría.updated Datetime Fecha en la que se actualiza
el registro. Auditoría.updatedby Bigint Usuario que actualiza el
registro. Auditoría.
27 | 0 4 / 0 5 / 2 0 1 5
hs_comment_photo
Tabla que almacena el comentario de las fotos publicadas.
Campo Tipo de dato Descripción Referenciaid Bigint Autoincremetal que identifica
un registro.description Nvarchar(max
)Comentario.
hs_user_id Bigint Usuario que realiza el comentario, sobre la foto.
hs_user
hs_photo_id Bigint Id de la foto sobre la que se realiza el comentario
hs_photo
isactive Bit 1 = activo.0 = desactivado.
created Datetime Fecha en la que se crea el registro. Auditoría.
createdby Bigint Usuario que crea el registro. Auditoría.
updated Datetime Fecha en la que se actualiza el registro. Auditoría.
updatedby Bigint Usuario que actualiza el registro. Auditoría.
28 | 0 4 / 0 5 / 2 0 1 5
RED SOCIAL DE LA SALUD
HSOUL
ESTÁNDARES DE PROGRAMACIÓN
v. 1.0.0
04/05/2015
29 | 0 4 / 0 5 / 2 0 1 5
Desarrollado por:
Daniel Franco López.
Estándares de programación de la Red Social HSoul.
Como complemento al presente documento, a continuación se relacionanalgunas observaciones a aquellos estándares aplicables al proyecto HSoul, en los quese hace necesarios efectuar aclaraciones sobre su uso, aplicabilidad , opcionalidad ymanejo del idioma en la implementación de funcionalidades que hace uso del IDE deprogramación y su lenguaje.
Es de anotar que los ejemplos de códigos adjuntos al presente documento, sonúnicamente referenciales, corresponden a la propuesta inicial, sobre la cual y deacuerdo a las necesidades podrá ser extendido o complementado en el tiempo.
a) Proyecto DTO (Data Transfer Object).- El nombre del proyecto DTO, losnombres de las clases DTO, sus métodos, objetos y variables estaránespecificados en inglés.
b) Proyecto DA (Data Access).- El nombre del proyecto DA, los nombre de lasclases DA, sus métodos, objetos y variables estarán especificados en inglés.
c) Proyecto BL (Business Logic).- El nombre del proyecto BL, los nombres de lasclases BL, sus métodos, objetos y variables estarán especificados en inglés.
d) Proyecto WEB HSoul.- Los nombres de las clases del proyecto WEB, suscontroles, métodos y atributos estarán especificados en inglés.
Estructura de carpetas de aplicaciones estándar.
Por estándar y con el fin de dar mayor aplicabilidad al patrón de tres capas, secrearan los siguientes proyectos a saber para el desarrollo de una funcionalidadestándar:
a) Proyecto DTO.b) Proyecto DA.c) Proyecto BL.d) Proyecto WEB HSoul.
30 | 0 4 / 0 5 / 2 0 1 5
Implementación de rastreo dentro del código.
El rastreo de excepciones se realizara de manera descendente, con la ayuda dela palabra reservada throw, en las capas superiores y la presentación de la misma soloen la capa inferior del proyecto web, para facilitar una futura implementación de un logde errores a nivel de base de datos.
Capas superiores
Proyecto WEB
Documentación de código.
Se documentarán de manera obligatoria todos los métodos y propiedadesdeclaradas como públicos bajo el siguiente esquema:
31 | 0 4 / 0 5 / 2 0 1 5
Nomenclatura.
Los nombres de las variables, y métodos utilizarán el estándar camelCase. Elmismo que consiste en escribir las palabras compuestas eliminando los espacios y laprimera letra de cada palabra en mayúscula. Para nuestro proyecto utilizaremos lavariante lowerCamelCase, cuya particularidad es que la primera letra del nombre va enminúscula.
Solo se usarán los caracteres alfabéticos, salvo cierta excepción en la que seanecesario el uso de dígitos numéricos. No se usarán signos de puntuación o símbolos.
No se utilizarán acentos en las vocales y se reemplazará la letra ñ por loscaracteres ni.
Para los controles propios de la plataforma se utilizará la abreviatura del controlen 2 o 3 letras seguido del nombre en inglés que se le vaya a dar al mismo. Ej.:
TextBox que tiene el nombre del usuario txtName
A continuación se detalla las abreviaturas que se le dan a los controles másconocidos del Visual Studio.
Control AbreviaturaButton btnCalendar calCheckBox chbDropDownList ddlFileUpload fuHiddenField hfImage imgLabel lblLinkButton lkbListBox ltb
32 | 0 4 / 0 5 / 2 0 1 5
RadioButton rdbTextBox txtListView lvGridView gv
Estándares de diseño de base de datos.
El objetivo de estandarizar lenguaje en la aplicación es asegurar la legibilidaddel modelo de datos, no solo para los programadores, sino también para usuarios noespecialistas. Mejorar temas relacionados con la portabilidad e integridad con otrosmódulos relacionados con nuestra aplicación. Agilizar las tareas de futurasimplementaciones o modificaciones dentro del código actual.
Los nombres de las tablas y campos o variables deberán ser descriptivos y estaren idioma inglés, se utilizarán solo letras minúsculas y si el nombre está conformadopor dos palabras, se reemplazará el espacio por un guion bajo (_).
a) Tablas, El nombre deberá estar precedido por los caracteres hs_. Cada tabladebe poseer campos obligatorios, a saber:
Identificador único id
Campos de auditoría isactive, created, createdby, updated, updatedby.
Los campos que son clave foránea, deberán llevar el mismo nombre delcampo al que hacen referencia, antecedido por el nombre de la tabla. Ej.:
En la tabla hs_login, el campo hs_user_id hace referencia al campo id de latabla hs_user.
b) Procedimientos, El nombre deberá estar precedido por los caracteres SP_.La primera letra de cada palabra estará en mayúsculas.
Todas las palabras reservadas estarán en minúsculas.
Cada procedimiento llevará en la parte superior la información para ladocumentación, tal como se muestra en la imagen:
33 | 0 4 / 0 5 / 2 0 1 5
Los parámetros se comentan obligatoriamente, para temas dedocumentación.
Las transacciones se controlan por el parámetro @option. Además esimportante cuidar la Indentación de los mismos.
34 | 0 4 / 0 5 / 2 0 1 5
Cuando se realiza más de una transacción en un bloque, se debe controlar laintegridad de la operación mediante los bloques try – catch y commit -rollback transaction.
35 | 0 4 / 0 5 / 2 0 1 5
36 | 0 4 / 0 5 / 2 0 1 5