Entorno de programación educativo en lenguaje Python para la EDU CIAA NXP

Documentos relacionados
Ciberseguridad en IoT

Bridge Wireless para printer Esc/Pos USB

Control de compresores industriales basado en la CIAA

Sistema de automatización para una playa de estacionamiento utilizando la EDU-CIAA-NXP

Diseño de un Decibelímetro con Tercios de Octava

Desarrollo de software para un Sistema de Referencia de Actitud y Rumbo con interfaz con la CIAA

plataforma MSP430 Ing. Franco Atilio Bucafusco Esp. Ing Pablo Ridolfi

sapi (simpleapi): diseño e implementación de una biblioteca para sistematizar la programación de sistemas embebidos

Bridge Wireless para printer Esc/Pos USB

Control de sistema de bombas elevadoras del Hospital Alemán mediante una CIAA

Sistema de telemetría por red celular GSM utilizando CIAA

Control de un alimentador de terneros con LPC1769

Ciaabot: Robótica Educativa Abierta

GNU Radio FMCOMMS1. Este plan de trabajo ha sido realizado en el marco de la asignatura gestión de proyectos entre octubre y diciembre de 2015.

Monitoreo de variables ambientales para prevenir incendios forestales

Túnel Wireless de ADIOs para la EDU CIAA

Instrumental para medir la demanda bioquímica de oxígeno DBO

Túnel wireless de ADIOs para la EDU-CIAA

Control Funcional Inteligente De Planchas Analógicas y Digitales Para Línea de Producción Industrial

Sistema de telemetría por red celular GSM utilizando CIAA

Librerías para manejo de displays en la CIAA

Prototipo indicador de peso y balanceo

Diseño e implementación de USB 3.0 Super Speed para FPGA

Nodos WSN alimentados a energía solar con sistema de monitoreo de salud.

Nodos WSN alimentados a energía solar con sistema de monitoreo de salud.

DISEÑO DE UN DECIBELÍMETRO CON TERCIOS DE OCTAVA

Control automático del proceso de fermentación de vino usando la CIAA

Desarrollo de interfaz gráfica en Java para EDUCIAA

Prototipo funcional de un sistema de detección de caídas

Creador de efectos sobre ruedas en movimiento a través de LEDs RGB.

DISPOSITIVO DE ADQUISICIÓN DE DATOS DE PROCESOS INDUSTRIALES Y MONITOREO CON DISPOSITIVOS MÓVILES

Librerías para manejo de displays en la CIAA

Control de Intercambiador de Calor

Sistema de automatización para una playa de estacionamiento utilizando la EDU-CIAA-NXP

Diseño y construcción de un Smart Plug

Sistema de adquisición de datos para equipos del sector de upstream (Industria del Petróleo)

Sistema de Adquisición para la Investigación de Emisiones Magnéticas como Precursores Sísmicos

Automatización de Invernaderos con la CIAA

Autoanalizador de iones en sangre

Emulador de EDU-CIAA corriendo MicroPython

Autoanalizador de iones en sangre

Desarrollo de interfaz gráfica en Java para EDUCIAA

Módulo de búsqueda, seguimiento y decorrelación para un sistema GPS sobre FPGA

Creador de efectos sobre ruedas en movimiento a través de LEDs RGB.

Medición de variables fisiológicas para laboratorio de marcha.

HMI embebido para sistema de antena auto-orientable

Diseño de una red de sensores para la determinación de variables peatonales

Control de sistema de bombas elevadoras del Hospital Alemán mediante una CIAA

Carrera de Especialización en Sistemas Embebidos. Trabajo Final. Extensión del sistema operativo FreeOSEK a un multiprocesador asimétrico

Módulo de Cómputo Embebido

Creador de efectos sobre ruedas en movimiento a través de LEDs RGB.

Analizador de memoria de Sistemas Embebidos (AMSE)

Reloj Tabata. Esp. Ing. Diego Fernandez (FIUBA)

PROCEDIMIENTO DE ACREDITACIÓN DE LOS REQUISITOS TECNOLOGICOS DE CONTINUIDAD Y RIESGO OPERACIONAL. Junio 2018

Tecnología hardware y software

ANEXO TECNICO. Fábrica de Software

Especificación de requisitos de software

Realización de Pruebas

Ingeniería de Software: Y eso qué es?

