especificação de requisitos e validação de...

49
UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA Especificação de Requisitos e Validação de Sistemas Documento de Requisitos André Ricardo Rolim dos Reis (arrr) Marina Alecrim de Carvalho Novaes (macn) Tarcisio Coutinho da Silva (tcs5) Thaís Melise Lopes Pina (tmlp) Recife, 2011

Upload: phunghanh

Post on 12-Dec-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDADE FEDERAL DE PERNAMBUCO

CENTRO DE INFORMÁTICA

Especificação de Requisitos e Validação de

Sistemas

Documento de Requisitos

André Ricardo Rolim dos Reis (arrr)

Marina Alecrim de Carvalho Novaes (macn)

Tarcisio Coutinho da Silva (tcs5)

Thaís Melise Lopes Pina (tmlp)

Recife, 2011

Integrante Esforço de trabalho

André Ricardo 25%

Marina Alecrim 25%

Tarcisio Coutinho 25%

Thaís Melise 25%

Sumário

1. Introdução ....................................................................................................................................... 6

1.1. Motivação ............................................................................................................................ 6

1.2. O Problema Identificado ....................................................................................................... 6

1.3. Sobre a Organização ............................................................................................................. 7

1.4. Convenções para Identificação dos Requisitos ...................................................................... 7

1.5. Convenções para Identificação dos Casos de Uso ................................................................. 8

1.5.1. Estrutura dos casos de uso ................................................................................................... 8

1.5.2. Prioridades dos casos de uso ................................................................................................ 8

1.5.3. Descrição dos Atores ............................................................................................................ 8

2. Requisitos Organizacionais............................................................................................................... 9

3. Requisitos Funcionais....................................................................................................................... 9

3.1. [RF 01] Efetuar login ............................................................................................................. 9

3.2. [RF 02] Efetuar logoff ........................................................................................................... 9

3.3. [RF 03] Acessar cardápio ...................................................................................................... 9

3.4. [RF 04] Visualizar cesta de compras .................................................................................... 10

3.5. [RF 05] Adicionar item à cesta de compras ......................................................................... 10

3.6. [RF 06] Remover item da cesta de compra.......................................................................... 10

3.7. [RF 07] Efetuar pagamento ................................................................................................. 10

3.8. [RF 08] Acessar promoções................................................................................................. 10

3.9. [RF 09] Buscar item por categoria ....................................................................................... 10

3.10. [RF 10] Buscar item por preço ............................................................................................ 11

3.11. [RF 11] Inserir produtos ...................................................................................................... 11

3.12. [RF 12] Atualizar produtos .................................................................................................. 11

3.13. [RF 13] Remover Produtos .................................................................................................. 11

3.14. [RF 14] Listar Produtos ....................................................................................................... 11

3.15. [RF 15] Inserir promoções .................................................................................................. 11

3.16. [RF 16] Remover promoções .............................................................................................. 12

3.17. [RF 17] Atualizar promoções ............................................................................................... 12

3.18. [RF 18] Listar promoções .................................................................................................... 12

3.19. [RF 19] Gerar relatório de análise do retorno financeiro ..................................................... 12

3.20. [RF 20] Gerar gráfico de crescimento de usuários ............................................................... 12

3.21. [RF 21] Inserir estabelecimento .......................................................................................... 13

3.22. [RF 22] Remover Estabelecimento ...................................................................................... 13

3.23. [RF 23] Atualizar Estabelecimento ...................................................................................... 13

3.24. [RF 24] Listar Estabelecimentos .......................................................................................... 13

4. Requisitos Não Funcionais ............................................................................................................. 14

4.1. Requisitos de Processo ....................................................................................................... 14

4.1.1. [RNF 01] Utilizar Linguagem Java ........................................................................................ 14

4.1.2. [RNF 02] Utilizar o Banco de Dados MySQL ......................................................................... 14

4.1.3. [RNF 03] Utilizar metodologia RUP ..................................................................................... 14

4.2. Requisitos de Produto ........................................................................................................ 14

4.2.1. Usabilidade ........................................................................................................................ 14

4.2.1.1. [RNF 04] Interface gráfica ........................................................................................... 14

4.2.1.2. [RNF 05] Documentação objetiva ................................................................................ 15

4.2.1.3. [RNF 06] Mensagem de erro ....................................................................................... 15

4.2.2. Performance ...................................................................................................................... 15

4.2.2.1. [RNF 07] Tempo de resposta ....................................................................................... 15

4.2.2.2. [RNF 08] Capacidade de armazenamento ................................................................... 15

4.2.3. Segurança .......................................................................................................................... 15

4.2.3.1. [RNF 09] Confidencialidade ......................................................................................... 15

4.2.3.2. [RNF 10] Disponibilidade............................................................................................. 16

4.2.3.3. [RNF 11] Integridade ................................................................................................... 16

4.2.3.4. [RNF 12] Autenticação ................................................................................................ 16

4.2.3.5. [RNF 13] Robustez ...................................................................................................... 16

4.2.4. Manutenabilidade .............................................................................................................. 16

4.2.4.1. [RNF 14] Refatoração .................................................................................................. 16

4.2.4.2. [RNF 15] Tratamento de exceções .............................................................................. 17

4.3. Requisitos Externos ............................................................................................................ 17

4.3.1. [RNF 16] Tempo de Desenvolvimento ................................................................................. 17

4.3.2. [RNF 17] Orçamento ........................................................................................................... 17

5. Modelagem Organizacional ........................................................................................................... 18

5.1. Modelagem de Dependência Estratégica ............................................................................ 18

5.2. Modelagem de Razão Estratégica ....................................................................................... 19

6. Modelagem de Requisitos Funcionais (Caso de Uso) ...................................................................... 20

7. Modelagem de Requisitos Não Funcionais ..................................................................................... 21

8. Conclusão ...................................................................................................................................... 22

9. Referências .................................................................................................................................... 23

Apêndice A - Glossário ........................................................................................................................... 24

Apêndice B – Descrição dos casos de uso ............................................................................................... 25

Apêndice C – Técnicas utilizadas na coleta de dados .............................................................................. 49

1. Introdução

Neste documento são descritos os requisitos para a solução encontrada durante o Estudo de

Viabilidade. O sistema deve ser construído a partir das informações capturadas pela utilização de

algumas técnicas, como entrevistas e questionário.

Também serão explicitados funcionalidades e serviços do sistema e as restrições do mesmo. As

funcionalidades (requisitos funcionais) serão detalhadamente explicadas por seus fluxos de eventos e

ilustradas através do diagrama de casos de uso. Dúvidas, sobre significados de termos presentes neste

documento, podem ser esclarecidas no glossário presente no Apêndice A.

1.1. Motivação

De acordo com a Associação Brasileira de Shoppings Sentir, o ano de2011 começou com 408

shoppings em atuação no Brasil, dos quais a maioria possui praças de alimentação.

Em horário de pico, em muitas praças de alimentação de shoppings se gasta, em média, uma hora

para uma pessoa se alimentar – desde o momento em que ela começa a procurar o que comer até

terminar a refeição. Esse longo tempo de espera é causado pela dificuldade de encontrar o que deseja e

conseguir uma mesa disponível, além da falta de agilidade para efetuar o pedido e o pagamento do

produto.

Esse projeto visa alcançar maior eficiência no momento do consumo de produtos em uma praça

de alimentação de um shopping, gerando mais comodidade aos consumidores.

1.2. O Problema Identificado

Os consumidores das praças de alimentação do Shopping Recife nem sempre encontram o produto

