Anda di halaman 1dari 202

UNIVERSI ERSIDAD TECNOLGICA EQUINOCCIA CCIAL

FACULTA LTAD DE CIENCIAS DE LA INGENIER NIERA CARRERA INFORM FORMTICA Y CIENCIAS DE LA COMP OMPUTACIN

TEMA: RECONOCI OCIMIENTO Y CLASIFICACIN DE RO ROSAS UTILIZANDO R.N. R.N.A. Y MANTENIMIENTO DE INVEN VENTARIO EN UN SITIO WEB

TESIS DE GRADO PREVIA EVIA LA OBTENCIN DEL TTULO O DE INGENIERA A EN INFORMTICA Y CIENCIAS AS DE LA COMPUTACIN

AUTORA: YESSE ESSENIA KARINA BAJAA MENDOZA ZA

DIRECTOR DE TESIS: ING. ING VLADIMIR BONILLA, MSC


CARTULA

QUITO, JULIO 2011

AUTORA

Yo, YESSENIA KARINA BAJAA MENDOZA, con cdula de ciudadana 092286892-2, declaro que el trabajo a continuacin descrito es de mi autora, titulado: RECONOCIMIENTO Y CLASIFICACIN DE ROSAS UTILIZANDO RNA Y MANTENIMIENTO DE INVENTARIO EN UN SITIO WEB previo la obtencin del ttulo de INGENIERA EN INFORMTICA Y CIENCIAS DE LA COMPUTACIN, fue desarrollado en su totalidad por mi persona, bajo tutora de INGENIERO VLADIMIR BONILLA; no ha sido previamente

presentado para ningn grado o calificacin profesional; y, que he consultado las referencias bibliogrficas que se incluyen en este documento. A travs de la presente declaracin cedo mis derechos de propiedad patrimonial, ms no intelectual correspondientes a este trabajo, a la Universidad Tecnolgica Equinoccial, segn lo establecido por la Ley de Propiedad Intelectual, por su Reglamento y por la normatividad institucional vigente.

Yessenia Karina Bajaa Mendoza


C.C.092286892-2

II

FACULTAD DE CIENCIAS DE LA INGENIERA

CERTIFICACIN Certifico que el siguiente PROYECTO DE TESIS fue realizado en su totalidad por la estudiante YESSENIA KARINA BAJAA MENDOZA, como requerimiento parcial a la obtencin del ttulo de INGENIERA EN INFORMTICA Y CIENCIAS DE LA COMPUTACIN. En el presente proyecto se ha realizado la automatizacin del proceso de inventario de rosas durante la plantacin, este proyecto presenta tres partes. En primera instancia, procesamiento de imgenes para el reconocimiento de la rosa, y la red neuronal Kohonen para la clasificacin por mercado de las rosas. Como segunda instancia, y para automatizar el almacenamiento de datos del inventario se cre una base de datos. Finalmente se realiz una aplicacin web donde los clientes pueden visualizar entre otras, los datos del ltimo inventario realizado. El diseo de este proyecto se compone de los siguientes captulos: Captulo I, describe una visin panormica de la problemtica a dar solucin.

Captulo II, se detalla el Marco Terico de Referencia. Captulo III, refiere a la Metodologa de la Investigacin e Informtica. Captulo IV, contiene la descripcin y el desarrollo del diseo del prototipo. Captulo V, conclusiones y recomendaciones. Al final se incluye las referencias bibliogrficas y anexos.

Atentamente

MSC. ING. Vladimir Bonilla Director de Tesis


Campus Matriz Quito: Bourgeois N34-102 y Rumipamba Telfs.: 2446 233/258/259 Ext. 2232 Quito - Ecuador

III

DEDICATORIA El presente proyecto de tesis va dedicado A mis padres Jos y Bethy, mis hermanos Mara Jos, Xavier y Bryan, quienes me han dado todo lo que soy como persona, mis valores, mis principios, mi perseverancia y mi empeo, todo esto con una gran dosis de amor y sin pedir nunca nada a cambio. En especial a mi madre Mgs Bethy Mendoza, por haber fomentado en m el deseo de superacin y el anhelo de triunfo en la vida. A mi pequea Nicole, quin inspira el equilibrio que necesito para dar mi mximo esfuerzo, es sin duda mi referencia para el presente y para el futuro. A mis Abuelitos, tos y primos por brindarme apoyo y fuerza a la distancia confiando siempre en m. Por su amor, comprensin y paciencia; esta tesis va para ustedes.

Karina Bajaa

IV

AGRADECIMIENTOS Agradezco a Dios por darme sabidura, entendimiento y paciencia para terminar este proyecto de investigacin y toda mi carrera universitaria. A la Universidad Tecnolgica Equinoccial y a su cuerpo de docentes que con su esfuerzo y pasin han logrado sembrar e inculcar en m la investigacin y autoformacin, caractersticas esenciales que me han servido para un excelente desempeo durante la carrera y vida profesional. A Ing. Vladimir Bonilla por su generosidad al brindarme la oportunidad de recurrir a su capacidad y experiencia cientfica en un marco de confianza, amistad y respeto, fundamentales para la concrecin de este proyecto a pesar de la distancia durante el mismo. A los ingenieros Vctor Hugo Glvez y Galo Ramos, quienes en el proceso de calificacin del proyecto, aportaron con sus valiosas sugerencias y opiniones en el contenido y forma para mejorar la calidad de mi trabajo. A toda mi familia que me han enseado a encarar las adversidades sin perder nunca la dignidad sin desfallecer en el intento. A mis amigos y compaeros de clases, gracias por su voto de confianza. Mil palabras no bastaran para agradecerles lo suficiente. A todos, espero no defraudarlos y seguir contando siempre con su confianza y valioso apoyo incondicional.

NDICE DE CONTENIDO

CARTULA ................................................................................................................................. I AUTORA .................................................................................................................................. II CERTIFICACIN ..................................................................................................................... III DEDICATORIA ........................................................................................................................ IV AGRADECIMIENTOS ............................................................................................................... V NDICE DE CONTENIDO....................................................................................................... VI NDICE GENERAL.................................................................................................................. VII NDICE DE ECUACIONES ...................................................................................................XIV NDICE DE FIGURAS ............................................................................................................ XV NDICE DE TABLAS .............................................................................................................XVI NDICE DE ANEXOS ........................................................................................................... XVII RESUMEN. ...........................................................................................................................XVIII SUMMARY..............................................................................................................................XIX

VI

NDICE GENERAL

CAPTULO I ............................................................................................................................. 1 1. 1.1 1.2 1.2.1 1.2.2 1.2.3 1.3 1.4 1.4.1 1.4.2 1.5 1.6 1.7 1.7.1 INTRODUCCIN .............................................................................................. 2 ANTECEDENTES. ............................................................................................. 3 SISTEMATIZACIN ........................................................................................ 4 DIAGNSTICO .................................................................................................. 4 PRONSTICO .................................................................................................... 6 CONTROL DEL PRONSTICO .................................................................. 7 FORMULACIN DEL PROBLEMA .......................................................... 7 OBJETIVOS ......................................................................................................... 8 OBJETIVO GENERAL .................................................................................... 8 OBJETIVOS ESPECFICOS .......................................................................... 8 JUSTIFICACIN ............................................................................................... 8 ALCANCE ............................................................................................................ 9 FACTIBILIDAD .............................................................................................. 10 TCNICA. .......................................................................................................... 10

VII

1.7.2 1.7.3

ECONMICA ................................................................................................... 11 OPERATIVA. ................................................................................................... 13

CAPTULO II ........................................................................................................................ 14 2. 2.1 2.1.1 2.1.2 2.1.2.1 2.1.2.2 2.1.2.3 2.1.3 2.1.4 2.2 2.2.1 2.2.1.1 2.2.1.2 MARCO TERICO. ....................................................................................... 15 TAXONOMA Y MORFOLOGA DE LOS ROSALES. .................... 15 CLASIFICACIN DE LOS ROSALES. .................................................. 15 CLASIFICACIN DE LAS FLORES TIPO ROSAS. ......................... 16 NMERO DE PTALOS. ............................................................................ 16 PUNTOS DE CORTE. .................................................................................... 17 COLORES. ........................................................................................................ 18 FENOLOGA DEL BOTN. ....................................................................... 18 ETAPAS DE DESARROLLO EN EL CICLO DE CULTIVO. ......... 19 IMGENES. ...................................................................................................... 20 PROCESAMIENTO DE IMGENES. ..................................................... 20 VISIN COMPUTACIONAL ..................................................................... 20 DIGITALIZACIN. ....................................................................................... 22

VIII

2.2.1.3 2.2.1.4 2.2.1.5 2.2.1.6 2.2.2 2.3 2.3.1 2.3.2 2.3.2.1

FILTROS ............................................................................................................ 24 SEGMENTACIN. ......................................................................................... 24 ETIQUETAMIENTO ..................................................................................... 26 EXTRACCIN DE CARACTERSTICAS DE UNA IMAGEN. ..... 26 CMARA WEB. .............................................................................................. 29 REDES NEURONALES ARTIFICIALES. ............................................. 29 COMPARACIN ENTRE REDES NEURONALES. .......................... 30 RED NEURONAL KOHONEN. .................................................................. 32 ARQUITECTURA ........................................................................................... 32

2.3.2.1.1 ARQUITECTURA LVQ ................................................................................ 32 2.3.2.1.2 ARQUITECTURA SOM ............................................................................... 34 2.3.2.2 2.3.2.3 2.3.2.4 2.4 2.4.1 2.5 ENTRENAMIENTO ....................................................................................... 34 APRENDIZAJE. .............................................................................................. 35 ALGORITMO ................................................................................................... 36 BASE DE DATOS. ........................................................................................... 38 BASE DE DATOS TRANSACCIONALES. ............................................ 38 APLICACIONES WEB. ................................................................................ 38

IX

2.5.1 2.5.1.1 2.5.1.2 2.5.1.3 2.5.1.4 2.5.1.5 2.5.1.6 2.5.1.7 2.5.1.8 2.6 2.6.1 2.6.1.1 2.6.1.2 2.6.1.3 2.6.2 2.6.3 2.6.4

ARQUITECTURA. .......................................................................................... 39 DESARROLLO N-CAPAS. .......................................................................... 39 INTERFAZ DE USUARIO (USER INTERFAZ). ................................. 40 LGICA DE NEGOCIOS (BUSINESS). ................................................. 40 ACCESO A DATOS (ENTITYS). ............................................................... 41 ORIGEN DE DATOS. .................................................................................... 41 ENTIDADES DEL NEGOCIO. ................................................................... 41 SEGURIDADES. .............................................................................................. 41 COMPONENTES GENERALES. .............................................................. 41 HERRAMIENTAS Y PLATAFORMAS DE DESARROLLO. ......... 42 MATLAB. ........................................................................................................... 42 NEURONAL NETWORK TOOLBOX. .................................................... 42 IMAGING PROCESING TOOLBOX. ...................................................... 44 DATABASE TOOLBOX. .............................................................................. 46 MYSQL. .............................................................................................................. 46 GOOGLE CHROME. ..................................................................................... 47 RATIONAL ROSE .......................................................................................... 47

2.6.5 2.6.6

MICROSOFT WINDOWS XP. ................................................................... 47 JAVA SCRIPT. ................................................................................................. 48

CAPTULO III ...................................................................................................................... 49 3. 3.1 3.1.1 3.1.2 3.1.2.1 METODOLOGA. ........................................................................................... 50 METODOLOGA DE LA INVESTIGACIN. ...................................... 50 MTODO DEDUCTIVO. ............................................................................. 50 MTODO EMPRICO. ................................................................................. 50 ANLISIS E INTERPRETACIN DE DATOS. ................................... 52

3.1.2.1.1 ENCUESTAS A LA ALTA GERENCIA. ................................................. 52 3.1.2.1.2 ENCUESTAS AL NIVEL TCNICO........................................................ 53 3.1.2.1.3 ENCUESTAS AL NIVEL OPERATIVO. ................................................ 56 3.1.2.1.4 FICHAS DE REGISTRO DE OBSERVACIN. ................................... 66 3.2 3.2.1 3.2.1.1 3.2.2 METODOLOGA DE INFORMTICA. ................................................. 71 PROGRAMACIN ORIENTADA A OBJETOS. ................................. 71 PRINCIPIOS Y CONCEPTOS DE POO. ................................................ 72 FASES DEL MODELADO ORIENTADO A OBJETOS. ................... 73

XI

3.2.2.1 3.2.2.2 3.2.2.3 3.3 3.3.1 3.3.1.1 3.3.1.2 3.3.2

ANLISIS .......................................................................................................... 74 DISEO .............................................................................................................. 75 IMPLEMENTACIN .................................................................................... 75 METODOLOGA DE DESARROLLO. ................................................... 76 MICROSOFT SOLUTION FRAMEWORK (MSF). ............................ 76 ELEMENTOS DE MSF. ................................................................................ 76 MODELO Y DISCIPLINA ........................................................................... 77 DIAGRAMAS UML ........................................................................................ 78

CAPTULO IV....................................................................................................................... 80 4. 4.1 4.2 4.2.1 4.2.1.1 4.2.1.2 4.3 DESARROLLO. ............................................................................................... 81 DOCUMENTOS DE VISIN Y ALCANCES. ....................................... 81 DOCUMENTO DE DISEO. ...................................................................... 82 DEFINICIN DE ARQUITECTURA ....................................................... 82 ESTNDARES DE DISEO DE BASE DE DATOS ........................... 82 ESTNDARES DE DISEO DE INTERFACES .................................. 82 DOCUMENTO DE DESARROLLO DEL PROTOTIPO ................... 83

XII

4.3.1 4.3.2 4.4 4.5 4.5.1 4.5.1.1 4.5.1.2

GUA DE DESARROLLO ............................................................................ 83 GUA DE ITERACIONES ............................................................................ 83 DOCUMENTO DE ESTABILIZACIN Y PRUEBAS. ...................... 84 IMPLEMENTACIN .................................................................................... 84 MANUAL DE INSTALACIN ................................................................... 84 MANUAL TCNICO ..................................................................................... 84 MANUAL DE USUARIOS ............................................................................ 84

CAPITULO V ........................................................................................................................ 85 5. 5.1 5.2 CONCLUSIONES Y RECOMENDACIONES. ...................................... 86 CONCLUSIONES. .......................................................................................... 86 RECOMENDACIONES. ............................................................................... 87

BIBLIOGRAFIA. .................................................................................................................. 88 LIBROS..................................................................................................................... 88 PGINA WEB .......................................................................................................... 88

XIII

NDICE DE ECUACIONES ECUACIN 1: MAGNITUD DEL GRADIENTE. ................................................. 24 ECUACIN 2: FUNCIN PARA SEGMENTAR LOS BORDES. ....................... 25 ECUACIN 3: SEGMENTACIN POR DISTANCIA DE PIXEL ...................... 25 ECUACIN 4: FUNCIONAMIENTO DE RED NEURONAL KOHONEN ......... 35

XIV

NDICE DE FIGURAS FIG. 1: ROSA CORTE 1 .......................................................................................... 17 FIG. 2: ROSA CORTE 2 .......................................................................................... 17 FIG. 3: ROSA CORTE 3 .......................................................................................... 17 FIG. 4: ROSA CORTE 4 .......................................................................................... 17 FIG. 5: ROSA CORTE 5 .......................................................................................... 17 FIG. 6: ROSA CORTE 6 .......................................................................................... 17 FIG. 7: ROSA CORTE 7 .......................................................................................... 17 FIG. 8: ETIQUETAMIENTO .................................................................................. 26 FIG. 9: RED NEURONAL KOHONEN. ARQUITECTURA LVQ ....................... 33 FIG. 10: RED NEURONAL KOHONEN. INTERACCIN LATERAL ............... 33 FIG. 11: RED NEURONAL KOHONEN. ARQUITECTURA SOM ..................... 34 FIG. 12: DESARROLLO N-CAPAS........................................................................ 40 FIG. 13: JERARQUA DE LOS DIAGRAMAS UML 2.0, MOSTRADOS COMO UN DIAGRAMA DE CLASES ................................................................................ 79

XV

NDICE DE TABLAS TABLA 1: ANLISIS FODA ..................................................................................... 5 TABLA 2: COSTOS DIRECTOS. ........................................................................... 11 TABLA 3: COSTOS INDIRECTOS ........................................................................ 12 TABLA 4: COSTO REAL DEL SISTEMA............................................................. 13 TABLA 5. CLASIFICACIN POR EL NMERO DE PTALOS ....................... 16 TABLA 6. TABLA DE PUNTOS DE CORTE ........................................................ 17 TABLA 7. FENOLOGA DEL BOTN .................................................................. 18 TABLA 8: COMPARACIN ENTRE REDES NEURONALES ........................... 30

XVI

NDICE DE ANEXOS

ANEXO A ENCUESTA Y ENTREVISTAS AL PERSONAL DE LA EMPRESA ....................... I ENCUESTA DIRIGIDA AL PERSONAL OPERATIVO ............................... 1 ENTREVISTA DIRIGIDA A LA ALTA GERENCIA ...................................... 2 ENTREVISTA DIRIGIDA AL PERSONAL TCNICO .................................. 3 ANEXO B DOCUMENTOS MSF DE DESARROLLO ..................................................................... II VISIN Y ALCANCES ................................................................................. 1 DISEO ......................................................................................................... 16 DESARROLLO ............................................................................................ 33 ESTABILIZACIN Y PRUEBAS................................................................ 56 IMPLEMENTACIN ................................................................................... 69

XVII

RESUMEN En el presente proyecto se ha realizado la automatizacin del proceso de inventario de rosas durante la plantacin, para evitar el deterioro de las rosas durante su permanencia en los cuartos fros, para la elaboracin del mismo se emplea la

programacin orientada objetos en escenarios Windows Forms y Web; y conceptos de base de datos e inteligencia artificial. Este proyecto presenta tres partes. En primera instancia, se usa procesamiento de imgenes para el reconocimiento del color de la rosa, y la Red Neuronal Kohonen para la clasificacin por mercados de las rosas. Como segunda instancia, se cre una base de datos para automatizar el almacenamiento de datos del inventario. Finalmente se realiz una aplicacin web, en la que los clientes pueden ingresar para visualizar los datos del ltimo inventario realizado.

Ing. Vladimir Bonilla, Msc Director de Tesis

XVIII

SUMMARY The project proposes to automate the inventory process for planting roses, and avoid the deterioration of the roses while waiting in the cold rooms. To develop the project will use OOP in Windows Forms and Web scenarios, and concepts of database and artificial intelligence. This project has three parts. Firstly, image processing is used to recognize the color of the roses, and the Kohonen Neural Network to classify roses according to markets. As second instance, a database to automate the storage of inventory data. Finally a web application, which customers can enter to view the latest inventory data undertaken.

Ing. Vladimir Bonilla, Msc Thesis Project Manager

XIX

CAPTULO I

CAPTULO I 1. INTRODUCCIN El presente trabajo de tesis est orientado a resolver uno de los muchos problemas de las floricultoras, el mismo que consiste en dejar de realizar inventarios manualmente evitando mantener las rosas en el cuarto frio hasta ser vendidas; existiendo la posibilidad de que se negreen los bordes, se golpeen, se marchiten, etc. siendo por tales razones desechadas y obviamente se pierde la venta. Por lo que es necesario automatizar estos procesos en las floricultoras para lo cual se presentar el diseo de un prototipo. El diseo del este proyecto se compone de los siguientes captulos: El captulo I, describe una visin panormica de la problemtica actual que ocurre en las floricultoras, contiene objetivos, general y especficos, justificacin, alcance y factibilidad tcnica, econmica y operativa. En el captulo II, se enuncia el Marco de Referencia, que incluye el Marco Terico, que hace referencia a Los Rosales, Imgenes, Redes Neuronales Artificiales (RNA), Base de Datos, Aplicaciones Web, Metodologa de Desarrollo, Herramientas y Plataformas de Desarrollo. Adems se definen las directrices legales autora y coautora del presente trabajo de tesis. El captulo III, se refiere a la Metodologa de la Investigacin, contempla el enfoque de la investigacin, mtodos, poblacin y muestra, instrumentos de recoleccin, tabulacin y la interpretacin de resultados de las encuestas y entrevistas aplicadas a
2

vendedores, empleados y alta gerencia de las floricultoras que han colaborado con informacin para el proyecto. La Metodologa Informtica, en la cual se definir los principios de programacin y diseo de sistemas informticos, fundamentando en la programacin orientada a objetos, y aplicaciones web. El captulo IV, es el desarrollo del diseo del prototipo, que se refiere a la elaboracin de la arquitectura del programa mediante la utilizacin de diagramas UML, programa de reconocimiento y clasificacin de rosas, almacenamiento en una base de datos y mantenimiento de sitio web. El capitulo V, contiene las conclusiones y recomendaciones, obtenidas durante el desarrollo del proyecto. Al final se incluyen las referencias bibliogrficas ordenadas alfabticamente y anexos. 1.1 ANTECEDENTES. En el Ecuador, especficamente en la zona norte de la regin sierra se encuentran lugares que se dedican al cultivo y comercializacin de flores tipo rosas; los mismos que no cuentan con tecnologa dentro del rea de control de inventarios. Las redes neuronales artificiales o tambin conocidas por sus siglas RNA; tienen muchas ventajas debido a que estn basadas en la estructura del sistema nervioso, principalmente el cerebro. Las RNA tienen la habilidad de aprender, que consiste en proporcionar datos como entrada y a su vez se le indica cul es la salida (respuesta) esperada. Una RNA crea su propia representacin de la informacin en su interior, descargando al usuario de
3

esto. Debido a que una RNA almacena la informacin de forma redundante, sta puede seguir respondiendo de manera aceptable aun si se daa parcialmente. La RNA puede manejar cambios no importantes en la informacin de entrada, como seales con ruido u otros cambios en la entrada (ej. si la informacin de entrada es la imagen de un objeto, la respuesta correspondiente no sufre cambios si la imagen cambia un poco su brillo o el objeto cambia ligeramente). La estructura de una RNA es paralela, por lo cual si esto es implementado con computadoras o en dispositivos electrnicos especiales, se pueden obtener respuestas en tiempo real. Conociendo las ventajas de las RNA, nace el objetivo de desarrollar un prototipo para un sistema automtico de reconocimiento, clasificacin y proyeccin de inventario del tipo de rosas cultivadas que sera muy til para los productores proyectar la cantidad de flores que dispondrn en determinada fecha, as podrn realizar sus ventas antes de que en la floricultora se hayan cultivado las rosas, adems que se evitara mantener las rosas en el cuarto frio hasta ser vendidas; existiendo la posibilidad de que se negreen las bordes, se golpeen, etc. y sean desechadas.

1.2 SISTEMATIZACIN Inmediatamente se detalla la idea principal del proyecto.

1.2.1

DIAGNSTICO

Para analizar la situacin de la problemtica a la que se pretende dar solucin, se usar una metodologa de estudio de la situacin competitiva del proyecto de tesis en su mercado (situacin externa) y de las caractersticas internas (situacin interna) del

mismo,

efectos

de

determinar

sus Fortalezas, Oportunidades,

Debilidades

y Amenazas. La situacin interna se compone de dos factores controlables: fortalezas y debilidades, mientras que la situacin externa se compone de dos factores no controlables: oportunidades y amenazas. A continuacin, se detalla un anlisis FODA de las empresas floricultoras, el cual nos servir para emitir un diagnostico sobre si tiene o no es o no necesario desarrollar el proyecto.
Anlisis FODA Fortalezas Buen grupo de trabajo Contar con recursos econmicos Tener una buena relacin con sus clientes Poseer los estados contables al da Debilidades Resistencia de los trabajadores al cambio Problemas de motivacin del personal. Recibir continuas quejas de sus clientes por la mala atencin ofrecer productos deficientes o con problemas de fabricacin Amenazas

Anlisis Interno

Oportunidades

Anlisis Externo

Debilitamiento de competidores Competencia desleal Posicionamiento estratgico Cambio monetario desfavorable Polticas laborales afines a sus Crditos inalcanzables necesidades Imposibilidad de contar con Poltica crediticia favorable maquinaria acorde a sus necesidades Tecnologa al alcance de su mano
Tabla 1: Anlisis FODA