COMPRA DIRECTA N 127/17 TÉRMINO DE REFERENCIA DESARROLLO DE SISTEMA DIGITAL DE ACTAS DEL CONCEJO MUNICIPAL Versión detallada

Control de compresores industriales basado en la CIAA

Back end GPS. Esp. Ing. Facundo Santiago Larosa. Ing. Nicolás Álvarez (FIUBA, UNSAM)

Entorno de programación educativo en lenguaje Python para la EDU-CIAA-NXP

PRODUCTOS DE AGUA. Unidad 1 INSTITUTO TECNOLOGICO DE CIUDAD JUAREZ

Testing. Es el proceso orientado a demostrar que un programa no tiene errores.

Universidad de Buenos Aires Facultad de Ingeniería. Gestión de Proyectos de Ingeniería. Control de Acuarios con la CIAA

Array Development. Array Development Plan de Pruebas de Aceptación Versión 1.0

TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN

Información sobre Nueva Tecnología

METODOLOGÍA DE PROYECTOS TIC. Guía para implementar proyectos

Sistema Integrado de Administración Centralizada de Información Operacional. Licitación Pública Desarrollo, Implementación y Despliegue de Software

PRC-DTI-010 Creación y control del ambiente de desarrollo y producción Procedimiento Dirección de TI - COSEVI

Autoanalizador de iones en sangre Trabajo Final de la Especialización de Sistemas Embebidos

PROCEDIMIENTO PARA CONTROL DE CALIDAD DE LOS SISTEMAS DE INFORMACIÓN

TRABAJO DE TITULACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN MECATRÓNICA

Sistema de Control para Galvanoplastia de PCBs

9/9/2009. Introducción. Introducción. Introducción. Métodos Secuenciales. Métodos Secuenciales. Pruebas y La Vida del Ciclo de Desarrollo del Software

Aseguramiento de la calidad y pruebas de software. 4- Revisiones del software. Blanca A. Vargas Govea Febrero 22, 2013

SIGPRE Sistema de Gestión Presupuestaria

DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA PARA DETECCIÓN DE VEHÍCULOS ROBADOS EN MOVIMIENTO, EMPLEANDO TECNOLOGÍA BEAGLEBONE, POR MEDIO DE SOFTWARE LIBRE.

Requerimientos y Planicación

Sistema de Adquisición para la Investigación de Emisiones Magnéticas como Precursores Sísmicos

CAPÍTULO 1. Hoy en día las características de los equipos de instrumentación electrónica nos

Escáner de campo cercano para compatibilidad electromagnética (EMC)

USB232. Hoja de datos

Intranet Social Corporativa Licitación Pública - Diseño e Implementación

Estrategia de Pruebas

TICA EN LA ESCUELA. El Robot (hardware) Alicia Escudero. Apellido y Nombre: Escudero Alicia. Tema: características de un robot

Manual del usuario MAC

Plan de Pruebas Proyecto: <Sistema de información web para la administración de gimnasio Flex Gym Center>

Nombre del Proyecto Patrocinador Cliente Director del Proyecto

Objetivos. Plan. Cambios de grupos Prof. sustituto: Alicia Villanueva

Curso Superior en el Ciclo de Vida en el Desarrollo Aplicaciones y Programas en Bases de Datos (Doble Titulación URJC & Educa + 2 Créditos ECTS)

Regina Leal Güemez. Notas de clase para: Temas Selectos en Sistemas de Información para la Administración

PROYECTOS 2011/12. No se puede hacer uso de ningún libro, apuntes, transparencias de clase, etc.

PROCEDIMIENTO PARA AUDITORIAS INTERNAS 1. OBJETIVO

SISTEMAS EMPOTRADOS TRABAJO FINAL DE GRADO. Daniel Gómez García

Proceso de Testing Funcional Independiente

ANEXO I. Especificaciones Técnicas

SIMULACIÓN DE UNA CALCULADORA DE MATEMÁTICA

Transcripción:

Entorno de programación educativo en lenguaje Python para la EDU CIAA NXP Autor Director del trabajo Ing. Eric Pernia Jurado propuesto para el trabajo Ing. Pedro Martos Ing. Alejandro Permingeat Ing. Gerardo Sager Este plan de trabajo ha sido realizado en el marco de la asignatura Gestión de Proyectos entre abril y mayo de 2016. Página 1 de 22