desejado, nem mesas e muitas vezes enfrentam filas grandes para efetuar o pedido/pagamento.

Cenário atual:

1. O consumidor não tem acesso a um catálogo com todos os produtos disponibilizados pelos

estabelecimentos da praça de alimentação, então ele pode:

1.1. Ir a um estabelecimento conhecido mesmo que tenha de enfrentar filas;

1.2. Realizar uma busca em cada estabelecimento na praça de alimentação.

2. Quando encontra o produto desejado, o preço pode não ser compatível com o que ele está

disposto a pagar e/ou a qualidade do produto não satisfazê-lo.

3. Em horários de muito movimento, todos os estabelecimentos possuem filas para pedir/pagar o

produto.

4. Após enfrentar as filas o consumidor pode não encontrar uma mesa.

4.1. É necessário aguardar a liberação de alguma mesa, o que geralmente leva uma quantidade

de tempo considerável.

4.2. O consumidor, durante o tempo de espera, fica frustrado, envergonhado e irritado (fome e

perda de tempo).

Este é um problema que prejudica tanto os consumidores quanto os estabelecimentos. Os

consumidores querem apenas consumir um produto de qualidade em tempo ágil, mas se deparam com

um serviço de atendimento lento, levando-os a não querer voltar a consumir naquele local novamente.

Causando perda de clientes para estabelecimentos e shopping.

Diante destes problemas, constatou-se que um sistema em que o consumidor pudesse buscar o

produto na própria mesa da praça de alimentação, fazer o pedido desejado e realizar o pagamento,

auxiliaria na diminuição do tempo gasto durante a alimentação. Proporcionando melhoria da qualidade

de vida.

Lembrando que o sistema será criado inicialmente para a praça de alimentação 4 do Shopping

Recife, pois possui maior quantidade de clientes e lojas. Porém, o sistema pode ser implantado em

qualquer outra praça de alimentação de qualquer outro shopping, já que o funcionamento é

semelhante.

1.3. Sobre a Organização

Criado em 7 de outubro de 1980, sendo o primeiro em Pernambuco, o Shopping Recife é referência

na região Norte/Nordeste, inclusive por ser considerado o quarto maior centro de compras do país e um

dos maiores da América Latina, título recebido após ter passado por ampliações ao longo das quase três

décadas de funcionamento. Sua localização é uma das melhores da cidade: a cinco minutos do

Aeroporto Internacional do Recife, a seis quadras da praia de Boa Viagem e de fácil acesso às principais

vias da capital pernambucana.

A ousadia e pioneirismo viraram sinônimo de sucesso. Para se ter uma idéia, assim que abriu suas

portas, o centro de compras contava inicialmente com 72 lojas e 1.131 vagas de estacionamento. Hoje,

o Shopping Recife conta com 410 lojas, 10 salas de cinema e mais de 5 mil vagas de estacionamento,

público diário de aproximadamente 60 mil pessoas. Além disso, é um grande pólo gastronômico da

cidade do Recife, já que possui 4 praças de alimentação e 17 restaurantes e juntas possuem 50

restaurantes e lanchonetes e variados tipos de temperos e sabores, atendendo todos os gostos e

momentos.

Com a constante evolução, o Shopping ocupa o primeiro lugar nas pesquisas de Recall de marca da

categoria no Recife. Possui o mais completo mix de lojas com marcas nacionais e internacionais,

produtos e serviços. A estratégia é atrair, cada vez mais, grandes marcas nacionais para o estado. O

Shopping Recife atua com um terço de lojas com marcas locais, um terço com lojas nacionais e

operações próprias e um terço de franquias.

O maior centro de compras de Pernambuco oferece ainda aos clientes conforto, segurança, diversas

opções de entretenimento, prestação de serviços como guarda-volumes, Espaço Família, central de

relacionamento com clientes e conexão Wi-Fi gratuita. Existe ainda o Parque de Esculturas na área

externa abrangendo 19 mil metros quadrados com obras de grandes artistas pernambucanos como

Abelardo da Hora, Francisco Brennand, Marianne Peretti e Augusto Ferrer.

1.4. Convenções para Identificação dos Requisitos

Os requisitos, por convenção, são indicados e referenciados através de uma sigla seguida de um

número identificador. Dessa maneira, fica estabelecido que os requisitos funcionais são representados

pelo formato [RF xx], e os requisitos não funcionais, por sua vez, possuem a forma [RNF xx], onde xx se

refere ao número do requisito.

1.5. Convenções para Identificação dos Casos de Uso

Os casos de uso do sistema são indicados pela sigla UC (do inglês, Use Case) e um número [UC xx],

onde xx se refere ao número do caso de uso.

Os tópicos seguintes apresentarão a estrutura dos casos de uso, quais os tipos de prioridades são

encontrados nos casos de uso e a descrição dos atores.

1.5.1. Estrutura dos casos de uso

Cada caso de uso terá o seguinte formato:

Identificação: A identificação do caso de uso, todos os casos de uso seguem a notação UC

xx, onde XX é um número.

Nome: O nome da funcionalidade que o caso de uso descreve.

Referências: a referência para o(s) requisito(s) funcional(is) que o originou.

Prioridade: Prioridade de implementação deste caso de uso.

Atores: Os modelos de usuário e sistemas que utilizarão o caso de uso.

Entradas: Variáveis que serão passadas ao sistema.

Pré-condições: Condições que devem ser satisfeitas antes de o caso de uso ser executado.

Fluxo de Eventos: O passo a passo das ações realizadas para que o caso de uso seja

concluído, podendo incluir fluxos de eventos secundários e/ou alternativos e fluxos de erros.

Pós-condições: Condições que devem ser satisfeitas depois de o caso de uso ser finalizado.

1.5.2. Prioridades dos casos de uso

Os casos de uso são classificados como:

Essencial: É o caso de uso indispensável ao funcionamento do sistema. Esse tipo de caso de

uso deve ser implementado impreterivelmente, caso contrário, o projeto perderá sua

utilidade.

Importante: Sem este caso de uso, o sistema ainda é capaz de ser utilizado. Contudo, essa

utilização se dá de forma não satisfatória pelo cliente.

Desejável: Esse tipo de caso de uso poderá ser implementado em versões posteriores do

sistema, visto que, mesmo sem a sua implementação, o sistema atende as suas

funcionalidades básicas.

1.5.3. Descrição dos Atores

Um ator é um conceito que representa, em geral, um papel que um usuário desempenha no

sistema. Um ator também pode corresponder a um papel desempenhado por outro sistema que interaja

com o sistema em questão. No nosso sistema temos os seguintes atores:

Usuário: O cliente do estabelecimento presente na praça de alimentação.

Administrador: Administração do shopping que implantou o sistema em sua praça de alimentação.

Estabelecimento: Estabelecimentos presentes na praça de alimentação que farão uso do sistema.

Sistema de Pagamento: Subsistema para a realização de pagamento on-line via web, por exemplo,

PagSeguro.

2. Requisitos Organizacionais

Os requisitos organizacionais dizem respeito às metas da empresa, suas políticas estratégicas adotadas, os relacionamentos entre os seus atores junto com seus respectivos objetivos. Devem satisfazer os objetivos da organização ratificando a necessidade da criação do sistema. Esses requisitos são:

Garantir comodidade ao usuário garantindo-lhe uma mesa quando o mesmo vai realizar um pedido, contribuindo também para a satisfação do usuário (tanto em relação ao estabelecimento quanto à praça de alimentação do shopping).

