Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf ·...

93
i UNIFERSIDADE FEDERAL DE ITAJUBÁ UNIFEI Aplicação Web Moderna para Gerenciamento de Barbearias Autor Eduardo Bonfá Guimarães UNIFEI Itajubá 2018

Transcript of Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf ·...

Page 1: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

i

UNIFERSIDADE FEDERAL DE ITAJUBÁ – UNIFEI

Aplicação Web Moderna para Gerenciamento de Barbearias

Autor

Eduardo Bonfá Guimarães

UNIFEI

Itajubá

2018

Page 2: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

ii

Aplicação Web Moderna para Gerenciamento de Barbearias

Autor

Eduardo Bonfá Guimarães

Monografia apresentada como trabalho

final de graduação, requisito parcial

para obtenção do título de Bacharel em

Sistemas de Informação, sob orientação

do Prof. Laércio Baldochi.

UNIFEI

Itajubá

2018

Page 3: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

i

MINISTÉRIO DA EDUCAÇÃO

UNIVERSIDADE FEDERAL DE ITAJUBÁ

Criada pela Lei no 10.435, de 24 de abril de 2002

Instituto de Matemática e Computação

FOLHA DE APROVAÇÃO

O Trabalho Final de Graduação em Sistemas de Informação de Eduardo Bonfá Guimarães intitulado "Aplicação web moderna para gerenciamento de barbearias" foi APROVADO.

Itajubá, 20 de Novembro de 2018.

BANCA EXAMINADORA

Universidade Federal de Itajubá — IMC

Presidente / Orientador

Prof. Adler Diniz de Souza

Universidade Federal de Itajubá — IMC

Profa. Melise Maria Veiga de Paula

Universidade Federal de Itajubá — IMC

Instituto de Matemática e Computação - IMC

Av. BPS, 1303 - Caixa Postal 50 - 37500-903 - Itajubá - MG - Brasil

Telefone: 35-3629-1135 — Fax: 35-3629-1140 - E-mail: [email protected]

Page 4: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

i

AGRADECIMENTOS

Primeiramente, agradeço aos meus pais Milton e Ivete, pelo amor e apoio incondicional e pelo

exemplo de vida. Também sou grato a minha noiva Anne, pela ajuda, pelo apoio e por estar

sempre ao meu lado durante a elaboração deste trabalho. Aos meus familiares, amigos e colegas

que me deram forças e ficaram na torcida, meu muito obrigado. Não posso deixar de agradecer

a meu orientador Laércio, pelo incentivo, apoio e dedicação. Por fim, agradeço a Deus por suas

bênçãos.

Page 5: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

ii

RESUMO

Com o crescimento do mercado de beleza masculino, cresce também o número de barbearias.

Essas barbearias apresentam um conceito moderno no atendimento de seus clientes, mas seu

gerenciamento ainda é realizado de maneira manual. O presente trabalho tem como objetivo

automatizar o atendimento e o controle de barbearias, possibilitando maior rapidez no

atendimento ao cliente e melhoria na gerência do negócio. Para o atendimento a clientes foi

desenvolvido um chatbot, um serviço de resposta automática, que facilita o agendamento de

serviços e para o gerenciamento da barbearia foi desenvolvida uma aplicação cliente-servidor

utilizando tecnologias modernas de desenvolvimento de software para a web, para a criação do

servidor foi utilizado o framework Spring Boot, e para a aplicação cliente foi utilizado o

framework Angular, seguindo as tedências de desenvolvimento SPA e Mashup. Todo o

processo de desenvolvimento e testes foi realizado com o suporte de uma barbearia real. Os

resultados obtidos atenderam as necessidades do negócio.

Palavras chave: Gerenciador de barbearia, barbearia, aplicação web moderna, spring boot,

chatbot, angular.

Page 6: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

iii

ABSTRACT

With the growth of the male beauty market, the number of barber shops has grown. These

barbershops have a modern concept in serving their customers, but their management is still

carried out manually. The present work aims to automate the attendance and management of

barbershops, allowing to serve customers faster and to improve the management of the business.

For the customer service, an automatic response mechanism that facilitates the appointment of

services was provided. For the management of the barber shop, a client-server application was

developed using modern web-development software technologies, for the creation of the server

was used the framework Spring Boot, and for the client application was used the framework

Angular, following the development trend of SPA and Mashup. The whole process of

development and testing was carried out with the support of a real barbershop. The results

obtained met the needs of the business.

Keywords: Barber shop, barbershop, modern web application, spring boot, chatbot, angular.

Page 7: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

iv

LISTA DE FIGURAS

2.1 – Arquitetura de uma Aplicação Web Moderna ................................................................. 25

2.2 – Arquitetura de uma Single-Page Application .................................................................. 26

2.3 – Aplicação SPA ................................................................................................................. 27

2.4 – Carregamento dos códigos iniciais da aplicão SPA. ....................................................... 27

2.5 – Funcionamento aplicação Mashup .................................................................................. 28

2.6 – Arquitetura Mashup servidor ........................................................................................... 29

2.7 – Arquitetura Mashup cliente ............................................................................................. 29

2.8 – Site do WikiCrimes ......................................................................................................... 30

2.9 – Chatbots do Trivago e Netflix ......................................................................................... 32

2.10 – Fluxo do Scrum .............................................................................................................. 34

3.1 – Arquitetura do Spring Boot ............................................................................................. 36

3.2 – Arquitetura de uma aplicação Angular ............................................................................ 37

3.3 – Painel de Controle do Chatfuel ........................................................................................ 38

3.4 – Plugins disponíveis no Chatfuel ...................................................................................... 39

3.5 – Plugin de POST no Chatfuel ........................................................................................... 40

3.6 – Formato JSON para enviar um text ao Chatfuel ............................................................. 40

3.7 – Quadro de tarefas semanais ............................................................................................. 42

3.8 – Quadro padrão scrum....................................................................................................... 42

3.9 – Painel de controle Bitbucket ............................................................................................ 43

4.1 – Diagrama de Casos de Uso .............................................................................................. 47

4.2 – Diagrama de Entidade-Relacionamento .......................................................................... 49

5.1 – Quadro da ferramenta Trello de gerenciamento do projeto (Sprint 1) ............................ 52

5.2 – Resposta de um cliente em format JSON ........................................................................ 54

5.3 – Documentação e métodos para consumir a API desenvolvida ........................................ 54

5.4 – Tela de autorização da Agenda do Google ...................................................................... 55

5.5 – Fluxo das funcionalidades de agendar horário ................................................................ 56

5.6 – Diálogo entre chatbot e usuário ....................................................................................... 56

5.7 – Tela de cliente .................................................................................................................. 58

5.8 – Tela de agendamentos marcados ..................................................................................... 58

5.9 – Tela da agenda dos barbeiros........................................................................................... 59

5.10 – Tela de relatório: Informações Gerais ........................................................................... 60

Page 8: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

v

5.11 – Tela de relatório: Informações sobre serviços, vendas, forma de pagamento e

agendamento ............................................................................................................................. 60

5.12 – Tela de relatório: Informações por barbeiro .................................................................. 61

5.13 – Gráfico da avaliação da usabilidade da Tarefa 1 ........................................................... 63

5.14 – Gráfico da avaliação da usabilidade da Tarefa 2 ........................................................... 64

5.15 – Gráfico do desempenho ................................................................................................. 64

5.16 – Gráfico da sedimentação do conhecimento por experiência ......................................... 65

5.17 – Gráfico da taxa de erros cometidos pelo usuário ........................................................... 65

5.18 – Gráfico do tempo de aprendizagem ............................................................................... 66

5.19 – Gráfico da satisfação subjetiva ...................................................................................... 66

Page 9: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

vi

LISTA DE QUADROS

Quadro 5.1 - Questões relacionadas aos critérios de usabilidade ............................................. 62

Page 10: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

vii

LISTA DE ABREVIATURAS E SIGLAS

API - Application Programming Interface ................................................................................25

SPA - Single-Page Application .................................................................................................25

JSON - JavaScript Object Notation ...........................................................................................26

URL - Uniform Resource Locator .............................................................................................26

REST - Representational State Transfer ...................................................................................35

JAD - Joint Application Development ......................................................................................45

ER - Entidade-Relacionamento ................................................................................................48

Page 11: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

viii

SUMÁRIO

1. INTRODUÇÃO .................................................................................................................... 22

1.1 Objetivos ......................................................................................................................... 22

1.2 Metodologia .................................................................................................................... 23

1.3 Organização do Texto ..................................................................................................... 23

2. FUNDAMENTAÇÃO TEÓRICA ....................................................................................... 24

2.1 Aplicação Web Moderna ................................................................................................ 24

2.2 Single-Page Application ................................................................................................. 25

2.3 Mashup ........................................................................................................................... 28

2.4 Chatbot ........................................................................................................................... 30

2.5 Scrum .............................................................................................................................. 33

3. FUNDAMENTAÇÃO TECNOLÓGICA ............................................................................ 35

3.1 Spring Boot ..................................................................................................................... 35

3.2 Angular ........................................................................................................................... 36

3.3 Chatfuel .......................................................................................................................... 38

3.4 JSON ............................................................................................................................... 41

3.5 Swagger .......................................................................................................................... 41

3.6 Trello .............................................................................................................................. 42

3.7 Bitbucket ......................................................................................................................... 42

4. MODELAGEM DO BARBER SOLUTIONS ..................................................................... 44

4.1 Levantamento de Requisitos ........................................................................................... 44

4.2 Requisitos Funcionais e Não Funcionais ........................................................................ 45

4.3 Casos de Uso .................................................................................................................. 46

4.4 Modelo de dados ............................................................................................................. 48

5. IMPLEMENTAÇÃO DO BARBER SOLUTIONS ............................................................ 50

5.1 Sprint 1 ........................................................................................................................... 53

5.2 Sprint 2 ........................................................................................................................... 53

5.3 Sprint 3 ........................................................................................................................... 57

5.4 Avaliação da Usabilidade do Barber Solutions .............................................................. 61

Page 12: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

ix

5.4.1 Análise ..................................................................................................................... 63

6. CONCLUSÃO ...................................................................................................................... 67

6.1 Trabalhos Futuros ........................................................................................................... 67

7. REFERÊNCIAS ................................................................................................................... 69

APÊNDICES:

APÊNDICE A – DOCUMENTO GERADO PARA A REALIZAÇÃO DA ENTREVISTA . 72

APÊNDICE B – DOCUMENTO DE REQUISITOS .............................................................. 74

APÊNDICE C – TAREFAS PROPOSTAS ........................................................................... 100

APÊNDICE D – QUESTIONÁRIO SOBRE AS TAREFAS ................................................ 101

Page 13: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

22

1. INTRODUÇÃO

Nos últimos anos o mercado de beleza masculina vem demonstrando um crescimento

significativo no Brasil. Segundo a revista EXAME1 (2017), uma pesquisa realizada pela

empresa Euromonitor International aponta um crescimento de 7,1% no ano de 2015. A previsão

é que este número se mantenha até 2019, tornando o Brasil o maior mercado do mundo na

categoria.

Seguindo este crescimento ressurgem as barbearias, que além dos tradicionais cuidados

de cabelo e barba, trazem conceitos modernos para atender clientes que querem mais que um

lugar para cuidar da aparência. Serviços diferenciados como sinuca, venda de cervejas e dia do

noivo estão conquistando o mercado masculino.

Essa abordagem mais contemporânea do negócio contrasta, muitas vezes, com

mecanismos de gestão do século passado. Em muitas barbearias a marcação de horário, o

controle de vendas e de serviços realizados ainda é feito utilizando caneta e papel.

A utilização de serviços baseados na Web pode oferecer às barbearias maior

flexibilidade na gestão do negócio e um melhor alinhamento com seus clientes. Dessa forma,

este trabalho propõe o Barber Solutions, sistema que visa automatizar o processo de interação

com clientes e gestão do negócio.

O Barber Solutions oferece ao cliente a possibilidade de marcação de horário através de

um aplicativo de mensageria, e disponibiliza ao gestor da barbearia um sistema baseado na web

que permite controlar a agenda dos barbeiros e consultar a comissão a ser paga por serviços

realizados e por produtos vendidos, além de permitir calcular o faturamento da barbearia.

1.1 Objetivos

Este trabalho tem como objetivo geral desenvolver uma aplicação web moderna que auxilie

gestores de barbearias que desejam automatizar seu negócio. Para alcançar o objetivo geral, os

seguintes objetivos específicos foram definidos:

i. Permitir a marcação de horários utilizando um aplicativo de mensageria;

ii. Realizar a gestão da agenda dos barbeiros utilizando uma aplicação web;

1 https://exame.abril.com.br/negocios/dino/novo-conceito-de-barbearia-conquista-espaco-no-disputado-mercado-

de-beleza-brasileiro-shtml/

Page 14: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

23

iii. Controlar estoque e venda de produtos utilizando uma aplicação web;

iv. Fazer a gestão financeira da barbearia.

1.2 Metodologia

Para alcançar o objetivo específico (i) foi desenvolvido um chatbot. Inicialmente foi definido

qual aplicativo de mensageria seria utilizado, e o Facebook Messenger foi o aplicativo

selecionado, devido a quantidade de usuários e a facilidade de se criar um chatbot utilizando a

ferramenta Chatfuel. Assim esse chatbot permite marcar, alterar, excluir e verificar horários.