Tabla de contenido Registros de cambios Acta de Constitución del Proyecto Identificación y análisis de los interesados 1. Propósito del proyecto 2. Alcance del proyecto 3. Supuestos del proyecto 4. Requerimientos 5. Entregables principales del proyecto 6. Desglose del trabajo en tareas 7. Diagrama de Activity On Node 8. Diagrama de Gantt 9. Matriz de uso de recursos de materiales 10. Presupuesto detallado del proyecto 11. Matriz de asignación de responsabilidades 12. Gestión de riesgos 13. Gestión de la calidad 14. Comunicación del proyecto 14. Gestión de Compras 16. Seguimiento y control 17. Procesos de cierre Página 2 de 22

Registros de cambios Revisión Cambios realizados Fecha 1.0 Creación del documento 30/03/2016 1.1 Primeras correcciones hasta punto 6 03/04/2016 1.2 Se completó hasta punto 11 08/04/2016 1.3 Correcciones título, gant y matriz responsabilidades 12/04/2016 1.4 Se completó hasta punto 17 15/04/2016 1.5 Correcciones gant 18/04/2016 1.6 Se agregaron los Jurados 08/05/2016 Página 3 de 22

Acta de Constitución del Proyecto Buenos Aires, 30 de marzo de 2016 Por medio de la presente se acuerda con el Sr. Ernesto Gigliotti que su Proyecto Final de la Carrera de Especialización en Sistemas Embebidos se titulará Entorno de programación educativo en lenguaje Python para la EDU CIAA NXP., consistirá esencialmente en el soporte del firmware del proyecto micropython para la placa EDU CIAA, la realización de un entorno de programación y la generación de documentación y ejemplos, y tendrá un presupuesto preliminar estimado de 600 hs de trabajo, con fecha de inicio miércoles 30 de marzo de 2016 y fecha de presentación pública miércoles 14 de diciembre de 2016. Se adjunta a esta acta la planificación inicial. Ariel Lutenberg Director de la CESE FIUBA Página 4 de 22

Identificación y análisis de los interesados Rol Nombre y Apellido Departamento Puesto Auspiciante Cliente Jurado FIUBA Jurados de la CESE Impulsor Ernesto Gigliotti Responsable Ernesto Gigliotti UTN FRA Desarrollador Colaboradores Martin Ribelotta Responsable Software IDE del proyecto CIAA Orientadores Eric Pernia UNQUI/FIUBA Docente en la Carrera de Esp. en Sistemas Embebidos Equipo Opositores Usuario Final Alumnos de nivel secundario y universitario Escuelas secundarias y universidades 1. Propósito del proyecto El objetivo principal del proyecto será proveer una herramienta que permita a estudiantes de educación secundaria y universitaria aprender programación y electrónica, utilizando el lenguaje Python junto con la plataforma EDU CIAA NXP. 2. Alcance del proyecto El proyecto incluye el desarrollo del soporte para la placa, de modo que se puedan utilizar desde módulos python, las entradas y salidas de la placa así como también los periféricos básicos como UART, entradas analógicas, etc.. Página 5 de 22

Por otro lado se desarrollará un software a modo de entorno de programación, monoarchivo, que permita escribir el programa que se ejecutará en la placa. El alcance del proyecto también incluye la realización de proyectos de ejemplo utilizando la placa y el lenguaje Python, así como también la documentación de las bibliotecas desarrolladas para programar. El proyecto no incluye la implementación de periféricos complejos como ethernet, usb o can. 3. Supuestos del proyecto Para el desarrollo del presente proyecto se supone que la placa sobre la que se plantea el desarrollo es accesible a bajo costo y en la cantidad demandada, por alumnos de nivel secundario y universitario. Se tomará como base el port de micropython para el lpc43xx realizado por Martin Ribelotta el cual incluye la inicialización básica del intérprete Python, la realización de un módulo REPL y la implementación de un Filesystem simple dentro de la memoria Flash del microcontrolador, todas estas características se suponen estables y funcionando. 4. Requerimientos 1. Grupo de requerimientos referidos a las bibliotecas Python disponibles para programar: 1.1 Manejo de los leds que dispone la placa. 1.2 Utilización de los pulsadores. 1.3 Manejo y configuración de los pines designados como GPIO. 1.4 Configuración y utilización de la UART. 1.5 Configuración y utilización de la interface RS485.. 1.6 Lectura de las entradas ADC. 1.7 Salida DAC. 1.8 Utilización de la EEPROM interna. 2. Grupo de requerimientos referidos al entorno de desarrollo 2.1 El software deberá ser multiplataforma (Windows/Linux/OSX) 2.2 No debe ser necesario recompilar el firmware de la placa para cambiar el script de python. 2.3 El programa de python se enviará por el COM virtual generado al conectar la placa a la PC. 2.4 El software deberá tener embebida una terminal serial, por donde se implementará la interfaz de salida y entrada estándar del programa de Python. 2.5 El software deberá tener porciones de código de ejemplo que puedan insertarse fácilmente junto con lo que el usuario programa (Snippets) 2.6 El software deberá tener links para acceder fácilmente a la documentación online y a los proyectos de ejemplo. Página 6 de 22