Facilitar o acesso a informações dos produtos e promoções oferecidas pela diversos estabelecimentos na praça de alimentação.

Permitir ao usuário realizar o pagamento de suas compras na própria mesa enquanto aguarda a entrega do pedido (lembrando o que o fluxo de atividades se baseia em: efetuar o pagamento -> enviar o pedido ao estabelecimento -> cliente recebe o pedido).

3. Requisitos Funcionais

3.1. [RF 01] Efetuar login

Identificação: [RF 01] Efetuar login

Casos de Uso relacionados: [UC 01] Descrição: Permite que um usuário acesse e manipule informações restritas do

sistema informando login e senha (autenticação básica).

Prioridade: Essencial Importante Desejável

3.2. [RF 02] Efetuar logoff

Identificação: [RF 02] Efetuar logoff

Casos de Uso relacionados: [UC 02] Descrição: Permite que o usuário saia da aplicação perdendo acesso a

informações restritas do sistema.

Prioridade: Essencial Importante Desejável

3.3. [RF 03] Acessar cardápio

Identificação: [RF 03] Acessar cardápio

Casos de Uso relacionados: [UC 03] Descrição: Permite que o usuário navegue por todos os cardápios que estão

cadastrados no sistema.

Prioridade: Essencial Importante Desejável

3.4. [RF 04] Visualizar cesta de compras

Identificação: [RF 04] Visualizar cesta de compras

Casos de Uso relacionados: [UC 04] Descrição: Permite que o usuário visualize sua cesta de compras enquanto

realiza um pedido, à medida que adiciona/remove itens.

Prioridade: Essencial Importante Desejável

3.5. [RF 05] Adicionar item à cesta de compras

Identificação: [RF 05] Adicionar item à cesta de compras

Casos de Uso relacionados: [UC 05] Descrição: Adiciona um item de compra à cesta de compras.

Prioridade: Essencial Importante Desejável

3.6. [RF 06] Remover item da cesta de compra

Identificação: [RF 06] Remover item da cesta de compra

Casos de Uso relacionados: [UC 06] Descrição: Remove um item de compra que foi previamente adicionado à

cesta.

Prioridade: Essencial Importante Desejável

3.7. [RF 07] Efetuar pagamento

Identificação: [RF 07] Efetuar pagamento

Casos de Uso relacionados: [UC 07] Descrição: O usuário finaliza o pedido e realiza o pagamento escolhendo

alguma forma de pagamento disponibilizada pelo sistema.

Prioridade: Essencial Importante Desejável

3.8. [RF 08] Acessar promoções

Identificação: [RF 08] Acessar promoções

