especificação de requisitos e validação de...
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
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.
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.