3. Grupo de requerimientos referidos a los proyectos de ejemplo 3.1 Los proyectos de ejemplo serán divididos en tres categorías: Inicial, Intermedio y Avanzado. 3.2 Los proyectos de ejemplo consistirán en el código fuente, la explicación del mismo en forma detallada, y un esquemático de conexión con componentes externos en el caso que se requiera. 3.3 Los proyectos de ejemplo estarán basados en los proyectos típicos de electrónica que se realizan en escuelas secundarias. 4. Grupo de requerimientos generales 4.1 El acceso a la información del proyecto será libre y gratuita. 4.2 Se publicará la documentación de las bibliotecas de Python disponibles para programar. 5. Entregables principales del proyecto Repositorio de firmware. Instructivo de instalación de firmware. Instalador y código fuente del software entorno de desarrollo. Instructivo de utilización del software entorno de desarrollo. Repositorio con proyectos de ejemplo. Documentación de las bibliotecas Python que pueden utilizarse para programar. 6. Desglose del trabajo en tareas 1. Grupo de tareas respecto al firmware (127 hs) 1.1 Puesta en marcha del core básico de micropython. (12hs) 1.2 Configuración y habilitación de features. (4 hs) 1.3 Creación de una Biblioteca C para el uso de leds. (4 hs) 1.4 Creación de un Módulo Python para el uso de leds. (6 hs) 1.5 Creación de una Biblioteca C para uso de pulsadores. (4 hs) 1.6 Creación de un Módulo Python para uso de pulsadores. (6 hs) 1.7 Creación de una Biblioteca C para uso de la UART. (12 hs) 1.8 Creación de un Módulo Python para uso de la UART. (8 hs) 1.9 Creación de una Biblioteca C para uso de GPIOs. (8 hs) 1.10 Creación de un Módulo Python para uso de GPIOs. (6 hs) 1.11 Creación de una Biblioteca C para uso de ADC. (8 hs) 1.12 Creación de un Módulo Python para uso de ADC. (6 hs) 1.13 Creación de una Biblioteca C para uso de DAC. (4 hs) 1.14 Creación de un Módulo Python para uso de DAC. (5 hs) 1.15 Creación de una Biblioteca C para uso de Timers. (8 hs) 1.16 Creación de un Módulo Python para uso de Timers. (6 hs) 1.17 Creación de una Biblioteca C para el uso de la EEPROM interna. (4 hs) 1.18 Creación de un Módulo Python para uso de la EEPROM interna. (4 hs) 1.19 Implementación de protocolo xmodem para transferir archivo desde el IDE a la placa. (12 hs) Página 7 de 22