Para alcançar os demais objetivos específicos, foi desenvolvida uma aplicação cliente-servidor

que implementa todo o modelo de negócio da barbearia. O servidor foi implementado utilizando

o framework Spring Boot, e o cliente (views) foi desenvolvido utilizando a tecnologia Angular.

Ao final, foi realizado um questionário para validar o software desenvolvido.

1.3 Organização do Texto

Este trabalho está dividido em sete capítulos organizados da seguinte forma: o Capítulo 2,

apresenta a fundamentação teórica utilizada para o desenvolvimento do trabalho. No Capítulo

3 se encontra a fundamentação técnológica usada no desenvolvimento do projeto. No Capítulo

4 é apresentado como foi realizada a modelagem do Barber Solutions. O Capítulo 5 descreve o

desenvolvimento do projeto. O Capítulo 6 são apresentadas as conclusões e trabalhos futuros

do trabalho. Por fim, no Capítulo 7 encontra-se as referências utilizadas para a realização deste

trabalho.

Page 15: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

24

2. FUNDAMENTAÇÃO TEÓRICA

Este capítulo apresenta a fundamentação teórica deste trabalho. As próximas seções apresentam

conceitos teóricos relevantes para o entendimento e contextualização do desenvolvimento do

Barber Solutions.

2.1 Aplicação Web Moderna

A internet está cada vez mais integrada ao dia a dia das pessoas. Empresas, agências de turismo,

faculdades com educação a distância e o governo são exemplos de organizações que utilizam a

internet para melhorar e elevar seus negócios. Alinhado a isso, segundo Shahzad (2017), nos

últimos anos, inovações tecnológicas permitiram o desenvolvimento de aplicações móveis

responsivas.

Segundo Pena (2017), aplicações móveis caracterizam-se por serem ubíquas, móveis,

interativas, emocionais e devem proporcionar um conjunto de benefícios para o usuário.

Existem três tipos de aplicações móveis2: (i) Aplicações Web Móveis, aplicações que não

necessitam ser instaladas, são executados em browsers, (ii) Aplicações Nativas, aplicações

desenvolvidas especificamente para a plataforma móvel e que necessitam serem instaladas e

(iii) Aplicações Híbridas, aplicações que devem ser instaladas, mas com suas funcionalidades

desenvolvidas utilizando tecnologias web. Aplicações híbridas podem ser desenvolvidas com

com frameworks específicos, como o React Native3, ou acessado através da funcionalidade de

Web view, que permite exibir páginas web como parte do layout da aplicação4.

Segundo a revista EXAME5 (2018) o brasileiro tem em média 80 aplicações nativas

instaladas em seus dispositivos móveis, mas mensalmente usa apenas 40. Devido a isso, está se

tornando cada vez mais comum o desenvolvimento de aplicações web que podem ser

executadas tanto em desktops quanto em dispositivos móveis. Essas aplicações possuem

interfaces responsivas, isso significa que, suas interfaces são redimensionadas dependendo do

display disponível para sua visualização. Outra característica dessas novas aplicações é o fato

de não armazenarem nenhum dado, ou seja, toda a informação é apresentada através de modelos

2 https://www.opensoft.pt/diferencas-aplicacoes-nativas-web-hibridas/ 3 http://www.reactnative.com/ 4 https://developer.android.com/reference/android/webkit/WebView 5 https://exame.abril.com.br/tecnologia/brasileiro-gasta-200-minutos-por-dia-em-aplicativos-diz-estudo/

Page 16: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

25

que realizam busca em um banco de dados ou em requisições para Application Programming

Interfaces (APIs) disponíveis. Como exemplo, podemos citar as Single-Page Applications

(SPAs), uma tendência de aplicação web com um layout responsivo e que apresenta apenas

uma página HTML que é atualizada de acordo com a ação do usuário.

A FIGURA 2.1 ilustra a arquitetura de uma aplicação web moderna e através dela pode-

se perceber que o layout da aplicação se adapta a qualquer display disponível e é através desse

display que o usuário terá acesso as funcionalidades da aplicação. A cada interação do usuário

os dados são alterados, alterando assim os modelos da aplicação. Os modelos da aplicação são

preenchidos consumindo dados de APIs e banco de dados. A interface da aplicação se altera

em tempo real dependendo dos dados presentes nos modelos.

FIGURA 2.1 – Arquitetura de uma Aplicação Web Moderna

FONTE: Shahzad (2017)

2.2 Single-Page Application

Segundo Shahzad (2017), SPAs são aplicações web que apresentam apenas uma página HTML

que é atualizada de acordo com a ação do usuário. O objetivo de uma aplicação SPA é prover

uma experiência de usuário mais fluída e parecida com aplicações desktop6.

A FIGURA 2.2 ilustra a arquitetura de uma SPA. Percebe-se que na primeira integração,

o cliente realiza o download dos códigos (JavaScrip, CSS, HTML) para a exibição da aplicação

e renderiza a view para o display disponível para sua exibição. A partir deste momento são

6 https://patentimages.storage.googleapis.com/af/ac/08/5708fa91a81167/US9967309.pdf

Page 17: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

26

realizadas interações entre cliente-servidor de acordo com a necessidade do usuário. Essas

interações são realizadas de maneira assíncrona e tipicamente no formato JavaScript Object

Notation (JSON).

FIGURA 2.2 – Arquitetura de uma Single-Page Application

FONTE: Joseph (2015)

Para garantir rápidas interações, os códigos de inicialização da aplicação, devem possuir

um controlador de rotas Uniform Resource Locators (URLs). Essas rotas definem onde a

aplicação irá buscar os dados requisitados pelo usuário.

Os benefícios de se utilizar uma SPA são: (i) a necessidade de fazer o download dos

códigos iniciais apenas no primeiro acesso, (ii) após as funcionalidades serem carregadas, as

próximas interações requisitarão apenas dados, tendo assim uma interação mais leve e rápida e

(iii) reutilização dos códigos em diferentes dispositivos, como mobile, desktops e web.

Entretanto, aplicações SPA também apresentam desvantagens: (i) dependendo do tamanho dos

códigos iniciais, o primeiro acesso à aplicação SPA pode demorar e (ii) uma aplicação SPA é

mais difícil de ser ranqueada para sites de busca como o Google.

A FIGURA 2.3 apresenta uma aplicação SPA, esta aplicação apresenta apenas uma

página HTML e muda apenas seu conteúdo através de interações do usuário através do menu

apresentado na parte superior da página. É possível perceber que no primeiro acesso à página

estão sendo carregados suas funcionalidades e dados, como ilustra a FIGURA 2.4.

Page 18: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

27

FIGURA 2.3 – Aplicação SPA

FONTE: https://www.mercedes-benz.com/en/mercedes-benz/vehicles/passenger-cars/eqc/the-

eqc/

FIGURA 2.4 – Carregamento dos códigos iniciais da aplicão SPA.

FONTE: https://www.mercedes-benz.com/en/mercedes-benz/vehicles/passenger-cars/eqc/the-

eqc/

Page 19: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

28

2.3 Mashup

Mashup é uma aplicação Web que busca integrar dados e funcionalidades de fontes de dados

independentes. Segundo Agrizzi (2015), aplicações Mashup possuem como características,

simplicidade, usabilidade e facilidade de acesso. O objetivo é gerar algo novo para o usuário.

A maneira mais comum de se desenvolver uma aplicação Mashup é consumindo dados

de APIs públicas. Com dados de diversas fontes se torna possível criar serviços e apresentar

informações relevantes ao usuário. Empresas como Google, Amazon e Facebook estão

desenvolvendo APIs para aumentar sua presença na Internet mesmo não sendo em seus próprios

sites. A FIGURA 2.5 ilustra o funcionamento de uma aplicação Mashup.

FIGURA 2.5 – Funcionamento aplicação Mashup

FONTE: Autor

A Arquitetura de uma aplicação Mashup pode variar de duas formas, Mashups clientes

e Mashups servidores.

Mashups servidores integram serviços e dados no servidor, devido a isso todas as

requisições feitas por aplicações clientes serão realizadas para esse servidor.

Enquanto Mashups clientes integram serviços e dados diretamente na aplicação cliente,

assim realizando requisições em diversas fontes disponíveis. A FIGURA 2.6 apresenta a

arquitetura de uma aplicação Mashup servidor e a FIGURA 2.7 ilustra a arquitetura de uma

aplicação Mashup cliente.

Page 20: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

29

FIGURA 2.6 – Arquitetura Mashup servidor

FONTE: Sarraj (2014)

FIGURA 2.7 – Arquitetura Mashup cliente

FONTE: Sarraj (2014)

Page 21: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

30

Um exemplo de aplicação mashup é o WikiCrimes7, FIGURA 2.8, que tem como

objetivo relatar locais onde ocorreram crimes para alertar outras pessoas. Os relatos são

enviados pelos próprios usuários e podem ser em formato de texto, reportagens e videos. Para

alcançar esse objetivo o WikiCrimes utiliza a API do Google Maps, Youtube e informações de

crimes.

FIGURA 2.8 – Site do WikiCrimes

FONTE: http://www.wikicrimes.org/main.html

2.4 Chatbot

Bernardo e Santanchè (2017, p. 1) afirmam que: “chatbot é um programa de computador capaz

de simular uma conversa com um ser humano, seja através de texto ou de áudio e, para tanto,

estes softwares utilizam algoritmo para o processamento de linguagem natural”.

Esta tecnologia surgiu no início dos anos 60 quando o chatbot Eliza foi desenvolvido.

Utilizando reconhecimento de padrões e um sistema de resposta baseado em modelos, este

chatbot conseguia simular uma conversa com um psicoterapeuta no estilo não direcional, DALE

(2016).

7 http://www.wikicrimes.org/main.html

Page 22: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

31

Apesar dessa tecnologia existir a mais de 50 anos, somente em 2016 seu uso começou

a se popularizar e segundo Dale (2016), isso se deve ao fato de que o meio com que as pessoas

estão se comunicando mudou. Além de que, os Millenials preferem usar mídias digitais aos

outros canais de comunicação. Com a popularização dos dispositivos móveis, houve um

crescimento no desenvolvimento de aplicativos destinados a diversas áreas como:

entretenimento, ensino, compras, etc. Aplicativos destinados a troca de mensagens são os mais

utilizados pelos usuários. Exemplos como Facebook Messenger e Whatsapp possuem somados

mais de 2 bilhões de usuários.

Com este cenário, empresas estão adicionando aplicativos de mensageria como um de

seus serviços. Isso traz benefícios como maior fidelização e o poder de alcançar maior número

de clientes, auxiliar em pesquisas com diversas finalidades, e prover um atendimento que esteja

disponível a qualquer momento, entre outras.

A popularização dos chatbots despertou um grande interesse no desenvolvimento dessa

tecnologia, com isso várias plataformas foram desenvolvidas almejando facilitar o

desenvolvimento de um chatbot. Plataformas como ManyChat, Chattypeople e Chatfuel

permitem a criação de chatbots simples e complexos (utilizando APIs para integração com

outros sistemas). Por exemplo, os chatbots da Trivago e Netflix utilizam a plataforma Chatfuel

e o aplicativo de mensageria Facebook Messenger, conforme ilustra a FIGURA 2.9.

Page 23: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

32

FIGURA 2.9 – Chatbots do Trivago e Netflix

Fonte: Autor

Page 24: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

33

2.5 Scrum

Com o decorrer dos anos vários métodos de desenvolvimento de software foram propostos,

entre eles os métodos ágeis, os quais possuem como características a flexibilidade nas entregas

parciais, agregando valor ao negócio do cliente. Um desses métodos é o Scrum, considerado

ideal para o gerenciamento e planejamento de um projeto de software de pequeno ou médio

porte.

Carvalho e Mello (2012) levantaram os benefícios de se utilizar a metodologia Scrum.

São eles:

Aumento da satisfação de clientes;

Melhoria na comunicação;

Aumento de colaboração entre envolvidos nos projetos;

Aumento de investimentos em novos projetos;

Aumento de motivação;

Melhoria na qualidade do produto;

Aumento de produtividade da equipe;

Diminuição do tempo gasto para terminar os projetos;

Diminuição de risco.

O Scrum possui características para a sua utilização, o ponto inicial é o backlog do

produto que consiste em uma lista de funcionalidades ordenadas por prioridade, as quais

provavelmente serão desenvolvidas no decorrer do projeto. Estas funcionalidades são definidas

a partir dos requisitos levantados.

No primeiro momento é estimado o custo, é realizada uma análise dos riscos, são

definidas as datas para entrega de resultados, as ferramentas a serem utilizadas e a equipe que

ficará responsável pelo projeto.

A equipe responsável pelo projeto é dividida de acordo com o papel de cada membro.

Esses papéis são: Product Owner, Scrum Master e o Time de Desenvolvimento.

Product Owner é o cliente ou seu representante. Deve ser capaz de sanar qualquer

dúvida que o time de desenvolvimento possa ter em relação aos requisitos e definir a prioridade

do desenvolvimento.

Page 25: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

34

O Scrum Master trabalha para garantir a execução das melhores práticas da metodologia

e resolver impedimentos que estejam atrasando o time de desenvolvimento.

O Time de Desenvolvimento é responsável pelo desenvolvimento técnico dos

requisitos.