De la combinacin de fortalezas y oportunidades surgen las potencialidades, las cuales sealan las lneas de accin ms prometedoras para el proyecto. Las limitaciones, surgen de las debilidades y amenazas, colocan una seria advertencia. Los riesgos (combinacin de fortalezas y amenazas) y los desafos (combinacin de debilidades y oportunidades), determinados por su correspondiente combinacin de
5

factores, exigirn una cuidadosa consideracin a la hora de marcar el rumbo que la organizacin deber asumir hacia el futuro deseable.

1.2.2

PRONSTICO

De acuerdo al FODA realizado anteriormente, a continuacin se realiza un anlisis de lo que acarrearan cada una de las amenazas y debilidades de la empresa si no se hace la automatizacin. Debilidades Resistencia de los trabajadores al cambio.- En todas las empresas existen trabajadores con temor a ser reemplazados por la tecnologa, cambio del viejo sistema de trabajo y lo que es ms sienten el temor de no poder adecuarse a una nueva realidad. Problemas de motivacin del personal.- Recibir continuas quejas de sus clientes por la mala atencin.- El maltrato que sufren las rosas durante el tiempo que se encuentran en los cuartos fros, ocasiona que los clientes se disgusten porque las rosas exportadas no llegan en ptima calidad. Ofrecer productos deficientes o con problemas de fabricacin. Amenazas Competencia desleal. Cambio monetario desfavorable. Crditos inalcanzables.

Imposibilidad de contar con maquinaria acorde a sus necesidades.

1.2.3

CONTROL DEL PRONSTICO

A continuacin se describe el control del pronstico, lo cual har posible el control y disminucin de los problemas detectados anteriormente. Automatizar el inventario permitir al empresario: Planificar el cultivo para evitar prdidas en la plantacin. Ofrecer con antelacin al cliente una cantidad aproximada de rosas. Evitar mantener las rosas mucho tiempo en los cuartos fros

1.3 FORMULACIN DEL PROBLEMA Se ha planteado el problema ya detectado en el antecedente, mismo que se resolver durante el desarrollo del presente proyecto, en funcin del diagnstico, pronstico y control del pronstico. La formulacin es la siguiente: Cmo usar la tecnologa RNA y procesamiento de imgenes para facilitar el inventario de rosas durante su cultivo, y posibles proyecciones de ventas? Para la cual se espera una respuesta afirmativa al finalizar el proyecto de tesis, la misma que se sustentar con el cumplimiento de los objetivos planteados a continuacin:

1.4 OBJETIVOS Una vez definido el tema de investigacin basado en el planteamiento del problema, se debe establecer los objetivos.

1.4.1

OBJETIVO GENERAL

Desarrollar un sistema automtico de reconocimiento, clasificacin y proyeccin de inventario del tipo de rosas cultivadas.

1.4.2

OBJETIVOS ESPECFICOS

Definir la situacin actual de inventarios y manejo de proyecciones de ventas de las flores tipo rosas.

Digitalizar patrones de imgenes de las flores tipo rosas, e imgenes de las rosas en la cama de la plantacin.

Procesar las imgenes patrones para obtener un mapa de caractersticas. Elaborar el diseo funcional de una red neuronal artificial que permita realizar la clasificacin de cortes y mercados de las rosas en la plantacin.

Disear un sitio Web para visualizar los resultados del inventario de las rosas clasificadas.

1.5 JUSTIFICACIN Actualmente, y con distribucin mundial, existen una enorme variedad de cultivares de rosas a partir de diversas hibridaciones, y cada ao aparecen nuevos. Sus principales mercados de consumo son Europa, donde figura Alemania; En Amrica el principal consumidor es Estados Unidos y en Asia destaca Japn.
8

Mxico, Colombia y Ecuador, han incrementado en los ltimos aos su produccin. El desarrollo del presente sistema ahorrar a las empresas floricultoras, tiempo de estada de la rosa en cuartos fros, como consecuencia directa ahorro de energa; as mismo se evitar daos fsicos en la estructura de la Rosa; incrementar considerablemente las ventas y sobre todo las proyecciones a futuro sern 90% certeras. Un sistema de informacin automatizado de clasificacin permitir, a la comercializadora verificar el stock en la plantacin cuando consideren oportuno, porque las cmaras estarn complementadas con sistemas mecatrnicos que les permitirn la captura de las imgenes de las rosas en la plantacin en cualquier momento. Inmediatamente la informacin obtenida ser enviada a la base de datos para su proceso y presentacin a travs del sitio Web de la comercializadora.

1.6 ALCANCE El diseo del presente proyecto ser de utilidad para las floricultoras que se dediquen al cultivo de flores tipo Rosas. El mdulo que se disear en el sistema es: control de inventario el mismo que se realizar a partir de la captura de imgenes de las rosas de cada camada por medio de una cmara web. Seguido se proceder al anlisis de las imgenes, usando una red neuronal que reconocer tres colores: rojas, blancas y amarillas; y se clasificar cada una de las rosas por etapa de corte segn el nmero de ptalos sueltos que tenga, para la simulacin del prototipo considerar solo rosas que se encuentren en corte cinco, seis y siete.
9

Una vez obtenidos los resultados se almacenarn en una base de datos, finalmente se har una proyeccin de venta, la misma que ser presentada en un sitio Web donde adems el usuario final podr ver los resultados del inventario segn fechas de cosecha. La exposicin y presentacin del presente diseo se realizar a travs de la simulacin del funcionamiento total del sistema utilizando para ello un prototipo que simula al sistema, una maqueta de camadas de rosas y los medios tecnolgicos necesarios.

1.7 FACTIBILIDAD Se refiere a la disponibilidad de los recursos necesarios para llevar a cabo los objetivos sealados, es una de las primeras etapas del desarrollo de un sistema informtico.

1.7.1

TCNICA.

La tecnologa moderna, permite realizar sistemas informticos muy complejos que agilitan y optimizan todo tipo de procesos. El presente proyecto de tesis es factible de realizar porque las herramientas, equipos tecnolgicos y software necesarios se encuentran disponibles en nuestro medio. Para el desarrollo del prototipo se ha decido usar como herramienta de desarrollo MATLAB y HTML-PHP; de Diseo Rational Rose; de Gestin de Datos MY SQL; Sistema Operativo WINDOWS XP.

10

Se usar Matlab por la facilidad que ofrece al traer los diferentes Toolboxs para desarrollo de aplicaciones para la creacin de algoritmos, anlisis de datos, visualizacin de datos y clculo numrico; procesamiento de imgenes y redes neuronales. A continuacin los resultados se llevarn a una base de datos, se seleccion MySql como herramienta de gestin de datos porque es relacional, multihilo y

multiusuario. Finalmente en un sitio web se podr observar los datos del inventario.

1.7.2

ECONMICA

Econmicamente el diseo del sistema e Implantacin en un futuro si es factible, considerando que para las empresas floricultoras, ste no es un gasto sino una inversin, cuyos beneficios se vern reflejados en un mediano tiempo. Costos Directos Costos Directos
Descripcin Hora programador Hora computador Hora internet
Herramientas de Software

Valor por hora ($)


$ $ $ $ $ 8,00 0,70 0,25 1,00 5,00

Trabajo en horas
400 800 400 800 400 2800

Costo total ($)


$ 3.200,00 $ 600,00 $ 100,00 $ 800,00 $ 2.000,00 $ 6.700,00

Hora analista TOTAL

Tabla 2: Costos Directos.

11

Costos Indirectos Costos Indirectos


Descripcin Material de Anlisis Depreciacin computadoras Movilizacin Servicios Bsicos Extras TOTAL
Tabla 3: Costos Indirectos

Precio
$ $ $ $ $ $ 20,00 30,00 100,00 100,00 50,00 300,00

Costo Real del Sistema Herramientas de Desarrollo


Descripcin Licencia Original Windows Xp SP3 Licencia Profesional Matlab 2010 My Sql TOTAL $ $ $ $ Precio 300,00 10.307,09 00,00 10.607,09

Hardware
Descripcin Cmara Digital Computadora core2duo, 2 Gb RAM Impresora Canon Multifuncin 250 TOTAL Cant. 1 1 1 P.U. $ 300,00 $ 1.200,00 $ 70,00 Subtotal $ 300,00 $ 1.200,00 $ 90,00 $ 1.590,00 Disponibilidad Disponible Disponible Disponible

Recursos Humanos Recursos N Horas Desarrollador 600 Otros Insumos Descripcin Libros Revistas Suministros y material de oficina Servicios Bsicos TOTAL

V/H $

8,00

Total $ 4.800,00

Cant. 3 1 6

P.U. $ 75,00 $ 30,00 $ 40,00

Subtotal $ 225,00 $ 30,00 $ 100,00 $ 240,00 $ 595,00

12

En resumen, el costo total del proyecto:

Resumen
Descripcin Herramientas de Desarrollo Hardware Recursos Humanos Otros Insumos TOTAL TOTAL $ 10.607,09 $ 1.590,00 $ 4.800,00 $ 595,00 $ 17.592,09
Tabla 4: Costo Real del Sistema

El precio total de la implementacin del Software es de $17.592,09 + 30% por margen de ganancia y riesgos; el valor redondeado es $ 23.000,00

1.7.3

OPERATIVA.

La administracin del software final y del equipo tecnolgico es operable por personal con medianos conocimientos en el rea informtica. Funcin Operativa del Usuario en el Software. El usuario tendr una interfaz muy amigable, para adquirir las fotografas de las rosas durante la plantacin. As mismo la presentacin del resultado ser por medio de un sitio web, de igual forma muy amigable para el usuario.

13

CAPTULO II

CAPITULO II 2. MARCO TERICO. Es importante sealar en el proyecto la estrecha relacin entre teora, el proceso de investigacin y la realidad, del entorno. A continuacin se presenta una breve introduccin terica respecto a informacin bsica de los temas que conforman parte del proyecto, como informacin importante de rosas, redes neuronales artificiales, base de datos, arquitectura web y herramientas de desarrollo, los cuales son de gran importancia para el usuario administrador.

2.1 TAXONOMA Y MORFOLOGA DE LOS ROSALES. Los rosales son un conocido gnero de arbustos espinosos y floridos representantes principales de la familia de las rosceas. Aproximadamente 200 especies botnicas de rosas son nativas del hemisferio norte, aunque no se conoce la cantidad real debido a la existencia de poblaciones hbridas en estado silvestre. La rosa era considerada como smbolo de belleza por babilonios, sirios, egipcios, romanos y griegos.

2.1.1

CLASIFICACIN DE LOS ROSALES.

Desde el punto de vista de la prctica de la jardinera, y esquemticamente, los rosales se clasifican en 4 grupos: Rosales silvestres: son los que sin ser cultivados crecen en la naturaleza.

15

Rosales antiguos: son los tipos de rosales que existan antes de 1867, ao en que apareci el primer Hbrido de Te, un hbrido artificial.

Rosales modernos: son los rosales posteriores a 1867 hasta la actualidad; a veces este grupo se lo divide en generaciones.

Otros tipos: este grupo incluye tipos especiales de rosales.

2.1.2

CLASIFICACIN DE LAS FLORES TIPO ROSAS.

Segn distintos criterios: nmero de ptalos, color y puntos de corte.

2.1.2.1

NMERO DE PTALOS.

Las rosas pueden clasificarse segn la cantidad de ptalos. Pueden ser sencillas, semidobles, dobles, moderadamente llenas, llenas y muy llenas.

Clasificacin

Nmero de ptalos

Sencillas

Poseen menos de 8 ptalos

Semidobles

Poseen de 8 a 20 ptalos

Dobles moderadamente llenas:

Poseen entre 21 y 29 ptalos

Dobles llenas:

Poseen entre 30 y 39 ptalos.

Tabla 5. Clasificacin por el nmero de ptalos Fuente: Empresa ROSAFLOR

16

2.1.2.2

PUNTOS DE CORTE.

El nmero de corte de cosecha la rosa depende del gusto y pedido del cliente.
PUNTO DE CORTE DESCRIPCIN CORONA PETALOS

GRFICO

UNO

Cerrada

Cerrados
Fig. 1: Rosa Corte 1

DOS

Cerrada

Comienza a abrirse
Fig. 2: Rosa Corte 2

TRES

Cerrada

Abiertos
Fig. 3: Rosa Corte 3

CUATRO

Comienza a abrirse

Abiertos
Fig. 4: Rosa Corte 4

CINCO

Poco Abierta

Abiertos
Fig. 5: Rosa Corte 5

SEIS

Medio Abierta

Abiertos
Fig. 6: Rosa Corte 6

SIETE

Abierta

Abiertos
Fig. 7: Rosa Corte 7

Tabla 6. Tabla de Puntos de Corte Fuente: Empresa ROSAFLOR

17

Como se muestra en la tabla 6, la rosa debe ser cultivada segn su punto de corte para ello se ha establecido siete diferentes puntos de corte, observando la corona y los ptalos.

2.1.2.3

COLORES.

Las rosas comnmente se cultivan en colores como Rojo, Rosado, Rosado oscuro, Rosado Ligero, Blanco, Amarillo, Anaranjado, Borgoa y Negro, pero existen una amplia gama de colores con diversos matices y sombras.

2.1.3

FENOLOGA DEL BOTN.

Desarrollo y crecimiento del botn en algunas variedades en las poblaciones de Cayambe y Tabacundo.

Botn arroz:

Botn definido, apenas visible.

Botn de unos 0.8 cm Botn arveja:

de dimetro, alrededor de 1.5 cm

de

pednculo, casi entre las primeras hojas.

Botn de ms o menos 1.2 cm de dimetro, entre 3 y 4 cm de Botn garbanzo: pednculo, sin color en la mayora de variedades.

El botn mide unos 2.0 cm Botn uva:

de dimetro, algunas variedades

presentan color, spalos juntos enrollados en el pice.

Color claramente definido, mximo un spalo suelto y mnimo 3 Botn color: an enrollados en el pice.
Tabla 7. Fenologa del Botn Fuente: Empresa ROSAFLOR

18

2.1.4 ETAPAS DE DESARROLLO EN EL CICLO DE CULTIVO. Las etapas de desarrollo a tener en cuenta para completar el ciclo de cultivo difieren de la especie cultivada y de su aprovechamiento ornamental, bien sea para flor cortada, verde de complemento, planta en maceta, etc. As, para un cultivo de flor cortada como la rosa, Pasian et al. (1994) consideraron las siguientes etapas de desarrollo: Desde poda hasta el desarrollo del brote, esto es, hasta que este alcanza una longitud de 10 mm. Desde este momento hasta el completo crecimiento y desarrollo de la hoja. Desde la presencia de la hoja hasta que se hace visible el botn floral o botn color. Desde este momento hasta la presencia de la ltima hoja. Desde sta ltima hoja hasta la recoleccin. En general, se trata de definir en un primer momento cuando se inicia el ciclo de cultivo, que normalmente coincide con el trasplante, o con la poda, tras una recoleccin en especies perennes de flor cortada o verde de complemento, aunque en ciertas especies con requerimientos vernalizantes este inicio podra coincidir con la finalizacin de un periodo de forzado de bajas temperaturas para completar dichos requerimientos (Clough, et al., 2001; Yuan et al., 1998); seguira con las distintas fases de desarrollo que se consideren oportunas, segn la fisiologa del crecimiento y desarrollo de la planta; y por ltimo finalizara con el momento ptimo de su comercializacin, que es diferente segn el aprovechamiento ornamental de la especie en cuestin (antesis de la primera flor, longitud determinada del brote, nmero concreto de brotes u hojas, etc.).
19

2.2 IMGENES. Una imagen puede ser definida matemticamente como una funcin bidimensional, f(X, Y) donde x y y son coordenadas especiales (en un plano), y f en cualquier par de coordenadas es la intensidad o nivel de gris de la imagen en esa coordenada. A continuacin se presentan los mtodos y algoritmos utilizados para el desarrollo del sistema para el reconocimiento y clasificacin de rosas.

2.2.1

PROCESAMIENTO DE IMGENES.

Un rea muy ligada a la de visin computacional es la de procesamiento de imgenes. Aunque ambos campos tienen mucho en comn, el objetivo final es diferente. El objetivo de procesamiento de imgenes es mejorar la calidad de las imgenes para su posterior utilizacin o interpretacin. [Escalera 01]

2.2.1.1

VISIN COMPUTACIONAL

Su funcin principal es reconocer y localizar objetos en el ambiente mediante el procesamiento de imgenes. La visin computacional es el estudio de los procesamientos de imgenes, para entenderlos y construir mquinas con capacidades similares a las humanas. [Sucar 03] Objetivo de la Visin Computacional El objetivo de la visin computacional es extraer caractersticas de una imagen para su descripcin e interpretacin por la computadora.

20

La base del software de un sistema de visin es la interpretacin y anlisis de los pxeles. El resultado final puede ser, desde la medida de una partcula, a la determinacin o lectura de una serie de caracteres (OCR), pasando por cualquier otro proceso que podamos imaginar sobre las imgenes. Dependiendo de si la aplicacin se realiza en entorno industrial o cientfico los pasos a seguir en un sistema de visin sern algo distintos. Aplicacin Industrial Captura de la Imagen Definicin de la regin de inters donde se realizarn las medidas Inicializacin de las tolerancias para determinar si la pieza a determinar es o no correcta. Ejecutar las medidas Generar una salida apropiada

Aplicacin Cientfica Capturar la Imagen Hacer un proceso de mejora Determinar los elementos a medir Ejecutar la medida Almacenar las medidas y realizar procesos grficos o estadsticos.

21

2.2.1.2

DIGITALIZACIN.

El trmino digitalizacin se puede asociar cmo un texto, sonido, movimiento, fotos, formas convertidos en cdigo binario comprensible para los computadores, mediante la utilizacin de programas y de acuerdo a los requerimientos. La funcin de imagen digital representa un valor de brillo en ese punto, ya que por medio de esta se podr partir para cumplir el objetivo. La imagen digital se compone de un nmero finito de elementos, cada uno con un lugar y valor especficos. Estos elementos son llamados pels, o pixels. Resolucin de Imgenes. El color visualizado en un punto concreto ser el resultante de combinar los valores de ese punto en las tres bandas, en la proporcin indicada por esos valores. O bien se puede tener una tabla de colores (una paleta) y hacer que los valores de la imagen estn 'apuntando' a los colores de esa paleta. De cualquiera de las formas podemos distinguir: blanco y negro, escala de grises, color indexado 16, color indexado 256, color real RVA y color real CMAN. Los tipos de datos se diferencian por la resolucin en bits (nmero de bits de informacin de la imagen por pxel) y por el nmero de canales que comprende la imagen. La resolucin en bits determina cuntos colores o niveles de gris puede representar cada pxel. Blanco y negro.- Cada pxel de una imagen en blanco y negro es blanco o negro. Los tonos intermedios (grises) se crean ordenando los pxeles blancos y negros para simular gris. Es lo que se llama tcnica de 'dithering'.

22

Escala de grises.- Cada pxel de una imagen en escala de grises puede ser uno de los 256 valores distintos de gris, del negro (cero) al blanco (255). Este tipo de datos muestra suaves cambios de tono utilizando tonos intermedios de gris. La resolucin de una imagen en escala de grises determina el tamao de los pxeles y, en consecuencia, el nmero de pxeles de una imagen. Cuanto mayor sea la resolucin, los cambios de tono de gris sern ms suaves y por tanto ms exacta la representacin de la imagen (las imgenes de alta resolucin tambin utilizan ms memoria).

Color indexado 16 y 256.- En una imagen en color indexado, cada pxel puede ser uno de 16 o de 256 colores. Estos colores vienen especificados en la tabla de colores de la imagen. A cada pxel se le asigna un nmero que se refiere a un color de la tabla de colores. Los colores que no estn disponibles en la tabla se simulan por ordenamiento y por proximidad con respecto a los pxeles cuyos colores estn disponibles. El tipo de datos de color indexado 16 es el usado por la pantalla VGA estndar en modo de 16 colores. El tipo de datos de color indexado 256 es el usado por la mayora de las pantallas de 256 colores, incluida la IBM 8514/A, XGA y los adaptadores VGA estndar en modo de 256 colores con 320 x 200 pxeles y algunos adaptadores VGA especiales en modo de 256 colores.

Color real RVA.- En una imagen en color real RVA, cada pxel puede ser uno de los ms de 16,7 millones de colores disponibles. El tipo de datos de color real RVA es actualmente el mejor tipo de datos para editar imgenes en color debido a que retiene mayor cantidad de informacin de la imagen.

23

2.2.1.3

FILTROS

Los filtros se utilizan para la modificacin de imgenes, ya sea para detectar los bordes de una escena o para modificar el aspecto, otra funcin de los filtros es para la eliminacin de ruido de la imagen. Al hablar de un filtro nos estamos refiriendo a realizar una Convolucin de una matriz con respecto a un pixel y la vecindad de este, esto quiere decir, si la imagen es de 200x300 pixeles y el filtro con el cual se va a realizar la convolucin es una matriz de 3x3 entonces se ir desplazando el filtro pixel a pixel iniciando en la posicin (1,1) hasta llegar a la (199,299). La magnitud del gradiente es entonces calculada con la siguiente frmula: | |
Ecuacin 1: Magnitud del gradiente.

2.2.1.4

SEGMENTACIN.

Es el proceso en que se divide una escena percibida en sus partes para extraer objetos para su posterior reconocimiento y anlisis. Por lo que se hace una subdivisin b ; b son los intervalos. Segmentacin por bordes Se centran en la deteccin de contornos. Delimitan el borde de un objeto y segmentan los pxeles dentro del contorno como pertenecientes a ese objeto. Su desventaja consiste en conectar contornos separados o incompletos, lo que los hace susceptibles a fallas.
24

del espacio de parmetros llamados clulas de acumulacin donde a ; a y

La imagen de contornos , se puede formar a partir de:

, , ,
Ecuacin 2: Funcin para segmentar los bordes.

Segmentacin por distancia de cada pxel en regiones.Se toma la distancia de cada pxel a sus vecinos (mscara de 3x3), se suman y se normalizan (dividir entre 8). De esta forma la magnitud de la orilla aumenta al aumentar la diferencia en intensidad, croma o saturacin. En esta aproximacin todos los pxeles que correspondan a un objeto se agrupan juntos y son marcados para indicar que pertenecen a una regin. Los pxeles son asignados a regiones segn algn criterio que los distingue del resto de la imagen. Un criterio muy estricto puede provocar fragmentacin mientras uno poco estricto ocasiona uniones indeseadas.
Ecuacin 3: Segmentacin por distancia de pixel

Segmentacin por umbral Esta tcnica segmenta la imagen pxel por pxel, es decir, no toma en consideracin el valor de los pxeles vecinos para el proceso. Si el valor de un pxel est dentro de un rango de valores especificado para un objeto el pxel es segmentado. Son efectivas cuando los objetos y el fondo de la imagen tienen rangos de valores diferentes y existe un contraste marcado entre ellos. Como la informacin de los pxeles vecinos es ignorada, las fronteras de regiones borrosas pueden ocasionar problemas.
25

2.2.1.5

ETIQUETAMIENTO

Cuando se hace una bsqueda de un objeto por color se busca su valor de umbral y una vez encontrado, se modifica cambindolo a un valor definido. De esta forma aparecen valores homogneos definidos en la imagen.

Fig. 8: Etiquetamiento Fuente: www. kirainet.com

De esta forma a cada valor homogneo se le asignan un valor o etiqueta, para conocer el nmero de objetos existentes en cada clula y luego identificar dentro del sistema, siendo identificados todos los objetos totalmente. Una vez en funcionamiento los mtodos de procesamiento de imgenes, generan una salida

2.2.1.6 EXTRACCIN DE CARACTERSTICAS DE UNA IMAGEN. Una imagen contiene una gran cantidad de datos, la mayora de los cuales proporciona muy poca informacin para interpretar la escena. Cualquier sistema que pretenda trabajar con ella debe, en un primer paso, extraer de la forma ms eficaz y robusta posible determinadas caractersticas que nos proporcionen la mxima

26