2. Grupo de tareas respecto al software (80 hs) 2.1 Implementación de editor con syntax highlighter. (16 hs) 2.2 Envío de archivo a la placa. (12 hs) 2.3 Menú configuración puerto serie. (8 hs) 2.4 Menú con snippets. (8 hs) 2.5 Terminal serie integrada. (18 hs) 2.6 Instructivo de instalación y uso. (12 hs) 2.7 Generación de instaladores. (6 hs) 3. Grupo de tareas de testing de firmware (100 hs) 3.1 Crear tests unitarios de bibliotecas C (32 hs) 3.2 Crear tests unitarios de módulos Python (40 hs) 3.3 Crear test funcional de cada módulo Python de cada periférico (28 hs) 4. Grupo de tareas de testing de software (44 hs) 4.1 Crear test unitarios para pantalla de terminal integrada. (12 hs) 4.2 Crear test unitarios para pantalla de snippets. (8 hs) 4.3 Crear test unitarios para pantalla de configuración. (4 hs) 4.4 Crear test unitarios para envío de archivo a la placa. (12 hs) 4.5 Test funcional de integración. (8 hs) 5. Grupo de tareas respecto a los proyectos de ejemplo (80 hs) 5.1 Crear al menos 4 proyectos de ejemplo de nivel inicial. (8 hs) 5.2 Crear documentación de los proyectos de nivel inicial. (8 hs) 5.3 Crear al menos 4 proyectos de ejemplo de nivel intermedio. (12 hs) 5.4 Crear documentación de los proyectos de nivel intermedio. (12 hs) 5.5 Crear al menos 4 proyectos de ejemplo de nivel avanzado. (24 hs) 5.6 Crear documentación de los proyectos de nivel avanzado. (16 hs) 6. Grupo de tareas respecto a documentación de bibliotecas (29 hs) 6.1 Crear documentación del módulo de python para el uso de leds. (3 hs) 6.2 Crear documentación del módulo de python para el uso de pulsadores. (3 hs) 6.3 Crear documentación del módulo de python para el uso de la UART. (4 hs) 6.4 Crear documentación del módulo de python para el uso de GPIOs. (3 hs) 6.5 Crear documentación del módulo de python para el uso de leds. (3 hs) 6.6 Crear documentación del módulo de python para el uso de ADC. (3 hs) 6.7 Crear documentación del módulo de python para el uso de DAC. (3 hs) 6.8 Crear documentación del módulo de python para el uso de Timers. (4 hs) 6.9 Crear documentación del módulo de python para el uso de la EEPROM. (3 hs) Página 8 de 22

7. Grupo de tareas respecto a la escritura del trabajo (92hs) 7.1 Escribir memoria del trabajo (80 hs) 7.2 Escribir presentación (12 hs) Total de horas: 552hs 7. Diagrama de Activity On Node NOTA: Las tareas 2.x y 3.x se han indicado que pueden ser resueltas de forma simultánea, sin embargo debido a que existirá un solo programador en el proyecto las tareas se desarrollarán en forma consecutiva. Página 9 de 22

8. Diagrama de Gantt Página 10 de 22

Página 11 de 22

Página 12 de 22

Página 13 de 22

Página 14 de 22

9. Matriz de uso de recursos de materiales Código WBS Nombre de la tarea Recursos requeridos (horas) PC EDU CIAA NXP 1.x Desarrollo de Firmware 127 hs 127 hs 2.x Desarrollo IDE 80hs 0hs 3.x Testing Firmware 100hs 100hs 4.x Testing IDE 44hs 20hs 5.x Proyectos de ejemplo 6.x Documentación bibliotecas 7.x Escribir trabajo final y presentación 80hs 29hs 92hs 80hs 0hs 0hs 10. Presupuesto detallado del proyecto Categoría Detalle Costo Costo directo 600hs a $120/hr $72.000 Costo indirecto 30% del costo directo $21.600 Materiales EDU CIAA NXP $750 TOTAL $94.350 Página 15 de 22

11. Matriz de asignación de responsabilidades Código WBS Título de la tarea 1.x Desarrollo de Firmware Listar todos los nombres y apellidos y el rol definidos en el proyecto Ernesto Gigliotti Responsable Martin Riobelotta Colaborador Eric Pernia Orientador P C A I Alumnos escuelas secundarias y universidades Usuario 2.x Desarrollo IDE P A I 3.x Testing Firmware P A 4.x Testing IDE P A 5.x Proyectos ejemplo P A I 6.x Documentación bibliotecas P A I 7.x Escribir trabajo final P A Referencias: P = Responsabilidad Primaria S = Responsabilidad Secundaria A = Aprobación I = Informado C = Consultado 12. Gestión de riesgos Riesgo 1: El código fuente implementado no cabe en la memoria del microcontrolador de la placa. Severidad (S)=7. Es una limitante en la cantidad de periféricos a los que se les puede dar soporte para poder ser utilizados desde el lenguaje Python. Probabilidad de ocurrencia (O)=3. El microcontrolador utilizado posee una gran cantidad de memoria de programa, por lo que es poco probable que ocurra. Tasa de no detección (D)=5. Es difícil estimar cuánto espacio va a ocupar un código que todavía no se programó. Página 16 de 22