O desenvolvimento do projeto é dividido em ciclos de trabalho chamados de Sprints e

tem como premissa concluir atividades definidas no Sprint Backlog, um subconjunto do

Backlog do produto. Para definir o Sprint Backlog é realizada uma reunião de planejamento da

Sprint. A Sprint ainda possui como atividades uma reunião diária na qual membros do time

formalizam atividades realizadas, o que está sendo realizado e se há algum obstáculo para a

finalização da tarefa. Também ocorre uma reunião de revisão ao final da Sprint na qual o time

relata erros, acertos, lições aprendidas e caso seja necessário o Backlog do produto é alterado.

Ao final de cada Sprint é lançada uma versão do produto (em caso de desenvolvimento de

software).

Com as características definidas é possível demonstrar o fluxo a ser seguido pelo Scrum,

ilustrado pela FIGURA 2.10.

FIGURA 2.10 – Fluxo do Scrum

FONTE: DevMedia (2017)

Page 26: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

35

3. FUNDAMENTAÇÃO TECNOLÓGICA

O desenvolvimento de aplicações web voltadas para dispositivos móveis é fortemente baseado

no uso de frameworks e ferramentas de software que facilitam o desenvolvimento e aumentam

a produtividade. Neste trabalho, os seguintes frameworks e ferramentas foram utilizados:

- Spring Boot: Framework que visa facilitar os processos de desenvolvimento,

configuração e publicação de aplicações baseadas no Spring Framework.

- Angular: Framework utilizado para desenvolver aplicações modernas para web,

plataformas móveis ou desktop.

- ChatFuel: Plataforma para criar chatbot para ser utilizado via Facebook Messenger.

- JSON: Formato para intercâmbio de dados estruturados.

- Swagger: Conjunto de ferramentas voltado para o desenvolvimento e documentação

de APIs Representational State Transfer (REST).

Essas ferramentas serão detalhadamente apresentadas nas seções a seguir.

3.1 Spring Boot

Spring Boot, segundo Bianchi (2015), “trata-se de um framework que tem como objetivo

reaproveitar as tecnologias já existentes no Spring Framework, aumentando a produtividade do

desenvolvedor”.

O Spring Framework suporta o desenvolvimento de aplicações com diferentes cenários

e arquiteturas, isso porque é dividido em módulos8, ou seja, o desenvolvedor define quais

módulos utilizar. Entre esses módulos, pode-se citar os módulos de web, de persistência e de

segurança.

O Spring Boot permite desenvolver um software de uma maneira rápida e fácil, pois

exige pouca configuração para o início do desenvolvimento. É necessário apenas selecionar

quais módulos serão utlizados.

O Spring Boot possui quatro objetivos9:

Prover uma experiência de início de projeto extremamente rápida e direta;

8 https://docs.spring.io/spring/docs/5.1.2.RELEASE/spring-framework-reference/overview.html#overview 9https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/#getting-started-introducing-

spring-boot

Page 27: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

36

Apresentar uma visão simples sobre o modo como deve-se configurar os projetos

Spring, e ao mesmo tempo flexível o suficiente para que possa ser facilmente substituída

de acordo com os requisitos do projeto;

Fornecer uma série de requisitos não funcionais já pré-configurados para o

desenvolvedor como, por exemplo, métricas, segurança, acesso a base de dados,

servidor de aplicações/servlet embarcado, etc;

Não realizar geração de código e minimizar a zero a necessidade de arquivos XML.

Portanto, pode-se concluir que o Spring Boot funciona como uma camada sobre

tecnologias já consagradas pelo Spring Framework, como ilustra a FIGURA 3.1.

FIGURA 3.1 – Arquitetura do Spring Boot

FONTE: https://www.devmedia.com.br/spring-boot-simplificando-o-spring/31979

3.2 Angular

Angular é uma plataforma e framework para construção da interface de aplicações usando

HTML, CSS, JavaScript e TypeScript10.

TypeScript é um superset do JavaScript, ou seja, possui todas as funcionalidades do

JavaScript e mais algumas. O próprio Angular foi desenvolvido utilizando esta linguagem e é

também a mais utilizada para desenvolvimento em aplicações Angular. Como os navegadores

10 https://blog.algaworks.com/o-que-e-angular/

Page 28: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

37

atuais não suportam essa linguagem, deve ser gerado um códido JavaScript a partir do código

TypeScript.

O Angular permite o desenvolvimento de aplicações modernas para web, plataformas

móveis ou desktop11. Para isso, possui elementos básicos que auxiliam o desenvolvimento de

aplicações. O principais são: componentes, templates, diretivas, roteamento, módulos, serviços,

injeção de dependências e ferramentas de infraestrutura que automatizam tarefas.

Uma aplicação Angular é baseada em componentes, pois é possível reutilizá-los em

vários lugares na aplicação, tornando mais simples o desenvolvimento. Para criar as regras de

negócio são utilizados serviços, como por exemplo requisições REST, conforme ilustra a

FIGURA 3.2.

A aplicação web desenvolvida neste projeto segue esta arquitetura, garantindo

padronização e utilização das melhores práticas.

FIGURA 3.2 – Arquitetura de uma aplicação Angular

FONTE: https://blog.algaworks.com/o-que-e-angular/

11 https://angular.io/guide/quickstart

Page 29: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

38

3.3 Chatfuel

Chatfuel é uma plataforma de desenvolvimento de chatbots. O desenvolvimento se dá a partir

de um painel de controle em que o usuário pode criar blocos de respostas, adicionar inteligência

artificial, enviar mensagem broadcast, além de possuir estatísticas de uso e informar quem está

utilizando o chatbot. A FIGURA 3.3 apresenta o painel de controle do Chatfuel.

FIGURA 3.3 – Painel de Controle do Chatfuel

FONTE: https://dashboard.chatfuel.com

Os blocos de respostas são onde a maior parte da conversa se situa e para isso existem

diferentes estilos de mensagem, podendo ser uma mensagem de texto ou até requisições via

GET e POST para outros sistemas. A FIGURA 3.4 mostra as opções disponíveis de criação de

resposta de um chatbot utilizando Chatfuel.

Page 30: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

39

FIGURA 3.4 – Plugins disponíveis no Chatfuel

FONTE: https://dashboard.chatfuel.com

Devido a estes plugins e a existência do painel de controle do Chatfuel, a criação de um

chatbot é facilitada. Há possibilidade do usuário sem conhecimento em desenvolvimento de

software, criar seus próprios chatbots e integrar com outros sistemas utlizando o plugin Zapier,

que se caracteriza por ser uma plataforma de integração de ferramentas. A partir dela se torna

possível integrar mais de 1.000 sistemas disponíveis na Web, como Instagram, Facebook e

Gmail. Tanto Chatfuel quanto Zapier são ferramentas gratuitas, mas há exceções. No caso do

Page 31: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

40

Chatfuel é cobrado um valor dependendo da quantidade de pessoas que utilizam o chatbot e no

caso do Zapier há um aumento no valor quando se integra mais de duas ferramentas.

O Chatfuel também dispinibiliza uma API que utiliza JSON para integração sem a

necessidade do Zapier, possibilitando que desenvolvedores de softwares adicionem chatbots a

seus sistemas. A FIGURA 3.5 mostra como fazer uma requisição POST a partir do Chatfuel e

a FIGURA 3.6 como deve ser o formato do JSON para enviar um texto para o Chatfuel que

posteriormente será enviado ao usuário do chatbot.

FIGURA 3.5 – Plugin de POST no Chatfuel

FONTE: https://dashboard.chatfuel.com

FIGURA 3.6 – Formato JSON para enviar um text ao Chatfuel

FONTE: https://dpcs.chatfuel.com/api/json-api/json-api

Page 32: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

41

3.4 JSON

JSON é um formato de troca de dados estruturados. É baseado em texto, ou seja, o usuário pode

armazenar qualquer dado. Utiliza duas estruturas12, a primeira consiste em uma coleção de pares

chave/valor e a segunda em uma lista ordenada de valores.

JSON, por se tratar de texto simples, é fácil de ser interpretado por humanos e também

por outros sistemas, Portanto, uma vez criado o JSON, pode-se enviá-lo à outra aplicação.

Segundo Schmitt (2013). As principais vantagens do JSON são:

É compacto;

É de fácil entendimento para leitura como para desenvolvimento;

Mapeia muito facilmente as estruturas de dados usadas por muitas linguagens de

programação (números, strings, booleanos, nulos, matrizes e matrizes associativas);

Quase todas as linguagens de programação contém funções ou bibliotecas que podem

ler e escrever estruturas JSON.

3.5 Swagger

Swagger é um conjunto de aplicaçoes open-source que auxiliam no desenvolvimento de APIs

REST13. Suas principais ferramentas são:

Swagger Editor - Editor para o auxílio da criação do contrato;

Swagger UI14 - Permite documentar e consumir a API sem ter de desenvolver uma

lógica para isso;

Swagger Codegen - Geração de servidores em diversas tecnologias.

O Swagger especifica a OpenAPI, uma linguagem para descrição de contratos de APIs

REST15. Esses contratos permitem descrever toda a API, incluindo:

URLs disponíveis e qual tipo de operação (GET, POST, PUT e DELETE);

Dados necessários para requisições e suas respectivas respostas;

Licença, termos de uso e outras informações.

12 https://www,json.org 13 https://swagger.io/docs/specification/abount/ 14 https://swagger.io/tools/swagger-ui/ 15 blog.caelum.com.br/modeland0-apis-rest-com-swagger/

Page 33: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

42

3.6 Trello

Trello16 é uma ferramenta de gerenciamento de projetos em listas, podendo ser customizado

para atender as necessidades do usuário. Pode-se utilizá-lo para organizar tarefas diárias, planos

de viagem e organizar projetos de qualquer tamanho.

Nestas listas pode-se criar cartões com comentários, carregar anexos, criar checklists,

adicionar etiquetas e prazos.

Nas duas figuras seguintes é ilustrado a flexibilidade do Trello com a possibilidade de

se criar listas. Na FIGURA 3.7 foi criado um quadro com tarefas semanais e na FIGURA 3.8

um quadro seguindo o padrão scrum.

FIGURA 3.7 – Quadro de tarefas semanais

FONTE: Autor

FIGURA 3.8 – Quadro padrão scrum

FONTE:Autor

3.7 Bitbucket

Bitbucket é uma ferramenta que utiliza o sistema Git com o intuito de realizar versionamento

de um projeto17. Com isso é possível obter históricos das modificações, permitir criação de

16 https://trello.com/about 17 https://br.atlassian.com/software/bitbucket/features

Page 34: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

43

equipes para o desenvolvimento do projeto, e permitir um comparativo entre várias versões do

projeto18 . Permite também controlar o acesso ao projeto, assim cada pessoa que faz parte da

equipe tem suas permissões bem definidas.

A FIGURA 3.9 apresenta o painel de controle do Bitbuket, onde pode-se visualizar o

código fonte do projeto e todas as funcionalidades do sistema Git.

FIGURA 3.9 – Painel de controle Bitbucket

FONTE: Autor

18 https://medium.com/trainingcenter/controle-de-vers%C3%A3o-git-github-e-bitbucket-afinal-o-que-%C3%A9-

tudo-isso-9fa13fc13307

Page 35: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

44

4. MODELAGEM DO BARBER SOLUTIONS

Um dos elementos que contribuem para o sucesso de desenvolvimento de um software é a sua

modelagem. Modelos são construídos para auxiliar na compreensão de sistemas em

desenvolvimento.

Pode-se utilizar modelos para visualizar o que se é esperado como resultado final,

especificar comportamentos do sistema e documentar as tomadas de decisões19.

Portanto, os modelos auxiliam a equipe a ter uma visão mais abrangente do funcionamento do

sistema, e assim, desenvolvê-lo de forma mais rápida e correta20. Neste trabalho, a modelagem

foi realizada da seguinte maneira:

- Levantamento de requisitos: Realizado em reuniões que utilizaram duas técnicas,

brainstorm e entrevista;

- Tabela de requsitos Funcionais e Não Funcionais: Classificação e definição de

prioridade dos requisitos levantados;

- Casos de uso: Representar as funcionalidades do Barber Solutions a partir dos

requisitos funcionais;

- Modelo de dados: Definição do conceito do banco de dados desenvolvido e sua

ilustração.

Esses tópicos estão detalhados nas seções a seguir.

4.1 Levantamento de Requisitos

Levantar Requisitos é o processo de definição das necessidades dos stakeholders, parte

interessada do projeto. O processo de coleta dos requisitos deve definir funções e

funcionalidades do produto que o projeto se propõe a criar21.

Segundo Sommerville (2011), para auxiliar na elicitação de requisitos, são utilizadas algumas

técnicas que serão detalhadas a seguir.

19http://www.ppgia.pucpr.br/~alcides/Teaching/ProgramasAprendizagem/ModelagemOrientadaObjetos/Introduc

ao.html 20 http://www.linhadecodigo.com.br/artigo/1293/a-importancia-do-modelagem-de-objetos-no-desenvolvimento-

de-sistemas.aspx 21 http://pm2all.blogspot.com/2011/09/pmbok-51-coletar-os-requisitos.html

Page 36: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

45

Entrevistas: Nesta técnica clientes e/ou usuários são entrevistados pelo desenvolvedor,

com o intuito de permitir o entendimento dos requisitos do sistema. Existem dois tipos

