1. Introdução
2. Posicionamento
3. Descrições dos Envolvidos e dos Usuários
4. Visão Geral do Produto
5. Requisitos Funcionais
6. Restrições
7. Requisitos Não Funcionais
1. Introdução
Este documento visa o entendimento geral do projeto ao definir as necessidades para o desenvolvimento do módulo Indica Ai, o qual refere-se a um sistema para indicação de locais que facilitem o conhecimento dos usuarios sobre os lugares próximos em relação ao contexto aplicado, inserido no aplicativo Intregra App. As informações contidas neste documento são apresentadas com alto nível de abstração, de forma que o entendimento sobre o sistema seja claro para todos os envolvidos na produção. Além dos atributos necessários para a compreensão do software, também será descrito o sistema de forma contextual, destacando o seu posicionamento frente ao problema, os envolvidos e seu determinado escopo. Para tal, segue-se uma organização em tópicos informativos relacionados às necessidade do projeto.
1.1 Finalidade
O presente documento tem como finalidade manter uma visão comum para os envolvidos no projeto do módulo Indica Ai ao expor as ideias necessárias para seu desenvolvimento.
1.2 Escopo
São tratados nesse documento os pontos necessários para a elaboração da aplicação, desde a concepção do projeto até a implantação, de forma que possam ser entendidos sem o total conhecimento dos termos técnicos utilizados por desenvolvedores.
1.3 Definições, Acrônimos e Abreviações
Abaixo serão apresentados alguns conceitos de documentação de software desejáveis para o melhor entendimento deste documento e termos aplicados ao contexto da universidade:
- UnB: Universidade De Brasília.
- FGA: Faculdade do Gama - Campus da Universidade de Brasília localizado no Gama.
- Indica Ai: Aplicativo mobile com intuito de compartilhar recomendações de locais próximos a FGA que facilite a vida acadêmica.
- UML (Unified Modeling Language): Linguagem de modelagem que define representações de um sistema de forma padronizada com o objetivo de facilitar a compreensão.
- RUP (Rational Unified Process): É um modelo de processo unificado de Engenharia de Software derivado da UML criado pela Rational Software Corporation e adquirido pela IBM em 2003. Possui elementos de modelos genéricos para apoiar o desenvolvimento de softwares incentivando a interação e exemplificando boas práticas de projeto e especificação.
- EPS: Disciplina de Engenharia de Produto de Software.
- MDS: Disciplina de Métodos de Desenvolvimento de Software.
1.4 Referências
SOMMERVILLE, Ian. Engenharia de Software. São Paulo: Pearson Prentice Hall. 9ª edição. 2011.
GUEDES, Gilleanes T. A. UML: uma abordagem prática. Novatec Editora, 2008.
1.5 Visão Geral
Elaborado de acordo com a metodologia RUP, o Rational Unified Process, este documento define o problema a ser resolvido. Descrevendo os requisitos do software, os envolvidos e usuários, a demografia dos mercados, a visão geral do produto e seus recursos.
2. Posicionamento
2.1 Oportunidade de Negócios
Ambientes novos ou em desenvolvimento, tem pouca informação dos lugares próximos ou serviços que existem nas proximidades. Com a falta de conhecimento, torna-se exaustivo procurar lugares próximos seja para lanchar ou comprar algum material de trabalho. Sendo assim, o Indica Ai visa o compartilhamento de locais e serviços oferecidos próximos com o objetivo de facilitar as buscas e melhorar a vida do usuário.
2.2 Descrição do Problema
O problema | A falta de informação sobre a existência de locais nas proximidades relacionadas ao contexto. |
---|---|
Afeta | A comunidade envovida naquele grupo. |
cujo impacto é | Eventuais má experiências com serviços disponíveis ou desorientação em realação a localização. |
Uma boa solução seria | Um aplicativo voltado a realidade em que o cliente está, podendo compartilhar locais, e que indicasse a localização de estabelicimentos alem de traçar uma rota entre o local em que o usuário se encontra até o estabelecimento. |
2.3 Sentença de Posição do Produto
Para | Grupo de pessoas com um mesmo contexto |
---|---|
Que | Necessitam obter informações sobre locais e serviços |
O | Indica Ai |
Que | Compartilha locais |
Diferente do | Dos aplicativos Catraca livre, Yelp, Kekanto e What3Words(W3W) |
Nosso produto | Indica locais próximos, relacionados a realidade que o cliente está inserido |
3. Descrições dos Envolvidos e dos Usuários
3.1 Resumo dos Envolvidos
Nome | Descrição | Responsabilidades |
---|---|---|
Clientes | - | - |
Coaches | - | - |
Equipe de Desenvolvimento | Equipe de alunos da UnB de Métodos de Desenvolvimento de Software. | Planejar, desenvolver e implementar o sistema. |
Equipe de Gestores de Projeto | Equipe de alunos da UnB de Disciplina de Engenharia de Produto de Software. | Planejar, desenvolver e gerenciar o projeto. |
3.2 Resumo dos Usuários
Nome | Descrição | Responsabilidades | Envolvido |
---|---|---|---|
Administrador | Figura de monitoramento | O administrador exerce o papel de avaliar a legitimidade dos locais indicados | Corpo acadêmico da universidade |
Usuário Comum | Alunos, professores e servidores contemplados pelo aplicativo | Indicar locais nas proximidades do campus | Corpo acadêmico da universidade |
3.3 Perfis dos Envolvidos
3.3.1 Equipe de Desenvolvedores
Representantes | Gabriel Davi Silva Pereira Heron Rodrigues Souza João Lucas Fragoso Zarbiélli Lucas Maciel Aguiar Matheus Gomes Ferreira Weiller Fernandes Pereira |
Descrição | Desenvolvedores do Projeto |
Tipo | Graduandos de Engenharia de Software na Universidade de Brasília, matriculados na disciplina de Métodos de Desenvolvimento de Software. |
Responsabilidades | Projetar a aplicação, documentar a estrutura do software, programar os recursos definidos e realizar testes de implementação. |
Critérios de Sucesso | Entregar aplicação no prazo para a Universidade de Brasília e aumentar experiência na área de desenvolvimento de software. |
Envolvimento | Alto. |
Comentários |
3.3.2 Equipe de Gestores
Representantes | Iasmin Santos Mendes
Renato Valério Gomes |
Descrição | Gestores do Projeto. |
Tipo | Graduandos de Engenharia de Software na Universidade de Brasília, matriculados na disciplina de Engenharia de Produto de Software. |
Responsabilidades | Efetuar todo o planejamento do projeto, projetar a aplicação, programar os recursos definidos do projeto e gerenciar a equipe de desenvolvedores, escopo, custos, riscos e requisitos. |
Critérios de Sucesso | Entregar aplicação no prazo para a Universidade de Brasília e aumentar experiência na área de desenvolvimento de software e gestão de projeto. |
Envolvimento | Alto. |
Comentários |
3.4 Perfil dos Usuários
3.4.1 Administrador
Representante | Responsavel Tecnico pelo Aplicativo |
---|---|
Descrição | Um usuário com a capacidade de excluir locais mal indicados e moderar comportamentos inadequados detro do aplicativo |
Tipo | Representante tecnico designado pela equipe |
Responsabilidades | Analisar informações inseridas por usuários |
Critérios de Sucesso | Aplicativo de fácil acesso e uso pelo usuário |
Envolvimento | Usuário especial do sistema. |
Produtos Liberados | - |
3.4.2 Usuário comum
Representante | Corpo acadêmico da universidade |
---|---|
Descrição | Navegará dentro do aplicativo sendo capaz de buscar locais desejados e também indicar lugares que considerar útil à comunidade. |
Tipo | Mestres e Doutores que lecionam na universidade, alunos e servidores da universidade. |
Responsabilidades | Indicar lugares que irão compor a base de dados do aplicativo. |
Critérios de Sucesso | Obter um software resultante capaz de indicar locais próximos a FGA de acordo com a necessidade do usuário |
Envolvimento | Usuário final do sistema. |
Produtos Liberados | Relação de disponibilidade de locais;</br> Informações sobre o local desejado; Indicação de rota para o local desejado.</br> |
3.5 Principais Necessidades dos Usuários ou dos Envolvidos
Necessidade | Prioridade | Preocupação | Solução Atual | Solução Proposta |
---|---|---|---|---|
Buscar locais na proximidade da faculdade | Alta | Falta de informação para localizar o local; tempo gasto para procurar locais satisfatórios; Dificuldade de acesso ao local devido carência de instruções; Local com falta de estrutura para atender o usuário. | Busca na internet por locais; indicação de pessoas. | - Mostrar em um design simples e sofisticado locais que sirvam de utilidade para o usuário; - Mecanismo de busca para especificar a procura do usuário; |
Conhecimento do percurso a um local desejado | Alta | Capacidade de acessar localidades da forma mais simples possível. | Orientações dadas por pessoas conhecidas; uso de aplicativos externos. | Informar ao usuário o melhor percurso para o local solicitado partindo da localização atual do usuário. |
3.6 Alternativas e Concorrência
3.6.1 Catraca Livre
aplicativo ordena todos os passeios encontrados de acordo com a proximidade do usuário, indo do mais próximo para o mais distante. Também é possível aplicar filtros para datas de eventos que ainda vão ocorrer ou categoria dos eventos ( Balada, dança, barato… ).
3.6.2 What3Words(W3W)
Serviço de localização, já com o suporte para o idioma português, que utiliza somente 3 palavras para encontrar qualquer endereço do mundo.Basta que o usuário resuma sua busca em no mínimo 3 palavras que o programa dará uma possível localização do lugar. Além da ferramenta de busca, o app também possui a opção de traçar uma rota até o ponto encontrado na busca.
3.6.3 Kekanto
O Kekanto indica bares, restaurantes, baladas e diversos estabelecimentos de acordo com o local do usuário. O app mostra as avaliações dos estabelecimentos,realizadas pela comunidade que utiliza o serviço. Além do mais, Cada usuário pode publicar sua resenha e enviar fotos de estabelecimentos de todas as cidades do Brasil e mais 14 países, entre Argentina, Chile, Estados Unidos e Portugal, por exemplo.
3.6.4 Yelp
Yelp é um app que pesquisa locais próximos do usuário, utilizando a localização por GPS. Primeiro o usuário informa o tipo de local (bares, restaurantes, shoppings…) e então possível filtrar os resultados obtidos por varias características: valor, mais avalidados, aceita cartões, bom para crianças, entre outros. A distância máxima dos locais também pode ser definida. Para uma escolha melhor do local, o usuário pode ver avaliações escritas por outros usuários.
4. Visão Geral do Produto
4.1 Perspectiva do Produto
O Indica Ai irá ajudar todo o corpo acadêmico informando a localização, os serviços e as avaliações para facilitar a situações cotidianas comuns à toda comunidade. Desse modo, usando as funcionalidade do módulo, os usuários irão reduzir o tempo gasto pesquisando essas informações na internet, principalmente quando se tratar de demandas urgentes e/ou importantes. O produto fornecerá ao usuário a possibilidade de cadastrar locais, descrever o mesmo, gerar uma rota até a localização alem de poder enviar fotos do local.
4.2 Resumo dos Recursos
Código | Recurso | Benefício |
---|---|---|
R01 | Indicar locais relacionados ao contexto. | Ajuda os usuários a acharem locais que atendam a suas necessidades e seja próximo ao contexto do mesmo. |
R02 | Gerar rota até o local | Permite que o usuário faça uma rota até o local proporcionando assim que o mesmo vá ao estabelecimento sem a necessidade de buscar informações em fontes externas. |
R03 | Favoritar locais | Permite o fácil acesso de um local através de uma lista de locais favoritos associada a cada usuário. |
5. Requisitos Funcionais
Legenda de Prioridades dos Requisitos:
Prioridade | Característica |
---|---|
Alta | Requisito fundamental para o sistema. |
Intermediária | Requisito importante, mas não é fundamental para o funcionamento do sistema. |
Baixa | Requisito não fundamental e pouco usado no sistema. |
Identificador | Nome | Descrição | Prioridade |
---|---|---|---|
RF1 | Autenticar Usuário | O Sistema deve autenticar o usuário pela API externa. | Alta |
RF2 | Cadastrar Locais | O Sistema deve permitir ao usuário o ato de cadastro de lugares de seu interesse por meio de um check-in no local. | Alta |
RF3 | Busca de Locais | O Sistema deve permitir a busca e visualização de locais solicitados através de uma busca por parte do usuário, assim como filtros de buscas para melhor atender suas expectativas. | Alta |
RF4 | Criar Rotas | O Sistema deve ser capaz de criar rotas para a orientação dos usuários de maneira relativa com a posição do mesmo. | Alta |
RF5 | Favoritar Lugares | O Sistema deve provê ao usuário uma ferramenta para criar favoritos de lugares de seu interesse, assim como a listagem dos mesmos | Média |
6. Restrições
-
O sistema só funcionará mediante uma conexão de rede pelo menos satisfatória e será mantido em um servidor Rails.
-
A documentação do sistema será escrita em sua maioria na língua portuguesa, assim restringindo o entendimento da documentação apenas para pessoas com conhecimento na língua, salvo partes mais técnicas relacionadas diretamente ao código da aplicação.
7. Requisitos Não Funcionais
7.1 Requisito do Sistema
-
O sistema deve estar hospedado em um servidor da mesma linguagem de programação e versão do software, e também ter acesso a uma rede estável para a conexão com os usuários.
-
Para ter acesso ao aplicativo o usuário deve ter um aparelho celular com o sistema operacional Android e acesso a central de aplicativos ( Play Store ).
7.2 Requisito de Desempenho
- O sistema deve ter o tempo de execução e resposta de acordo com a qualidade da conexão de internet, sendo assim, a velocidade de rede irá impactar diretamente o sistema em todas as suas funcionalidades.
7.3 Requisito de Design
- O sistema deve ter uma interface organizada e utilizar de ícones intuitivos que facilitam o entendimento de seus significados além de fluxos fáceis de aprender e memorizar.
7.4 Requisito de Confiabilidade
-
Informações não serão alugadas nem vendidas a terceiros fora do Indica Ai.
-
Quando inseridos dados pessoais do usuário, o sistema deve mantê-los protegidos de quaisquer influências externas, por meio de acesso a uma API externa para autenticação do usuário
-
O sistema deve apresentar a menor quantidade possível de falhas, mas não garante que a plataforma seja livre de imprecisões, falhas, erros ou interrupções.
7.5 Requisito de Arquitetura
- O uso da tecnologia React Native e Redux.
7.6 Requisito de Usabilidade
- O sistema deve facilitar a utilização e compreensão de sua interface por parte dos usuário, além de buscar facilitar que o utilizador tem em alcançar os seus objetivos por meio da simplicidade no uso, da utilização de ícones intuitivos que facilitam o entendimento de seus significados além de fluxos fáceis de aprender e memorizar.
7.7 Requisito de Suportabilidade
- O sistema deve ser compatível com aparelhos celulares os quais usem o sistema operacional Android.
7.8 Requisito de Segurança
-
O sistema deve conter validações para cada campo no formulário a ser preenchido pelo usuário.
-
O sistema deve criar níveis de permissão para cada tipo de conta em relação ao acesso a cada funcionalidade.