Te 16361
Te 16361
Te 16361
DEPARTAMENTO DE ELECTRÓNICA
PROYECTO DE GRADO
BOGOTÁ D.C.
2013
NOTA DE ACEPTACIÓN
___________________________________________
___________________________________________
___________________________________________
___________________________________________
___________________________________________
____________________________________
FIRMA DEL DIRECTOR
_______________________________
JURADO
_______________________________
JURADO
I
AGRADECIMIENTOS
Los autores expresan sus agradecimientos al Ingeniero Camilo Enrique Rodríguez Torres por su
acompañamiento, dedicación, colaboración y entera disponibilidad como Tutor del Proyecto de
Grado descrito en el presente documento.
Y a todos los familiares y amigos de los autores del proyecto por sus consejos y apoyo
incondicional, siempre pretendiendo el cumplimiento de las metas planteadas.
II
1. Información General
Tipo de documento Trabajo de grado
2. Descripción
Tesis de grado presentada para optar por el titulo de Licenciado en Electrónica, el cual se propone
el diseño de una Clave Taxonómica Virtual para la identificación de Insectos Acuáticos, siendo el
primer trabajo realizado en conjunto con el Departamento de Biología, con el cual se llego a la
decisión de implementarlo para el uso libre de los estudiantes y docentes interesados en la
información de los insectos de la colección. Para la fundamentación del proyecto se realizo la
toma detallada de los siguientes requerimientos: sistematización de datos, creación de la
aplicación que administrara la información completa de los insectos, agilización de proyectos y las
pruebas de aceptación necesarias.
3. Fuentes
En las referencias se proporciona una visión global de lo que abarca una clave taxonómica se
tomaron como referencia lagunas claves virtuales existentes como lo son: Bartley, M., & Cruz, N.
(2001). NavyKey, Cavalcanti, M. J., & Kluyver, T. (2000). FreeDelta, Dallwitz, M. (2000). Delta
Key, Pankhurst, R. (1991). PANKEY y Pankhurst, R. (2002). The PANDORA, las cuales son
herramientas muy complicadas para manejar por personas inexpertas o que hasta ahora comienzan
con sus estudios. También es importante resaltar el aporte obtenido para el desarrollo practico del
proyecto obtenido por The PHP group. (1996). The PHP group, Acevedo, C. F. (2009), Baith, E.
III
(2003), Bascón, E. (2010), Buschmann, F. M. (1996), XAMPP. (2002), Scrum manager. (2013),
Ladejo, A., & Xavier. (2010), Casillas, l., Marc, G., & Pérez, Ó. (2000), Dewayne Perry, D., &
Wolf, A. (1992). Y las fuentes que permitieron el desarrollo biológico de la aplicación como lo es
Oscoz J., G. D. (2009 ). Macro invertebrados de la Cuenca del Ebro: descripción de taxones y
guía de identificación. Bases conceptuales que permitieron un desarrollo adecuado del proyecto.
4. Contenidos
En este proyecto se encuentra la implementación de una aplicación con las opciones de realizar
tres tipos de búsqueda, además de un espacio con la terminología necesaria para la comprensión
de los estudiantes que hasta ahora tienen contacto con el estudio de estos insectos, cuenta con una
introducción por parte de los dos departamentos y la clasificación de los insectos presentes en esta
colección, como una estrategia que permita agilizar la organización de los insectos de la colección
y una herramienta de información para los estudiantes ajenos a la colección y ala línea que estén
interesados en consultar sobre los especímenes presentes en la C.I.A. (Colección de Insectos
Acuáticos).
5. Metodología
Con el fin de una aplicación actualizable la cual está sujeta a posibles cambios que el
Departamento de Biología hiciera, tanto de contenido como de visualización o manejo de la
información, la metodología empleada para el desarrollo de la aplicación que mejor permitiría el
éxito de la ésta como producto final es la metodología ágil o específicamente la “SCRUM.
6. Conclusiones
Como los organismos que se encuentran en la Colección de Insectos Acuáticos son una parte
importante en el desarrollo académico de los estudiantes de Licenciatura en Biología, es de gran
ayuda la creación de una aplicación que les permita a ellos el conocimiento e información de los
especímenes allí encontrados, por lo cual la información que contiene la aplicación junto con sus
imágenes e interactividad entre el usuario y la aplicación les permite informarse sobre los
organismos de la colección y la descripción taxonómica y ecológica de este.
El desarrollo del proyecto se estableció bajo los parámetros de una metodología ágil (Scrum), la
cual permitió una relación constante entre los dos departamentos, mostrando los avances de la
aplicación y realizando las correcciones correspondientes a medida que se avanzaba en el
proyecto. Se utilizaron referentes que aportaron al diseño y desarrollo de la aplicación tanto en la
construcción conceptual como en el diseño del proyecto.
IV
Elaborado por: CENTURIÓN GARZÓN, Pedro; PARDO MARTÍNEZ, Jhonatan.
V
TABLA DE CONTENIDO
1.6 ANTECEDENTES……………………………………………………………………….20
2 MARCO DE REFERENCIA………………………………………………………………….24
VI
2.1.2 Arquitectura de Software………………………………………………………26
2.1.3 Framework…………………………………………………………………….27
2.1.4 YII……………………………………………………………………………..27
2.1.5 PHP……………………………………………………………………………28
2.1.6 HTML5………………………………………………………………………..29
2.1.8 MySQL………………………………………………………………………..30
2.1.9 Xampp…………………………………………………………………………31
3 METODOLOGÍA……………………………………………………………………..40
VII
4.5.1 Test Case (casos de prueba)……………………………………………….63
5 CONCLUSIONES…………………………………………………………………………….76
6 RECOMENDACIONES………………………………………………………………………78
7 BIBLIOGRAFÍA……………………………………………………………………………...79
8 CIBERGRAFÍA……………………………………………………………………………….80
9 REFERENCIAS……………………………………………………………………………....82
VIII
TABLA DE TABLAS
IX
TABLA DE ILUSTRACIONES
X
1 PLANTEAMIENTO DEL PROBLEMA
Para conocer la diversidad que se encuentra presente en los diferentes ecosistemas del país, se ha
hecho pertinente realizar diversas colecciones biológicas que pretenden establecer una línea de
información ecológica. La Línea de Investigación, Biodiversidad y Conservación de los
Ecosistemas Acuáticos de la Región Andina, como grupo de investigación del Departamento de
Biología de la Universidad Pedagógica Nacional, posee una amplia colección de insectos
acuáticos que sirve de comparación y referencia para estudios taxonómicos y ecológicos tanto a
los estudiantes de la Licenciatura en Biología, como a los docentes a cargo de la misma.
Los diferentes análisis, observaciones e identificaciones que deben realizar los estudiantes o
docentes para la identificación de un insecto recolectado, debe tener como guía diferentes claves
taxonómicas y ecológicas donde se determinen características específicas para cada espécimen;
por ende, a menos que la persona que realiza dicha identificación sea experta o tenga un amplio
conocimiento del tema, es un proceso que puede tardar desde horas hasta días dependiendo del
tamaño y las herramientas con las cuales se dispongan en el proceso de identificación. Los
estudiantes que cursan los primeros semestres o los que pertenecen a otras líneas de
investigación del departamento, al no poseer amplio conocimiento terminológico y característico
de la especificidad del insecto de estudio, presentarán dificultades si necesitan identificar uno de
los insectos, y aunque sea posible identificarlo, el tiempo empleado y la documentación
necesaria para su realización son muy amplías y con alto grado de complejidad.
10
los insectos pudiendo ser iguales en taxonomía, pueden tener características ecológicas distintas
diferenciando así la identificación de los diferentes especímenes.
Es por ello que es necesario crear un sistema que además de permitir la identificación
característica de un insecto determinado de la colección del Departamento de Biología, permita
también su numeración en términos cuantitativos y la fácil ubicación del mismo en términos
físicos de almacenamiento; un sistema de fácil manejo, ágil en términos de búsqueda de
caracteres específicos y de acceso para todos los estudiantes y docentes del departamento.
1.1.2 DIAGNÓSTICO
11
cuantitativa más nos descriptiva con los insectos que hacen parte de ella. Los que no pertenecen
a ninguna línea de investigación
por ser de primeros semestres en la Licenciatura de Biología, no conocen nada referente a las
colecciones de las diferentes líneas de investigación, solamente que existen como colecciones.
12
El diagnóstico y sus factores se pueden observar en el siguiente gráfico:
1.1.3. PRONÓSTICO
13
Ilustración 2: Relación sistema usuario
Las relaciones del usuario en cuestiones de búsqueda y la información a la cual tendrá acceso y
será mostrada por el sistema se encuentran descritas en la ilustración
Como se mencionó anteriormente en la necesidad con la cual se dio inicio a la identificación del
problema acá descrito, la línea de investigación S.A.R.A del Departamento de Biología en
función de cliente (usuario), planteó las características que según ellos serían necesarias para el
correcto funcionamiento de la aplicación, teniendo en cuenta como fin último la correcta y fácil
identificación de un insecto específico perteneciente a su colección. Teniendo en cuenta que
cualquier persona debería poder identificar un insecto determinado, siempre será el sistema o la
aplicación la que permita dicha identificación en base a características descritas por un usuario,
por ende se plantean las siguientes preguntas problema:
14
necesidad. Posteriormente una aplicación cliente-servidor porque siempre habrá un usuario que
realizará una petición y un servidor (en éste caso la aplicación) que dará respuesta a dicha
petición, por ende, al existir esa relación directa entre usuario y servidor, la arquitectura
planteada será la que permita dicha interacción.
¿Cómo?
1.2 JUSTIFICACIÓN
Por otra parte la línea de investigación no posee una base de datos completa de los insectos que
conforman su colección, lo cual dificulta la búsqueda de los insectos físicos en caso de estudio.
Además, no poseen claves ecológicas de ningún tipo; los estudios generalmente se realizan
15
taxonómicamente y una vez determinada las características taxonómicas, deben recurrir a
diferentes fuentes para observar su correspondiente ecología. Para identificar un insecto, se hace
necesario recurrir como mínimo a cuatro (4) fuentes tanto taxonómicas como ecológicas y al
estar separadas una de la otra, se debe también condensar y unificar dicha información
descriptiva para cada insecto; todo éste proceso se realiza para un solo insecto, una sola muestra.
16
1.3.1. UTILIDAD
Por otra parte, la aplicación servirá de base de datos para cuantificar los diferentes insectos que
existen en la colección.
Además la aplicación será de fácil acceso a cualquier persona, de manera que la colección se
hará conocida para todas las líneas y podrá ser usada por quien deseé sin necesidad de ser
experto en los temas que refieren a los insectos contenidos en la misma.
1.3.2. FUNCIONALIDAD
La aplicación funcionará como una página web facilitando el acceso a sus diferentes funciones.
Funcionará como base de datos y como clave tanto ecológica como taxonómica, de acuerdo a la
información requerida y facilitada por el Departamento de Biología.
1.3.3 ORIGINALIDAD
La aplicación descrita en éste trabajo no existe para los insectos descritos en la colección del
Departamento de Biología, sabiendo que dicha colección hace referencia a insectos colombianos.
Por otra parte, teniendo en cuenta que siempre recurren a claves dicotómicas o distintas fuentes
textuales, es una aplicación nueva para ellos cuyo funcionamiento no se había tenido en cuenta
antes y cuyos resultados condensan y poseen todo lo necesario de manera ordenada, sencilla y
ágil.
17
1.4 DELIMITACIÓN
2. Para el orden Trichoptera, la información estará determinada para todas las familias
pertenecientes a dicho orden y para todos los géneros asociados a sus correspondientes
familias.
3. Para el orden Coleóptera, la información estará determinada para todas las familias
pertenecientes a dicho orden; los géneros solamente contendrán información
taxonómica.
4. Cada familia y género contendrá al menos dos (2) imágenes descriptivas dependiendo
su existencia en la colección, a excepción de los géneros de Coleóptera que no
contendrán imágenes.
18
1.5 OBJETIVOS
19
1.6 ANTECEDENTES
La idea del presente proyecto surgió de la observación de como los estudiantes y docentes de
biología identificaban insectos. Al ver la manera como lo hacían y después de conversar con los
coordinadores a cargo de la Línea de Investigación, Biodiversidad y Conservación de los
Ecosistemas Acuáticos de la Región Andina, se planteó como propuesta la idea desarrollada en
éste documento. Para esto se remitió a proyectos existentes cuyo funcionamiento y estructura de
desarrollo fuese similar a la que se trataba de plantear, entre los cuales se encuentran:
DELTA KEY, (Description Language for Taxonomy) es un método flexible gratuito para
codificar descripciones taxonómicas en el tratamiento informático. Se utiliza para realizar
descripciones en lenguaje natural, llaves convencionales, clasificaciones cladística y sistemas de
recuperación de información. Fue desarrollado por Mike Dallwitz ,Toni Paine, Eric Zurcher
yLeslie Watson en conjunto por la Australian National Parks and Wildlife Service y el National
Science Foundation de los Estados Unidos de América. (Dallwitz, 2000)
El sistema se encuentra desarrollado en MS-DOS y todas las consultas se ejecutan por consola,
teniendo presentes los términos técnicos de las características taxonómicas en inglés.
20
(Botánico y programador), Denis Ziegler (Programador), Guillaume Rousse (Biólogo y
desarrollador de software), Bastiaan Wakkie (Entomólogo y desarrollador de software), en Abril
del 2000.
Desarrolladores del formato DELTA, con el cual muchos otros identificadores de insectos
virtuales muestran la información. Dicho formato específica como se debe mostrar los caracteres,
que patrones deben ser descritos para realizar consultas y en términos genéticos de descripción
de árbol referencial de órdenes con características determinadas (Cavalcanti & Kluyver, 2000).
NAVY KEY, consiste en una herramienta gratuita de descripción de caracteres realizada con el
formato DELTA. Fue desarrollada por la BIOTA Southern Africa y financiada por el BMBF
(Federal Ministery of Education and Research) de Alemania, bajo los consentimientos y apoyo
de Mike Dallwitz, pionero en desarrollo de buscadores de identificación de caracteres
taxonómicos (DELTA KEY).
21
PANKEY, es un grupo de herramientas especializadas en la identificación de términos
biológicos y médicos. El programa es interactivo y cuenta con imágenes. Se pueden realizar
búsquedas “on line” con un editor propio de manejo de taxones.
Análisis de caracteres.
Conversión de análisis cladísticos.
Generación de descripciones taxonómicas.
Construcción interactiva de claves.
Generación de claves impresas.
Identificación en línea.
Descripciones diagnósticas.
Editor DELTA.
El software es pago y tiene un precio de entre US 185 y US 750 dependiendo el uso con el cual
se compre la licencia. (Pankhurst R. , 1991)
PANDORA, es un sistema de bases de datos creado en 1999 por la Royal Botanic Garden
Edinburgh en Alemania, para proyectos taxonómicos con amplio contenido de biodiversidad en
insectos, flora, ecología. Se ejecuta en DOS para ordenadores con Windows.
Es un sistema gratuito que funciona bajo el formato DELTA descrito anteriormente. Su búsqueda
se realiza por medio de consola. (Pankhurst R. , 2002)
22
TAXONOMÍA DE REPTILES, Es una aplicación que brinda al usuario interesado realizar la
consulta de las diferentes clases de reptiles que existen en España, acompañado de una
descripción y una foto del reptil buscado. Esta aplicación brindo una visión general de cómo
podría llegar a ser una clave virtual, sin embargo esta página solo postea la clave, aspecto que no
realiza un cambio trascendental en la forma de identificación y clasificación de los reptiles, ya
que remite al lector a realizar el arduo trabajo de seguirla como si se encontrase en un libro,
como normalmente se encuentran. (Taxonomia de reptiles, 2008)
La muestra de datos de una determinada selección por parte del usuario, posee imágenes y
características específicas del espécimen buscado. Toda la información se maneja en inglés.
(Darling, 2013)
23
2 MARCO DE REFERENCIA
En las diferentes fases de diseño se hizo uso de MySQL como motor de almacenamiento de
bases de datos. Del mismo modo se usó YII cuyo lenguaje está basado en PHP, HTML5 y con
arquitectura de diseño Modelo Vista Controlador.
El MVC es un patrón de arquitectura de software en el cual se separa los datos y la lógica de una
aplicación, desde la interfaz de usuario hasta el modulo que se encarga de la comunicación y
gestión de los procesos de la aplicación. Dividiéndose en tres componentes, el modelo, la vista y
el controlador (Bascón, 2010).
El controlador responde a los eventos o acciones del usuario, e invoca estas peticiones al modelo
cuando se necesita consultar la información, comportándose como intermediario entre la vista y
el modelo, enviando la información a los dos.
Por último se tiene la vista la cual es la presentación del modelo que permita la interacción del
usuario con la aplicación (Bascón, 2010).
24
Los frameworks MVC iniciales esbozaban un enfoque de cliente ligero (son sistemas
informáticos individuales) en el cual la mayoría de las funciones de la vista, el modelo y el
controlador recaen en el servidor. Allí el cliente envía la petición al controlador y recibe por
respuesta una vista de una página completa, en donde el modelo, el controlador y parte de las
acciones de la vista se encuentran alojadas en el servidor.
Las mayores ventajas que posee el MVC se encuentran en la organización e implementación
modular además de la actualización de los resultados, ya que esta se realiza constantemente por
medio del modelo de la aplicación, y cuando se modifica una vista esta no altera las demás
vistas.
Realiza la interpretación de las
acciones del usuario a la
CONTROLADOR aplicación por medio de los
medios físicos, presentado un
informe al modelo y a la vista
para realizar correctamente las
interacciones entre estas dos
Se encarga del manejo de los datos y
el comportamiento de la aplicación,
respondiendo a los requerimientos
planteados en la vista y respondiendo
a las instrucciones del controlador.
Representación
visual del
MODELO VISTA modelo para el
usuario
Ventajas:
A continuación se mencionaran las ventajas que tiene utilizar la arquitectura de software MVC,
teniendo en cuenta lo que dice Bascon Ernesto.
Al momento de realizar cualquier acción en la aplicación esta siempre mostrara en sus
vistas información actualizada.
25
Como la aplicación se encuentra dividida entre el modelo, la vista y el controlador, si se
desea hacer un cambio en el modelo para incrementar o eliminar métodos y/o datos solo
se hace necesario la modificación del modelo y sus vistas correspondientes, sin interferir
en el proceso de comunicación.
Las modificaciones que se realizan en las vistas no afectan los otros módulos asociados a
la aplicación.
El MVC ha demostrado ser un patrón muy útil ya que al compararlo con otros patrones
de diseño el MVC provee una manejabilidad y sostenibilidad.
Desventajas:
En el desarrollo inicial de las aplicaciones que utilizan el patrón modelo vista controlador
(MVC) se hace mas extenso que en las aplicaciones que se desarrollan sin este patrón,
ya que el desarrollador debe iniciar creando clases y demás elementos necesario para el
desarrollo de la aplicación, sin embargo en aplicaciones posteriores es mucho más fácil
trabajar con estas que con las que no utilizaron el patrón MVC. (Bascón, 2010)
26
2.1.3 FRAMEWORK
Se puede considerar un framework como una aplicación incompleta, la cual está dispuesta para
la construcción de diferentes aplicaciones como lo pueden ser aplicaciones web, desarrollo de
juegos, aplicaciones medicas, entre muchas otras que se le puedan ocurrir al desarrollador. Esta
estructura permitirá al programador una estructura personalizada de sus componentes y la
facilidad de intercambiarlos y reutilizarlos en posteriores proyectos.
Mediante los frameworks los desarrolladores crean sus propias estructuras trasferibles para la
construcción de las aplicaciones, por medio de las cuales se facilite la trasferencia de código de
una aplicación ya realizada a una en proceso, acelerando los pasos de diseño y promoviendo
buenas prácticas de desarrollo mediante el uso de patrones. Convirtiendo cada aplicación en un
sistema de código reutilizable que agilice y facilite el diseño de estas (Gutierres, 2003).
2.1.4 YII
27
2.1.5 PHP
Las siglas PHP quieren decir Hypertext Pre-processor (inicialmente PHP Tools, o, Personal
Home Page Tools), aunque el creador original fue Rasmus Lerdorf la implementación es
producida por el grupo de PHP (THE PHP GROUP). Este lenguaje de programación es utilizado
en más de 20 millones de sitios web y en un millón de servidores.
PHP posee un gran parecido con los lenguajes de programación c y perl, los cuales permiten a
los programadores crear diversas aplicaciones complejas hasta las más sencillas, de una manera
muy fácil. Permitiendo la involucración directa con aplicaciones de contenido dinámico, sin
necesidad de aprender nuevamente un grupo de funciones.
En la interacción que tiene el usuario con el servidor para que este envía una página web, el
servidor ejecuta una interpretación de PHP, con el cual genera el contenido solicitado ya sea
desde la toma de información de una base de datos, enviando este resultado al servidor el cual
selo redirección al usuario (The PHP group, 1996).
28
2.1.6 HTML5
Las bases de datos son un conjunto de información que se encuentra de manera estructurada en
registros, y se almacena con base en un soporte electrónico que es legible desde un ordenador
(Rodriguez yunta, 2001).
Las bases de datos tienen como objetivo la unificación de los datos que esta maneja, de igual
forma con las aplicaciones y los programas que harán uso de las bases de datos. El uso de las
DB (Bases de datos) vienen adarce después de la problematización que se poseían al momento
de diseñar una aplicación o programa, ya que los programas se codificaban con los datos que se
necesitaban concretamente, llevando a una dependencia de los programas con relación a los
datos, ya que la estructura de los ficheros va incluida dentro del programa y al realizar cualquier
cambio en esta estructura conllevara a que se haga la modificación correspondiente de los
programas. Sin mencionar la redundancia, la inconsistencia de los datos, y demás factores que
causan un ocupa miento en memoria, es por ello que con las DB se busca la independizar los
datos de la aplicación, manteniéndolos en espacios diferentes, residiendo en memoria estos
últimos y los programas utilizando un sistema gestor. Este ultimo es el que recibe la petición por
parte del programa para la manipulación presentes en la DB y devolver al programa una
respuesta acorde y correcta de la petición realizada (Alicante, 2003).
Dependiendo el uso que se desee dar a la base de datos, existen varios tipos:
29
Bases de datos estáticas
Son bases de datos de sólo lectura cuya información no puede ser modificada por el
usuario. El tipo de información que manejan puede ser variante desde información de
datos históricos hasta nombres de listas de una empresa
Son bases de datos cuya información almacenada puede ser modificada en cualquier
momento, permitiendo actualizar, borrar o leer los datos que se encuentran almacenados
en ella. Permiten acceder a ellas mediantes consultas.
Son bases de datos cuya información contiene datos específicos relacionados a una
determinada bibliografía. Los registros que contienen hacen referencia a autores de
determinados escritos con sus nombres, año de publicación, editorial, título, entro otros.
Son bases de datos cuya finalidad radica en el envío y la recepción de los datos que en
ella se encuentran. Pretenden siempre una gran velocidad de tránsito de información.
(Alicante, 2003)
2.1.8 My SQL
MYSQL un sistema con el cual se puede administrar y relacionar la información en una base de
datos. Al se un sistema de buen rendimiento se ha popularizado entre los desarrolladores y
programadores por su practicidad y facilidad de manejo permitiendo realizar operaciones
sencillas (crear, borrar, editar, entre otros) hasta trabajos complejos en la medida en que la
aplicación lo necesite. Y a pesar de que comparándolos con otros sistemas por el mismo estilo le
hacen falta unos detalles avanzados que otros si poseen, es una opción atractiva en el desarrollo
de las aplicaciones ya sean comerciales, de entretenimiento, educación y demás, precisamente
por su fácil uso y su tiempo de ejecución (Casillas, Marc, & Pérez, 2000).
30
Actualmente MYSQL está disponible para diferentes plataformas, y sin importar estas el
desarrollo programaciones que se realice con esta no difiere de una plataforma a otra permitiendo
la interacción con un servidor MYSQL en modo de texto, además de que utiliza una herramienta
del cliente mysql-client. Con la cual se permite a los usuarios conectaos a lo largo de la red local
la realización de diferentes tareas sobre una base de datos ubicada en el servidor de la red en la
cual se encuentran (sinemed, 2008).
2.1.9 XAMPP
Servidor bajo licencia GNU (software libre) que consiste principalmente en la integración de
bases de datos a través de Php My Admin por MySQL, el servidor web Apache con aceptación
de los lenguajes para scripts Php , Perl y Html. Permite interpretar páginas web dinámicas con
cualquier contenido. (XAMPP, 2002)
FileZilla: Es un cliente FTP (es decir que emplea protocolo FTP para conexión a páginas
web) de código abierto. Básicamente permite administrar sitios web, registrar mensajes
por medo de registros de respuestas por parte del servidor y visualizar archivos o carpetas
a través de la ventana principal. (XAMPP, 2002)
31
plantean la comunicación entre los programadores y el cliente de manera directa en lugar de
trámite con papeleos. De ésta manera el cliente es la prioridad y se pretende cumplir sus
expectativas a gusto. Lo más importante de ésta metodología es que la aplicación o sistema
diseñado, sebe ser de calidad haciendo que el producto final cumpla con todo lo planeado.
Además de esto, ésta metodología al no poseer una planeación directa y estipulada, permite
cualquier tipo de cambio en cualquier momento del desarrollo del proyecto.
Todas las reglas planteadas por las metodologías ágiles, cumplen a diferentes estatutos
denominados Manifiesto Ágil, el cual se describe más adelante en éste proyecto. A continuación
se muestra el gráfico que describe el comportamiento de las metodologías ágiles. (Ladejo &
Xavier, 2010)
32
Crystal Methodologies: El planteamiento básico de éste tipo de metodología radica en
priorizar a las personas que desarrollan el proyecto, ya que de ellas depende o no el éxito
del proyecto. Plantea del mismo modo reducir al máximo la cantidad e elemento o
artefactos que serán producto final del proyecto. Todo depende del equipo de trabajo, por
ende plantea enfatizar en las habilidades, las destrezas y la comunicación entre el equipo
participante.
Adaptive Software Development (ASD): Al igual que las otras metodologías posee un
proceso iterativo y adaptable a posibles cambios, pero orientándose más a los
componentes del software que a las tareas planteadas. Siempre en un proceso
retroalimentado donde cada muestra permite volver a iniciar de nuevo el ciclo de
desarrollo.
Feature Driven Development (FDD): Igualmente iterativo pero con iteraciones cortas
de un máximo de límite propuesto de dos (2) semanas. Plantea la reunión de las
características que deberá poseer el software y posteriormente la definición de las fases
de diseño e implementación.
Lean Development (LD): En éste tipo de metodología ágil los cambios son considerados
riesgosos pero que al ser manejados correctamente pueden convertirse en oportunidades
para mejorar las condiciones del software y por ende la productividad deseada y
planteada por el cliente. Su principal característica es desarrollar diferentes estrategias o
mecanismos que permitan determinar dichos riesgos y por ende implementar los cambios
pertinentes (Scrum manager, 2013).
Éste modelo cuenta con todos los requerimientos o estatutos planteados por la metodología ágil descritos
anteriormente. Básicamente se rige bajo el Manifiesto Ágil y cumple las características iterativas
33
(denominadas Sprints) e incrementales que ésta posee, permitiendo cambios en el desarrollo del proyecto
y priorizando al cliente en cuanto a las especificaciones funcionales del mismo.
Básicamente inicia con la visión general del producto en la cual se especifican las principales
características funcionales del proyecto. Éstas plantean un desarrollo en tiempo corto a manera
de focalizar posibles cambios y dar idea al cliente de la posible imagen que tendrá el proyecto.
Cada periodo de entrega o avance, es una iteración que finaliza al momento de entregar el
modelo parcial funcional al cliente. Como la metodología ágil plantea reuniones constantes con
el cliente, en el modelo Scrum éstas reuniones son las que retroalimentarán los avances del
proyecto y por ende la aplicación de posibles correcciones (Ladejo & Xavier, 2010).
El modelo Scrum plantea diferentes roles para su desarrollo los cuales se describen a
continuación:
Roles principales :
Roles de Scrum
Equipo de desarrollo
El equipo de desarrollo hace referencia a los integrantes del grupo que desarrollan el proyecto.
Bajo su responsabilidad está la culminación exitosa del trabajo. Los integrantes del equipo
poseen las habilidades necesarias para analizar, diseñar, probar, documentar y desarrollar el
proyecto siempre con la finalidad de cumplir sus objetivos.
El modelo Scrum no plantea divisiones del grupo por áreas de trabajo independientes que se
unirán posteriormente, sino que al contrario, el equipo trabaja unido y el avance del proyecto se
hace de manera conjunta, permitiendo así que cada integrante comprenda cada parte desarrollada
del proyecto.
34
Roles Auxiliares
Los roles auxiliares en los Scrum, hacen referencia a aquellos roles que no posee un rol formal y
no están involucrados directamente con el desarrollo del proyecto. Hace referencia a los
usuarios, expertos y otros interesados (StakeHolders) que puedan estar en contacto con el
proyecto de manera definitiva una vez terminado o simplemente durante su desarrollo sin hacer
parte de los Scrum ni con las características que determinan al ProductOwner (Scrum manager,
2013).
Elementos de Scrum
Los elementos que componen una implementación académica en Scrum son los siguientes:
Son las listas de funcionalidades que necesita el cliente, las especificaciones o requerimientos
en base al producto deseado.
Son las listas de tareas que se realizan en un Sprint. Básicamente hace referencia a los
planteamientos realizados por el Scrum como medidas para desarrollar el proyecto (Scrum
manager, 2013).
Para el desarrollo de una clave taxonómica hay que tener claro que la taxonomía es una ciencia
encargada de la estructuración organización de los seres vivos en grupos específicos. La
organización de estos grupos está sujeta a las semejanzas y diferencias que poseen lo seres vivos,
desde donde se intenta reflejar por medio de un sistema jerárquico de taxones (se llama taxón a
35
los grupos de individuos organizados) las relaciones evolutivas e históricas entre estos individuos
(Acevedo, 2009).
Para poder clasificar o identificar un ser vivo en una de las categorías descritas anteriormente se
hace necesario tener criterios de clasificación los cuales pueden se basan en los desarrollos
tecnológicos, buscando clasificarlos dependiendo de su evolución. Sin embargo a medida que la
tecnología avanza y permite encontrar nuevas características de cada ser vivo estos criterios se
van actualizando proporcionando una nueva forma de clasificación (Acevedo, 2009).
Las claves taxonómicas se encuentran de forma ordenada mostrando las características de los
grupos de organismos o taxón, por medio de llaves o condicionales, para cada carácter se
presentan dos variantes por ejemplo color del vientre o longitud de una antena. Cada una de estas
características se les llama entradas de la clave (Acevedo, 2009).
Hay que tener en cuenta que cada una de las claves se construyen dependiendo de un lugar
especifico (lugar geográfico) y un grupo determinado, ya que cualquier variación en el clima o
en la superficie sobre la que el individuo se encuentre puede marcar una gran diferencia el uno
con el otro, aunque compartan características similares o sean casi iguales. Para la construcción
de estas claves se utilizan pares de frases contrastantes, las cuales separan en grupos diferentes
las especies (clasificación más baja, la más especifica posible) (Acevedo, 2009).
Cabe resaltar que los taxones se encuentran presentes en cualquier organismo, por tanto las
claves taxonómicas no describen solamente características de animales, sino también de plantas.
Por tanto es posible encontrar claves taxonómicas para cualquier ser vivo que sea estudio de la
biología y de cualquiera de sus ciencias.
Los tipos de claves taxonómicas existentes se describen a continuación:
Clave dicotómica
Son el tipo de claves taxonómicas más usadas. Éstas presentan dos alternativas para
escoger, cada una con características diferentes que llevan a diferentes identificaciones.
Su funcionamiento es de rechazo, es decir, si cumple con una característica o si no lo
hace, cumple con otra.
36
Existen dos (2) tipos de claves dicotómicas:
a. Dentadas:
También conocidas como escalonadas o con sangría. Ésta clave posee un par de
alternativas sucesivas en divisiones, donde al lado derecho posee un número que
indica el lugar al cual dirige dicha característica. Dicho lugar pertenece a otra
característica y el mismo proceso.
b. Paralelas:
Claves arborescentes
Éste tipo de claves están diseñadas en esquema de “árbol”. Básicamente se inicia desde el
origen o la base del árbol y siguiendo la ramificación dependiendo la bifurcación que se
desee seguir, hasta llegar a la identificación requerida.
37
Ilustración 13: Ejemplo clave arborescente tomado de http://datateca.unad.edu.co.
Claves sinópticas
Éste tipo de claves listan los tacones o características que definen un espécimen
particular. Toda la descripción se encuentra en forma de párrafo y algunas veces también
posee enunciados enumerados como la dicotómica.
Claves múltiples
Son claves que poseen varias entradas y se encuentran estructuradas por grupos de
caracteres no característicos. Básicamente se realiza una división de los taxones en
grupos y conforme a la presencia o no de los diferentes taxones en un grupo determinado
se logra la identificación.
Estos insectos son los que poseen un tamaño mayor a 0.5 mm de largo, lo cual los hace más fácil
de observar en comparación a otros insectos. Estos insectos son utilizados para la evaluación de
la calidad de las aguas, ofreciendo la ventajas de simplicidad metodológica, la rapidez en la
obtención de resultados y una alta confiabilidad, haciendo de estos métodos la herramienta mas
confiable para el cuidado de la calidad del agua en las cuencas y ríos (Oscoz J., 2009 ).
38
De acuerdo con la aparición de estos insectos en el agua, dará un nombre diferente al tipo de
fauna. Cuando los organismos se encuentran en el fondo del lago se le llama bentos o fauna
béntica, adheridos a sustratos como rocas, plantas acuáticas o residuos vegetales, por ejemplo
que se hallan debajo de los troncos o residuos vegetales, haciendo túneles entre estos o
adhiriéndose a ellos por medio de uñas anales o simplemente pegados a estos (Oscoz J., 2009 ).
39
3 METODOLOGÍA
Teniendo en cuenta que el desarrollo de la aplicación sería variante a los posibles cambios que el
Departamento de Biología hiciera, tanto de contenido como de visualización o manejo de la
información, la metodología empleada para el desarrollo de la aplicación que mejor permitiría el
éxito de la ésta como producto final es la metodología ágil o específicamente la “SCRUM”.
Los puntos planteados por el “Manifiesto ágil” están en entera relación con los objetivos
planteados para el desarrollo de la aplicación en cuestión. Básicamente el rol del Departamento
de Biología es el del cliente y por ende el proyecto debe tener todas las características o
requisitos que ellos propongan.
Las reuniones “cara a cara” son necesarias ya que son las que permiten el éxito o fracaso de la
aplicación.
40
Tabla 1 SPRINTS
Versión preliminar diseño visual de
la aplicación por Carolina Vargas y
14/08/2013 1.0 Jhonatan Pardo y
Francisco Medellín del Pedro Centurión
Departamento de Biología de la
Universidad Pedagógica Nacional
Versión revisada de página de inicio
y ubicación de links de la aplicación
11/09/2013 1.0 Jhonatan Pardo y
por Carlina Vargas del Pedro Centurión
Departamento de Biología de la
Universidad Pedagógica Nacional
Versión con imagen de inicio y
links de introducción y terminología
25/09/2013 1.0 Jhonatan Pardo y
funcionales, revisada por Carlina
Pedro Centurión
Vargas del Departamento de
Biología de la Universidad
Pedagógica Nacional
Versión con todos los links
funcionales y pruebas de búsqueda
25/10/2013 1.0 Jhonatan Pardo y
preliminares en MySql revisada por Pedro Centurión
Francisco Medellín del
Departamento de Biología de la
Universidad Pedagógica Nacional
Versión preliminar ajustada con
buscadores y links funcionales,
25/10/2013 1.0 Jhonatan Pardo y
revisada por Francisco Medellín del Pedro Centurión
Departamento de Biología de la
Universidad Pedagógica Nacional
Versión final y modificada de la
aplicación funcional revisada por
08/11/2013 1.0 Jhonatan Pardo y
Carolina Vargas y Francisco
Pedro Centurión
Medellín del Departamento de
Biología de la Universidad
Pedagógica Nacional
Del mismo modo la metodología plantea una asignación de roles de trabajo para el desarrollo
de la aplicación o el proyecto general; teniendo en cuenta las funciones de cada integrante del
equipo de trabajo (tanto de la licenciatura en electrónica como de la licenciatura en biología),
los roles SCRUMS determinados por la metodología empleada, quedan como se observa en
la siguiente ilustración:
41
Ilustración 15: Roles SCRUM
Siguiendo lo estipulado por la metodología SCRUM, los roles de acuerdo a los actores del
sistema antes mencionados se describen de la siguiente manera:
Scrum: Éste rol hace referencia al grupo encargado de desarrollar el sistema. En el caso
específico de éste proyecto, el rol de Scrum refiere a los autores de éste proyecto.
ProductOwner: Éste rol hace referencia al cliente que solicitó el desarrollo del sistema en
base a unos requerimientos o necesidades específicas. Para el caso de éste proyecto, el rol
de ProductOwner refiere a los coordinadores de la Línea de Investigación, Biodiversidad
y Conservación de los Ecosistemas Acuáticos de la Región Andina (S.A.R.A), del
Departamento de Biología de la Universidad Pedagógica Nacional.
ScrumMaster: Éste rol hace referencia a la persona a cargo de que la realización y los
objetivos por parte del equipo Scrum se cumplieran. En el caso específico de éste
proyecto refiere a los autores de éste proyecto.
42
StakeHolders: Éste rol hace referencia a las personas externas a los roles principales. En
el caso específico de éste proyecto refiere a los estudiantes y docentes que harán uso del
software acá realizado.
La metodología empleada contempla un ciclo de vida que especifica el proceso de desarrollo del
proyecto en cuestión. Para el caso específico de la aplicación el ciclo de vida metodológico
planteado es el siguiente:
Teniendo éstos puntos de inicio se va generando un esbozo general del diseño gráfico de la
aplicación y posibles opciones de desarrollo para la programación. El orden de la información
mostrada dependerá de los programadores más que del cliente.
43
En ésta etapa se analizan posibles requerimientos que puedan surgir. Básicamente se comienza
con el montaje físico de la aplicación. Se implementa un servidor local para visualizar la
información como página web. El esqueleto de la aplicación gira en torno a la visualización de la
interfaz gráfica y planteamiento de implementación de las diferentes funciones. El inicio será la
página inicial donde se hace referencia a la aplicación, el logo, el nombre, los departamentos
implicados y el acceso a la guía de usuario. Del mismo modo se habilita el orden de las pestañas
donde posteriormente se ingresará la información.
Todos los puntos anteriormente especificados funcionan de manera cíclica, es decir, la etapa de
“liberación” solamente se efectúa si todas las anteriores etapas fueron superadas, pero por cada
revisión se puede hacer necesario moverse entre etapas. Cabe resaltar que la aplicación está
sometida a posibles cambios tal como lo describe la metodología, por ende, las etapas no son
fijas y puede haber libre movimiento entre cada una de ellas.
44
Los requerimientos de usuario y los casos se uso se describirán en el desarrollo.
45
4 DESARROLLO DEL PROYECTO
Una vez observadas las diferentes características que pueda poseer la muestra y teniendo
presentes los conocimientos previos que permitan dar idea del posible tipo de insecto que es, se
remiten a las diferentes claves taxonómicas existentes que poseen. En éstas claves buscan la
característica descrita, si en ninguna parte de la clave encuentran al menos una de las
características que sirva de referente para la identificación, deben remitirse a otra clave que
describa otro tipo de insectos. Si la característica se encuentra, se comienza a detallar más
características cada vez especificando más en ellas y siempre en revisión de la clave para
determinar el insecto.
Las claves poseen dibujos de los insectos que en ellas se describen, más no imágenes reales de
los mismos, dificultando de ésta manera la labor de quien analiza el espécimen. Por otra parte,
muchas claves no están realizadas para los insectos presentes en Colombia, haciendo que algunas
características de los insectos varíen y por ende el proceso de identificación también.
46
se desea observar caracteres ecológicos, se hace necesario recurrir a diversos textos donde se
describa la temática requerida.
Cabe resaltar que los insectos poseen diferentes estadios de crecimiento y en cada estadio poseen
características totalmente divergentes en comparación con los otros estadios. Si un insecto está
desarrollado y próximo a cambiar de estado, probablemente posea características de ambos
estadios; de ser así, la identificación del insecto se complejiza haciéndose necesario recurrir a
diferentes claves taxonómicas, ya que para cada estadio existe una clave.
47
4.2. ANÁLISIS DE REQUERIMIENTOS DEL SOFTWARE
La primera fase del proyecto refirió a reunir información sobre las necesidades de la línea de
investigación con la cual se trabajó. La línea en condición de cliente propuso diferentes ideas y
requerimientos para incluir en el proyecto a manera que éste fuese funcional y cumpliera con la
aceptación del Departamento de Biología en general.
En reunión de los coordinadores de la línea de investigación y del estudiante asignado por ellos
para facilitarnos la información requerida, se desarrollaron diferentes pautas con las cuales se
diseñaron los casos de uso que regirían la aplicación. (Ver anexo 2 ).
En los requerimientos del software se destacan los requerimientos planteados por los usuarios.
Básicamente hacen referencia a la interacción que tendrán los actores del sistema con la
aplicación acá planteada. Cada actor o rol planteado para la aplicación, realiza una función
específica sobre ésta aplicación, dependiendo de la necesidad de uso que tenga sobre la misma y
en pro de unos resultados que serán entregados por el servidor al realizarse una consulta o
petición por parte del cliente (cliente haciendo referencia a cualquier persona que realice una
petición, sin importar su rol SCRUM, ni su funcionalidad como actor del sistema al usar ésta
aplicación). Los requerimientos de usuario se observan en la siguiente ilustración:
48
Dentro de éste proceso se determinaron los actores del sistema, los cuales se encuentran
propuestos en la sección siguiente.
Los actores del sistema varían con los roles de la metodología SCRUM, ya que dichos roles
solamente se enfocan al desarrollo de la aplicación y por ende al equipo en general que desarrolla
el sistema específico.
Los actores planteados en ésta sección hacen referencia a todos los usuarios o personas que
interactúan con el sistema y con las funciones pertinentes para cada usuario. Como se observó en
los requerimientos de usuario, el sistema o la aplicación acá descrita se encuentra diseñada para
manejar diferentes actores o roles de uso cuyas inferencias o necesidades de uso sobre la
aplicación pueden ser diferentes.
49
4.4. DESCRIPCIONES FUNCIONALES
50
Con las vistas planteadas como contenido del diseño de la aplicación, se procede a focalizar la
acción de los controladores. Dichas acciones y relaciones se observan a continuación:
Teniendo en cuenta los aspectos planteados por la metodología empleada y los requerimientos
dados por parte del Departamento de Biología, el desarrollo de la aplicación no fue predefinida
desde un inicio, pero los aspectos que serían determinantes para la misma, sí.
Básicamente al crear la aplicación, Yii por defecto genera modelos, controladores y vistas de
manera predeterminada. La información de éstos solo contienen información de prueba como
información de contacto con la página oficial del Framework. Se hace necesario eliminar por
completo toda la información contenida con el fin de dejar la aplicación lista para comenzar a
modificar.
La línea de investigación S.A.R.A. del Departamento de Biología creó un logo para la página de
inicio de la aplicación. En éste logo se incluirían los nombres del Departamento de Electrónica y
el de Biología. La imagen descriptiva hace referencia a un insecto perteneciente a la colección.
51
Ilustración 22: Página de inicio de la aplicación
Descripción General
Descripción de Programación
Descripción General
52
para la aplicación. Por parte del Departamento de Electrónica, información referente a los
objetivos del departamento en ésta aplicación.
Se plantean los motivos por los cuales se desarrollo la aplicación, sus alcances, limitaciones e
intenciones con las personas que podrían usarla.
Descripción de Programación
Al igual que la guía de inicio rápido, la introducción no es editable, por tanto el código de
programación empleado ésta realizado en HTML5 manteniendo los mismos parámetros de
página estática.
Descripción General
Toda la información ingresada a la base de datos fue entregada por el Departamento de Biología.
Los aspectos de dicha información hacen referencia a: descripción taxonómica, descripción
ecológica, ubicación geográfica, hábitat, morfología, función ecológica, importancia ecológica,
importancia económica, reproducción, alimentación, imagen de ubicación geográfica en el área
andina e imágenes descriptivas de la descripción taxonómica.
En totalidad de insectos:
En órdenes específicos:
Orden TRICHOPTERA
Familias Géneros Total
Cantidad 12 31 43
53
Tabla 4 Total orden Coleóptera
Orden COLEÓPTERA
Familias Géneros Total
Cantidad 22 89 111
Donde cada orden, familia y género cuenta con las descripciones ecológicas y taxonómicas antes
mencionadas.
Descripción de Programación
En éste punto se hizo necesario reconocer la cantidad de caracteres que contenía la información,
cantidad de palabras y tipo de organización. A continuación se muestra la tabla con sus
correspondientes atributos y tipos para cada campo:
Descripción General
La aplicación que genera Yii trae por defecto inhabilitada la opción de conexión a una base de
datos, por tanto se hace necesario realizar la conexión manual a través de código en las carpetas
que por defecto genera el Framework.
Descripción de Programación
54
base de datos e ingresar el nombre de la base de datos cargada a Mysql en PhpMyAdmin del
localhost Xampp.
Descripción General
Una vez realizada la conexión entre la aplicación y la base de datos, se hace necesario crear los
modelos de las tablas con los cuales la aplicación reconocerá la información contenida en la
base. Los modelos darán información referente a los campos de las tablas, los tipos y atributos,
las llaves foráneas y primarias y las relaciones existentes entre tablas a través de dichas llaves.
Sin ese modelo, el controlador no tendría valores algunos a manipular y por ende la vista no
tendría tampoco valores para mostrar.
Los modelos entidad-relación de las tablas contenidas en la base de datos y cuyos datos serán
empleados en los modelos, están dados de la siguiente manera:
Descripción de Programación
Para crear los modelos se hace uso de la herramienta Gii la cual se explicará mejor en los
buscadores. Ésta herramienta me genera los modelos correspondientes a las diferentes tablas
contenidas en la base de datos, evitando tener que digitar código manual.
Para habilitar Gii, de la misma manera que la base de datos, se hace necesario dejar activo el
código que Yii genera en su archivo “main” y generar una contraseña cualquiera para lograr
acceder. La creación de los modelos solo necesita el nombre de la tabla de la cual Gii generará su
modelo y creará los modelos por defecto en las carpetas aplicación/protected/models. Cada
55
modelo corresponderá a cada una de las tablas existentes y el archivo contendrá el nombre de su
correspondiente tabla.
Descripción General
En la primera opción del buscador de ingreso por palabras, el usuario ingresa características que
considere descriptivas de algún insecto en una caja de texto. Posteriormente el sistema busca
todas las opciones encontradas con dicha descripción, órdenes, familias o géneros, mostrando en
pantalla los nombres correspondientes y la descripción taxonómica completa en una tabla.
56
Ilustración 266: resultados de una búsqueda con el buscador de ingreso
Los nombres de los insectos cuya característica coincide con el criterio de búsqueda realizada,
salen de color azul y subrayados indicando que son links que re direccionan a otra página. El
usuario al elegir un nombre cualquiera, la página que será mostrada contiene toda la información
taxonómica y ecológica. Si se selecciona un orden mostrará la información de dicho orden. Si se
selecciona una familia, se mostrará toda la información de dicha familia y también la del orden al
cual pertenece. En caso de seleccionar un género, la información a mostrar contiene toda la
información referente a la familia a la cual pertenece dicho género y a la información específica
del mismo.
En la segunda opción de búsqueda, el usuario podrá seleccionar las opciones de las cuales desee
tener información. Inicialmente un orden, posteriormente una familia y luego un orden. Si
selecciona un orden el sistema mostrará en pantalla toda la información referente a dicho orden.
Si selecciona un orden y una familia el sistema mostrará la información tanto del orden como de
la familia. Del mismo modo si selecciona las opciones de orden, familia y género, el sistema
mostrará la información que refiere a todas las opciones.
El menú desplegable posee relacionadas las opciones, es decir, si el usuario selecciona una
familia determinada, el sistema mostrará como opción de elección todos los géneros que
solamente corresponden a dicha familia.
57
En la tercera opción de búsqueda, el usuario encontrará links para seleccionar entre órdenes,
familias o géneros.
A diferencia de las demás opciones de búsqueda, ésta forma mostrará todos los nombres de los
insectos que pertenecen a la opción seleccionada. Si el usuario selecciona género, el sistema
mostrará los nombres de los ciento veinte (120) géneros que contiene la aplicación. Además del
nombre, se mostrará en pantalla la descripción taxonómica correspondiente a cada uno de los
géneros. Los nombres serán de color azul y sub rayados, indicando que son links que redirigen a
otra página.
Descripción de Programación
58
Yii posee una herramienta generadora de código llamada Gii. La metodología SCRUM utilizada
en ésta aplicación permite el uso de herramientas generadoras para agilizar el desarrollo de la
aplicación. Haciendo uso de Gii se generaron los códigos correspondientes a los modelos que
describen las tablas de la base de datos de la aplicación. En éstos modelos se encuentran las
relaciones entre tablas con sus respectivas llaves primarias y foráneas.
Una vez creados los modelos, se procedió a desarrollar el código correspondiente al controlador.
En el controlador de la página general de los buscadores, se crearon diferentes acciones, las
cuales relacionadas con los modelos, mostrarían la información en determinadas vistas. Cada
buscador posee características específicas de búsqueda y relación.
Una vez elegida una opción, el sistema busca en el modelo seleccionado, el campo referente a la
llave primaria de la tabla correspondiente con dicho modelo y envía por url dicho parámetro re
direccionando a una vista específica para la selección. En ésta vista el sistema recibe el
parámetro enviado por url y busca de nuevo en los modelos la descripción correspondiente a la
llave primaria, seleccionando los campos de descripción taxonómica para mostrarlos. Como las
tablas están relacionadas en los modelos, el sistema podrá desplazarse entre tablas a través de las
llaves foráneas y se podrá mostrar cualquier campo de cualquier tabla. Por eso la información de
familia y orden seleccionando solamente una familia. La intención refiere a los requerimientos
del Departamento de Biología por facilitar la visualización de la información y hacer más
práctica y útil la información mostrada.
En la acción referente al menú desplegable, los modelos son los mismos que para el buscador de
ingreso, por tanto al seleccionar una opción del menú la acción del controlador buscará todos los
campos de las tablas cuyas llaves foráneas y primarias permitan dicha relación. Una vez definida
la búsqueda, el sistema también envía el valor de un campo de la llave primaria por url a una
nueva vista. La vista a la cual se re dirige el sistema tomará el valor de la url y buscará de nuevo
en los modelos el valor con su correspondiente llave foránea. La vista renderizará toda la
información taxonómica y ecológica contenida en la base de datos.
Para el buscador de tablas se hizo uso de Gii para generar los controladores y las vistas. Ésta
opción se denomina CRUD (Create, Read, Update, Delete), y básicamente se configuro el código
de los controladores y las vistas para mostrar la información en español y renderizar información
específica de a cuerdo a determinada selección. Yii muestra la información en forma de tablas
con una opción denominada CGridView, la cual se encarga de renderizar dichas tablas y mostrar
59
la información a través de otra opción denominada dataProvider, que busca toda la información
de los modelos y la publica en una vista.
Descripción General
En cuanto a interfaz se refiere, el usuario puede deslizarse a través de la página haciendo uso de
links que indican las iniciales de las palabras cuyo significado se desea encontrar, facilitando y
agilizando la búsqueda de un determinado terminado. Además, cada término posee posterior a su
descripción, un número entre paréntesis indicando el número correspondiente en la bibliografía
para buscar su correspondiente referente bibliográfico.
Descripción de Programación
60
Descripción General
La información contenida en ésta parte refiere a la bibliografía empleada dentro del contenido de
la aplicación, es decir solamente la bibliografía entomológica y ecológica de la información que
podrá ser buscada por el usuario.
Descripción de Programación
Descripción General
Las descripciones de búsqueda no poseen un número estándar de imágenes, por tanto al obtener
la información de un insecto específico solo se mostrarán dos imágenes. El Departamento de
Biología entrego más fotos para diferentes insectos, por tanto se requirió colocar todas las
imágenes faltantes en un banco de fotos donde los estudiantes pudieran ingresar y observar todas
las fotos de los órdenes descritos para aplicación.
Las imágenes están etiquetadas con los nombres de los géneros o familias específicas y al igual
que en la terminología, el usuario podrá deslizarse a través de la página haciendo uso de los links
puestos en el abecedario de la parte superior de la página. El total de imágenes colocadas en ésta
parte de la aplicación es de ochenta (80). La organización está definida por los programadores.
Descripción de Programación
61
Básicamente por medio de la instrucción CHtml::image( ), se muestra la imagen relacionada en
la url de la misma.
Descripción General
La creación de ingreso de administrador viene predefinida por Yii. Los controladores y las vistas
refieren a un modelo interno de Yii por lo que solamente se hizo necesario modificar los campos
para que funcionaran en idioma español. La contraseña y usuario asignados para el ingreso de
administrador son las predeterminadas por Yii. El Departamento de Biología no deseo cambiar ni
el usuario ni la contraseña por la facilidad de la misma.
El ingreso tiene la opción de dejar habilitado o abierta la sesión por treinta (30) días, en caso que
el administrador no desee ingresar los datos cada vez que vaya a editar valores de la aplicación.
Una vez ingresado la pestaña cambia a estado “logout” dado el caso el administrador desee dejar
de editar parámetros de contenido de la aplicación y cerrar sesión.
Descripción de Programación
Básicamente las validaciones de los campos las hace Yii internamente con la instrucción
CActiveForm::validate(‘modelo’). Como los campos del modelo ya están predefinidos en el
62
modelo, el código valida que la información ingresada concuerde con la que el sistema tiene
como verídica. Haciendo uso de un Widget y manteniendo la estructura CActiveForm con
EnableClientValidation (todas instrucciones de Yii), el sistema permite o no acceso. Si la
validación es incorrecta, el sistema renderiza la vista mostrando errores en los campos. Si la
información es validada correctamente por el sistema, el usuario ingresa como administrador.
Cabe resaltar que las opciones que tendrá el administrador son las determinadas por los CRUD y
que dichas opciones sólo serán válidas una vez el usuario se haya identificado, de lo contrario el
sistema no permitirá edición alguna.
63
1. Descripción
Esta aplicación cubre el conjunto de pruebas realizadas sobre el Caso de Uso “Clave
Taxonómica y Ecológica”.
El entorno del cual partiremos para realizar la prueba será el la vista inicial de la aplicación.
1.2.Condiciones de ejecución
Las condiciones de ejecución del caso de prueba son que el usuario decida ingresar a la guía de
inicio rápido y observar a detalle el funcionamiento de la aplicación.
1.3.Entrada
1.4.Resultado esperado
64
El sistema muestra la vista que contiene toda la información referente a la guía de manejo de la
aplicación detallada por pasos, con cada componente descriptivo que hace parte de la misma.
1.5.Evaluación de la prueba
3.2.Condiciones de ejecución
Las condiciones de ejecución del caso de prueba son que el usuario decida ingresar al link de
introducción y observar lo que en la pantalla se muestra.
3.3.Entrada
3.4.Resultado esperado
3.5.Evaluación de la prueba
Las condiciones de ejecución del caso de prueba son que el usuario decida ingresar al buscador
general y observar los diferentes tipos de búsqueda específica encontrados en su vista.
4.3.Entrada
65
El usuario selecciona el link de re direccionamiento al buscador general.
4.4.Resultado esperado
El sistema muestra la vista que contiene los tipos de buscadores específicos para poder ser
elegidos por el usuario en caso que desee realizar algún tipo de búsqueda.
4.5.Evaluación de la prueba
En la central de la vista del buscador general se encontrará un link “Buscador de Ingreso” que
llevará al usuario a una nueva vista donde podrá realizar búsquedas ingresando palabras.
5.2.Condiciones de ejecución
Las condiciones de ejecución del caso de prueba son que el usuario decida ingresar al buscador
de ingreso para realizar una búsqueda específica cuyo resultado será de acuerdo a la solicitud
dada por el mismo.
5.3.Entrada
5.4.Resultado esperado
5.5.Evaluación de la prueba
En la central de la vista del buscador general se encontrará un link “Buscador tipo menú” que
llevará al usuario a una nueva vista donde podrá realizar búsquedas seleccionando opciones de
un menú desplegable.
6.2.Condiciones de ejecución
66
Las condiciones de ejecución del caso de prueba son que el usuario decida ingresar al buscador
tipo para realizar una búsqueda seleccionando alguna opción contenida en el buscador menú.
6.3.Entrada
6.4.Resultado esperado
El sistema muestra en pantalla la vista correspondiente al buscador tipo menú. Aparecerán tres
(3) cuadros con opción “seleccione” y descripciones “Seleccione Orden”, “Seleccione Familia” y
“Seleccione Género”, además un botón “Ver opción seleccionada” con el cual el usuario
realizará la búsqueda de a cuerdo a las opciones seleccionadas del menú.
6.5.Evaluación de la prueba
En la central de la vista del buscador general se encontrará un link “Buscador tabla” que llevará
al usuario a una nueva vista donde podrá realizar búsquedas seleccionando diferentes links que
mostrarán en pantalla la opción seleccionada en forma de tabla o ficha técnica, mostrando en
ellas toda la información referente a la opción seleccionada.
7.2.Condiciones de ejecución
Las condiciones de ejecución del caso de prueba son que el usuario decida ingresar al buscador
tabla para realizar una búsqueda seleccionando alguna opción contenida en el buscador.
7.3.Entrada
7.4.Resultado esperado
7.5.Evaluación de la prueba
67
8. Búsqueda por palabras
8.1.Descripción
8.2.Condiciones de ejecución
El usuario deberá ingresar una palabra “clave” que describa alguna característica del elemento
que desee buscar. Posteriormente aceptar dicha búsqueda ingresada seleccionando el botón
inferior de la caja de texto de ingreso.
8.3.Entrada
8.4.Resultado esperado
El sistema muestra todos los valores que contengan la descripción ingresada por el usuario. En la
primera prueba, corresponde efectivamente a los datos que en cuya descripción poseen las
palabras “Uña Anal”. En el segundo caso, nos muestra la totalidad de datos almacenados en la
base de datos de la aplicación teniendo en cuenta que todos los campos almacenados poseen en
su descripción la letra “A”.
8.5.Evaluación de la prueba
68
En la parte central de la pantalla se observarán tres (3) cuadros en cuya interna descripción se
observará la opción “Seleccione”. En la descripción externa se observarán las opciones
“Seleccione Orden”, “Seleccione Familia” y “Seleccione Género”. El usuario seleccionará de
acuerdo a la información que necesite de las descripciones externas. Además, en la parte inferior
de los cuadros hay un botón con descripción “Ver opción seleccionada” con el cual el usuario
podrá observar los resultados que seleccionó.
9.2.Condiciones de ejecución
El usuario deberá seleccionar una o más opciones mostradas en los cuadros. Posteriormente
seleccionar el botón “Ver opción seleccionada” para observar la información de la selección
realizada.
9.3.Entrada
69
o El sistema carga las opciones del cuadro “Seleccione Familia” en relación al
orden seleccionado.
o Seleccionamos la opción “Hydropsychidae” del cuadro “Seleccione Familia”.
o El sistema carga las opciones del cuadro “Seleccione Género” en relación a la
familia seleccionada.
o Seleccionamos la opción “Leptonema” del cuadro “Seleccione Género”.
o Pulsamos el botón “Ver opción seleccionada”.
o El sistema nos guía a una nueva vista o página en la cual se encuentran los datos
para el orden “TRICHOPTERA” (taxonomía, ecología, imágenes), los datos de la
familia “Hydropsychidae” (taxonomía, ecología, imágenes) y los datos del género
“Leptomena” (taxonomía, ecología, imágenes).
Volvemos a la vista principal del buscador menú y seleccionamos la opción
“COLEÓPTERA” del cuadro “Seleccione Orden”.
o El sistema carga las opciones del cuadro “Seleccione Familia” en relación al
orden seleccionado.
o Seleccionamos la opción “Gyrinidae” del cuadro “Seleccione Familia.
o El sistema carga las opciones del cuadro “Seleccione Género” en relación a la
familia seleccionada.
o Pulsamos el botón “Ver opción seleccionada” sin seleccionar de otro cuadro.
o El sistema nos guía a una nueva vista o página en la cual se encuentran los datos
para el orden “COLEÓPTERA” (taxonomía, ecología, imágenes) y los datos de la
familia “Gyrinidae” (taxonomía, ecología, imágenes).
9.4.Resultado esperado
El sistema muestra los datos correspondientes a la opción seleccionada. En el caso específico del
menú desplegable, el sistema muestra las opciones en relación a la opción anterior filtrando
dichas opciones con la selección hecha. La página de vista muestra de acuerdo a la opción. Si
sólo se selecciono la opción “Seleccione Orden”, solo muestra lo correspondiente elección. Si se
eligieron más opciones, el sistema muestra todas las opciones en orden de elección (orden,
familia, género).
9.5.Evaluación de la prueba
En la parte central de la pantalla se observarán tres links con opciones “Orden”, “Familia”,
“Género”. El usuario seleccionará una de las opciones y será redirigido a una nueva vista en la
cual se observará toda la información de la opción seleccionada en forma de tabla o ficha
70
técnica. Al lado derecho se mostrarán opciones de edición como actualizar, eliminar y listar a los
que solamente se podrá acceder como administrador.
El usuario deberá seleccionar uno de los links descritos con las opciones “Orden”, “Familia”,
“Género”.
10.3. Entrada
71
10.4. Resultado esperado
El sistema nos muestra toda la información en forma tabla al seleccionar cualquiera de las
opciones mostradas en la pantalla principal del menú tipo tabla. Al seleccionar una de las
siguientes opciones específicas, el sistema muestra toda la información taxonómica y ecológica
(sin imágenes) de la elección realizada. Dependiendo del orden, la familia o género las
características específicas cambian y el sistema muestra siempre en relación a los datos
almacenados que posee la aplicación. Al lado derecho se muestran opciones de edición como
actualizar, eliminar y listar a los que solamente se podrá acceder como administrador.
Las condiciones de ejecución del caso de prueba son que el usuario decida ingresar al link de
terminología y observar lo que en la pantalla se muestra.
11.3. Entrada
El sistema muestra la vista que contiene todos los términos empleados en la aplicación. Se
observan las letras del abecedario en forma de links.
72
En la parte superior de la vista y en la inferior, se encuentran en forma de links con color azul y
subrayado las letras del abecedario. Al seleccionar alguna, el sistema moverá la vista de la
pantalla al lugar donde se encuentran todas las palabras técnicas que contengan la inicial
seleccionada.
Las condiciones de ejecución del caso de prueba son que el usuario seleccione alguna letra del
abecedario para desplazarse a observar las palabras con dichas iniciales. El usuario también
puede desplazarse manualmente con las teclas del teclado o el “scroll” del mouse para encontrar
la palabra deseada.
12.3. Entrada
El sistema muestra la vista que contiene todas las palabras cuyas iniciales fueron seleccionadas
por el usuario.
73
Las condiciones de ejecución del caso de prueba son que el usuario decida ingresar al link de
bibliografía y observar lo que en la pantalla se muestra.
13.3. Entrada
El sistema muestra la vista que contiene toda la bibliografía referente a toda la información
contenida en la aplicación.
En la parte superior de la aplicación se encontrará un link tipo menú con descripción “Ingreso
(Administrador)”, que al ser seleccionado mostrará en pantalla dos campos con descripciones
“usuario” y “contraseña”. Posteriormente un botón con opción “ingresar”.
Las condiciones de ejecución del caso de prueba son que el usuario decida ingresar al link de
administrador y observar lo que en la pantalla se muestra. Ingresar los datos requeridos y aceptar
dichos datos a través del botón “ingresar”.
14.3. Entrada
El sistema muestra los campos para ingresar los datos de administrador, “usuario” y
“contraseña”.
74
En pantalla se observarán dos cuadros para ingresar texto con descripciones “usuario” y
“contraseña”. El administrador ingresará los datos correspondientes y seleccionará el botón
“ingresar” para tener privilegios de edición en los datos de la aplicación. El sistema validará la
información ingresada.
Las condiciones de ejecución del caso de prueba son que el administrador ingrese su “usuario” y
“contraseña” asignados.
15.3. Entrada
El sistema válida los campos de ingreso de “usuario” y “contraseña”. Una vez ingresado, el
sistema reconoce al administrador y permite edición de datos en la aplicación.
Como se mencionó anteriormente, los casos de uso describen de manera metodológica las
diferentes opciones de uso que posee el sistema. Estos casos fueron desarrollados de acuerdo a
los requerimientos funcionales del software, dados por el Departamento de Biología y los autores
de éste proyecto
75
5 CONCLUSIONES
Cada orden, familia y género posee imágenes descriptivas de acuerdo a sus características
taxonómicas y ecológicas. De acuerdo a los requerimientos planteados por el
Departamento de Biología y a la información suministrada por ellos, el sistema de
búsqueda y visualización con el que cuenta éste proyecto permite visualizar dichas
imágenes en relación a sus taxones representativos. Las imágenes junto a las
descripciones ecológicas y taxonómicas descritas en cada espécimen, facilitan la
identificación de los insectos al tomar como referente la imagen mostrada por el sistema.
Cabe rescatar la ayuda de los diferentes códigos de Yii, especialmente el de la
visualización de imágenes ya que la relación directa con las tablas de la base de datos,
76
permite crear en conjunto bloques de información para mostrar de manera ordenada al
usuario.
El sistema permite realizar todas las funciones planteadas por un CRUD (create, read,
update, delete) de manera que siguiendo los requerimientos del Departamento de
Biología, los coordinadores de la línea en función de administradores pueden actualizar
en cualquier momento la información contenida en éste proyecto. Como inicialmente se
planteó para dos órdenes específicos, todas las herramientas y facultades del
administrador permitirán a futuro ampliar la información del sistema a manera de crear
una aplicación que abarque la información total de las colecciones del departamento.
77
6 RECOMENDACIONES
Por otra parte y dialogando con los coordinadores de la línea, se plantea la opción de realizar ésta
aplicación para dispositivos móviles de manera que pueda ser transportada en cualquier lugar y
por ende utilizada también en las salidas de campo que realizan, con el fin de sacarle el máximo
provecho no solamente dentro del campus universitario, sino también fuera de él.
De la misma manera, actualizar el sistema con ubicación geográfica para dispositivos móviles
donde de acuerdo a las coordenadas en las cuales se encuentre la persona que desea tener alguna
información, el sistema muestre los insectos que puedan encontrarse en dicha área.
78
7 BIBLIOGRAFÍA
DATE, C.J. Introducción a los sistemas de bases de datos. Editorial Pearson 7 edición.
GAGNÉ, R.M. The conditions of learning. Editorial Rinehart and Winston. New York. 1965
ROB, Peter and CORONEL, Carlos. Sistema de bases de datos: diseño, implementación y
administración. Editorial Thomson 5 edición.
SPONA, Helma. Programación de Bases de Datos con MySQL y PHP. Editorial Marcombo.
2010.
SWEAT, Jason E. Php Architect´s Guide to PHP Design Patterns. Editorial Architect
Nanobooks. 2005.
TRIPLEHORN, C.J. Borror and DeLong’s Introduction to the Study of Insects. Chapter 26
Coleóptera: Beetles. Editorial Thomson Brooks/Cole. 2005.
WINESETT, Jeffrey. Agile Web Aplication Development wih Yii 1.1 and PHP 5. Editorial
Packt Publishing. 2010.
79
8 CIBERGRAFÍA
http://yiiframeworkespanol.blogspot.com/2012/06/modelo-vista-controlador.html
http://www.yiiframework.com/doc/guide/1.1/es/basics.mvc
http://book.cakephp.org/2.0/es/cakephp-overview/understanding-model-view-
controller.html
PHP
http://www.w3schools.com/php/
http://www.codecademy.com/tracks/php
HTML5
http://www.w3schools.com/html/default.asp
http://www.w3.org/TR/html5/
API My SQL
http://php.net/manual/es/book.mysql.php
http://www.tizag.com/mysqlTutorial/
Metodología SCRUM
http://geeks.ms/blogs/jorge/archive/2007/05/09/explicando-scrum-a-mi-abuela.aspx
http://scrummethodology.com/
http://www.proyectosagiles.org/about
http://www.scrumsense.com/resources/do-better-scrum/
80
Taxonomía y claves biológicas
http://www.pedagogica.edu.co/storage/ted/articulos/ted12_07arti.pdf
http://sunsite.ualberta.ca/Projects/Aquatic_Invertebrates/?Page=44
http://medpacs.ugr.es/index.php?q=es/evaluacion/macroinvertebrados
http://www.ibiologia.unam.mx/pdf/directorio/c/cervantes/clases/sistem/Cuidado_Manejo
_y_Conservacion_de_las_Colecciones_Biologicas.pdf
http://www.scielo.org.mx/scielo.php?script=sci_arttext&pid=S1870-
34532011000200012&lng=es&tlng=es.
http://repositorio.fciencias.unam.mx:8080/xmlui/bitstream/handle/11154/143190/1V3ED
atosEcologicos.pdf?sequence=1
http://neoelmiselmidae.wordpress.com/rol-funcional/
http://www.mdfrc.org.au/bugguide/display.asp?type=5&class=17&subclass=&Order=1&
family=234&couplet=0
http://www.alaquairum.net/mi_coleopteros.htm
http://www.cortolima.gov.co/sites/default/files/images/stories/centro_documentos/estudio
s/a06.pdf
http://www.biocentroguembe.com/fichas/Spanish/Terrarios.pdf
http://www.ambientum.com/enciclopedia/aguas/2.01.19.31_1r.html
http://www.ciencias-
marinas.uvigo.es/bibliografia_ambiental/invertebrados/Coleopteros%20Corrubedo.pdf
81
9 REFERENCIAS
Acevedo, C. F. (2009). Claves taxonómicas animales. Universidad nacional de Piura, facultad de ciencias
escuela de ciencias biológicas.
Buschmann, F. M. (1996). Pattern – Oriented Software Architecture. A System of Patterns. John Wiley &
Sons, Inglaterra.
Casillas, l., Marc, G., & Pérez, Ó. (2000). Bases de datos en MYSQL.
Dewayne Perry, ,. D., & Wolf, A. (1992). Fundamentos para el Estudio de Arquitectura de Software. ACM
SIGSOFT software Notas de ingeniería.
82
Oscoz J., G. D. (2009 ). Macro invertebrados de la Cuenca del Ebro: descripción de taxones y guía de
identificación. .
Pankhurst, R. (2002). The PANDORA taxonomic database system. Obtenido de The PANDORA taxonomic
database system:
http://www.ibiblio.org/pub/academic/biology/ecology+evolution/software/pandora/index.html
Rodriguez yunta, L. (2001). Bases de datos documentales: estructura y uso. En: MALDONADO, Ángeles
(coord.). La información especializada en Internet. Madrid.
83