Publicado el 14 de Enero del 2017
830 visualizaciones desde el 14 de Enero del 2017
3,6 MB
174 paginas
Creado hace 10a (26/11/2013)
Evaluación de la calidad de código usando TDD
en el desarrollo de la lógica de negocio
de un sistema de información
para un club deportivo
Autor
Francisco José Gómez-Caldito Viseas
Tutor
José Juan Hernández Cabrera
(Departamento de Informática y Sistemas)
Las Palmas de Gran Canaria, a 26 de noviembre de 2013
A mis padres, que son la razón principal por la que, después de
tantos años, me embarcara de nuevo en la Universidad
A José Juan, mi tutor, que me convenció de que superara mis
inseguridades y aceptara un Trabajo de Fin de Grado que de verdad me iba
a enseñar a ser un mejor profesional
A mi esposa Jacqueline, por aguantarme todos esos días que
entraba en ‘ataque de pánico’
A los tipos que crearon Stack Overflow, y a todos aquellos que
ofrecen sus aportaciones, sin las cuales me habría encontrado más de una
vez en un callejón sin salida.
Y por último, aunque no menos importante, a la gente de
NDepend, por esa licencia “Academic Sponsor” que me ha permitido
realizar el estudio usando su impresionante herramienta, y a Roxanne, que
tan amablemente me ha atendido en todos mis correos.
Muchas gracias a todos.
Evaluación de la calidad del código usando TDD en el desarrollo de la lógica de negocio
de un sistema de información para un club deportivo
INDICE
PRÓLOGO ................................................................................................................................................... 7
INTRODUCION ............................................................................................................................................ 9
1. OBJETIVOS ............................................................................................................................................ 11
1.1. OBJETIVOS DEL PROYECTO .......................................................................................................................... 11
2. COMPETENCIAS CUBIERTAS .................................................................................................................. 13
3. APORTACIONES..................................................................................................................................... 15
4. NORMATIVA Y LEGISLACION ................................................................................................................. 17
4.1. LEGISLACIÓN GENERAL ............................................................................................................................... 17
4.1.1. LOPD............................................................................................................................................. 17
4.1.2. Derecho de Cita ............................................................................................................................ 18
4.2. NORMATIVAS APLICADAS AL PROYECTO ......................................................................................................... 19
4.2.1. Single Euro Payments Area (SEPA)............................................................................................... 19
4.2.1.1. Los Adeudos Directos Básicos SEPA ...................................................................................................... 21
5. ESTADO ACTUAL ................................................................................................................................... 27
5.1. LOS PROBLEMAS DE LAS METODOLOGÍAS CLÁSICAS........................................................................................... 27
5.1.1. De los requisitos al producto final................................................................................................ 27
5.1.2. El teléfono roto............................................................................................................................. 28
5.1.3. El modelo en cascada................................................................................................................... 29
5.1.4. Los modelos evolutivos ................................................................................................................ 32
5.2. LA ‘ALTERNATIVA ÁGIL’.............................................................................................................................. 34
6. EL AGISLISMO ....................................................................................................................................... 35
6.1. EL MANIFIESTO ÁGIL ................................................................................................................................. 35
6.2. EL AGILISMO Y SUS HERRAMIENTAS .............................................................................................................. 37
6.2.1. SCRUM ......................................................................................................................................... 41
6.2.2. Behaviod-Driven Developement (BDD) ........................................................................................ 44
6.2.3. TDD .............................................................................................................................................. 51
6.2.4. Refactorización, code quality y clases SOLID............................................................................... 57
6.2.5. Métricas de Código ...................................................................................................................... 60
6.2.6. Clean Code ................................................................................................................................... 65
6.2.7. Software Craftmanship ................................................................................................................ 69
7. ANÁLISIS ............................................................................................................................................... 71
7.1. RCNGC MEMBERS MANAGEMENT.............................................................................................................. 71
7.1.1. Requisitos ..................................................................................................................................... 71
7.1.2. Historias de usuario ..................................................................................................................... 72
7.1.3. Restricciones impuestas por el proyecto ...................................................................................... 72
7.1.3.1. Por las características del estudio ......................................................................................................... 72
7.1.3.2. Desarrollo sin ‘persistencia de datos..................................................................................................... 73
7.1.4. Diagramas de Clases y Dependencias .......................................................................................... 76
7.2. NDEPEND METRICS REPORTER.................................................................................................................... 76
8. REQUISITOS DE HARDWARE Y SOFTWARE ............................................................................................ 79
8.1. NDEPEND METRICS REPORTER.................................................................................................................... 79
9. DESARROLLO Y HERRAMIENTAS ........................................................................................................... 81
9.1. EL SISTEMA DE DESARROLLO........................................................................................................................ 81
9.1.1. Hardware ..................................................................................................................................... 81
9.1.2. Software....................................................................................................................................... 81
Página 5 de 174
Evaluación de la calidad del código usando TDD en el desarrollo de la lógica de negocio
de un sistema de información para un club deportivo
9.2. HERRAMIENTAS DE DESARROLLO .................................................................................................................. 82
9.2.1. Git................................................................................................................................................. 82
9.2.1.1. GIT ......................................................................................................................................................... 83
9.2.1.2. GitHUB................................................................................................................................................... 86
9.2.1.3. SmartGit ................................................................................................................................................ 89
9.2.2. SpecFlow ...................................................................................................................................... 93
9.2.3. MSTests...................................................................................................................................... 100
9.2.4. NCover........................................................................................................................................ 105
9.2.5. NDepend .................................................................................................................................... 106
10. RESULTADOS DE LA EVALUACION DEL CÓDIGO................................................................................. 115
10.1. SOBRE LA METODOLOGÍA DE EVALUACIÓN.........................
Comentarios de: Evaluación de la calidad de código usando TDD en el desarrollo de la lógica de negocio de un sistema de información para un club deportivo (0)
No hay comentarios