informacin posible. Estas caractersticas deben cumplir, entre otras, las siguientes condiciones: Su extraccin a partir de la imagen no debe suponer un coste excesivo al sistema en el cual est integrado. El tiempo total de extraccin debe ser lo ms pequeo posible. Su localizacin debe ser muy precisa. El error cometido en la estimacin de las caractersticas tambin debe ser lo ms pequeo posible. Deben ser robustas y estables. Deberan permanecer a lo largo de una secuencia. Contendrn la mxima informacin posible de la escena, es decir, debemos ser capaces de extraer informacin de tipo geomtrico a partir de ellas. Las aristas, esquinas y uniones satisfacen estas condiciones. Aparecen de forma natural en la mayora de escenarios tanto naturales como artificiales (construidos por el hombre). Sin embargo, la obtencin de las aristas suele ser fuente de muchos errores. Pongamos por ejemplo el algoritmo de deteccin de aristas ms comnmente utilizado, el algoritmo de Canny2. Este algoritmo combina un operador diferencial con un filtro gaussiano. Variando el parmetro de varianza del filtro que utiliza el algoritmo, podemos tener el siguiente comportamiento. Este comportamiento sucede tambin en la mayora de los filtros de deteccin de aristas. Tambin el uso de derivadas de la imagen para el clculo de aristas supone un error adicional por el ruido que se produce en el proceso de captacin. Puntos caractersticos a partir de aristas.

27

Todos los mtodos de obtencin de esquinas y/o uniones dentro de este grupo tienen en comn una primera fase de extraccin de aristas. Una vez obtenida las aristas estas se representan mediante un cdigo de cadena. Un cdigo de cadena permite expresar, por ejemplo, el cambio de direccin de un pxel al siguiente o la discretizacin de la tangente para todos los puntos de la arista. El objetivo consiste en encontrar puntos de mxima curvatura dentro del cdigo de cadena. Puntos caractersticos a partir de la propia imagen. Existen otros mtodos que obtienen los puntos de mxima curvatura de una imagen utilizando directamente los valores de la imagen, sin realizar el paso previo de obtencin de aristas. Estos mtodos definen una medida que suelen denominar de esquinidad la cual se calcula para todos los puntos de la imagen. Cuando esta medida supera un cierto umbral se considera que el punto es una esquina. La mayora de estos mtodos utilizan operadores diferenciales. Uno de los primeros mtodos para la obtencin de puntos caractersticos es el de Moravec4. Dada una ventana rectangular, este operador calcula el valor de cambio de la intensidad de la imagen cuando desplazamos ligeramente esta ventana. Una esquina viene caracterizada por elevados cambios de intensidad. Es altamente sensible a ruido. Beaudet5 propone un operador que calcula el determinante de una matriz y queda definido como:

Donde Ixy es la derivada parcial de la imagen con respecto al eje x y despus con respecto al eje y, y Ixx y Iyy es la segunda derivada con respecto a x e y, respectivamente.

28

2.2.2

CMARA WEB.

Una cmara web o webcam es una pequea cmara digital conectada a una computadora, la cual puede capturar imgenes y transmitirlas a travs de Internet, ya sea a una pgina web o a una o varias computadoras de forma privada. Las webcams necesitan una computadora para transmitir las imgenes, normalmente conectada a travs del puerto USB. El software de la webcam toma un fotograma "frame" de la cmara cada cierto tiempo y la enva a otro punto para ser visualizada. Las cmaras web normalmente estn formadas por una lente, un sensor de imagen y la circuitera necesaria para manejarlos. La circuitera electrnica es la encargada de leer la imagen del sensor y transmitirla a la computadora. Algunas cmaras usan un sensor CMOS integrado con la circuitera en un nico chip de silicio para ahorrar espacio y costes. El modo en que funciona el sensor es equivalente al de una cmara digital normal.

2.3 REDES NEURONALES ARTIFICIALES. Existen numerosas formas de definir lo que son las redes neuronales, desde las definiciones cortas y genricas hasta las que intentan explicar ms detalladamente lo que significa red neuronal o computacin neuronal. Redes neuronales artificiales son redes interconectadas masivamente en paralelo de elementos simples (usualmente adaptivos) y organizacin jerrquica, las cuales intentan interactuar con los objetos del mundo real del mismo modo que lo hace el sistema nervioso biolgico. [Kohonen 88c.].

29

2.3.1

COMPARACIN ENTRE REDES NEURONALES.

Para desarrollar una propuesta, se ha realizado el estudio de tres redes importantes dentro de su tipo, y se ha elaborado una tabla con ciertos aspectos a considerar sobre las redes en estudio:

Aspectos

Hopfield Simple. Esto es debido al tipo de entrenamiento, ya que una vez hecha la estructura de datos correspondiente solo resta por encontrar una buena configuracin de patrones de entrenamiento.

Backpropagation Compleja, ya que se requiere un tiempo considerable debido a la metodologa prueba y error para la determinacin de la cantidad de capas ocultas, nmeros de neuronas en las mismas y valor de los factores de aprendizaje y momento.

Kohonen Compleja, porque el aprendizaje no concluye despus de presentarle una vez todos los patrones de entrada, sino que habr que repetir el proceso varias veces para refinar el mapa topolgico de salida.

Complejidad en la implantacin

Recursos Computacionales

Mnimos. Todo el procesamiento en Hopfield se resume a clculos matriciales.

Altos, esto es respecto a la fase de entrenamiento, la cual requiere n iteraciones hasta que la red converja. Una vez entrenada la red, el funcionamiento (reconocimiento) puede ejecutarse con recursos computacionales mnimos.

Altos, cuantas ms veces se presenten los datos en la fase de entrenamiento, tanto ms se reducirn las zonas de neuronas que se deben activar ante entradas parecidas, consiguiendo que la red pueda realizar una clasificacin ms selectiva. Ante patrones de pruebas, Kohonen presenta un rendimiento favorable que vara del 92% al 100%; a pesar de sus limitaciones en cuanto a la duracin del proceso de aprendizaje y a la imposibilidad de aprender nuevos datos sin tener que volver a repetir completamente el proceso de aprendizaje con todos los patrones.

Rendimiento

Segn los experimentos realizados, Hopfield cuenta con un rendimiento favorable de tan solo el 50%.

Segn pruebas ya hechas y ante los mismos patrones de pruebas la BPN presenta un rendimiento favorable del 100%.

Tabla 8: Comparacin entre Redes Neuronales

30

Por los resultados expuestos hasta el momento se puede concluir que, la implementacin de una red Hopfield no es adecuada para este dominio de problema, esto es debido a que es muy difcil cumplir con la ortogonalidad necesaria en los patrones de manera que la red aprenda lo suficiente para que en su funcionamiento infiera correctamente las salidas ante cada entrada. Se ha decidido usar la red Kohonen, a pesar de sus limitaciones en cuanto a la duracin del proceso de aprendizaje y a la imposibilidad de aprender nuevos datos sin tener que volver a repetir completamente el proceso de aprendizaje con todos los patrones, ya que tiene la capacidad para formar mapas de caractersticas y establecer clases o categoras de datos sin supervisin para demostrar que una informacin de entrada es suficiente para forzar la formacin de mapas de caractersticas, con lo que se garantiza que las neuronas topolgicamente prximas sean sensibles a entradas fsicamente similares. Por esta causa, la red es especialmente til para establecer relaciones, desconocidas previamente, entre conjuntos de datos para finalmente conseguir que la red pueda realizar una clasificacin ms selectiva. Como aplicaciones, destacan las relacionadas con el reconocimiento de patrones (voz, texto, imgenes, seales, etc.), codificacin de datos, compresin de imgenes y resolucin de problemas de optimizacin. Esta Red se utiliza en robtica, comprobndose su utilidad en el diseo de sistemas para controlar el movimiento de un brazo mecnico en un espacio tridimensional.

31

2.3.2

RED NEURONAL KOHONEN.

KOHONEN en 1982, present un modelo de red neuronal con capacidad para formar mapas de caractersticas de manera similar a como ocurre en el cerebro. El objetivo de Kohonen era demostrar que un estmulo externo (informacin de entrada) por s solo, suponiendo una estructura propia y una descripcin funcional del comportamiento de la red, era suficiente para forzar la formacin de los mapas. Este modelo tiene dos variantes, denominadas LVQ (Learning Vector Quantization) y TPM (Topology-Preserving Map). Ambas forman mapas topolgicos para establecer caractersticas comunes entre las informaciones de entrada.

2.3.2.1

ARQUITECTURA

Los vectores de entrada a la red pueden ser de diferentes dimensiones, siendo en el caso de LVQ de una dimensin, y en el caso de TPM bidimensionales o incluso tridimensionales.

2.3.2.1.1

ARQUITECTURA LVQ

Se trata de una red de dos capas con N neuronas de entrada y M de salida. Cada una de las N neuronas de entrada se conecta a las M de salida mediante conexiones hacia delante (feedforward). Entre las neuronas de las capas de salida existen conexiones laterales, ya que cada una de ellas tiene influencia sobre sus vecinas a la hora de calcular los pesos de las conexiones hacia delante entre la capa de salida y la capa de entrada.

32

En las neuronas nas de la capa de salida, cada neurona est conectada ctada con otras de su entorno, de manera que produce p una excitacin en las ms prximas s y un una inhibicin en las ms alejadas. Tanto la excitaci citacin como la inhibicin laterales son gradualment lmente ms dbiles a medida que nos alejamos jamos de la neurona en cuestin.

Capa de Salida da

ai

Capa 2 Neuronas Capa 1 wij

Capa de Entrada ada PN


Pj

Fig. 9: Red Neuronal Kohonen. Arquitectura LVQ

Las influencias ias laterales lat se suelen representar por una Gaussiana ssiana: mientras ms cercana ms influencia, encia, si la distancia es muy grande, la influenc fluencia llega a ser despreciable; es decir cir la influencia que una neurona ejerce sobre las de dems es funcin de la distancia entre ellas, siendo muy pequea cuando estn muy alejada lejadas.

Fig. 10: Red Neuronal Kohonen. Interaccin lateral

33

2.3.2.1.2

ARQUITECTURA SOM OM

Trata de establece ablecer una correspondencia entre los datos de entrad entrada y un espacio bidimensional de salida, lida, de d modo que ante datos con caractersticas s comunes com se activen neuronas situadas en n zonas zona prximas de la capa de salida. Cada neurona de la l capa de entrada est conectada con cada a una de d las neuronas de la capa de salida mediante media pesos. Las interacciones iones laterales siguen existiendo en relacin con n la d distancia que se toma como una zona a bidimensional bidim alrededor de la neurona.

Fig. 11: Red Neuronal Kohonen. Arquitectura SOM

2.3.2.2 2.3.

ENTRENAMIENTO

Su funcionamiento miento, es relativamente simple. Cuando se presenta senta a la entrada una informacin Ek=(e1(k),..., eN(k)), cada una de las M neuronas de la capa pa de salida la recibe a travs de las conexiones xiones feedforward con pesos wji, Tambin estas stas neuronas n reciben las correspondientes entradas ntradas debido a las conexiones laterales s con el resto de las neuronas de salida y cuya influe influencia depender de la distancia a la que se encuentra.

34

As, la salida generada por una neurona de salida j ante un vector de entrada Ek, sera:

Ecuacin 4: Funcionamiento de Red Neuronal Kohonen (tomado de Kohonen [8])

Donde Intpj es una funcin que representa la influencia lateral de la neurona p sobre la neurona j. la funcin de activacin de las neuronas de salida (f) ser del tipo continuo, lineal o sigmoidal, ya que esta red trabaja con valores reales. Durante la etapa de entrenamiento, se presenta a la red un conjunto de informaciones de entrada para que sta establezca, en funcin de la semejanza entre los datos, las diferentes categoras (una por neurona de salida) que servirn durante la fase de funcionamiento para realizar clasificaciones de nuevos datos que se presenten a la red. Los valores finales de los pesos de las conexiones entre cada neurona de la capa de salida con las de entrada se correspondern con los valores de los componentes del vector de aprendizaje que consigue activar la neurona correspondiente.

2.3.2.3

APRENDIZAJE.

El aprendizaje es de tipo OFF LINE, por lo que se distingue una etapa de aprendizaje y otra de funcionamiento. En la etapa de aprendizaje se fijan los valores de los pesos de las conexiones (feedforward) entre la capa de entrada y la de salida. El aprendizaje no concluye despus de presentarle una vez todos los patrones de entrada, sino que habr que repetir el proceso varias veces para refinar el mapa topolgico de salida, de tal forma que cuantas ms veces se presenten los datos, tanto
35

ms se reducirn las zonas de neuronas que se deben activar ante entradas parecidas, consiguiendo que la red pueda realizar una clasificacin ms selectiva. La seleccin de los parmetros es muy importante para conseguir una buena representacin. Normalmente se distinguen dos fases en el perodo de aprendizaje:

Organizacin topolgica de los pesos, definicin de los entornos


(supondremos que precisa de N iteraciones)

o La funcin de vecindad (gaussiana u otras) debe mantenerse grande,


cubriendo el espacio de salidas completamente para permitir a neuronas que responden a pesos similares que se acerquen entre s. La variacin se suele tomar: y el coeficiente de aprendizaje debe ser alto (mayor que 0.1) para permitir a la red organizarse:

Convergencia en la que las neuronas se ajustan con precisin a los detalles de


la distribucin de las entradas. Es usualmente mucho ms larga, el coeficiente de aprendizaje se debe conservar pequeo (0.01) y los entornos muy pequeos (slo la neurona vencedora o sus ms prximas).

2.3.2.4

ALGORITMO

Sea N el nmero de neuronas de entrada y M el nmero de neuronas de salida.

Objetivo: establecer los valores de los pesos de las conexiones.


1. Inicializar los pesos, wji, con valores aleatorios pequeos, fijando la zona inicial de vecindad entre las neuronas de salida. 2. Presentar a la red una informacin de entrada en forma de vector Ek = (e1, ..., eN), cuyas componentes, ei, sean valores continuos.
36

3. Determinar la neurona vencedora de la capa de salida: ser aquella cuyo vector de pesos, Wj, sea el ms parecido a la informacin de entrada Ek. Recordemos que las componentes de Wj son los valores de los pesos de las conexiones entre esa neurona, j, y cada una de las neuronas de entrada. Para ello se calcula las distancias entre los vectores Ek y Wj para cada neurona de salida. La expresin matemtica sera la siguiente: dj = Sum i=1..N (ei - wji)2 para 1 <= j <= M 4. Una vez localizada la neurona vencedora, j*, se actualizan los pesos de sus conexiones de entrada y tambin los de las neuronas vecinas (las que pertenecen a su zona de vecindad, Zonaj). Lo que se consigue es asociar la informacin de entrada con una cierta zona de la capa de salida. wji(t+1) = wji(t) + (t) [ei(k) - wj*i(t)] para j perteneciente a Zonaj*(t) El trmino (t) es un parmetro de ganancia o coeficiente de aprendizaje, con un valor entre 0 y 1 que decrece con el nmero de iteraciones del proceso de entrenamiento. Puede utilizarse la expresin (t) = 1/t. 5. El proceso se debe repetir, volviendo a presentar todo el juego de patrones de aprendizaje E1, E2, .., un mnimo de 500 veces (t = 500).

37

2.4 BASE DE DATOS.


Es un conjunto de datos interrelacionados y almacenados de forma organizada.

2.4.1

BASE DE DATOS TRANSACCIONALES.

Son bases de datos cuyo nico fin es el envo y recepcin de datos a grandes velocidades, estas bases son muy poco comunes y estn dirigidas por lo general al entorno de anlisis de calidad, datos de produccin e industrial, es importante entender que su fin nico es recolectar y recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia y duplicacin de informacin no es un problema como con las dems bases de datos, por lo general para poderlas aprovechar al mximo permiten algn tipo de conectividad a bases de datos relacionales.

2.5 APLICACIONES WEB.


En los ltimos aos las aplicaciones web han sufrido un gran auge gracias en gran parte a Internet y la proliferacin de sitios web, sobre todo con el fin de fomentar el comercio electrnico. Su facilidad de administracin centralizada las hace ideales tanto para su despliegue en internet como en intranets corporativas. La facilidad de uso de los interfaces web y el hecho de que cada da ms personas estn acostumbradas a la navegacin por internet hace que el tiempo de aprendizaje se reduzca considerablemente respecto a aplicaciones tradicionales standalone.

38

El auge de multitud de soluciones o frameworks open source hace que su desarrollo sea sencillo y que un gran nmero de desarrolladores tengan experiencia con ellos. Otro hecho a tener en cuenta es que una vez realizada una aplicacin web para uso interno de una empresa, por ejemplo en una intranet, el poner esa funcionalidad, o incluso funcionalidades nuevas, a disposicin de empleados o el pblico general tiene un coste mnimo a la vez que una potencial proyeccin mundial.

2.5.1

ARQUITECTURA.

Una arquitectura orientada a objetos, es aquella que utiliza a los objetos en forma de Entidades del Negocio para transmitir los datos entre las distintas capas, y como fuente de datos en los componentes de la capa de vista y capa de negocio, para migrar del modelo de objetos al modelos entidad relacin mediante los componentes lgicos de acceso a datos. Para el caso de estudio de esta tesis vamos a omitir la implementacin de interfaces de servicios internos o externos, y de los flujos de trabajo empresariales ya que estos conceptos van directamente relaciones con aplicaciones muy complejas.

2.5.1.1

DESARROLLO N-CAPAS.

La arquitectura que se disear ser el pilar fundamental de la aplicacin. En ella se definirn los medios para acceder a los orgenes de datos, cmo se manejar la lgica de negocio, cmo estar estructurados los componentes de presentacin, entre otras. En la Figura se puede observar seis tipos de componentes indispensables en

cualquier arquitectura basada en objetos, los cuales se resumen a continuacin:

39

Usuarios

Fig. 12: Desarrollo N-Capas

2.5.1.2

INTERFAZ DE USUARIO (USER INTERFAZ).

La Capa de Presentacin comprende el conjunto de componentes de Interfaces de Usuario, que sirven como interfaz entre el aplicativo y el usuario. En el caso de .net, se dispone de algunos formatos para la presentacin del aplicativo, tales como Windows Forms, Web Forms, o Dispositivos Mviles, separar la lgica de negocio, permite facilitar la creacin de aplicaciones independientes de la vista.

2.5.1.3

LGICA DE NEGOCIOS (BUSINESS).

La Capa de Lgica de Negocio es el conjunto de componentes empresariales donde se almacenarn todas las reglas propias del negocio que maneja el aplicativo.

40

2.5.1.4

ACCESO A DATOS (ENTITYS).

La Capa de Componentes lgicos de Acceso se menciona una arquitectura basada en objetos, esta capa comprende el conjunto de componentes donde, se realiza el
mapeo de los mismos desde el modelo entidad relacin al modelo de objetos.

2.5.1.5

ORIGEN DE DATOS.

La Capa de conexin con el origen de datos en esta capa se utilizar las mejores prcticas para conectar el origen de datos, sea este especfico, es decir una aplicacin que funcione exclusivamente con My Sql Server por ejemplo, u otras.

2.5.1.6

ENTIDADES DEL NEGOCIO.

Dado que se desea transportar datos desde la capa de vista hasta el almacn de datos, se necesita un medio para transmitir estos datos, porque que es una arquitectura basada en objetos, los datos se transmitirn en modo de objetos que representan a entidades del negocio, los cuales estn agrupados en esta capa.

2.5.1.7

SEGURIDADES.

Son componentes de autorizacin y autenticacin que debern estar disponibles en cualquier parte del aplicativo.

2.5.1.8

COMPONENTES GENERALES.

Son componentes de distintos tipos, que pueden ir desde validaciones generales de tipos de datos, recursos matemticos adicionales, mecanismos de administracin operativa, tales como excepciones entre otros.

41

2.6 HERRAMIENTAS Y PLATAFORMAS DE DESARROLLO. El software en que se desarrollar el proyecto son las siguientes.

2.6.1

MATLAB.

Matlab sirve como base para todos los productos de MathWorks. Incluye un lenguaje de programacin y herramientas para la creacin de algoritmos, anlisis de datos, visualizacin de datos y clculo numrico.1 Matlab trae diferentes Toolboxs, para el desarrollo de aplicaciones, en el desarrollo del sistema prototipo se usar los siguientes:

2.6.1.1

NEURONAL NETWORK TOOLBOX.

Este toolbox proporciona funciones para el diseo, inicializacin, simulacin y entrenamiento de los modelos neuronales de uso ms extendido en la actualidad: Perceptrn, redes lineales, redes de retropropagacin, redes de base radial, aprendizaje asociativo y competitivo, aplicaciones autorganizativas, aprendizaje de cuantizacin vectorial, redes de Elman y redes de Hopfield. El toolbox, aporta las facilidades y prestaciones grficas de MATLAB para el estudio del comportamiento de las redes: visualizacin grfica de la matriz de pesos y vector de desplazamiento mediante diagramas de Hinton, representacin de errores a lo largo del entrenamiento, mapas de superficie de error en funcin de pesos y vector de desplazamiento, etc. Estos grficos resultan muy tiles en el estudio de la convergencia y estabilidad de los algoritmos de aprendizaje. Este toolbox incluye un manual de introduccin al campo de las redes neuronales junto con una coleccin de
1

http://www.mathworks.com/products/

42

demostraciones y aplicaciones muy didcticas, tiles para el estudio y la profundizacin en las cuestiones fundamentales de los paradigmas de redes neuronales bsicos. Asimismo, se proporcionan las referencias bibliogrficas ms significativas referidas a los distintos modelos que aparecen en la aplicacin. A pesar de que el estudio de las redes neuronales se inici ya hace algunas dcadas, las primeras aplicaciones slidas dentro de este campo no han tenido lugar hasta hace unos doce aos y aun ahora constituyen un rea de investigacin en rpido desarrollo. Este toolbox tiene por tanto una orientacin diferente a aquellos destinados a campos como el de sistemas de control u optimizacin donde la terminologa, fundamentos matemticos y procedimientos de diseo estn ya firmemente establecidos y se han aplicado durante aos. Este toolbox pretende que sea utilizado para la valoracin y diseo de diseos neuronales en la industria y sobre todo en educacin e investigacin. Dentro de las aplicaciones bsicas de este toolbox, cabe destacar aquellas que estn orientadas a aquellas que se enmarcan dentro del campo de la industria aeroespacial y automocin (simulacin, sistemas de control, autopilotaje), banca, defensa (reconocimiento de patrones, procesamiento de seales, identificacin de imgenes, extraccin de caractersticas, compresin de datos), electrnica (control de procesos, anlisis de errores, modelado no lineal, sntesis de voz, visin por ordenador), economa (anlisis financiero, anlisis predictivo), industria (control de procesos, identificacin en tiempo real, sistemas de inspeccin), medicina, robtica (control de trayectorias, sistemas de visin), reconocimiento y sntesis del habla,

telecomunicaciones (control de datos e imgenes, servicios de informacin

43

automatizada, traduccin del lenguaje hablado en tiempo real, diagnosis, sistemas de enrutamiento), etc. El toolbox contiene muchos ejemplos de algunas de estas aplicaciones.2

2.6.1.2

IMAGING PROCESING TOOLBOX.

Anlisis de Datos en Aplicaciones de Imgenes MATLAB y la Image Processing Toolbox ofrece un amplio conjunto de herramientas que le permite fcilmente manipular, procesar y analizar datos de imgenes, interactivamente mostrar pantallas de imgenes 2-D o 3-D, visualizar datos temporarios cuando es necesario, y comentar sus resultados para publicaciones tcnicas. La orientacin basada en matrices del lenguaje de MATLAB le permite expresar en forma compacta operaciones

matemticas de forma similar a cmo las expresara sobre papel. Como resultado, es fcil e intuitivo efectuar procesamiento de imgenes y operaciones de anlisis tales como FFTs, filtrado 2-D, morfologa binaria, manipulacin geomtrica, conversin de espacios de colores, compresin, anlisis de componentes conectados y ms. Este Toolbox proporciona a MATLAB de un conjunto de funciones que ampla las capacidades del producto para realizar desarrollo de aplicaciones y de nuevos algoritmos en el campo del proceso y anlisis de imgenes. El entorno matemtico y de creacin de MATLAB es ideal para el procesado de imgenes, ya que estas imgenes son, al fin y al cabo, matrices. Este toolbox incorpora funciones para:

Diseo de filtros. Mejora y retocado de imgenes.

http://www.mathworks.com/products/neuronal

44

Anlisis y estadstica de imgenes. Operaciones morfolgicas, geomtricas y de color. Transformaciones 2D. El proceso de imgenes es un campo de trabajo absolutamente crucial para

