Giter Site home page Giter Site logo

2018a-consigna's Introduction

Taller de Programación Avanzada

Introducción

Durante el taller desarrollaremos un chat y un asistente virtual, para facilitar las ya famosas bot-ops. Si bien el foco del producto a realizar estará en el asistente, debemos sentar sólidas bases con un chat usable y robusto.

Metodología de trabajo

Las entregas, los compromisos, las estimaciones y las demostraciones correran por exclusiva cuenta del grupo de trabajo. La cátedra no intenvendrá en ello, más que estableciendo las fechas en las que se solicitarán los controles. Los mismos serán avisados con una semana de antelación, al menos.

Metodología de evaluación

Para tener el taller aprobado, los grupos deberán sumar al menos 200 puntos de historia. Pasado ese hito, se evaluarán aspectos no funcionales del proyecto, los cuales impactarán en la calificación final del trabajo grupal.
Adicionalmente se utilizará el seguimiento individual de los estudiantes para obtener una calificación final del taller. Se presentarán ejemplos de calificación más adelante.

Requisitos esenciales

Este conjunto de requisitos serán necesarios y no podrán estar ausentes. Sin embargo, los mismos no cuentan al momento de sumar los puntos de historia aportados por el grupo al proyecto.

Requisitos del asistente virtual

La funcionalidad del asistente virtual será variada, tal que cada grupo puede terminar su cursada teniendo asistentes con funcionalidades totalmente diferentes. Cada una de ellas (especificadas en forma de historias de usuario) estará acompañada del número de puntos de historia que tendrán asociadas al momento de valorizarlo.

Requisitos esenciales

  1. Como usuario quiero ingresar al chat con mi nombre de usuario y una contraseña para ingresar a las salas.
  2. Como usuario quiero seleccionar una sala de entre todas para poder participar de las conversaciones que allí sucedan.
  3. Como usuario quiero crear nuevas salas para establecer temas de discusión puntuales.
  4. Como usuario quiero cambiar de sala en cualquier momento para discutir sobre nuevos tópicos.
  5. Como usuario quiero crear salas privadas, en las cuales pueda invitar a mis contactos y que nadie más pueda verlas.
  6. Como usuario quiero invitar a otros usuarios a las salas privadas de chat de las que formo parte.
  7. Como usuario quiero tener conversaciones privadas con otros usuarios, independientemente de las salas creadas, para poder mantener un intercambio puntual con mis contactos.
  8. Como usuario quiero mencionar a otros usuarios para que sean notificados de mi intención.
  9. Como usuario quiero poder invocar al asistente virtual mencionándolo, para solicitarle diversas tareas.

Requisitos del asistente virtual

  1. Como usuario quiero saludar al asistente para tener un trato cordial con él. 5pts. Hola. Buen día. Buenas tardes. Etc.
  2. Como usuario quiero agradecer al asistente para mantener una buena relación con él. 5pts. Gracias. Muchas gracias. Etc.
  3. Como usuario quiero pedirle al asistente datos temporarios para comprender en qué momento del día estamos. 10pts. Hora, Fecha, Día de la semana.
  4. Como usuario quiero pedirle al asistente datos sobre períodos de tiempo para facilitarme los cálculos. 20pts. Día dentro de X dias/meses. Día hace X días/meses. Días/Meses/Años desde/hasta X fecha.
  5. Como usuario quiero pedirle al asistente efemérides y trivias sobre temas generales para impresionar a mis amigos con conocimiento general. 15pts. Efemérides y trivia x webservices.
  6. Como usuario quiero pedirle al asistente que resuelva por mí cálculos que involucren sumas, restas, multiplicaciones, divisiones, potencias, porcentajes y distintos niveles de paréntesis para agilizar mis cálculos complejos. 25pts.
  7. Como usuario quiero definir fórmulas similares a la historia anterior, pero con incógnitas para reutilizar los cálculos con distintos valores. 25pts.
  8. Como usuario quiero pedirle al asistente datos financieros en tiempo real para manejar ágilmente mis inversiones. 15pts. Valor de otras monedas en la moneda configurada, valor de acciones.
  9. Como usuario quiero pedirle al asistente los datos del clima en tiempo real para saber si debo utilizar o no paraguas. 15pts. Debe ser de la locación actual, o de la solicitada.
  10. Como usuario quiero entretenerme con el asistente, jugando al "más chico, más grande" para pasar el rato cuando no hay nada que hacer. 20pts. Debe poder desempeñar ambos roles: el de adivinar, y el de ser adivinado.

Nota 1: Se proveen algunos casos de aceptación en este mismo repositorio, para facilitar la comprensión de algunos puntos. Nota 2: Se agregarán más requisitos conforme avance el cuatrimestre.

Entregas

El trabajo tendrá cuatro fechas de entrega, siendo importante mantener un nivel de trabajo constante a lo largo de ellas. Se estima una entrega de 50 puntos de historia por cada una de las fechas, como mínimo.

La primera entrega será el sábado 5 de Mayo. El compromiso del grupo se tomará el 21 de Abril.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.