TFG Jose-Maria Rodriguez Garcia 2018
TFG Jose-Maria Rodriguez Garcia 2018
TFG Jose-Maria Rodriguez Garcia 2018
2018
II
Guía para el desarrollo y documentació n de una aplicació n web .NET
RESUMEN
El presente trabajo de fin de grado trata de presentar de manera breve y concisa un ejemplo de
realización de una aplicación web y su correspondiente documentación. Dicho desarrollo y
documentación es siempre desde el punto de vista de un jefe de proyecto y de un programador.
Desde que empecé a trabajar, si he aprendido algo importante, es que una buena documentación
puede ahorrar mucho tiempo y esfuerzo en un futuro. Y no solo a la hora de volver a desarrollar
aplicaciones que utilicen funciones parecidas, sino a la hora de comunicación con el cliente,
dejar todo claro desde el principio, e incluso para nosotros mismo a la hora de desarrollar
permitiendo prever los posibles problemas que se tendrán o necesidades que pueden hacer parar
un desarrollo permitiendo así como he mencionado ya ahorrar tiempo y esfuerzo. Un análisis
funcional permite presentar al cliente como va a funcionar y cómo va a quedar exactamente la
aplicación siempre desde el punto de vista visual y de funcionamiento del aplicativo. El análisis
técnico tiene dos funciones, primero es para el cliente, puesto que nos tienen que aceptar los
métodos usados y los elementos empleados en los desarrollos, como por ejemplo entornos
aplicaciones etc., y segundo para nosotros como desarrolladores permitiéndonos así tener todo
previsto y adelantarnos a los acontecimientos, por ejemplo para ir preparando los recursos. La
realización de estos documentos permite también evitar giros en el desarrollo y en las
funcionalidades, aunque a veces es inevitable ya sea por cambios del cliente o problemas
insalvables. También hace hincapié en la toma de requisitos de cliente puesto que cuando más
se adecue la oferta a lo que la empresa necesita se tienen más probabilidades de ganar la oferta y
con ella el desarrollo. Además se ha incluido brevemente una sección de un plan de pruebas, ya
que un plan de pruebas real conllevaría muchísimos casos y haría esta memoria demasiado
larga. Aunque está más orientado hacia la parte del desarrollador y de la parte del jefe de
proyecto, también se ha incluido un módulo en el que hace hincapié en el personal necesario y
costes tanto de personal, tiempo y económico.
III
Guía para el desarrollo y documentació n de una aplicació n web .NET
IV
Guía para el desarrollo y documentació n de una aplicació n web .NET
DEDICATORIA
Me gustaría dedicar la finalización del TFG a mis padres y hermanos, puesto que han supuesto
un apoyo fundamental, no solo en el estudio de la carrera sino todos los días de mi vida sin el
cual no habría conseguido todo lo que soy hoy. Les agradezco todo lo que hacen por mí y
espero que el sacrificio que ellos realizaron merezca la pena en el futuro.
V
Guía para el desarrollo y documentació n de una aplicació n web .NET
VI
Guía para el desarrollo y documentació n de una aplicació n web .NET
Índice de imágenes
VI
Guía para el desarrollo y documentació n de una aplicació n web .NET
VI
Guía para el desarrollo y documentació n de una aplicació n web .NET
IX
Guía para el desarrollo y documentació n de una aplicació n web .NET
Índice de tablas
X
Guía para el desarrollo y documentació n de una aplicació n web .NET
XI
Guía para el desarrollo y documentació n de una aplicació n web .NET
Acrónimo Significado
C# Tipo de lenguaje
XI
Guía para el desarrollo y documentació n de una aplicació n web .NET
Data Datos
XI
Guía para el desarrollo y documentació n de una aplicació n web .NET
Link Enlace
(WCAG) 2.0 ( Web Content Accessibility Las Pautas de Accesibilidad para el Contenido
Guidelines 2.0) Web
XI
Guía para el desarrollo y documentació n de una aplicació n web .NET
X
Guía para el desarrollo y documentació n de una aplicació n web .NET
Tabla de contenido
Índice de imágenes.......................................................................................................................VII
Índice de tablas...............................................................................................................................X
Tabla de acrónimos y anglicismos...............................................................................................XII
1. Introducción............................................................................................................................1
1.1. Motivación.....................................................................................................................1
1.2 Objetivos........................................................................................................................2
1.2.1 Objetivos específicos..................................................................................................3
1.3 Organización del documento del TFG...........................................................................3
1.4 Organización del desarrollo de la aplicación.................................................................4
1.5 Control del documento del TFG.....................................................................................5
2. Toma de requisitos del cliente................................................................................................6
2.1 Cláusula de responsabilidad / confidencialidad.............................................................6
2.2 Gestión de la calidad......................................................................................................7
2.2.1 Comunicación y seguimiento del proyecto................................................................7
2.3 Visión actual del proyecto..............................................................................................8
2.3.1 Descripción de la necesidad a cubrir......................................................................8
2.3.2 Descripción de contenidos por página....................................................................9
2.3.3 Requisitos Globales..............................................................................................14
2.3.4 Requisitos de rendimiento....................................................................................14
2.3.5 Requisitos de usabilidad.......................................................................................15
2.3.6 Requisitos de accesibilidad..................................................................................15
2.3.7 Requisitos de posicionamiento.............................................................................16
2.4 Criterios que sigue el cliente para escoger a la empresa que desarrollará su aplicación.
16
3. Valoración inicial del proyecto por parte de JMSOLUTIONSL.........................................18
4. Equipo de trabajo y construcción para la realización del proyecto......................................20
5. Plan de ejecución de desarrollo de la aplicación por parte de JMSOLUTIONSL...............23
6. Descripción de la solución técnica propuesta.......................................................................24
6.1 Arquitectura..................................................................................................................24
6.1.1. Modelo..................................................................................................................25
6.1.2. Vista......................................................................................................................27
6.1.3. Controlador...........................................................................................................27
X
Guía para el desarrollo y documentació n de una aplicació n web .NET
6.1.4. Capas....................................................................................................................28
6.2 Accesibilidad................................................................................................................32
6.3 Componentes del portal................................................................................................33
6.3.1 Header..................................................................................................................33
6.3.2 Footer...................................................................................................................37
6.3.3 Página maestra......................................................................................................39
6.3.4 Home....................................................................................................................40
6.3.5 Lista de partidos...................................................................................................44
6.3.6 Crear Partido.........................................................................................................46
6.3.7 Página de partido..................................................................................................48
6.3.8 Login....................................................................................................................50
6.3.9 Registro................................................................................................................53
6.3.10 Perfil de usuario....................................................................................................54
6.4 Seguridad......................................................................................................................55
6.4.1 Revisión de seguridad..........................................................................................59
6.5 SEO (Search Engine Optimization)..............................................................................61
6.5.1 Requisitos.............................................................................................................61
6.5.2 Colaboración con los robots.................................................................................63
7. Descripción funcional...........................................................................................................66
7.1 Acceso al portal............................................................................................................66
7.2 Login.............................................................................................................................66
7.3 Logout...........................................................................................................................67
7.4 Recuperar contraseña...................................................................................................68
7.5 Cambiar de idioma el portal.........................................................................................69
7.6 Ver las políticas de privacidad y términos y condiciones............................................70
7.7 Buscar partidos para unirse..........................................................................................70
7.8 Crear partido.................................................................................................................72
7.9 Ver perfil......................................................................................................................74
8. Plan de pruebas.....................................................................................................................76
8.1 Mapa de pruebas...........................................................................................................76
8.2 Pruebas específicas.......................................................................................................77
9. Documentación final a entregar...........................................................................................79
10. Conclusión y trabajos futuros...........................................................................................80
11. Impacto socioeconómico..................................................................................................82
12. Coste del TFG..................................................................................................................83
X
Guía para el desarrollo y documentació n de una aplicació n web .NET
1) Costes personales............................................................................................................83
2) Costes materiales.............................................................................................................85
13. Referencias bibliográficas................................................................................................86
Anexos..........................................................................................................................................88
ANEXO A: Verificaciones recomendadas por el ASVS (Application Security Verification
Standard)..................................................................................................................................88
ANEXO B: Pautas de Accesibilidad AA.................................................................................89
ANEXO C: SiteMap de la aplicación......................................................................................89
ANEXO D Pruebas específicas................................................................................................91
CO001..................................................................................................................................91
CO002..................................................................................................................................93
CO003..................................................................................................................................94
CO004 – [Accesibilidad] Validación...................................................................................96
CO005 – [Arquitectura] Url amigables................................................................................98
CO006 – [Arquitectura] Sitemap, Robots.........................................................................100
CO007 – [Arquitectura] SEO............................................................................................102
CO008 – [Rendimiento] Análisis del rendimiento del Portal............................................103
ANEXO E: Ejemplo de cláusula de confidencialidad...........................................................104
ANEXO F: Ejemplo de validación por Modelo.....................................................................104
ANEXO G: Caracteres restringidos.......................................................................................104
ANEXO H: Protección de datos de carácter personal LEY RGPD.......................................105
X
1. Introducción
1.1. Motivación
1
Guía para el desarrollo y documentació n de una aplicació n web
de plantillas. En cuanto se quiere un desarrollo a medida para que se el producto sea original y
único el precio también se dispara pero debido a la gran competencia se puede tener una web o
una aplicación a un costo medio.
Ante la importancia y el aumento de la clave web como pilar fundamental de negocio hoy en
día, el desarrollo de aplicaciones para futura gestión o venta o desarrollo de aplicaciones para
terceros es un sector en los que más trabajo actualmente hay. Sin dejar de lado que es un trabajo
que me apasiona puesto que me permite estar al tanto de las nuevas tecnologías, estar en
constante evolución y que es un trabajo nada monótono. Permite poder ver otras formas de
pensar o de ver otras formas de enfocar un problema. Es un trabajo en el que tienes que trabajar
codo con codo con los compañeros de equipo y en el que la solidaridad es importantísima de
cara a futuras evoluciones de la aplicación. Una buena praxis programando, una buena
arquitectura, y una buena documentación son importantísimos pilares para el desarrollo de una
aplicación web. Una documentación detallada y cuidada le permitirá al usuario una buena guía
para el correcto funcionamiento en el caso de que los pasos a seguir no sean evidentes. También
ayudará a una futura evolución de la aplicación ya que nos permitirá encontrar fácilmente el
lugar en el código donde hacer la modificación. Un buen código y una estructura clara,
uniforme y ordenada es quizá lo más importante a la hora de desarrollar puesto que permitirá
que la escalabilidad sea rápida, precisa y fácil. Esto es de los puntos más importantes puesto que
para evoluciones de código no siempre se tiene el tiempo deseado y una buena estructura
permitirá una modificación mucho más fácil.
1.2 Objetivos
El objetivo de este trabajo de fin de grado es mostrar los pasos que serían necesarios para la
documentación de una aplicación web basada en .Net, el lenguaje C# y HTML5 a la par que se
va desarrollando dicha aplicación. La idea es mostrar a pequeña escala todas las fases de un
proyecto de desarrollo desde el punto de vista desde el jefe de proyecto de IT y de un
desarrollador que se deben dar a la hora de documentar la aplicación y a la hora de mandar
dicha información al cliente, que solicitará la información funcional, la información técnica,
hasta actas de reunión, documentos de pruebas etc.
Se va a utilizar a modo de ejemplo el diseño y documentación de una aplicación basada en web
para poder practicar deporte en equipo. En muchas ocasiones encontrar todas las personas
necesarias para poder organizar una actividad deportiva es difícil debido a la gran
incompatibilidad de horarios que se suele tener hoy en día. La idea es que se acuda a este portal
para ver si hay algún tipo de actividad deportiva de mi interés, en mi zona y en mi horario en el
que no tengo por qué conocer a nadie para poder participar.
La página home del portal muestra tres combos seleccionables en los que tú seleccionas el
deporte, la zona en la que quieres practicarlo y el horario. Si existen partidos disponibles te
mostrará una tabla con dichos eventos y el número de participantes ya adscritos a cada uno .Si
estás interesado en uno puedes acceder a dicho evento, ver las características y si te interesa
apuntarte. Acto seguido en cuanto te apuntes (si estas logado) recibirás un correo confirmándote
2
Guía para el desarrollo y documentació n de una aplicació n web
y se te dará acceso a una sala-chat dentro de la misma web para poder hablar con los integrantes
del partido.
Si no existiera un partido en los combos seleccionables se te dará la opción de crear el partido
introduciendo una serie de campos obligatorios y acto seguido se publicará. Según se vaya
incluyendo integrantes a los partidos, los integrantes irán recibiendo un correo en el que se
informa que dicho integrante se ha incorporado.
Para el login se podrá hacer mediante Facebook, Google+ o con una cuenta mediante usuario y
contraseña. Para el registro se llevara a cabo igual mediante Facebook o rellenando unos
simples datos acerca del perfil de usuario.
Se plantea durante todo el TFG la necesidad de la documentación durante todos los desarrollos
y reuniones mostrando así ejemplos de lo que se tendría que presentar al cliente.
Dicha documentación constaría:
Toma de requisitos de cliente
Valoración inicial y formación del equipo de trabajo
Análisis funcional
Análisis técnico
Plan de pruebas
Plan de ejecución
Capítulo 1: describe la motivación, los objetivos para la realización del TFG, y la vida
de la construcción de la app.
Capítulo 2: muestra la toma de requisitos de cliente.
Capítulo 3: muestra la valoración inicial realizada por la empresa que opta a la oferta,
valorando tiempo y costes.
Capítulo 4: se describe el equipo que se va a utilizar para los desarrollos
Capítulo 5: se muestra el ciclo de vida del proyecto especificando con detalle cuanto
tiempo se detalla para cada apartado
Capítulos 6 y 7: se aborda la descripción tanto técnica como funcional
Capítulo 8: muestra cómo serían las reuniones con el cliente.
Capítulo 9: se detalla el final de la documentación.
Capítulo 10: se muestran las conclusiones del TFG y los trabajos futuros.
3
Guía para el desarrollo y documentació n de una aplicació n web
El ciclo de vida del desarrollo como IT se ha divido en 6 fases. Una primera enfocada a la
petición del cliente. La segunda como la propuesta inicial y valoración por parte de la empresa
que realiza el proyecto. La tercera y la cuarta para los análisis técnico y funcional del proyecto
realizado. La quinta para análisis de costes, personal y de recursos que se necesita y una última
y sexta para las pruebas de la aplicación.
A cada paso de esta organización se debería incluir una validación previa del responsable de la
empresa contratista. Dicha validación es importante ya que todo lo que quede validado sentará
precedente, y si el proyecto es cerrado no podrán modificarnos mucho los desarrollos
favoreciendo así que no haya cambios de planteamientos ni de tiempos. También nos ayudará a
tener todo claro de cómo quedará el programa sin tener que estar perdiendo tiempo en
comunicaciones con el cliente. Además el cliente se hará una idea muy cercana a cómo será el
resultado final lo que le permitirá reflexionar a tiempo sobre diferentes aspectos del portal.
El comercial sería la persona que nos haría llegar la oferta y junto con su primera valoración,
pediría al jefe de proyecto que presentara su valoración inicial y elaborara una propuesta para
presentar en la oferta del cliente. El cliente cuenta con unos medios (sino los contrata) para
determinar que oferta es la mejor y trata de intentar cumplir todas las exigencias. Una vez que
4
Guía para el desarrollo y documentació n de una aplicació n web
se ha ganado la oferta antes de empezar con el desarrollo ha y que elaborar una documentación
técnica y funcional y elaborar un plan de trabajo.
Una vez que se tiene todo eso se procede a la implementación de la solución propuesta
adaptándose lo más fielmente posible a los análisis técnicos y funcionales. No siempre la
primera idea es la que acaba siendo ganadora por lo que para eso están las reuniones con el
cliente. Una vez acabado se realiza el plan de pruebas propuesto, el cual uno real, sería mucho
más extenso que el que propongo en el apartado de plan de prueba. Para terminar se entregaría
el manual de usuario con toda la funcionalidad descrita para un usuario final.
5
Guía para el desarrollo y documentació n de una aplicació n web
De aquí en adelante se han establecido dos empresas a modo de ejemplo, la que contrata los
servicios (Empresa_contrante_1) y la que realiza los desarrollos (JMSOLUTIONSL).
En primer lugar se daría la información tanto del contratista como del contratado figurando
entre esta información los nombres de las empresas, dichos números de identificación y
contratos mercantiles y declarando que son mayores de edad.
Después figuraran una serie de cláusulas pues son de obligado cumplimiento las cuales son
importantes entender bien.
Entre las cláusulas figura una primera en la que la empresa contratada se compromete y se
obliga a no divulgar información de la empresa a terceras partes o que no sacará un provecho
futuro. Una segunda y tercera por la cual se compromete a que firmará todo el equipo de la
empresa desarrolladora y se informará a los empleados de que están manejando información
sensible y confidencial. Una cuarta por la cual se comprometen a utilizar la información dada
solo para realizar los desarrollos y sin ningún objetivo más. La quinta por la cual se compromete
a proteger estos datos de la debida manera para que no haya fugas o extravíos. En la sexta se
compromete a que cumplirá según la nueva ley de protección de datos con todos los apartados
que esta informa.
El incumplimiento del contrato puede conllevar problemas para el empleado que lo viole desde
del fulminante despedido ya que el incumplimiento de confidencialidad seguramente también
conlleve incumplir el contrato firmado. Además puede ser demandado por violación e
confidencialidad llegando a tener que pagar. En extremadas situación puede conllevar hasta
cargos penales.
6
Guía para el desarrollo y documentació n de una aplicació n web
Esto es importante recordarlo ya que con la última modificación de la ley de protección de datos
(RGPD) se han endurecido las condiciones y los datos de carácter personal deben ser guardados.
La nueva ley entro el 25 de mayo de 2018 y supone la modificación de la antigua ley 15/1999
por la que endurece la gestión, almacenamiento de datos y la cesión de datos a terceros. En
dichas nuevas leyes se incluyen que todo usuario tiene que dar un consentimiento explícito para
que la empresa maneje sus datos y que dicha información puede ser solicitada, modificada y
borrada por el usuario haciendo a este último participe en cuanto el almacenamiento de sus
datos se refiere. Además se obliga a que los términos y condiciones estén expresados en un
lenguaje más coloquial en lugar de términos indescifrables para un usuario medio. Las multas a
las empresas por no cumplir la normativa pueden alcanzar desde 20 millones de euros o el 4%
de la facturación total de la empresa.
Los documentos descritos en las diferentes fases del proyecto como son el análisis
funcional y el análisis técnico, tendrán que estar previamente validados.
Informes de situación periódicos que incluyen:
o Planificación del proyecto actualizada desde el último informe de situación que
se envió hasta el momento, para detectar desvíos sobre la planificación inicial.
o Documento describiendo las incidencias que se han dado desde el último
informe de situación y como han repercutido en la planificación del proyecto.
o Documento describiendo los posibles riesgos, responsables e impacto que
puedan tener en la planificación del proyecto.
o Comentarios del consultor respecto a la situación actual.
Actas de reunión
7
Guía para el desarrollo y documentació n de una aplicació n web
En el siguiente apartado se trata, lo que el cliente está demandando y necesita que cumpla su
aplicación ya sea por legislación, posicionamiento, marketing… Lo que se trata de documentar
aquí es que se conoce lo que están pidiendo y se entiende que tiene un marco regulatorio y de
posicionamiento el cual se debe conocer.
Con el fin de evaluar uno de los criterios que tiene la empresa para escoger a la empresa que
realizará los desarrollos cada empresa tiene que expresar que ha quedado claro lo que el cliente
necesita y por esta razón se les explica lo que nosotros hemos entendido que ellos quieren.
Se pretende el diseño de una aplicación web en la que los usuarios puedan ver, organizar y
apuntarse a partidos de una multitud de deportes. Esto se escogerá con tres combos que hay en
la parte inicial y mostraran los deportes disponibles, las zonas y los horarios disponibles para la
búsqueda. Para realizar dicha búsqueda se deberá estar logado por lo que si no se está y se
quiere buscar deberá saltar un pop up indicando que se logue. En dicho pop up deberá contener
un enlace para el caso en el que el usuario se olvide de la contraseña y un botón para poder
permanecer logado sin necesidad de tener que logarse siempre cada que vez que se entre en la
aplicación. Habrá una parte anónima y otra parte en la que el usuario tendrá que logarse. Cada
usuario poseerá un área personal en el que tendrá un histórico y los datos de su perfil. Cada
usuario podrá crear los partidos configurándolos acorde a las búsquedas de la home. Deberá
contener una mínima estructura que sea igual en todas las partes del portal. Deberá contener una
cabecera o header y un pie de página o footer en los cuales figure en el caso del header el logo
de la aplicación una opción para poder cambiar de idioma, un link para registrarse y un link para
poder acceder con tu usuario y contraseña. En el footer tendrá que contener el copyright con la
marca y los enlaces tanto a la home como a los términos y condiciones y privacidad del sitio. En
la página de los partidos se deberá mostrar en una tabla. Los colores del portal deberán ser de
los mismos del corporativo.
La aplicación debe estar construida con una tecnología moderna y escalable y a la par ser
responsive para la visualización desde todo tipo de dispositivos y para distintos tamaños de
pantalla. Debe ser segura puesto que poseerá una plataforma de pago y adaptarse a los
estándares de desarrollo mundiales.
8
Guía para el desarrollo y documentació n de una aplicació n web
Tabla en la que la empresa solicitante declara los elementos que tiene que tener cada página, en
este caso la página de resultado de búsqueda. Los elementos se nombran en el orden que deben
aparecer.
9
Guía para el desarrollo y documentació n de una aplicació n web
Tabla en la que la empresa solicitante declara los elementos que tiene que tener cada página, en
este caso la página de resultado de búsqueda. Los elementos se nombran en el orden que deben
aparecer.
1
Guía para el desarrollo y documentació n de una aplicació n web
1
Guía para el desarrollo y documentació n de una aplicació n web
Tabla en la que la empresa solicitante declara los elementos que tiene que tener cada página, en
este caso la página de crear partido. Los elementos se nombran en el orden que deben aparecer.
1
Guía para el desarrollo y documentació n de una aplicació n web
Tabla 4: Descripción de los contenidos que se deben mostrar en la página de crear partido a petición de
EMPRESA_CONTRATANTE_1
Tabla en la que la empresa solicitante declara los elementos que tiene que tener cada página, en
este caso la página de registrarse. Los elementos se nombran en el orden que deben aparecer.
1
Guía para el desarrollo y documentació n de una aplicació n web
fecha de nacimiento,
email, contraseña y
población.
En la parte de requisitos globales se muestran una serie de requisitos que deben ser estándar en
todas las partes del aplicativo siendo funciones comunes por ejemplo temas de posicionamiento
SEO, accesibilidad etc.
En la era digital en la que vivimos la gente consume contenidos web desde cualquier sitio y se
requiere que la carga de las páginas sea dinámica y rápida. Esto hará una experiencia de usuario
favorable a la aplicación. Además la velocidad de carga de la aplicación web puede ayudar al
posicionamiento SEO (Search Engine Optimization). A continuación se muestra, lo que la
empresa cliente pediría en cuanto a requisitos de rendimiento.
Deberá superar test de rendimiento en cuanto tiempo y velocidad de carga a una velocidad
estándar.
1
Guía para el desarrollo y documentació n de una aplicació n web
El dueño de la aplicación quiere que dicho aplicativo sea lo más fácil de usar posible
permitiendo así llegar a un número mayor de personas y para eso declara unos requisitos de
usabilidad de obligado cumplimiento como por ejemplo:
La aplicación debe ser los más intuitiva posible para facilitar el uso a los usuarios, con botones
y paneles grandes y pasos fácilmente identificables. El orden de las ejecuciones y de los pasos
deben seguir una lógica y debe ser la misma en todo el portal.
El cliente busca con este requisito pasar una serie de normas para tener certificaciones de
accesibilidad y así una vez más llegar a más personas.
En la medida de lo que sea posible, se tendrá que garantizar que existe un nivel mínimo de
accesibilidad en todas las páginas, para las personas que tienen necesidades especiales. Por lo
que se impone que debe contener el nivel de accesibilidad doble A.
Para cumplir dicho nivel hay que seguir una serie de criterios interpuestos WCAG 2.0 (pautas
de accesibilidad del contenido en la web 2.0) tales como.
Todo contenido que no sea texto debe contener una alternativa textual por ejemplo a las
imágenes tener una alternativa de texto
Que una persona con ceguera pueda tener una alternativa de audio
Introducir subtítulos en todos los videos.
El foco de situación del usuario tiene que estar visible y claramente diferenciado del
lugar en el que se encuentra.
Indicación en errores a la hora de rellenar de datos de formularios.
Uso de colores para distinguir más fácilmente los elementos visuales.
Toda funcionalidad debe ser accesible mediante el teclado por ejemplo con el uso del
tabulador, flechas…
El idioma predeterminado de cada página puede ser determinado por el software
Contraste entre elementos de la web como por ejemplo textos, logotipos y cuadros.
Múltiples vías para llegar a una misma página dentro de la aplicación
Navegación coherente y en el mismo orden dentro del portal
1
Guía para el desarrollo y documentació n de una aplicació n web
La programación de dicha aplicación debe contemplar que estará colgada en una web en la que
se buscará un mejor posicionamiento para la indexación en Google por lo que deberá cubrir
todos los requisitos que requiera Google para su correcta indexación.
2.4 Criterios que sigue el cliente para escoger a la empresa que desarrollará
su aplicación.
1
Guía para el desarrollo y documentació n de una aplicació n web
Se hará una valoración total de cada oferta y la que sume más puntos será la que resulte
ganadora.
El sacar la mayor puntuación en esta tabla significa ganar la oferta y tener el desarrollo por lo
que es fundamental que se presente unos buenos requisitos previos.
1
Guía para el desarrollo y documentació n de una aplicació n web
Este capítulo muestra como documentar la primera estimación que se realizará con el objetivo
de presentar la oferta. En esta, se estima tanto costes como necesidades de tiempo y personal
basándose en otras experiencias. Esto junto con la toma de requisitos debe de ser los primeros
documentos que se envíen al cliente.
Se realiza una primera valoración tomando como referencia pequeños desarrollos de prueba
para la medición de tiempo y esfuerzos. La siguiente descripción es una primera valoración
inicial para trasladar al cliente, dando una aproximación del coste, de las fases del proyecto y de
la duración del mismo. La especificación de todos los valores se realizará en el capítulo de plan
de ejecución. Esta primera valoración nos permite ver a nuestra empresa si realmente somos
competitivos y podemos optar a la oferta que presenta la empresa del cliente. Si hemos optado
por definir un coste aproximado de unos 30.000€ si la empresa cliente diera como objetivo estar
por debajo de esto, a nosotros como empresa a priori no nos compensaría pelear por este
proyecto. Habría que estudiar muchos factores más, como un posible acuerdo de mantenimiento
o posibles futuros desarrollos en los que nos permitiría ganar quizás lo que perdiéramos en el
desarrollo.
Duración aproximada de los trabajos: 17 semanas
Fases contempladas: Análisis, diseño, maquetación, desarrollo, despliegue y formación.
Recursos necesarios y coste:
o Jefe de proyecto: 10.000 €
o Equipo para su desarrollo : entre 20.000 €
Tabla 7: Planificación inicial por parte de la empresa JMSOLUTIONSL especificando las partes
1
Guía para el desarrollo y documentació n de una aplicació n web
Análisis y diseño técnico ·Análisis funcional detallado. Esta fase nos llevó unos dos 2
semanas.
·Diseño técnico del sistema.
1
Guía para el desarrollo y documentació n de una aplicació n web
Con el fin de la realización del proyecto y de cumplir con las exigencias que muestra el cliente o
bien satisfacer los acuerdos llegados con este mismo, hay que constituir el equipo de trabajo,
para mandárselo al cliente ya que es un punto de exigencia por el cual valoran positivamente la
división en roles y la distinción de estos mismos en distintas personas del equipo. Se trata de
mostrar que se posee un equipo variado y experimentado en el que se lleva a cabo la división
por tareas y que cada integrante tiene su rol. Es importante que la empresa cliente vea esta
división de roles para la suma de puntos según sus criterios. Hay que saber con antelación que
equipo va a formar el desarrollo aun que luego se puede hacer cambios previa información al
cliente. Además no solo está en que el equipo se variado y divido en roles sino que se busca
mostrar la experiencia de cada uno por lo que también se identifica muchas veces la experiencia
de cada integrantes llegando a aportar CV si fuera necesario. Todo va encaminado por parte de
la empresa a asegurarse que el desarrollo se hace con calidad y que todo saldrá según lo
previsto.
La siguiente información habría que enviársela al cliente o bien se presentaría en una de las
reuniones semanales que estipulan.
Para la realización del proyecto se necesitaran un grupo de trabajo formado por un director del
proyecto, un jefe de proyecto, dos programadores, un maquetado y un analista.
El director del proyecto que junto con el jefe de proyecto se encarga de estar en contacto con el
cliente para los temas económicos y posibles dudas por parte de este. El jefe de proyecto es la
persona que controla el progreso de la aplicación y la que se encarga de ajustar tiempos y
esfuerzos. Es el encargado de informar al director de proyecto de porcentaje evolucionado y de
las posibles incidencias que vayan saliendo.
Los programadores son los encargados del completo desarrollo back-end de la aplicación. Los
maquetadores serán los encargados de la parte del front-end y de ajustar los estilos y la parte
visual de la aplicación y aportando diseños de imágenes botones etc.
2
Guía para el desarrollo y documentació n de una aplicació n web
PERFIL DESCRIPCIÓN
2
Guía para el desarrollo y documentació n de una aplicació n web
Forma de Pago. El último día de cada mes se emitirá una factura correspondiente a los trabajos
realizados durante el mes. El vencimiento de las facturas será a 30 días desde su fecha de
emisión.
2
Guía para el desarrollo y documentació n de una aplicació n web
23
Guía para el desarrollo y documentació n de una aplicació n web
En este capítulo se describe como tiene que ser la presentación de la documentación técnica que
se le manda al cliente. En dicha documentación se debe exponer el modelo de programación que
se va a realizar, detallando cada componente al mínimo para que sea validado por este. El
objetivo de este apartado es poder adelantarse a posibles problemas, fallos, errores… pudiendo
así ahorrar costes y tiempos.
Esta es una documentación que a priori podemos pensar que el cliente como sector no técnico
que es, puede no interesarle pero prestan especial atención puesto que muchas veces poseen
licencias de algunas librerías en concreto que quieren que uses, o justo lo contrario no quieren
que uses algún tipo de tecnología simplemente porque no está a la moda o no es lo demandado
hoy. Un ejemplo de esto, es la demanda por parte de las empresas de desarrollar todo utilizando
Bootstrap o Angular que como se puso de moda, las empresas requerían estos desarrollos
expresamente. Esta documentación también es requerida ya que en un futuro si quisieran
mejorar la aplicación por ejemplo pues sería parte de la documentación que ellos entregarían a
la siguiente empresa que desarrollara para que siguieran con el mismo orden y la misma
nomenclatura del modelo.
6.1 Arquitectura
24
Guía para el desarrollo y documentació n de una aplicació n web
6.1.1. Modelo
Nuestro sitio web presenta información y contenido sobre objetos. Todas las validaciones de
todos los campos deben hacerse aquí y no en el controlador. Por ejemplo las validación de los
input, ya sea para controlar el formato, la dimensión o simplemente que no este vacío debe
hacerse aquí. Se adjunta en los anexos un ejemplo de validación por modelo.
El nombre de las propiedades de las clases han seguido la taxonomía de CLASEX+NOMBRE
DE VARIABLE. Es fundamental seguir la misma nomenclatura siempre ya que nos permite
identificar donde estamos y a que clase pertenece el elemento en cuestión.
A continuación definimos La arquitectura de nuestro modelo que ha seguido las siguientes
clases con sus propiedades.
6.1.1.1. Clase Usuario
Para la clase Usuario se han establecido las siguientes propiedades que debe contener,
especificando el nombre interno, el tipo de variable que se utiliza y la longitud máxima de esta
última.
25
Guía para el desarrollo y documentació n de una aplicació n web
Para la clase Partido se han establecido las siguientes propiedades que debe contener,
especificando el nombre interno, el tipo de variable que se utiliza y la longitud máxima de esta
última.
Para la clase Deporte se han establecido los siguientes campos que debe contener especificando
el nombre interno, el tipo de variable que se utiliza y la longitud máxima de esta ultima
Para la clase Sesion se han establecido los siguientes campos que debe contener especificando el
nombre interno, el tipo de variable que se utiliza y la longitud máxima de esta última
26
Guía para el desarrollo y documentació n de una aplicació n web
6.1.2. Vista
Las vistas contendrán código HTML para que el navegador lo pueda mostrar. Contendrán los
modelos y representarán los objetos mostrando así la información. Dicho código HTML se
mezcla con C# para dar archivos CSHTML. La vista solo mostrar código de interfaz de usuario
dejando la lógica al modelo y al controlador. Se ha usado Razor como motor de vistas en el que
nos permite separar la sintaxis de servidor de la del framewor de asp.net MVC.
6.1.3. Controlador
Es el que una vez echa todas las comprobación de cara a la interfaz de usuario se encarga de
hacer la lógica de nuestro programa, es decir, inserción y extracción en bases de datos,
operación lógicas etc.
MVC (Model, View, Controller) será nuestro patrón de diseño, pero nuestra arquitectura se
dividirá por capas.
Tenemos 3 controladores
Realmente el homeController no es el encargado del inicio por la nomenclatura que lleve como
podía pasar en HTML donde el que carga por defecto es el index.html sino que se ha definido
en la configuración que ese será el controlador encargado del arranque.
27
Guía para el desarrollo y documentació n de una aplicació n web
6.1.4. Capas
6.1.4.1. Properties
6.1.4.2. References
Esta es la parte de la arquitectura donde se encuentran todas las DLL del proyecto. Dichas DLL
son código de terceros que es público y gratuito y se utilizan para ahorrar tiempo y costes. En
dichas librerías ya vienen implementadas multitud de funciones que solo consisten en llamarlas.
En este caso usamos EntityFramework .Data, System…
28
Guía para el desarrollo y documentació n de una aplicació n web
6.1.4.3. Migrations
Con las clases para la formación del tablas de datos en servidor. Con EntityFramework
formaremos las tablas sin tener que acceder a Base de datos y sin tener que usar un lenguaje
SQL
Contiene una clase llamada Configuration donde tendrá la configuración inicial por defecto y
los datos por defecto.
6.1.4.4. Models
Está formado por una carpeta “Procedures” donde se almacenan las clases de los objetos con
las propiedades propuestas en el apartado Modelo. Además contiene la clase Context en la que
se establece el contexto con la base de datos y el modelo.
29
Guía para el desarrollo y documentació n de una aplicació n web
6.1.4.5. Web.config
Donde están todos los parámetros de configuración. En dicho apartado se colocaran las cadenas
de conexión para establecer la comunicación con las bases de datos. Además se definirán
atributos para dichas conexiones.
6.1.4.6. Scripts
Está divida por librerías. En este caso utilizamos Boostrap.js, JQuery. Son códigos de terceros
que se pueden usar gratuitamente para ahorrar tiempo. En nuestro proyecto en lugar de
referenciarlas las hemos importado para evitar problemas y errores
30
Guía para el desarrollo y documentació n de una aplicació n web
6.1.4.7. Content
Donde se guardan los estilos .Css tanto los pertenecientes a librerías de terceros como los
creados por nosotros. Nuestras modificaciones estarán en Site.css
31
Guía para el desarrollo y documentació n de una aplicació n web
6.1.4.8. Controllers
Tenemos 3 controladores
6.1.4.9. Views
6.2 Accesibilidad
El desarrollo del proyecto se centrará en cumplir las especificaciones WCAG (Web Content
Accessibility Guidelines) o guía para la accesibilidad del contenido web. Dichas
especificaciones cubren un amplio rango de recomendaciones para crear contenido web más
accesible para un mayor número de personas con discapacidades tales como ceguera, baja
visión, sordera y deficiencias auditivas. Dichas recomendaciones son aplicables a todas las
tecnologías puesto que no se centran en ninguna en concreto y se encuentran enumeradas en su
página web. Se resumen en:
1) Los componentes de la interfaz de usuario deben ser fácilmente diferenciados y percibidos
con claridad. Aumentar el tamaño de los textos y colores que resaltan unos sobre otro
haciendo un gran contraste.
2) Hacer predecibles el orden de las páginas en la web
3) Url amigables que permiten predecir en donde se encuentra y el orden lógico a seguir.
4) Proporcionar el tiempo suficiente a los usuarios para interactuar con la aplicación.
5) Proporcionar ayuda al usuario para llegar a todos los lugares de la aplicación y a
encontrarse de donde está.
6) Permitir el control de la aplicación mediante movimientos del teclado. Dichas operaciones
no deben requerir una velocidad determinada. EL foco del teclado debe ser claro y poder
moverse con el teclado.
7) No contenga contenido que pueda provocar ataques o convulsiones
8) Interfaz fácil de comprender
9) Ayudar al usuario a rellenar los formularios y campos con validaciones y ayudas.
10) El contenido tiene que ser robusto para que pueda ser interpretado por aplicaciones de
terceros por ejemplo aplicaciones que leen el contenido para personas con ceguera.
32
Guía para el desarrollo y documentació n de una aplicació n web
6.3.1 Header
El Header o cabecera, deberá tener fondo acorde a la estética corporativa y ser de ancho entre
1cm y 1.5 cm para una pantalla de 15 pulgadas y en su versión landscape ya que tiene que
ocupar más del ancho del logo corporativo enviado por el cliente, como así ha planteado el
diseñador gráfico. Ese tamaño se corresponde con una pantalla estándar de portátil.
El color de todo lo que vaya dentro del Header deberá ser #9d9d9d debido a que el logo
corporativo facilitado tiene ese código de color y si es un enlace cuando se pase el ratón por
encima deberá cambiar de color a blanco para resaltar lo máximo posible que es un enlace.
A continuación se detallan los componentes en el orden que se quiere que se muestren y con las
características que el cliente habría expresado.
6.3.1.1 Logo
Propiedad Valor
Text W3ToPlay
33
Guía para el desarrollo y documentació n de una aplicació n web
Background-color #333
Color #9d9d9d
Font-size 31px
Hover:Color #fff
Tabla 15: Características de diseño del logo
Como se especifica en los requisitos, hay un selector de idioma con tres posibles valores:
español, inglés y portugués.
Propiedad Valor
Text Idioma
Tipo Dropdown
Background-color #333
Color #9d9d9d
Font-size 15px
Hover:Color #fff
Icono glyphicon-globe
Tabla 16: Características de diseño del selector de idioma
Selector de idioma cuando se pasa por encima con el ratón y se hace clic
34
Guía para el desarrollo y documentació n de una aplicació n web
Características técnicas del enlace de registro. Dicho enlace llevara a una página para poder
registrarse. Dichas características obedecen para respetar la estética de la marca corporativa de
la aplicación.
Propiedad Valor
Text Registrase
Tipo Enlace
Background-color #333
Color #9d9d9d
Font-size 15px
Hover:Color #fff
Icono glyphicon-user
Tabla 17: Características de diseño del enlace de registro
35
Guía para el desarrollo y documentació n de una aplicació n web
El enlace de login es el enlace que permite que nos identifiquemos ante la aplicación como
usuario reconocido. Dicho enlace tiene las características para respetar la estética corporativa.
Propiedad Valor
Tipo Enlace
Background-color #333
Color #9d9d9d
Font-size 15px
Hover:Color #fff
Icono glyphicon-log-in
Tabla 18: Características de diseño del enlace de login
36
Guía para el desarrollo y documentació n de una aplicació n web
6.3.2 Footer
Se ha adaptado el pie de página para respetar las exigencias del cliente y las actuales exigencias
legales. Está formado en la parte izquierda por el copyright con el nombre de la empresa a la
que pertenece los derechos y en la parte derecha los enlaces a la home por temas de SEO y los
contratos de privacidad y los términos y condiciones
6.3.2.1 CopyRight
Párrafo en el que indica la propiedad intelectual del propietario. Sus características se deben
para respetar la identidad corporativa.
Propiedad Valor
Background-color #333
Color #9d9d9d
Font-size 31px
Hover:Color #fff
Tabla 19: Características de diseño del párrafo de copyright
Para cumplir con exigencias de posicionamiento en la web (SEO) se debe incluir en todas las
páginas del portal un enlace a la página principal del sitio.
37
Guía para el desarrollo y documentació n de una aplicació n web
Propiedad Valor
Text Home
Tipo Enlace
Background-color #333
Color #337ab7
Font-size 15px
Hover:Color #fff
Tabla 20: Características de diseño del enlace a la home
Por cuestiones de legalidad se debe incluir el enlace de para poder leer las políticas de
privacidad.
Propiedad Valor
Tipo Enlace
Background-color #333
Color #337ab7
Font-size 15px
Hover:Color #fff
Tabla 21: Características de diseño del enlace de políticas de privacidad
38
Guía para el desarrollo y documentació n de una aplicació n web
Por cuestiones de legalidad se debe incluir el enlace de para poder leer los términos y
condiciones de la aplicación.
Propiedad Valor
Tipo Enlace
Background-color #333
Color #337ab7
Font-size 15px
Hover:Color #fff
Tabla 22: Características de diseño del enlace de términos y condiciones
La página maestra es la base de la que se mostrará en todas las partes del portal. Se compone de
una cabecera o header, de un contenedor donde estará el contenido y de un footer. El contenido
del Header y del footer está definido en dichos apartados.
Las características de la página maestra se deben para satisfacer las características corporativas.
Propiedad Valor
Tipo container
Color #337ab7
Color #337ab7
39
Guía para el desarrollo y documentació n de una aplicació n web
Color #333
Font-size 15px
Por esta razón, la página maestra, al ser un elemento común en el cual se mostrará en todas las
partes del sitio web se ha hecho una vista parcial.
Tanto el pie de página como la cabecera están fijados en ambos extremos del monitor o pantalla.
Si el contenido fuera más alto que el contenedor aparecería una barra de scroll en la parte
derecha para poder deslizar el contenido hacia abajo sin que se muevan ni la cabecera ni el pie
de página
6.3.4 Home
Satisfaciendo la petición del cliente del contenido de la página principal, la home tiene tres
contenedores en el cual cada uno tiene un título y un select donde se elige la opción. Debajo de
todo esto tiene el botón de buscar.
40
Guía para el desarrollo y documentació n de una aplicació n web
6.3.4.1 Contenedor 1
El contenedor 1 hace referencia al contenedor de selección del deporte y el color es uno de los
tres que posee la compañía propietaria.
Propiedad Valor
Tipo Select
Background-color #lavender
Color #fff
Font-size 31px
Tabla 24: Características de diseño del contenedor 1
Y el resultado es:
6.3.4.2 Contenedor 2
41
Guía para el desarrollo y documentació n de una aplicació n web
Propiedad Valor
Tipo Select
Background-color #lavender
Color #fff
Font-size 31px
Tabla 25: Características de diseño del contenedor 2
6.3.4.3 Contenedor 3
Propiedad Valor
42
Guía para el desarrollo y documentació n de una aplicació n web
Tipo Select
Background-color #lavender
Color #fff
Font-size 31px
Tabla 26: Características de diseño del contenedor 3 selector de horario
Dichos combos se rellenan con lo que trae de la base de datos de las tablas correspondientes a
deportes zonas y horarios.
Una vez definida la página maestra y el contenido de la página principal habría dos posibles
casuísticas referentes a la página principal.
Una página principal en la que todavía no se ha logado y otra en la que se ha logado el usuario.
Para satisfacer la demanda del cliente, ya se ha explicado el caso anónimo pero en el caso del
logado se deberá quitar el enlace de registro y de acceso y se deberá introducir un enlace al
perfil de usuario que hace referencia su nombre.
43
Guía para el desarrollo y documentació n de una aplicació n web
Home logado
La lista de partido es la página por la cual una vez hecha la búsqueda, es la página que muestra
un resumen de los partidos disponibles con las características filtradas.
44
Guía para el desarrollo y documentació n de una aplicació n web
Modalidad String 1
Lugar String 2
Campo String 3
Fecha Date 4
Integrantes Int 5
Dicha tabla posee dos tipos de botones un botón para apuntarse, el cual solo está disponible en
estado verde cuando todavía faltan integrantes para cerrar el partido y otro azul para crear los un
partido nuevo con las características seleccionadas previamente.
45
Guía para el desarrollo y documentació n de una aplicació n web
BOTON COMPORTAMIENTO
En el caso de que se quiera crear un partido con unas características que prefiera el usuario, hay
el botón de crear partido en la parte superior de la tabla de partidos.
46
Guía para el desarrollo y documentació n de una aplicació n web
Propiedad Valor
Tipo Button
Color #white
Font-size 15px
Hover:Color #fff
Tabla 29: Propiedades del botón crear partido
Nos redirigirá a la pantalla para rellenar un formulario para poder crear un partido.
Propiedad Valor
Tipo Form
Background-color #white
Color #fff
Font-size 15px
Hover:Color #fff
Nombre Input
Deporte Input
Lugar Input
Fecha Input
Integrantes Input
47
Guía para el desarrollo y documentació n de una aplicació n web
Una primera con las características del partido y otra segunda con los integrantes de dicho
partido, en el lugar de nuestro usuario aparece un botón para si se quiere borrarse del partido.
48
Guía para el desarrollo y documentació n de una aplicació n web
Propiedad Valor
Tipo Grid
Background-color #white
Color #fff
Font-size 15px
Hover:Color #fff
Modalidad label
Campo label
Lugar label
Fecha label
Integrantes label
Tabla 31: Propiedades de la tabla de partido
Propiedad Valor
Text Integrantes
Tipo Grid
Background-color #white
Color #fff
Font-size 15px
Hover:Color #fff
Nombre label
Email label
Equipo label
49
Guía para el desarrollo y documentació n de una aplicació n web
6.3.8 Login
Propiedad Valor
Tipo Form
Background-color #white
Color #fff
Font-size 15px
Hover:Color #fff
Email Input
50
Guía para el desarrollo y documentació n de una aplicació n web
Password Input
Dicho formulario tiene validación contra hacking contra inyección, prohibiendo algunos
caracteres especiales y palabras reservadas como por ejemplo “>”,”<”,”script”,”/”. El botón
tiene validación de comprobar los campos si están vacíos o si son válidos. Ese validación es en
parte del cliente, en el lado del servidor el propio modelo(si es campo requerido, longitud
máxima o mínima, caracteres prohibidos…) tendrá sus validación, en el control otro tipo de
validación y a la hora de entrar en base de datos otra.
Validación de email:
Valida que el campo email este en el formato correcto y que tenga contenido.
51
Guía para el desarrollo y documentació n de una aplicació n web
Validación de la contraseña
Así mismo cuando se escribe la contraseña este campo es oculto con caracteres de asteriscos o
puntos.
52
Guía para el desarrollo y documentació n de una aplicació n web
Si se pulsa fuera del pop up deberá salir a la página en la que estuvieras, al igual que si pulsas en
cancelar.
La cabecera una vez logado eliminará los enlaces de registrarse y logarse y mostrara el usuario
que a su vez es un enlace al perfil de usuario.
6.3.9 Registro
Formulario de registro
Propiedad Valor
Text Regístrate
Tipo Form
Background-color #white
Color #fff
Font-size 15px
Hover:Color #fff
Nombre Imput
Apellidos Imput
Email Imput
Password Imput
53
Guía para el desarrollo y documentació n de una aplicació n web
El perfil de usuario contiene los campos necesarios para satisfacer las demandas del cliente y
para poder completar todos los campos de la base de datos. El formulario es el mismo que el
formulario de registro solo que los campos están rellenos con los valores del usuario.
Propiedad Valor
Tipo Form
Background-color #white
Color #fff
Font-size 15px
Hover:Color #fff
Nombre Imput
Apellidos Imput
Email Imput
Password Imput
Población Imput
54
Guía para el desarrollo y documentació n de una aplicació n web
6.4 Seguridad
Ante el auge de las aplicaciones web y del comercio por internet han sido muchas a las
aplicaciones las cuales han sido violaciones de seguridad por que presentaban una serie de
vulnerabilidades.
En la mayoría de las aplicaciones existen fallos de código que las hacen que sean vulnerables.
Muchas veces es por no tenerse en cuenta las vulnerabilidades y otras incluso por fallos de
programación y de estructura.
Un atacante podría, acceder a datos a los cuales no tiene permisos o no está autorizado a ver o
modificar, modificar datos de otros usuarios u obtener acceso a las distintas partes del servidor
donde está integrada la aplicación web.
Http no fue ideado para ser seguro, ya que estaba diseñado para mostrar páginas estáticas y no
para lo que se usa hoy en día como puede ser para comprar, para ver contenido en línea…
No hay ningún método o técnica que haga que una aplicación web sea inviolable pero siguiendo
una serie de consejos se hará más difícil de forzar.
55
Guía para el desarrollo y documentació n de una aplicació n web
cuando fueron introducidos por el usuario. Para que sea auténtica, los datos deben ser iguales de
quién los originó, sin ningún cambio, para que tenga confidencialidad, un usuario solo podrá ver
sus datos y que sea disponible garantiza que los datos están siempre disponibles para el usuario
que los requiere. Además se debe garantizar que un usuario no pueda negar ninguna operación
que quiera realizar otro usuario.
La seguridad es un aspecto a tener en cuenta durante todo el ciclo de vida de nuestra aplicación.
Y dado que el objetivo es que la aplicación se mantenga con el tiempo debe ser una tarea
periódica aun que se si presta especial atención en la fase de desarrollo en el futuro será una
tarea bastante menos difícil.
A continuación se muestra las secciones en las que se tiene que prestar una especial atención a
tanto a la hora de diseñar como a la de implementar una aplicación debido a que presentan
aspectos que son críticos desde el punto de vista de la seguridad.
Secciones críticas según el proyecto abierto de seguridad en aplicaciones web u open web
application security project (OWASP)
56
Guía para el desarrollo y documentació n de una aplicació n web
Hay que mostrar mensajes genéricos sin especificar qué es lo que hay fallado en
concreto.
Por lo general ante cualquier error debe expulsar de la aplicación.
Todas las gestiones de errores se deben hacer desde el lado del servidor.
Se tiene que registrar tanto los errores de la aplicación como errores de login por
parte de los usuarios para descubrir intentos de fuerza bruta.
Habrá que registrar intentos de autenticación con tokens erróneos o caducados con
el mismo objetivo que el anterior.
Además para reforzar la seguridad hay que seguir las recomendaciones que nos indica OWASP
TOP 10.
A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
“A1.-Injection”: Son las inyecciones de código en formularios, las cuales son el más común de
los riesgos, con los cuales se puede desde acceder sin tener usuario o contraseña hasta rescatar
datos.
“A2 Broken Authentication and Session Management”: Son los riesgos originados por el uso
incorrecto de las sesiones.
“A3 – Cross-Site Scripting (XSS)”: Ocurre debido a la excesiva confianza que se tiene en los
sitios. Cuando se duplican sitios con finalidad maliciosa con el objetivo de robar sesiones claves
etc. La práctica más común es el envío de correos que aparentemente redirigen a la web de un
banco por ejemplo pero en realidad es una clonación ilegal del sitio.
57
Guía para el desarrollo y documentació n de una aplicació n web
“A6 – Sensitive Data Exposure“: Se refiere a la protección incorrecta de datos críticos tales
como, por ejemplo, números de tarjetas de crédito, contraseñas...
“A8 - Cross-Site Request Forgery (CSRF)“: Permite a un atacante generar peticiones sobre una
aplicación a partir de la sesión de un usuario/victima.
Así mismo OWASP definió unos requerimientos para evitar los riesgos.
Los requerimientos de Application Security Verification Standard ASVS(28) fueron desarrollados con
los siguientes objetivos en mente:
Para establecer un nivel de confianza y de seguridad OWASP ASVS ha especificado que las
aplicaciones deben seguir el siguiente esquema.
58
Guía para el desarrollo y documentació n de una aplicació n web
"Planificación" "Implementación"
"Verificación"
"Despliegue"
Ilustración 47: Esquema para establecer un nivel de confianza recomendado por OWASP ASVS
En primer lugar debe seguir una planificación para poder prever y contemplar todos los casos a los que
se quiere poner barreras y poder planificar tiempos costes y recursos que se necesitaran. Después se
definirá unos requisitos mínimos a cumplir para poder satisfacer cada nivel de riesgo. En tercer lugar
se realizara la programación de la aplicación teniendo en cuenta los requisitos a cumplir y la
planificación realizada. Dependiendo del nivel de riesgo que se desee aplacar se realizaran una serie de
programaciones u otras ya que todas las paginas por ejemplo no son igual de atacables o del mismo
interés de los datos. Por ejemplo no es lo mismo una página que contiene datos personales que otra
página que lo único que contiene es contenido estático de poco valor. Como quinto paso se realiza la
comprobación de que cumple los requisitos y por último se realiza el despliegue.
ASVS define los requerimientos, no indica cómo implementarlos. En el apartado anexo se adjunta una
imagen con un ejemplo de lo que especifica ASVS que hay que verificar dependiendo del grado de
seguridad e indicando a partir de que versión del documento se incluye.
La revisión de seguridad de la aplicación web deberá seguir una serie de fases para asegurarse que
además que cumple las normativas anteriormente presentadas, se pone barreras a los fallos comunes
de programación. Debido al tipo de arquitectura de nuestra aplicación se han definido 5 fases por las
cuales se hará una revisión de la seguridad del aplicativo.
59
Guía para el desarrollo y documentació n de una aplicació n web
60
Guía para el desarrollo y documentació n de una aplicació n web
6.5.1 Requisitos
Metas y titile personalizados para cada página: se incluirá los <metas> y <title> de
cada página web de manera individual y con soporte multicultural:
o Inglés
61
Guía para el desarrollo y documentació n de una aplicació n web
En el apartado anexo se adjunta un ejemplo de cómo esta estructura el XML del mapa del sitio
Cada palabra clave elegida tiene que tener una estrecha relación sobre el contenido que está
gestionando la página.
Debemos de imaginar al definir palabras claves, errores posibles del usuario o variantes para
una misma palabra. Por ejemplo si tenemos la palabra clave “baloncesto” podríamos incluir
“basket”…
Etiqueta encabezado
Google y otros motores de búsqueda contemplan con gran importancia las etiquetas de
encabezado ya que en estas tiene que estar contenidas las palabras clave. Estas etiquetas son h1
h2…
62
Guía para el desarrollo y documentació n de una aplicació n web
Texto de contenido
Se debe de intentar que el contenido de una página esté dedicado exclusivamente a un solo
tema.
El texto donde aparezca una palabra clave se tiene que usar con negrita, esto es bueno para el
peso de la palabra clave dentro del algoritmo de algunos motores de búsqueda.
Se debe mostrar en todo momento las palabras clave de cada página y si es posible mostrándose
en negrita.
Si una página tiene un gráfico o una imagen con una palabra clave se tiene que utilizar el
parámetro Alt con el texto alternativo para que el robot pueda percibir la aparición de la palabra
clave.
Pie de página
El pie de página es un buen sitio para incluir un texto en el cual se utilicen palabras claves y
nombre de “partido”, “futbol”, “baloncesto”,”paddel”.
Enlaces internos
Los robots y motores de búsqueda no indexan todas las páginas de nuestra web sino que siguen
la ruta de navegación de los enlaces principales. Cuantos más enlaces en distintas páginas es
mejor para la importancia de esta. Por ejemplo lo que haremos es incluir en la página de inicio o
home enlaces a diferentes búsquedas para que el robot las indexe. Por ejemplo en nuestra home
incluiremos enlaces a búsquedas como “Partidos en Madrid”, o “Futbol en Getafe” de tal
manera que cuando un usuario busque algo similar el motor de búsqueda la habrá indexado y
aparecerá en los resultados de búsqueda.
La página de inicio es la página que suele tener mayor cantidad de enlaces y es la que debería de
tener enlaces hacia todas las páginas de destino.
Enlaces retorno
Aunque sean páginas de subsitios dentro de subsitios a bajo nivel, deben de contener enlaces de
retorno a la página principal. Esto a los robots les permite cerrar el círculo y retroalimentar al
esquema de enlaces. Por eso en todas las páginas debe haber enlaces a la home.
Para mejorar la indexación por parte de los robots de google se debe seguir que:
Java Scripts
63
Guía para el desarrollo y documentació n de una aplicació n web
Los robots solo entiende código HTML. Los enlaces escritos con código javascript no son
accesibles para los robots.
Cookies
Las páginas web que queremos que sean indexadas deben poder funcionar sin cookies.
Un SiteMap o mapa de sitio es un archivo XML el cual contiene una determinada estructura el
cual muestra todas las url que queremos que indexe. Los mapas de sitio, es un método mediante
el cual podemos decirle a los robots que es lo que está disponible para que ellos lo indexen o
simplemente pasen de ese enlace.
En términos de SEO cada tag HTML tiene una importancia, utilizarlos y utilizarlos bien hará
que sumen puntos de cara al posicionamiento.
Tag Importancia
<b> Alta
<i> Alta
<img> Alta
<meta> Alta
<u> Alta
<a> Media
<body> Media
<br> Media
<center> Media
<font> Media
<head> Media
<li> Media
64
Guía para el desarrollo y documentació n de una aplicació n web
<ol> Media
Media
<p>
Media
<table>
Media
<td>
Media
<tr>
Media
<ul>
<frame> Baja
<frameset> Baja
Ilustración 53: Importancia de cada tag en términos de SEO
Las etiquetas que aparecen con importancia media o incluso baja pueden llegar a ser muy
importantes en el caso de que no se cierren correctamente u estén desordenadas.
Para validar nuestro portal usaremos un validador de código HTML (31). Este sitio informa si
nuestro código final HTML de nuestro portal correcto para el robot o no y además nos indica
posibles errores y posibles mejoras.
65
Guía para el desarrollo y documentació n de una aplicació n web
7. Descripción funcional
7.2 Login
66
Guía para el desarrollo y documentació n de una aplicació n web
4) Pulsar en entrar. Si ha sido correcto volverá a la Home y en la parte superior derecha habrán
desaparecido los link Acceso usuarios y Registrarse y aparecerá su nombre de usuario y un
enlace para salir de su usuario.
7.3 Logout
1)
Pulsar en
2)
Aparece un pop up preguntándonos que si se desea salir.
67
Guía para el desarrollo y documentació n de una aplicació n web
3)
Si se pulsa Aceptar, si se ha desautenticado correctamente aparecerá un nuevo pop up
indicándote que has salido correctamente y volverá a la página principal en anónimo.
dice :
68
Guía para el desarrollo y documentació n de una aplicació n web
4) Redirigirá a otra página donde se tendrá que poner el email donde se le enviará al correo
para que se cambie la contraseña. El correo deberá pertenecer a un correo guardado
anteriormente.
Para cambiar el idioma del portal, se dispone de una opción los enlaces superiores de la
cabecera:
2.) Se mostrará las opciones de idioma que hay y pulsando en ellas se redirigirá a la versión
del portal en dicho idioma.
69
Guía para el desarrollo y documentació n de una aplicació n web
Para ver dichos documentos se tiene que hacer clic en la parte inferior derecha.
En la home disponemos de los tres combos para buscar el deporte la zona y franja horaria en la
que deseamos buscar. Marcaremos en cada uno de los combos la opción deseada y para finalizar
pulsaremos en buscar. Por ejemplo trataremos de buscar deporte futbol, zona de Chamartín y el
viernes por la tarde.
Como se contempla según vas marcando se queda señalados en los combos las opciones
indicadas. Para encontrar el partido habría que pulsar “Buscar”. Si usted está logado le accederá
a la siguiente pantalla donde se muestran los partidos en una tabla pero si no está logado le
saltará una ventana emergente indicándole que no está logado e invitándole a que se logue o en
su defecto registre.
70
Guía para el desarrollo y documentació n de una aplicació n web
Una vez logado en la aplicación muestra todos los partidos con esa configuración.
71
Guía para el desarrollo y documentació n de una aplicació n web
Si al buscar entre las condiciones de deporte lugar y horario no hay ningún partido, el usuario
siempre podrá crear uno propio. Para crear un partido:
a) Estar logado
b) Buscar unas condiciones de partido de deporte lugar y horario y pulsar buscar
72
Guía para el desarrollo y documentació n de una aplicació n web
Esto llevará a la página con el formulario para anotar los datos que se requieren para la creación
del partido
73
Guía para el desarrollo y documentació n de una aplicació n web
Para ver el perfil de usuario se debe estar logado. Para acceder al perfil y poder modificar
alguno de sus campos se deberá:
74
Guía para el desarrollo y documentació n de una aplicació n web
75
Guía para el desarrollo y documentació n de una aplicació n web
8. Plan de pruebas
El objetivo del plan de pruebas es definir la especificación técnica de pruebas que corresponde a
los niveles de desarrollo y de integración para la aplicación que hemos desarrollado.
Para ello se incluye:
Mapa de pruebas
Descripción de casos de prueba y condiciones de prueba
Información del resultado obtenido
El mapa de pruebas muestra la granularidad de las pruebas mostrando los Elementos de Prueba
con las Condiciones y Casos de Prueba, cuyas descripciones detalladas se incluyen en el
siguiente elemento.
Elemento de Prueba
Condición de prueba
Código de la Condición de Prueba que se establecerá por cada elemento de prueba. Como
opción y para ser más descriptivo se podrá añadir el nombre de la condición.
El Código debe ajustarse a la siguiente nomenclatura: COnnn donde:
CO es Condición de Prueba
nnn es el número de la prueba siguiente el orden pertinente.
Caso de prueba
Código del Caso de Prueba que se establecerá para verificar cada Condición de Prueba. . Como
opción y para ser más descriptivo se podrá añadir el nombre del caso.
El Código debe ajustarse a la siguiente nomenclatura: CAnnn dónde:
CA es Caso de Prueba
nnn es el número para cada Caso de Prueba, dentro de cada Condición de Prueba
COnnn es el Código de la Condición de Prueba.
Resultado de la Ejecución
76
Guía para el desarrollo y documentació n de una aplicació n web
La categoría es el valor que se le dará a la condición y caso de prueba haciendo así alusión a la
profundidad e importancia de dicha prueba. Los posibles valores serán:
o Baja
o Media
o Alta
Resultados de búsqueda en el
buscador por parte de un usuario CO003 CA001
anónimo
[Accesibilidad] Validación de
CO004 CA001 CA002 CA003
campos
77
Guía para el desarrollo y documentació n de una aplicació n web
78
Guía para el desarrollo y documentació n de una aplicació n web
Dicho manual de usuario tendría que venir con un título, descripción de elementos, tablas,
índices… teniendo en cuenta que es para un usuario final, el cual desconoce por completo como
es la aplicación.
A continuación se pone un ejemplo de cómo sería un apartado del manual de usuario. Tiene
que ser conciso sin palabras técnicas y con imágenes señalando donde hay que hacer clic
mediante flechas y resaltados. Se expone una imagen del manual de usuario
79
Guía para el desarrollo y documentació n de una aplicació n web
Como conclusión acerca del TFG podría decir, que una buena elaboración de documentación
ayuda a prevenir muchas futuras dificultades y ayuda dejar claro de cara al cliente como va a ser
la aplicación y cómo va a funcionar permitiendo esto tener al cliente una visión global de todo
ya que en muchas ocasiones el cliente es alguien que no es técnico y no tiene una visión de
cómo pueden quedar por ejemplo, formularios, pop up, pies de páginas… teniendo que realizar
documentación cuando todavía no se ha llevado a cabo el desarrollo de la misma. Además como
se ha mencionado también ayuda al desarrollador a prever futuras complicaciones o dudas las
cuales pueden ser resueltas antes de que sucedan permitiendo esto elaborar nuevas estrategias o
diferentes programaciones ayudando así a que los tiempos estipulados se cumplan.
Puntos a mejorar respecto al contenido de dicho proyecto sería una elaboración de reuniones en
SCRUM método que es muy requerido y utilizado ahora mismo por el que se establece y se
reparte el trabajo entre los miembros del equipo de manera atomizada y en líneas de tiempo
realistas. Otras mejoras irían fundamentalmente basadas en el desarrollo de la documentación
realizando por ejemplo plantillas lo más genéricas pero precisas posibles para el apartado
técnico para que en cada proyecto se siguiera la misma estructura y la misma forma de
documentar.
Otro punto el cual es fundamental documentar es una gestión de errores, una para el usuario y
otra para el cliente. La gestión de errores para el cliente, consistirá la elaboración de logs de
registros y de errores, no solo para tener en cuenta los errores y poder corregirlos sino también
para la elaboración de informes de uso de clientes. La gestión de errores para el usuario final
consiste en añadir en el manual de usuario posibles errores que se pueden dar y como
corregirlos como por ejemplo cuando un usuario pone mal el email, ( no pone la @, o no pone
el .com etc.) que se informe debidamente como se debe cumplimentar todos los casos posibles.
De cara a futuros trabajos se sabe que la elaboración de un proyecto en el que es todo a medida
del cliente, no es barato ni fácil de implementar, ni de documentar, por lo que es comprensible
la proliferación de aplicaciones y webs que con muy pocos recursos montan una web “editable”
por el usuario final. Estas son más baratas y asequibles para empresas medianas y pequeñas. Las
empresas grandes, con más recursos y con una imagen que dar son las que solicitan este tipo de
servicios a otras consultoras, puesto que les sale más rentable que el desarrollo se lo haga una
tercera empresa en lugar de tener a gente en nómina que realice los proyectos y los
mantenimientos.
Otra desventaja que podría presentar las aplicaciones de edición de web es la lógica que permite
mostrar la página. Puesto que esas aplicaciones están más orientadas a la elaboración de webs
casi estáticas sin lógica alguna y es con lo que podría vencer mis desarrollos frente a estas
aplicaciones.
Teniendo en cuenta que el público cliente de mis desarrollos sería una parte de empresas
pequeñas las cuales no les interesaría un enfoque de diseño personalizado web, sería interesante
centrarse en aplicaciones web que compaginan un uso público con el uso interno. A lo actual y
contra lo que competimos podríamos dar esa ventaja.
80
Guía para el desarrollo y documentació n de una aplicació n web
Además el TFG se ha diseño en base de un punto de vista de TI sin tener en cuenta la parte de
sistemas. Por lo que otro punto de mejora seria también ofrecer y documentar el servicio de
almacenamiento y servidores. Puesto que las empresas grandes tienen dichos servicios, las
empresas pequeñas necesitan alquilar estos servicios. Pues nuestra empresa podría subcontratar
estos servicios para ofrecer un paquete en el que venga todo para el que el cliente no tenga que
preocuparse por nada.
81
Guía para el desarrollo y documentació n de una aplicació n web
El principal impacto que se intenta dar a entender en este TFG es la reducción de costes y
tiempos en la realización de proyectos. Como se ha hecho hincapié durante todo el TFG una
buena documentación no solo sirve para que el cliente tenga la referencia de lo que se está
haciendo, sino que sirve para prever futuros problemas, futuras necesidades y poder apaliarlas
por adelantado o en paralelo a otros trabajos, permitiendo esto no tener parado a ningún
integrante del equipo y haciendo así el desarrollo más corto y por lo tanto más barato. Además
nos servirá para fijar futuras valoraciones en proyectos similares o de igual magnitud pudiendo
hacer cada vez las ofertas más precisas y por lo tanto con más ganancias. También te permite
también tener un repositorio de métodos y parámetros utilizados teniendo así una justificación
de por qué se han utilizado y poder utilizarlo en un futuro.
82
Guía para el desarrollo y documentació n de una aplicació n web
Este capítulo es el encargado de justificar y aclarar los costes que tengan relación con la
elaboración del trabajo de fin de grado. Los costes se clasifican en dos, los personales (tanto
míos como los del profesor) como los materiales (materiales empleados)
1) Costes personales
10% 1
10% 2,50% 2
45% 3
4
32,50% 5
83
Guía para el desarrollo y documentació n de una aplicació n web
80
60
40
20
0 1 2 3 4 5
Para definir este reparto de horas me he basado en la planificación previa que hice previamente
en un diagrama de GANNT
El coste de las horas escogido es el planteado por el BOE según el cual un titulado de primer
ciclo universitario cobraría 1253,16 euros en 14 pagas. Lo que hace al año 17.554,24 Euros. En
2018 hay un total de 251dias laborables por lo que el día trabajado sale a 69,93 euros, con lo
cual el día laborable con 7 horas sale un total de 9.99euros/hora.
El coste del tutor lo he obtenido prorrateando el resultado anterior a 1.5 veces. Por lo que el
coste a la hora del tutor asciende a 14,98 euros/hora.
El tiempo empleado por el profesor ha sido de una hora semanal durante las 19 semanas que ha
durado el proyecto, pero se ha prorrateado a un 1.1 por el tiempo empleado en correos recibidos
y enviados. Por lo que el tiempo total empleado por el profesor Harold ha sido de 20,9 horas.
84
Guía para el desarrollo y documentació n de una aplicació n web
2) Costes materiales
PC 500 €
TOTAL 2811.08 €
Tabla 38: Coste total del TFG
Por lo que el presupuesto final de trabajo de fin de grado “Guía para el desarrollo y
documentación de una aplicación web .NET” sería de un total de DOS MIL
OCHOCIENTOS ONCE EUROS CON 8 CÉNTIMOS.
85
Guía para el desarrollo y documentació n de una aplicació n web
1. http://plantilla.madrid.slu.edu/uploads/docs/ANEXO_1_Clausulas_contractuales_(MOD
ELO).pdf
2. http://accesibilidadweb.dlsi.ua.es/?menu=espanola
3. https://www.40defiebre.com/guia-seo/que-es-seo-por-que-necesito/
4. https://developers.google.com/speed/pagespeed/insights/?hl=es
5. http://accesibilidadweb.dlsi.ua.es/?menu=wcag-2.0
6. http://accesibilidadweb.dlsi.ua.es/?menu=niveles-2.0
7. https://support.google.com/webmasters/answer/7451184?hl=es
8. https://msdn.microsoft.com/es-es/library/4w3ex9c2(v=vs.100).aspx
9. https://msdn.microsoft.com/es-es/library/dd410597(v=vs.100).aspx
10. https://www.w3schools.com/html/html_elements.asp
11. https://docs.microsoft.com/es-es/aspnet/core/choose-aspnet-
framework?view=aspnetcore-2.0
12. https://www.c-sharpcorner.com/UploadFile/8ef97c/using-partial-views-in-Asp-Net-mvc-
5-0-part-7/
13. https://codigofacilito.com/articulos/mvc-model-view-controller-explicado
14. https://stackoverflow.com/questions/13180543/what-is-assemblyinfo-cs-used-for
15. https://docs.microsoft.com/es-es/dotnet/framework/data/adonet/ef/overview
16. https://msdn.microsoft.com/en-us/library/wkze6zky.aspx
17. http://anexsoft.com/p/133/implementando-migraciones-con-entity-framework-y-asp-net-
mvc
18. https://devcode.la/blog/que-es-sql/
19. https://msdn.microsoft.com/es-es/library/gg416514(v=vs.108).aspx
20. https://docs.microsoft.com/es-es/sql/relational-databases/stored-procedures/create-a-
stored-procedure?view=sql-server-2017
21. https://getbootstrap.com/
22. https://jquery.com/download/
23. https://www.w3.org/TR/WCAG20/
24. https://www.uv.mx/personal/llopez/files/2011/09/presentacion.pdf
25. Https://www.owasp.org/images/6/67/OWASPApplicationSecurityVerificationStandard3.
0.pdf
26. https://www.owasp.org/images/a/aa/Est%C3%A1ndar_de_Verificaci%C3%B3n_de_Seg
uridad_en_Aplicaciones_3.0.1.pdf
27. https://miposicionamientoweb.es/guia-seo-para-principiantes
28. https://www.owasp.org/images/a/aa/Est%C3%A1ndar_de_Verificaci%C3%B3n_de_Seg
uridad_en_Aplicaciones_3.0.1.pdf
29. https://blog.fromdoppler.com/consejos-de-posicionamiento-seo/
30. https://support.google.com/webmasters/answer/183668?hl=es
31. http://validator.we.org
32. http://www.colciencias.gov.co/sites/default/files/upload/contratacion/modeloActaConfid
encialidad.pdf
33. https://developers.google.com/speed/pagespeed/insights/?hl=es&url=https%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fj
osemariarodriguezcv.vacau.com&tab=mobile
86
Guía para el desarrollo y documentació n de una aplicació n web
34. https://concienciaweb.wordpress.com/2011/12/27/como-hacer-el-listado-de-
requerimientos-para-contratar-un-proyecto-web/
35. https://developers.google.com/speed/pagespeed/insights/?hl=es
36. https://support.google.com/webmasters/answer/183668?hl=es
37. http://www.mjusticia.gob.es/cs/Satellite/Portal/es/areas-tematicas/proteccion-datos-
personal
87
Guía para el desarrollo y documentació n de una aplicació n web
Anexos
ASVS (Application Security Verification Standard) o estándar para verificar la seguridad de las
aplicaciones, define los requerimientos, no indica cómo implementarlos. La siguiente tabla muestra un
ejemplo de lo que el documento de ASVS define que hay que verificar para cada grado de seguridad e
indicando la versión desde que se encuentra disponible. Dicha tabla se encuentra en su web.
88
Guía para el desarrollo y documentació n de una aplicació n web
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.whentoplay.com/</loc>
<lastmod>2018-05-07T09:00:10+00:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
89
Guía para el desarrollo y documentació n de una aplicació n web
<url>
<loc>http://www.whentoplay.com/quiensomos</loc>
<lastmod>2018-05-07T09:00:10+00:00</lastmod>
<changefreq>weekly</changefreq>
</url>
<url>
<loc>http://www.whentoplay.com/partido</loc>
<lastmod>2018-05-07T09:00:10+00:00</lastmod>
<changefreq>weekly</changefreq>
</url>
<url>
<loc>http://www.whentoplay.com/nuevopartido</loc>
<lastmod>2018-05-07T09:00:10+00:00</lastmod>
<priority>0.3</priority>
</url>
<url>
<loc>http://www.whentoplay.com/privacidad</loc>
<lastmod>2018-05-07T09:00:10+00:00</lastmod>
</url>
</urlset>
90
Guía para el desarrollo y documentació n de una aplicació n web
CO001
Descripción de la Condición
Se quiere comprobar el correcto acceso al portal
Variantes
Procedimiento de la prueba
Acciones
Resultados
Casos de Prueba
realizar un estudio de que palabras o frases que llevan a dicha búsqueda por lo que
habría 10-15 casos más.
Realizar búsqueda en diferentes motores de búsqueda, otros 10 casos mas
Realizar búsqueda y acceso con diferentes navegadores para comprobar tiempos de
carga. Otros 10 casos más.
91
Guía para el desarrollo y documentació n de una aplicació n web
Código CA001-CO001
Se quiere comprobar que al escribir la Url en un navegador, sea cual sea, se accede correctamente con el
usuario anónimo.
Procedimiento de la prueba
Sin estar logado en el portal acceder a través de un navegador, sea cual sea, a una Url introducida
manualmente.
Datos de Entrada
Url
Resultados
OK
Código CA002-CO001
92
Guía para el desarrollo y documentació n de una aplicació n web
Procedimiento de la prueba
Datos de Entrada
Palabra a buscar
Resultados
Resultados Obtenidos
OK
CO002
Descripción de la Condición
Variantes
Procedimiento de la prueba
Datos de Entrada
Resultados
Casos de Prueba
93
Guía para el desarrollo y documentació n de una aplicació n web
A. CA001 Niveles 1
Código CA001-CO002
Procedimiento de la prueba
Acciones a realizar
Resultados Esperados
Se espera que navegue correctamente por los diferentes menús que no requieren un login
B. CA002 Niveles 2
Código CA002-CO002
Procedimiento de la prueba
Se profundiza en el menú.
Datos
Resultados Esperados
CO003
Descripción de la Condición
94
Guía para el desarrollo y documentació n de una aplicació n web
Los resultados de la búsqueda realizada se muestran correctamente según sea la búsqueda además de
paginada.
Variantes
Diferentes busquedas
Procedimiento de la prueba
futbol
Resultados Esperados
OK 7/5/2018
95
Guía para el desarrollo y documentació n de una aplicació n web
Código CA001-CO007
Procedimiento de la prueba
Datos
Resultados Esperados
Resultados de busqueda
Resultados Obtenidos
OK
Variantes
Procedimiento de la prueba
Para la validación se utilizaran diferentes herramientas tales como W3C, validadores etc
Datos
Resultados Esperados
Casos de Prueba
96
Guía para el desarrollo y documentació n de una aplicació n web
Código CA001-CO016
Procedimiento de la prueba
Datos
Resultados
Validar CSS
Resultados Obtenidos
OK
Código CA002-CO016
Procedimiento de la prueba
Datos
97
Guía para el desarrollo y documentació n de una aplicació n web
Resultados Esperados
Validar AA
Resultados
OK
Código CA003-CO016
Procedimiento de la prueba
Desactivar javascript
Datos
Resultados
Asegurarnos que las url son “amigables y se construye correctamente la url de la página.
Variantes
Procedimiento
Datos
Resultados Esperados
98
Guía para el desarrollo y documentació n de una aplicació n web
Casos de Prueba
Código CA001-CO018
Asegurarnos que las url son “amigables y se construye correctamente la url de la página.
Procedimiento
Datos de Entrada
Resultados
99
Guía para el desarrollo y documentació n de una aplicació n web
Variantes
Procedimiento de la prueba
Datos de Entrada
SiteMap.xml
Resultados Esperados
Casos de Prueba
Responsable
10
Guía para el desarrollo y documentació n de una aplicació n web
A. CA001 Sitemap
Código CA001-CO020
Procedimiento de la prueba
Automático
Datos
Resultados Esperados
Resultados Obtenidos
OK
B. CA002 Robots
Código CA002-CO020
Procedimiento de la prueba
Automático
Datos
Resultados Esperados
Resultados Obtenidos
10
Guía para el desarrollo y documentació n de una aplicació n web
OK
Variantes
Procedimiento de la prueba
Datos
Resultados Esperados
Casos de Prueba
A. CA001 SEO
Código CA001-CO021
Procedimiento de la prueba
Revisar las condiciones de SEO que ofrece google y comprobar que están debidamente cumplimentadas
10
Guía para el desarrollo y documentació n de una aplicació n web
Dato
Resultados Esperados
Variantes
Procedimiento
Aplicativo externo
Datos
Resultados
Resultados óptimos para el tipo de aplicativo web siempre dentro de los varemos estipulados
Casos de Prueba
A. CA001 Rendimiento
Código CA001-CO024
Pruebas de Carga
Procedimiento
10
Guía para el desarrollo y documentació n de una aplicació n web
Datos
Resultados Esperados
Resultados óptimos para el tipo de aplicativo web siempre dentro de los varemos estipulados
https://www.inapi.cl/portal/publicaciones/608/articles-1598_recurso_1.pdf
[ Required ]
[ StringLength( 100, ErrorMessage = "La {0} contraseña debe contener al menos {2}
caracteres de largo", MinimumLength = 8 ) ]
[ DataType ( DataType.Password ) ]
[ Display ( Name = "Nueva contraseña")]
public string New_Password
get;
set;
La siguiente lista hace relación a los caracteres restringidos en los campos a rellenar por el
usuario con el fin de evitar prácticas maliciosas.
10
Guía para el desarrollo y documentació n de una aplicació n web
<
>
“
%
(
)
¬
&
\
\\
%0d
%0a
\r
\n
Tabla 39: Caracteres prohibidos en campos
Los principales puntos de la nueva ley entrada en vigor este año 2018 son:
10