Riesgo 2: Pérdida de los materiales de trabajo (placa o PC) Severidad (S)=2. Existen muchas en el mercado, es muy simple conseguir un reemplazo (ya sea la placa o una PC) Probabilidad de ocurrencia (O)=3. No es muy probable que ocurra. Aunque es posible por una mala manipulación de la placa o caso de robo. Tasa de no detección (D)=8. Es muy complicado saber cuando va a ocurrir un accidente de este tipo con antelación. Riesgo 3: No se llegan a cumplir todos los requerimientos. Severidad (S)=5. Puede limitarse el proyecto a tener menos soporte de hardware en una primera versión, y luego incluir más horas para completarlo. Probabilidad de ocurrencia (O)=4. No es muy probable que ocurra ya que se pretende que el proyecto sea el trabajo final de una carrera de especialización y se terminará a tiempo. Tasa de no detección (D)=2. Si las tareas están bien estimadas, es fácil detectar si se llegará a tiempo a completarlas todas. Riesgo 4: La plataforma no es utilizada por la comunidad CIAA. Si la documentación es confusa y es dificultoso comenzar a utilizar la placa con el firmware y el IDE desarrollados, el proyecto probablemente sea ignorado. Severidad (S)=8. Si la plataforma no es utilizada el proyecto pierde todo su sentido, ya que ésta fue la razón de existencia del mismo. Probabilidad de ocurrencia (O)=2. Como parte de las tareas a desarrollar se declararon las relacionadas a la creación de ejemplos y documentación, por lo que no es probable que ocurra. Tasa de no detección (D)=3. Al ser parte de los requerimientos, en la etapa de validación y verificación se detectará el problema. Riesgo 5: La memoria RAM del microcontrolador no es suficiente para la implementación de todos los drivers y módulos de python. Severidad (S)=8. No podrán implementarse los módulos de python deseados, limitando lo que luego será posible hacer con la placa. Probabilidad de ocurrencia (O)=7. La placa EDU CIAA NXP no posee los chips de memoria externa, y la cantidad de memoria RAM que posee el microcontrolador no es tanta, por lo que es posible que este hecho ocurra. Tasa de no detección (D)=1. La mayor parte de la memoria es consumida por el port de micropython en sí y no por los drivers agregados, por lo que es posible detectar este problema antes de comenzar el desarrollo de los drivers. Página 17 de 22

b) Tabla de gestión de riesgos: (El RPN se calcula como RPN=SxOxD.) Riesgo Severidad Ocurren. Detección RPN Severidad* Ocurren. * Detecc * RPN* 1 7 3 5 105 5 3 3 45 2 2 3 8 48 3 5 4 2 40 4 8 2 4 64 5 1 3 15 5 8 7 1 56 Criterio adoptado: Se tomarán medidas de mitigación en los riesgos cuyos números de RPN sean mayores a 60 Nota: Los valores marcados con (*) en la tabla corresponden luego de haber aplicado la mitigación. c) Plan de mitigación de los riesgos que originalmente excedían el PRN máximo establecido: Riesgo 1: Plan de mitigación: Pueden programarse algunas rutinas en assembler para que ocupen menos espacio. Severidad (S)=5. Aunque es más trabajoso de realizar y quizá menos portable, con esta solución se solucionaría el problema. Probabilidad de ocurrencia (O)=3. No es probable que ocurra ya que la memoria disponible es grande. Tasa de no detección (D)=3. Se estima de antemano que el código en ASM ocupa un tercio del código en C. Riesgo 4: Plan de mitigación: Se deberán reevaluar los ejemplos desarrollados y generar contenido multimedia (Videos, notas, presentaciones, fotos, etc) que ayude a la comprensión y utilización de la plataforma. Severidad (S)=5. Se sumará más tiempo de proyecto del requerido. Probabilidad de ocurrencia (O)=1. Al agregar material informativo bajará la probabilidad de que ocurra el riesgo. Tasa de no detección (D)=3. Al ser parte de los requerimientos, en la etapa de validación y verificación se detectará el problema. Página 18 de 22

