Documento de Visão

Histórico de Revisão

Data Versão Modificação Autor
29/03/2019 0.1 Perfis dos Envolvidos João Victor
29/03/2019 0.2 Resumo da parte interessada Bruno
29/03/2019 0.3 Finalidade e Visão Geral Ernando
30/03/2019 0.4 Ambiente do Usuário Eugênio Sales
02/04/2019 0.5 Posição João Victor
02/04/2019 0.6 Resumo dos Recursos Ernando
02/04/2019 0.7 Recursos do Produto Eugênio Sales
02/04/2019 0.8 Restrições Bruno
02/04/2019 0.9 Perspectiva do Produto Álex Porto
03/04/2019 0.9.1 Revisão do tópico 2 João Victor, Eugênio Sales
04/04/2019 0.9.2 Revisão dos tópicos 3 e 6 Bruno
05/04/2019 1.0 Escopo, Perfil dos usuários e Alternativas e Concorrência João Victor, Eugênio Sales

1. Introdução

1.1 Finalidade

      Este documento tem por finalidade mostrar o desenvolvimento do PyLearner e seu embasamento, além dos problemas que visa resolver dentro de seu escopo.

1.2 Escopo

      Machine Learning é um subcampo de Data Science que evoluiu do estudo de reconhecimento de padrões e da teoria do aprendizado computacional em inteligência artificial. Esse ramo de estudo está em alta e tem atraído muitos profissionais da área da computação.

      Disso, o PyLearner propõe-se a auxiliar programadores a aprender, de uma maneira mais interativa e dinâmica, através de uma plataforma que integra tutoriais e chatbot.

1.3 Definições, Acrônimos e Abreviações

  • ML - Machine Learning
  • FAQ - Frequently Asked Questions (Perguntas Frequentes)

1.4 Referências

Documento de Visão: A estrutura de tópicos do documento de visão. IBM. Disponível em: https://goo.gl/BNAJtT. Acesso em: 27 de março de 2019;

2018.2-Lino: Documento de Visão. 2018. Disponível em: https://botlino.github.io/docs/doc-visao. Acesso em: 30 de março de 2019;

2018.2-Kalkuli: Documento de Visão. 2018. Disponível em : https://fga-eps-mds.github.io/2018.2-Kalkuli/docs/docVisao. Acesso em: 30 de março de 2019;

1.5 Visão Geral

      Este documento visa detalhar os processos de desenvolvimento, planejamento e a construção do PyLearner, a gestão em um todo. Assim como sua visão de negócio, as partes a que se destina o uso do software, contendo as limitações, funcionalidades, interfaces e requisitos.

2. Posição

2.1 Oportunidade de Negócio

      Aprender Machine Learning pode ser bastante complicado, ainda mais se não tiver conhecimento do assunto. Às vezes, para achar tutoriais ou tirar dúvidas, necessita-se acessar diversos sites ou fóruns diferentes e, em alguns casos esperar um longo tempo até se obter uma resposta.

      O PyLearner auxiliará novatos em Machine Learning ou até mesmo pessoas que tenham alguma experiência e desejam aprender ou tirar suas dúvidas a respeito de ML. Dessa forma concentrando a area de busca por informação a um único lugar, agilizando o aprendizado.

2.2 Descrição do Problema

O problema de Tempo de resposta de dúvidas em fóruns e necessitar de ajuda de outras pessoas
Afeta Programadores interessados em ML
Cujo impacto é Eficiência no aprendizado
Uma boa solução seria Solucionar dúvidas de maneira mais ágil

2.3 Descrição de Posição do Produto

Para Programadores
Que Desejam retirar dúvidas sobre ML
O PyLearner é um ChatBot
Que visa agilizar o aprendizado
Diferente de tutoriais e fóruns
Nosso produto Ensina e retira dúvidas de uma forma mais dinâmica

3. Descrição dos Envolvidos e dos Usuários

3.1 Resumo dos Envolvidos

      Equipe composta por discentes de Engenharia de Software da Universidade de Brasília - Campus Gama, integrada por alunos das disciplinas de Engenharia de Produto de Software e Métodos de Desenvolvimento de Software.

