Sede Chillán
“SISFRU” “SISTEMA DE VISIÓN ARTIFICIAL DE SELECCIÓN DE FRUTAS”
Trabajo de seminario para optar al título de Ingeniero en Informática.
Profesor guía: Sr. Alan Cartes Fica.
ALEX GUIÑEZ FUENTES 2014
Inacap sedeChillán | SISFRU
1
2. ÍNDICE. INTRODUCCION
3
ANTECEDENTES
4
SITUACIÓN ACTUAL DE LA EMPRESA
6
IDENTIFICACIÓN Y DEFINICIÓN DEL PROBLEMA A RESOLVER
7
JUSTIFICACIÓN
8
MARCO TEÓRICO
17
METODOLOGÍA DE TRABAJO
19
OBJETIVO GENERAL
22
OBJETIVOS ESPECÍFICOS
22
ALCANCES Y LÍMITES DE LA SOLUCIÓN
23
PROCEDIMIENTOS
24
DESCRIPCIÓN DE ACTIVIDADES
24
ESTUDIO DE FACTIBILIDAD
25
PRESUPUESTOS DE LA IMPLEMENTACIÓN
28
ANÁLISIS DE REQUERIMIENTOS
30
DISEÑO LÓGICO
33
MODELO ENTIDAD RELACION
33
DIAGRAMA DE CASOS DE USO
34
DIAGRAMA DE SECUENCIA
36
DIAGRAMA DE ACTIVIDADES
38
DISEÑO FISICO
39
MATRIZ DE RIESGOS
40
MEDIDAS MITIGADORAS
43
PLAN DE PRUEBAS
46
Inacap sedeChillán | SISFRU
2
NOMENCLATURA
59
LAYOUT
61
ARQUITECTURA HARDWARE
65
CONCLUSIÓN
68
1. INTRODUCCION.
Una de las líneas de investigación y desarrollo muy interesantes, es lo relativo a la "imitación" de nuestros órganos de los sentidos: audición y visión. En ello, no sólo se espera dotar un computador de la capacidad de "percibir" sonidos, sino de reconocer, es decir de "identificar " lo percibido. Se ha avanzado bastante en el reconocimiento de voz, mientras se ha avanzado menos en materia de visióninterpretación. La visión artificial por computadora es una disciplina en creciente auge con multitud de aplicaciones, como inspección automática, reconocimiento de objetos, mediciones, robótica etc. El futuro es aún más prometedor; la creación de máquinas autónomas capaces de interaccionar inteligentemente con el entorno pasa necesariamente por la capacidad de percibir éste. Estas máquinas, dotadas de computadores cada vez más rápidos y potentes, encuentran una de sus mayores limitaciones en el procesamiento e interpretación de la información suministrada por sensores visuales. Todo esto es un territorio de la informática aún mas abandonado en Chile que en el resto del mundo, en éste proyecto de investigación se procederá a hacer un experimento de automatización para empresas basadas en la visión artificial, más específicamente consistirá en un proyecto que usará la visión artificial para discriminar y distinguir frutas de calidad de exportación en una empresa local dedicado a éste rubro (frusur), comenzando con un prototipo pensado para evaluar X fruta.
Inacap sedeChillán | SISFRU
3
2. Antecedentes de la empresa.
Grupo Frusur cuenta con más de 50 establecimientos repartidos por la zona de la Bahía de Cádiz. Tenemos establecimientos en Cádiz, El Puerto de Santa María, Jerez de la Frontera, Puerto Real y San Fernando.
Se dedica a la comercialización de productos hortofrutícolas en régimen de franquiciados, siendo nuestro catálogo de productos el más amplio que se pueda confeccionar (según fecha y campañas) a precios muy competitivos y la calidad por bandera. Está presente en las lonjas diarias de Conil, Sanlucar de Barrameda,
Chipiona, Almería,
Costa tropical, Málaga, en
mercados nacionales como MercaSevilla y MercaMadrid, así como en todas las campañas hortofrutícolas,Lleída, Badajoz, la Fresa de Huelva, las Naranjas de San Martín del Tesorillo o la Sierra Norte de Sevilla, el Melón de La Mancha, etc... contando con un amplio abanico de proveedores para poner auténticos manjares en su mesa.
Inacap sedeChillán | SISFRU
4
Objetivos de la empresa:
Los objetivos principales de ésta empresa son la mejora continua en el control de la calidad y nunca sacrificándola para conseguir un precio más económico, lo que nos permite conseguir una extraordinaria calidad en los productos comercializados en Grupo Frusur.
Organigrama de la Empresa.
Inacap sedeChillán | SISFRU
5
Situación actual de la empresa. Actualmente la recolección de la fruta es completamente manual, se ejerce de manera independiente por privados y empresarios que proveen de fruta a la empresa. Luego, en el proceso que compete a éste proyecto, que es la selección, se hace de forma manual por operarios contratados por frusur quienes eligen la fruta por medio de un criterio que establecen por medio de una capacitación que realiza la empresa. Diagrama de flujo de funcionamiento actual.
Inacap sedeChillán | SISFRU
6
3. DEFINICION DEL PROBLEMA.
Como se expuso anteriormente en los antecedentes y situación actual de la empresa, la selección de la fruta de hace de una manera manual y a toda prisa en una mesa de selección de fruta, donde muchas personas, usando prácticamente solo su criterio personal, eligen, discriminan y separan la fruta que será destinada para exportación de la que será usada para venderse o fabricar mermeladas y otros derivados de la fruta. Inacap sedeChillán | SISFRU
7
Claro está, la fruta debe cumplir ciertos criterios (que son superficiales) para calificar como fruta de exportación, pero debido a la naturaleza humana de la elección, se podría decir que en la mayor parte de las ocasiones ésta selección no es precisa, no cumplen perfectamente con los estándares requeridos, y obviamente no hay datos duros que puedan ser extraídos por un sistema así. El sistema manual y poco automatizado genera imprecisión en la selección, actualmente se invierte mucho en personal dedicado a ésta tarea, y no se reúnen datos importantes para toma de decisiones, como evaluar proveedores de fruta, cuantificar la cantidad porcentual de fruta con calidad de exportación, etc. Se planea dar una solución computarizada usando una tecnología con poco uso en Chile, sistemas de visión artificial para automatizar, cuantificar, clasificar y extraer información de los procesos de producción y así extraer información relevante que entreguen utilidades extra al cliente, los cuales funcionen como un activo más para la empresa, un activo que optimizará la producción, que puede funcionar las 24 horas del día y además ayuda a prescindir de muchos otros gastos relacionados con la producción, pasando de necesitar operarios, a solo necesitar personas que fiscalicen la correcta elección por parte del software.
4- JUSTIFICACIÓN. La cantidad de fruta que se pierde en el proceso de selección varía según país y fruta, pero de calcula que en general se pierde por las inadecuadas prácticas de postcosecha entre el 30% y 40% de los productos situación que se presenta por la inadecuada cosecha de los productos, la falta selección y clasificación de los productos, las condiciones inadecuadas de empaque, transporte y almacenamiento.
Inacap sedeChillán | SISFRU
8
Esta situación ocurre por el desconocimiento de las prácticas de precosecha y postcosecha que permitan que el producto permanezca vivo, conservando sus características propias por un mayor tiempo. Los productores mal que bien obtenemos un producto que desafortunadamente y por la falta de conocimiento de su manejo y del mercado, vemos limitadas las posibilidades de mejorar nuestro nivel de ingresos. 6.a. Restricciones y exclusiones que afectarán a la posible solución: se trabaja con una tecnología nueva de la cual no existen nociones anteriores de uso, debido a esto, la planificación de avance y el cronograma no se seguirá a la perfección, pueden haber inconvenientes propios de lo que es el proceso investigativo en una tecnología relativamente nueva. 6.b. Identificación de riesgos y oportunidades asociadas a la posible solución: Existe el riesgo de la resistencia al cambio por parte del personal que trabaja actualmente con el sistema, pues éste revoluciona totalmente la forma de trabajar en empresas dedicadas a éste rubro, sin embargo éstos efectos pueden mermarse con una buena charla y capacitación, las oportunidades que pueden darse gracias a la iniciativa con éste proyecto de visión artificial son enormes ya que ésta tecnología se puede aplicar en casi todo rubro empresarial, desde las pesqueras, hasta los aserraderos, e incluso puede incursionar en la gran empresa del cobre, solo con apenas unas modificaciones al esqueleto del software que se realizará. 6.c. Factores de éxito: Éste proyecto en sí, no será el único, pero sí por mucho el más económico para realizar ésta tarea, ésta es una gran oportunidad que se presenta para el triunfo de éste proyecto por sobre su competidor, existe una enorme ventaja en éste ámbito, actualmente solo una empresa frutícola tiene un sistema automatizado de clasificación de frutas, pero ésta solución les costó alrededor de 5 millones de dólares, éste sistema tiene la tarea de ser una opción
económica pero igualmente eficiente y así triunfar por sobre la competencia que requiere de grandes sumas de dinero. 6.d. Beneficios económicos: Los gastos para implementar éste sistema son considerablemente mayores ya que se requiere hardware especializado para llevarse a cabo, pero al nivel que se llevará éste proyecto se necesita simplemente una cámara semi profesional y un computador, el sistema es claramente escalable a cumplir la función de sistemas mucho mas caros por un costo mucho menor. Inacap sedeChillán | SISFRU
9
6.e. Lenguaje de programación y desarrollo de la solución: Podríamos decir que la Visión Artificial (VA)describe la deducción automática de la estructura y propiedades de un mundo tridimensional posiblemente dinámico, bien partir de una o varias imágenes bidimensionales del mundo. Las imágenes pueden ser monocromáticas (de niveles de gris) o colores, pueden provenir de una o varias cámaras e incluso cada cámara puede estar estacionaria o móvil. Las estructuras y propiedades del mundo tridimensional que queremos deducir en visión artificial incluyen no sólo sus propiedades geométricas, sino también sus propiedades materiales. Ejemplos de propiedades geométricas son la forma, tamaño y localización de los objetos. Ejemplos de propiedades de los materiales son su color, iluminación, textura y composición. Si el mundo se modifica en el proceso de formación de la imagen, necesitaremos inferir también la naturaleza del cambio, e incluso predecir el futuro. La entrada a un sistema de VA es una imagen obtenida por un elemento de adquisición, mientras que su salida es una descripción de la escena, la cual ha ido obtenida a partir de la imagen. Por un lado, esta descripción debe estar relacionada de algún modo con aquella realidad que produce la imagen y, por el otro, debe contener toda la información requerida para la tarea de interacción con el medio ambiente que se desea llevar a cabo, por ejemplo mediante un robot. Esto es, la descripción depende en alguna forma de la entrada visual y debe proporcionar información relevante y utilizable por el robot. Por medio de ésta tecnología se planea dar una solución informática basada en sistemas de visión artificial y análisis de imágenes por RGB, ésta tecnología permite identificar patrones en imágenes, en el caso de la selección de frutas, se pretende establecer un sistema automatizado que sea capaz de medir los estándares de exportación de la fruta, como lo son el tamaño y un ligero rango de color, también se planea controlar los proveedores, para medir tanto la cantidad de fruta recibida, como también la cantidad porcentual de fruta de calidad que es
entregado por cada proveedor para así tomar decisiones como plantear el cambio de proveedores, re pensar precios de compra a los proveedores, etc. Gracias a las bondades del lenguaje de programación C# y a su compatibilidad con librerías de visión artificial y matlab es posible crear un sistema capaz de cumplir éstos requerimientos. 6.f. Sistema de gestión de base de datos: MySQL es un sistema de gestión de bases de datos relacional, multihilo y multiusuario con más de seis millones de Inacap sedeChillán | SISFRU
10
instalaciones.1 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. Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C. Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y los derechos de autor del código están en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del código. Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius. ¿Por qué es tan necesaria ésta solución? La industria de exportación de frutas en Chile es una de las mas masivas, diversificadas y con más ingresos en nuestro país, no es para menos pues el sector agrícola ganadero aquí se entiende desde la región metropolitana hacia el sur, cubriendo gran parte de nuestro territorio nacional debido a la riqueza de nuestras tierras y a la diversidad de climas. Exportaciones Chilenas de Fruta Fresca - En Toneladas.
La industria posee más de 7.800 Productores (sobre 5 ha. O 10 acres.) 747 Compañías exportadoras Más de 1.300 Importadores de fruta 65% De la producción total es exportada
Más de 100 países en el mundo reciben fruta chilena directamente de 75 tipos de fruta chilena, provenientes de diferentes climas y regiones
Inacap sedeChillán | SISFRU
11
Chile - Proveedor Líder del Hemisferio Sur Actualmente, chile representa el 59,3% de las exportaciones de fruta del hemisferio sur considerando uvas, manzanas, kiwis, paltas, ciruelas, duraznos, peras, ciruelas y arándanos. Por lo tanto, está posicionado como el líder de las exportaciones del hemisferio sur.
Inacap sedeChillán | SISFRU
12
Como se puede apreciar en las gráficas anteriormente citadas de FAO STATS , además de ser necesario para Chile adaptarse a la modernidad, también es necesario debido al espacio que ocupamos en el mundo de la exportación de frutas en América latina, Chile es un nicho grande en ésta área y el software en cuestión puede ayudar mucho a generar más y mejor fruta de exportación para así hacer crecer más la empresa chilena. ¿POR QUÉ NO USAR SISTEMAS MECÁNICOS?
Los daños mecánicos en los frutos pueden resultar de la compresión, impacto y/o vibración y se pueden manifestar como magulladuras, roces o abrasión, deformación, cortes, punciones, fisuras o fracturas. Dentro de los daños mecánicos, el daño por golpe o magulladura es uno de los más importantes. Resulta de impactos o presiones que no llegan a romper la epidermis pero que determinan que el tejido se vuelva corchoso y que se observe un cambio de color progresivo a nivel externo. El daño por golpe es muy importante en la manzana por ejemplo, siendo responsable de un alto número de rechazos en cuanto a manzanas de exportación.
Inacap sedeChillán | SISFRU
13
Figura 1-1 Daño por golpe manzana.
Figura 1-2 Daños por abrasión en peras enviadas a granel a Europa.
Los daños mecánicos determinan un aumento de la actividad metabólica y en consecuencia una reducción de su vida útil. Además, los daños mecánicos favorecen el ataque por agentes bióticos incrementando así las pérdidas. En el caso de manzana por ejemplo, se cita que los daños por golpes determinan un aumento de la respiración del fruto de entre 3 y 20 veces en relación a un fruto no Inacap sedeChillán | SISFRU
14
dañado al cabo de 24h de producido el golpe. Se ha estimado además, que un golpe superficial en manzana de 10cm3 reduce su conservación en un 50%. Los daños por abrasión resultan importantes en productos como pera dadas las características de la piel (figura 1-2) y resultan de la fricción entre dos frutos o entre los frutos y las paredes del envases. Se han observado sobretodo en las peras que se envían a Europa a granel.
Métodos actuales de reducción de pérdida de calidad en frutos manipulados en líneas industriales de confección.
La manipulación y el transporte de los productos hortícolas puede resultar diferentes niveles de daño debido a golpes e impactos. La esfera electrónica es una herramienta de mucha ayuda cuando se pretende determinar en qué etapa de los procesos de manipulación se puede producir un daño significativo. En el presente trabajo se analizan los datos obtenidos al utilizar una esfera electrónica en líneas de manipulación y envasado de pimiento y melocotón. El estudio se realizó en almacenes de la región de Murcia. La esfera se pasó por las líneas y se registraron los valores de aceleración de la gravedad y los cambios de velocidad en etapas consideradas crítica. Para el melocotón por ejemplo, las diferencias entre el volcado del producto a la línea realizado en forma manual, comparado con el volcado mecánico de palox, representó un mayor número de situaciones de daño en los frutos. En función de los resultados obtenidos se concluye que el uso de la esfera electrónica representa un elemento de mucha utilidad para detectar las zonas críticas y proponer mejoras. En la mayoría de los casos éstas mejoras no implican una inversión de importancia para la empresa. Estos cambios repercutirían positivamente en la reducción de los porcentajes de rechazo.
Inacap sedeChillán | SISFRU
15
Daños mecánicos: Importancia Los daños mecánicos que sufren los productos hortofrutícolas durante su manipulación constituyen una de las principales causas de las pérdidas postcosecha a nivel mundial. Los productos se pueden dañar de diferentes maneras: cortes, pinchazos, golpes, abrasión, rozaduras, desgarros, etc. Sin embargo, las magulladuras son la forma predominante de daño. En general se las puede definir como la presencia de una zona oscura, observable a simple vista bajo la epidermis de los frutos. Este defecto influye en la decisión de compra por parte del consumidor y es causa de devoluciones del producto. Además, favorece el ataque por parte de patógenos y el desarrollo de pudriciones.
Principales causas de daño. Existen tres mecanismos importantes mediante los cuales un producto se puede dañar: Golpes: ocurren generalmente durante la cosecha y la clasificación, cuando los frutos tienen mayor libertad de movimiento y pueden impactar entre sí y contra la superficie sobre la que se encuentran.
Compresión: cuando el producto se encuentra “comprimido” en grandes contenedores, bins, cajas, bandejas, etc. En éste caso el daño ocurre por una manipulación inadecuada, disponiendo cantidades superiores a las que el envase o el producto puede soportar, o bien porque el envase en su conjunta es expuesto a unas fuerzas de carga excesivas.
Vibración: es un tipo de daño que resulta por la acción se fuerzas vibratorias en forma continuada por largos periodos de tiempo, generalmente durante el transporte. Daños mecánicos: formas de detección y cuantificación. Existen dos sistemas que generalmente han sido utilizados por los investigadores para analizar los daños en los productos hortofrutícolas (Bollen, 2006):
Inacap sedeChillán | SISFRU
16
a) Muestreo: consiste en recoger una muestra directamente de la línea de manipulación. Este método permite recabar la información de manera relativamente fácil y se utiliza muchas veces con la idea de obtener una solución inmediata. Sin embargo, la muestra que se obtiene es específica, en gran medida, de la situación en la que se hace el muestreo, aparte de que es un sistema que requiere mucho tiempo. Por otro lado, si bien se puede identificar la fuente del daño, no sirve para cuantificar con precisión la solución requerida para resolver el problema. b) Uso de instrumentos: consiste en utilizar equipamiento que permita describir y al mismo tiempo, medir las fuerzas que actúan en un sistema de manipulación post-cosecha para luego correlacionarlas con el nivel de daño observado o esperado. Dentro de éste tipo de análisis se destacan dos posibilidades: 1- Instrumentos para medir golpes y vibraciones que actúan sobre los envases o bien sobre los vehículos que transportar el producto. 2- Instrumentos que miden las fuerzas que actúan individualmente sobre el producto y que se desempeñan como si fueran frutos (pseudo-frutos).
Inacap sedeChillán | SISFRU
17
Marco teórico.
El marco teórico es una base fundamental para poder aclarar los puntos de las tecnologías utilizadas a partir de los cuales se realizará el análisis de los datos que arroje la investigación en propuesta en desarrollo del proyecto propuesto. “También se puede definir como marco teórico (o conceptual) al grupo central de conceptos y teorías que se utiliza para formular y desarrollar un argumento (o tesis). Esto se refiere a las ideas básicas que forman la base para los argumentos, mientras que la revisión de literatura se refiere a los artículos, estudios y libros específicos que uno usa dentro de la estructura predefinida. Tanto el argumento global (el marco teórico) como la literatura que lo apoya (la revisión de literatura) son escenarios para desarrollar una tesis cohesiva y convincente”. (http://www.unm.edu/~devalenz/handouts/MARCO.html) MySQL: Es un sistema de gestión de base de datos relacional, veloz, multi-hilo, multiusuario y robusto. Este servidor está proyectado tanto para sistemas críticos en producción soportando intensas cargas de trabajo como para empotrarse en sistemas de desarrollo masivo de software. Todo controlado bajo licencia GNU, que comúnmente es usada en aplicaciones web. C# es un lenguaje orientado a objetos elegante y con seguridad de tipos que permite a los desarrolladores compilar diversas aplicaciones sólidas y seguras que se ejecutan en .NET Framework. Puede utilizar C# para crear aplicaciones cliente de Windows, servicios Web XML, componentes distribuidos, aplicaciones clienteservidor, aplicaciones de base de datos, y mucho, mucho más. Visual C# proporciona un editor de código avanzado, cómodos diseñadores de interfaz de usuario, depurador integrado y numerosas herramientas más para facilitar el desarrollo de aplicaciones basadas el lenguaje C# y .NET Framework. Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) para sistemas operativos Windows. Soporta múltiples lenguajes Inacap sedeChillán | SISFRU
18
De
programación
tales
como C++, C#, Visual
Basic
.NET,Pato F#,Java, Python, Ruby, PHP; al igual que entornos de desarrollo web como ASP.NET MVC, Django, et., a lo cual sumarle las nuevas capacidades online bajo Windows Azure en forma del editor Monaco. Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, así como servicios web en cualquier entorno que soporte la plataforma .NET (a partir de la versión .NET 2002). Así se pueden crear aplicaciones que se comuniquen entre estaciones de trabajo, páginas web, dispositivos móviles, dispositivos embebidos, consolas, etc.
Evolución de la tecnología: La evolución de las tecnologías de información ha llevado a implementar nuevas formas de administrar la información. Otro punto a definir como un alcance tecnológico evolutivo, que se ve reflejado hoy en día por obtener una información más práctica, rápida y sencilla. Medio de la manipulación de la información. Visión Artificial. La visión artificial, también conocida como Visión por Computador (del inglés Computer Vision) o Visión técnica, es un subcampo de la inteligencia artificial. El propósito de la visión artificial es programar un computador para que “entienda” una escena o las características de una imagen. Los objetivos típicos de la visión artificial incluyen: -
La detección, segmentación, localización y reconocimiento de ciertos objetos en imágenes (por ejemplo, caras humanas). La evaluación de los resultados (ej.: segmentación, registro). Registro de diferentes imágenes de una misma escena u objeto, hacer concordar un mismo objeto en diversas imágenes. Seguimiento de un objeto en una secuencia de imágenes. Mapeo de una escena para generar un modelo tridimensional de la escena; tal modelo podría ser usado por un robot para navegar por la escena. Inacap sedeChillán | SISFRU
19
-
Estimación de las posturas tridimensionales de humanos. Búsqueda de imágenes digitales por su contenido.
Estos objetivos se consiguen por medio de reconocimiento de patrones, aprendizaje estadístico, geometría de proyección, procesado de imágenes, teoría de los gráficos y otros campos.
Metodología de trabajo. CICLO DE VIDA INCREMENTAL: Con relación al estudio realizado a la necesidad que este proyecto requiere, se ha decidido utilizar el ciclo de vida incremental para la posterior generación en el desarrollo del proyecto propuesto. Este ciclo de vida se basa en una estrategia programada la cual es desarrollada en etapas, en la que las diferentes partes del sistema, se desarrollan en diferentes momentos o en diferentes velocidades, a su vez estas se integran a medida que se van completando. Esto permite al desarrollador aprovechar lo que va a ir aprendiendo durante el desarrollo de versiones anteriores, incrementales y entregables en el sistema. Donde la mejora interactiva de la secuencia evolutiva de versiones nuevas se van generando, hasta que se va implementando el sistema entero. Lo que en cada interacción se hacen modificaciones del diseño y se añaden nuevas capacidades. Al trabajar en el modo de funcionalidades, se puede ir entregando pequeñas partes del sistema, lo cual resulta más eficiente que desarrollar por completo el sistema a definir, de esta manera se puede mantener el proyecto de una forma más ordenada, lo cual hace al cliente, entender con más claridad el crecimiento de las etapas evolutivas de su programa. Se puede formular el sistema de manera separada, dado que en alguna circunstancia el cliente no quedase satisfecho con el desarrollo entregado. Este ciclo de vida cumple la ventaja de poder ser revisado y modificado. Esto permite cambiar el modulo que generó el problema y evita modificar todo el proyecto en sí. Dadas las circunstancias que presenta el proyecto, tomando en cuenta las necesidades que el sistema requiere, se ha optado por el uso de este ciclo de vida, el cual daría una respuesta más rápida y clara hacia el sistema que se va a implementar, lo que evitará generar disconformidades en el cliente.
Inacap sedeChillán | SISFRU
20
Personal involucrado. Nombre Rol Categoría profesional Responsabilidades Información de contacto
Alex Guiñez Fuentes. Programador Analista de sistemas Desarrollador del sistema Fono: 72864544
Definiciones, acrónimos y abreviaturas SRS:
En
inglés Specification
Requirements
Software, en español
Especificación de Requerimientos de Software. Sistema informático: Conformado por la suma de hardware, software y los
usuarios. REM: Resumen estadístico mensual
Referencias
Referencia Titulo Libro Ingeniería Del Software
Ruta
Fecha Autor Roger Pressman
Inacap sedeChillán | SISFRU
21
Resumen Este documento consta de tres secciones. En la primera sección se realiza una introducción al mismo y se proporciona una visión general de la especificación de recursos del sistema.
En la segunda sección del documento se realiza una descripción general del sistema, con el fin de conocer las principales funciones que éste debe realizar, los datos asociados y los factores, restricciones, supuestos y dependencias que afectan al desarrollo, sin entrar en excesivos detalles.
Por último, la tercera sección del documento es aquella en la que se definen detalladamente los requerimientos que debe satisfacer el sistema. Características de los usuarios Tipo de usuario Formación Habilidades Actividades
Administrador Liceo Técnico Profesional Computación básica. Administrar la configuración del programa asignando proveedores al sistema antes de comenzar a operarlo.
Inacap sedeChillán | SISFRU
22
5. OBJETIVO GENERAL.
Objetivo principal: Éste se puede definir de la siguiente forma. -
El objetivo es desarrollar un software con utilización de tecnologías de visión artificial para crear un sistema rentable y de bajo costo que sea capaz de analisar y distinguir las frutas que pasan frente a una cámara, y al mismo tiempo obtener información relevante para la toma de decisiones, tales como la cantidad de fruta procesada, la calidad de la fruta procesada, relacionar datos con proveedores, etc.
5.1. OBJETIVOS ESPECÍFICOS. Objetivos específicos: Al deglosar el amplio espectro del objetivo principal podemos llegar a los objetivos específicos o separar la llegada a nuestro objetivo principal en pequeños pasos, éstos son los siguientes. -
Cuantificar producción. Administrar proveedores. Clasificar fruta de exportación de la de calidad inferior. Entregar informes que otorguen información cualitativa y cuantitativa de la fruta, tales como informes de calidad de la fruta expresado con puntos porcentuales según proveedor, o simplemente por mes y año. Ser un apoyo y funcionar como herramienta de pre-selección de la fruta. Diseñar y construir un sistema de inspección, con el n de poder analizar la fruta bajo el espectro visible, como UV. Desarrollar la arquitectura hardware adecuada para optimizar la velocidad de los algoritmos de detección e identificación de los defectos y de decisión sobre la calidad de cada fruta
Inacap sedeChillán | SISFRU
23
6. ALCANCES Y LÍMITES.
El concepto de visión artificial es algo totalmente fuera de lo dado a conocer en la carrera, estando dentro del área de la investigación y dado lo alto de los costes que sería la aplicación del sistema solo se llevará hasta el punto de simulación, con un software que distingue frutas de exportación y que simula estadísticas de calidad y de proveedores. Cuando empezamos a deglosar el programa y comienzas a ver el esqueleto de ésta idea, se puede extraer información importante, como el hecho de que éste sistema es muy escalable, a todas las frutícolas de la región, de Chile y del mundo, y con algunas modificaciones se puede escalar a casi cualquier rubro, desde pescaderías hasta aserraderos e incluso en la lucrativa empresa del cobre si se cuenta con el hardware adecuado, a un precio muy conveniente si se compara con la competencia. El proyecto de titulo tiene contemplado hacer una investigación de las herramientas ya existentes en visión por computador, como también cuales son las características para clasificación de frutos ya sean color, peso o calibre que se exigen como normas de la industria frutícola. Se tiene contemplado el estudio para usar las especificaciones modernas para programación en entornos heterogéneos de sistemas de procesamiento. El sistema consistirá, además de la investigación inicial, en un prototipo que sea capaz de tomar muestras de imágenes digitales, procesarlas y emitir un juicio, con respecto al estado de la fruta. Para esto se tiene contemplado, por lo menos en la etapa inicial, limitarse al color y calibre de la fruta. El proyecto de titulo no tiene como finalidad la construcción de un sistema electromecánico de banda transportadora, sin embargo, si se hará uso de esta herramienta para mostrar la aplicación del sistema. Por otro lado el sistema, si bien contempla investigar la posibilidad del uso de un espectro electromagnético mayor al visible, no necesariamente se desarrollada fuera de esta banda (Infrarrojo, Ultravioleta). No se tiene contemplado tampoco el uso de video. Solo se usaran imágenes digitales estáticas. Se procesaran imágenes de conjuntos de frutos.
Inacap sedeChillán | SISFRU
24
7. PROCEDIMIENTO.
Hay varios pasos para llevar a cabo éste proyecto, algunos van más allá del simple estudio y programación del sistema, habrá que tener acceso presencial a la frutícola en cuestión para extraer cierta información necesaria para llevar a cabo el proyecto, el procedimiento es el siguiente en cuanto al análisis empresarial: -
-
1. Conseguir una cita de acceso a la empresa para analizar más profundamente el funcionamiento actual de la empresa. 2. Conseguir un permiso para sacar fotos de muestra para crear relaciones en la base de datos, son necesarias alrededor de 500 fotos para hacer un prototipo del sistema. 3. Conseguir acceso a lista de proveedores de la empresa. 4. Darle su espacio a los proveedores en la base de datos para extraer información relevante con respecto a ellos y a su producto (fruta). 5. Crear diagramas de flujo, de procedimiento y de datos para definir concretamente el sistema. 6. Leer documentación y aplicarla para crear una codificación que consiga la solución.
8. DESCRIPCIÓN DE ACTIVIDADES.
-
-
-
1. Conseguir una cita y contemplar el proceso actual de selección realizada en la empresa, y así mismo ver cómo funciona el trato con los proveedores, extraer datos que puedan ayudar para la toma de decisiones de la empresa. 2. Ir a la planta donde se procesa la fruta, y donde es seleccionada de la manera actual, para deglosar procedimientos y asegurar que el software cumplirá con todos los requerimientos más importantes para la empresa. 3. Conseguir lista de proveedores de la empresa, esto es para medir la calidad de la fruta entregada y otros datos importantes. 4- Tener todos los datos de los proveedores, tendrán su lugar en la base de datos ya que es parte esencial para extraer información por medio del software
Inacap sedeChillán | SISFRU
25
-
5. Definir concretamente el funcionamiento de la empresa en el campo de selección, en el cual se enfoca el proyecto. 6. Aprender ésta tecnología y aplicarla.
Estudio de factibilidad. 9.1. Viabilidad Técnica El lenguaje de programación que se utilizará será C#, que se caracteriza por ser sencillo, orientado a objetos, compatible y eficiente para llevar a cabo el proyecto. Cabe destacar la importancia de contar con Motor de Base de Datos para el correcto funcionamiento del sistema. Lo que para este caso será MYSQL, el que cuenta con estabilidad, escalabilidad y seguridad, cualidades muy importantes al momento de escoger un Motor de Base de Datos.
Se necesitan Herramientas Case que permitan desarrollar los distintos modelos, las cuales serán Dia y ArgoUML. Para las etapas de análisis y diseño. Cuyas herramientas ya mencionadas se encuentran bajo la licencia de software libre (GNU GPL (General PlubicLicense)) lo cual disminuirá los costos del desarrollo de la aplicación. Para la codificación del sistema se utilizará Visual Studio 2012 en conjunto con las librerías de EMGUCV para llevar a cabo el análisis de las imágenes Para el almacenamiento y diseño de la base de datos se constará conMySQL además de MySQLWorkbench, la cual permitirá el diseño de bases de datos, creación y mantenimiento de la misma por parte del equipo desarrollador. Hardware recomendado:
Intel Pentium Dual 2.2 GHz o superior, 2048 MB o más de RAM, disco duro de 500gb.
Software
Aplicación AppServ 2.6.0 que contiene: Apache 2.2.8, PHP 6.0.0dev, MySql 6.0.4a y phpMyAdmin 2.10.3.
Visual Studio 2012 con lenguaje C#.
Emgucv. Inacap sedeChillán | SISFRU
26
Viabilidad Operacional. El sistema está pensado para ser casi automático, ciertamente no se necesita gran capacitación en computación para usar el programa, solo se necesita alguien que fiscalice el funcionamiento del programa y que detenga obvios errores por parte del software. El usuario debe poseer ciertos conocimientos básicos de Windows y ofimática, y más que todo, estar familiarizado con el entorno computacional, para contribuir en esto, los formularios de ingreso de datos, y realizar la visualización de informes y reportes que entrega el sistema. Viabilidad Financiera. Se estima que el valor del software es de $500.000 considerando más que todo el sueldo del jefe de proyecto, claramente es un proyecto altamente sustentable y viable económicamente hablando debido al bajo precio de su producción vs el precio al que éste programa puede ser vendido. Al ser un sistema orientado a un nicho tan grande e importante en nuestro país, el área de la exportación de frutas, y al no tener competidores a nuestro precio en éste campo es muy posible llamar la atención de una gran cantidad de empresas, sin mencionar que éste nicho todavía está en auge y pleno crecimiento, es un proyecto que es escalable a todas las frutícolas del país, y con unas pocas modificaciones y adaptaciones, se puede ampliar a todo el mundo, además de también poder adaptarse a nichos completamente diferentes. O viéndolo de una forma más particular, es un proyecto con un alcance adaptable a cualquier empresa que se dedique a éste rubro.
Item
Años
Cantidad estimada
Visual Studio
1
1
emgucv Matlab Total:
1 1
1 1
Precio ítem $0
$75.000
del Total Anual $0 0 $75.000 $ 2.160.000
Inacap sedeChillán | SISFRU
27
Viabilidad económica.
Con la puesta en marcha de todas las tecnologías que se presentaron en los puntos anteriores, se espera poder generar un aumento de la calidad de la producción: La mínima rentabilidad que se espera del proyecto en su primer año es un 8% El desembolso inicial de capital es de $450.000. Frusur produce utilidades anuales por 50 millones de dólares. (fuente diario “el financiero”). Los Flujos de caja o ganancia mínima proyectada mensualmente son $1.000.000 (vender una licencia cada dos meses). El proyecto se evaluó en un periodo que comprende 12 meses. El VAN del proyecto es 1.506.481,79. Interpretación Valor VAN >0
VAN <0
VAN =0
Significado La inversión produciría ganancias por encima de la rentabilidad exigida (r) La inversión produciría pérdidas por debajo de la rentabilidad exigida (r) La inversión no produciría ni ganancias ni pérdidas
Decisión a tomar El proyecto puede aceptarse
El proyecto debería rechazarse
Dado que el proyecto no agrega valor monetario por encima de la rentabilidad exigida (r), la decisión debería basarse en otros criterios, como la obtención de un mejor posicionamiento en el mercado u otros factores.
Inacap sedeChillán | SISFRU
28
El TIR es del 37.200%, un indicador mejor a nuestra rentabilidad esperada, lo que nos afirma que la rentabilidad de proyecto es significativa, ésta cifra se ha conseguido considerando la gran empresa frusur. Viabilidad Legal. Al desarrollar este proyecto, sistema computarizado de selección en frutícolas por medio de visión artificial, no se pretende pasar a llevar leyes de ninguna índole, siempre teniendo en cuenta lo siguiente:
Ley N° 17.336 sobre propiedad intelectual que regula el derecho de autor en Chile. Esta ley pretende proteger los derechos que, por el solo hecho de la creación de una obra, adquieren los autores de obras en los dominios literarios, artísticos y científicos, cualquiera que sea su forma de expresión, y los derechos conexos que ella determina. De acuerdo con la misma, el derecho de autor comprende los derechos patrimoniales y morales, que protegen el aprovechamiento, la paternidad y la integridad de una obra. Esta ley menciona en su artículo 3° una enumeración de las obras especialmente protegidas, entre las cuales menciona a los programas informáticos.
El diseño de la página web se hará utilizando Dreamweaver CS5.5, cuyo software y licencia permite al programador realizar todas las copias de seguridad que estime necesarias, al igual que la posibilidad de instalarlo en todos los equipos de su propiedad y comercializar los diseños creados utilizando éste software.
PRESUPUESTO. Nombre Jefe de proyecto
Cámara digital
PC
Descripción Encargado de analizar la empresa y de diseñar y programar el sistema Captar imágenes de muestra las cuales serán analizadas por el software Encargado de procesar las imágenes captadas por la cámara, el lugar sobre el cual correrá el software (sistema) programado.
Costo 800.000/mes
150.000
300.000
Inacap sedeChillán | SISFRU
29
Considerando el costo actual de software rivales, éste software presenta grandes ganancias y es una competencia accesible al sistema actual de 5 millones de dólares, éste sistema, aún vendiéndose a 150.000 es una buena ganancia y se vendería significativamente más debido a lo accesible del precio. Requerimientos del sistema. Funcionales: los requerimientos funcionales definen las funciones que el sistema será capaz de realizar. Describen las transformaciones que el sistema realiza sobre las entradas para producir salidas.
Referencia F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17
Función Registrar proveedor Ingresar proveedor Modificar proveedor Búsqueda por proveedor Búsqueda por fecha Procesar datos de fruta Clasificar fruta Entregar informes de calidad por fecha Entregar informes de calidad por proveedor Validar ingresos de usuarios Enlazar a base de datos Generar Bases de datos Implementar Base de datos Cuantificar frutas por unidades procesadas. Cuantificar frutas por caja. Cuantificar fruta en rangos de fecha Cuantificar fruta por proveedor
Categoría Evidente Evidente Evidente Evidente Evidente Oculto Evidente Evidente Evidente Oculto Oculto Oculto Oculto Oculto Evidente Evidente Evidente
Inacap sedeChillán | SISFRU
30
No funcionales: Son aquellos requerimientos que tienen que ver con las características que de una u otra forma puedan limitar el sistema. Describen una restricción sobre el sistema que limita nuestra elección en la construcción del proyecto. Robustez
El sistema debe tener presente pasos para evitar fallas a futuro de esta misma. Se realizaran cierta cantidad de pruebas que a ayudaran al mejoramiento y corrección de errores presentes. Lenguaje El lenguaje a utilizar es lenguaje C#, y mysql debido a que es de requerimientos mínimos y se administrarán muy pocas tablas en la base de datos. Herramientas Las herramientas de desarrollo que se ocuparan para el de desarrollo desarrollo del sitio web serán: Xampp, Visual Studio, EMGUcv. Plataforma de Para el desarrollo se utilizará S.O Windows 8.1 profesional sistema ya que está instalado sobre los equipos de trabajo puesto operativo que tiene mayor compatibilidad con las herramientas de desarrollo. Hardware Los equipos que se ocuparan para poder ocupar el sistema no tienen o exigen gran hardware, es preferible usar hardware barato pero de última generación para tener una opción relativamente barata para usar el sistema. Desempeño Se ha planteado que para el desempeño que el sistema debe ser eficiente y eficaz logrando obtener resultados óptimos considerando que la información debe ser actualizada y entregada en su totalidad. Disponibilidad La disponibilidad es en cualquier momento dentro de las actividades de la empresa ya que se usará en todo momento que la empresa se encuentre trabajando. Usabilidad La Aplicación debe ser de uso sencillo para todos los usuarios en gran parte lo que se busca es que sea sensitivo al máximo. Flexibilidad El sistema debe ser de fácil manejo por parte de todos los usuarios que se relacionan con el sistema, aunque éste es prácticamente automático y no hay jerarquías ni niveles de acceso. Mantenibilidad Existirá un tipo de bitácora donde se hará un registro de proceso ocurrido durante el desarrollo del sistema de tal manera de tener un mejor manejo de la información. Validación de Al momento de programar la aplicación se ha dispuesto información que segmentos de texto estén validados para el mejor uso de los usuarios.
Inacap sedeChillán | SISFRU
31
Control de versiones. El inicio de la versión del programa será el 0.1 , los tipos de avances considerados en la tabla de control de versiones serán las siguientes: * La integración de nuevas funcionalidades al programa. * El mejoramiento de alguna funcionalidad. * La depuración de un error que haya sido encontrado. Cada tipo de avance será documentado con una adeción numérica al número original de la versión (0.1), y un sufijo que indique, qué tipo de avance es en el que se está trabajando. Tipo de avance. Adeción numérica. Sufijo. Integración de nuevas funcionalidades. 0.5 N Mejoramiento de alguna funcionalidad. 0.2 M Depuración de un error. 0.1 E Considerando lo antes expuesto se presentará el siguiente ejemplo: Suponiendo que estoy agregando la primera funcionalidad al programa (adeción numérica de 0.5 y letra N), entonces la nueva versión del programa sería “0.6.N”, ya que (0.1+0.5+N= 0.6.N). Cuando la cifra de en medio supere el número 9, volverá a 0, sumando 1 unidad a la cifra de la derecha, por ejemplo, si agregara otra nueva funcionalidad quedaría como “1.1.N”. También se tomará en cuenta el hecho de si el cambio hecho o que está por hacerse está completo o no, para definir esto se usarán dos letras: * C : significa que la última funcionalidad, mejoramiento o depuración del error está completa.
Inacap sedeChillán | SISFRU
32
* I: significa que la última funcionalidad, mejoramiento o depuración del error no se concretó en la última ronda de trabajo y que debe seguir trabajándose en ello. Tomando en cuenta esto y lo anteriormente expuesto presentaré el siguiente ejemplo: Suponiendo que estoy agregando la primera funcionalidad al programa pero he dejado ésta sin terminar tras acabar el turno de trabajo, entonces la nueva versión del programa sería “0.6.N.I” , con el sufijo “I”, indico que la funcionalidad no fue terminada y que se debe proseguir en ella.
Inacap sedeChillán | SISFRU
33
Diseño lógico.
Modelo de entidad y relación.
Inacap sedeChillán | SISFRU
34
Diagrama de casos de uso. Diagrama sistema.
Inacap sedeChillán | SISFRU
35
Diagrama de casos de uso de usuario.
Inacap sedeChillán | SISFRU
36
Diagrama de secuencia.
Inacap sedeChillán | SISFRU
37
Diagrama registrar trabajador.
Inacap sedeChillán | SISFRU
38
Diagrama de actividades.
Diagrama ingreso trabajador.
Inacap sedeChillán | SISFRU
39
Diseño físico. Diseño base de datos.
Inacap sedeChillán | SISFRU
40
Matriz de riesgos. Una matriz de riesgo es una herramienta de control y de gestión que es utilizada para identificar procesos, tipo y nivel de riesgos inherentes de estos. Es por esto que una matriz de riesgo permite evaluar la efectividad de una adecuada gestión en temas de prevención de riesgos informáticos. Otorgando valores que permiten actuar frente a estos riesgos, graficando esta matriz de manera clara expresando la severidad y probabilidad que sean identificados en el análisis realizado.
Identificación y clasificación de riesgos Riesgos originados por vandalismo común y motivación política: Allanamiento (ilegal/legal). Sabotaje (ataque físico y electrónico). Daño por vandalismo. Fraude/Estafa. Robo (Hurto físico). Robo (Hurto de información electrónica). Infiltración. Virus/Ejecución no autorizada de programas. Violación a derechos de autor. Riegos de origen físico: Incendio. Inundación/Deslave. Sismo. Polvo. Falta de ventilación. Electromagnetismo. Inacap sedeChillán | SISFRU
41
Sobrecarga eléctrica. Falla de corriente (Corte eléctrico). Falla de sistema/Daño Disco Duro. Riesgos derivados de la impericia, negligencia de usuarios/as y decisiones institucionales: Falta de inducción, capacitación y sensibilización sobre riesgos. Mal manejo de sistemas y herramientas. Utilización de programas no autorizados / software 'pirateado'. Perdida de datos. Infección de sistemas a través de unidades portables sin escaneo. Manejo inadecuado de datos críticos (codificar, borrar, etc.) Manejo inadecuado de contraseñas (inseguras, no cambiar, compartidas, BD centralizada). Compartir contraseñas o permisos a terceros no autorizados. Exposición o extravío de equipo, unidades de almacenamiento, etc. Falta de definición de perfil, privilegios y restricciones. Falta de mantenimiento físico (proceso, repuestos e insumos). Red inalámbrica expuesta al acceso no autorizado. Falta de normas y reglas claras. Ausencia de documentación.
Inacap sedeChillán | SISFRU
42
Riesgo Resistencia de los operarios de la empresa a cambiar su sistema. Falta de conocimiento sobre el uso y detalles de las herramientas. Daño a los bienes que permiten el correcto funcionamiento del sistema. Hurto del equipo que permite el funcionamiento del sistema. Atraso en la codificación del proyecto debido a la falta de personal. Compartir contraseñas o permisos a terceros no autorizados. Virus/Ejecución no autorizada de programas.
Categoría Proyecto
Equipo desarrollo
Probabilidad 50%
de 20%
Impacto Crítico
Bajo
Entorno
50%
alto
Entorno
20%
crítico
Equipo desarrollo
de 60%
alto
Entorno
60%
alto
Entorno
70%
medio
Inacap sedeChillán | SISFRU
43
Medidas mitigadoras
Riesgo Resistencia de los operarios de la biblioteca a cambiar su sistema.
Evitación Ofrecer capacitaciones a los bibliotecarios para que se familiaricen con el sistema. Falta de Hacer una conocimiento planificación de sobre el uso y codificación algo detalles de las apretada para herramientas dejar una mayor holgura (tiempo).
Monitorización Hacer encuestas periódicamente después de ya haber implementado el sistema
Daño a los bienes que permiten el correcto funcionamiento del sistema
El encargado del área informática revise constantemente si los equipos están protegidos de los riesgos antes mensionados.
Hurto del equipo que permite el funcionamiento del sistema.
Aislar los equipos computacionales del excesivo calor y humedad, y de eventos catastróficos como terremotos.
Gestión Riesgo Reiterar el servicio de capacitación si es necesario, hacer charlas para resaltar las ventajas del nuevo sistema. Confirmar Si hay atraso en una constantemente si se etapa, compensarla en están cumpliendo los la siguiente, trabajar plazos impuestos en la fuera de la hora carta Gantt. normal de trabajo, buscar ayuda externa.
Comprobar si la unidad de disco duro funciona correctamente conectándolo en un computador que esté funcionando, y recuperar los datos importantes. Denunciar hurto y reemplazar equipos perdidos reimplementando el sistema con los respaldos que han sido realizados.
Asegurar los El encargado del área equipos con informática será candados al suelo responsable de revisar o mueble. periódicamente si las cadenas siguen puestas, y de hacer respaldos de la información todos los meses. Atraso en la hacer una carta Verificar que los Buscar ayuda externa. codificación Gantt y cumplir plazos se van del proyecto sus plazos cumpliendo. debido a la falta de Inacap sedeChillán | SISFRU
44
personal. Compartir contraseñas o permisos a terceros no autorizados. Virus/Ejecución no autorizada de programas.
Inducciones sobre Encargado de seguridad al monitoreará equipo. situación.
área Cambiar contraseña. la
Uso de software Se les pedirá a los Ocupar de seguridad empleados que avisen realizados. actualizado. cuando el programa indique que se debe renovar la licencia.
Inacap sedeChillán | SISFRU
45
respaldos
Planificación de pruebas Pruebas de sistema EL plan de pruebas de Software se elabora con el fin de especificar qué elementos o componentes se van a probar para que el grupo de trabajo pueda realizar el proceso de Validación y Verificación de los requerimientos funcionales y no funcionales de la herramienta ERMT. Además, a través del plan de pruebas se puede continuar con la trazabilidad de los requerimientos, con lo cual el grupo de trabajo, identifica el porcentaje de avance que se ha logrado hasta cierto momento. Al desarrollar el plan de pruebas, se puede obtener información sobre los errores, defectos o fallas que tiene el prototipo, así se realizan las correcciones pertinentes, según el caso y se asegura la calidad del producto que se está entregando al cliente. El plan de pruebas se aplica sobre el producto, es decir, el código fuente de ERMT, los resultados de las pruebas son registrados en un formato que se encuentra en el Error! Reference source not found.. Las pruebas a implementar son básicas, esto incluye las pruebas unitarias y de integración que son vitales para la validación del producto. Estrategia de Pruebas A través de los diferentes documentos que se han realizado, se pretende retomar información directamente relacionada con las pruebas, para asegurar la calidad de estas y del producto. Además le permite al responsable de las pruebas saber exactamente los criterios que se deben tener en cuenta para probar cada elemento del sistema. A continuación se explica brevemente el aporte de cada documento con respecto al plan de pruebas.
Inacap sedeChillán | SISFRU
46
Identificador del plan: PlanPruebas-Formulario-Proveedor. Versión 0.1 01/06/14. Alcance: Se aplicara una prueba de caja negra, para testear el ingreso, modificación y eliminación de usuarios, así como la búsqueda de los mismos. Ítems a probar: Se probara la correcta validación y verificación, como también las funcionalidades del formulario de administrar proveedor. Estrategia: Se aplicaran pruebas de caja negra, tanto con datos reales como falsos. Categorización de la configuración: Suspendido: Se suspenderá el plan de pruebas cuando se encuentre una falla grave en el sistema, por ejemplo:” un error critico ha sido encontrado y no permite que se continúe con la operación de la aplicación”. Repetido: Se repetirá el plan una vez que se solucionen los inconvenientes por el cual fue suspendido el plan o las respuestas a las pruebas no sean satisfactorias, también a aquellos módulos considerados como críticos, en los que se hayan detectado errores durante la ejecución de las pruebas. Culminado: Se culminara el plan de pruebas una vez que se hayan completados las pruebas y los resultados sean los propuestos en el plan de pruebas establecidos. Tangibles: Al final de cada etapa de pruebas se entregara una bitácora con la descripción de la prueba y sus resultados.
Inacap sedeChillán | SISFRU
47
Procedimientos especiales: Es necesario para ejecutar esta prueba, que los módulos de control de sesiones se encuentren construidos y habilitados en su totalidad. Recursos: Se necesitara de una persona del equipo que ejecute el plan de pruebas, además de un computador con el sistema operativo Windows 7 o Windows 8, corriendo un servidor mysql.
Calendario: Se aplicara el presente plan de pruebas el día 04/06/14. Manejo de riesgos: Los riesgos que presenta este plan de pruebas son encontrar algún error grave en módulo de control de administración de proveedores, o que al realizar cambios para intentar resolver algún error que se presentara en esta etapa se dañara o interviniera otra parte del sistema, en cualquier caso se trabajara con sumo cuidado cualquier cambio en el código del sistema y además de esa medida se guardara una copia del sistema o modulo a intervenir antes de que se empiece a solucionar el problema en dicha parte del software.
Inacap sedeChillán | SISFRU
48
Las pruebas de sistema son pruebas realizadas a la herramienta como un conjunto, que casos de uso cumple a cabalidad, con rutas de éxito y fallo, que han sido definidas en el documento de Casos de Uso. NOMBRE Pruebas sistemas IDENTIFICADOR ST01 ACTIVIDADES Se realizaran pruebas funcionales y No funcionales TIEMPO 15 minutos por prueba ESTIMADO MÉTODOS O Visual Studio 2012. HERRAMIENTAS ENTREGABLES Informe generado por el responsable de esta prueba el cual informara si se tiene un correcto funcionamiento o no.
Inacap sedeChillán | SISFRU
49
PROCESO DE PRUEBAS En esta sección se presentan los casos de pruebas. Cada cuadro está asociado a un caso de Uso, desde ahí se desglosa en los diferentes módulos involucrados para el funcionamiento y se evalúa el resultado obtenido. En las siguientes tablas, se muestran los casos de pruebas a realizar: NOMBRE
Actualizar Registros PRUEBAS P1 formularios PROPÓSITO Verificar si al hacer un cambio en los requerimientos, se pide el registro de cambios y actualiza el historial de cambios en la base de datos. PRERREQUISITOS Haber solicitado manejar historial de cambios Tener requerimientos en la base de datos Realizar cambios significativos o Atributos del proveedor o Relaciones del proveedor o Eliminación del proveedor UBICACIÓN Base de datos MySQL , reportes y proveedores ENTRADA Creación o Modificación de algún requerimiento Datos solicitados del historial o Responsable o Justificación ORÁCULO El historial de cambios ha sido actualizado PASOS 1. Abrir formularios de administrar proveedores y reportes. 2. Realizar uno o más cambios en los requerimientos. 3. Clic en “modificar”. 4. Ingresar datos solicitados del historial (Responsable y Justificación) 5. Clic en “Aceptar”. Módulos Asociados
NOMBRE
PROPÓSITO
reportes y proveedores
Actualizar datos de PRUEBAS P2 proveedores en la Base de datos. Verificar que si es posible crear, eliminar y modificar relaciones entre un par de requerimientos. Inacap sedeChillán | SISFRU
50
PRERREQUISITOS Existen requerimientos en la base de datos. UBICACIÓN Base de datos MySQL, pantalla de administrar proveedores, pantalla de Relaciones (la de creación y modificacióneliminación. ENTRADA Seleccionar un requerimiento Selección de la acción que desea hacer o Crear reportes y proveedores o Modificar reportes y proveedores o Eliminar reportes y proveedores Selección del segundo requerimiento ORÁCULO Cambio en el atributo “Requerimientos asociados” del requerimiento(s) involucrados en la relación
PASOS
Módulos Asociados
NOMBRE
(PARA CREAR) La base de datos se encuentra actualizada con la nueva relación, entre un par de requerimientos (PARA MODIFICAR)La base de datos se encuentra actualizada con la eliminación de una relación, entre un par de requerimientos (PARA ELIMINAR)La base de datos se encuentra actualizada con el cambios de relación, entre un par de requerimientos PARA CREAR 1. Visitar la pantalla de relaciones. 2. Seleccionar un requerimiento. 3. Seleccionar “guardar”. 4. Seleccionar el segundo requerimiento. 5. Clic en guardar. PARA MODIFICAR 1. Visitar la pantalla de relaciones. 2. Seleccionar un requerimiento. 3. Seleccionar el segundo requerimiento. 4. Clic en “modificar”. PARA ELIMINAR 1. Visitar la pantalla de relaciones. 2. Seleccionar un requerimiento. 3. Seleccionar el segundo requerimiento. 4. Clic en “eliminar”.
reportes y proveedores.
Actualizar proveedor
PRUEBAS P3 Inacap sedeChillán | SISFRU
51
PROPÓSITO
Verificar el cambio en los atributos del requerimiento, cuando el usuario lo realice PRERREQUISITOS El proyecto debe tener atributos asociados para la plantilla de especificación El requerimiento debe estar clasificado en un tipo de requerimiento El requerimiento debe estar creado en la base de datos UBICACIÓN Base de datos MySql y Administrar Proveedores. ENTRADA Modificación en uno o más atributos de uno o más requerimientos. ORÁCULO El requerimiento ha sido modificado exitosamente. Ahora se puede observar los nuevos valores modificados PASOS 1. Entrar al formulario administrar proveedores. 2. Modificar información de los atributos del requerimiento. 3. Clic en modificar. Módulos Proveedores. Asociados
NOMBRE PROPÓSITO
Actualizar listas de V&V PRUEBAS P4 Verificar que al registrar un cambio en las los criterios de la lista de verificación y validación, la base de datos puede actualizar sus valores en cada requerimiento o el proyecto, dependiendo del tipo de lista que este manejando. PRERREQUISITOS Debe haber requerimientos en la base de datos. Debe haber seleccionado una lista de verificación y validación UBICACIÓN Base de datos de MySQL y Pantalla de administrar proveedores ENTRADA PARA V&V EN REQUERIMIENTOS 1. Selección o no selección del criterio de la lista de V&V de uno o mas requerimientos PARA V&V EN EL PROYECTO 2. Selección o no selección del criterio de la lista de V&V de proyecto ORÁCULO Los criterios de la lista de validación en formularios. PASOS PARA V&V EN REQUERIMIENTOS 1. Ingresar a formulario de administrar proveedores 2. Seleccione la lista que desea diligenciar. 3. Seleccionar el requerimiento a Verificar. 4. Modificar los “Check” de la lista de V&V en los Inacap sedeChillán | SISFRU
52
Módulos Asociados
criterios definidos para esa lista de V&V. 5. Clic en “Modificar”. PARA V&V EN PROYECTO 1. Visitar la página de VerificarValidar. 2. Seleccione la lista que desea diligenciar. 3. Modificar los “Check” de la lista de V&V en los criterios definidos. para esa lista de V&V. 4. Clic en “Modificar”. Administrar proveedor, reportes, clasificador.
NOMBRE
Consultar Atributos PRUEBAS P5 proveedor PROPÓSITO Verificar que la información que se consulta sea consistente y que cada valor corresponda al requerimiento y atributo correcto PRERREQUISITOS Requerimientos previamente creados UBICACIÓN Base de datos MySQL y Administrar proveedor ENTRADA ORÁCULO El usuario puede consultar la información de los proveedores, donde cada valor corresponde al requerimiento y atributo correcto. Si se toma como base la información almacenada en la Base de datos. PASOS 1. Entrar a administrar proveedores. 2. Verificar la información de los atributos con la información almacenada en la Base de datos. Módulos Asociados
Administrar Proveedor.
NOMBRE PROPÓSITO
Generación de reportes PRUEBAS P6 Verificar si los datos entregados por el sistema son correctos. PRERREQUISITOS Haber solicitado búsqueda de reporte por mes y año. Ejecutar prueba de impresión Ejecutar prueba de exportar a excel. UBICACIÓN Base de datos MySQL y pantalla “Reportes”. ENTRADA ORÁCULO El historial de cambios ha sido consultado PASOS Historial por fecha. 1. Ingresar a formulario reportes. Inacap sedeChillán | SISFRU
53
Módulos Asociados
2. Escoger una fecha. 3. Clic en “buscar”. 4. Verificar que los registros sean consecuentes con los datos anteriormente ingresados. Historial por proveedor. 1. Ingresar a formulario reportes. 2. Escoger un ID de proveedor 3. Clic en “Aceptar”. 4. Verificar que los registros obtenidos coincidan con los registros. Administrar Proveedor.
NOMBRE PROPÓSITO
Consultar listas de V&V PRUEBAS P7 Verificar la posibilidad de consulta de los requerimientos con respecto a las lista de V&V. PRERREQUISITOS Debe haber requerimientos en la base de datos. Debe haber seleccionado una lista de verificación y validación Debe haber seleccionado en el campo Check algunos para verificar que si corresponde al requerimiento correcto. UBICACIÓN Base de datos de MySQL , proveedores y reportes. ENTRADA o ORÁCULO Los criterios de la lista de V&V ha sido actualizada en la base de datos. PASOS 1. Selección del tipo de lista que se quiere consultar a. Si es por requerimiento escoger un requerimiento Visitar el formulario de proveedores y reportes. b. Clic en “Aceptar” 2. Verificar que los datos que haya modificado en la prueba Error! Reference source not found. sean consistentes Módulos Administrar proveedor y reportes. Asociados
NOMBRE PROPÓSITO
Consultar datos en mysql PRUEBAS P13 , reportes y proveedores Verificar que los links puedan ser accedidos desde el Inacap sedeChillán | SISFRU
54
reporte de trazabilidad. PRERREQUISITOS Debe haber escogido el atributo de búsqueda. Debe haber requerimientos en la base de datos. Debe haber ingresado las rutas de los documentos de Word pertinentes, para poder realizar la búsqueda Debe exportar correctamente los archivos de reporte. UBICACIÓN ENTRADA ORÁCULO PASOS
Módulos Asociados
Base de datos MySQL y búsqueda. El Usuario ha podido acceder a los demás documentos del proyecto a través del reporte de trazabilidad. 1. Verificar que las rutas a los documentos estén actualizadas 2. Realizar un reporte de trazabilidad 3. Verificar en el documento de Excel generado, los links. Administrar proveedor, reportes.
NOMBRE PROPÓSITO
Seleccionar proveedor. PRUEBAS P8 Verificar que al seleccionar los atributos para la plantilla de especificación, estos queden registrados y se muestren en el formulario proveedor. PRERREQUISITOS Proyecto previamente creado UBICACIÓN Base de datos MySQL y administrar proveedores ENTRADA Atributos seleccionados. ORÁCULO El usuario ha seleccionado los atributos a utilizar en la especificación. PASOS 1. Visitar la pantalla de administrar proveedores. 2. Seleccionar los atributos que desee usar. a. Si no selecciona nada, el sistema debe crear unos por defecto. 3. Hacer clic en “Aceptar”. 4. Verificar en administrar proveedores que la plantilla coincide con los seleccionados a. Si no seleccionó nada, entonces debe verificar que la plantilla por defecto se encuentra. Módulos Administrar proveedor. Asociados
Inacap sedeChillán | SISFRU
55
NOMBRE
Generar Reportes en PRUEBAS P9 Excel PROPÓSITO Verificar que la generación de reportes se realiza con la información correspondiente al proyecto. PRERREQUISITOS Requerimientos previamente creados Definir ruta para Excel. Definir ruta para dot.exe. UBICACIÓN Base de datos MySQL y el formulario “Reportes” ENTRADA Reporte seleccionado. ORÁCULO El usuario puede acceder al archivo de Excel, en la ubicación escogida, y éste (según el reporte), debe contener la misma información que se muestra en la aplicación. PASOS 1. Visitar la pantalla de “Selección Tipo de Reporte”. GENERAL 2. Seleccionar la ubicación del archivo. 3. Clic en “Guardar”. 4. Esperar que abra el archivo. 5. Verificar información (que coincida con la que se muestra en el sistema. REQUERIMIENTOS SELECCIONADOS 2. Seleccionar los requerimientos que desea en el informe. 3. Seleccionar la ubicación del archivo. 4. Clic en “Guardar”. 5. Esperar que abra el archivo. 6. Verificar información (que coincida con la que se muestra en el sistema. ESTADO GENERAL 2. Seleccionar estado. 3. Se debe mostrar una gráfica. 4. Clic en “Guardar”. 5. Seleccionar la ubicación del archivo. 6. Clic en “Guardar”. 7. Abrir el archivo 8. Verificar información (que coincida con la que se muestra en el sistema. REQUERIMIENTOS RECHAZADOS 2. Seleccionar la ubicación del archivo 3. Esperar que abra el archivo 4. Verificar información (que coincida con la que se muestra en el sistema. VALIDACION Y VERIFICACION Inacap sedeChillán | SISFRU
56
2. 3. 4. 5. 6.
Seleccionar la lista para generar el reporte Clic en “Reporte” Seleccionar la ubicación del archivo Esperar que abra el archivo Verificar información (que coincida con la que se muestra en el sistema.
HISTORIAL X FECHA 2. Seleccionar la fecha (días, mes y año) 3. Seleccionar la ubicación del archivo 4. Esperar que abra el archivo 5. Verificar información (que coincida con la que se muestra en el sistema.
Módulos Asociados
Reporte
NOMBRE PROPÓSITO
ELIMINAR PROVEEDOR PRUEBAS P10 Verificar que la información del proyecto es completamente eliminada de la base de datos (incluyendo el historial de cambios) PRERREQUISITOS Debe existir un proyecto creado. UBICACIÓN Base de datos MySQL y pantalla de Principal ERMT ENTRADA Nombre del proyecto a eliminar. ORÁCULO El proyecto ha sido completamente eliminado del sistema. PASOS 1. Ejecutar SISFRU 2. Clic en “Eliminar”. 3. Seleccionar el proveedor a eliminar 4. Clic en “Aceptar”. 5. Verificar en la base de datos y en la aplicación que no existen requerimientos, atributos o registros del historial asociados al proyecto que acabo de eliminar. Módulos Formulario proveedor Asociados
NOMBRE PROPÓSITO
MODIFICAR PROVEEDOR PRUEBAS P11 Verificar que la información (Nombre y autor) del proyecto haya sido modificada PRERREQUISITOS Debe existir un proyecto creado. Inacap sedeChillán | SISFRU
57
UBICACIÓN ENTRADA ORÁCULO PASOS
Módulos Asociados
Base de datos MySQL y Pantalla Modificar Proyecto Información del proyecto (Nombre y autores) La información del proyecto ha sido modificada 1. Abrir formulario proveedor 2. Seleccionar “buscar” 3. Ingresar nuevos valores (Nombre y/o autores) 4. Hacer clic en “Modificar” 5. Mensaje de confirmación o no de los cambios. Formulario proveedor
PRUEBAS DE CAJA NEGRA.
La caja negra es analizada desde el punto de vista de las entradas que recibe y las salidas o respuestas que produce, sin tener en cuenta su funcionamiento interno dándole importancia a su forma de interactuar con el medio que le rodea, entendiendo que es lo que hace, pero sin dar importancia a cómo se hace, por lo tanto deben estar muy bien definidos los datos de entradas y salidas. Esta prueba se realizara en colaboración con los profesionales de centro de rehabilitación psicopedagógica Alicia Avilés y el departamento de psicopedagogía, una vez que se cuente con una versión estable y operativa de la plataforma desarrollada, para la cual se ingresará información real, en cada uno de los módulos del sistema.
Se procederá a la prueba de caja negra del proceso principal de éste software el cual consiste en la clasificación de las frutas
Propósito de la prueba. Comprobar si el sistema clasifica las frutas correctamente. Ver si el software ingresa datos válidos y compatibles con la base de datos.
Pasos de ejecución de la prueba. Procesar una imagen con dos obvios positivos y dos obvios negativos. Intentar ingresar datos de fruta sin los datos del proveedor.
Resultado esperado. Que clasifique 2 frutas aceptadas y 2 rechazadas. Que se despliegue un diálogo de error por parte del software.
Inacap sedeChillán | SISFRU
58
Nomenclatura de Programación La nomenclatura de programación, o las convenciones en el desarrollo del software son sugerencias las cuales no están centradas en la lógica de un programa, sino que es la cual sirve para mejorar el aspecto y la estructura física de un programa, ya sea para facilitar la lectura, la comprensión de la misma lógica y para un futuro mantenimiento sea posible con una mayor rapidez. Los identificadores tanto de variables como de clases, funciones y procedimientos constituyen una buena parte del código. Su elección es muy importante ya que normalizan el código, y ayudan a entender el significado real de las acciones que realizan. Es muy importante usar una nomenclatura bien definida en nuestro código, ya que aumenta enormemente la legibilidad y la semántica del mismo y hace más sencillo el trabajo en equipo y la supervisión por parte de otras personas. Tener en cuenta que los excesos son negativos y que por tanto especificar reglas para absolutamente todo trae más problemas de los que soluciona.” (Toledano) Por lo tanto un buen estándar de programación es el que generalmente considera 3 factores y de los cuales se usarán en el desarrollo: Factor nemotécnico: Para que el programador pueda recordar el nombre de una variable fácilmente. Factor sugestivo: Para que otros programadores puedan leer y entender rápidamente nuestro código. Consistencia: Tiene que ver con usar las mismas convenciones de nomenclatura en todo el programa y hacer que el texto del código sea “legible”. ¿Cuál será la ventaja de usar este tipo de factores en la programación? Los nombres de variables serán nemotécnicos y sugestivos, de tal forma que se podrá obtener cierta información como su uso y finalidad fácilmente con solo ver el nombre de la misma. La decisión de poner un nombre a una variable o función será mecánica y automática, puesto que seguirá las reglas definidas por el estándar. Permite el uso de herramientas automáticas de verificación de Nomenclaturas. Inacap sedeChillán | SISFRU
59
Asegura la legibilidad del código entre distintos programadores, facilitando la depuración del mismo. Proveerá una guía para el encargado de mantenimiento/actualización del sistema, con código claro y bien documentado.
Objetos, controles, tipos Clases Módulos formularios Combobox Datagrid Listbox Radiobutton checkboxes Textboxes Area Button, Submit Métodos Controles Utilidades Integer Long Bolean Object String Double Parámetros Constantes Variable globales
Sintaxis nombre objeto cls Mod< nombre frm< nombre > cbo< nombre > grd< nombre > lst< nombre > rd< nombre > chk< nombre > txt< nombre > txt< nombre > cmd< nombre > m_< nombre > c_< nombre > u_ int< nombre > lng< nombre > bln< nombre > obj< nombre > str< nombre > dbl< nombre > str ct var glb
Inacap sedeChillán | SISFRU
60
Layout.
Proceso de clasificación de frutas a través de imagen.
Inacap sedeChillán | SISFRU
61
Formulario de administración de proveedores.
Inacap sedeChillán | SISFRU
62
Formulario de generación de reportes.
Inacap sedeChillán | SISFRU
63
Menú de acceso a formularios.
Inacap sedeChillán | SISFRU
64
Arquitectura hardware.
Consiste en una caja que aisla la luz exterior y tiene su propio sistema de iluminación interior, el cual tiene como fin crear un ambiente estable con condiciones de luz uniformes, ya que si las condiciones no fuesen estables los resultados se verían alterados debido a, obviamente, lo irregular de la luz natural, y por el concepto de brillo que causa una fuente no uniforme y unitaria de iluminación (luz solar). Imagen 1: foto de la caja desde arriba, junto al orificio cuyo diámetro solo permite la entrada del lente de la cámara.
Inacap sedeChillán | SISFRU
65
Imagen 2: en ésta imagen mostramos la iluminación led, es importante que la luz sea blanca para que el resultado no se vea alterado.
Inacap sedeChillán | SISFRU
66
Imagen 3: vista general del objeto.
Inacap sedeChillán | SISFRU
67
14. CONCLUSIÓN.
El proyecto posee objetivos principales, los cuales hacen referencia a desarrollar una herramienta que facilite y optimice el proceso de selección de frutas para empresas frutícolas exportadoras a través un sistema computarizado y el conseguir una experiencia valorada en el desarrollo de aplicaciones mediante tecnología de visión artificial. Para la elaboración de este proyecto fue necesario llevar a cabo un proceso amplio de estudio, análisis y diseño sobre la idea que se pretende desarrollar. De esta forma, tras la propuesta de creación de una herramienta de apoyo al uso de tecnologías de sistemas computacionales para la empresa en cuestión, se procedió a realizar una búsqueda de lo ya elaborado al respecto, así como una lista de las necesidades más importantes. Con esto, sólo se intenta mostrar como primera conclusión que cuando un proyecto adquiere una mayor envergadura se hace necesario realizar fases de iteración sobre los elementos que lo componen, tanto en el estudio como en el análisis y el diseño. Cabe destacar que la funcionalidad del informe es además de mantener un registro de todos los avances realizados en cuanto al proyecto de software, la de proporcionar una base firme para futuras modificaciones, avances y módulos, hasta finalizar completamente el proyecto de software. El informe además corresponde a un proyectivo de calidad investigativa que planea dar un paso al futuro y comenzar con el estudio de nuevas tecnologías para dar soluciones de automatización que entregan resultados competitivos en nuestra industria.
Inacap sedeChillán | SISFRU
68