de entrevista, (i) fechada, onde as perguntas já estão pré-definidas e (ii) aberta, que se

adapta para explorar o conhecimento do stakeholder sem agenda pré-definida.

Brainstorm: Técnica muito utilizada para o desenvolvimento de idéias criativas, com o

intuito de criar idéias novas ou resolver problemas.

Cenários Casos de Uso: Descreve uma situação de uso do sistema, identificando

usuários, principais funcionalidades e interação entre usuário e sistema.

Etnografia: Técnica de observação utilizada para compreender os requisitos sociais e

organizacionais.

Reutilização de requisitos: Considerar reutilizar requisitos que já foram desenvolvidos

em outros sistemas.

Prototipação: Técnica que consiste em implementar uma parte do sistema para que o

usuário possa dar um feedback sobre o levantamento de requisitos.

Joint Application Development (JAD): Propõe criar sessões de trabalho com dinâmicas

de grupo e recursos virtuais, onde usuários e analistas trabalham juntos para projetar um

sistema.

Para o levantamento de requisitos deste trabalho, foram realizadas três reuniões com o

stakeholder, gerente de uma barbearia. Em uma delas foi utilizada a técnica de entrevista e nas

reuniões restantes foi utilizada a técnica de brainstorm.

As duas primeiras reuniões foram realizadas de maneira informal. Utilizando a técnica

de brainstorm, foi possível identificar o problema e qual a solução esperada pelo stakeholder.

A última reunião foi realizada de maneira formal, visando alinhar cliente e autor sobre os

problemas e documentar quais seriam as soluções que seriam satisfatórias para o stakeholder.

No ANEXO A, é apresentado o documento que foi gerado para a realização da entrevista.

4.2 Requisitos Funcionais e Não Funcionais

Requisitos Funcionais descrevem as funcionalidades do produto e podem ser divididos em

requisitos funcionais de cliente e requisitos funcionais de sistema.

Page 37: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

46

Requisito funcional de cliente apresenta uma noção pouco detalhada sobre o que o

sistema deve fazer. Em contrapartida, requisito funcional de sistema deve descrever os serviços

do sistema detalhadamente22.

Requisitos não funcionais restringem os requisitos funcionais, ou seja, requisitos não

funcionais especificam que o produto entregue deve se comportar de maneira particular. Devido

a isso, pode ser dividido em subgrupos, por exemplo, usabilidade, confiabilidade, desempenho,

segurança.

Os requisitos funcionais e não-funcionais do projeto são apresentados pelo documento

de requisitos presente no Apêndice B.

4.3 Casos de Uso

Um documento de casos de uso tem a finalidade de representar as funcionalidades de um

software e quais atores (tipos de usuários) podem utilizar essas funcionalidades. Para este

trabalho foi identificado três atores: (i) ator que representa o gerente de uma barbearia, (ii) ator

que representa o barbeiro e (iii) o ator que representa o cliente.

As funcionalidades que cada ator pode acessar foram definidas de acordo com os

objetivos de cada ator. Devido a isso, o ator cliente, foi limitado às funcionalidades de manter

cliente e horas agendadas. Já o ator barbeiro, tem acesso às funcionalidades de manter venda,

horário agendado, lançar serviço realizado e manter cliente. Por fim, o ator gerente pode acessar

todas as funcionalidades.

Com a definição dos requisitos, atores e funcionalidades permitidas para cada ator, é

possível criar um diagrama de casos de uso do Barber Solutions, ilustrado na FIGURA 4.1.

22 https://is.gd/AsxJQ5

Page 38: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

47

FIGURA 4.1 – Diagrama de Casos de Uso

FONTE: Autor

Page 39: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

48

4.4 Modelo de dados

Segundo Machado (2018), modelagem de dados é o estudo das informações existentes em um

contexto sob observação, para a construção de um modelo de representação e entendimento de

tal contexto. Tal modelo deve representar com precisão os dados requeridos pela aplicação,

para que possa ser revisado pelo usuário e ao mesmo tempo, deve ser detalhado o suficiente

para a implementação.

O modelo de Entidade-Relacionamento (ER) é o método mais comum para construção

de modelos de dados para banco de dados relacionais (MACHADO, 2018).

Devido ao Barber Solutions possuir múltiplos dados (entidades) que devem se

relacionar para obter o resultado esperado, definiu-se que seria desenvolvido um banco de dados

relacional. Um banco de dados relacional é dividido em tabelas com linhas e colunas, onde cada

linha representa uma ocorrência do objeto decrita por valores em cada coluna.

O sistema possui oito tabelas, sendo que todas possuem relacionamentos com alguma

outra tabela. Duas tabelas são as principais, onde ficam armazenados os dados referentes ao

negócio que o Barber Solutions visa automatizar. São elas: appointment e sale.

A tabela appointment concentra informações de horas agendadas. Nela é possível

visualizar qual cliente fez o agendamento, qual barbeiro foi escolhido para a realização do

serviço, quais foram os serviços solicitados, data e hora do agendamento, forma de pagamento,

forma de agendamento e o status do agendamento. O status do agendamento pode ser:

agendamento marcado, realizado ou perdido.

Já a tabale sale, possui informações das vendas da barbearia. Entre as informações

disponíveis estão: cliente que realizou a compra, barbeiro que realizou a venda, data da venda,

produtos vendidos e a forma de pagamento.

Definido os requisitos funcionais e por possuir o diagrama de casos de uso, foi possível

realizar a modelagem de dados e criar o diagrama de ER para representação dos dados

requiridos pelo sistema. O diagrama ER do Barber Solutions pode ser visualizado na FIGURA

4.2.

Page 40: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

49

FIGURA 4.2 – Diagrama de Entidade-Relacionamento

FONTE: Autor

Page 41: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

50

5. IMPLEMENTAÇÃO DO BARBER SOLUTIONS

O desenvolvimento do projeto foi dividido em três módulos principais, servidor, aplicação web

e chatbot. O servidor foi desenvolvido utilizando a tecnologia Spring Boot. A escolha dessa

tecnologia se deu pelo fato do rápido desenvolvimento e pela baixa necessidade de configuração

para o início do projeto. A ferramenta Chatfuel foi escolhida para o desenvolvimento do chatbot

devido à facilidade de criar fluxos de diálogos e pela possibilidade de integração REST. Por

fim, o desenvolvimento da aplicação web foi feito utilizando a tecnologia Angular pela

produtividade e qualidade que oferece. O template (AdminLTE22) foi utilizado para agilizar

ainda mais o desenvolvimento.

Em função das características do projeto, foi utilizada a metodologia ágil scrum. O autor

deste trabalho executou as atividades do scrum master e do time de desenvolvimento e o papel

de product owner ficou a cargo do cliente sendo ele o gerente de uma barbearia.

As etapas apresentadas no capítulo 4 permitiram a criação do product backlog, exibido

no QUADRO 5.1, o qual foi utilizado para realizar os ciclos de trabalho (sprints).

QUADRO 5.1 – Product Backlog

Requisito Tarefa Importância

RF01 Cadastrar barbeiro 100

RF02 Alterar barbeiro 100

RF03 Remover barbeiro 100

RF04 Visualizar barbeiro 100

RF05 Cadastrar serviço 100

RF06 Alterar serviço 100

RF07 Remover serviço 100

RF08 Visualizar serviço 100

RF09 Cadastrar produto 100

RF10 Alterar produto 100

RF11 Romover produto 100

RF12 Visualizar produto 100

RF13 Cadastrar cliente 100

Page 42: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

51

RF14 Alterar cliente 100

RF15 Remover cliente 100

RF16 Visualizar cliente 100

RF17 Realizar controle de horas disponíveis 100

RF18 Agendar serviço 100

RF19 Alterar serviço agendado 100

RF20 Cancelar serviço agendado 100

RF21 Visualizar serviço agendado 100

RF22 Realizar venda 100

RF23 Alterar venda 100

RF24 Cancelar venda 100

RF25 Visualizar venda 100

RF26 Realizar autenticação 100

RF27 Integrar com API da Agenda do Google 100

RF28 Gerar relatório dos serviços realizados 100

RF29 Gerar relatório das vendas realizadas 100

RF30 Gerar relatório da forma de pagamento 100

RF31 Gerar relatório da forma de agendamento 100

RF32 Gerar relatório de serviços e vendas por barbeiro 100

RF33 Gerar relatório financeiro da barbearia 100

RF34 Gerar relatório financeiro por barbeiro 100

RF35 Desenvolver API de integração 100

RF36 Desenvolver ciclo de diálogo do chatbot 100

RF37 Integrar chatbot com a API desenvolvida 100

RF38 Desenvolver tela principal 100

RF39 Desenvolver tela de serviços agendados 100

RF40 Desenvolver tela de clientes 100

RF41 Desenvolver tela de produtos 100

RF42 Desenvolver tela de barbeiros 100

RF43 Desenvolver tela de serviços 100

RF44 Desenvolver tela de relatório 100

Page 43: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

52

RF45 Integrar com API desenvolvida 100

FONTE: Autor

Para organizar e controlar o desenvolvimento do projeto, foi utilizado a ferramenta

Trello. O uso desta ferramenta facilitou a visualização das tarefas a serem realizadas em cada

sprint, além do controle do product backlog. Foi criado um quadro com quatro listas: product

backlog. sprint backlog, fazendo e concluído, ilustrado na FIGURA 5.1.

FIGURA 5.1 – Quadro da ferramenta Trello de gerenciamento do projeto (Sprint 1)

FONTE: Autor

As sprints do projeto seguiram o fluxo do Scrum, apresentado da FIGURA 2.9, sendo o

primeiro passo a reunião de abertura da sprint, na qual foram definidas as tarefas a serem

realizadas na sprint com a participação do product owner. Ao final da sprint foi realizada a sua

entrega ao product owner, para que fosse feita sua aprovação e validação.

As sprints do projeto tiveram duração entre 25 e 30 horas, com datas de entrega

marcadas a cada duas semanas, sendo o tempo de duração do projeto de seis semanas. Ao final

de cada sprint foi gerado uma versão funcional do projeto. O controle de versão foi realizado

através da ferramenta Bitbucket. As sprints do projeto serão detalhadas nas próximas seções.

Page 44: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

53

Ao final da sprint 3, foi realizado um questionário para a validação do sistema. O

questionário foi realizado após duas tarefas pré estabelecidas, agendar um horário e realizar

uma venda.

5.1 Sprint 1

A reunião de abertura da primeira sprint definiu como objetivo o desenvolvimento dos

requisitos: RF01, RF02, RF03, RF04, RF05, RF06, RF07, RF08, RF09, RF10, RF11, RF12,

RF13, RF14, RF15, RF16, RF17, RF18, RF19, RF20, RF21, RF22, RF23, RF24 e RF25.

Após a modelagem do banco de dado, ele foi criado e foram desenvolvidas todas as

funções necessárias para a manipulação referente aos requisitos pré-estabelecidos. Portanto, o

sistema passou a possibilitar a inserção, alteração, remoção e visualização dos seguintes dados:

barbeiro, cliente, serviço, produto, horas agendadas e vendas.

Nesta sprint também foi implementada a lógica para controle de dias e horas

disponíveis. O controle desses dados é essencial para o funcionamento da barbearia, evitando

conflitos de atendimento a clientes e otimizando a marcação ou alteração de agendamento de

serviços.

O desenvolvimento da lógica de controle de dias e horas disponíveis foi a

funcionalidade que demandou mais tempo, e para sua total funcionalidade é necessário passar

a informação de quais serviços o cliente opta realizar, com definição de barbeiro e data

escolhida. Portanto, a necessidade desses dados determinaram o fluxo para agendar um horário.

Por fim, foram apresentadas as funcionalidades desenvolvidas ao product owner, e ele

aceitou a entrega da sprint. Assim a sprint foi considerada um sucesso, atendendo todos seus

requisitos. Como resultado se obteve a versão 0.1.0 do servidor.

5.2 Sprint 2

A reunião de abertura da segunda sprint definiu como objetivo o desenvolvimento dos

requisitos: RF26, RF27, RF35, RF36 e RF37. As primeiras tarefas executadas foram as que

tinham maior importância para o product owner.

Page 45: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

54

Portanto, a primeira tarefa realizada foi o desenvolvimento da API de integração. Foram

criadas todas as URLs necessárias para acessar os dados desenvolvidos na primeira sprint e as

respostas foram desenvolvidas em formato JSON, como é apresentado na FIGURA 5.2.

FIGURA 5.2 – Resposta de um cliente em format JSON

FONTE: Autor

Como o servidor não possui interface, foi implementado o Swagger UI com o objetivo

de documentar a API e também consumi-la, assim podendo realizar testes para validar as

funcionalidades implementadas. A FIGURA 5.3 ilustra como o Swagger UI apresenta as URLs

da API.

FIGURA 5.3 – Documentação e métodos para consumir a API desenvolvida

FONTE: Autor

A seguir foi realizado a integração com a Agenda do Google. O primeiro passo é o

cliente permitir que o sistema realize operações em sua agenda. Para isso o sistema apresenta

Page 46: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

55

uma tela solicitando autorização ao usuário, como mostra a FIGURA 5.4. Ao conceder a

autorização o sistema poderá manipular a agenda do usuário.

FIGURA 5.4 – Tela de autorização da Agenda do Google

