domingo, 8 de maio de 2011

АТПС по программной инженерии (Шаг 4)

Etapa IV


Prototipação e Teste de Software


Introdução


Apresentaremos nesta etapa os diagramas das interfaces gráficas (não todas elas, por economia de toner colorido; porém, explicaremos todas elas) do nosso projeto, referentes a cada requisito funcional.

Para cada interface, apresentaremos também um plano de testes funcionais, em formulários.

Desenvolvimento


Temos os seguintes requisitos funcionais em nosso software (ver Tabela 1 abaixo):

Nome

Tipo

Código

Efetuar login no sistema

Funcionais

P00

Cadastro de dados no sistema

Funcionais

C00

Gerência de usuários

Funcionais

P01

Tela para inserção/remoção/co

nsulta de dados

Funcionais

P02

Apresentação da aplicação

Funcionais

P03

Menu Ajuda

Funcionais

H01

Cadastro (Inserção/Remoção) de Animais

Funcionais

C01

Cadastro (Inserção/Remoção) de Clientes/Donos

Funcionais

C02

Cadastro (Inserção/Remoção) de Produtos

Funciona

is

C04

Cadastro (Inserção/Remoção) de Horários na Agenda

Funcionais

C03

Busca/Consulta de Animais, Clientes, Produtos e Agenda

Funcionais

B00

Tabela 1: requisitos funcionais e código dos mesmos.


O formulário do caso de teste segue o seguinte padrão:

Informação

Descrição

Caso de teste


Pré-condições


Procedimentos


Resultado esperado


Dados de entrada


Critérios especiais


Ambiente


Implementação


Iteração


Formulário 1: guia

Tela de Login

Informação

Descrição

Caso de teste

P00 e P01 – Login no sistema

Pré-condições


Procedimentos

Inserir nome de usuário e senha

Resultado esperado

Logar no sistema; ir para a próxima tela

Dados de entrada

Login e senha (chars / strings)

Critérios especiais

Contagem interna do número de tentativas de login, sem sucesso; apresentação da tela de login/senha inválido(s) caso necessário

Ambiente

Tela do cliente, acessa o servidor

Implementação

Manual

Iteração

Primeira

Formulário 2: P00 e P01











Fig. 1: interface de login


Podemos verificar a interface de login aqui. Temos 2 campos, um para nome de usuário, e o outro para a senha (mascarada com **********). Além disso, temos um aviso de conexão do servidor (verde = ok, vermelho = sem conexão) e um e-mail para contato com o nosso suporte.







Fig. 2: tela de Login / senha inválido(s)

Conforme vemos na página anterior, caso o login e/ou senha sejam inválidos, aparece a tela anterior. O usuário, então, clica em Ok e retorna à tela da Fig. 1.

Caso seja de interesse do usuário, podemos fazer (por segurança) um módulo que conta o número de logins incorretos sequenciais, bloqueando o acesso por “n”minutos, após “m”tentativas incorretas de acesso.

Para cada usuário, a tela seguinte pode variar (por exemplo, um usuário com maiores privilégios veria a tela a seguir (Fig. 3)).


Tela para inserção/remoção/consulta de dados

Informação

Descrição

Caso de teste

P02 e P03 – Tela para inserção/remoção/consulta de dados

Pré-condições

Ter fornecido login/senha corretos

Procedimentos

Consultar/Inserir/Alterar/Excluir registros (caso tenha permissão)

Resultado esperado

Ir para a próxima tela (de acordo com a escolha)

Dados de entrada

Clicar no botão da operação desejada

Critérios especiais

Caso o usuário não possa acessar um ou outro item, o mesmo aparecerá em baixo relevo; botões que possam ser acessados, sempre em alto relevo.

Ambiente

Tela do cliente

Implementação

Manual

Iteração

Segunda

Formulário 3: P02 e P03










Fig. 3: interface pós login

Temos aqui a interface do usuário; os botões podem ser acessados pelo clique do mouse ou por teclas de atalho. Por se tratar de um protótipo, campos de inserção de cadastro dos donos dos animais, botões de logout/logoff não forem criados e nem o menu de ajuda para esta tela.

Podemos verificar a existência de 2 botões, escritos em vermelho. Estes são para pesquisas gerais (em toda a base de dados) e para recuperar um registro apagado anteriormente.

Caso cliquem em Pesquisar, a seguinte tela aparecerá:








Fig. 4: atalho para tela de pesquisa

Esta tela nada mais é do que um atalho para a pesquisa de animais (o mesmo que clicar em Consultar Animais), Consultar Dono (função ainda não disponível no menu inicial) e Estoque de Produtos (PS: produtos aparecem no estoque mesmo se a quantia for 0). Caso não queira consultar nada, clicar em “Cancelar” para voltar à tela anterior.