aquellos colectivos e industrias que estn trabajando en reas como diagnstico mdico, astronoma, geofsica, ciencias medioambientales, anlisis de datos en laboratorios, inspeccin industrial, etc. Los programas actuales de procesado y anlisis de imgenes se clasifican actualmente en dos categoras: libreras de bajo nivel para programadores profesionales y paquetes de aplicacin con capacidades limitadas de personalizacin. Ambos tipos de aplicaciones estn, generalmente, pensados para tareas bsicas de visualizacin de datos y 'rendering'. Sin embargo, muchos de ellos adolecen de la posibilidad de efectuar anlisis numricos de los mismos. El Image Processing Toolbox entra dentro de la categora de familias de funciones que, desde el entorno de trabajo de MATLAB, permitir al profesional efectuar una exploracin exhaustiva y desde un punto de vista matemtico de las imgenes y grficos que se deseen tratar o analizar.3 Algunas de las funciones ms importantes incluidas dentro de este toolbox son las siguientes: Anlisis de imgenes y estadstica. Diseo de filtros y recuperacin de imgenes. Mejora de imgenes.

http://www.mathworks.com/products/imaging_procesing/

45

Operaciones morfolgicas. Definicin de mapas de colores y modificacin grfica. Operaciones geomtricas. Transformacin de imgenes. Proceso de bloques.

2.6.1.3

DATABASE TOOLBOX.

Los productos del database Toolbox le permite intercambiar datos entre Matlab y cualquier ODBC /base de datos compatible con JDBC. Con la herramienta Visual Query Builder dentro de la caja de herramientas, puede consultar los datos almacenados sin necesidad de conocer o aprender SQL. Esto le da la posibilidad de acceder, analizar y almacenar datos de forma rpida y fcilmente desde Matlab.4

2.6.2

MYSQL.

Es un sistema de gestin de base de datos relacional, multihilo y multiusuario con ms de seis millones de instalaciones. MySql AB desde enero de 2008 una subsidiaria de Sun Microsystems y sta a su vez de Oracle Corporation desde abril de 2009 desarrolla MySql como software libre en un esquema de licenciamiento dual.5

4 5

http://www.mathworks.com/products/database Fuente: es.wikipedia.org/wiki/MySQL

46

2.6.3

GOOGLE CHROME.

Google Chrome es un navegador web desarrollado por Google y compilado con base en componentes de cdigo abierto como el motor de renderizado de WebKit y su estructura de desarrollo de aplicaciones (Framework). Google Chrome es el tercer navegador ms utilizado en Internet, con una cuota de mercado del 10,70% a finales de enero de 2011, y con un total de 120 millones de usuarios a principios de diciembre de 2010. Est disponible gratuitamente bajo condiciones de servicio especficas.6

2.6.4

RATIONAL ROSE

IBM Rational Rose Enterprise proporciona un lenguaje de modelado comn que permite crear ms deprisa software de calidad para el despliegue, diseo, construccin, pruebas y administracin de proyectos en el proceso de desarrollo de software. Es compatible con el lenguaje UML (Unified Modeling Language) y es uno de los productos ms completos de la familia Rational Rose, permite el modelado UML para disear bases de datos, con la posibilidad de representar la integracin de los requisitos de datos y aplicaciones mediante diseos lgicos y fsicos.7

2.6.5

MICROSOFT WINDOWS XP.

Windows (cuyo nombre en clave inicial fue Whistler) es una lnea de sistemas operativos desarrollado por Microsoft que fueron hechos pblicos el 25 de octubre de

6 7

Fuente: http://es.wikipedia.org/wiki/Google_Chrome Fuente: http://www-142.ibm.com/software/products/es/es/enterprise/

47

2001. Se considera que estn en el mercado 400 millones de copias funcionando. Las letras "XP" provienen de la palabra 'eXPeriencia', 'eXPeriencie' en ingls. Windows XP est construido en el cdigo de Windows 2000 con una nueva GUI (llamada Luna), el cual incluye caractersticas ligeramente rediseadas, algunas de las cuales se asemejan ligeramente a otras GUI de otros sistemas operativos8

2.6.6

JAVA SCRIPT.

JavaScript es un lenguaje de programacin interpretado, es decir, que no requiere compilacin, utilizado principalmente en pginas web, con una sintaxis semejante a la del lenguaje Java y el lenguaje C. Al igual que Java, JavaScript es un lenguaje orientado a objetos propiamente dicho, ya que dispone de Herencia, si bien sta se realiza siguiendo el paradigma de programacin basada en prototipos, ya que las nuevas clases se generan clonando las clases base (prototipos) y extendiendo su funcionalidad. Todos los navegadores modernos interpretan el cdigo JavaScript integrado dentro de las pginas web. Para interactuar con una pgina web se provee al lenguaje JavaScript de una implementacin del DOM. El lenguaje fue inventado por Brendan Eich en la empresa Netscape Communications, que es la que desarroll los primeros navegadores web comerciales. Apareci por primera vez en el producto de Netscape llamado Netscape Navigator 2.0.

Fuente: es.wikipedia.org/wiki/Windows_XP

48

CAPTULO III

CAPTULO III 3. METODOLOGA. En este captulo se desarrolla la fase de metodologas tanto de investigacin con sus mtodos y aspectos importantes; as como tambin se detalla la metodologa informtica orientada a objetos sus principales caractersticas y funcionalidades.

3.1 METODOLOGA DE LA INVESTIGACIN. Durante el desarrollo del proyecto de tesis, se utilizan mtodos de investigacin, los mismos que se describen a continuacin:

3.1.1

MTODO DEDUCTIVO.

Este mtodo se lo ha empleado para recopilar informacin general sobre rosales, redes neuronales, herramientas de desarrollo, arquitectura web, metodologas de software; utilizando para ello libros y pginas web; logrando as un anlisis y

discernimiento de la informacin que es de utilidad.

3.1.2

MTODO EMPRICO.

Para recopilar informacin de fuentes primarias como: gerentes y empleados de las empresas floricultoras se utiliz como tcnica la entrevista, la encuesta y la observacin directa, ya que la informacin obtenida de manera personal; es decir de fuente directa, suele ser ms clara y precisa, adems es ms fcil controlar la validez de las respuestas, as como motivar y facilitar la expresin de las mismas al entrevistado.

50

Las tcnicas que se utilizaron para recopilar la informacin de fuentes primarias son. Encuesta al nivel operativo (quienes son los encargados de realizar el conteo de las rosas durante y despus de la plantacin)

Entrevista al nivel operativo (quienes son los encargados de dirigir el proceso de inventario, cultivo, etc. durante la plantacin)

Entrevistas a la alta gerencia (quienes son los interesados en mejorar el proceso de inventario)

Observacin cientfica donde se utilizan fichas de registro de informacin. Los formatos de las entrevistas y encuesta se encuentra en el Anexo A. Siguiendo el orden antes detallado, en primera instancia se entrevist a la alta

gerencia de las empresas floricultoras ROSAFLOR, CORPLYE y VERDONIA, para lo cual colaboraron los tres gerentes los cuales describieron con gran similitud la forma general de como es el proceso actual de inventario de rosas permitiendo tener una base de la problemtica y empezar a dar soluciones factibles y prcticas. Fue posible entrevistar al Ing. Agro. Jos Soriano quien se mostr muy interesado en el presente trabajo y colabor con gran cantidad de informacin en su rea. Luego se realiz la entrevista a 30 trabajadores de la empresa ROSAFLOR dedicados al cultivo de flores, para indagar ms detalladamente sobre este proceso.

51

El Lcdo. Larry Valencia Gerente General de la empresa ROSAFLOR, permiti un recorrido por las instalaciones de la empresa con el fin de observar y hacer fotografas de todo el proceso de inventario. ROSAFLOR es una empresa joven, tiene 8 aos de funcionamiento, cuenta con 3 hectreas y en cada hectrea hay entre 150 a 200 camadas y las trabajan 30 empleados agricultores, 3 empleados que embalan y clasifican las rosas, 1 administrador Tcnico en Rosas y 1 gerente general.

ANLISIS E INTERPRETACIN DE DATOS.


3.1.2.1 Las fotografas del proceso de inventario manual e informacin de las entrevistas, encuestas son de utilidad durante el desarrollo del sistema, es por lo tanto muy necesario depurarla para trabajar con informacin verdica. A continuacin se realiza el anlisis e interpretacin de Datos obteniendo la siguiente informacin en los diferentes niveles.

3.1.2.1.1 ENCUESTAS A LA ALTA GERENCIA. Como resultados del anlisis de las entrevistas a los seores gerentes, se logr obtener la siguiente informacin: Para administrar una empresa floricultora se necesita mnimo tres aos de experiencia y conocimientos en el mbito. Las reas o permetro de cultivo de las flores tipo rosas varan ROSAFLOR tiene 3 Ha, CORPLYE 8 Ha y VERDONIA 10 Ha
52

De la produccin que se obtiene, el porcentaje que se vende en el mercado nacional es del 80% y 20% al mercado internacional. Siendo Alemania el mayor comprador en Europa, Estados Unidos y en Asia, Japn. Con respecto a los clientes, los tres gerentes afirman que no siempre las rosas llegan en perfectas condiciones a su destino, permanecen mucho tiempo en los cuartos fros. Y con relacin al sistema propuesto, los gerentes se mostraron muy interesados al conocer que es posible reducir el tiempo de conteo, a travs de un sistema automatizado y que estos datos los pueden obtener cuando ellos lo deseen accediendo a una base de datos, inclusive que esta informacin puede ser vista desde un sitio web a travs de internet para que los clientes potenciales se mantengan al tanto de su produccin. Mencionaron que es factible la implementacin de este sistema en todas las empresas pero solo empresas como CORPLYE y VERDONIA se podran recuperar rpidamente de la inversin por son grandes empresas y el volumen de venta es muy elevado. pero esto sucede cuando las rosas

3.1.2.1.2

ENCUESTAS AL NIVEL TCNICO.

De la entrevista al Ing. Jos Soriano, se obtuvo la siguiente informacin: El tiempo de experiencia necesaria para ingresar a trabajar en una empresa floricultora es de dos aos.

53

La cantidad de matas de rosas que se producen en una Ha es de 6 a 8 plantas por m2; es decir que en una Ha se obtienen 70.000 matas. El Ing. Agrnomo o Administrador tcnico es que lleva a su cargo el proceso de conteo de flores listas para cosechar, lo cual es realizado de una forma manual y estos datos son enviados al gerente. El presupuesto en tiempo y dinero que se destina para el conteo es: a cada agricultor se le cancela un dlar por hora trabajada, el conteo se lo realiza en una jordana laboral de 6 horas, se necesitan 10 trabajadores por hectrea. El Ing. Soriano comenta que sera muy factible la implementacin del sistema automatizado porque acelerara el proceso de conteo y abaratara la mano de obra. As, se planificara la venta del producto sobrante al mercado nacional evitando la estancia de las rosas en los cuartos fros ya que estos afectan el estado natural de las rosas. Tambin coment sobre la prdida de rosas durante el cultivo que vara entre 1,5% y 3%; es importante estar constantemente capacitado en el rea de plagas ya que estas pueden hacer perder plantaciones enteras de rosas. La fecha ptima de produccin es desde Noviembre a Marzo. Finalmente, dio ciertos datos que sirvieron para realizar la maqueta, misma que se usar para la presentacin del prototipo. El tipo de invernadero para reas pequeas es sencillo, debe tener grandes dimensiones de 50 x 20 y ms. El PH del suelo debe ser el adecuado.
54

La distancia de plantacin puede ser de 4 filas con espaciamientos de 60 x 15 cm o en la modalidad de 2 filas de 40 x 20 60 x 12,5 con surcos que dividen las filas mnimo de un metro, un gran pasillo que divida entre columnas.

55

3.1.2.1.3 ENCUESTAS AL NIVEL VEL OPERATIVO. Pregunta No. 1.- Qu Qu ti tiempo lleva dedicado al cultivo de flores? ALTERNATIVAS Menos de un ao Un ao Dos aos Tres aos o ms
TOTAL

NO.
3 8 9 10 30

%
10% 27% 30% 33% 10 100%

Fuente: Encuesta a Trabaja rabajadores de campo Empresa: RosaFlor. Elaborado por: Yessenia enia K Karina Bajaa Mendoza

Anlisis e Interpretacin tacin de resultados El 10% de los trabajadore jadores indica que ha trabajado menos de un ao, el 27% un ao, el 30% dos aos, y el l 33% tres o ms aos. Por lo que se concluye ye qu que, dedicarse al cultivo no se requiere re de gran g experiencia.
56

Pregunta No. 2.- El El re rea de la plantacin de rosas en la que Ud. trab abaja es: ? ALTERNATIVAS
Menos de Tres Ha Tres Ha Cuatro Ha Cinco Ha o ms TOTAL

NO.
0 21 9 0 30

%
0% 70% 30% 0% 10 100%

Fuente: Encuesta a Trabaja rabajadores de campo Empresa: RosaFlor. Elaborado por: Yessenia enia K Karina Bajaa Mendoza

Anlisis e Interpretacin tacin de resultados El 70% de los trabajadore jadores indican que el rea de trabajo es de tres Ha y el 30%, trabaja en cuatro Ha. Se deduce duce que q el rea a la que la mayora de los trabajadore jadores acostumbra a trabajar es casi todo o el permetro pe del invernadero, y el 30% son los s peo peones encargados de supervisar el permetro metro completo.

57

Pregunta No. 3.- Cmo mo realiza el conteo de las rosas durante la a plan plantacin? ALTERNATIVAS
Manual Equipo especializado Otros TOTAL

NO.
0 30 0 30

%
0% 10 100% 0% 10 100%

Fuente: Encuesta a Trabaja rabajadores de campo Empresa: RosaFlor. Elaborado por: Yessenia enia K Karina Bajaa Mendoza

Anlisis e Interpretacin tacin de resultados El 100% de los trabajad abajadores indican que realizan el conteo manualm nualmente. Con este resultado se puede constatar consta que se puede automatizar este proceso.

58

Pregunta No. 4.-: El l procedimiento pro que Ud. utiliza, est basado en su su: ? ALTERNATIVAS
Experiencia Normas de la empresa TOTAL

NO.
5 25 30

%
17% 83% 10 100%

rabajadores de campo Empresa: RosaFlor. Fuente: Encuesta a Trabaja Elaborado por: Yessenia enia K Karina Bajaa Mendoza

Anlisis e Interpretacin tacin de resultados El 83% de los trabajador ajadores indican que el procedimiento de conteo o lo h hacen segn las normas de la empresa esa y el e 17% en base a su experiencia. El proceso ceso d de conteo no es muy variado entre empres mpresas.

59

Pregunta No. 5.- Cunt ntas personas dedican a contar las rosas de la p plantacin por Ha? ALTERNATIVAS
1-5 5-10 ms de 10 TOTAL

NO.
0 28 2 30

%
0% 93% 7% 10 100%

Fuente: Encuesta a Trabaja rabajadores de campo Empresa: RosaFlor. Elaborado por: Yessenia enia K Karina Bajaa Mendoza

Anlisis e Interpretacin tacin de resultados El 93% de los trabajadore ajadores indica que necesitan de 5 a 10 trabajadores dores m mientras que el 7%, se necesitan ms s de 10. Lo que se puede concluir es que se necesita ecesitan un promedio de 10 personas para trabajar trabaj en una Ha

60

Pregunta No. 6.-: Cu Cunto tiempo aproximadamente utilizan en cont contar 1 Ha de rosas? ALTERNATIVAS
1-3horas 3-6 horas 1 da ms de 1 da TOTAL

NO.
0 6 24 0 30

%
0% 20% 80% 0% 10 100%

Fuente: Encuesta a Trabaja rabajadores de campo Empresa: RosaFlor. Elaborado por: Yessenia enia K Karina Bajaa Mendoza

Anlisis e Interpretacin tacin de resultados El 80% de los trabajadore jadores indican que se necesita 3-6 horas para contar 1 Ha de rosas, el 20% 1 da. En conclusi nclusin 1da laboral es lo que se necesita para que se pueda realizar el conteo dentro de una Ha H con un promedio de 10 trabajadores.

61

Pregunta No. 7.-: Cu Cuntas horas diarias trabaja en el cultivo? ALTERNATIVAS


De 1-6 horas 6-10 horas 10-15 horas TOTAL

NO.
10 15 5 30

%
33% 50% 17% 10 100%

rabajadores de campo Empresa: RosaFlor. Fuente: Encuesta a Trabaja Elaborado por: Yessenia enia K Karina Bajaa Mendoza

Anlisis e Interpretacin tacin de resultados El 50% de los trabajado ajadores indica que labora de 6-10 horas, el 33% 3% de 1-6 horas y el 17% de 10-15 horas. s. Todos Todo los trabajadores no cumplen la misma labor e en el cultivo.

62

Pregunta No. 8.-: Del Del in inventario que posee la empresa, cuntas s rosa rosas se quedan sin contar aproximadam adamente? ALTERNATIVAS
Menos de 50 50-100 rosas ms de 100 rosas TOTAL

NO.
28 2 0 30

%
93% 7% 0% 10 100%

Fuente: Encuesta a Trabaja rabajadores de campo Empresa: RosaFlor. Elaborado por: Yessenia enia K Karina Bajaa Mendoza

Anlisis e Interpretacin tacin de resultados El 93% de los trabajadore ajadores indica que se pierden menos de 50 rosas as y e el 7% entre 50 100 rosas. La falencia cia en el conteo no es de gran magnitud, por lo que se espera reducir el nmero de rosas no contadas. con

63

Pregunta 9: El inventar ventario de las rosas, se lo registra en? ALTERNATIVAS


Libro Krdex Sistema Informtico Otros TOTAL

NO.
30 0 0 0 30

%
10 100% 0% 0% 0% 10 100%

Fuente: Encuesta a Trabaja rabajadores de campo Empresa: RosaFlor. Elaborado por: Yessenia enia K Karina Bajaa Mendoza

Anlisis e Interpretacin tacin de resultados El 100% de los trabajad abajadores indica que los resultados del inventario tario lo registran en libros.

64

Pregunta No. 10.- Ha Ha r recibido capacitacin alguna vez en su empres mpresa? ALTERNATIVAS
Si No TOTAL

NO.
29 1 30

%
97% 3% 10 100%

rabajadores de campo Empresa: RosaFlor. Fuente: Encuesta a Trabaja Elaborado por: Yessenia enia K Karina Bajaa Mendoza

Anlisis e Interpretacin tacin de resultados El 97% de los trabajado bajadores indican que si han sido capacitados os y e el 3% que no. RosaFlor se preocupa upa siempre si por capacitar en las diversas areas reas d de cultivo a su personal.

65

3.1.2.1.4 FICHAS DE REGISTRO DE OBSERVACIN.

Durante el recorrido de la empresa ROSAFLOR, se tomaron varias fotografas, mismas que sern usadas como contenido en las fichas de Observacin. En donde: 1. Numeracin secuencial de la fecha. 2. Fecha de la observacin. 3. Localidad: es el lugar donde se realice la observacin. 4. rea: comunidad, poblacin o muestra observada. 5. Ttulo del problema a observar. 6. Enunciado del problema a resolver. 7. Resumen a manera de archivo anecdtico sobre lo observado. 8. Comentarios en forma de conclusiones sobre lo observado. 9. Nombre del o los investigadores.

66

FICHA DE OBSERVACIN N. DE FICHA: 1 LOCALIDAD: EMPRESA E ROSAFLOR REA: TABACUN ACUNDO FECHA: 13/ ABRI ABRIL/2010

TTULO: ELABO LABORACIN DE LA MAQUETA PROBLEMA A A RESOLVER: R OBSERVAR DETALLES MS S IM IMPORTANTES Y RELEVANTES NTES PARA LA ELABORACIN DE UN INVERN VERNADERO DE ROSALES A ESCALA. ESCA CONTENIDO:

Y. BAJANA

9. COMENTARIO ARIO EL OBJETIVO O DE ESTAS IMGENES ES TENER UNA VISTA TA PA PANORMICA DE LAS PLANTA ANTACIONES DE FLORES TIPO ROSA, SE PUDO UDO OBSERVAR LOS DETALLES LLES MS RELEVANTES PARA ARMAR LA ESTR ESTRUCTURA A ESCALA COMO MO LO L SON: TECHO, PASILLO, SURCOS. ENREDA EDADERAS. INVESTIGADORA: YESSENIA A BAJ BAJAA MENDOZA 67

FICHA DE OBSERVACIN N. DE FICHA: 2 LOCALIDAD: EMPRESA E ROSAFLOR REA: TABACUN ACUNDO FECHA: 13/ ABRI ABRIL/2010

TTULO: OBSER BSERVACIN DE ROSALES EN LA PLANTACIN. IN. PROBLEMA A A RESOLVER: R OBSERVAR DETALLES MS S IM IMPORTANTES Y RELEVANTES NTES PARA LA ELABORACIN DE UN INVERN VERNADERO DE ROSALES A ESCALA. ESCA CONTENIDO:

9. COMENTARIO ARIO EL OBJETIVO O DE ESTAS IMGENES ES TENER UNA VISTA STA D DETALLADA DE LAS MATAS TAS EN SUS CAMAS, SE PUDO OBSERVAR R LO LOS COLORES, PUNTOS DE E C CORTE Y BOTONES EN TODAS SUS US E ETAPAS DE DESARROLLO, LO, A ADEMS NOTAMOS QUE CADA MATA TIENE IENE UNA FLOR.
INVESTIGADORA: YESSENIA A BAJ BAJAA MENDOZA

68

FICHA DE OBSERVACIN N. DE FICHA: 3 LOCALIDAD: EMPRESA E ROSAFLOR REA: TABACUN ACUNDO FECHA: 13/ ABRI ABRIL/2010

TTULO: OBSER BSERVACIN DEL PROCESO DE RECOLECCIN Y CLASIFICACIN CIN DE ROSAS. PROBLEMA A A RESOLVER: R OBSERVAR DETALLES MS S IM IMPORTANTES Y RELEVANTES TES PARA LA AUTOMATIZACIN DE ESTE PROCE ROCESO. CONTENIDO:

9. COMENTARIO ARIO EL OBJETIVO VO DE D ESTAS IMGENES ES OBSERVAR EL P PROCESO DE RECOLECCIN IN Y CLASIFICACIN DE ROSAS. INVESTIGADORA: YESSENIA A BAJ BAJAA MENDOZA

69

FICHA DE OBSERVACIN N. DE FICHA: 4 LOCALIDAD: EMPRESA E ROSAFLOR REA: TABACUN ACUNDO FECHA: 13/ ABRI ABRIL/2010

TTULO: OBSER BSERVACIN DE SUPERVISIN DE INVENTARIO ARIO MANUAL Y CUARTOS FRIOS RIOS. PROBLEMA A A RESOLVER: R OBSERVAR DETALLES MS S IM IMPORTANTES Y RELEVANTES TES PARA LA AUTOMATIZACIN DE INVENTAR TARIO. CONTENIDO:

9. COMENTARIO ARIO EL OBJETIVO O DE ESTAS IMGENES ES OBSERVAR LA PARTE ARTE FINAL DEL PROCESO DE INVENTARIO HASTA EL REPOSO DE L LAS ROSAS EMPACADAS S EN EL CUARTO FRIO. INVESTIGADORA: YESSENIA A BAJ BAJAA MENDOZA

70

3.2 METODOLOGA DE INFORMTICA. Se detallar la programacin orientada a Objetos; las metodologas son necesarias para desarrollar cualquier proyecto de informtica de manera ordenada y eficaz.

3.2.1

PROGRAMACIN ORIENTADA A OBJETOS.

La metodologa Informtica que se utiliza es la tecnologa en objetos ya que va a permitir reutilizar de componentes del sistema. El desarrollo basado en esta tecnologa facilitar hacer cambios en el software lo cual es de mucha ayuda para el cliente y sobre todo para el programador. La idea principal de la programacin orientada a objetos no es simplemente obtener un sistema de una sola vida, sino que sea reutilizable; es por eso que en base a las facilidades y ventajas que ofrece esta tecnologa el sistema de este proyecto es un conjunto de objetos que interactuarn entre s y que estn organizados en clases donde se describen cada tipo de dato abstracto necesario en el programa y en consecuencia para la empresa. Los sistemas orientados a objetos utilizan un modelo de ingeniera mediante proceso evolutivo tambin conocido como recursivo paralelo; que este tipo de sistemas tienden a evolucionar con el tiempo, siendo esto muy factible para las empresas floricultoras ya que las formas de negocios constantemente cambian o se adecuan de acuerdo al mercado o clientes.