FONTE: Autor

Para manipular eventos da agenda, foram criados três novos métodos no servidor: criar

evento, alterar evento e deletar evento.

Com o intuito de garantir que os dados dos eventos da Agenda do Google sejam os

mesmos que estão salvos no banco de dados do sistema, todas as funcionalidades referentes ao

agendamento de horário seguem o fluxo apresentado na FIGURA 5.5. Para testar a integração

e o fluxo foi utilizado o Swagger UI.

Page 47: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

56

FIGURA 5.5 – Fluxo das funcionalidades de agendar horário

FONTE: Autor

Por fim, foi desenvolvido o chatbot utilizando a ferramenta do Chatfuel. Após testes, o

fluxo de diálogo foi criado. Para evitar erros de uso do chatbot, o diálogo é baseado em propor

respostas prontas para o usuário. A FIGURA 5.6 mostra o chatbot propondo respostas referentes

ao dia em que o cliente quer ser atendido.

FIGURA 5.6 – Diálogo entre chatbot e usuário

FONTE: Autor

Page 48: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

57

A tarefa para realizar autenticação para utilizar sistema foi rejeitada pelo product owner

pelo fato de que sua implementação demoraria mais do que o estimado. O problema foi

identificado no começo da implementação desta tarefa, pois como há aplicações diferentes para

acessar funcionalidades e informações (aplicação web e chatbot), o servidor deve ser

configurado para tratar de forma diferente as requisições recebidas. Caso uma requisição seja

proveniente da aplicação web, é necessário gerar um token de acesso. No caso do chatbot, o

servidor deve identificar que tal requisição partiu do chatbot e não exigir mais o token

permitindo o acesso.

A sprint foi entregue e apresentada através do chatbot desenvolvido, onde foi possível

expôr que todas as funcionalidades da sprint foram desenvolvidas. O product owner relatou que

se sentiu satisfeito pelo contato quando houve uma situação de tomada de decisão, e aprovou a

entrega.

Como resultado foi gerado uma nova versão do servidor (0.2.1) e a versão 0.1.1 do

chatbot.

5.3 Sprint 3

A reunião de abertura da terceira sprint definiu como objetivo o desenvolvimento dos

requisitos: RF28, RF29, RF30, RF31, RF32, RF33, RF34, RF38, RF39, RF40, RF41, RF42,

RF43, RF44 e RF45.

A primeira tarefa realizada foi o desenvolvimento de uma aplicação web utilizando a

tecnologia Angular. Para agilizar o desenvolvimento foi utilizado um template gratuito

chamado AdminLTE.

Todo o conteúdo exibido pela aplicação é consumido através da API do servidor

desenvolvido na sprint 2, como ilustra a FIGURA 5.7 e 5.8.

Page 49: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

58

FIGURA 5.7 – Tela de cliente

FONTE: Autor

FIGURA 5.8 – Tela de agendamentos marcados

FONTE: Autor

A FIGURA 5.9 apresenta as agendas dos barbeiros. Essa agenda é um código HTML

que a Agenda do Google disponibiliza para que a agenda possa ser exibida em outras aplicações.

Page 50: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

59

FIGURA 5.9 – Tela da agenda dos barbeiros

FONTE: Autor

Seguindo com a sprint, foi desenvolvida a geração do relatório no servidor onde também

foi desenvolvido o controle financeiro. Esse relatório apresenta as seguintes informações: (i)

renda total, (ii) renda por serviço, (iii) renda por produto, (iv) quantidade de serviços realizados,

(v) quantidade de cada serviço realizado, (vi) quantidade de produtos vendidos, (vii) quantidade

de cada produto vendido, (viii) forma de pagamento dos serviços e vendas, (ix) forma de

agendamento, (x) quantidade de vendas, total e por produto, realizadas por barbeiro, (xi)

quantidade de serviços realizados, total e por serviço, por barbeiro, (xii) comissão a ser paga ao

barbeiro referente a serviços realizados, (xiii) comissão a ser paga ao barbeiro referente a

vendas de produtos. Enfim, todos os dados necessários para garantir a gerência de uma

barbearia. As figuras a seguir apresentam a tela de relatório do sistema. (i) FIGURA 5.10 mostra

informações gerais, (ii) FIGURA 5.11 apresenta informações sobre serviços, vendas e forma

de pagamento e agendamento e (iii) FIGURA 5.12 apresenta informações por barbeiro.

Page 51: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

60

FIGURA 5.10 – Tela de relatório: Informações Gerais

FONTE: Autor

FIGURA 5.11 – Tela de relatório: Informações sobre serviços, vendas, forma de pagamento e

agendamento

FONTE: Autor

Page 52: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

61

FIGURA 5.12 – Tela de relatório: Informações por barbeiro

FONTE: Autor

Os teste das funcionalidades foram realizados pelo scrum master. Assim que todas as

funcionalidades passaram nos testes, o product owner foi convidado para testar a usabilidade.

Esse teste teve como objetivo testar todas as telas da aplicação para garantir boa visualização

das informações e facilidade de obtê-las. Como resultado, a usabilidade da aplicação foi

aprovada pelo product owner.

Por fim, a sprint foi apresentada ao product owner através da aplicação web

desenvolvida. O product owner relatou estar satisfeito com a usabilidade e funcionalidade da

aplicação, e aprovou a entrega da sprint.

Como resultado foi gerado uma nova versão do servidor (1.0.0), uma nova versão do

chatbot (1.0.0) e uma versão da aplicação web (1.0.0).

5.4 Avaliação da Usabilidade do Barber Solutions

Para avaliar a usabilidade do software, foram propostas duas importantes tarefas para o

funcionamento do negócio da barbearia, agendar serviços e realizar vendas, essas tarefas são

Page 53: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

62

apresentadas no Apêndice C. As tarefas foram realizadas no computador da barbearia e teve

participação do gerente e de todos os barbeiros.

Após a realização das tarefas, foi aplicado um questionário baseado na escala Likert

cujas alternativas de resposta são entre 1 e 5, sendo a opção 1 – Discordo totalmente, a opção 2

– Discordo parcialmente, a opção 3 – Indiferente, a opção 4 – Concordo parcialmente e a opção

5 – Concordo totalmente (Apêndice D).

Segundo Nielsen (2012), usabilidade pode ser definido por cinco componentes: (i)

tempo de aprendizagem, tempo necessário para o usuário aprender a realizar as tarefas, (ii)

desempenho, quantidade de tempo necessário para a realização das tarefas, (iii) taxa de erro

cometidos pelo usuário, quantidade e nível de erro apresentados durante a execução das tarefas,

(iv) sedimentação do conhecimento por experiência, capacidade de reproduzir o que foi feito a

partir do conhecimento obtido e (v) satisfação subjetiva, nível de satisfação apresentado pelo

usuário.

No Quadro 5.1 são apresentados os critérios de avaliação e as questões que

correspondem a cada um deles.

Quadro 5.1 - Questões relacionadas aos critérios de usabilidade

Critério Questões

Tempo de Aprendizagem 1. As informações apresentadas na tela são de

fácil entendimento?

2. Foi fácil executar a tarefa?

3. Os botões das funcionalidades do sistemas

estavam intuitivos?

Desempenho 4. A tarefa executada foi simples?

5. A tarefa foi realizada rapidamente?

Taxa de erros cometidos pelo

usuário

6. Foi possível realizar a tarefa sem cometer erros?

7. Caso tenha ocorrido algum erro, foi fácil corrigi-

lo?

Page 54: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

63

Sedimentação do conhecimento por

experiência

8. Você executaria a tarefa novamente?

9. È fácil lembrar como realizar a tarefa?

10. Foi intuitivo realizar a tarefa?

Satisfação subjetiva 11. Você se sentiu satisfeito com o Barber

Solutions?

12. A interface agradou?

13. Usaria o Barber Solutions novamente?

5.4.1 Análise

Utilizando os gráficos apresentados na FIGURA 5.13 e na FIGURA 5.14, para analisar os

resultados das duas tarefas, nota-se que os resultados positivos se sobressairam (resposta 4 ou

5). A tarefa 1 obteve 71% de respostas positivas enquanto a tarefa 2 obteve 62%.

FIGURA 5.13 – Gráfico da avaliação da usabilidade da Tarefa 1

FONTE: Autor

2%14%

13%

27%

44%

T1

Discordo Totalmente

Discordo Parcialmente

Indiferente

Concordo Parcialmente

Concordo Totalmente

Page 55: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

64

FIGURA 5.14 – Gráfico da avaliação da usabilidade da Tarefa 2

FONTE: Autor

As respostas neutras (3) e negativas (1 ou 2) se concentraram nos critérios de

desempenho e sedimentação do conhecimento por experiência, apresentados nas FIGURAS

5.15 e 5.16. Com isso pode-se concluir que as tarefas tiveram uma complexidade mais elevada

e que o desenvolvimento de guias e exemplos passo a passo auxiliariam na realização dessas

tarefas.Um solução pode ser botões de ajuda para apresentar dicas de como executar as tarefas.

FIGURA 5.15 – Gráfico do desempenho

FONTE: Autor

2%

17%

19%

25%

37%

T2

Discordo Totalmente

Discordo Parcialmente

Indiferente

Concordo Parcialmente

Concordo Totalmente

0

1

2

3

4

5

6

DiscordoTotalmente

DiscordoParcialmente

Indiferente ConcordoParcialmente

ConcordoTotalmente

Qu

anti

dad

e d

e R

esp

ost

as

Desempenho

Page 56: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

65

FIGURA 5.16 – Gráfico da sedimentação do conhecimento por experiência

FONTE: Autor

O critério taxa de erros cometidos pelo usuário dividiu-se em notas positivas e negativas,

como mostra a FIGURA 5.17, pois ocorreram alguns erros de utilização da aplicação, mas que

os usuários conseguiram analisar e corrigir esses erros. Por exemplo, a função de adicionar

quais serviços deveriam ser realizados ao agendar serviços gerou dificuldade para os usuário,

mas que ao cometerem o erro uma vez, conseguiram corrigi-lo.

FIGURA 5.17 – Gráfico da taxa de erros cometidos pelo usuário

FONTE: Autor

0

1

2

3

4

5

6

7

8

DiscordoTotalmente

DiscordoParcialmente

Indiferente ConcordoParcialmente

ConcordoTotalmente

Qu

anti

dad

e d

e R

esp

ost

as

Sedimentação do conhecimento por experiência

0

0,5

1

1,5

2

2,5

3

3,5

4

4,5

DiscordoTotalmente

DiscordoParcialmente

Indiferente ConcordoParcialmente

ConcordoTotalmente

Qu

anti

dad

e d

e R

esp

ost

as

Taxa de erros cometidos pelo usuário

Page 57: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

66

Nota-se a partir das FIGURAS 5.18 e 5.19, que os critérios que obtiveram mais

respostas positivas foram tempo de aprendizagem e satisfação subjetiva. Isso comprova que o

Barber Solutions agradou aos usuários e trouxe mais rapidez para as tarefas da barbearia.

FIGURA 5.18 – Gráfico do tempo de aprendizagem

FONTE: Autor

FIGURA 5.19 – Gráfico da satisfação subjetiva

FONTE: Autor

0

5

10

15

20

25

DiscordoTotalmente

DiscordoParcialmente

Indiferente ConcordoParcialmente

ConcordoTotalmente

Qu

anti

dad

e d

e R

esp

ost

as

Tempo de Aprendizagem

0

2

4

6

8

10

12

DiscordoTotalmente

DiscordoParcialmente

Indiferente ConcordoParcialmente

ConcordoTotalmente

Qu

anti

dad

e d

e R

esp

ost

as

Satisfação subjetiva

Page 58: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

67

6. CONCLUSÃO

Com o desenvolvimento deste trabalho, concluiu-se que uma aplicação web moderna voltada

ao gerenciamento de uma barbearia apresentou resultados muito satisfatórios, possibilitando a

automatização deste ramo que está em amplo crescimento no Brasil. O sistema trouxe inovação

tecnológica e agilidade a atividades que antes eram realizadas de forma manual demandando

muito tempo.

A utilização da metodologia Scrum, possibilitou que o projeto fosse organizado de uma

maneira rápida, visando entregas incrementais e funcionais do projeto, com o objetivo de

concluir todos os requisitos levantados.

Os desafios do desenvolvimento foram as integrações realizadas com APIs de fontes

independentes, devido a necessidade de adequar o sistema a diferentes formas e formatos de

comunicação em diferentes linguagens de programação.

Concluiu-se ainda que todas as tecnologias utilizadas ofereceram benefícios importantes

para o desenvolvimento deste projeto. O Spring Boot ofereceu rápida inicialização do projeto

e utilização da linguagem de programação Java, facilitando o desenvolvimento devido a

experiência do autor com esta linguagem. O Chatfuel permitiu rápida configuração e validação

do chatbot. Angular possui funcionalidades que torna o desenvolvimento de uma aplicação web

mais fácil.

Ao final da sprint 3, foi realizada a entrega de uma versão totalmente funcional e que

foi aceita pelo Product Owner do projeto, o gerente de uma barbearia. A facilidade de utilização

da aplicação web e do chatbot foi um ponto elogiado, bem como a rapidez que o sistema trouxe

a todas as atividades da barbearia.

Por fim, ao realizar a avaliação usabilidade pode-se concluir que a interface do Barber

