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