71

3.2.1.1

PRINCIPIOS Y CONCEPTOS DE POO.

Los principios y conceptos bsicos de esta tecnologa se exponen a continuacin. Encapsulado y ocultacin de la informacin Este principio permite ocultar la programacin propiamente dicha; es decir que los usuarios de un objeto solo puedan ver la interfaz externa mediante la cual este interacta con el objeto. Un objeto encapsula datos (atributos) y los mtodos (operaciones, mtodos o servicios) que manipulan esos datos. Al programador le permite modificar los aspectos privados de un objeto sin que estos cambios sean devastadores para los otros objetos del sistema siempre y cuando se mantenga la misma interfaz externa, evitando as que el programa sea tan interdependiente. Clasificacin, tipos abstractos de datos y herencia Para describir el contenido y comportamiento de las entidades que intervienen en el sistema es necesario utilizar el concepto de clase para encapsular las abstracciones de datos y procedimiento que se van a utilizar o los que van a permitir la funcionalidad del sistema. La abstraccin de datos describe la clase, lo cual se entiende como el proceso de capturar ciertos detalles de un objeto ignorando los otros, es decir se van a reconocer las similitudes entre ciertos objetos, en este caso rosas ignorando las diferencias.

72

La herencia caracteriza a la tecnologa en objetos -ya que en ella es donde se aprecia la reusabilidad, la extensibilidad y el bajo coste de mantenimiento del sistema. Junto con la herencia se emplear una coleccin de clases (superclase) e instancias de estas (subclases), lo cual va a permitir a que las subclases hereden los atributos de la superclase y adems se pueda aadir atributos privados y mtodos a cada una de estas. Polimorfismo Esta caracterstica nos va a servir para enviar mensajes a objetos de diferentes clases y agregar nuevas subclases al sistema cuando sea necesario, para mejorar la funcionalidad del sistema evitando la modificacin del programa. El polimorfismo permite que un nmero de mtodos tengan el mismo nombre. En consecuencia conociendo todas estas ventajas se puede afirmar que con los objetos es realmente ms fcil construir el modelo para el desarrollo del sistema en vez de emplear la tpica programacin secuencial.

3.2.2

FASES DEL MODELADO ORIENTADO A OBJETOS.

Para que este proyecto sea bien fundamentado no basta con dar un simple uso a esta tecnologa es decir; solo trabajar con los principios antes mencionados, sino que hay que considerar el anlisis de requisitos orientados a objetos, el diseo orientado a objetos, el anlisis del dominio orientado a objetos, sistemas de gestin de base de datos orientado a objetos y la ingeniera del software orientada o objetos asistida por computadora.

73

La tecnologa orientada a objetos inicia con la comunicacin con el cliente, la misma que se hizo a travs de encuestas y entrevista a todas las personas involucradas y los resultados obtenidos se utilizaron para definir el dominio del problema e identificar las clases bsicas del problema.

3.2.2.1

ANLISIS

A medida que el anlisis Orientado a objetos y el modelo de diseo del sistema avanza en cada iteracin, se ve la necesidad de construir clases adicionales. En esta fase se responde a un conocimiento razonable del sistema; es decir donde se concretan los requisitos a partir de la percepcin que el cliente tiene del sistema a construir ya que es para dar solucin al problema y dar apoyo al cliente. Los pasos a seguir en el anlisis empiezan con una descripcin de casos de uso, que es donde se van a describir todos los escenarios sobre cmo interactan los actores. Luego utilizando una tarjeta CRC (modelo de clases-responsabilidadcolaboracin) trasladar la informacin de los casos de uso a una representacin de las clases y sus colaboradores con las otras clases. Las caractersticas estticas y dinmicas de las clases se modelan utilizando un lenguaje unificado o cualquier otro mtodo. Como resultado de esta fase se obtiene todas las clases que son relevantes al sistema, de forma grafica que describa el sistema a construir para satisfacer un conjunto de requisitos definidos por el cliente.

74

3.2.2.2

DISEO

El objetivo de la fase de diseo es la generacin de una descripcin sobre como sintetizar los objetos extrados del dominio de la solucin al problema, cuyo comportamiento este de acuerdo con la fase de anlisis y requisitos asociados a la fase de implementacin de dichos objetos como componentes de software. En definitiva el principal resultado de la fase de diseo sirve como esquema para la implementacin.

3.2.2.3

IMPLEMENTACIN

En esta fase se usa las herramientas de programacin anteriormente mencionadas para codificar la solucin descrita en la fase de diseo; en esta fase se crean los cdigos fuentes, ejecutable, interfaz, etc. Como resultado se obtendr el sistema o programa comnmente llamado tal como se delimita en el alcance, el cual ser expuesto a pruebas en diferentes niveles para descubrir errores, que deben existir cuando las clases colaboran con otras entre s, y los subsistemas se comunican por medio de las capas arquitectnicas, as el programa antes que llegue al cliente, ir con todos los errores corregidos de tal manera que el cliente no experimente la frustracin de un producto de baja calidad porque la funcionalidad que el sistema va a desempear en la empresa es muy importante ya que de sus resultados dependen en su mayora las proyecciones de ventas.

75

3.3 METODOLOGA DE DESARROLLO. Es un marco de trabajo usado para estructurar, planificar y controlar el proceso de desarrollo en sistemas de informacin9.

3.3.1

MICROSOFT SOLUTION FRAMEWORK (MSF).

MSF es un compendio de las mejores prcticas en cuanto a administracin de proyectos se refiere. Ms que una metodologa rgida de administracin de proyectos, MSF es una serie de modelos que puede adaptarse a cualquier proyecto de tecnologa de informacin.

3.3.1.1 Visin y Alcances

ELEMENTOS DE MSF.

La fase de visin y alcances trata uno de los requisitos ms fundamentales para el xito del proyecto, la unificacin del equipo detrs de una visin comn. El equipo debe tener una visin clara de lo que quisiera lograr para el cliente y ser capaz de indicarlo en trminos que motivarn a todo el equipo. Se definen los lderes y responsables del proyecto, adicionalmente se identifican las metas y objetivos a alcanzar; estas ltimas se deben respetar durante la ejecucin del proyecto en su totalidad, y se debe realizar la evaluacin inicial de riesgos del proyecto. Planificacin Es en esta fase es cuando la mayor parte de la planeacin para el proyecto es terminada. El equipo prepara las especificaciones funcionales, realiza el proceso de

SELECTING A DEVELOPMENT APPROACH. Revalidated: March 27, 2008. Retrieved 27 Oct 2008.

76

diseo de la solucin, y prepara los planes de trabajo, estimaciones de costos y cronogramas de los diferentes entregables del proyecto. Desarrollo Durante esta fase el equipo realiza la mayor parte de la construccin de los componentes (tanto documentacin como cdigo), sin embargo, se puede realizar algn trabajo de desarrollo durante la etapa de estabilizacin en respuesta a los resultados de las pruebas. La infraestructura tambin es desarrollada durante esta fase. Estabilizacin En esta fase se conducen pruebas sobre la solucin, las pruebas de esta etapa enfatizan el uso y operacin bajo condiciones realistas. El equipo se enfoca en priorizar y resolver errores y preparar la solucin para el lanzamiento. Aplicacin En esta fase el equipo implanta la tecnologa base y los componentes relacionados, estabiliza la instalacin, traspasa el proyecto al personal de soporte y operaciones, y obtiene la aprobacin final del cliente

3.3.1.2 El Modelo de Procesos

MODELO Y DISCIPLINA

Organiza los procesos necesarios para crear y entregar una solucin ordenarla en relacin al tiempo, dividindola en distintas fases marcadas por hitos.

77

Este modelo es iterativo y permite minimizar los riesgos al dividir grandes proyectos en mltiples versiones, en relacin al tiempo y funcionalidad. MSF utiliza dos tipos de hitos

Los hitos principales marcan la transicin de una fase a la otra Hitos intermedios indican el progreso dentro de una fase y dividen grandes esfuerzos en segmentos para trabajar

La Disciplina de manejo de proyectos. El manejo de proyectos es la aplicacin de conocimientos, destrezas, herramientas y tcnicas a las actividades del proyecto para cumplir con sus requerimientos. La Disciplina de manejo de riesgos Es utilizada para minimizar las sorpresas, apaga-fuegos, y otras actividades costosas manejando proactivamente los riesgos. La Disciplina de manejo de arranque Es utilizada para identificar proactivamente las destrezas requeridas por el equipo para cada proyecto, y para utilizar los proyectos como oportunidades de aprendizaje.

3.3.2

DIAGRAMAS UML

Diagramas de Estructura

78

Los Diagramas as de Estructura son lo que muestran los elementos entos que existen en el modelo: en el proyecto yecto se usan los diagramas de Clases y diagrama a de Componentes. Diagramas de Comporta portamiento Los Diagramas mas de d Comportamiento muestran lo puede suced uceder dentro del modelo; en el proyecto ecto se s usan los diagramas de Casos de Uso y descripcin des de los mismos. Diagramas de Interacci raccin Los Diagrama a de interaccin, i tambin conocidos como subtipos tipos de d diagramas de comportamiento y tiene iene como c fin mostrar los flujos de control, para a mostrar most estos flujos se usar el diagrama a de Secuencia. Se

Fig. 13: Jerarqua qua de los diagramas UML 2.0, mostrados como un diagrama de clases

79

CAPTULO IV

CAPTULO IV 4. DESARROLLO. En ingeniera de software se utiliza un modelo de procesos para el xito del proyecto. Un modelo de proceso dirige el orden de las actividades del proyecto y representa el ciclo de vida del software. En el presente trabajo proyecto se utiliza como disciplina para administracin del proyecto a; Microsoft Solution Framework (MSF) que ofrece una gua de cmo organizar las personas alrededor de la planificacin, construccin y entrega de soluciones exitosas. En el Anexo B, se encuentran los documentos MSF de cada fase de desarrollo. A continuacin un breve resumen que describe el contenido de cada documento. 4.1 DOCUMENTOS DE VISIN Y ALCANCES. En esta primera fase se definir las metas y objetivos a alcanzar; estas ltimas se deben respetar durante la ejecucin del proyecto en su totalidad, y se realiza la evaluacin inicial de riesgos del proyecto. El equipo de desarrollo, en este caso constar de un solo programador. Se establecer una visin clara de lo que quisiera lograr para el cliente, tambin se realiza la evaluacin inicial de riesgos del proyecto. Partiendo de la problemtica definida en el punto 1.3 del documento:

81

Cmo usar la tecnologa RNA para facilitar el inventario de rosas durante su cultivo, y posibles proyecciones de ventas? 4.2 DOCUMENTO DE DISEO. En esta fase se establece el diseo del prototipo, mediante la utilizacin de los diferentes tipos de de diagramas UML, de hecho estn agrupados por categora para ser ms fcil entenderlos y aplicarlos. Adems se definir la arquitectura del prototipo, estimacin de costos, as como tambin se har una propuesta para las interfaces del software. 4.2.1 DEFINICIN DE ARQUITECTURA

La arquitectura del proyecto, definir el estndar tcnico a ser utilizado, las clases a ser implementadas, la tecnologa a utilizarse, y las diferentes capas a implementarse. 4.2.1.1 DATOS En el diseo de base de datos se ha considerado los requerimientos en cuanto a inventario y almacenamiento de resultados del mismo. 4.2.1.2 ESTNDARES DE DISEO DE INTERFACES ESTNDARES DE DISEO DE BASE DE

En el prototipo donde consta una propuesta de las interfaces de usuario.

82

4.3 DOCUMENTO DE DESARROLLO DEL PROTOTIPO Para exponer el funcionamiento del tema propuesto, se usar una maqueta a escala de una plantacin basada en la informacin obtenida del captulo 3, la cual tiene como dimensiones 1m x 1m. Esta maqueta tiene adheridos unos rieles en la parte del techo, lo que simula un sistema mecatrnico posible en una segunda versin, para sostener una cmara web que tiene como funcin capturar las imgenes. En esta fase, se describe el procedimiento para construir el cdigo fuente del prototipo. 4.3.1 GUA DE DESARROLLO

Presenta el cronograma de actividades a ser cumplido. 4.3.2 GUA DE ITERACIONES

Presenta las iteraciones por las que pasar el desarrollo. Visualizacin y captura de la imagen. Procesamiento de imagen. Reconocimiento de la Red Neuronal. Sincronizacin con la Base de Datos. Consulta de Informacin por sitio Web.

83

4.4 DOCUMENTO DE ESTABILIZACIN Y PRUEBAS. Presenta el documento con las conclusiones de la estabilizacin y diferentes pruebas aplicadas al sistema para su entrega final. 4.5 IMPLEMENTACIN Finalmente, como se trata de un prototipo no tiene una implementacin real, por lo que en esta fase se entregarn los manuales de usuario e instalacin del prototipo. 4.5.1 MANUAL DE INSTALACIN

En este manual se indican los pasos y requerimientos de software y hardware para la instalacin del aplicativo. 4.5.1.1 MANUAL TCNICO

Es el manual tcnico que muestra la forma de instalacin e implementacin del sistema, donde constan tambin los manuales de la base de datos. 4.5.1.2 MANUAL DE USUARIOS

Es el manual que sirve a los diferentes tipos de usuario para aprender a usar el sistema.

84

CAPITULO V

CAPTULO V 5. CONCLUSIONES Y RECOMENDACIONES. 5.1 CONCLUSIONES. Actualmente el proceso de inventarios y manejo de proyecciones de ventas de las flores tipo rosas se lleva manualmente. Las empresas gastan mucho tiempo y dinero para realizar los procesos manuales de inventarios. La tecnologa moderna permite la digitalizacin de patrones de imgenes de las flores tipo rosas, e imgenes de las rosas en la cama de la plantacin. Con el uso de software para procesamiento de imgenes, es posible procesarlas y generar nueva informacin a partir de ellas. Una arquitectura orientada a objetos ayuda a crear aplicaciones organizadas, lo que implica que son fcilmente escalables y de fcil mantenimiento. Una metodologa ordenada simplifica en mucho los tiempos de desarrollo, ayuda a estimar de una mejor forma los costos, y disminuyen el riesgo al mximo. Usar tecnologa RNA en el reconocimiento del color de las rosas, sera redundar el proceso, porque con el procesamiento de imgenes se logra la separacin del color rpida y para la propuesta es suficiente.

86

5.2 RECOMENDACIONES. Realizar la documentacin despus de cada proceso, clases, ya que estos sirven para facilitar el entendimiento del funcionamiento de cada componente del sistema. El uso de una metodologa creada por la misma firma que elabor la herramienta de desarrollo, facilita en gran manera la implementacin de la misma, por ende se recomienda, usar las metodologas probadas y recomendadas por el fabricante de cada herramienta. Se recomienda la creacin de la arquitectura dependiendo del tipo de aplicacin que se va a implementar y de las tecnologas a usarse. Sin embargo es muy importante el sentido comn por parte del responsable de crear la arquitectura para, dependiendo de los objetivos que se persiga sea lo ms simple y prctica posible, a la vez que brinda en la mayor medida los conceptos de estabilidad, seguridad, escalabilidad y fcil mantenimiento. Es importante estudiar a fondo las necesidades del cliente, y las capacidades del equipo de desarrollo para elegir la plataforma ptima para el proyecto. Se recomienda entonces, el uso de esta metodologa MSF, en conjunto con arquitecturas orientadas a objetos para la creacin de aplicativos pequeos o medianos, por su facilidad de implantacin. Para proyectos grandes sin embargo, se recomienda PUDS, ya que esta es una metodologa ms completa donde se siguen un conjunto de fases predefinidas y el ciclo se cumple a cabalidad mediante la notacin UML. El UML ayuda a trabajar ordenadamente, ahorrando tiempo, dinero y muchos problemas que se podran desencadenar como consecuencia de no tener una adecuada y correcta documentacin de las partes que componen un sistema.
87

BIBLIOGRAFIA. LIBROS Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and The Unified Process, Second Edition, 2002 Daniel M. Maldonado, Metodologa de Desarrollo UML, 09 de Marzo de 2008 James A. Freeman y David M . Skapura, Redes Neuronales. Algoritmos, Aplicaciones y Tcnicas de Programacin.1993 Jos Ramn Hilera, Gonzlez y Vctor Jos Martnez Hernando, Fundamentos, Modelos y Aplicaciones. Redes Neuronales Artificiales, 1995 Howard Demuth and Mark Beale, Neural Network Toolbox. For Use with MATLAB. Users Guide Version 4. (PDF), 2001 Rafael C. Gonzlez & Richard E. Woods, Tratamiento digital de imgenes, 1996 Roger S. Pressman, Ingeniera del software, Quinta Edicin, 2002

PGINAS WEB
http://elcodigok.blogspot.com http://jknnl.sourceforge.net/ http://msdn.microsoft,com http://wikipedia.org http://www.lawebdelprogramador.com/news/mostrar_new.php?id=132&texto=Matlab& n1=445667&n2=1&n3=1&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0 http://www.mslatam.com/latam/msdn/comunidad/dce2005/dashboard/dashboard_view.a spx http://www.pudn.com/downloads80/sourcecode/math/detail306852.html http://www.tdr.cesca.es/TESIS_UIB/AVAILABLE/TDX-0713104-112553/trjl1de1.pdf

88

ANEXOS

ANEXO A
Encuesta y Entrevistas al personal de la empresa.

ENCUESTA DIRIGIDA AL PERSONAL OPERATIVO


Estimado Seor, la presente encuesta est dirigida al personal de empresas que se dedica al cultivo de flores tipo rosas que actualmente utiliza. La informacin que se recopile ser tratada de manera confidencial, annima y ser utilizada nicamente con fines acadmicos, por lo que se le solicita contestar con sinceridad. 1. Qu tiempo lleva dedicado al cultivo de flores? Menos de un ao: ______ Un ao: _____ Dos aos: _____ Tres aos o ms: _____

2. El rea de la plantacin de la plantacin de rosas en la que Ud. trabaja es: ? Menos de Tres Ha: _____ Tres Ha: _____ Cuatro Ha: ____ Cinco Ha o ms: ____

3. Cmo realiza el conteo de las rosas durante la plantacin? Manual:_______ Equipo especializado: ______ Otros mencinelos______

4. El procedimiento que Ud. utiliza, est basado en su: ? Experiencia:_______ Normas de la empresa ______

5. Cuntas personas dedican a contar las rosas de la plantacin por Ha? 1-5 ___ 5-10 ___ ms de 10 ___

6. Cuntas horas diarias trabaja en el cultivo? De 1-6 horas ___ 6-10 rosas ___ 10-15 horas ___

7. Cunto tiempo aproximadamente utilizan en contar 1 Ha de rosas? 1-3 horas ___ 3-6 horas ___ 1 da ___ ms de 1 da ___

8. Del inventario que posee la empresa, cuntas rosas se quedan sin contar aproximadamente? Menos de 50 ___ 50-100 rosas ___ ms de dos horas ___

9. El inventario de las rosas, lo registra en: ? Libro ___ Krdex ___ sistema informtico ___ Otros___

10. Ha recibido capacitacin alguna vez en su empresa? Si ___ No ___

ENTREVISTA DIRIGIDA A LA ALTA GERENCIA


Estimado Seor, la presente entrevista est dirigida a la alta gerencia de empresas que se dedica al cultivo de flores tipo rosas que actualmente utiliza. La informacin que se recopile ser tratada de manera confidencial, annima y ser utilizada nicamente con fines acadmicos, por lo que se le solicita contestar con sinceridad. 1. Qu tiempo lleva dedicado al cultivo de flores? 2. El rea de plantacin de rosas que Ud. administra es? 3. De la produccin que obtiene, que porcentaje vende en el mercado nacional? 4. De la produccin que obtiene, que porcentaje vende en el mercado internacional? 5. Cules son los tres principales mercados compradores de flores de su empresa? 6. Ha recibido quejas de sus clientes por las condiciones (seca o fresca) que recibe el producto? 7. Sus clientes estn satisfechos por el tiempo de espera para recibir su producto? 8. Ha analizado la posibilidad de reducir el tiempo de conteo, a travs de un sistema automatizado y adems de que los resultados se almacenaran en un sistema de base de datos? 9. Tiene conocimiento que adems la informacin es posible administrar a travs de un sitio web y que sus clientes reales y potenciales estaran al tanto de su produccin? 10. Sera factible la implementacin de este sistema automtico en su empresa? 11. Considera que la automatizacin de los procesos elevaran los costos de produccin y que la inversin se tardara en recuperar? Porque? 12. Cul es el porcentaje con relacin a los costos, que Ud. estara dispuesto a invertir en un sistema automatizado?

ENTREVISTA DIRIGIDA AL PERSONAL TCNICO


Estimado Seor, la presente entrevista est dirigida al personal tcnico de empresas que se dedica al cultivo de flores tipo rosas que actualmente utiliza. La informacin que se recopile ser tratada de manera confidencial, annima y ser utilizada nicamente con fines acadmicos, por lo que se le solicita contestar con sinceridad. 1. Qu tiempo lleva dedicado al cultivo de flores? 2. Cuntas matas de rosas aproximadamente produce el rea que Ud. cultiva? 3. Cul es el proceso de conteo de las flores que estn listas para cosechar? 4. Confa en el trabajo de sus empleados durante el inventario? 5. Cul es presupuesto en tiempo y dinero que Ud. destina para el conteo y control de inventarios de flores tipo rosa? $, das 6. Considera que el sistema que utiliza es eficiente o ha pensado en automatizarlo? 7. El tiempo que permanecen en los cuartos fros afecta el estado natural de las tosas. 8. Si, se llegara a implementar el sistema propuesto en su empresa, cul puede ser su rol con respecto al sistema? 9. Cul es el porcentaje de perdida que existe durante el cultivo? 10. Cul es la poca optima del ao, para el cultivo de rosas? 11. Qu tipo de invernaderos se usan? 12. Posee un sistema de capacitacin para las labores cultivares y en qu rea?

ANEXO B
DOCUMENTOS MSF DE DESARROLLO

ii

<<INROWEB>> Visin/Alcances

Autor Cargo Date

Karina Bajaa Mendoza Administradora del Proyecto Febrero/05/2010

Versin: 1.0

Hoja de Revisin & Firmas


Record de Cambios Fecha
Feb/05/2010 Feb/17/2010 Feb/27/2010 Mar/07/2010

Autor
Karina Bajaa Karina Bajaa Karina Bajaa Karina Bajaa

Versin
1.00 1.00 1.00 1.00

Referencias de Cambios
Cambios en los roles. Cambios en alcance Modificar Riesgos Agregar metas

Revisiones Nombre Karina Bajaa Vladimir Bonilla Versin Aprobada Posicin 1.00 Administradora 1.00 Tutor Fecha Mar/07/2010 Mar/07/2010

Distribucin Nombre Karina Bajaa Vladimir Bonilla Posicin Administrador Tutor

Propiedades del documento Detalles Visin/Alcances Karina Bajaa Feb/05/2010 Mar/07/2010

Titulo de Documento Autor Fecha de Creacin Fecha de Ultima Actualizacin

Tabla de Contenidos
Roles y Responsabilidades .............................................................................. 2 Oportunidades de Negocio. .............................................................................. 4 Visin ............................................................................................................ 4 Metas. ........................................................................................................... 5 Anlisis de Beneficios ................................................................................... 5 Requerimientos............................................................................................. 5 Concepto de Solucin. ..................................................................................... 6 Casos de Uso General del Sistema .............................................................. 7 Alcance .......................................................................................................... 10 Lista de Caractersticas/Funciones ............................................................. 10 Fuera de Alcance........................................................................................ 11 Criterios de xitos ....................................................................................... 11 Matriz de Objetivos ..................................................................................... 12 Objetivo General .....................................................................................12 Objetivos Especficos .............................................................................. 12 Riesgos de proyecto ................................................................................... 13