Solutions ajudou na realização das tarefas propostas, mas como são necessários muitos dados

e passos para a realização das tarefas, elas não foram consideradas simples de se realizar.

6.1 Trabalhos Futuros

Na fase de conclusão do projeto foram identificadas melhorias que podem ser implementadas

no futuro. A primeira diz respeito à segurança do sistema, pois como há requisições feitas de

diferentes fontes o sistema deve ser capaz de garantir a segurança das informações. Com essa

Page 59: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

68

melhoria o produto pode ser comercializado de maneira integral. A segunda é a criação de login

diferenciado para barbeiros e gerentes de barbearias, para que não seja necessário o

gerente da barbearia inicializar o sistema. Um módulo de mineração de dados pode ser

implementado para entender melhor o comportamento do cliente, e assim prover serviços

personalizados. Por último, aprimorar o relatório, possibilitando filtrar pela data escolhida pelo

gerente.

Page 60: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

69

7. REFERÊNCIAS

AGRIZZI, Bruno Alves. Uma Abordagem para Integração de Internet das Coisas e

Aplicações Web. 2015. 37 f. TCC (Graduação) - Curso de Ciência da Computação,

Universidade Federal do Espírito Santo, Vitória, 2015.

BERNARDO, Rogério O.; SANTANCHÈ, André. Aplicação de chatbots no

desenvolvimento de jogos em saúde. 2017. 12 f. TCC (Graduação) - Curso de

Computação, Universidade Estadual de Campinas, Campinas, 2017.

BIANCHI, Evaldo Augusto. Sistema de Envio e Recebimento de Mensagens para

Plataforma Android utilizando Spring Boot e Google Cloud Messaging. 2015. 56

f. Monografia (Especialização) - Curso de Curso de Especialização em Tecnologia Java,

Universidade Tecnológica Federal do Paraná, Pato Branco, 2015.

CARVALHO, Bernardo Vasconcelos de; MELLO, Carlos Henrique Pereira. Aplicação do

método ágil scrum no desenvolvimento de produtos de software em uma pequena empresa de

base tecnológica. Gestão & Produção, São Carlos, v. 19, n. 3, p.557-573, 2012.

FapUNIFESP (SciELO). http://dx.doi.org/10.1590/s0104-530x2012000300009.

DALE, Robert. The return of the chatbots. Natural Language Engineering, [s.l.], v. 22, n.

05, p.811-817, set. 2016. Cambridge University Press (CUP).

http://dx.doi.org/10.1017/s1351324916000243.

FERREIRA, João Luiz Mafra. Aplicação Web Para Gerenciamento de Campeonatos

de Futebol. 2017. 166 f. TCC (Graduação) - Curso de Sistemas de Informação, Universidade

Federal de Santa Catarina, Florianópolis, 2017.

JOSEPH, Renien John. Single Page Application and Canvas Drawing. International Journal

Of Web & Semantic Technology, [s.l.], v. 6, n. 1, p.29-37, 31 jan. 2015. Academy and

Industry Research Collaboration Center (AIRCC). http://dx.doi.org/10.5121/ijwest.2015.6103.

Page 61: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

70

Disponível em: <https://arxiv.org/ftp/arxiv/papers/1502/1502.03530.pdf>. Acesso em: 03 nov.

2018.

MACHADO, Felipe Nery Rodrigues. Banco de Dados - Projeto e Implementação. 3.

ed. [s. I.]: Saraiva, 2018. Disponível em:

<https://books.google.com.br/books?id=N4diDwAAQBAJ&printsec=frontcover&hl=pt-

BR&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=false>. Acesso em: 02 nov. 2018.

Nielsen. J.(2012). Usability 101: Introduction to Usability .

https://www.nngroup.com/articles/usability-101-introduction-to-usability/. Accessed on 04

december 2018.

PENA, Joana Rita Amaral. Projeto de conceito e estrutura de uma aplicação mobile

para o setor do Turismo Cultural Urbano. 2017. 51 f. Dissertação (Mestrado) - Curso de

Publicidade e Marketing, Escola Superior de Comunicação Social, [s. I.], 2017.

SARRAJ, Wael Al. TOWARD USABILITY EVALUATION CRITERIA FOR WEB

MASHUP MAKERS FOR END- USERS. International Journal Of Advanced

Computer Technology. Palestina, p. 23-32. out. 2014.

SCHIMITT, Peterson Ricardo Maier. Aplicação Web utilizando API Google

Maps. 2013. 49 f. TCC (Graduação) - Curso de Análise e Desenvolvimento de Sistemas,

Universidade Tecnológica Federal do Paraná, Medianeira, 2013.

SHAHZAD, Farrukh. Modern and Responsive Mobile-enabled Web Applications. Procedia

Computer Science, [s.l.], v. 110, p.410-415, 2017. Elsevier BV.

http://dx.doi.org/10.1016/j.procs.2017.06.105.

SOMMERVILLE, Ian. Engenharia de Software. 9. ed. São Paulo: Pearson Education do

Brasil, 2011. Disponível em:

<ftp://ftpaluno.umc.br/Aluno/Daisy/Engenharia%20de%20Software/Engenharia_Software_3

Edicao%20sommerville.pdf>. Acesso em: 03 nov. 2018.

Page 62: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

71

ZHANG, Zhewei et al. Characterizing Generative Digital Artifacts: The Case of Web

Mashups. 2015. Disponível em: <http://www.orgdna.net/wp-

content/uploads/2015/07/Characterizing-Generative-Digital-Artifacts.pdf>. Acesso em: 30 out.

2018.

Page 63: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

72

APÊNDICE A – DOCUMENTO GERADO PARA A REALIZAÇÃO DA ENTREVISTA

Pauta de Reunião:

Objetivo: Identificar as necessidades / demanda do Barber Solutions

Tópicos a serem discutidos: 1. Apresentação dos Problemas / Demanda da Barbearia;

2. Entrevista com o Gerente;

3. Fechamento da Reunião.

Pessoas que serão entrevistadas 1. Gerente da barbearia

1. Apresentação dos Problemas

1.1 Todo gerenciamento da barbearia feito e forma manual, entre eles, agendamento

de horário, vendas, comissões;

1.2 Gerenciamento financeiro muito demorado;

1.3 Falta de uma atendimento virtual.

2. Entrevista

Perguntas:

1. Você poderia falar um pouco sobre o dia a dia da barbearia, ou seja, descreva passo

a passo o que acontece entre o cliente entrar na barbearia e ser atendido por um

barbeiro?

2. Quantos barbeiros atendem na barbearia? Todos realizam as mesmas funções?

3. Todos os barbeiros tem acesso a todas as agendas?

4. Como gostaria que fosse o atendimento virtual ao cliente?

5. Você deseja que o sistema funcione via Web? Como?

6. Você deseja que o sistema faça o controle financeiro e contábil da barbearia?

Como?

7. Você deseja que o sistema controle o estoque de produtos?

8. Você deseja que o barbeiro tenha acesso LIMITADO a algum tipo de informação?

3. Fechamento

O que o cliente deseja: Um sistema web que possibilite gerenciar uma barbearia.

Este sistema deve permitir realizar agendamentos, gestão financeira e

de estoque

Um sistema de atendimento automatizado ao cliente.

Como: Cliente não especificou, deixando o desenvolvimento por conta do autor.

Page 64: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

73

Validação: Ficou acordado com o cliente que ao final de cada ciclo de trabalho, será feita

uma reunião de entrega onde o cliente dará sua opinião sobre o produto.

Page 65: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

74

APÊNDICE B – DOCUMENTO DE REQUISITOS

Barber Solutions Cliente: Rock Mustache Barbearia

01 – Barber Solutions DOCUMENTO DE REQUISITOS

Versão <1.0>

Page 66: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

75

Revisões do Documento

Data Versão Descrição Autor

15/06/2018 1.0 Criação do Documento de Requisitos Eduardo

Page 67: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

76

ÍNDICE

1.1 Convenções, termos e abreviações ............................................................................ 77

1.1.1 Identificação dos Requisitos............................................................................... 77

1.1.2 Prioridades dos Requisitos ................................................................................. 77

2.1 Abrangência e sistemas relacionados ........................................................................ 78

2.2 Descrição do cliente ................................................................................................... 78

2.3 Descrição dos usuários .............................................................................................. 79

3.1 Requisitos do módulo Servidor ................................................................................. 79

3.2 Requisitos do módulo Chatbot .................................................................................. 94

3.3 Requisitos do módulo Aplicação Web ...................................................................... 96

4.1 Usabilidade ................................................................................................................ 98

1. Garantir boa experiência de usuário .......................................................................... 98

4.2 Confiabilidade ........................................................................................................... 98

2. Garantir disponibilidade do sistema em 99% ............................................................ 98

4.3 Desempenho .............................................................................................................. 98

3. Requisições com tempo de resposta de no máximo 5 segundos ............................... 98

4.4 Segurança ................................................................................................................... 98

4. Realizar autenticação ................................................................................................. 98

Page 68: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

77

1. Introdução Este documento especifica os requisitos do Barber Solutions, fornecendo aos desenvolvedores as informações necessárias para a execução de seu projeto e implementação, assim como para a realização dos testes e validação.

Esta introdução fornece as informações necessárias para fazer um bom uso deste documento, explicitando seus objetivos e as convenções que foram adotadas no texto. As demais seções apresentam a especificação do Barber Solutions e estão organizadas como descrito abaixo:

Seção 2 - Descrição geral do produto/serviço: apresenta uma visão geral do produto/serviço, caracterizando qual é o seu escopo e descrevendo seus usuários.

Seção 3 - Requisitos funcionais: lista e descreve os requisitos funcionais do produto/serviço, especificando seus objetivos, funcionalidades, atores e prioridades.

Seção 4 - Requisitos não funcionais: especifica todos os requisitos não funcionais do produto/serviço, divididos em requisitos de usabilidade, confiabilidade, desempenho, segurança, distribuição, adequação a padrões e requisitos de hardware e software.

Seção 5 - Rastreabilidade: apresenta os relacionamentos entre os requisitos do produto/serviço.

1.1 Convenções, termos e abreviações

A correta interpretação deste documento exige o conhecimento de algumas convenções e termos específicos, que são descritos a seguir.

1.1.1 Identificação dos Requisitos

Por convenção, a referência a requisitos é feita através do identificador do requisito, de acordo com o esquema abaixo:

[identificador de tipo de requisito.identificador do requisito]

O identificador de tipo de requisito pode ser:

RF – requisito funcional

RNF – requisito não-funcional

Identificador do requisito é um número, criado seqüencialmente, que determina que aquele requisito é único para um determinado tipo de requisito.

Ex: RF001, RF002, RNF001, RNF002.

1.1.2 Prioridades dos Requisitos

Para estabelecer a prioridade dos requisitos foram adotadas as denominações “essencial”, “importante” e “desejável”.

Essencial é o requisito sem o qual o sistema não entra em funcionamento. Requisitos essenciais são requisitos imprescindíveis, que têm que ser implementados impreterivelmente.

Importante é o requisito sem o qual o sistema entra em funcionamento, mas de forma não satisfatória. Requisitos importantes devem ser implementados, mas, se não forem, o sistema poderá ser implantado e usado mesmo assim.

Desejável é o requisito que não compromete as funcionalidades básicas do sistema, isto é, o sistema pode funcionar de forma satisfatória sem ele. Requisitos desejáveis são requisitos que podem ser deixados para versões posteriores do sistema, caso não haja tempo hábil para implementá-los na versão que está sendo especificada.

Page 69: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

78

2. Visão geral do Barber Solutions O Barber Solutions visa automatizar o processo de interação com clientes e gestão do negócio, oferecendo ao cliente a possibilidade de marcação de horário através de um aplicativo de mensageria, e disponibiliza ao gestor da barbearia um sistema baseado na web que permite controlar a agenda dos barbeiros e consultar a comissão a ser paga por serviços realizados e por produtos vendidos, além de permitir calcular o faturamento da barbearia.

O desenvolvimento do projeto foi dividido em três módulos principais, servidor, aplicação web

e chatbot. O servidor foi desenvolvido utilizando a tecnologia Spring Boot. A escolha dessa

tecnologia se deu pelo fato do rápido desenvolvimento e pela baixa necessidade de

configuração para o início do projeto. A ferramenta Chatfuel foi escolhida para o

desenvolvimento do chatbot devido à facilidade de criar fluxos de diálogos e pela possibilidade

de integração REST. Por fim, o desenvolvimento da aplicação web foi feito utilizando a

tecnologia Angular pela produtividade e qualidade que oferece. O template (AdminLTE22) foi

utilizado para agilizar ainda mais o desenvolvimento.

Será utilizado a API da Agenda do Google, possibilitando utilizá-la de forma visual, pois será

importada para a aplicação web. Assim os usuários terão total acesso e visualização de suas

agendas. Também será utilizado o Chatfuel, ferramenta para a criação de chatbots, para que

clientes possam interagir com o sistema através de mensagens automáticas.

2.1 Abrangência e sistemas relacionados

O Barber Solutions possibilitará cadastrar clientes, produtos, serviços, barbeiros, vendas realizadas e permitir o agendamento de serviços. Além de dispor de um relatório para total gerenciamento de uma barbearia.