3.2 Resumo do Usuário

      O público-alvo é constituído por pessoas que possuem um certo grau de conhecimento em programação e visam aprender ou aperfeiçoar suas técnicas em Machine Learning.

3.3 Ambiente do Usuário

      O PyLearner consiste em uma integração ao Jupyter Notebook, cujo acesso depende da instalação do app na máquina do usuário para acesso em um Web Browser.

3.4 Perfis dos Envolvidos

3.4.1 Equipe de Desenvolvimento

Representante Álex
Bruno
Ernando
Eugênio
João Victor
Descrição Equipe responsável por desenvolver a aplicação
Tipo Graduandos em Engenharia de Software na Universidade de Brasília, cursando a matéria Métodos de Desenvolvimento de Software
Responsabilidades Desenvolver, testar e documentar a estrutura do software
Critérios de Sucesso Entregar o produto no prazo
Envolvimento Alto

3.4.2 Equipe de Gestão de Projeto

Representante Carlos
Davi
Gabriel
Thiago
Descrição Equipe responsável pelo gerenciamento do produto
Tipo Graduandos em Engenharia de Software na Universidade de Brasília, cursando a matéria Engenharia de Produto de Software
Responsabilidades Gerenciar escopo, tempo, riscos, e a equipe de desenvolvedores, realizar todo o planejamento do projeto
Critérios de Sucesso Garantir a motivação e a produção da equipe e certificar que os princípios ágeis estão sendo seguidos
Envolvimento Alto

3.5 Perfis dos Usuários

3.5.1 Programadores

Representante Usuário
Descrição Programadores que desejam aprender Machine Learning ou tirar dúvidas
Tipo Usuário com conhecimento em programação
Responsabilidades Saber programar e seguir os tutoriais
Critérios de Sucesso Aprender ML de uma forma mais dinâmica e sanar dúvidas
Envolvimento Alto

3.6 Alternativas e Concorrências

      Atualmente não existem alternativas que seguem o modelo de ensino proposto pelo PyLearner. Embora, existam plataformas de ensino como a Udemy e o DataCamp, nenhum dispõe um sistema de respostas automatizado.

4. Visão Geral do Produto

4.1 Perspectiva do Produto

      O ChatBot tem como objetivo tornar o aprendizado de Machine Learning mais fácil, possibilitando tanto tirar dúvidas quanto direcionar no que se deve seguir no assunto. O PyLearner é recomendado para pessoas de diversos estágios do conhecimento em Machine Learning, desde quem não sabe absolutamente nada sobre o assunto até quem já possui um considerável nível de conhecimento.

4.2 Resumo dos Recursos

Benefício para o Cliente Recursos de suporte
Aprendizado de Machine Learning O PyLearner oferece apoio desde o básico, para quem é iniciante em Machine Learning na linguagem Python, quanto para quem já possui conhecimento avançado.
Fornece orientação em tempo real O ChatBot é capaz de interagir com o usuário de acordo com a necessidade do próprio, podendo servir como fonte de dúvidas a respeito do exercício, podendo tanto guiar como dar dicas.

5. Recursos do Produto

      O PyLearner tem como recursos, um tutorial interativo e um Bot no qual o usuário pode retirar suas dúvidas durante o processo. Promovendo assim, um aprendizado dinâmico e um suporte em tempo real. Dentre outras especificações:

  • O usuário não necesita de Login para acesso
  • Chat para solução de dúvidas
  • Interface com o Jupyter Notebook
  • Templates de respostas

6. Restrições

6.1 Restrições de Design

      O design terá como base plataformas de ensino cujo modo organizacional corroborará a aprendizagem dos usuários.

6.2 Restrições de Implementação

      O produto será desenvolvido com o auxílio da ferramenta Jupyter Notebook utilizando a linguagem Python junto a uma arquitetura de microsserviços.

6.3 Restrições de Uso

  • Necessário acesso a Internet
  • Torna-se indispensável o conhecimento prévio em programação