Roles y Responsabilidades
Analista del negocio.- La misin principal del analista del negocio es entender y comunicar las necesidades solicitadas para el proyecto. Trabaja directamente con el cliente o cualquier ente relacionado que le ayude a comprender y visionar los requerimientos, mismos que luego se encargar en traducir en actores, escenarios y requerimientos de calidad de servicio que posteriormente sern tomados por el equipo de desarrollo para crear la solucin. Este rol tambin es el encargado de manejar las expectativas de funcionalidad del sistema. Dentro del proyecto el analista del negocio debe velar por los intereses del cliente, siendo este el ente que valida la experiencia del usuario y el cumplimiento de requerimientos. En fin, se encarga de ser el puente entre el equipo de desarrollo y los usuarios finales.

Administrador del Proyecto.- La meta principal del administrador del proyecto es entregar valor de negocio dentro del horario y del presupuesto convenido. El administrador de proyectos debe cumplir las siguientes funciones: planeamiento y programacin de actividades que incluyen el desarrollo y las diferentes iteraciones del proyecto, monitorear y reportar el estado del proyecto e identificar y mitigar los riesgos. Tambin se espera que el administrador del proyecto interacte con el analista del negocio para planificar los escenarios y la calidad del servicio que se esperan en cada una de las iteraciones, de la misma forma debe estar en contacto con los arquitectos y los

desarrolladores para poder estimar el trabajo, consultar con los 2

encargados de las pruebas para planificarlas, y facilitar la comunicacin entre todo el equipo de trabajo.

Arquitecto.- La meta principal del arquitecto es la de garantizar el xito del proyecto diseando las bases de la aplicacin. Esto incluye la definicin de los modelos tanto lgicos como fsicos de implementacin del sistema. El objetivo del arquitecto es reducir la complejidad al dividir al sistema en partes simples y claras. La arquitectura resultante es extremadamente importante ya que no solo dictamina como se va a desarrollar el sistema, sino que tambin establece los rasgos que harn que el proyecto llegue a ser un xito. Esto incluye su usabilidad, mantenimiento y escalabilidad, cumpliendo con los estndares de seguridad y reaccin ante cambios inesperados en los requerimientos.

Desarrollador.-

La meta principal del desarrollador es la de

implementar la aplicacin de acuerdo a la planificacin establecida. Tambin se espera que el desarrollador ayude a especificar las caractersticas del diseo fsico, la estimacin de tiempos y esfuerzo para completar cada una de las tareas, construir o supervisar la implementacin de las caractersticas, preparar el producto para la implementacin y proveer de experiencia en el campo tecnolgico dentro del equipo.

Para cualquier consulta, a continuacin se detallan los datos de cada uno de los participantes en el proyecto:

Karina Bajaa Email: Telfono: Celular: karinabajanamendoza@hotmail.com 02-3232160 096343178

Oportunidades de Negocio.
En el mercado local no se han encontrado sistemas de reconocimiento de rosas, ya que son sistemas que se estn desarrollando recientemente. Por no decir que es el nico sistema que reconoce y clasifica rosas para realizar posteriormente proyecciones de ventas e inventarios. Tendra mucha acogida por los floricultores. Muy factible para las floricultoras ya que nuestro pas exporta rosas a diferentes mercados internacionales, existen todas las posibilidades de implementar el sistema en cualquier floricultora.

Visin
Siendo este un programa de inteligencia artificial donde se trabajan con patrones para su posterior reconocimiento. Se puede cambiar la aplicacin en el mercado de tomatillos ya que es casi lo mismo con la diferencia que resultara ms fcil porque tiene menos etapas de corte.

Metas.
Proporcionar una herramienta estable, rpida y segura que permita compartir archivos a travs del Internet.

Anlisis de Beneficios
Muchas floricultoras se mostraron muy interesadas y comentaron que dentro de la floricultora les sera muy til ya que automatizar los procesos de proyecciones e inventarios y por lo tanto podran mejorar sus ventas evitando el riesgo de perder mercadera mientras se buscan clientes. Adems sera una inversin ms no un gasto. Sera factible la implementacin del sistema automatizado porque acelerara el proceso de conteo y abaratara la mano de obra, ya que es una mquina que hace inventarios mientras las rosas aun estn sembradas. Muy til para los productores proyectar la cantidad de flores para cultivar tendrn en determinada fecha, as podrn realizar sus ventas antes de que en la floricultora se hayan cultivado las rosas, adems que se evitara mantener las rosas en el cuarto frio hasta ser vendidas; existiendo la posibilidad de que se negreen las bordes, se golpeen, etc. y sean desechadas.

Requerimientos
La siguiente es una lista preliminar de requerimientos basada en las entrevistas iniciales y ser desarrollada a fondo durante la definicin de casos de usos.

Controlar el acceso a entes externos. El usuario administrador inventarios. tiene permisos para realizar los

Se debe guardar un historial sobre los inventarios realizados. Los resultados de los inventarios puedes ser visualizados desde cualquier parte del mundo.

El inventario nicamente puede ser hecho en la computadora de la empresa.

Concepto de Solucin.
Establecer una aplicacin en Matlab, a la cul puede ingresar un nico usuario que se encuentra validado dentro del sistema, una vez que el

usuario haya ingresado en el sistema puede solicitar un inventario. Cuando el usuario solicite realizar un inventario nuevo; se captura las imgenes de las camadas con una cmara web, una vez obtenidas las imgenes son inmediatamente tratadas por los filtros de imgenes y analizadas por la red neuronal. Finalmente se obtendrn los resultados mismos que sern almacenados en una base de datos creada en MySql. El ingreso a la base de datos se har con una conexin la cual tendr una contrasea en cdigo duro en la aplicacin; as se evitara que cualquier usuario pueda accesar sin autorizacin. La base de datos mantendr la informacin sobre de los resultados de cuntas rosas de cada color y corte se encuentran en cada camada. 6

El sitio Web se lo se utiliza para generar automticamente historiales y verificar las prdidas de las rosas durante la plantacin; as mismo permite ver al usuario una proyeccin de ventas.

Casos de Uso General del Sistema


En este proyecto los principales usuarios del sistema sern el usuario nico de la empresa y el programador. Son ellos quienes producirn los informes y tomarn decisiones para realizar cambios de arquitectura en la aplicacin. Manejar los siguientes casos de uso. Los casos de uso sern completados durante la durante el proceso de extraccin de informacin. Los casos de uso sern creados y priorizados. Los casos de uso seleccionados sern expandidos en los escenarios de uso. A continuacin se presenta el diagrama de casos de uso general de la aplicacin:

DIAGRAMA GENERAL DE REQUERIMIENTOS DEL SISTEMA.

Selec cionar inf orm acin para aport ar al desarrollo del sistem a Conf ec cionar inf ormacin para Sitio Web

Aprobar el Sitio Web

Ev aluar la inf orm acin resultado del diagnost ico del sist em a Us uario As ignado por la em pres a (Gerent e o Tecnico)

Intercambiar m ens ajes con administrador de Sitio Web

Intercambiar mensajes con usuarios

Verif ic ar Regist ro

Est ablecer cont act o con Us uario Adm inis trador Regist ro Sitio Web Mantener conect iv idad Us uario Final (Cliente, Publico en general)

Us uario Administrador

Retraer y Visualizar inf orm acin del inv entario

Mantener actualizado el Sitio Web Matlab Publicar Sitio Web en la Pc Serv idor y en el Port a Web

Vizualizar Video

Adquirir Im agen del v ideo Alm acenar inf orm acin en base de Datos Im aging Adquisition Toolbox

Realizar conteo

Neuronal Net work Toolbox Vec tor Pat rn

DIAGRAMA COMPONENTES

Emisor

Peticin

Receptor

Imaging Adquisition Toolbox Adquisicin de imagen Matlab

Cliente Web

Servidor en MySQL Envio de Datos

Work Thread

Envio de Datos

Receptor

Mapa de Caracteristicas Neuronal Network Toolbox Contabilizar Rosas

Resultados Receptor Respuesta Emisor

Alcance
El mdulo que se disear en el sistema es: control de inventario el mismo que se realizar a partir de la captura de imgenes de las rosas de cada camada por medio de una cmara web. Seguido se proceder al anlisis de las imgenes, usando una red neuronal que reconocer tres colores: rojas, blancas y amarillas; y se clasificar cada una de las rosas por etapa de corte segn el nmero de ptalos sueltos que tenga. Una vez obtenidos los resultados se almacenarn en una base de datos para ser analizados y procesados, y finalmente se har una proyeccin de venta, la misma que ser presentada en un sitio Web.

Lista de Caractersticas/Funciones
Software que realice inventarios por fotos, adaptable en un futuro a sistemas mecatrnicos, el cul realiza la adquisicin de fotos, manipulacin de imagen y extraccin de caractersticas. Red Neuronal, que reconozca el color, y corte en los que se encuentra la rosa, mediante un entrenamiento. Base de datos, que permita almacenar los resultados y manipularlos. Inventario Web, interfaz por la cual el usuario puede realizar proyecciones de ventas y enterarse de la cantidad de productos que tiene. Base de datos para almacenar informacin de inventario. 10

Sitio web donde se publiquen posible cantidad de rosas clasificadas por color y corte.

Fuera de Alcance
Las siguientes funciones se encuentran fuera del alcance de la versin 1.0 del prototipo, las versiones 2.0 y 3.0 podran tener la siguiente funcionalidad que no es factible implementar en la versin 1.0 Funcin Adaptar un sistema Puede mecatrnico monitoreo de para implementada en la la versin 2.0 plantacin va web. 2.0 ser Comentario Versin donde se puede implementar

Criterios de xitos
Las personas de la institucin podrn ver los resultados de inventario por internet. Las personas de la institucin podrn tener acceso al historial de inventarios. El usuario final (cliente) podr ver las proyecciones de la plantacin y podr realizar pedidos.

11

Matriz de Objetivos
Objetivo General

Desarrollar un sistema automtico de reconocimiento, clasificacin y proyeccin de inventario del tipo de rosas cultivadas.

Objetivos Especficos

Definir la situacin actual de inventarios y manejo de proyecciones de ventas de las flores tipo rosas.

Digitalizar patrones de imgenes de las flores tipo rosas, e imgenes de las rosas en la cama de la plantacin.

Procesar las imgenes patrones para obtener mapa de caracterizas.

Elaborar el diseo funcional de una red neuronal artificial que permita realizar la clasificacin de cortes y colores de las rosas en la plantacin.

Diseo de un sitio Web para visualizar el inventario y proyecciones de ventas de las rosas clasificadas.

12

Riesgos de proyecto
A continuacin se describen riesgos, que han sido detectados como peligrosos durante y despus del desarrollo del proyecto.

(C) Certeza 1 2 3 4 Ms (+) Ms o Menos (+/-) Menos (-)

(I) Intensidad de Impacto menor/medio sostenible catastrfico severo

(P) Probabilidad baja media

(E) Explosin

E=C*I*P alta

RECONOCIMIENTO Y CLASIFICACION DE ROSAS RIESGOS C I P E CONSECUENCIA PLAN DE CONTINGENCIA Llevar un Inconvenientes Analizar y registro de durante el validar los cambios tanto de desarrollo y en el requerimientos requerimientos funcionamiento por proceso como de del sistema realizado procesos. Imagen distorsionada o borrosa Volver a capturar la foto de la camada Consultar nuevamente con expertos Datos exactos del vector original Consultar informacin sobre las herramientas de desarrollo Capturar varias fotos de la misma rea Reestructurar base de datos Obtener mltiples valores de colores y cortes Cursar capacitaciones en las herramientas PLAN DE MITIGACIN

Requerimientos mal elaborados

3 1

La imagen capturada no sea apta para 1 buenos resultados Desconocimiento de funcin de 1 Inventarios Entrenamiento de la Red Neuronal 1

3 2

2 2

Mala informacin Valores de entrada errneos

3 2

Desconocimiento de las 2 herramientas para desarrollar

2 2

Retraso para definir requerimientos 13

<<INROWEB>> Diseo

Autor Cargo Date

Karina Bajaa Mendoza Administradora del Proyecto Marzo/07/2010

Versin: 1.0

Hoja de Revisin & Firmas


Record de Cambios Fecha Autor
Mar/07/2010 Mar/10/2010 Mar/20/2010 Mar/28/2010 Karina Bajaa Karina Bajaa Karina Bajaa Karina Bajaa

Versin
1.0 1.0 1.0 1.0

Referencias de Cambios
Correccin Diagramas Especficos Modificar Caso de uso Contabilizar Agregar Estndares Especficos Correccin Arquitectura

Revisiones Nombre Versin Aprobada Posicin Karina Bajaa 1.0 Administradora

Fecha Mar/28/2010

Distribucin Nombre Karina Bajaa Vladimir Bonilla

Posicin Administradora Tutor

Propiedades del documento Detalles Titulo de Diseo Documento Autor Karina Bajaa Fecha de Creacin Marzo/07/2010 Fecha de Ultima Marzo/28/2010 Actualizacin