Casos de Uso relacionados: [UC 08 Descrição: Permite ao usuário ter acesso às promoções dos estabelecimentos

cadastrados.

Prioridade: Essencial Importante Desejável

3.9. [RF 09] Buscar item por categoria

Identificação: [RF 09] Buscar item por categoria

Casos de Uso relacionados: [UC 09] Descrição: Permite ao usuário fazer buscas por determinadas categorias de

alimentos, como por exemplo: comidas naturais, comida japonesa,

etc.. O resultado é agrupado por estabelecimento.

Prioridade: Essencial Importante Desejável

3.10. [RF 10] Buscar item por preço

Identificação: [RF 10] Buscar item por preço

Casos de Uso relacionados: [UC 10] Descrição: Permite ao usuário fazer buscas dos produtos oferecidos pelos

estabelecimentos ordenando-os lexicograficamente.

Prioridade: Essencial Importante Desejável

3.11. [RF 11] Inserir produtos

Identificação: [RF 11] Inserir produtos

Casos de Uso relacionados: [UC 11] Descrição: Permite que o estabelecimento insira seus produtos no sistema,

informando dados como nome, preço, categoria, etc.

Prioridade: Essencial Importante Desejável

3.12. [RF 12] Atualizar produtos

Identificação: [RF 12] Atualizar produtos

Casos de Uso relacionados: [UC 12] Descrição: Permite que o estabelecimento atualize os dados dos produtos no

sistema, tais como: nome, preço, categoria, etc.

Prioridade: Essencial Importante Desejável

3.13. [RF 13] Remover Produtos

Identificação: [RF 13] Remover Produtos

Casos de Uso relacionados: [UC 13] Descrição: Permite que o estabelecimento remova seus produtos da base de

dados do sistema. Uma vez realizada, a operação não pode ser

revertida.

Prioridade: Essencial Importante Desejável

3.14. [RF 14] Listar Produtos

Identificação: [RF 14] Listar Produtos

Casos de Uso relacionados: [UC 14] Descrição: Permite que o estabelecimento liste todos os seus produtos

cadastrados no sistema.

Prioridade: Essencial Importante Desejável

3.15. [RF 15] Inserir promoções

Identificação: [RF 15] Inserir promoções

Casos de Uso relacionados: [UC 15] Descrição: Permite que o estabelecimento adicione suas promoções no

sistema.

Prioridade: Essencial Importante Desejável

3.16. [RF 16] Remover promoções

Identificação: [RF 16] Remover promoções

Casos de Uso relacionados: [UC 16] Descrição: Permite que o estabelecimento remova dados de suas promoções

existentes na base de dados do sistema. Uma vez realizada, a

operação não pode ser revertida.

Prioridade: Essencial Importante Desejável

3.17. [RF 17] Atualizar promoções

Identificação: [RF 17] Atualizar promoções

Casos de Uso relacionados: [UC 17] Descrição: Permite que o estabelecimento atualize os dados de uma

determinada promoção cadastrada no sistema.

Prioridade: Essencial Importante Desejável

3.18. [RF 18] Listar promoções

Identificação: [RF 18] Listar promoções

Casos de Uso relacionados: [UC 18] Descrição: Permite que o estabelecimento atualize os dados de uma

determinada promoção sua cadastrada no sistema.

Prioridade: Essencial Importante Desejável

3.19. [RF 19] Gerar relatório de análise do retorno financeiro

Identificação: [RF 19] Gerar relatório de análise do retorno financeiro

Casos de Uso relacionados: [UC 19] Descrição: Gera um relatório que apresenta o retorno financeiro referente à

implantação do sistema ao longo dos meses com o objetivo de

análise do investimento realizado.

Prioridade: Essencial Importante Desejável

3.20. [RF 20] Gerar gráfico de crescimento de usuários

Identificação: [RF 20] Gerar gráfico de crescimento de usuários

Casos de Uso relacionados: [UC 20] Descrição: Gera gráfico do número de usuários que utilizam o sistema ao longo

dos meses, a fim de ter uma noção de crescimento do número de

usuários do sistema.

Prioridade: Essencial Importante Desejável

3.21. [RF 21] Inserir estabelecimento

Identificação: [RF 21] Inserir estabelecimento

Casos de Uso relacionados: [UC 21] Descrição: Permite que o administrador cadastre um estabelecimento na base

de dados do sistema.

Prioridade: Essencial Importante Desejável

3.22. [RF 22] Remover Estabelecimento

Identificação: [RF 22] Remover Estabelecimento

Casos de Uso relacionados: [UC 22] Descrição: Permite que o administrador remova um estabelecimento da base

de dados do sistema. Uma vez realizada, a operação não pode ser

revertida.

Prioridade: Essencial Importante Desejável

3.23. [RF 23] Atualizar Estabelecimento

Identificação: [RF 23] Atualizar Estabelecimento

Casos de Uso relacionados: [UC 23] Descrição: Permite que o administrador atualize dados de um determinado

estabelecimento na base de dados do sistema.

Prioridade: Essencial Importante Desejável

3.24. [RF 24] Listar Estabelecimentos

Identificação: [RF 24] Listar Estabelecimentos

Casos de Uso relacionados: [UC 24] Descrição: Permite que o administrador obtenha a lista de todos os

estabelecimentos cadastrados no sistema.

Prioridade: Essencial Importante Desejável

4. Requisitos Não Funcionais

Os requisitos não funcionais são restrições sobre os serviços ou as funções oferecidas pelo sistema.

Muitos dizem respeito ao sistema como um todo, e não a características individuais deste. Isso significa

que eles, freqüentemente, são mais importantes que os requisitos funcionais individuais. A classificação

desses requisitos segue o autor Sommerville, que agrupa os mesmos em três grupos, a saber: requisitos

de processo, requisitos de produto e requisitos externos.

4.1. Requisitos de Processo

4.1.1. [RNF 01] Utilizar Linguagem Java

Identificação: [RNF 01] Utilizar Linguagem Java

Casos de Uso relacionados: Todos. Descrição: O sistema deve ser desenvolvido utilizando a linguagem Java e o

servidor Apache Tomcat 6.

Prioridade: Essencial Importante Desejável

4.1.2. [RNF 02] Utilizar o Banco de Dados MySQL

Identificação: [RNF 02] Utilizar Banco de Dados MySQL

Casos de Uso relacionados: Todos. Descrição: O servidor disponível para hospedar a aplicação, possui apenas o

banco de dados MySQL 5.5. Portanto, a aplicação deverá fazer uso

do mesmo Sistema de Gerenciamento de Banco de Dados (SGBD)

para persistência dos dados.

Prioridade: Essencial Importante Desejável

4.1.3. [RNF 03] Utilizar metodologia RUP

Identificação: [RNF 03] Utilizar metodologia RUP

Casos de Uso relacionados: Todos. Descrição: O Rational Unified Process (RUP) será a metodologia empregada,

pois um dos principais pilares do RUP é o conceito de best

practices (melhores práticas), que são regras/práticas que visam

reduzir o risco e tornar o desenvolvimento mais eficiente.

Prioridade: Essencial Importante Desejável

4.2. Requisitos de Produto

4.2.1. Usabilidade

4.2.1.1. [RNF 04] Interface gráfica

Identificação: [RNF 04] Interface gráfica

Casos de Uso relacionados: Todos.

Descrição: O sistema deve permitir facilidades de uso, tendo uma interface

gráfica clara e intuitiva, a fim de que pouco tempo seja necessário

para o usuário dominá-la sem a necessidade de um treinamento

intensivo prévio.

Prioridade: Essencial Importante Desejável

4.2.1.2. [RNF 05] Documentação objetiva

Identificação: [ RNF 05] Documentação objetiva

Casos de Uso relacionados: Todos. Descrição: Toda documentação do sistema gerada deve ser bem estruturado.

Deve conter todas as informações relativas às funcionalidades do

sistema de forma clara e objetiva.

Prioridade: Essencial Importante Desejável

4.2.1.3. [RNF 06] Mensagem de erro

Identificação: [RNF 06] Mensagens de erro

Casos de Uso relacionados: Todos. Descrição: As mensagens de erro do sistema deverão ser claras e objetivas.

Suas informações devem ser suficientes para o usuário solucionar o problema, sem gerar grandes impactos no fluxo da aplicação.

Prioridade: Essencial Importante Desejável

4.2.2. Performance

4.2.2.1. [RNF 07] Tempo de resposta

Identificação: [RNF 07] Tempo de resposta

Casos de Uso relacionados: Todos. Descrição: As consultas realizadas ao sistema não podem ultrapassar o limite

máximo de tempo de 10 segundos.

Prioridade: Essencial Importante Desejável

4.2.2.2. [RNF 08] Capacidade de armazenamento

Identificação: [RNF 08] Capacidade de armazenamento

Casos de Uso relacionados: Todos. Descrição: O sistema não deve ocupar mais do que 60% da capacidade total de

armazenamento

Prioridade: Essencial Importante Desejável

4.2.3. Segurança

4.2.3.1. [RNF 09] Confidencialidade

Identificação: [RNF 09] Confidencialidade

Casos de Uso relacionados: Todos. Descrição: Todas as comunicações externas entre o servidor de dados do

sistema e os clientes devem ser criptografadas.

Prioridade: Essencial Importante Desejável

4.2.3.2. [RNF 10] Disponibilidade

Identificação: [RNF 10] Disponibilidade

Casos de Uso relacionados: Todos. Descrição: O sistema deve ter seus servidores replicados para atender a 99%

das solicitações.

Prioridade: Essencial Importante Desejável

4.2.3.3. [RNF 11] Integridade

Identificação: [RNF 11] Integridade

Casos de Uso relacionados: Todos. Descrição: Os dados armazenados e consultados da base de dados do sistema

devem estar corretos e coesos com os dados fornecidos ao sistema.

Prioridade: Essencial Importante Desejável

4.2.3.4. [RNF 12] Autenticação

Identificação: [RNF 12] Autenticação

Casos de Uso relacionados: Todos. Descrição: Cada tipo de usuário só acessará as informações disponibilizadas a

ele.

Prioridade: Essencial Importante Desejável

4.2.3.5. [RNF 13] Robustez

Identificação: [RNF 13] Robustez

Casos de Uso relacionados: Todos. Descrição: Para o sistema ser robusto é necessário que ele tenha uma política

de prevenção e de restabelecimento de erros.

Prioridade: Essencial Importante Desejável

4.2.4. Manutenabilidade

4.2.4.1. [RNF 14] Refatoração

Identificação: [RNF 14] Refatoração

Casos de Uso relacionados: Todos. Descrição: Melhora a estrutura interna do código sem alterar seu

comportamento externo, auxiliando, assim, o entendimento do código. Ainda evita a deterioração durante o ciclo de vida de um código causada por mudanças com objetivos de curto prazo ou por

alterações realizadas sem a clara compreensão da concepção do sistema.

Prioridade: Essencial Importante Desejável

4.2.4.2. [RNF 15] Tratamento de exceções

Identificação: [RNF 15] Tratamento de exceções

Casos de Uso relacionados: Todos. Descrição: Um bom tratamento de exceções é imprescindível e extremamente

necessário, de modo que eventuais manutenções no sistema possam ser facilitadas. O sistema deve poder recuperar-se de falhas não críticas.

Prioridade: Essencial Importante Desejável

4.3. Requisitos Externos

4.3.1. [RNF 16] Tempo de Desenvolvimento

Identificação: [RNF 16] Tempo de Desenvolvimento

Casos de Uso relacionados: Todos. Descrição: O tempo de desenvolvimento do sistema não pode superar em mais

de 10% do tempo previsto no estudo de viabilidade.

Prioridade: Essencial Importante Desejável

4.3.2. [RNF 17] Orçamento

Identificação: [RNF 17] Orçamento

Casos de Uso relacionados: Todos. Descrição: O custo total para implantação do sistema – não incluindo os custos

com manutenções – não deve ultrapassar em mais de 10% o valor previsto no estudo de viabilidade.

Prioridade: Essencial Importante Desejável

5. Modelagem Organizacional

Nas seções deste capítulo, estão dispostas as modelagens organizacionais desse sistema. Elas foram feitas utilizando a notação i* (iStar).

5.1. Modelagem de Dependência Estratégica

5.2. Modelagem de Razão Estratégica

6. Modelagem de Requisitos Funcionais (Caso de Uso)

Este capítulo apresenta a modelagem, através de diagramas de casos de uso, dos requisitos funcionais do sistema apresentados anteriormente. No Apêndice B, encontram-se as descrições detalhadas de cada caso de uso.

7. Modelagem de Requisitos Não Funcionais

8. Conclusão

Este documento apresenta inicialmente uma visão geral do projeto, que é descrito em detalhes mais

adiante. No mesmo, estão detalhados todos os requisitos funcionais, que foram elicitados baseado na

técnica de coleta de dados, e os requisitos não-funcionais, com uma descrição detalhada de cada um

deles. Além disso, o documento apresenta os requisitos organizacionais, os quais dizem respeito às

metas da empresa, suas políticas estratégicas adotadas, os relacionamentos entre os seus atores junto

com seus respectivos objetivos.

Logo, o objetivo deste documento é relatar as características do sistema de forma mais detalhada

possível, para que tanto a equipe, quanto o cliente tenham uma visão geral, clara e detalhada do

produto a ser produzida.

9. Referências

Estudo de Viabilidade. Disponível em: <http://www.cin.ufpe.br/~tmlp/>. Acesso em: maio 2011.

KOTONYA, G.; SOMMERVILLE, I. Requirements Engineering: Processes and Techniques, John

Wiley & Sons, 1998.

PISKE, Otávio Rodolfo. RUP – Rational Unified Process. Universidade do Contestado. 2003.

Disponível em: <http://www.angusyoung.org/arquivos/artigos/trabalho_rup.pdf>. Acesso em:

maio de 2011.

Shopping Recife. Disponível em: <www.shoppingrecife.com.br/>. Acesso em: maio de 2011.

Site da disciplina de Especificação e Validação de Requisitos. Disponível em:

<http://www.cin.ufpe.br/~if716/>. Acesso em: maio de 2011.

Wikipédia, a enciclopédia livre. Disponível em: <pt.wikipedia.org/>. Acesso em: maio de 2011.

Apêndice A - Glossário

Apache TomCat: é um servidor web Java, desenvolvido pela Apache Software Foundation,

distribuído como software livre.

Banco de dados MySQL: O programa 'MySQL' é um sistema de gerenciamento de banco de dados

relacionais baseado em comandos SQL (Structured Query Language - Linguagem Estruturada para

Pesquisas). É atualmente um dos bancos de dados mais populares com mais de 10 milhões de

instalações.

Criptografia: é o estudo dos princípios e técnicas pelas quais a informação pode ser transformada da

sua forma original para outra ilegível, de forma que possa ser conhecida apenas por seu destinatário

(detentor da "chave secreta"), o que a torna difícil de ser lida por alguém não autorizado. Assim

sendo, só o receptor da mensagem pode ler a informação com facilidade.

Java: é uma linguagem de programação e uma plataforma de computação lançada pela primeira vez

pela Sun Microsystems em 1995. Plataforma essa que permite desenvolver aplicativos utilizando

qualquer uma das linguagens criadas para a plataforma Java.

Log off: Termo utilizado para demonstrar a ação de um usuário quando este sai do sistema.

Log on: Termo utilizado para demonstrar a ação de um usuário quando entra no sistema com login e

senha (autenticação básica).

Login: Trata-se de uma seqüência de caracteres utilizada para identificar um usuário de forma única.

Notação i*: Abordagem criada por John Mylopoulos e EricYu, na Universidade de Toronto para

descrição de requisitos organizacionais.

Tablet: Dispositivo pessoal em formato de prancheta que pode ser usado para acesso à Internet,

organização pessoal, visualização de fotos, vídeos, leitura de livros, jornais e revistas e para

entretenimento com jogos 3D. Apresenta uma tela touchscreen que é o dispositivo de entrada

principal.

UC: caso de uso (ou use case) é um tipo de classificador representando uma unidade funcional

coerente provida pelo sistema, subsistema, ou classe manifestada por seqüências de mensagens

intercambiáveis entre os sistemas e um ou mais atores.

Apêndice B – Descrição dos casos de uso

Identificação Nome

UC 01 Efetuar Login

Referências RF 01 Prioridade Essencial

Atores Administrador, Estabelecimento

Entradas Login Senha

Pré-condições O usuário não pode ter efetuado o login no sistema. O usuário já deve estar cadastrado no sistema.

Fluxo Principal

1. Quando o usuário tenta acessar qualquer funcionalidade restrita do sistema, o caso de uso de login é executado.

2. O sistema solicita informações de login e senha do usuário. 3. O usuário informa seu login e senha. 4. O sistema verifica os dados e garante nível de acesso ao

usuário.

Fluxo Secundário

Fluxo secundário 1:

1. O sistema não consegue validar os dados do usuário. 2. O sistema informa ao usuário que o login e senha não

correspondem. 3. Caso de uso retorna ao passo 2 do fluxo principal.

Fluxo Secundário 2: 1. O usuário pode cancelar a operação a qualquer momento. 2. O caso de uso é encerrado.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições O usuário poderá acessar informações restritas no sistema de acordo com seu nível de acesso.

Identificação Nome

UC 02 Efetuar Logoff

Referências RF 02 Prioridade Essencial

Atores Administrador, Estabelecimento

Entradas Não se aplica

Pré-condições O usuário precisa estar logado no sistema.

Fluxo Principal

1. O usuário seleciona a opção de realizar logoff no sistema. 2. O sistema remove os dados referentes à autenticação do

usuário. 3. Todas as funcionalidades restritas do sistema não podem ser

acessadas.

Fluxo Secundário Não se aplica

Fluxo de erro Não se aplica

Pós-condições O usuário não pode acessar as funcionalidades restritas do sistema.

Identificação Nome

UC 03 Acessar cardápio

Referências RF 03 Prioridade Essencial

Atores Cliente

Entradas Não se aplica

Pré-condições Não se aplica

Fluxo Principal

1. O usuário escolhe a opção de Acessar Cardápio no sistema. 2. O sistema mostra ao usuário uma lista de estabelecimentos

cadastrados. 3. O usuário escolhe um dos estabelecimentos listados. 4. O sistema mostra ao usuário o cardápio com os produtos

comercializados pelo estabelecimento escolhido.

Fluxo Secundário 1. O usuário pode cancelar a operação a qualquer momento. 2. O caso de uso é encerrado.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições O estado do banco de dados deve permanecer o mesmo após a execução do caso de uso.

Identificação Nome

UC 04 Visualizar cesta de compras

Referências RF 04 Prioridade Essencial

Atores Cliente

Entradas Não se aplica

Pré-condições Não se aplica

Fluxo Principal

1. O usuário escolhe a opção Visualizar Cesta de Compras no sistema.

2. O sistema mostra ao usuário todos os itens atualmente inclusos na cesta de compras.

Fluxo Secundário 1. O usuário pode cancelar a operação a qualquer momento. 2. O caso de uso é encerrado.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições O estado do banco de dados deve permanecer o mesmo após a execução do caso de uso.

Identificação Nome

UC 05 Adicionar item à cesta de compras

Referências RF 05 Prioridade Essencial

Atores Cliente

Entradas Dados do item a ser adicionado à cesta

Pré-condições Não se aplica

Fluxo Principal

1. O usuário escolhe a opção de Adicionar Item à Cesta de Compras enquanto acessa o cardápio de um determinado estabelecimento.

2. O sistema adiciona o item escolhido à cesta de compras do usuário (na sessão do usuário).

Fluxo Secundário Não se aplica

Fluxo de erro Não se aplica

Pós-condições O estado do banco de dados continua inalterado após a execução do caso de uso. Coleção de itens armazenada na sessão do usuário deve conter o novo item adicionado.

Identificação Nome

UC 06 Remover item da cesta de compra

Referências RF 06 Prioridade Essencial

Atores Cliente

Entradas Dados do item a ser removido

Pré-condições Não se aplica

Fluxo Principal

1. O usuário escolhe a opção Remover Item da Cesta de Compras enquanto visualiza os itens contidos na sua lista de compras.

2. O sistema remove o item escolhido da cesta de compras e mostra ao usuário a lista atualizada com os itens presentes na cesta de compras.

Fluxo Secundário Não se aplica

Fluxo de erro Não se aplica

Pós-condições O estado do banco de dados continua inalterado após a execução do caso de uso. Coleção de itens armazenada na sessão do usuário não deve conter o item removido.

Identificação Nome

UC 07 Efetuar pagamento

Referências RF 07 Prioridade Essencial

Atores Cliente

Entradas Dados dos itens da cesta de compras, nome do titular, tipo, número, validade e dígitos de segurança do cartão de crédito, forma de pagamento (débito ou crédito).

Pré-condições A cesta de compras deve conter ao menos um item de compra.

Fluxo Principal

1. O usuário escolhe a opção de Efetuar Pagamento na página de visualização da cesta de compras.

2. O sistema mostra a cesta de compras atual e pede a confirmação do usuário.

3. O usuário confirma o pedido. 4. O sistema exibe um formulário com as informações necessárias

para realização do pagamento. 5. O usuário informa os dados necessários: nome do titular, tipo,

número, validade e dígitos de segurança do cartão de crédito e forma de pagamento e conclui o pedido.

6. Os dados do pedido são persistidos no sistema e uma mensagem de confirmação é exibida ao usuário.

Fluxo Secundário

Fluxo Secundário 1: 1. O usuário pode cancelar a operação a qualquer momento. 2. O caso de uso é encerrado.

Fluxo Secundário 2: 1. Os dados do cartão de crédito fornecidos pelo usuário estão

incorretos. 2. O sistema informa ao usuário que os dados informados estão

incorretos. 3. Caso de uso retorna ao passo 4 do fluxo principal.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições As informações referentes ao pedido devem estar armazenadas no banco de dados.

Identificação Nome

UC 08 Acessar promoções

Referências RF 08 Prioridade Essencial

Atores Cliente

Entradas Não se aplica

Pré-condições Não se aplica

Fluxo Principal

1. O usuário escolhe a opção de Acessar Promoções no sistema. 2. O sistema mostra ao usuário uma lista de estabelecimentos

cadastrados. 3. O usuário escolhe um dos estabelecimentos listados. 4. O sistema mostra ao usuário as promoções disponibilizadas

pelo estabelecimento escolhido.

Fluxo Secundário 1. O usuário pode cancelar a operação a qualquer momento. 2. O caso de uso é encerrado.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado

Pós-condições O estado do banco de dados deve permanecer o mesmo após a execução do caso de uso.

Identificação Nome

UC 09 Busca item por categoria

Referências RF 09 Prioridade Importante

Atores Cliente

Entradas Categoria escolhida para a busca

Pré-condições Não se aplica

Fluxo Principal

1. O usuário escolhe a opção de Buscar Item por Categoria no sistema.

2. O sistema mostra ao usuário uma lista de categorias cadastradas no sistema.

3. O usuário escolhe uma das categorias listadas. 4. O sistema mostra ao usuário os itens referentes à categoria

escolhida, ordenando-os por algum critério.

Fluxo Secundário 1. O usuário pode cancelar a operação a qualquer momento. 2. O caso de uso é encerrado

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições O estado do banco de dados deve permanecer o mesmo após a execução do caso de uso.

Identificação Nome

UC 10 Busca item por preço

Referências RF 10 Prioridade Importante

Atores Cliente

Entradas Preço mínimo e máximo do produto desejado

Pré-condições Não se aplica

Fluxo Principal

1. O usuário escolhe a opção de Buscar Item por Preço no sistema. 2. O sistema exibe um formulário com as informações necessárias

para a busca de itens por preço. 3. O usuário informa o preço desejado (mínimo e/ou máximo). 4. O sistema mostra uma lista de itens que possuem o preço

desejado de acordo com os dados fornecidos

Fluxo Secundário

Fluxo Secundário 1: 1. O usuário pode cancelar a operação a qualquer momento. 2. O caso de uso é encerrado.

Fluxo Secundário 2: 1. Os dados fornecidos pelo usuário estão incorretos (valores não

permitidos). 2. O sistema informa ao usuário que os dados informados estão

incorretos. 3. Caso de uso retorna ao passo 2 do fluxo principal.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições O estado do banco de dados deve permanecer o mesmo após a execução do caso de uso.

Identificação Nome

UC 11 Inserir produtos

Referências RF 11 Prioridade Essencial

Atores Estabelecimento

Entradas Dados do produto: nome, descrição, ilustração (imagem) e preço.

Pré-condições O usuário precisa estar logado no sistema.

Fluxo Principal

1. O usuário escolhe a opção de Inserir produtos no sistema. 2. O sistema exibe um formulário com as informações necessárias

para a inserção do produto. 3. O usuário informa ao sistema os dados requisitados e solicita a

inserção. 4. O sistema armazena as informações no banco de dados e

confirma a conclusão da operação ao usuário.

Fluxo Secundário

Fluxo Secundário 1: 1. O usuário pode cancelar a operação a qualquer momento. 2. O caso de uso é encerrado.

Fluxo Secundário 2: 1. Os dados do produto fornecidos pelo usuário estão incorretos. 2. O sistema informa ao usuário que os dados informados estão

incorretos, indicando-os. 3. Caso de uso retorna ao passo 2 do fluxo principal.

Fluxo secundário 3: 1. O usuário informa dados de um produto que já existe. 2. Uma mensagem de alerta é exibida para o usuário, impedindo a

atualização. 3. O fluxo do caso de uso retorna ao passo 2 do fluxo principal.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições As informações referentes ao novo produto inserido estão armazenadas no banco de dados.

Identificação Nome

UC 12 Atualizar produto

Referências RF 12 Prioridade Essencial

Atores Estabelecimento

Entradas Dados do produto a ser atualizado: nome, descrição, ilustração (imagem) e preço.

Pré-condições O usuário precisa está logado no sistema

Fluxo Principal

1. O usuário escolhe a opção de Atualizar Produto enquanto visualiza a lista de produtos existentes no sistema.

2. O sistema mostra ao usuário um formulário preenchido com os dados atuais do produto escolhido.

3. O usuário realiza as alterações necessárias no produto e solicita a sua atualização.

4. O sistema atualiza as informações do Produto

Fluxo Secundário

Fluxo Secundário 1: 1. O usuário pode cancelar a operação a qualquer momento. 2. O caso de uso é encerrado.

Fluxo Secundário 2: 1. Os dados atualizados do produto fornecidos pelo usuário estão

incorretos. 2. O sistema informa ao usuário que os dados informados estão

incorretos, indicando-os. 3. Caso de uso retorna ao passo 2 do fluxo principal.

Fluxo secundário 3: 4. O usuário informa dados de um produto que já existe. 5. Uma mensagem de alerta é exibida para o usuário, impedindo a

atualização. 6. O fluxo do caso de uso retorna ao passo 2 do fluxo principal.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições O banco de dados será atualizado para armazenar as novas informações do produto.

Identificação Nome

UC 13 Remover produto

Referências RF 13 Prioridade Essencial

Atores Estabelecimento

Entradas Não se aplica

Pré-condições O usuário precisa está logado no sistema

Fluxo Principal

1. O usuário escolhe a opção de Remover Produto enquanto visualiza a lista de produtos existentes no sistema.

2. O sistema mostra ao usuário uma mensagem de confirmação. 3. O usuário confirma a operação. 4. O sistema remove o produto escolhido da base de dados e

confirma a conclusão da operação ao usuário.

Fluxo Secundário 1. O usuário pode cancelar a operação antes de confirmar a

remoção. 2. O caso de uso é encerrado.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições O produto selecionado pelo usuário será removido do banco de dados.

Identificação Nome

UC 14 Listar produtos

Referências RF 14 Prioridade Essencial

Atores Estabelecimento

Entradas Não se aplica

Pré-condições O usuário precisa está logado no sistema

Fluxo Principal 1. O usuário seleciona a opção Listar Produtos do menu. 2. O sistema exibe todos os produtos cadastrados agrupadas por

preço.

Fluxo Secundário 1. O usuário pode cancelar a operação a qualquer momento. 2. O caso de uso é encerrado.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições O estado do banco de dados deve permanecer o mesmo após a execução do caso de uso.

Identificação Nome

UC 15 Inserir promoção

Referências RF 15 Prioridade Essencial

Atores Estabelecimento

Entradas Dados da promoção a ser inserida, como: nome, itens, ilustração (imagem) e preço.

Pré-condições O usuário precisa está logado no sistema

Fluxo Principal

1. O usuário seleciona a opção Inserir Promoção. 2. O sistema solicita os dados necessários para a inserção da

promoção. 3. O usuário informa os dados requisitados pelo sistema. 4. O sistema armazena a informação no banco de dados e

confirma a operação ao usuário.

Fluxo Secundário

Fluxo secundário 1: 1. Os dados informados pelo usuário não são validados pelo

sistema. 2. O fluxo do caso de uso retorna ao passo 2 do fluxo principal.

Fluxo secundário 2: 1. O usuário pode cancelar a operação. 2. O sistema volta para tela inicial do sistema.

Fluxo secundário 3: 1. O usuário informa dados de uma promoção que já existe. 2. Uma mensagem de alerta é exibida para o usuário, impedindo a

inserção. 3. O fluxo do caso de uso retorna ao passo 2 do fluxo principal.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições As informações referentes à nova promoção inserida estão armazenadas no banco de dados.

Identificação Nome

UC 16 Remover promoção

Referências RF 16 Prioridade Essencial

Atores Estabelecimento

Entradas Não se aplica

Pré-condições O usuário precisa está logado no sistema

Fluxo Principal

1. Inclui o fluxo do [UC18] Listar Promoções. 2. O usuário seleciona a promoção que pretende excluir. 3. O usuário clica no botão Excluir. 4. O sistema apresentará uma tela para confirmar a exclusão. 5. O usuário confirma a exclusão. 6. O sistema exibe uma mensagem de confirmação da remoção e

remove a promoção do banco de dados.

Fluxo Secundário 1. O usuário pode cancelar a operação antes de confirmar a

remoção. 2. O caso de uso é encerrado.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições A promoção selecionada pelo usuário será removida do banco de dados.

Identificação Nome

UC 17 Atualizar promoção

Referências RF 17 Prioridade Essencial

Atores Estabelecimento

Entradas Dados da promoção a ser atualizada, como: nome, itens, ilustração (imagem) e preço.

Pré-condições O usuário precisa está logado no sistema

Fluxo Principal

1. Inclui o fluxo do [UC18] Listar Promoções. 2. O usuário seleciona a promoção que pretende atualizar. 3. O usuário clica no botão Atualizar. 4. Uma lista com todos os dados possíveis de serem atualizados é

exibida pelo sistema. 5. O usuário informa os dados que deseja atualizar e clica no

botão Atualizar. 6. O sistema realiza as alterações no banco de dados e exibe uma

mensagem de confirmação da alteração.

Fluxo Secundário

Fluxo Secundário 1: 1. O usuário pode cancelar a operação a qualquer momento. 2. O caso de uso é encerrado.

Fluxo Secundário 2: 1. Os dados atualizados da promoção fornecidos pelo usuário

estão incorretos. 2. O sistema informa ao usuário que os dados informados estão

incorretos, indicando-os. 3. Caso de uso retorna ao passo 2 do fluxo principal.

Fluxo secundário 3: 1. O usuário informa dados de uma promoção que já existe. 2. Uma mensagem de alerta é exibida para o usuário, impedindo a

atualização. 3. O fluxo do caso de uso retorna ao passo 2 do fluxo principal.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições O banco de dados será atualizado para armazenar as novas informações da promoção.

Identificação Nome

UC 18 Listar promoções

Referências RF 18 Prioridade Essencial

Atores Estabelecimento

Entradas Não se aplica

Pré-condições O usuário precisa está logado no sistema

Fluxo Principal 1. O usuário seleciona a opção Listar Promoções do menu. 2. O sistema exibe todas as promoções cadastradas agrupadas por

preço.

Fluxo Secundário

Fluxo secundário 1:

1. O usuário pode cancelar a operação; 2. O sistema volta para tela inicial do sistema.

Fluxo secundário 2:

1. O banco de dados pode não ter nenhuma promoção cadastrada;

2. O sistema exibe uma mensagem informando a ausência de promoção.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições O estado do banco de dados deve permanecer o mesmo após a execução do caso de uso.

Identificação Nome

UC 19 Gerar relatório de análise do retorno financeiro

Referências RF 19 Prioridade Importante

Atores Administrador

Entradas Período inicial e final utilizado para a análise do retorno financeiro.

Pré-condições O usuário precisa está logado no sistema

Fluxo Principal

1. O usuário seleciona o menu Administração de dados e lá seleciona o submenu Gerar Relatório de Análise do Retorno Financeiro.

2. O sistema exibirá campos para informar o período inicial e final que se deseja exibir no resultado do relatório.

3. O usuário clica no botão Gerar relatório. 4. O sistema gera o relatório e exibe o resultado.

Fluxo Secundário 1. O usuário pode cancelar a operação a qualquer momento. 2. O caso de uso é encerrado.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições O sistema exibirá um Relatório de Análise do Retorno Financeiro na tela.

Identificação Nome

UC 20 Gerar gráfico de crescimento de usuários

Referências RF 20 Prioridade Importante

Atores Administrador

Entradas Período inicial e final utilizado na análise do crescimento de usuários.

Pré-condições O usuário precisa está logado no sistema

Fluxo Principal

1. O usuário seleciona o menu Administração de dados e lá seleciona o submenu Gerar Gráfico de Crescimento de Usuários.

2. O sistema exibirá campos para informar o período inicial e final que se deseja exibir no gráfico.

3. O usuário clica no botão Gerar gráfico. 4. O sistema gera o gráfico e exibe o resultado.

Fluxo Secundário 1. O usuário pode cancelar a operação a qualquer momento. 2. O caso de uso é encerrado.

Fluxo de erro

4. O sistema não consegue se conectar ao banco de dados. 5. O sistema informa ao usuário que algum erro inesperado

ocorreu. 6. O caso de uso é encerrado.

Pós-condições O sistema exibirá o gráfico de crescimento de usuários na tela.

Identificação Nome

UC 21 Inserir estabelecimento

Referências RF 21 Prioridade Importante

Atores Administrador

Entradas Dados do estabelecimento a serem inseridos, como: nome, número da loja, CNPJ, categoria, número da praça, telefone.

Pré-condições O usuário precisa está logado no sistema

Fluxo Principal

1. O administrador seleciona a opção Inserir Estabelecimento. 2. O sistema solicita os dados necessários para a inserção do

estabelecimento. 3. O administrador informa os dados requisitados pelo sistema. 4. O sistema armazena a informação no banco de dados e

confirma a operação ao administrador.

Fluxo Secundário

Fluxo Secundário 1: 1. O usuário pode cancelar a operação a qualquer momento. 2. O caso de uso é encerrado.

Fluxo Secundário 2: 1. Os dados do estabelecimento fornecidos pelo usuário estão

incorretos. 2. O sistema informa ao usuário que os dados informados estão

incorretos, indicando-os. 3. Caso de uso retorna ao passo 2 do fluxo principal.

Fluxo secundário 3: 1. O usuário informa dados de um estabelecimento que já existe. 2. Uma mensagem de alerta é exibida para o usuário, impedindo a

atualização. 3. O fluxo do caso de uso retorna ao passo 2 do fluxo principal.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições As informações referentes ao novo estabelecimento inserido estão armazenadas no banco de dados.

Identificação Nome

UC 22 Remover estabelecimento

Referências RF 22 Prioridade Essencial

Atores Administrador

Entradas Dados do estabelecimento a ser removido.

Pré-condições O usuário precisa está logado no sistema

Fluxo Principal

1. Inclui o fluxo do [UC24] Listar Estabelecimentos. 2. O usuário seleciona o estabelecimento que pretende excluir. 3. O usuário clica no botão Excluir. 4. O sistema apresentará uma tela para confirmar a exclusão. 5. O usuário confirma a exclusão. 6. O sistema exibe uma mensagem de confirmação da remoção e

remove o estabelecimento do banco de dados.

Fluxo Secundário 1. O usuário pode cancelar a operação antes de confirmar a

remoção. 2. O caso de uso é encerrado.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições O estabelecimento selecionado pelo usuário será removido do banco de dados.

Identificação Nome

UC 23 Atualizar estabelecimento

Referências RF 23 Prioridade Essencial

Atores Administrador

Entradas Dados do estabelecimento a ser atualizado, como: Nome, número da loja, CNPJ, categoria, número da praça, telefone.

Pré-condições O usuário precisa está logado no sistema

Fluxo Principal

1. Inclui o fluxo do [UC24] Listar Estabelecimentos. 2. O usuário seleciona o estabelecimento que pretende atualizar. 3. O usuário clica no botão Atualizar. 4. Uma lista com todos os dados possíveis de serem atualizados é

exibida pelo sistema. 5. O usuário informa os dados que deseja atualizar e clica no

botão Atualizar. 6. O sistema realiza as alterações no banco de dados e exibe uma

mensagem de confirmação da alteração.

Fluxo Secundário

Fluxo Secundário 1: 1. O usuário pode cancelar a operação a qualquer momento. 2. O caso de uso é encerrado.

Fluxo Secundário 2: 1. Os dados atualizados do estabelecimento fornecidos pelo

usuário estão incorretos. 2. O sistema informa ao usuário que os dados informados estão

incorretos, indicando-os. 3. Caso de uso retorna ao passo 2 do fluxo principal.

Fluxo secundário 3: 1. O usuário informa dados de um estabelecimento que já existe. 2. Uma mensagem de alerta é exibida para o usuário, impedindo a

atualização. 3. O fluxo do caso de uso retorna ao passo 2 do fluxo principal.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições O banco de dados será atualizado para armazenar as novas informações do estabelecimento.

Identificação Nome

UC 24 Listar estabelecimento

Referências RF 24 Prioridade Essencial

Atores Administrador

Entradas Não se aplica

Pré-condições O usuário precisa está logado no sistema

Fluxo Principal 1. O usuário seleciona a opção Listar estabelecimento do menu. 2. O sistema exibe todos os estabelecimentos cadastrados, em

ordem alfabética.

Fluxo Secundário

Fluxo secundário 1:

1. O usuário pode cancelar a operação; 2. O sistema volta para tela inicial do sistema.

Fluxo secundário 2:

1. O banco de dados pode não ter nenhum estabelecimento cadastrado

2. O sistema exibe uma mensagem informando a ausência de estabelecimento.

Fluxo de erro

1. O sistema não consegue se conectar ao banco de dados. 2. O sistema informa ao usuário que algum erro inesperado

ocorreu. 3. O caso de uso é encerrado.

Pós-condições O estado do banco de dados deve permanecer o mesmo após a execução do caso de uso.

Apêndice C – Técnicas utilizadas na coleta de dados

Questionário é uma técnica de investigação composta por um número grande ou pequeno de questões apresentadas por escrito que tem por objetivo propiciar determinado conhecimento ao pesquisador. O questionário abaixo foi aplicado à Mauro, um funcionário do setor de Marketing do Shopping Center Recife. Este respondeu por e-mail as perguntas definidas abaixo:

Questionário

1. Como funciona o sistema de aluguel dos estabelecimentos com o shopping?

Cada loja possui um contrato com o shopping, onde é definido o valor a ser pago. Esse valor varia de acordo com o tamanho da loja e com a localização da mesma.

2. Qual a média de usuários que utilizam a praça de alimentação por dia?

A média de usuários que circulam por dia é de aproximadamente 600 pessoas. Observando que isso é uma média! Acaba variando muito de época do ano, se são férias, ou até mesmo nos dias de semana, já que nos finais de semana e feriados esse valor pode aumentar.

3. Qual a quantidade de mesas nas praças?

Temos quatro praças de alimentação espalhadas pelo Shopping Recife. As duas de maior movimentação e que interessaria mais implantar o sistema, uma tem 155 mesas e a outra 140. Sendo que estas variam de quantidade de lugares, tendo mesas de dois lugares até mesas de 6.

4. Qual é a maior queixa dos clientes em relação ao processo de compra do alimento nos dias de pico?

Bem, a queixa mais frequente é quanto ter que “segurar” a mesa antes de fazer o pedido. Muitas vezes, tem que ficar uma pessoa na mesa, enquanto que outra faz o pedido. Isso acaba gerando uma certa insatisfação no cliente. E filas sempre são problemas. Ninguém gosta de esperar, principalmente em pé, que é o que ocorre no caso das praças de alimentação.

5. Qual a disponibilidade de internet sem fio na praça;

O shopping já oferece rede sem fio para seus clientes terem livre acesso a internet. Logo, os clientes que possuem notebooks e celulares, que acessam a rede sem fio, podem acessar a internet do shopping. Inclusive é visto com mais frequência, pessoas que ficam navegando na internet na praça de alimentação. Algumas vezes é até visto pessoas que marcam reunião na própria praça de alimentação.

6. Qual é a relação que o shopping tem com a tecnologia?

Nós buscamos estar acompanhando as tendências da internet. É através de ferramentas como o twitter que possuímos contato direto com o cliente. Interagimos diretamente com eles, esclarecemos dúvidas, divulgamos ofertas e recebemos um feedback, que vem sendo bem importante. O Shopping Recife vem investindo cada vez mais nessas mídias sociais, pois observamos uma tendência mundial de utilização das mesmas.