1
Maquina Dispensadora (Octubre 2018) Juan Camilo Pedraza Camelo, William Antonio Buitrago Herrera, Jonathan López Ramírez Universidad Distrital Francisco José de Caldas – Especialización en Ingeniería de Software
[email protected] [email protected] [email protected] Abstract— The objective of this article, is analyze the different kinds of models, that we already saw in the lesson of software engineering 1, this seen through the design point of view of a food dispensing machine, it has analysis according each model in general and a specific analysis of the RUP development model.
Resumen— El objetivo de este artículo es analizar los diferentes tipos de modelos, que ya vimos en la lección de ingeniería de software 1, esto visto desde el punto de vista del diseño de una máquina expendedora de alimentos, tiene un análisis de acuerdo con cada modelo en general y una análisis específico del modelo de desarrollo RUP.
Palabras Clave — RUP, Software, Modelos de Proceso, Maquina Dispensadora.
I. INTRODUCCIÓN Realizar un proyecto para crear una maquina dispensadora de comida, no es una tarea sencilla y llevarlo a cabo con éxito depende de varios aspectos como son, por citar algunos, conocimiento técnico de los sistemas a combinar, modelo de proceso a utilizar, recursos de hardware. Este trabajo presenta el contexto general de un proyecto, el cual consiste en crear una maquina dispensadora de comida a partir de diferentes modelos de proceso de desarrollo, se expondrán las dificultades técnicas, logísticas y de planeación que se evidencien. Se pretende que la contribución del texto sea proveer al lector de herramientas para entender las ventajas y desventajas de cada modelo de proceso y que las tenga en cuenta para entender en qué casos podrá o no utilizarlas. II. MODELOS DE PROCESO DE DESARROLLO
A. Análisis Modelo en Espiral El modelo en espiral clásico, propuesto originalmente por Barry Boehm, es un modelo de proceso de software evolutivo
donde se conjuga la naturaleza de construcción de prototipos con los aspectos controlados y sistemáticos del modelo lineal y secuencial. En el modelo espiral, el software se desarrolla en una serie de versiones incrementales; además en cada ejecución del desarrollo se siguen cuatro pasos principales: 1.
Determinar o fijar los objetivos.
En este paso se definen los objetivos específicos para posteriormente identificar las limitaciones del proceso y del sistema de software, además se diseña una planificación detallada de gestión y se identifican los riesgos. De acuerdo al modelo de proceso se plantean tres iteraciones: Primera iteración Alcance: Se entrega la parte física, incluyendo puertas, vidrio y bandejas contenedoras Identificación de riesgos: -
Fuga externa de agua que pueda ingresar a la maquina Sustancias liquidas de los productos a vender que puedan filtrarse al interior de la Maquina
Segunda iteración Alcance: Se entrega unidad de refrigeración, cableado eléctrico, iluminación y unidad de recepción de dinero. Identificación de riesgos: -
Falla en los insumos técnicos Corte de energía eléctrica con maquina en uso Que los contenedores de dinero alcancen su capacidad máxima
Tercera iteración Alcance: Se entrega componente electrónico de análisis de entrega de productos (pantalla LCD y teclado), motores para
2 el funcionamiento de las bandejas, configuración y seguridad electrónica.
de dinero alcancen su capacidad máxima
pruebas con análisis de venta total y se instala caja auxiliar
Identificación de riesgos: -
Que la maquina quede sin dinero de denominación pequeña para entrega de cambio Hurto de la maquina Acceso a la configuración de la maquina por personal no autorizado
Tercera iteración TABLA 3: Análisis de riesgos tercera iteración Riesgo
Categoría
Probabilidad
Gestión del riesgo
Negocio
Alto
En este paso se efectúa un análisis detallado para cada uno de los riesgos identificados del proyecto, se definen los pasos a seguir para reducir los riesgos y luego del análisis de estos riesgos se planean estrategias alternativas.
Que la maquina quede sin dinero de denominación pequeña para entrega de cambio
De acuerdo a los riesgos listados en la etapa anterior, se analiza cada riesgo (categoría, probabilidad) y se presenta la gestión del riesgo.
Hurto de la maquina
Negocio
Bajo
Acceso a la configuración de la maquina por personal no autorizado
Técnico
Moderado
En cada provisión y retiro de dinero el administrador de capital debe dejar un moto mínimo Se debe solicitar garantías en la firma del contrato a la institución o empresa receptora de la maquina El código de acceso será modificado periódicamente
2.
Análisis del riesgo.
Primera iteración TABLA 1: Análisis de riesgos primera iteración Riesgo
Categoría
Probabilidad
Gestión del riesgo
Fuga externa de agua que pueda ingresar a la maquina
Técnico
Moderado
Sustancias liquidas de los productos a vender que puedan filtrarse al interior de la Maquina
Técnico Negocio
Moderado
Se configura estructura para aislar circuitos y se instala el piso con inclinación para canalizar Se configura estructura para aislar circuitos y se instala el piso con inclinación para canalizar
TABLA 2: Análisis de riesgos segunda iteración Riesgo
Desarrollar, verificar y validar.
En este tercer paso, después del análisis de riesgo, se eligen un paradigma para el desarrollo del sistema de software y se lo desarrolla. Primera iteración Se realiza la construcción de la estructura con las siguientes especificaciones:
Segunda iteración
Falla en los insumos técnicos
3.
Categoría
Probabilidad
Gestión del riesgo
Técnico
Moderado
Se revisan varios proveedores de acuerdo a garantía y experiencia en el mercado Se instala unidad UPS con autonomía de una hora Se realizan
Corte de energía eléctrica con maquina en uso
Técnico
Que los contenedores
Negocio
Alto
Alto
TABLA 4: Especificaciones estructura Características Estructurales Dimensiones (ancho x alto x profundo)
Valores
Medidas abierta Peso
1358 mm
con
la
puerta
717 x 1700 x 870 mm
200 k
Otras Especificaciones Número de bandejas
6
Capacidad bandeja botellas
36 botellas
3 Capacidad bandeja latas
36 latas
Capacidad bandeja snacks
según el tipo de espiral
Número de espirales
36
Con cada iteración alrededor de la espiral, se crean sucesivas versiones del software, cada vez más completas y, al final, el sistema de software ya queda totalmente funcional.
Tipos de espirales
Desde 24 mm de ancho de paso (19 productos) hasta 80 mm (6 productos)
Como se planteó en el desarrollo del modelo se manejaron tres (3) iteraciones, las cuales debían tener finalizado su proceso para iniciar la siguiente. En cada planificación se tuvieron en cuenta los riesgos identificados que fueron técnicos y de negocio.
Segunda iteración
Conclusiones del modelo en espiral:
Se realiza la instalación y puesta en marcha de la unidad de refrigeración, cableado eléctrico, iluminación y unidad de recepción de dinero:
De acuerdo con el análisis realizado en cada una de las etapas, el proyecto hubiese tenido ventajas y desventajas al utilizar el modelo en espiral, las cuales se presentan a continuación:
TABLA 5: Especificaciones entrega segunda interacción
Ventajas: Características eléctricas
Valores
Alimentación
220-240 V/60 Hz
Potencia absorbida
420 W
-
Otras Especificaciones Temperatura ajustable
8°C - 16°C 0°C – 4°C
Configuración food snack food/Tetra Pak
Tercera iteración Se acoplan los componentes obtenidos en las iteraciones anteriores y se realiza el diseño de la parte lógica de la captura de dinero y entrega de producto.
-
Minimizar y/o eliminar los riesgos técnicos y de negocio identificados Se hubiese podido realizar la entrega con todos los requerimientos funcionales No se requería del cliente para realizar las pruebas en cada una de las iteraciones A pesar de que no corresponde a una premisa para utilizar el modelo de desarrollo en espiral, al estar definidos claramente los requerimientos, se pudo realizar un desarrollo activo
Desventajas: -
Se requiere personal especializado en el análisis de los riesgos
La programación del microcontrolador que manejó mediante la tarjeta de control mediante el protocolo RS232.
B. Análisis Modelo en V
Se dispuso de un teclado numérico para seleccionar el número del producto el cual está enlazado a una pantalla LCD la cual servirá como interfaz entre la tarjeta principal de control y la ejecución de los diferentes pasos y etapas del proceso de entrega del producto y sistema de pago.
Después de analizar el desarrollo de la máquina dispensadora de alimentos, vamos a exponer el análisis que realizamos al contrastar el proyecto al utilizar la metodología en V “Cuatro Capas” con lo cual vamos a definir las ventajas y las desventajas que se reflejaron al utilizar esta metodología para abordar el proyecto.
El programa deberá brinda mensajes de estado de entrega del producto y maneja la cantidad de cambio que se le entrega al cliente. Se realizaron pruebas con el software Labview.
4.
Planificar.
En este último paso es donde el proyecto se revisa y se toma la decisión si se debe continuar con un ciclo posterior al de la espiral. Si se decide continuar, se desarrollan los planes para la siguiente fase del proyecto.
En la primera etapa la cual está orientada al “cliente”, se realiza el análisis de requisitos y especificaciones de la máquina dispensadora de comida. En la cual se tiene que especificar al detalle todos los requisitos que se desea que tenga la máquina dispensadora. En la segunda etapa, la cual hace referencia a las funcionalidades de la máquina y en la cual se entrega un documento con el análisis funcional, se tiene que considerar el sistema como una caja negra y especificar todas las funcionalidades que son directamente o indirectamente visibles para el usuario final como:
4 -
La máquina debe aceptar todas las denominaciones de billetes de la moneda local.
-
La máquina debe devolver el producto seleccionado por el usuario, luego de validar el pago.
En la tercera etapa se define la arquitectura que tendrá el sistema y en el cual se tendrá un documento de arquitectura del sistema, en este documento se tiene que especificar los lineamientos de arquitectura que llevara la maquina dispensadora, como que tipo de lógica utilizara la máquina para entregar el producto, que tipo de cilindros y válvulas se utilizan, y todo el aspecto técnico que se propone implementar para lograr el correcto funcionamiento de la máquina.
En la etapa de implementación se realiza toda la construcción del sistema teniendo en cuenta la especificación por parte de arquitectura en la etapa anterior. Se debe tener en cuenta que al final de cada etapa se debe realizar la fase de validación esto obedece al principio de que para cada fase del desarrollo debe existir un resultado verificable. Conclusiones. El modelo en v cuenta con varios ventajas, es barata respecto a otros modelos, ya que al tener las revisiones en cada fase ayudará a corregir posibles errores sin tener que esperar a que sean rectificados en la etapa final del proceso, al generar un documento al final de cada fase garantizará tener una buena visibilidad, y aterrizando el modelo al proyecto que se está analizando, es una buena opción ya que se cuenta con una buena abstracción de la máquina expendedora de alimentos, y no es muy posible que se tenga que devolver a una fase anterior y generar con esto reproceso, Se puede perder dinero, ya que si algún proceso fue mal desarrollado, este debe ser revisado de nuevo, lo que puede traer como consecuencia un "RollBack" de todo un proceso.
requerimientos del sistema y esto es vital para esta fase. Diseño: En esta fase solo se hubiera diseñado basado en lo anterior requisitos se hubiera encontrado que falto definir algunas características de la máquina que no se pensaron o estaban definidas al principio. Implementación: La implementación se hubiera realizado con los requerimientos establecidos, sin embargo los riesgos y presentación al cliente no se realizaría sino hasta la entrega final, lo cual generaría posiblemente un problema si a la maquina le faltaba algo que esperaría el cliente. Verificación: Esta etapa de pruebas podrían encontrarse muchos problemas que no se tuvieron en cuenta al momento de realizar el levantamiento de los requerimientos, como por ejemplo, que tipos de alimentos podría soportar, que denominaciones de dinero podría aceptar, debería dar vueltas o no, si el insumo de un producto se termina que debería pasar, esto realizaría que se pensara en volver a fases anteriores, lo cual tendría un costo grandísimo. Mantenimiento: Esta tal vez hubiera sido la etapa que mejor se hubiera logrado realizar correctamente en el proyecto ya que cuando el proyecto se entregó al cliente se realizó una entrega y se negoció una fase de mantenimiento a través de un plan de mantenimiento que se realizó.
Conclusiones: Esta metodología se puede utilizar en proyectos en cuyos requisitos están totalmente definidos, sin embargo en este proyecto al no tenerse bien definido los requerimientos no es una opción viable. Algunas cosas como la documentación, y la etapa de mantenimiento se podría utilizar tal vez en un proyecto con metodología hibrida.
C. Análisis modelo en Cascada III. PROCESO UNIFICADO DE RATIONAL O RUP El método en cascada se divide en 5 etapas:
Casos de USO Requisitos Diseño Implementación Verificación Mantenimiento
Al validar cada etapa en el proyecto encontramos lo siguiente:
Requisitos: Se encuentra que esta etapa en parte hubiera sido utilizada correctamente, ya que el esta etapa define lo que quiere el cliente y lo que el producto debería realizar al final, esto hubiera sido de gran ayuda al momento de comenzar el proyecto sin embargo no se tenía bien definido todos los
Anexos casos de uso Listado de riegos en RUP: Un riesgo es cualquier acontecimiento futuro que pueda afectar de forma negativa o positiva a un proyecto. Se consideran diferentes categorías de riesgos. Riesgos del proyecto: Amenazan el plan del proyecto. Riesgos técnicos: Amenazan la calidad y actualidad del software que se producirá.
5
Riesgos de negocios: Amenaza la viabilidad del software que se construirá. A continuación listamos los riesgos identificados para la construcción de la maquina dispensadora:
El documento de arquitectura Se detalla el equipo que mantiene la infraestructura técnica y los requerimientos de cambios que el equipo pudiera tener. El objetivo del documento es mantener organizada la Arquitectura Técnica Organizacional y proveer una fuente de referencia para los analistas y diseñadores de la aplicación.(2)
Riesgos del proyecto: -
El cliente cambiará los requisitos La fecha de entrega estará muy ajustada Habrá muchos cambios de personal
Riesgos técnicos: -
Fuga externa de agua que pueda ingresar a la maquina Sustancias liquidas de los productos a vender que puedan filtrarse al interior de la Maquina Falla en los insumos técnicos de construcción Corte de energía eléctrica con maquina en uso
Riesgos de negocio: -
Los procesos de la fabricación de la máquina tal como se puede visualizar en la figura x , se dividirán en dos etapas el diseño de la parte mecánica y el diseño de la construcción de la parte lógica: Diseño Técnico Parte Mecánica: En base a las siguientes especificaciones técnicas de construcción se establece los componentes de la máquina dispensadora de alimentos a diseñar, la cual debe trabajar en lugares con alta concurrencia de público en ambientes cerrados y adecuados como centros comerciales y centros educativos de cualquier tipo. A continuación se presentan las especificaciones con las cuales se parte el diseño tanto de la estructura y los mecanismos internos de la máquina.(3)
Que los contenedores de dinero alcancen su capacidad máxima Que la maquina quede sin dinero de denominación pequeña para entrega de cambio Hurto de la maquina Acceso a la configuración de la maquina por personal no autorizado
Arquitectura Descripción Arquitectura de software La arquitectura muestra la visión común del sistema completo en la que el equipo de proyecto y los usuarios deben estar de acuerdo, por lo que describe los elementos del modelo que son más importantes para su construcción, los cimientos del sistema que son necesarios como base para comprenderlo, desarrollarlo y producirlo económicamente. RUP se desarrolla mediante iteraciones, comenzando por los CU relevantes desde el punto de vista de la arquitectura. El modelo de arquitectura se representa a través de vistas en las que se incluyen los diagramas de UML. (1) Descripción general de la fabricación del sistema.
Fig. 1 Proceso de la fabricación de la máquina
Fig 2: Vista general de la máquina Fuente maquinas Artículo S
Tabla 1. Especificaciones Técnicas del Sistema Mecánico
Fuente:saecoprofessional http://www.saecoprofessional.es/immagini/prodotti/pdf/articos/ES/Artico%20S_SP_LR.pdf TABLA 6: Análisis general de riesgos RUP Riesgo
Categoría
Probabilidad
Gestión del riesgo
El cliente cambiará los requisitos
Proyecto
Bajo
La fecha de entrega estará muy ajustada
Proyecto
Bajo
Proyecto con alcance definido, se ligan requerimientos al contrato Estimación de varias fuentes para planificación,
6
Habrá muchos cambios de personal
Proyecto
Bajo
Que la maquina quede sin dinero de denominación pequeña para entrega de cambio
Negocio
Alto
Hurto de la maquina
Acceso a la configuración de la maquina por personal no autorizado Fuga externa de agua que pueda ingresar a la maquina
Negocio
Técnico
Técnico
Sustancias liquidas de los productos a vender que puedan filtrarse al interior de la Maquina
Técnico Negocio
Falla en los insumos técnicos
Técnico
Bajo
Moderado
Moderado
Moderado
Moderado
Corte de energía eléctrica con maquina en uso
Técnico
Alto
Que los contenedores de dinero alcancen su capacidad máxima
Negocio
Alto
desarrollo incremental Contratar gente con talento, reasignación de trabajos, construcción equipos, acuerdos entre personal clave En cada provisión y retiro de dinero el administrador de capital debe dejar un monto mínimo Se debe solicitar garantías en la firma del contrato a la institución o empresa receptora de la maquina El código de acceso será modificado periódicamente Se configura estructura para aislar circuitos y se instala el piso con inclinación para canalizar Se configura estructura para aislar circuitos y se instala el piso con inclinación para canalizar Se revisan varios proveedores de acuerdo a garantía y experiencia en el mercado Se instala unidad UPS con autonomía de una hora Se realizan pruebas con análisis de venta total y se instala caja auxiliar
Luego de realizar la gestión del riesgo en etapa de planificación, se realiza una supervisión durante la ejecución del proyecto, en caso de ser necesario se vuelve a realizar un análisis, dicho proceso se ilustra en la siguiente imagen:
Fig. 3: De acuerdo con [Pressman, 2002], la administración o gestión de riesgos es un proceso iterativo que se aplica durante todo el proyecto y se desarrolla en cuatro etapas. Fuente: http://ingesoftwaregestiondelriesgo.blogspot.com/2015/05/blog-post.html
Diseño parte lógica La programación del microcontrolador que manejara las etapas de funcionamiento de la máquina expendedora de alimento se conectará mediante la tarjeta de control mediante el protocolo RS232. Dispondrá de un teclado numérico para seleccionar el número del producto el cual está enlazado a una pantalla LCD la cual servirá como interfaz entre la tarjeta principal de control y la ejecución de los diferentes pasos y etapas del proceso de entrega del producto y sistema de pago. El programa deberá brindar mensajes de estado de entrega del producto y manejar la cantidad de cambio que se le da al cliente. Se deberá programar toda la parte lógica en Labview para manejar todas las etapas del proceso. Todo el diseño se debe llevar a cabo conservando las normas establecidas por icontec para el tratamiento de alimentos NTC-ISO/TS 22002-1( 6)
Descripción del “Release” actual Se realiza la construcción del release inicial de la máquina, teniendo en cuenta los lineamientos mencionados en el documento de arquitectura, en esta fabricación se construyen todos los componentes de la máquina tanto lógicos, como mecánicos. Para la construcción de la parte mecánica se tomaron las siguientes consideraciones: -
Se utilizan cilindros hidráulicos marca Parker, MIX
7
-
-
-
-
Series Hydraulic Feedback Cylinders (4) Una Estructura metálica y demás componentes plástico fabricados a medida según las dimensiones mencionadas en la arquitectura del diseño. La programación lógica de la máquina diseñada en labview, definiendo los parámetros de entrada y salida del Nodo de Interfaz de Código (CIN), conforme lo indica la página del proveedor(5) Finalmente se diseña la tarjeta de control principal tomando en cuenta todos los circuitos de acondicionamiento de señal de cada uno de los sensores utilizados así como a su vez el dimensionamiento de los drivers de control de los actuadores siguiendo las recomendaciones vigentes de la norma ANSI-IPC 2221 3 orientadas al diseño de circuitos electrónicos impresos. Por último se realiza la conexión entre todos los sistemas de la máquina guardando las proporciones entre los calibres de cable de cada etapa de conexión, conservando los estándares para cada voltaje soportado
En esta primera versión de entrega de la máquina se entregará la con un funcionamiento limitado a las principales funcionalidades, expuestas en las etapas anteriormente descritas, definiendo las limitantes de la máquina en este primer ciclo de trabajo.
V. REFERENCIAS
IV. CONCLUSIONES -
El modelo de proceso RUP al estar dirigida por los casos de uso y estar centrado en la "arquitectura", como parte fundamental del desarrollo de software, permite realizar una implementación más enfocada y con poca incertidumbre, guiando de una manera más óptima el desarrollo del sistema.
-
Una ventaja de RUP es que se basa en las mejores prácticas que se han realizado en otros modelos de proceso y se han probado en el campo. Lo que le permite tener un enfoque iterativo e incremental, tener mejor manejo de los riesgos y un refinamiento más efectivo del producto final
-
Como se muestra en el documento, cada metodología tiene su pro y contras para ser utilizada, dependiendo de los requisitos iniciales se puede tomar una u otra, inclusive realizar una mezcla de varios tomando de cada uno lo que más le beneficie al proyecto que va a realizar.
[1] EcuRed. Proceso unificado de desarrollo [Online]. https://www.ecured.cu/Proceso_unificado_de_desarro llo [2] Hanan Rodríguez. (Enero 2014). DOCUMENTO DE ARQUITECTURA DE SOFTWARE [Online]. https://core.ac.uk/download/pdf/51065849.pdf [3] P. Del Hierro, R. Albán, P. Merchán, A. Ibarra. (2011). DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO DE MÁQUINA VENDING INVERSA PARA LA ACEPTACIÓN, COMPACTACIÓN Y ALMACENAMIENTO DE BOTELLAS PET DE 250 A 3000cm3 PARA SERPRA CÍA. LTDA [Online]. https://repositorio.espe.edu.ec/bitstream/21000/6700/ 1/AC-MECA-ESPE-047026.pdf [4] Parker. (2017). HMIX SERIES HYDRAULIC FEEDBACK CYLINDERS [Online]. http://ph.parker.com/co/es/hmix-series-hydraulicfeedback-cylinders [5] A. Rodríguez. (Mayo 2015). Gestión Del Riesgo En El Software [Online]. http://ingesoftwaregestiondelriesgo.blogspot.com/201 5/05/blog-post.html [6] Riesgo y administración del riesgo [Online]. https://swescom.wordpress.com/riesgo-yadministracion-del-riesgo/ [7] ICONTEC Internacional. (Diciembre 2011). NORMA TÉCNICA NTC-ISO/TS COLOMBIANA 22002-1 [Online]. https://tienda.icontec.org/wpcontent/uploads/pdfs/NTC-ISO-TS22002-1.pdf