Nesta primeira versão, não será realizado a autênticação de barbeiros e sim apenas do gerente da barbearia. Além de não ser possível escolher datas específicas para a geração do relatório, tendo somente como opção, o dia, mês e ano atual. Essas funcionalidades serão desenvolvidas no decorrer das próximas versões.

O sistema irá interagir com a Agenda do Google com a intenção de possibilitar a visualização das agendas de cada barbeiro, agilizando o processo de consulta de horários disponíveis, e agendamento de serviços. Também ira interagir com o Chatfuel, onde cliente a partir do chatbot desenvolvido, poderão agendar serviços e consultar serviços agendados.

2.2 Descrição do cliente

Rock Mustache Barbearia é uma barbearia há 3 anos no mercado que remonta aos anos 60 com um ambiente clássico marcante nas antigas barbearias. Junto a isso se alinha produtos e serviços que agradam a geração de hoje. Como venda e cervejas e produtos de beleza voltados para o mercado masculino.

Page 70: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

79

2.3 Descrição dos usuários

Os usuários do sistema enfrentam dificuldade devido ao fato de o gerenciamento da barbearia ser realizado com papel e caneta, assim o sistema busca facilitar ações dos seguintes usuários: (i) gerente da barbearia, (ii) barbeiros e (iii) clientes.

Gerente da barbearia:Possui acesso a todas as funcionalidades do sistema;

Chatbot: Possui acesso a funcionalidade de agendar e consultar serviços agendados.;

Cliente: Acesso ao sistema através do chatbot.

<Forneça o propósito do requisito funcional de forma clara e abrangendo todas as funcionalidades que serão construídas. Em seguida, assinale um dos símbolos abaixo para indicar a prioridade do requisito>

3. Requisitos funcionais

3.1 Requisitos do módulo Servidor

[RF1] Cadastrar barbeiro

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Para cadastrar um barbeiro deverá ser preenchido os campos presentes na tabela 1.

Tabela 1 – Campos para cadastramento de um barbeiro

Nome do Campo Descrição do Campo

*Nome

*Comissão por Serviço A comissão por serviço deverá ser em

porcentagem, ou seja, de 0 a 100.

*Comissão por Venda A comissão por venda deverá ser em valor em

dinheiro.

*Dia de Folga Deverá ser escolhido um dia da semana como

folga do barbeiro.

*Status O status identificará se o barbeiro ainda está

trabalhando na barbearia (Ativo), ou se

barbeiros não trabalha mais na barbearia

(Inativo)

(*) Campos com preenchimento obrigatório.

Page 71: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

80

Saida e pós condições: Barbeiro cadastrado.

[RF2] Alterar barbeiro

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Para alterar os dados de um barbeiro deverá ser preenchido os campos da tabela 2.

Tabela 2 – Campos para alteração de um barbeiro

Nome do Campo Descrição do Campo

*Id Campo necessário para identificar barbeiro

no sistema.

Nome

Comissão por Serviço A comissão por serviço deverá ser em

porcentagem, ou seja, de 0 a 100.

Comissão por Venda A comissão por venda deverá ser em formato

de moeda.

Dia de Folga Deverá ser escolhido um dia da semana como

folga do barbeiro.

Status O status identificará se o barbeiro ainda está

trabalhando na barbearia (Ativo), ou se

barbeiros não trabalha mais na barbearia

(Inativo)

(*) Campos com preenchimento obrigatório.

Saida e pós condições: Barbeiro alterado.

[RF3] Remover barbeiro

Ator: Gerente da barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: A remoção de uma barbeiro não excluirá o barbeiro do sistema, devido a necessidade de manter um histórico da barbearia, o barbeiro terá seu status alterado para “Inativo” para que não seja mais possível realizar agendamentos de serviços com esse barbeiro. Para que seja possível a remoçao de um barbeiro, o sistema não poderá ter nenhum horário agendado com esse barbeiro.

Page 72: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

81

Saida e pós condições: Status do barbeiro alterado para “Inativo”.

[RF4] Visualizar barbeiro

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: A primeira listagem irá apresentar os barbeiros com status “Ativo” e ordenada alfabéticamente.

A lista poderá ser agrupada da seguinte maneira: Lista Geral, Status Ativo ou Inativo.

Em todos os agrupamentos será possível filtrar os dados pelo nome.

Saida e pós condições: Lista de barbeiros.

[RF5] Cadastrar serviço

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Para cadastrar um serviço deverá ser preenchido os campos presentes na tabela 3.

Tabela 3 – Campos para cadastramento de um serviço

Nome do Campo Descrição do Campo

*Nome

*Preço O preço deverá ser informado no formato de

moeda.

*Duração Tempo de duração para realização do serviço,

deverá ser informado em minutos.

*Descrição

*Promoção Opção para realizar promoção de serviços,

deverá ser informado um valor em

porcentagem da promocação, de 0 a 100.

*Status O status identificará se o serviço ainda é

oferecido pela barbearia (Ativo), ou se não é

mais oferecido (Inativo).

(*) Campos com preenchimento obrigatório.

Saida e pós condições: Serviço cadastrado.

Page 73: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

82

[RF6] Alterar serviço

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Para alterar os dados de um serviço deverá ser preenchido os campos da tabela 4.

Tabela 4 – Campos para alteração de um barbeiro

Nome do Campo Descrição do Campo

*Id Campo necessário para identificar serviço no

sistema.

Nome

Preço O preço deverá ser informado no formato de

moeda.

Duração Tempo de duração para realização do serviço,

deverá ser informado em minutos.

Descrição

Promoção Opção para realizar promoção de serviços,

deverá ser informado um valor em

porcentagem da promocação, de 0 a 100.

Status O status identificará se o serviço ainda é

oferecido pela barbearia (Ativo), ou se não é

mais oferecido (Inativo).

(*) Campos com preenchimento obrigatório.

Saida e pós condições: Serviço alterado.

[RF7] Remover serviço

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: A remoção de um serviço não excluirá o serviço do sistema, devido a necessidade de manter um histórico da barbearia, o serviço terá seu status alterado para “Inativo” para que não seja mais possível realizar agendamentos para esse serviço. Para que seja possível a remoção de um serviço, o sistema não poderá ter nenhum horário agendado para a realização desse serviço.

Page 74: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

83

Saida e pós condições: Status do serviço alterado para “Inativo”.

[RF8] Visualizar serviço

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: A primeira listagem irá apresentar os serviços com status “Ativo” e ordenada alfabéticamente.

A lista poderá ser agrupada da seguinte maneira: Lista Geral, Status Ativo ou Inativo.

Em todos os agrupamentos será possível filtrar os dados pelo nome e ordenar pelo preço ou promoção.

Saida e pós condições: Lista de serviços.

[RF9] Cadastrar produto

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Para cadastrar um produto deverá ser preenchido os campos presentes na tabela 5.

Tabela 5 – Campos para cadastramento de um produto

Nome do Campo Descrição do Campo

*Nome

*Preço O preço deverá ser informado no formato de

moeda.

*Estoque Quantidade do produto em estoque.

*Descrição

*Promoção Opção para realizar promoção de serviços,

deverá ser informado um valor em

porcentagem da promocação, de 0 a 100.

*Status O status identificará se o produto ainda é

oferecido pela barbearia (Ativo), ou se não é

mais oferecido (Inativo).

*Segmento Finalidade do produto, para “Cabelo” ou

“Barba”.

Page 75: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

84

(*) Campos com preenchimento obrigatório.

Saida e pós condições: Produto cadastrado.

[RF10] Alterar produto

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Para alterar os dados de um produto deverá ser preenchido os campos da tabela 6.

Tabela 6 – Campos para alteração de um produto

Nome do Campo Descrição do Campo

*Id Campo necessário para identificar produto no

sistema.

Nome

Preço O preço deverá ser informado no formato de

moeda.

Estoque Quantidade do produto em estoque.

Descrição

Promoção Opção para realizar promoção de serviços,

deverá ser informado um valor em

porcentagem da promocação, de 0 a 100.

Status O status identificará se o produto ainda é

oferecido pela barbearia (Ativo), ou se não é

mais oferecido (Inativo).

Segmento Finalidade do produto, para “Cabelo” ou

“Barba”.

(*) Campos com preenchimento obrigatório.

Saida e pós condições: Produto alterado.

[RF11] Remover produto

Ator: Gerente da Barbearia

Prioridade: Essencial Importante Desejável

Page 76: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

85

Entrada e pré condições: A remoção de um produto não excluirá o produto do sistema, devido a necessidade de manter um histórico da barbearia, o serviço terá seu status alterado para “Inativo” para que não seja mais possível realizar vendas deste produto.

Saida e pós condições: Status do produto alterado para “Inativo”.

[RF12] Visualizar produto

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: A primeira listagem irá apresentar os produtos com status “Ativo”, ordenada alfabéticamente e de todos os segmentos.

A lista poderá ser agrupada da seguinte maneira:

Lista geral de produtos (Todos segmentos e status);

Lista por segmento, independe de status;

Lista por status, independe do segmento;

Lista de segmento com status “Ativo”;

Lista de segmento com status “Inativo”.

Em todos os agrupamentos será possível filtrar os dados pelo nome e ordenar pelo preço ou promoção.

Saida e pós condições: Lista de serviços.

[RF13] Cadastrar cliente

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Para cadastrar um cliente deverá ser preenchido os campos presentes na tabela 7.

Tabela 7 – Campos para cadastramento de um cliente

Nome do Campo Descrição do Campo

*Nome

*Telefone

*Email

Id do Chatfuel Caso o cliente utilize o chatbot deverá ser

salvo o id que o Chatfuel provê para cada

usuário.

Page 77: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

86

*Data de nascimento

*Data da realização do cadastro

*Status O status identificará se o cliente foi removido

(Inativo) ou não (Ativo).

(*) Campos com preenchimento obrigatório.

Saida e pós condições: Cliente cadastrado.

[RF14] Alterar cliente

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Para alterar os dados de um cliente deverá ser preenchido os campos da tabela 8.

Tabela 8 – Campos para alteração de um cliente

Nome do Campo Descrição do Campo

*Id Campo necessário para identificar cliente no

sistema.

Nome

Telefone

Email

Id do Chatfuel Caso o cliente utilize o chatbot deverá ser

salvo o id que o Chatfuel provê para cada

usuário.

Data de nascimento

Data da realização do cadastro

Segmento Finalidade do produto, para “Cabelo” ou

“Barba”.

(*) Campos com preenchimento obrigatório.

Saida e pós condições: Cliente alterado.

[RF15] Remover cliente

Ator: Gerente da Barbearia.

Page 78: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

87

Prioridade: Essencial Importante Desejável

Entrada e pré condições: A remoção de um cliente não excluirá o cliente do sistema, devido a necessidade de manter um histórico da barbearia, o cliente terá seu status alterado para “Inativo” para que não seja mais possível realizar vendas e agendar horários para esse cliente.

Saida e pós condições: Status do cliente alterado para “Inativo”.

[RF16] Visualizar cliente

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: A primeira listagem irá apresentar os clientes com status “Ativo”, ordenada alfabéticamente.

A lista poderá ser agrupada da seguinte maneira: Lista Geral, Status Ativo ou Inativo.

Em todos os agrupamentos será possível filtrar os dados pelo nome.

Saida e pós condições: Lista de clientes.

[RF17] Realizar controle de horas disponíveis

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Controlar as horas diponíveis é de extrema importancia para o funcionamento de uma barbearia. Deverá ser realizado um controle para evitar conflitos de horários disponiveis ao agendar um serviço.

Saida e pós condições: Controle de horas disponíveis.

[RF18] Agendar serviço

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Para agendar um serviço deverá ser preenchido os campos presentes na tabela 9.

Tabela 9 – Campos para agendamento de serviço

Page 79: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

88

Nome do Campo Descrição do Campo

*Data e hora do inicio do atendimento

*Data e hora do fim do atendimento

*Id do barbeiro Id do barbeiro para identificar qual barbeiro

irá realizar o serviço

*Id do cliente Id do cliente para identificar qual cliente

agendou o serviço.

*Forma de atendimento Poderá ser: “Local”, “Telefone”, “Chatbot”,

“Outro”. Caso seja escolhida a opção

“Outro”, deverá ser informado como foi

agendado.

**Forma de pagamento Poderá ser: “Dinheiro”, “Crédito” ou

“Débito”.

*Serviços Serviços escolhidos para o agendamento.

*Status Poderá ser: “Aberto” ou “Realizado”.

(*) Campos com preenchimento obrigatório.

(**) Campo deverá ser preenchido caso status seja “Realizado”.

Saida e pós condições: Serviço agendado.

[RF19] Alterar serviço agendado

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Para alterar os dados de um agendamento deverá ser preenchido os campos da tabela 10.

Tabela 10 – Campos para alterar um serviço agendado

Nome do Campo Descrição do Campo

*Id Campo necessário para identificar um

serviço agendado no sistema.

Data e hora do inicio do atendimento

Data e hora do fim do atendimento

Id do barbeiro Id do barbeiro para identificar qual barbeiro

irá realizar o serviço

Id do cliente Id do cliente para identificar qual cliente

agendou o serviço.

Page 80: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

89

Forma de atendimento Poderá ser: “Local”, “Telefone”, “Chatbot”,

“Outro”. Caso seja escolhida a opção

“Outro”, deverá ser informado como foi

agendado.