Busca/Consulta de Animais, Clientes, Produtos e Agenda

Informação

Descrição

Caso de teste

B00 - Busca/Consulta de Animais, Clientes, Produtos e Agenda

Pré-condições

Ter elementos inseridos na base de dados (base não nula)

Procedimentos

Preencher de 1 a “n” campos da tela de busca

Resultado esperado

Obter (ou não) o valor buscado

Dados de entrada

Strings (chars), inteiros e números com casas decimais

Critérios especiais

Trata-se de um “select” na tabela X, tendo como valor(es) os dados inseridos pelo usuário.

Ambiente

Tela do cliente, acessa o servidor para fazer a busca na base

Implementação

Manual

Iteração

Quarta

Formulário 4: B00 - Busca/Consulta de Animais, Clientes, Produtos e Agenda













Fig 5: Pesquisar animais

Conforme vemos, temos vários campos; pode-se preencher apenas um ou vários deles; caso mais de um animal com a mesma informação buscada aparecer, eles serão listados (com poucos campos numa tela de refinamento de busca; tela ainda não criada).

Caso apenas um animal seja encontrado, ele aparecerá no campo “Resultados da busca”, com todas as suas informações. Tais dados (dos animais, nos resultados) podem ser alterados ou impressos.






Fig. 6: Busca sem sucesso Fig. 7: Alterar dados?

Conforme vemos, a Fig. 6 mostra a tela que trata de erros na busca; já a Fig. 7 é um menu pop-up de confirmação caso cliquem em “Alterar”.

Por se tratar de um protótipo, esta tela está pronta, mas, não temos ainda a tela de pesquisar Produtos.

Vale ressaltar que esta tela busca Animais e Donos de animais.












Fig. 8: Verificar Agenda

Mais um elemento de pesquisa (pronto) em nosso protótipo; nele, seleciona-se o dia/mês/ano que queira consultar e, automaticamente, a agenda aparece no campo: “Resultado da busca”, podendo ser alterada ou impressa. Os pop-ups (Fig. 6 e Fig. 7) podem aparecer de novo, caso necessário (dependendo da escolha da operação e/ou de seu resultado)


Menu Ajuda (?)

Informação

Descrição

Caso de teste

H01 – Ajuda

Pré-condições


Procedimentos

Clicar no link Ajuda(?)

Resultado esperado

Obter um janela de pop-up com informações detalhadas de todos os botões e campos da tela referente ao link de ajuda.

Dados de entrada


Critérios especiais


Ambiente

Tela do cliente, local.

Implementação

Manual

Iteração

Última

Formulário 5: H01 – Menu Ajuda


Por se tratar de um protótipo, tais menus de ajuda não encontram-se prontos, pois, estes serão a última coisa a ser feita em nosso projeto.



Cadastro de dados no sistema

Informação

Descrição

Caso de teste

Engloba C00, C01, C02, C03 e C04 – Cadastra (Insere/Remove) Animais, Clientes, Produtos e dados na Agenda.

Pré-condições

Ter permissão para inserir dados na base de dados

Procedimentos

Preencher, ao menos, os campos em negrito para cada tabela.

Resultado esperado

Obter (ou não) sucesso na operação de cadasto( inserção ou remoção)

Dados de entrada

Strings (chars), inteiros e números com casas decimais

Critérios especiais

Trata-se de inserir ou remover valores na tabela. PS: Inserir / Remover não é o mesmo que Alterar!

Ambiente

Tela do cliente, acessa o servidor para fazer inserção/remoção de dados na base

Implementação

Manual

Iteração

Terceira

Formulário 6: Cadastrar / Excluir


A interface será muito semelhante ã interface apresentada nas Figs. 5 e 8; porém, os dados serão diferentes para:

  • Animais;

  • Donos;

  • Produtos;

  • Agenda.


Além disso, será apresentada uma tela pop-up sempre perguntando se “Realmente deseja inserir este cadastro?” ou “Realmente deseja excluir este cadastro?“, com opções de “Sim”, “Não” e “Ajuda”.


Conclusão


Este documento será entregue ao cliente, junto ao protótipo da aplicação, buscando mostrar ao mesmo os rumos do projeto, e, se este precisa de muito mais funções do que as atualmente disponíveis.

Além disso, tal protótipo ajudar-nos-á a validar as soluções propostas e a performance da aplicação.



Alunos:

Samir Piccolotto RA: 0943486061

Nathalia Elias RA: 0832494

Jean Pavanelli RA: 0945489169

Gustavo Chinaglia RA: 0901348552

Cesar Cardoso RA: 0901412846

2 comentários:

  1. Я не копировал
    Я не копировал
    Я не копировал
    Я не копировал
    Я не копировал

    ResponderExcluir
  2. Я слишком ленив, чтобы ждать чьей-то работы

    ...И это факт

    ResponderExcluir