13. Gestión de la calidad Para cada uno de los requerimientos del proyecto indique: Req #1.x: Grupo de requerimientos referidos a las bibliotecas Python disponibles para programar. Verificación y validación: Responsable de la verificación: Ernesto Gigliotti Verificación a aplicar para intentar saber si se cumplirá con lo requerido: > Se realizarán tests de todos los módulos y drivers desarrollados. Responsable de la validación: Ernesto Gigliotti Validación a aplicar para medir el cumplimiento de lo requerido: > Se revisarán los ejemplos generados en donde se utilizan los módulos de Python disponibles, de esta forma se valida si se cubrió la utilización de los periféricos requeridos. Req #2.x: Grupo de requerimientos referidos al entorno de desarrollo. Verificación y validación: Responsable de la verificación: Ernesto Gigliotti Verificación a aplicar para intentar saber si se cumplirá con lo requerido: > Se realizarán tests unitarios de la mayoría de las partes del software. Responsable de la validación: Ernesto Gigliotti Validación a aplicar para medir el cumplimiento de lo requerido: > Se probará el ejecución del software en los diferentes sistemas operativos para los que fue diseñado y su correcto funcionamiento y conectividad con la placa. Req #3.x: Grupo de requerimientos referidos a los proyectos de ejemplo. Verificación y validación: Responsable de la verificación: Ernesto Gigliotti Verificación a aplicar para intentar saber si se cumplirá con lo requerido: > Se revisará el correcto funcionamiento de los ejemplos generados, chequeando que cumplan con su propósito. Responsable de la validación: Ernesto Gigliotti Validación a aplicar para medir el cumplimiento de lo requerido: > Se revisarán las explicaciones poniéndose del punto de vista del usuario, para asegurarse de un claro entendimiento de las mismas. Req #4.x: Grupo de requerimientos generales. Verificación y validación: Responsable de la verificación: Ernesto Gigliotti Verificación a aplicar para intentar saber si se cumplirá con lo requerido: > Se evaluará que sea posible publicar la información en la web del proyecto CIAA. Responsable de la validación: Ernesto Gigliotti Validación a aplicar para medir el cumplimiento de lo requerido: > Se pedirá a un grupo reducido de personas que prueben la plataforma para asegurarse de que la información brindada sea la correcta. Página 19 de 22

14. Comunicación del proyecto El plan de comunicación del proyecto es el siguiente: PLAN DE COMUNICACIÓN DEL PROYECTO Qué comunicar? Audiencia Propósito Frecuencia Método de comunicac. Responsable Avances generales Eric Pernia (Director) Mantener informado y obtener ideas y consejos. Mensual e mail Ernesto Gigliotti Existencia del proyecto Comunidad CIAA Informar la existencia e incentivar la participación en el proyecto. Mensual e mail Ernesto Gigliotti Nuevas features para microython Martin Ribelotta (Colaborador) Agregar al port de micropython lo desarrollado. Cuando existan versiones estables Pull Requests mediante GITHUB Ernesto Gigliotti 14. Gestión de Compras No se realizará ninguna compra para la realización del proyecto ya que se cuenta con todos los materiales necesarios para el proyecto. Página 20 de 22

16. Seguimiento y control SEGUIMIENTO DE AVANCE Tarea del WBS Indicador de avance Frecuencia de reporte Responsable de seguimiento Persona a ser informada Método de comunicac. 1.x Cantidad de periféricos soportados única vez Ernesto Gigliotti Eric Pernia e mail 2.x Software Completo y estable única vez Ernesto Gigliotti Eric Pernia e mail 3.x Los tests pasaron satisfactoriamente única vez Ernesto Gigliotti Eric Pernia e mail 4.x Los tests pasaron satisfactoriamente única vez Ernesto Gigliotti Eric Pernia e mail 5.x Cantidad de ejemplos desarrollados única vez Ernesto Gigliotti Eric Pernia e mail 6.x Cantidad de bibliotecas documentadas única vez Ernesto Gigliotti Eric Pernia e mail 7.x Se terminó de escribir el trabajo final única vez Ernesto Gigliotti Eric Pernia e mail Página 21 de 22

17. Procesos de cierre Pautas de trabajo que se seguirán para analizar si se respetó el Plan de Proyecto original: Se revisará que se hayan cumplido los requerimientos, comparándolos con el proyecto terminado. A cargo de Ernesto Gigliotti. Identificación de las técnicas y procedimientos útiles e inútiles que se utilizaron, y los problemas que surgieron y cómo se solucionaron: Para verificar si las tareas fueron realizadas en el tiempo esperado, se comparará el cronograma propuesto con el real, detectando las que llevaron mucho más tiempo de lo planeado y de esta forma poder analizar en dónde falló la planificación. A cargo de Ernesto Gigliotti. Por último se enviará un e mail de agradecimiento al director de la tesis y los colaboradores del proyecto, así como también a los coordinadores de la carrera y toda la gente que se sume a utilizar y probar la plataforma durante el transcurso del desarrollo. Página 22 de 22