**Forma de pagamento Poderá ser: “Dinheiro”, “Crédito” ou

“Débito”.

Serviços Serviços escolhidos para o agendamento.

Status Poderá ser: “Aberto” ou “Realizado”.

(*) Campos com preenchimento obrigatório.

(**) Campo deverá ser preenchido caso status seja “Realizado”.

Saida e pós condições: Serviço agendado alterado.

[RF20] Cancelar serviço agendado

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Será necessário informar o Id do serviço agendado para que possa ser removido do sistema.

Saida e pós condições: Serviço agendado cancelado e será liberado o horário para novos

agendamentos.

[RF21] Visualizar serviço agendado

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: A primeira listagem irá apresentar os agendamentos com status “Aberto”, ordenada pela data.

A lista poderá ser agrupada da seguinte maneira: Lista Geral, Status Aberto ou Realizado.

Em todos os agrupamentos será possível filtrar os dados pelo nome do cliente e ordenar pelo barbeiro, cliente, data ou serviço.

Saida e pós condições: Lista de serviços agendados.

[RF22] Realizar venda

Ator: Gerente da Barbearia.

Page 81: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

90

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Para realizar uma venda deverá ser preenchido os campos presentes na tabela 11.

Tabela 11 – Campos para realizar uma venda

Nome do Campo Descrição do Campo

*Data da venda Data em que foi realizado a venda.

*Data de registro Data em que foi registrado no sistema a

venda.

*Id do barbeiro Id do barbeiro para identificar qual barbeiro

realizou a venda.

*Id do cliente Id do cliente para identificar qual cliente fez

a compra.

*Forma de pagamento Poderá ser: “Dinheiro”, “Crédito” ou

“Débito”.

*Produtos Produtos que foram vendidos.

(*) Campos com preenchimento obrigatório.

Saida e pós condições: Serviço agendado.

[RF23] Alterar venda

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Para alterar os dados de uma venda deverá ser preenchido os campos da tabela 12.

Tabela 12 – Campos para alterar uma venda

Nome do Campo Descrição do Campo

*Id Campo necessário para identificar uma venda

no sistema.

Data da venda Data em que foi realizado a venda.

Data de registro Data em que foi registrado no sistema a

venda.

Id do barbeiro Id do barbeiro para identificar qual barbeiro

realizou a venda.

Page 82: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

91

Id do cliente Id do cliente para identificar qual cliente fez

a compra.

Forma de pagamento Poderá ser: “Dinheiro”, “Crédito” ou

“Débito”.

Produtos Produtos que foram vendidos.

(*) Campos com preenchimento obrigatório.

Saida e pós condições: Venda alterada.

[RF24] Cancelar venda

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Será necessário informar o Id da venda para realizar o cancelamento.

Saida e pós condições: Venda cancelada e deverá ser atualizado o estoque do(s) produto(s).

[RF25] Visualizar venda

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: A primeira listagem irá apresentar as venda ordenadas pela data.

A lista poderá ser agrupada da seguinte maneira: Produtos, Barbeiros ou Clientes.

Em todos os agrupamentos será possível filtrar os dados pelo nome do cliente, nome do barbeiro e produto e ordenar pelo barbeiro, cliente, data ou produto.

Saida e pós condições: Lista de vendas.

[RF26] Realizar autenticação

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Para realizar o login deverá ser informado email e senha.

Saida e pós condições: Ator autenticado e todas as funcionalidades disponíveis.

Page 83: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

92

[RF27] Integrar com API da Agenda do Google

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Deverá ser realizado a integração com a API da Agenda do Google. Assim, todas os serviços agendados deverão estar presentes como eventos na Agenda do Google.

A Agenda do Google irá prover a parte visual da agenda de cada barbeiro.

Saida e pós condições: Agenda de cada barbeiro atualizada de acordo com os serviços

agendados.

[RF28] Gerar relatório dos serviços realizado

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Deverá prover informações da quantidade total de serviços realizados e a quantidade de serviços realizados por serviço.

Saida e pós condições: Dados sobre serviços realizados.

[RF29] Gerar relatório das vendas realizadas

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Deverá prover informações da quantidade total de vendas realizadas e a quantidade de vendas realizadas por produtos.

Saida e pós condições: Dados sobre vendas realizadas.

[RF30] Gerar relatório da forma de pagamento

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Page 84: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

93

Entrada e pré condições: Deverá agrupar serviços realizados e vendas realizadas pela forma de pagamento e prover a quantidade por cada forma de pagamento.

Saida e pós condições: Dados sobre a forma de pagamento.

[RF31] Gerar relatório da forma de agendamento

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Deverá agrupar serviços realizados pela forma de agendamento e prover a quantidade por cada forma de agendamento.

Saida e pós condições: Dados sobre a forma de agendamento.

[RF32] Gerar relatório de serviços e vendas por barbeiro

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Deverá prover a quantidade de vendas realizadas e a quantidade total de serviços realizados e a quantidade por serviço.

Saida e pós condições: Dados de vendas e serviços realizados por barbeiro.

[RF33] Gerar relatório financeiro da barbearia

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Deverá prover a receita total da barbearia e a receita provenientes dos serviços e vendas.

Saida e pós condições: Dados financeiros da barbearia.

[RF34] Gerar relatório financeiro por barbeiro

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Page 85: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

94

Entrada e pré condições: Deverá prover as comissões referentes a serviço e venda porbarbeiro.

Saida e pós condições: Dados de comissões para barbeiros.

[RF35] Desenvolver API de integração

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: A API deve permitir acesso a todas as funcionalidades apresentadas nos requisitos anteriores.

Saida e pós condições: URLs para acessar as funcionalidades do sistema.

3.2 Requisitos do módulo Chatbot

[RF36] Desenvolver ciclo de diálogo do chatbot

Atores: Gerente da Barbearia e Cliente.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Foi decidido um ciclo de diálogo para que possa ser possível o agendamento de serviços de forma automática. O ciclo deverá apresentar opções de resposta prontas ao usuário para agilizar o agendamento e evitar erros de comunicação. O ciclo de agendamento de serviços pelo chatbot é apresenado a seguir:

Chatbot Usuário

Bem vindo a Rock Mustache Barbearia.

Somos uma barbearia clássica. Estamos a 3 anos no mercado masculino. Não trabalhamos com nenhuma química para cabelo ou barba.

Para começar o agendamento do seu horário, precisamos fazer um breve cadastro em nosso sistema. São apenas 2 passos. Vamos prosseguir?

Não. ou Sim!

Ótimo. Será uma prazer atendê-lo.

Por favor, digite seu e-mail.

Page 86: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

95

[email protected]

Agora seu telefone com DDD

35 9 9999 8855

Obrigado. Seus dados estão corretos? E-mail: [email protected]

Telefone: 35999998855

Não (negativo) Sim! (like)

Um momento, por favor.

Cadastro realizado com sucesso.

(Nome), como podemos te ajudar hoje?

Opções: (Marcar horário), (Desmarcar horário), (Consultar horário)

Escolher opção

Ok, vamos começar!

Opções: (Cabelo), (Barba) e (Acabamento)

Escolher opção

Mais algum?

Opções: (Não), (Cabelo), (Barba) e (Acabamento)

Escolher opção

Ecolha o barbeiro de sua preferência.

Opções: Barbeiros

Escolher opção

Qual dia você prefere?

Opções: (datas em até 1 semana a frente)

Escolher opção

Qual horário?

Opções: Horários disponíveis

Escolher opção

Beleza! Vamos confirmar?

Dia:01/04, as 18hrs. Cabelo e barba com o barbeiro Danilo.

Correto?

Opções: Não. Sim!

Escolher opção

Marcado para você (NOME). Se desejar fazer alguma alteração por aqui mesmo, basta voltar e escrever: Bom dia, Boa tarde

Page 87: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

96

ou Boa noite. Agora se quiser entrar em contato via telefone, nossos números são: 35 3621 6349 e 35 9 9761 3502.

Aguardamos sua visita! Obrigado pela preferência.

[RF37] Integrar chatbot com API desenvolvida

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Todas as informações que o chatbot apresentar ao ator deverá estar de acordo e em sicronismo com as informações do sistema desenvolvido. Devido a isso deve integrar o chatbot com a API do sistema para requisitar os dados necessário.

Saida e pós condições: Ações possíveis com o chatbot em sincronismo com o sistema.

3.3 Requisitos do módulo Aplicação Web

[RF38] Desenvolver tela principal

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

A tela principal deverá espelhar a Agenda do Google. Assim, sendo possível visualizar as agendas de cada barbeiro.

[RF39] Desenvolver tela de serviços agendados

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

A tela de serviços agendados irá apresentar a lista de serviços agendados no sistema proveniente da API do módulo Servidor, além de possuir opções de agendar serviço, alterar serviço, cancelar serviço.

[RF40] Desenvolver tela de clientes

Ator: Gerente da Barbearia.

Page 88: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

97

Prioridade: Essencial Importante Desejável

A tela de clientes irá apresentar a lista de clientes cadastrados no sistema proveniente da API do módulo Servidor, além de possuir opções de cadastrar novo cliente, alterar cliente, remover cliente.

[RF41] Desenvolver tela de produtos

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

A tela de produtos irá apresentar a lista de produtos cadastrados no sistema proveniente da API do módulo Servidor, além de possuir opções de cadastrar novo produto, alterar produto, remover produto.

[RF42] Desenvolver tela de barbeiros

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

A tela de barbeiros irá apresentar a lista de barbeiros cadastrados no sistema proveniente da API do módulo Servidor, além de possuir opções de cadastrar novo barbeiro, alterar barbeiro, remover barbeiro.

[RF43] Desenvovler tela de serviços

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

A tela de serviços irá apresentar a lista de serviços cadastrados no sistema proveniente da API do módulo Servidor, além de possuir opções de cadastrar novo serviço, alterar serviço, remover serviço.

[RF44] Desenvolver tela de relatório

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

A tela de relatório irá agrupar todas as informações fornecidas pelo módulo Servidor em relação a relatório.

Page 89: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

98

Informações financeiras deverão ser apresentadas com título e valor em formato de moeda. Demais informações deverão ser apresentadas em gráficos de barras para facilitar a análise.

[RF45] Integrar com API do módulo Servidor

Ator: Gerente da Barbearia.

Prioridade: Essencial Importante Desejável

Entrada e pré condições: Todas as informações que a aplicação web apresentar ao ator deverá estar de acordo e em sicronismo com as informações do sistema desenvolvido. Devido a isso deve integrar a aplicação web com a API do sistema para requisitar os dados necessário.

Saida e pós condições: Ações possíveis com a aplicação web em sincronismo com o sistema

4. Requisitos não funcionais

4.1 Usabilidade

1. Garantir boa experiência de usuário

Interface não deve apresentar congelamentos de telas ao fazer requisições ao servidor.

Prioridade: Essencial Importante Desejável

4.2 Confiabilidade

2. Garantir disponibilidade do sistema em 99%

Sistema é essencial para o funcionamento do negócio, assim deverá estar disponível em 99% do tempo.

4.3 Desempenho

3. Requisições com tempo de resposta de no máximo 5 segundos

Tempo de espera de resposta da API de no máximo 5 segundos.

4.4 Segurança

4. Realizar autenticação

Page 90: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

99

Usuário que tentar usar a aplicação web deverá realizar uma autenticação com login e senha, e ao tentar utilizar o chatbot, seu id deverá pertencer a um cliente já cadastradono sistema, se não houver será necessário o usuário se cadastrar ou confirmar cadastro.

Page 91: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

100

APÊNDICE C – TAREFAS PROPOSTAS

Tarefa 1 – Agendar um horário

Suponha que você quer agendar um horário. Siga as instruções a seguir.

1. Na tela de horários agendados clique no botão, agendar um horário.

2. Forneça os dados necessários (barbeiro, cliente, serviços, dia e hora).

3. Agende o serviço.

Tarefa 2 – Realizar uma venda

Suponha que você quer realizar uma venda. Siga as instruções a seguir.

1. Na tela de produtos, clique no botão realizar venda.

2. Forneça os dados necessários (barbeiro, cliente, produtos, quantidade de cada produto

e data).

3. Realize a venda.

Page 92: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

101

APÊNDICE D – QUESTIONÁRIO SOBRE AS TAREFAS

Legenda:

1. Discordo totalmente

2. Discordo parcialmente

3. Indiferente

4. Concordo parcialmente

5. Concordo totalmente

As informações apresentadas na tela são de fácil entendimento?

( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5

Foi fácil executar as tarefas?

( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5

Os botões das funcionalidades do sistema estavam intuitivos?

( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5

A tarefa executada foi simples?

( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5

A tarefa foi realizada rapidamente?

( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5

Foi possível realizar a tarefa sem cometer erros?

( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5

Caso tenha ocorrido algum erro, foi fácil corrigi-lo?

( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5

Você executaria a tarefa novamente?

( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5

Page 93: Aplicação Web Moderna para Gerenciamento de Barbeariassaturno.unifei.edu.br/bim/201800223.pdf · gerenciamento ainda é realizado de maneira manual. ... 1.000 sistemas disponíveis

102

É fácil lembrar como realizar a tarefa?

( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5

Fui intuitivo realizar a tarefa?

( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5

Você se sentiu satisfeito com o sistema?

( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5

A interface agradou?

( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5

Usario o sistema novamente?

( ) 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5