Tabla de Contenidos
Definicin de arquitectura ................................................................................... 2 Diagramas UML .................................................................................................. 2 Diagramas Especficos .................................................................................... 2 Obtener Imagen ........................................................................................... 2 Diagrama Caso Uso ............................................................................. 2 Especificacin Del Caso De Uso. ......................................................... 3 Diagrama De Secuencia: ...................................................................... 3 Tratamiento De La Imagen .......................................................................... 4 Diagrama Caso De Uso: ....................................................................... 4 Especificacin Del Caso De Uso. ......................................................... 4 Diagrama De Secuencia ....................................................................... 5 Entrenamiento De La Red Neuronal ............................................................ 5 Diagrama De Casos De Uso ................................................................ 5 Especificacin Del Caso De Uso. ......................................................... 6 Diagrama De Secuencia ....................................................................... 7 Diagrama De Clases............................................................................. 8 Contabilizar (Funcionamiento De La Red) ................................................... 9 Diagrama De Casos De Uso ................................................................ 9 Especificacin Del Caso De Uso. ......................................................... 9 Diagrama De Secuencia ..................................................................... 10 Almacenamiento de Datos en Base de Datos ........................................... 11 Diagrama De Casos De Uso .............................................................. 11 Especificacin De Casos De Uso ....................................................... 11 Presentacin de Inventario en Sitio Web (Consulta- a Base de Datos ...... 12 Diagrama De Casos De Uso .............................................................. 12 Especificacin De Casos De Uso ....................................................... 12 Estndares para la base de datos. ................................................................... 13 Estndares propuestos para Interfaz de Pantallas del Sistema ........................ 15 1

Definicin de arquitectura
La arquitectura del proyecto, definir el estndar tcnico a ser utilizado, las clases a ser implementadas, la tecnologa a utilizarse, y las diferentes capas a implementarse.

Diagramas UML
Utilizar herramientas de UML va a permitir reducir el tiempo de anlisis, formalizndolo a travs de grficos representativos, mostrando diferentes vistas para los diferentes miembros del equipo y hasta para los usuarios finales.

Diagramas Especficos
Obtener Imagen
Diagrama Caso Uso

Usuario

Web Cam

Imaging Adquisition Toolbox

Capturar Imagen

Especificacin Del Caso De Uso. CASO DE USO: OBTENER IMAGEN Descripcin de Captura de Imgenes procesos: Primario: Usuario.- Es quien enva la solicitud de un nuevo Actores: inventario. Precondiciones: Que el usuario sea el administrador del sistema. Resultado: Foto de camada En la pantalla principal Pasos: Clic en Visualizar Clic en Capturar Requerimientos Estar logeado con una sesin activa. Especiales: Datos de Imgenes Entrada Datos de Salida Datos numricos Proceso Administrador del Sistema. Dependiente

Diagrama De Secuencia:
Usuario GUI Obtener Imagen

1: WebCam 2: 3: Vizualizar Video 4: Obtener Imagen 5: Imagen

Tratamiento De La Imagen
Diagrama Caso De Uso:

Matlab_GUI Obtener Imagen

Color Carga Imagen Matlab_Imaging Procesing toolbox

Radio

Matlab_Neuronal Network Toolbox

Obtener Patrones

Especificacin Del Caso De Uso. CASO DE USO: TRATAMIENTO DE LA IMAGEN Descripcin de Tratar la imagen para extraer las caractersticas procesos: Matlab, que con su toolbox imaging procesing realiza el Actores: tratamiento de la imagen. Precondiciones: Que el usuario sea el administrador del sistema. Resultado: Mapa de caractersticas que se usurarn como patrones Pasos: La imagen capturada Requerimientos Ninguna Especiales: Datos de Imgenes Entrada Datos de Salida Vectores patrn Proceso Obtener Imagen. Dependiente

Diagrama De Secuencia

MATLAB_GUI

Matlab_Imaging Procesing Toolbox

Detectar Color y Corte

Obtener Patrones

Matlab_Neuronal Network Toolbox

1: Preview(vidobj) 2: Snap(Vidobj) 3: ImagenFiltroCorte=Imagen 4: ImagenFiltroColor=Imagen 5: 6: Imgcolor.Color(ImagenFiltroCorte) 7: ImgCorte.Corte(ImagenFiltroCorte) 8: 9: ObtenerVector() 10: Presentar Valores

Entrenamiento De La Red Neuronal


Diagrama De Casos De Uso

Matlab_ImagingPr ocesingToolbox

Cargar Patrones

Evaluar Patrones

Obtener Patrones

Matlab_Neuronal NetworkToolbox

Actualizar Peso Vencedor

Actualizar Pesos

Calculo Error

Factor Vecino

Especificacin Del Caso De Uso. CASO DE USO: ENTRENAMIENTO DE LA RED NEURONAL Cargar patrones Obtener patrones Evaluar patronesDescripcin de Actualizar Peso Vencedor procesos: Factor Vecino Calcula el error Actualizar Pesos Matlab Imaging Procesing Toolbox Actores: Matlab Neuronal Network Toolbox Precondiciones: Usuario en Sesin Resultado: Neurona entrenada En la pantalla principal Pasos: Clic en entrenar Requerimientos Estar logeado con una sesin activa. Especiales: Datos de Imgenes. Entrada Datos de Salida Datos numricos Proceso Tratamiento de la Imagen. Dependiente

Diagrama De Secuencia
Matlab_Imaging Procesing Toolbox 1: Obtener Mapa de Caracterisiticas 2: MapaCaracterisiticas[] 3: RedNeuronal=new redneuronal 4: m entrada=entrada[] 5: pesos=m.cargarpesos() 6: m.entrenar(iter,taza,radio) 7: SOM_Khonen Red=SOM_khonen() 8: Red.Entrenar(Entradas[]) 9: Factor Vecino 10: Calculo Error 11: Actualizar Pesos 12: Error Matlab_Neuronal Network Toolbox SOM_Khonen

Diagrama De Clases

Gui_Aplicacin

Clase_Imagen

Clase_ValorRosas Radio Color CalRadio() CalColor()

Neurona imagen VectorPatron[] RedNeuronal SOM_Kohonen pesos1 factorvecino factorvecino() calculoerror() Entradas[] CodColor CodCorte Cant Entrenar() Evaluar()

Contabilizar (Funcionamiento De La Red)


Diagrama De Casos De Uso

Obtener Patron_Procesado

Evaluar Patron Matlab_Neuronal Network Toolbox Cargar Pesos

Evaluar
Especificacin Del Caso De Uso. CASO DE USO: FUNCIONAMIENTO DE RED NEURONAL Obtener Patrn_procesado Evaluar Patrn Descripcin de procesos: Cargar Pesos Evaluar Actores: Matlab Neuronal Toolbox Precondiciones: Que el usuario sea el administrador del sistema. Resultado: Usuarios tendrn inventario de rosas En la pantalla principal Pasos: Clic en Contabilizar Requerimientos Ninguno Especiales: Datos de Imgenes. Entrada Datos de Salida Datos numricos Proceso Entrenamiento de la red neuronal Dependiente

Diagrama De Secuencia

Matlab_Imaging Procesing Toolboox

Matlab_Neuronal Network Toolbox

SOM Khonen

1: Obtener Mapa de Caracteristicas

2: Pasar MapaCaracterisiticas[] 3: Red Neuronal m= new Red Neuronal 4: m.Entradas=Entradas[] 5: pesos=m.cargarPesos() 6: SOM=Khonen Red = SOM_Khonen () 7: Red.Evaluar(Entradas[]) 8: Error 9: Actualizar Pesos 10: Color y Corte 11: Presentar Resultados 12: Contar 13: Presentar Resultados

10

Almacenamiento de Datos en Base de Datos


Diagrama De Casos De Uso

Matlab_Database _toolbox

Almacenar Datos

MySql_Servidor

Especificacin De Casos De Uso CASO DE USO: ALMACENAMIENTO DE DATOS EN BASE DE DATOS Descripcin de Sincronizacin de datos de Matlab con My SQL procesos: Actores: Usuario Matlab Database toolbox Precondiciones: Que el usuario sea el administrador del sistema. Los resultados del conteo sern almacenados en la Resultado: base de datos. Una vez obtenidos los resultados de la red Neuronal Con la funcin database(), conectamos sincronizamos matlab con Mysql, procedemos a elaborar el query para Pasos: insertar datos y con la funcin exec() estos se almacenaran en la base de datos, Finalmente con la funcin close() cerraremos la conexin. Requerimientos Ninguna Especiales: Datos de Valores Numricos Entrada Datos de Salida Valores Numricos Proceso Contabilizar Dependiente

11

Presentacin de Inventario en Sitio Web (Consulta a Base de Datos


Diagrama De Casos De Uso

Solicitud de Datos por JSP

Servidor

Usuario

Muestra Datos de Inventario

Selecciona datos

Especificacin De Casos De Uso CASO DE USO: PRESENTACIN DE INVENTARIO Descripcin de Consulta a Sitio Web realiza por el usuario procesos: Actores: Usuario Final Precondiciones: Ninguna Datos de inventario de la ultima fecha Resultado: Datos de proyeccin de ventas El usuario final podr conectarse al sitio web desde cualquier parte del mundo En el sitio Web el usuario tiene como opciones Inicio, Pasos: Inventario, Proyeccin de ventas, galera y tipo de corte. Cabe recalcar que el usuario solo puede ver los resultados del ltimo inventario. Requerimientos Ninguna Especiales: Datos de Valores Numricos Entrada Datos de Salida Valores Numricos Proceso Almacenamiento de datos en base de datos Dependiente

12

Estndares para la base de datos.


Nombre de las tablas: EL nombre de la tabla se conforma de dos letras de la abreviacin del sistema, seguido de un guin bajo y del nombre de la tabla. En caso de que el nombre de la tabla este compuesto por ms de una palabra se debe escribir: Ejemplo: usuarios. IR_USUARIOS Nombre de Atributos de las tablas: EL nombre del atributo de la tabla se conforma de dos letras de la abreviacin del sistema, seguido de un guin bajo, tres letras del nombre de la tabla, guin bajo y tres letras del nombre del campo. En caso de que el nombre de la tabla este compuesto por ms de una palabra se debe escribir: Ejemplo: cdigo de tipo de usuarios. IR_USU_COD Nombre de Stored Procedures: El nombre de un Stored procedure debe empezar con el prefijo del nombre del sistema, seguido de un guin bajo, un grupo de palabras que identifique la funcionalidad del Stored procedure. IR_PROCEDURE 13

Nombre de Triggers: El nombre de un Stored procedure debe empezar con el nombre de la tabla que se ver afectada y por ultimo utilizar siglas que indiquen que funcin har el trigger. IR_USUARIO_INS

Despus del anlisis y varios modelos que se han hecho se ha definido siete tablas que conforman la base de datos: Tabla Tipos: Guarda informacin de los tipos de rosas que existen dentro de la plantacin. Tabla Puntos de Corte: Guarda informacin de los nmeros de corte que tiene la rosa antes de ser cultivada. Tabla Encabezado del Reporte: Guarda informacin del encabezado del reporte de inventario. Tabla Ubicacin: Guarda informacin de los nombres de las camadas. Tabla Usuarios: Guarda informacin de todos los usuarios que accedan al sistema. Tabla Colores: Guarda la informacin de los colores de rosas que hay en la plantacin. Tabla Detalle del Reporte: Guarda la informacin del detalle del inventario. A continuacin se presenta los diagramas Fsico y Orientado a Objetos. 14

Estndares propuesto para Interfaz de Pantalla del Sistema


A continuacin se presenta el diseo de la pantalla principal.

15

<<INROWEB>> Desarrollo

Autor Cargo Date

Karina Bajaa Director del Proyecto Marzo/28/2010

Versin: 1.0

Hoja de Revisin & Firmas


Record de Cambios Fecha Autor
Marzo/28/2010 Abril/07/2010 Abril/20/2010 Abril/30/2010 Mayo/12/2010 Junio/08/2010 Karina Bajaa Karina Bajaa Karina Bajaa Karina Bajaa Karina Bajaa Karina Bajaa

Versin
1.0 1.0 1.0 1.0 1.0 1.0

Referencias de Cambios Gua de Iteraciones Definicin de Hitos y Entregables Visualizacin y captura de la imagen Procesamiento de imagen Reconocimiento de la Red Neuronal Sincronizacin con la Base de Datos

Revisiones Nombre Versin Aprobada Posicin Karina Bajaa 1.02 Administradora

Fecha Abril/02/2010

Distribucin Nombre Karina Bajaa Vladimir Bonilla

Posicin Administradora Tutor

Propiedades del documento Detalles Titulo de Desarrollo Documento Autor Karina Bajaa Mendoza Fecha de Creacin Marzo/28/2010 Fecha de Ultima Junio/08/2010 Actualizacin

Tabla de Contenido
Gua de Iteraciones .......................................................................................... 2 Hitos y Entregables ....................................................................................... 4 Descripcin de la construccin del prototipo. ............................................... 5 Visualizacin y captura de la imagen. ................................................ 5 Procesamiento de imagen. ................................................................ 6 Reconocimiento de la Red Neuronal. .............................................. 14 Sincronizacin con la Base de Datos. .............................................. 18 Consulta de Informacin por sitio Web. ........................................... 19

Gua de Desarrollo.
Las iteraciones se realizarn de acuerdo a la Gua del Proyecto, en las cuales se destacan como puntos de control las siguientes: Visualizacin y captura de la imagen Procesamiento de imagen Reconocimiento de la Red Neuronal Sincronizacin con la Base de Datos Consulta de Informacin por sitio Web.

A continuacin se desarrollar cada una de las iteraciones, estas incluye el desarrollo, pruebas e implementacin parcial del sistema para la revisin del equipo de pruebas y la capacitacin a los usuarios para de esta forma poder optimizar la utilizacin del sistema y garantizar la satisfaccin del cliente con respecto al sistema. En el caso de encontrarse errores o nuevos requerimientos estos debern ser analizados y dependiendo de la complejidad se los solucionar o se deber negociar el valor del nuevo desarrollo y los correspondientes ajustes que se deben realizar para cumplir con la planificacin establecida. Entre la finalizacin y el inicio de otra etapa se dispondr de dos das para la revisin y aprobacin del usuario ya que dado que el tiempo es limitado no se puede esperar ms tiempo. Cabe recalcar que las pruebas que se realizan durante cada iteracin son pruebas simples de caja negra, ya que luego de concluidas las iteraciones se llevar a cabo el proceso de Estabilizacin y pruebas, para finalmente llegar a la implementacin.

CRONOGRAMA DE HITOS

Cronograma de Hitos

Hitos y Entregables
Para dar por terminada cada una de las iteraciones se deben cumplir los siguientes requerimientos: Visualizacin y captura de imagen en tiempo real.- El prototipo permite al usuario administrador visualizar la imagen de la maqueta en tiempo real. El usuario Administrador puede capturar imgenes de la maqueta cuando l lo desee. Procesamiento de imagen.- Toda imagen es procesada con filtros para mejorarla y facilite el reconocimiento. Reconocimiento mediante la Red Neuronal.- La imagen se transforma en vector de entrada para la red neuronal y es analizada para el reconocimiento, finalmente presenta resultados. Sincronizacin con la Base de Datos.- Los resultados son almacenados en una base de datos. Consulta de Informacin por sitio Web.- El usuario comn puede consultar informacin del inventario mediante un sitio web.

A continuacin se desarrollar cada iteracin a detalle, donde se mostrar paso a pasa el desarrollo del prototipo tanto en Windows Forms, base de datos y Web.

Descripcin de la construccin del prototipo.


Visualizacin y captura de la imagen.
Seleccin de cmara web.- La cmara seleccionada es (nombre y tipo) Rieles en el techo de maqueta.- Es necesario un sistema manual mediante el cual la cmara se sostendr para facilidad en la captura de fotos, simulando un sistema mecatrnico que se podra implementar en una segunda versin del sistema. Pantalla Principal.- Contiene dos axes para visualizar en tiempo real la maqueta y el otro para ver la imagen capturada, los cuales funcionarn al presionar los botones Video e Imagen.

AXIS 1

AXIS 2

Para visualizar el video.


function btn_vdo_Callback(hObject, eventdata, handles) %Acceso a un dispositivo de adquisicin de imagen. handles.objVideo=videoinput('winvideo','1'); guidata(hObject,handles); axes(handles.axs_vdo) %Se llama al eje del realVideo vidRes = get(handles.objVideo,'VideoResolution'); nBands = get(handles.objVideo,'NumberOfBands');

%Numero de columnas del video 1 numero de filas 1 y numero de bandas pixelaje hImage = image( zeros(vidRes(2), vidRes(1), nBands)); %Presenta en el axes la imagen real obtenida del dispositivo de video preview(handles.objVideo,hImage);

Para capturar una imagen.


function btn_img_Callback(hObject, eventdata, handles) handles.snapshot=getsnapshot(handles.objVideo); guidata(hObject,handles); axes(handles.axs_img) %Se llama al eje de la Imagen %Presenta la imagen instantnea en el axes 2 imshow(handles.snapshot) %Borrar Video delete(Objvideo);

Procesamiento de imagen.
El procesamiento de la imagen est contenido en los botones Color y Contabilizar.

Color Primero se segmentar la imagen para obtener el color de las rosas, luego se sacar el radio de cada rosa para determinar el corte de a la fecha de la rosa. Primero se captura la imagen para iniciar el procesamiento de la misma.
%% Cargar imagen instantanea imagen = handles.snapshot; figure(1), imshow(imagen), title('imagen');

En el panel de radio buttons se selecciona el color que se va a segmentar de la rosa.


function uipnl_img_SelectionChangeFcn(hObject, eventdata, handles) if(hObject == handles.op_y) handles.colorseg=5; handles.col=1; guidata(hObject,handles); disp(handles.colorseg) elseif (hObject == handles.op_w) handles.colorseg=4; handles.col=2; guidata(hObject,handles); disp(handles.colorseg) elseif (hObject == handles.op_r) handles.colorseg=5; handles.col=3; guidata(hObject,handles); disp(handles.colorseg) end

A continuacin, el objetivo es identificar los diferentes colores en la imagen mediante el anlisis de la L * a * b * espacio de color. 7

Se puede ver varios colores en la imagen los colores del fondo y entorno, los tres diferentes colores de rosas, blanco, rojo y amarillo. Visualmente es muy fcil distinguirlos estos colores entre s. La L*a*b espacio de

color (tambin conocido como CIELAB o CIE L*a*b) permite cuantificar estas diferencias visuales. La L*a*b espacio de color es CIE XYZ. La L*a*b del espacio consiste en "L* 'una luminosidad o capa de brillo, capa de cromaticidad 'a*' indica que el color cae a lo largo del eje rojoderivado de los valores triestmulos de

verde, y "b*" capa de cromaticidad que indica que el color se cae a lo largo del eje azul-amarillo. Su enfoque consiste en elegir una pequea muestra de la regin de cada color y calcular el color promedio de cada regin de la muestra en el espacio 'a* b*'. Se usar estos marcadores de color para clasificar cada pxel.
%cargar coordenadas de las regiones load regioncoordinates; nColors = 6; sample_regions = false([size(imagen,1) size(imagen,2) nColors]); for count = 1:nColors sample_regions(:,:,count) = roipoly(imagen,region_coordinates(:,1,count),... region_coordinates(:,2,count)); end %Convierte la imagen a RGB en imagen L*a*b usando applycform y cform cform = makecform('srgb2lab'); lab_imagen = applycform(imagen,cform); %Calcula la media "a *" y el valor '* b' para cada rea en la %que se extrae con roipoly. Estos valores sirven como marcadores de colores en 'a * b * "espacio a = lab_imagen(:,:,2); b = lab_imagen(:,:,3); color_markers = repmat(0, [nColors, 2]); for count = 1:nColors color_markers(count,1) = mean2(a(sample_regions(:,:,count))); color_markers(count,2) = mean2(b(sample_regions(:,:,count))); end

%Por ejemplo, el color promedio de la regin muestra en rojo 'a * b * "el espacio es disp(sprintf('[%0.3f,%0.3f]',color_markers(2,1),color_markers(2,2))); %[198.183,149.706]

Una

vez

identificadas

las

regiones

de

color

se

procede

Clasificar cada pxel usando la regla del vecino ms cercano. Cada marcador de color ahora tiene un valor de 'a*' y '* b'. Es

posible clasificar cada pxel de la imagen calculando la distancia Euclidiana entre dicho pxel y cada marcador de color. La distancia ms pequea dir: el pxel que ms se acerque a ese marcador de color. Por ejemplo, si la distancia entre un pxel y el marcador de color rojo es el ms pequeo, entonces el pxel sera etiquetado como un pxel de color rojo.
%Clasificar cada pxel usando la regla del vecino ms cercano %Create an array that contains your color labels, i.e., 0 = background, 1 = red, 2 = green, %3 = purple, 4 = magenta, and 5 = yellow.... 0 = background, 1 = red, 2 = white 3 = yellow color_labels = 0:nColors-1; % Inicializar matrices que se utilizarn en la clasificacin del vecino ms cercano. a = double(a); b = double(b); distance = repmat(0,[size(a), nColors]); %Realizar clasificacin for count = 1:nColors distance(:,:,count) = ( (a - color_markers(count,1)).^2 + ... (b - color_markers(count,2)).^2 ).^0.5; end [value, label] = min(distance,[],3); label = color_labels(label); clear value distance;

Para visualizar los resultados de Clasificacin de Vecino ms cercano. La matriz de etiquetas contiene las etiquetas de color para cada pixel en la imagen, se usa esta matriz para separar objetos por color en la imagen original.
% Matriz con etiquetas de color rgb_label = repmat(label,[1 1 3]); % Matriz de imagen con etiquetas en cada espacio segmented_images = repmat(uint8(0),[size(handles.imagen), nColors]);

for count = 1:nColors color = handles.imagen; color(rgb_label ~= color_labels(count)) = 0; segmented_images(:,:,:,count) = color; end; %Almacenar imagen segmentada handles.imagen_almacenar=(segmented_images(:,:,:,handles.colorseg)); guidata(hObject,handles) %Mostrar las regiones de color indicadas, en este caso amarillas %5=amarillo if handles.col==1; handles.ColorRosa='Amarillo'; imshow(segmented_images(:,:,:,handles.colorseg)), title('Rosas Amarillas'); guidata(hObject,handles) elseif handles.col==3; handles.ColorRosa='Rojo'; imshow(segmented_images(:,:,:,handles.colorseg)), title('Rosas Rojas'); guidata(hObject,handles) else handles.ColorRosa='Blanco'; imshow(segmented_images(:,:,:,handles.colorseg)), title('Rosas Blancas'); guidata(hObject,handles) end

El resultado es la imagen segmentada en el color solicitado por el usuario.

10

Una vez obtenido el color de las rosas de la imagen, procedemos a calcular el radio de la rosa para conocer el nmero de corte en el que se encuentran las rosas. Para lograr este objetivo, se debe obtener el Umbral de la Imagen, luego hay que ubicar el punto inicial del contorno para trazar los bordes y finalmente calcular el radio.

Contabilizar
function btn_stock_Callback(hObject, eventdata, handles) I = rgb2gray(handles.imagen_almacenar); threshold = graythresh(I); handles.bw = im2bw(I,threshold); guidata(hObject,handles); axes(handles.axs_img), imshow(handles.bw), title('Imagen Procesada Grises');

11

Luego se rellena las regiones de la imagen con las funciones bwareaopen() para identificar reas del mismo color e, imfill() para rellenar los huecos y elimina
%%%rellena la figura y elimina cualquier objeto que tenga menos de 350pixels bw = bwareaopen(handles.bw,350); % Llena los huecos dentro de una regionestimada % the area enclosed by each of the boundaries handles.bw = imfill(bw,'holes'); guidata(hObject,handles); axes(handles.axs_img), imshow(handles.bw), title('Imagen Procesada NOHoles ');

Una vez que ha rellenado las areas, se procede al clculo de los radios y areas.
% Mostrar la matriz etiqueta y dibujar los bordes [B,L] = bwboundaries(handles.bw,'noholes'); axes(handles.axs_img), imshow(label2rgb(L, @jet, [.5 .5 .5])); %pinta de varios colores las rosas hold on % Calculo de Areas stats = regionprops(bw, 'Area');

12

handles.areas = [stats.Area]; guidata(hObject,handles) Para clculo del radio, se trazan bordes de las regiones con el fin de maximizar la exactitud del radio, con la rutina bwtraceboundary es usada para encontrar (X, Y). for k = 1:length(B) boundary = B{k}; plot(boundary(:,2), boundary(:,1), 'w', 'LineWidth', 1); x = boundary(:,2); y = boundary(:,1); % solucin para los parmetros a, b, yc, en el sentido de %mnimos cuadrados mediante el operador barra invertida abc = [x y ones(length(x),1)] \ -(x.^2+y.^2); a = abc(1); b = abc(2); c = abc(3); % Calcula la ubicacion del centro y el radio xc = -a/2; yc = -b/2; radius = sqrt((xc^2+yc^2)-c); %vector que almacena el radio de cada rosa handles.rval(:,k)={radius}; % Muestra el centro calculado plot(xc,yc,'yx','LineWidth',2); % Traza el circulo completo theta = 0:0.01:2*pi; % uso paramtrico representativo del circulo para obtener %coordenadas de los puntos del circulo Xfit = radius*cos(theta) + xc; Yfit = radius*sin(theta) + yc; %Presenta la imagen con las rosas enumeradas con sus respectivos radios. plot(Xfit, Yfit); radiorose = sprintf('%i', k); text(boundary(1,2)-5,boundary(2,1)+20,radiorose,'Color','black',... 'FontSize',10,'FontWeight','bold'); end guidata(hObject,handles);

13

Una vez obtenidos los resultados areas, color, cantidad

y radio de las

rosas; se los podr almacenar en una base de datos. As mismo estos datos servirn como vector de entrada para entrenar la red neuronal.

Reconocimiento de la Red Neuronal.


Los botones Mercado y Ver Detalle contienen el entrenamiento y muestran el detalle de los resultados.

Mercado

14

Se crea un nuevo vector con los resultados de reas y radios de las rosas.
function btn_train_Callback(hObject, eventdata, handles) %% Create P. Vector entrada. P=[cell2mat(handles.rval);handles.areas];

Luego se procede

a normalizar

este

vector para crear

mayores

caractersticas en el reconocimiento de la red, obteniendo Pnormal como resultado.


%Normalizar valores Radios y Areas. Pnormal(1,:) = (P(1,:)*1/(max(P(1,:))-min(P(1,:)))min(P(1,:))/(max(P(1,:))-min(P(1,:)))); Pnormal(2,:) = (P(2,:)*1/(max(P(2,:))-min(P(2,:)))min(P(2,:))/(max(P(2,:))-min(P(2,:))));

Se crea la red neuronal utilizando newc(), con parmetros Vector de entrada: Vector Pnormal y Nmero de Neuronas: 3, porque son tres mercados a los cuales se ha destinado las rosas, los pesos sern aleatorios.
%% creacion de la red net = newc(Pnormal,3); net.IW{1,1} = rand(3,2); w=net.IW{1,1};

Para entrenar la red se usa train(); Las pocas de entrenamientos sern 1000. Del entrenamiento de esta red, resultar un nuevo vector que indica cmo ser representado dentro de la red neuronal los vectores inicialmente obtenidos.
%% epocas y entrenamiento net.trainParam.epochs = 1000; [net,tr] = train(net,Pnormal); w = net.IW{1,1};

En el command Window Observamos los valores de los pesos.

15

Y en una ventana se abre la GUI nntraintool, donde muestra el entrenamiento de la red durante las 1000 pocas.

Una vez que la red ha sido entrenada, se procede a la clasificacin, simulando el reconocimiento con la funcin sim() asignndola a la variable a.
%% red como clasificador. a = net(Pnormal); %% simular a = sim(net,Pnormal); ac = vec2ind(a);

16

Los resultados, se analizan de la siguiente manera: La variable a, muestra el resultado de la simulacin, es decir a que neurona corresponde cada entrada.

Mientras que la variable ac, indica el indice de la neurona, utilizando la funcion vec2ind().

Una vez obtenido el ndice de la neurona, se procede a asignar el nombre del mercado a cada neurona. Y finalmente almacenar estos resultados en un vector para mostrar al usuario.
%% CLASIFICACION MERCADO for k = 1:length(handles.rval) if ac(k) == 1; M='Europa'; elseif ac(k) == 2; M='Rusia'; elseif ac(k) == 3; M='USA'; end handles.Detalle(:,:,k) = {mat2str(k),cell2mat(p(k)),M}; end guidata(hObject,handles) function btn_resultado_Callback(hObject, eventdata, handles) set(handles.txt_detalle,'String',handles.Detalle);

17

Sincronizacin con la Base de Datos.


Para almacenar los resultados en la base de datos, usando las funciones de database toolbox que ofrece Matlab, en este caso para conectar a la base de datos usamos la siguiente sentencia.
%% Conexion de base de datos %Hacer la conexion a la bd. % Usando ODBC drivers conn = database('Tesis_db','root','hola');

Las sentencias para insercin de datos a la base. Sentencia para la tabla ir_enc_reporte, se almacena el vector newhdr que contiene los datos de los campos.
insert(conn,'ir_enc_reporte',{'ir_enc_fch','ir_rep_usu_cod','ir_rep_tpo_cod'},newhdr)

Las sentencias para insercin de datos a la base. Sentencia para la tabla ir_det_reporte, se almacena el vector newstock que contiene los datos de los campos. 18

insert(conn,'ir_det_reporte',{'ir_det_enc_cod','ir_det_ubi_cod','ir_det_cant','ir_det_col_cod','ir_ det_num_cor_cod'},newstock)

Una vez que los datos han sido almacenados, se usa close() para cerrar la conexin a la base de datos.
%Cerrar la conexin de la base de datos. close(conn)

Consulta de Informacin por sitio Web.


A partir de una aplicacin web, el usuario final podr consultar por internet los resultados del ltimo inventario que el usuario administrador haya hecho desde la aplicacin Windows form y actualizado a la base de datos.

Se compone de Header, y un SideBar al lado izquierdo donde iran los vnculos para la fcil navegacin del usuario. El sitio Web es exclusivo para clientes, es por eso que se debe autenticar su acceso al mismo. Una vez que este sea ha autenticado podr visualizar los datos por fechas de los inventarios realizados a la plantacin. 19

La actualizacin de la base de datos para la demostracin del prototipo es manual, pero es posible realizarla remotamente, desde un servidor fijo que en la implementacin real del sistema.
<?php // coneccion al servidor de bases de datos $conndb=mysql_connect ("localhost", "root", "hola") or die ('problema conectando porque :' . mysql_error()); mysql_select_db ("tesis_db",$conndb); $q = "SELECT en.ir_enc_fch 'FECHA', cl.ir_col_nom 'COLOR', tp.ir_tpo_nom 'TIPO ROSA', dr.ir_det_num_cor_cod 'CORTE', SUM(dr.ir_det_cant)'CANTIDAD' FROM ir_det_reporte dr, ir_colores cl, ir_enc_reporte en, ir_tipos tp WHERE tp.ir_tpo_cod=en.ir_rep_tpo_cod AND en.ir_enc_cod=dr.ir_det_enc_cod AND cl.ir_col_cod = dr.ir_det_col_cod GROUP BY en.ir_enc_fch, cl.ir_col_nom, tp.ir_tpo_nom, dr.ir_det_num_cor_cod"; $tabla1= mysql_query($q, $conndb) or die ("problema con query"); echo "<HTML><TABLE CellPadding=5 width=664 height=52 border=1 align=center><TR>"; echo "<tr align=center bgcolor=#FFFFCC> <td><strong>Fecha</strong></td> <td><strong>Color</strong></td> <td><strong>Tpo Rosa</strong></td> <td><strong>Num Corte</strong></td> <td><strong>Cantidad</strong></td>"; while($registro = mysql_fetch_row($tabla1)) { echo "<tr>"; echo "<td>".$registro[0]."</td>"; echo "<td>".$registro[1]."</td>"; echo "<td><a href=Galeria.php>".$registro[2]."</a></td>"; echo "<td>".$registro[3]."</td>"; echo "<td>".$registro[4]."</td>"; echo "</tr>"; }; echo "</table>"; ?>

20

Nota: En el documento de implementacin, especficamente en el manual tcnico se detalla los cdigos de las aplicaciones web y Windows form y base de datos respectivamente. Y en el manual de usuario las pantallas del funcionamiento de las dos aplicaciones web y Windows form respectivamente.

21

<<INROWEB>> Estabilizacin y Pruebas

Autor Cargo Fecha

Karina Bajaa Director del Proyecto Abril/28/2010

Versin: 1.0

Hoja de Revisin & Firmas


Record de Cambios Fecha Autor
Abril/28/2010 Mayo/10/2010 Junio/08/2010 Karina Bajaa Karina Bajaa Karina Bajaa

Versin
1.0 1.0 1.0

Referencias de Cambios Prueba de Stress Descripcin de la prueba realizada Prueba de validacin de interfaz grfica y experiencia de usuario

Revisiones Nombre Versin Aprobada Karina Bajaa 1.01

Posicin
Administradora

Fecha
Junio/08/2010

Distribucin Nombre Karina Bajaa Vladimir Bonilla

Posicin Administradora Tutor

Propiedades del documento Detalles Titulo de Estabilizacin y Pruebas Documento Autor Karina Bajaa Fecha de Creacin Abril/28/2010 Fecha de Ultima Junio/08/2010 Actualizacin

TABLA DE CONTENIDOS
Identificacin ................................................................................................... 2 Registro de Firmas .......................................................................................... 2 Estabilizacin: ..................................................................................................... 3 Conclusiones: .................................................................................................. 3 Pruebas: ............................................................................................................. 4 Prueba de Stress ............................................................................................. 4 Descripcin de la prueba realizada: ............................................................. 5 Prueba de validacin de interfaz grfica y experiencia de usuario. ............... 10

Formulario de Firmas

Identificacin
Solucin al Cliente Nombre de Solucin Versin Fecha

Registro de Firmas
Yo certifico que esta solucin est lista para ser usada:

Director de Tesis
Name Sign Date

Desarrollador
Name Sign Date

Usuario
Name Sign Date

Calificador
Name Sign Date

Calificador
Name Sign Date

Estabilizacin:
Durante la fase de estabilizacin se detecto y corrigi errores en el sistema, dejando al sistema ms estable y robusto.

Conclusiones:
Es importante que si el sistema se instala en un servidor XP, se deshabilite el firewall de Windows o en su defecto, se habilite las entradas y salidas del puerto http para el buen funcionamiento del sistema. Si el servidor de base de datos y web server van a estar en servidores diferentes, se debe habilitar las conexiones remotas por parte del motor de base de datos. A pesar que el sistema no tiene restricciones de peso de archivos, no es recomendable guardar las imgenes de las fotografas, dado que esto puede hacer que el aplicativo colapse por la cantidad almacenada de imgenes innecesarias o por el tiempo que se demora en almacenar.

Pruebas:
INROWEB, es un sistema pequeo y puesto que no realiza ninguna operacin matemtica demasiado compleja, adems del reconocimiento de la red neural, se ha descartado crear pruebas unitarias, de caja blanca y de caja negra. Se debe realizar pruebas de stress y verificar la validez del entorno grfico del mismo, para comprobar que cumpla con los estndares correspondientes, ya que la segunda parte del sistema consiste en una aplicacin web.

Prueba de Stress
Los aplicativos Web, deben estar diseados para soportar una alta concurrencia de usuarios y transacciones, es importante someter al aplicativo a pruebas de stress. La prueba de stress permite grabar una accin dentro del aplicativo Web, y simular ese proceso por muchos usuarios en un tiempo predefinido. Usando Webserver Stress Tool 7, una herramienta third party, de la empresa Paessler se llevar a cabo las pruebas de stress.

La figura muestra a la herramienta mientras realiza las pruebas de stress

Descripcin de la prueba realizada:


En la herramienta se grab las acciones ms comunes a realizarse dentro del sitio web, incluyendo comprobacin de un usuario no vlido. Luego, se dio inicio de sesin con un usuario vlido y se procedi a consultar la informacin del ltimo inventario web. A continuacin se volvi a consultar un nuevo inventario y se logr ver el historial. Para la prueba se configur a 5 usuarios concurrente, que repitieron el proceso 10 veces seguidas casa uno.

Resultados obtenidos: La siguiente figura muestra la comparacin entre el tiempo promedio para devolver la peticin y el nmero de errores que gener el aplicativo. Como se puede apreciar en la figura, el sistema no presenta error alguno, mientras que el tiempo de respuesta del servidor es bastante aceptable, tomando como lmite 110ms.

La siguiente figura muestra el consumo del procesador y la cantidad de informacin transmitida desde el servidor. La memoria que usa el servidor va desde 205 megas hasta 145 megas, esto se debe a que es la primera vez que se ejecuta el aplicativo y necesita memoria adicional para inicializar el mismo, luego de esta primera decreciente rpida, se ve que el promedio de uso de memoria es de 155 megas, por lo que se asume que un servidor con 1gb de ram, 8 veces ms de lo necesario en la prueba, el aplicativo funcionar correctamente. El uso del cpu tiene un tope de 20%, en este caso se trata de un Intel Atom CPU N280 @1,66GHz, se asume que un procesador parecido o superior ejecutar correctamente al sistema. En cuanto al trfico de la red esta se ocup en un mximo de 22 kbits-s.

La siguiente figura muestra el tiempo de ejecucin de los diferentes protocolos que intervienen en la tarea en el aplicativo dado.

Se aprecia que hay tiempos altos en la parte inicial de la prueba, tanto en la conexin, como en la respuesta del primer byte, el DNS y el tiempo de respuesta al clic del usuario. Esto se debe a que el aplicativo necesita localizar al servidor, e inicializar el canal de comunicaciones por primera vez, lo cual toma tiempo, pero una vez abierto el canal, la comunicacin fluye con tiempos de respuesta baja, lo cual indica la eficiencia del aplicativo.

La siguiente figura analiza el consumo de ancho de banda, tanto del cliente como del servidor.

El consumo del ancho de banda del servidor es casi nulo, mientras el cliente tiene consumos de hasta 14000 kbits por segundo. Sin embargo esto se debe al alto consumo que significa subir un archivo de 2,5 mb por Internet. Hay que tomar en cuenta que las pruebas se hicieron en una red local, por lo que la consulta y tiempo de respuesta fueron casi instantneos, sin embargo, es por esa razn que se recomienda el uso de una conexin de banda ancha para el uso normal del aplicativo, ya que el uso de una conexin telefnica segn las pruebas el aplicativo funcionara, aunque no de manera ptima porque posee en promedio un ancho de 33,000 kbits por segundo. A continuacin, la tabla muestra que el aplicativo no produjo errores para los 5 usuarios concurrentes.

La siguiente tabla muestra los resultados en base a las pruebas dadas. User No. Clicks Hits Errors Avg. Click Time [ms] Bytes kbit/s Cookies 1 10 10 0 241 83,825 278.63 2 10 10 0 237 83,825 283.05 3 10 10 0 236 83,825 284.23 4 10 10 0 239 83,825 280.62 5 10 10 0 245 83,825 273.75

La siguiente tabla muestra varios datos que verifican el comportamiento, rendimiento y errores del aplicativo, como se ve el mismo est funcionando de forma ptima. URL No. Name Clicks Errors Errors [%] Time Spent [ms] Avg. Click Time [ms] 1 5 0 0.00 24 5 2 5 0 0.00 430 86 3 5 5 100.00 0 4 5 0 0.00 55 11 5 5 0 0.00 36 7 6 5 0 0.00 36 7 7 5 0 0.00 37 7 8 5 0 0.00 37 7 9 5 0 0.00 32 6 10 3 0 0.00 21 7 11 0 0 0 12 0 0 0 13 0 0 0 14 0 0 0 15 0 0 0 16 0 0 0 17 0 0 0 18 0 0 0 19 0 0 0 20 0 0 0 21 0 0 0 22 0 0 0 23 0 0 0

Prueba de validacin de interfaz grfica y experiencia de usuario.


Descripcin del estndar El aplicativo se ajusta a una resolucin de pantalla de 800x600 pxeles. El aplicativo maneja un estndar de fuentes y colores que pueden ser modificados fcilmente. El aplicativo maneja iconografa constante e intuitiva para el usuario. El aplicativo posee un sistema de navegacin fcil que permite navegar entre las distintas pginas. El aplicativo posee mensajes de error en colores fuertes y con mensajes fciles de comprender que guan al usuario en la solucin de problemas El lmite para llegar a la informacin ms lejana dentro del aplicativo es de 5 clicks del mouse. El aplicativo no posee faltas ortogrficas ni gramaticales. La interfaz de usuario es liviana y cada pgina no descarga al usuario ms de 200 kbytes, incluyendo imgenes y scripts. El aplicativo es seguro y evita al mximo el uso de cookies. Cumple X X X X No Cumple

X X X X

10

<<INROWEB>> Implementacin

Autor Cargo Date

Karina Bajaa Mendoza Director del Proyecto Junio/08/2010

Versin: 1.0

Hoja de Revisin & Firmas


Record de Cambios Fecha Autor
Junio/08/2010 Junio/20/2010 Junio/31/2010

Versin
1.0 1.0 1.0

Referencias de Cambios
Manual de usuario Manual Tcnico Manual de Instalacin

Karina Bajaa Karina Bajaa Karina Bajaa

Revisiones Nombre Versin Aprobada Posicin Karina Bajaa 1.01 Administradora

Fecha Junio/31/2010

Distribucin Nombre Karina Bajaa Vladimir Bonilla

Posicin Administradora Tutor

Propiedades del documento Detalles Titulo de Implementacin Documento Autor Karina Bajaa Fecha de Creacin Junio/08/2010 Fecha de Ultima Junio/31/2010 Actualizacin

TABLA DE CONTENIDO

Manual de Instalacin ......................................................................................... 2 Prerrequisitos para el servidor: ....................................................................2 Instalacin:................................................................................................... 2 Manual de Usuarios ............................................................................................ 3 Manual de Usuario Administrador ................................................................... 3 Pantalla Principal: ........................................................................................ 3 Inicializar la Cmara. ................................................................................... 3 Capturar Imgenes ...................................................................................... 4 Iniciar el Proceso de Inventario. ...................................................................6 Obtener Resultados y Almacenarlos. .......................................................... 6 Manual de Usuario Final ................................................................................. 8 Pantalla de Autentificacin:.......................................................................... 8 Men: ........................................................................................................... 8 Manuales Tcnicos ........................................................................................... 11 Manual Tcnico De La Aplicacin en Matlab ................................................ 11 Manual Tcnico De La Base De Datos ......................................................... 13 Diagrama fsico de la Base de datos ......................................................... 13 Diccionario de la Base de datos ................................................................ 13 Manual Tcnico Del Sitio Web ...................................................................... 17

Manual de Instalacin
Prerrequisitos para el servidor:
Para poder instalar el sistema INROWEB el equipo debe poseer las siguientes caractersticas: Core 2 Duo de 1,60 GHz o superior. 1 GB de memoria RAM. 1 GB de memoria libre. Tarjeta de red. Adicionalmente el equipo debe poseer los siguientes programas instalados: Microsoft Windows XP sp3 o superior Internet Explorer 8.0 Matlab 2009 My SQL 5

Instalacin:
Para instalar INROWEB es necesario instalar los programas anteriormente mencionados, a continuacin se deben seguir los siguientes pasos:
1. Instalar la cmara web en el sistema operativo. 2. Clic en el archivo ejecutable. 3. Se instala el aplicativo. 4. Abrir MySQL 5. Ejecuta el script de la base datos.

Finalmente, se abre el aplicativo y se procede a utilizar segn el tipo de usuario.

Manual de Usuarios

Manual de Usuario Administrador

Pantalla Principal:
La pantalla principal de usuario, es muy amigable para su fcil manejo, encontrar botones de control, los cuales permiten realizar todo el procedimiento de captura, reconocimiento de rosas y almacenamiento de resultados del inventario.

Inicializar la Cmara.
El botn Visualizar activa la cmara y permite visualizar en tiempo real la imagen de la plantacin, en este caso la maqueta.

Capturar Imgenes
Con el Botn Capturar.- Permite capturar una imagen y la muestra en el segundo axe, mientras que el primer axe contina con la imagen en tiempo real.

Luego de obtener una imagen patrn se la procesa para extraer el color, area y radio cliqueando Color y posteriormente Contabilizar. Tal es el caso para Rojo:

Amarillo:

Blanco:

Rojo:

Iniciar el Proceso de Inventario.


Para iniciar el proceso de inventario, se debe capturar las dems imgenes y se da clic en el Botn Contabilizar para que la red neural reconozca el color y punto de corte en el que se encuentran las rosas de la camada.

Obtener Resultados y Almacenarlos.


Una vez que la red neuronal haya terminado de analizar la imagen, inmediatamente presentar los resultados y el usuario administrador debe escribir el cdigo correspondiente de la camada analizada y presionar Guardar Datos para que los resultados se almacenen en la base de datos. 6

Manual de Usuario Final


Pantalla de Autentificacin:
Para ingresar a la pgina principal se debe ir al explorador de internet y escribir la direccin: www.inroweb.mecatronicaecuador.com Una vez cargada la pgina se muestra as:

El cliente debe

Men:
Podemos observar en la parte izquierda el Men con las diferentes opciones, mismas que al hacer clic desplegar la pgina solicitada.

Inventario Al hacer clic en Inventa ventario, se mostrarn los resultados que se e han obtenido del ltimo inventario realizado reali a la maqueta creada para demo demostracin del funcionamiento del el proyecto proy de Tesis.

Proyeccin de Ventas entas En esta pgina se m muestra la proyeccin de ventas, que ue la empresa ha estimado con las ventas vent anteriores y con los nuevos datos os obt obtenidos en el inventario.

Tipo de Corte En esta pgina se muestran mu los patrones de corte que usan an la las floricultoras para cosechar la rosa segn s el gusto del cliente.

Galera En esta ltima pgina gina se expone los modelos de rosas que se c cosecha en la plantacin.

10

Manuales Tcnicos
Manual Tcnico De La Aplicacin en Matlab
DESCRIPCIN: Es un formulario que contiene los controles activos para uso del usuario.

COMPONENTES GENERALES.

11

DESCRIPCION DE COMPONENTES GENERALES. Figure Aplicacion


Tipo de Objeto Figure Uipanel Uitools.uibuttongroup Uicontrol Static text Uicontrol Static text Uicontrol Static text Uicontrol popmenu Uicontrol botn Uitools.uibuttongroup Uicontrol botn Uicontrol popmenu Uicontrol Static text Uicontrol Static text Uicontrol Static text Uicontrol Static text Uicontrol Static text Uipanel Axes Uicontrol botn Axes Uitools.uibuttongroup Uicontrol radio botn Uicontrol radio botn Uicontrol radio botn Uicontrol botn Uicontrol botn Uipanel Axes Uicontrol botn Uitools.uibuttongroup Uicontrol botn Uicontrol botn Uipanel Uicontrol Static text Nombre Aplicacin uipnl_inventario uipnl_encabezado lbl_fcha txt_fcha lbl_tporosa popmn_tporosa btn_nwenc uipnlbtns_detalle btn_nwdt popmn_cmda lbl_camada txt_numrs lbl_numrs lbl_camada txt_numrs uipnl_vdo axs_video btn_vdo axs_logo Uipnlbtns_reconoci miento op_y op_w op_r btn_color btn_stock uipnl_img axs_imagen btn_imagen Uipnlbtns_clasifica cion btn_train btn_resultado uipnl_detalle txt_detalle Descripcin Despliega una ventana para realizar el inventario. Contiene los controles para almacenar de forma automtica los resultados del inventario. Contiene los controles para crear el encabezado del inventario. Es una etiqueta con nombre Fecha: Genera la fecha del da. Es una etiqueta con nombre Tpo. Rosa. Muestra los datos del select a la tabla ir_tipos Almacena los datos a la tabla ir_enc_reporte Contiene los controles para crear el detalle del inventario. Almacena los datos a la tabla ir_det_reporte Muestra los datos del select a la tabla ir_ubicacion Es una etiqueta con nombre Camada: Muestra la cantidad de rosas en la imagen. Es una etiqueta con nombre CantRosas:. Es una etiqueta con nombre Color:. Muestra el color de las rosas de la imagen Contiene un axis en el cual se visualiza el video. Permite ver al usuario la imagen en tiempo real. Inicializa la cmara web Se inicializa con el logo del programa. Contiene los botones para el reconocimiento del color en la imagen. Seleccin de regiones amarillas dentro de la imagen. Seleccin de regiones blancas dentro de la imagen. Seleccin de regiones rojas dentro de la imagen. Inicializa el procesamiento de reconocimiento de color. Realiza el conteo de la cantidad de rosas en la imagen. Contiene un axis en el cual se hace un snapshot de la imagen real del axis video. Permite ver al usuario la imagen capturada Realiza un snapshot de la imagen en tiempo real Contiene los botones para el entrenamiento de la neurona y presentar resultados. Realiza el entrenamiento de la red neuronal. Genera los resultados de la clasificacin de mercados. Contiene un statictext para presentar los resultados de la clasificacin. Muestra los resultados de la clasificacin de mercados en los que cada rosa de la imagen es apta.

12

Manual Tcnico De La Base De Datos


Diagrama fsico de la Base de datos

Diccionario de la Base de datos

LISTA DE DOMINIOS
Name Codigo Nombre Contrasena Descripcion
Fecha

Code CODIGO NOMBRE CONTRASENA DESCRIPCION


FECHA

Data Type Int String String String


Date

Comment Dominio para los campos cdigo Dominio para los campos nombre Dominio para los campos contrasea Dominio para los campos descripcin u observacin Dominio para los campos fecha

CLASES Clase IR_TIPOS


Tarjeta de clase IR_TIPOS

Name Code Generate Visibility Abstract Class Type Comment

IR_TIPOS IR_TIPOS TRUE Public FALSE Class Guarda informacin de los tipos de rosas que existen dentro de la plantacin

13

Lista de atributos de la clase IR_TIPOS

Name IR_TPO_C OD IR_TPO_N OM

Code IR_TPO_CO D IR_TPO_NO M

Displayed TRUE TRUE

Domain Codigo Nombre

Data Type Int String

Visibility Public Public

Comment Clave primaria de la tabla tipos. Almacena el nombre del tipo de rosa.

Clase IR_PTO_CORTES
Tarjeta de la clase IR_PTO_CORTES

Name Code Generate Visibility Abstract Class Type Comment

IR_PTO_CORTES IR_PTO_CORTES TRUE Public FALSE Class Guarda informacin de los nmeros de corte que tiene la rosa antes de ser cultivada.

Lista de atributos de la clase IR_PTO_CORTES

Name IR_PTO_CO R_COD IR_PTO_CO R_DES

Code IR_PTO_COR_ COD IR_PTO_COR_ DES

Displayed TRUE TRUE

Domain Codigo Descripci on

Data Type int String

Visibility Public Public

Comment Clave primaria de la tabla cortes. Almacena la descripcin de la corona y ptalos en cada nmero de corte de la rosa.

Clase IR_ENC_REPORTE
Tarjetas de la clase IR_ENC_REPORTE

Name Code Generate Visibility Abstract Class Type Comment

IR_ENC_REPORTE IR_ENC_REPORTE TRUE Public FALSE Class Guarda informacin del encabezado del reporte de inventario.

Lista de atributos de la clase IR_ENC_REPORTE

Name IR_ENC_COD IR_ENC_FECH A

Code IR_ENC_COD IR_ENC_FECH A

Displayed TRUE TRUE

Domain Codigo Fecha

Data Type Int Date

Visibility Public Public

Comment Clave primaria de la tabla encabezado Almacena la fecha en la que se realiza el inventario.

14

Clase IR_UBICACION
Tarjeta de la clase IR_UBICACION

Name Code Generate Visibility Abstract Class Type Comment

IR_UBICACION IR_UBICACION TRUE Public FALSE Class Almacena informacin de los nombres de las camadas.

Lista de atributos de la clase IR_UBICACION

Name IR_UBI_COD IR_UBI_NOM

Code IR_UBI_COD IR_UBI_NOM

Displaye d TRUE TRUE

Domain Codigo Nombre

Data Type Int String

Visibili ty Public Public

Comment Clave primaria de la tabla ubicacin. Almacena el nombre de la camada

Clase IR_USUARIOS
Tarjeta de clase IR_USUARIOS

Name Code Generate Visibility Abstract Class Type Comment

IR_USUARIOS IR_USUARIOS TRUE Public FALSE Class Guarda informacin de todos los usuarios que accesan al sistema.

Lista de atributos de la clase IR_USUARIOS

Name IR_USU_COD IR_USU_NOM IR_USU_PAS IR_USU_TPO

Code IR_USU_COD IR_USU_NOM IR_USU_PAS IR_USU_TPO

Display ed TRUE TRUE TRUE TRUE

Domain Codigo Nombre Contrasen a Nombre

Data Type Int String String String

Visibil ity public public public public

Comment Clave primaria de la tabla usuario. Almacena informacin de los nombres de usuario. Almacena la informacin de las contraseas de cada usuario. Almacena la informacin del tipo de usuario.

Clase IR_COLORES
Tarjeta de clase IR_COLORES

Name Code Generate Visibility Abstract

IR_COLORES IR_COLORES TRUE Public FALSE

15

Class Type Comment

Class Guarda la informacin de los colores de rosas que hay en la plantacin.

Lista de Atributos de la clase IR_COLORES

Name IR_COL_COD IR_COL_NOM

Code IR_COL_COD IR_COL_NOM

Displayed TRUE TRUE

Domain Codigo Nombre

Data Type int String

Visibility public public

Comment Clave primaria de la tabla colores. Almacena la informacin de los nombres de los colores.

Clase IR_DET_REPORTE
Tarjeta de la clase IR_DET_REPORTE

Name Code Generate Visibility Abstract Class Type Comment

IR_DET_REPORTE IR_DET_REPORTE TRUE Public FALSE Class Guarda la informacin del detalle del inventario.

Lista de Atributos de la clase IR_DET_REPORTE

Name IR_DET_COD IR_DET_CANT

Code IR_DET_COD IR_DET_CANT

Displayed TRUE TRUE

Domain Codigo Codigo

Data Type int int

Visibility public public

IR_DET_OBS

IR_DET_OBS

TRUE

Descripcion

String

public

Comment Clave primaria de la tabla detalle Almacena la cantidad una vez realizado el conteo Almacena observaciones que haya en este registro.

LISTA DE ASOCIACIONES
Multiplicity A 0..1 0..1 0..1 0..1 0..1 0..1 Multiplicity B 0..* 0..* 0..* 0..* 0..* 0..*

Name EXISTE REGISTRA HABER ACCESA ESTA CONTIENE

Code EXISTE REGISTRA HABER ACCESA ESTA CONTIENE

Class B IR_ENC_REPORTE IR_DET_REPORTE IR_ENC_REPORTE IR_ENC_REPORTE IR_DET_REPORTE IR_DET_REPORTE

Class A IR_TIPOS IR_PTO_CORTES IR_UBICACION IR_USUARIOS IR_COLORES IR_ENC_REPORTE

Comment

16

Manual Tcnico Del Sitio Web


El primer archivo, login.php, es bastante simple. Slo se trata de un simple condicional que verifica la existencia o no de una variable al principio del script que, dependiendo del resultado, muestra un texto de advertencia en un color o en otro. La ltima parte del script es un formulario que al introducir los datos redirigir la pgina a autenticacion.php.
Formulario login.php <form action="Index.htm" method="POST"> <table align="center" border="0"> <tr><td>Nombre de usuario:</td> <td><input name="usuario" size="25" value=""/></td> </tr> <tr><td>Contrasea:</td> <td><input name="contrasena" size="25" type="password"/></td> </tr> <tr><td><input type="submit" value="Inicio de sesin"/></td> </tr> </table> </form>

El otro archivo es el autenticacion.php. Es tambin bastante simple.


Formulario autenticacion.php <? //vemos si el usuario y contrasea son vlidos if ($_POST["usuario"]=="usuario" && $_POST["contrasena"]=="123"){ //usuario y contrasea vlidos //se define una sesion y se guarda el dato session_start(); $_SESSION["autenticado"]= "SI"; header ("Location: inroweb/aplicacion.php"); }else { //si no existe se va a login.php header("Location: login.php?errorusuario=si"); } ?>

Se hace uso de sesiones para manejar una variable que se utilizar para indicar si el usuario se loge en forma exitosa o no. En estos scripts no trabajo con una base de datos para no alargar demasiado este post, pero lo que aqu s interesa es la recuperacin de las variables de usuario y la clave correctas para compararlas con las que se ingresan desde el 17

formulario. Aqu directamente comparamos los campos ingresados del formulario con dos variables ya definidas. En caso de ingresar los datos correctos, se crea una variable de sesion (autenticado -que ser leda ms tarde desde los scripts de la aplicacin

segura-) y se redirigir la pgina a aplicacion.php. En caso de ingresar datos


incorrectos, no se crea esa variable de sesin y se pasa una variable de error a login.php que sirve para mostrar en pantalla que ingresamos mal los datos. Antes de mostrar aplicacion.php, hay un bloque de seguridad que estar dentro de aplicacion.php en forma de un include.
Formulario BloquedeSeguridad.php <? //Inicio la sesin session_start(); //COMPRUEBA QUE EL USUARIO ESTA AUTENTICADO if ($_SESSION["autenticado"] != "SI") { //si no existe, va a la pgina de autenticacion header("Location: login.php"); //salimos de este script exit(); } ?>

En sta parte slo se verifica que exista la variable de sesin (autenticada). Si existe no hace nada y contina, y si no existe, redirige la pgina a login.php Ahora pasamos a ver el script aplicacion.php. Este contiene el bloque de seguridad al principio, de tal manera de que sea lo primero que se ejecute en el script. Formulario Inventario Una vez que este sea ha autenticado podr visualizar los datos por fechas de los inventarios realizados a la plantacin. 18

La actualizacin de la base de datos es posible realizarla remotamente, desde un servidor fijo que en la implementacin real del sistema.
<?php // coneccion al servidor de bases de datos $conndb=mysql_connect ("localhost", "root", "hola") or die ('problema conectando porque :' . mysql_error()); mysql_select_db ("tesis_db",$conndb); $q = "SELECT en.ir_enc_fch 'FECHA', cl.ir_col_nom 'COLOR', tp.ir_tpo_nom 'TIPO ROSA', dr.ir_det_num_cor_cod 'CORTE', SUM(dr.ir_det_cant)'CANTIDAD' FROM ir_det_reporte dr, ir_colores cl, ir_enc_reporte en, ir_tipos tp WHERE tp.ir_tpo_cod=en.ir_rep_tpo_cod AND en.ir_enc_cod=dr.ir_det_enc_cod AND cl.ir_col_cod = dr.ir_det_col_cod GROUP BY en.ir_enc_fch, cl.ir_col_nom, tp.ir_tpo_nom, dr.ir_det_num_cor_cod"; $tabla1= mysql_query($q, $conndb) or die ("problema con query"); echo "<HTML><TABLE CellPadding=5 width=664 height=52 border=1 align=center><TR>"; echo "<tr align=center bgcolor=#FFFFCC> <td><strong>Fecha</strong></td> <td><strong>Color</strong></td> <td><strong>Tpo Rosa</strong></td> <td><strong>Num Corte</strong></td> <td><strong>Cantidad</strong></td>"; while($registro = mysql_fetch_row($tabla1)) { echo "<tr>"; echo "<td>".$registro[0]."</td>"; echo "<td>".$registro[1]."</td>"; echo "<td><a href=Galeria.php>".$registro[2]."</a></td>"; echo "<td>".$registro[3]."</td>"; echo "<td>".$registro[4]."</td>"; echo "</tr>"; }; echo "</table>"; ?>

19

Anda mungkin juga menyukai