Engenharia de Software Aplicada em um E-Commerce de Jogos

Share Embed


Descrição do Produto

Universidade Estadual do Centro-Oeste – UNICENTRO Setor de Ciências Exatas de Tecnologia – SEET Departamento de Ciências da Computação – DECOMP DISCIPLINA: 2334 – Engenharia de Software III – SÉRIE: 3ª Prof. Dr. Marcos Antonio Quináia

ENGENHARIA DE SOFTWARE APLICADA NO DESENVOLVIMENTO DE APLICAÇÃO DE VENDA DE JOGOS ONLINE – Loja Dubão

Christian Eduardo Bugay, Giovanni Klein Campigoto, Anderson Matheus Lemke. Guarapuava, 2015 1

Sumário 1 Introdução.........................................................................................................................................3 2 Especificação de requisitos...............................................................................................................3 2.1 Definição de requisitos de usuário.....................................................................................3 2.2 Definição de requisitos do sistema.....................................................................................4 3 Arquitetura do sistema......................................................................................................................6 4 Modelagem do sistema......................................................................................................................8 4.1 Casos de uso.......................................................................................................................8 4.2 Descrição dos casos de uso de forma tabular....................................................................9 4.2.1 Acesso à loja........................................................................................................9 4.2.2 Adicionar jogo...................................................................................................10 4.2.3 Excluir jogo........................................................................................................11 4.2.4 Atualizar jogo....................................................................................................12 4.2.5 Adicionar ao carrinho.......................................................................................13 4.2.6 Remover do carrinho.........................................................................................14 4.2.7 Imprimir boleto..................................................................................................15 4.2.8 Realizar cadastro...............................................................................................16 4.2.9 Efetuar login......................................................................................................17 4.2.10 Comprar jogo..................................................................................................18 4.3 Diagrama de Classes........................................................................................................20 4.3.1 Diagrama de Classes de análise.......................................................................20 4.3.2 Diagrama de Classes de projeto........................................................................21 4.4 Modelagem de sequência.................................................................................................22 4.4.1 acesso à loja......................................................................................................22 4.4.2 Adicionar jogo...................................................................................................23 4.4.3 Excluir jogo.......................................................................................................24 4.4.4 Atualizar jogo....................................................................................................25 4.4.5 Adicionar ao carrinho.......................................................................................26 4.4.6 Remover do carrinho.........................................................................................27 4.4.7 Imprimir boleto..................................................................................................28 4.4.8 Realizar cadastro...............................................................................................29 4.4.9 Efetuar login......................................................................................................30 4.4.10 Comprar jogo..................................................................................................31 4.5 Modelagem do Banco de Dados.......................................................................................31 5 Estudo sobre a segurança do sistema.............................................................................................32 5.1 Especificação de confiança..............................................................................................31 5.2 Especificação de proteção................................................................................................32 6 Modelagem das interfaces com os usuários....................................................................................34 7 Especificação e execução de casos de testes..................................................................................36 7.1 Execução dos testes..........................................................................................................38 8 Evolução do sistema........................................................................................................................41 9 Projeto e planejamento do sistema.................................................................................................42 9.1 Planejamento e gerenciamento do projeto.......................................................................42 9.2 Planejamento e gerenciamento do desenvolvimento do software....................................45 10 Gerenciamento de configurações do software..............................................................................46 11 Conclusão......................................................................................................................................47 12 Referências....................................................................................................................................47

2

1 Introdução Esse documento tem como objetivo especificar os requisitos de software para a loja online de jogos Dubão. Onde o usuário poderá acessar o software pela internet para comprar jogos online. O sistema deve funcionar em um ambiente web possibilitando o usuário a fazer compras de jogos. O usuário receberá informações referentes ao(s) jogo(s) que vai comprar. Dentre essas informações estão: gênero, preço, informações sobre o jogo, classificação indicativa e plataforma. Existem duas plataformas para os jogos que são: consoles e PC. Para cada uma das plataformas o preço é diferente, mas as informações serão as mesmas. Neste documento estão presentes as seguintes seções principais: 2. Especificação de requisitos, 3. Arquitetura do Sistema, 4. Modelagem do sistema, 5. Estudo sobre a segurança do sistema, 6. Evolução do sistema, 7. Projeto e planejamento do sistema, 8. Conclusão; ao final, a seção de Referências. A definição de requisitos do usuário serão os requisitos que o usuário definiu, sendo os mesmos, uma visão de alto nível sobre o sistema. A arquitetura do sistema será a seção que demonstrará a forma que o sistema é disposto. A especificação de requisitos do sistema serão os requisitos que o desenvolvedor, utilizando da interpretação dos requisitos do usuário, teve do sistema. Os modelos do sistema serão diagramas que irão mostrar parte do funcionamento do sistema.

2 Especificação de requisitos 2.1 Definição de requisitos de usuário. Fazendo um estudo sobre o sistema identificamos a necessidade dos seguintes funcionalidades do sistema: R1 – Login do usuário, R2 – Cadastro de usuário, R3 – Acesso ao acervo, R4 – Carrinho de compras, R5 – Imprimir boleto e R6 – Gerenciar jogos. O usuário pode fazer o login no sistema com um usuário existente no banco de dados ou entrar na loja como visitante. Caso o usuário entre como visitante ele não pode efetuar compras. Se ele for um visitante quando ele clicar no botão de adicionar para o carrinho ele será redirecionado para a página de login. Se ele não possuir um usuário, clicando no botão "registre-se" será aberta uma tela de cadastro. Nessa tela preenchendo os campos corretos o usuário faz o cadastro de sua conta no sistema. Após o login ele é redirecionado para a loja. Uma vez dentro da loja, logado como usuário, o cliente poderá acessar os jogos da mesma forma que ele fez como visitante. Porém podendo realizar a compra dos jogos. Assim que ele achar algum jogo que goste, ele vai clicar em um botão de adicionar para o carrinho. Quando ele terminar de encontrar os jogos ele deve clicar em "finalizar seleção". Fazendo isso ele é redirecionado para o 3

carrinho, onde estarão listados os jogos que foram incluídos no carrinho. Clicando em finalizar compra o carrinho vai gerar um boleto de pagamento que será exposto ao cliente. Existe um usuário administrador da loja, que é quem faz o controle de estoque dos jogos. O administrador pode cadastrar, editar e excluir jogos da loja.

2.2 Definição de requisitos do sistema Os requisitos de sistema representam a versão detalhada sobre o sistema, incluindo detalhes técnicos importantes para o desenvolvedor [SOMMERVILLE, 2011]. Neste documento, cada requisito de usuário foi subdivido em partes importantes para o processo de desenvolvimento do sistema. Foi usada uma diferenciação entre os atores do sistema: •

Visitante – qualquer pessoa com acesso ao site;



Usuário – visitante cadastrado no banco. Quando um usuário encerra sua sessão, volta a ser considerado visitante;



Administrador – usuário especial responsável pelo gerenciamento das informações.



Banco de Dados – lugar do sistema onde é armazenado todas as informações do software, incluindo cadastros, jogos, informações, etc. Também é de onde as informações são recuperadas para a interação do usuário com o sistema.

2.2.1 Requisitos de Usuário e Requisitos de Sistema R1 – Login do usuário R1.1 – Para realizar login, o até então visitante deverá fornecer o seu E-mail e em seguida sua Senha; R1.2 – A barra de login estará disponível na parte superior do site; R1.3 – Após o login, a Imagem, o Nome (ver requisito R2) e o Carrinho (ver requisito R5) do usuário estarão disponíveis no mesmo lugar onde se encontrava a barra de login; R1.4 – Caso o login seja realizado por um administrador, a Imagem, o Nome e a opção Modo de edição (ver requisito R6.7) estarão disponíveis. R2 – Cadastro de usuário R2.1 – O cadastro de um novo usuário pode ser feito por um visitante ou por um administrador; R2.2 – As informações obrigatórias sobre o cadastro são: Nome, E-mail, CPF, RG, Data de Nascimento, Endereço e Senha. Todas estas apresentarão um * (asterisco) ao lado da barra de texto, indicando a obrigatoriedade da informação;

4

R2.3 – As informações opcionais são: Estado, País e Foto; R2.4 – Caso alguma informação obrigatória não seja fornecida, uma mensagem de erro é mostrada e a tela de cadastro é mostrada novamente permitindo a adição da informação; R2.5 – Uma mensagem de cadastro efetuado com sucesso é mostrada quando todas as informações estiverem corretas e o botão Confirmar é pressionado; R2.6 – Caso o cliente tenha sido redirecionado para o cadastramento devido a adição de um produto ao carrinho, a mensagem de sucesso é mostrada numa pop-up e ele é automaticamente redirecionado à página que estava anteriormente. R2.7 – Cada usuário cadastrado possui uma página particular contendo informações sobre o mesmo, incluindo o histórico de compras. R3 – Acesso à loja R3.1 – O acesso aos jogos pode ser feito por qualquer ator do sistema; R3.2 – Os jogos serão separados por gênero; R3.3 – O cliente poderá realizar uma busca pelo jogo colocando o nome ou parte do nome na barra de busca e confirmando a busca. Todos os jogos relacionados a busca, disponíveis ou não são mostrados – ver item 3.6; R3.4 – Na tela principal dos jogos serão disponibilizados o Nome do jogo, o gênero e, quando disponível, uma imagem para identificar cada jogo; R3.5 – Cada jogo possuirá uma tela particular que irá incluir outras informações relevantes, como o fabricante, o ano de lançamento, entre outras; R3.6 – Pode ocorrer que jogos estejam cadastrados no acervo porém não estejam disponíveis no momento (estejam na pré-venda ou fora de estoque). Nesse caso, não serão mostrados na tela principal, somente na busca. R4 – Carrinho de compras R4.1 – O carrinho é uma analogia a um carrinho de compras físico, onde coloca-se no seu interior o conteúdo desejado pelo cliente, porém a qualquer momento este pode devolver qualquer produto; R4.2 – A tela do carrinho de um determinado usuário pode ser mostrada a qualquer momento quando o este clicar em meu carrinho; R4.3 – Na página do carrinho são mostrados todos os jogos adicionados pelo usuário no carrinho; R4.4 – Se o usuário confirmar a compra todos os itens do carrinho são excluídos 5

automaticamente; R4.5 – Se um visitante requisitar a adição de um item ao carrinho, este será redirecionado para uma tela de login; R4.6 – O usuário pode remover qualquer item do carrinho antes de confirmar a compra; R5 – Imprimir boleto R5.1 – O único meio de pagamento disponibilizado pelo sistema é por boleto bancário; R5.2 – Após a finalização da compra pelo usuário, um PDF é gerado e disponibilizado para o usuário imprimir ou salvar em seu dispositivo; R5.3 – O boleto é gerado pelo sistema somente após a finalização da compra; R5.4 – O jogo só será enviado para o destinatário após o pagamento do boleto dentro de prazo estipulado pelo banco. Mais informações sobre o prazo e o banco em questão estarão disponíveis no boleto. R6 – Adicionar/Remover/Atualizar jogos R6.1 – Somente o administrador poderá adicionar jogos ao acervo; R6.2 – Somente o administrador poderá remover ou alterar informações sobre os jogos do acervo; R6.3 – As informações obrigatórias para adição de um jogo são: Nome, Gênero, Valor, Quantidade em estoque, Faixa etária e Plataforma (exemplo: PS3, Xbox, etc); R6.4 – As informações facultativas sobre a adição de um jogo são: Imagem, Data de lançamento, Fabricante e Descrição. R6.5 - Caso alguma informação obrigatória não seja fornecida, uma mensagem de erro é mostrada e a tela de adição é mostrada novamente permitindo a adição da informação que está faltando; R6.6 – Uma mensagem de adição efetuada com sucesso é mostrada quando todas as informações estiverem corretas e o botão Adicionar é pressionado; R6.7 – Para excluir um jogo ou alterar alguma informação, o administrador deve navegar pelo acervo ou realizar uma busca pelo jogo. Quando encontrado, deve clicar no ícone do jogo e ser redirecionado para a página do mesmo. Nesta página, o administrador deve habilitar o modo de edição e opções de atualização, alteração e exclusão do jogo estarão disponíveis.

6

3 Arquitetura do Sistema A arquitetura do sistema envolve a estrutura interna do programa, a organização de componentes do programa, como irá ocorrer a comunicação entre os múltiplos módulos e a estrutura da informação que é usada por estes componentes [PRESSMAN, 2006]. Segundo [SOMMERVILLE, 2011], a arquitetura é responsável por sugerir algumas visões sobre o sistema: •

visão lógica – mostra as abstrações, como objetos e classes;



visão de processo – mostra em tempo de execução como são compostos os processos;



visão de desenvolvimento – mostra como o software é decomposto em tempo de desenvolvimento;



visão física – mostra o hardware do sistema.

Buscando a melhor forma de disponibilizar tais visões e explicitar o funcionamento do sistema de forma correta neste documento e em tempo de desenvolvimento e execução, optou-se pela utilização de padrões de arquitetura. O padrão escolhido foi o MVC (Model-View-Controller) adaptado para sistemas Web. Segundo [SOMMERVILLE, 2011], a principal vantagem da utilização desse padrão é a separação entre a apresentação e a interação dos dados do sistema. O sistema é separado em três componentes principais: Modelo, Visão e Controlador. O Modelo é responsável pela lógica de negócios, banco de dados e gerenciamento de instâncias. A Visão é responsável pela página dinâmica e geração de formulários. O controlador envolve a validação dos dados e o processamento de solicitação HTTP, além da lógica específica da aplicação. A Figura 1 descreve o funcionamento do padrão MVC para este sistema. Outro fator importante na escolha do padrão foi a confiança e alta disponibilidade do mesmo, visto que a arquitetura está altamente ligada com os requisitos não-funcionais do sistema [PRESSMAN, 2006].

7

Figura 1 – Funcionamento do padrão MVC para sistemas Web. Fonte: [SOMMERVILLE, 2011]

4 Modelagem do sistema A modelagem é a parte onde é desenvolvida a base para o desenvolvimento do software. Por meio da UML (Unified Model Language), são desenvolvidos diagramas, cada um com a sua finalidade, expressando o funcionamento do software de várias perspectivas [CARDOSO, 2003]. Na plataforma de venda de jogos Dubão, verificou-se a necessidade de implementar os seguintes modelos: Casos de uso, diagrama de classes, diagrama de sequência e modelo do banco de dados.

4.1 Casos de uso O Diagrama de Casos de Uso tem o objetivo de auxiliar a comunicação entre os analistas e o cliente. Um diagrama de Caso de Uso descreve um cenário que mostra as funcionalidades do sistema do ponto de vista do usuário. O cliente deve ver no diagrama de Casos de Uso as principais funcionalidades de seu sistema [SOMMERVILLE, 2011]. Na plataforma de jogos Dubão, estão presentes 4 atores: Visitante (usuário sem cadastro), Cliente (usuário com cadastro), Administrador (usuário com privilégios sobre a plataforma) e o Banco de dados. O diagrama de casos de uso deste sistema, está representado na Figura 2.

8

Figura 2 – Diagrama de Casos de uso

4.2 Descrição dos casos de uso de forma tabular Não existe um formato específico de documentação para casos de uso definido pela UML, o que está de acordo com a característica do próprio diagrama, ou seja o formato de documentação de um caso de uso é bastante flexível, permitindo que se documente o caso de uso da forma que se considerar melhor [GUEDES,2014]. Segundo [SOMMERVILLE, 2011], cada caso de uso expresso em forma de diagrama, também deve ser descrito de forma tabular, expressando as funcionalidades, descrição e informações sobre o processo:

9

4.2.1 Acesso à loja A Tabela 1, demonstra as ações que o usuário executa para acessar a loja. Tabela 1 – Acesso à loja Acesso a loja

Nome do caso de uso Caso de uso geral Ator Principal Atores Secundários

Usuário Browser, Banco de Dados Esse caso de uso descreve as ações que o usuário executa para acessar a loja 1. Acessar o link do sistema

Resumos Pré-condições Pós-Condições

Fluxo Principal Ações do Ator 1.Solicitar ao browser, através do link, o acesso a loja

Restrições/validações Ações do Ator

Ações do sistema

2.Redirecionar o usuário para a página da loja 3. Acessar o controlador de jogos 4. Acessar o JSP da loja fazendo a seleção de jogos no banco de dados 5. Retornar a seleção dos jogos 6. Criar uma lista de jogos e gerar o HTML da página 7.Apresentar a interface gerada ao usuário 1. Ter conexão com a internet Fluxo de Exceção I - Sistema for a do ar Ações do sistema 1. Browser informa que o domínio está for a do ar

10

4.2.2 Adicionar jogo: Administrador A Tabela 2, mostra as ações que o administrador executa para adicionar um jogo no Sistema. Tabela 2 – Adicionar jogo. Adicionar jogo

Nome do caso de uso Caso de uso geral Ator Principal Atores Secundários

Administrador Browser, Banco de Dados Esse caso de uso mostra as ações que o administrador executa para adicionar jogos a loja 1. Acessar o link do sistema 2. Estar logado como administrador

Resumos Pré-condições Pós-Condições

Fluxo Principal Ações do Ator 1.Solicitar ao browser clicando no botão adicionar jogo

Ações do sistema 2.Redirecionar o administrador para a página de cadastro de jogos 3. Acessar o controlador de jogos 4. Acessar o JSP de cadastro de jogos

5. Preencher os dados do jogo 6. Gerar o HTML para cadastrar o jogo 7. Clicar no botão salvar(dados_jogo)

Restrições/validações

Ações do Ator

8. Controlador de jogos adiciona o jogo 9. O jogo é inserido no banco de dados. 10. JSPAddJogo gera o HTML relacionado com a adição do jogo 1. Ter conexão com a internet 2. Estar logado como administrador 3. Verificar dados do jogo Fluxo de Exceção I - Sistema for a do ar Ações do sistema 1. Browser informa que o domínio está for a do ar

11

4.2.3 Excluir jogo A Tabela 3, mostra as ações que o administrador executa para excluir um jogo do Sistema. Tabela 3 – Excluir jogo Excluir jogo

Nome do caso de uso Caso de uso geral Ator Principal Atores Secundários

Administrador Browser, Banco de Dados Esse caso de uso mostra as ações que o administrador executa para excluir os jogos da loja 1. Acessar o link do sistema 2. Estar logado como administrador

Resumos Pré-condições Pós-Condições

Fluxo Principal Ações do Ator 1.Solicitar ao browser clicando no botão excluir jogo

Restrições/validações

Ações do Ator

Ações do sistema

2.Redirecionar o administrador para a página de exclusão de jogos 3. Acessar o controlador de jogos 4. Acessar o jogo em questão 5. Acessar o banco de dados removendo o jogo 6. Gerar o HTML atualizado da página 1. Ter conexão com a internet 2. Estar logado como administrador 3. Verificar dados do jogo Fluxo de Exceção I - Sistema for a do ar Ações do sistema 1. Browser informa que o domínio está for a do ar

12

4.2.4 Atualizar jogo A Tabela 4, mostra ações que o administrador executa para editar um jogo no Sistema. Nome do caso de uso Caso de uso geral Ator Principal Atores Secundários

Tabela 4 – Atualizar jogo Atualizar jogo Administrador Browser, Banco de Dados Esse caso de uso mostra as ações que o administrador executa para editar jogos da loja 1. Acessar o link do sistema 2. Estar logado como administrador

Resumos Pré-condições Pós-Condições

Fluxo Principal Ações do Ator 1.Solicitar ao browser clicando no botão editar jogo

Ações do sistema 2.Redirecionar o usuário para a página de edição do jogo 3. Acessar o controlador de jogos 4. Acessar o JSP de edição de jogos 5. Fazer a conferência de dados de login do administrador

6. Fazer as edições necessárias 7. Clicar no botão salvar 8. Gerar o HTML para edição do jogo

Restrições/validações

Ações do Ator

9. Controlador de jogos identifica a funcionalidade e edição do jogo 10. O jogo é atualizado no banco de dados 10. Os JSPs geram o HTML relacionado com a edição do jogo 1. Ter conexão com a internet 2. Estar logado como administrador 3. Verificar dados do jogo Fluxo de Exceção I - Sistema for a do ar Ações do sistema 1. Browser informa que o domínio está for a do ar

13

4.2.5 Adicionar ao carrinho A Tabela 5, mostra as ações que o usuário executa para adicionar items ao carrinho. Nome do caso de uso Caso de uso geral Ator Principal Atores Secundários

Tabela 5 – Adicionar jogo ao carrinho Cliente adicionando um jogo ao carrinho Cliente Browser, Banco de Dados Esse caso de uso mostra as ações que o usuário executa para adicionar um jogo ao carrinho 1. Acessar o link do sistema 2. Estar logado como cliente

Resumos Pré-condições Pós-Condições

Fluxo Principal Ações do Ator 1.Solicitar ao browser clicando no botão de adicionar jogo ao carrinho

Restrições/validações Ações do Ator

Ações do sistema

2.Redirecionar o usuário para a página do carrinho 3. Acessar o controlador de usuários 4. Verificar se o cliente possui as credenciais corretas 5. Pegar o jogo adicionado e atualizar ele no banco 6. Adicionar a lista carrinho 7. Gerar o HTML através do JSP do cliente 1. Ter conexão com a internet Fluxo de Exceção I - Sistema for a do ar Ações do sistema 1. Browser informa que o domínio está for a do ar

14

4.2.6 Remover do carrinho A Tabela 6, mostra as ações que o usuário executa para remover um item do carrinho Nome do caso de uso Caso de uso geral Ator Principal Atores Secundários

Tabela 6 – Remover jogo do carrinho Cliente utilizando o carrinho

Resumos Pré-condições

Cliente Browser, Banco de Dados Esse caso de uso mostra as ações que o usuário executa para remover um item do carrinho 1. Acessar o link do sistema 2. Estar logado como cliente

Pós-Condições Fluxo Principal Ações do Ator 1.Solicitar ao browser clicando no botão meu carrinho

Ações do sistema

2.Acessar o controlador do usuário 3. Fazer a verificação de usuário 4. Acessar o JSPMeuCarrinho 5. Gerar o HTML necessário para exibir as telas Fluxo Alternativo I - Usuário clica no botão remover item Ações do Ator Ações do sistema 1. O usuário clica no botão remover item 2. Acessar o controlador do usuário 3. Verificar autenticação do usuário 4. Remove o item do controlador do carrinho 5. Da um update no banco 6. Gera o HTML informando que o item foi removido Restrições/validações 1. Ter conexão com a internet Fluxo de Exceção I - Sistema for a do ar Ações do Ator Ações do sistema 1. Browser informa que o domínio está for a do ar

15

4.2.7 Imprimir boleto A Tabela 7, mostra as ações que o usuário executa para imprimir um boleto. Nome do caso de uso Caso de uso geral Ator Principal Atores Secundários Resumos Pré-condições

Tabela 7 – Imprimir boleto Cliente imprimindo boleto Cliente Browser, Banco de Dados Esse caso de uso mostra as ações que o usuário executa para imprimir o boleto para realizar o pagamento 1. Acessar o link do sistema 2. Estar logado como cliente 3. Ter itens adicionados no carrinho

Pós-Condições Fluxo Principal Ações do Ator Ações do sistema 1.Solicitar ao browser clicando no botão imprimir boleto 2.Redirecionar o usuário para a página da impressão do boleto 3. Acessar o controlador de compras 4. Acessar o controlador dos usuários 6. Mandar o comando de impressão para impressora Restrições/validações 1. Ter conexão com a internet Fluxo de Exceção I - Sistema for a do ar Ações do Ator Ações do sistema 1. Browser informa que o domínio está for a do ar

16

4.2.8 Realizar cadastro A Tabela 8, mostra as ações que o usuário executa para realizar o cadastro no Sistema. Tabela 8 – Realizar cadastro Cadastro

Nome do caso de uso Caso de uso geral Ator Principal Atores Secundários

Visitante Browser, Banco de Dados Esse caso de uso mostra as ações que o visitante executa para cadastrar-se na loja 1. Acessar o link do sistema

Resumos Pré-condições Pós-Condições

Fluxo Principal Ações do Ator 1.Solicitar ao browser clicando no botão de cadastro

Ações do sistema

2.Redirecionar o usuário para a página de cadastro 3. Acessar o controlador de usuários 4. Acessar o JSP de cadastro 5. Gerar o HTML do cadastro 6. Preencher os dados do cadastro e clicar em salvar 7. Acessar o banco de dados e inserir os dados do usuário novo 8. Acessar o controlador de usuários 9. Gerar o HTML necessário para o cadastro 10. Apresentar mensagem de cadastro efetuado com sucesso Restrições/validações

Ações do Ator

1. Ter conexão com a internet 2. Todos os campos são obrigatórios Fluxo de Exceção I - Sistema for a do ar Ações do sistema 1. Browser informa que o domínio está for a do ar Fluxo de Exceção II - Dados do usuário inconsistentes 1. O sistema gera um HTML avisando que os dados estão inconsistentes

17

4.2.9 Efetuar login A Tabela 9, mostra as ações que o usuário executa para efetuar o login no Sistema. Nome do caso de uso Caso de uso geral Ator Principal Atores Secundários Resumos Pré-condições Pós-Condições

Tabela 9 – Efetuar login Usuário efetuando login no sistema

Browser, Banco de Dados Esse caso de uso mostra as ações que o usuário executa para efetuar o login no sistema. 1. Acessar o link do sistema Fluxo Principal

Ações do Ator 1.Solicitar ao browser clicando no botão login

Ações do sistema

2.Acessar o controlador do usuário 3. Acessar o banco de dados verificando se usuário ou senha existem 5. Verificar as credenciais fornecidas 6. Liberar o acesso conforme o nível de segurança fornecido ao usuário 7. Gerar o HTML informando o ocorrido Restrições/validações 1. Ter conexão com a internet Fluxo de Exceção I - Sistema for a do ar Ações do Ator Ações do sistema 1. Browser informa que o domínio está for a do ar Fluxo de Exceção II - Falha na autenticação do usuário Ações do Ator Ações do sistema 1. Informar que as credenciais fornecidas estão incorretas 2. Fornecer a opção esqueci minha senha 3. Fornecer a opção de cadastro para novo usuário

18

4.2.10 Comprar jogo A Tabela 10, mostra as ações que o usuário executa para comprar um jogo no Sistema. Nome do caso de uso Caso de uso geral Ator Principal Atores Secundários

Tabela 10 – Comprar jogo Usuário efetuando uma compra no sistema

Resumos Pré-condições Pós-Condições

Usuário Browser, Banco de Dados Esse caso de uso mostra as ações que o usuário executa para comprar um jogo 1. Acessar o link do sistema Fluxo Principal

Ações do Ator 1.Solicitar ao browser clicando no botão comprar jogo

Ações do sistema 2. Solicitar credenciais 3. Acessar o banco de dados verificando se usuário ou senha existem 5. Verificar as credenciais fornecidas 6. Liberar o acesso conforme o nível de segurança fornecido

7. Fornecer os detalhes da compra e clicar em confirmar compra 8. Efetuar o tratamento de dados com o banco 9. Inserir os dados do pagamento no banco 10. Gerar o HTML necessário na visão da página Fluxo Alternativo I - Seleção de compra boleto Ações do Ator Ações do sistema 1. Selecionar os detalhes da compra 2. Entrar na funcionalidade de imprimir boleto Fluxo Alternativo II - Usuário ainda não possui cadastro Ações do Ator Ações do sistema 1. Clicar no botão comprar jogo 2. Pedir credenciais de usuário 3. Fornecer opção de realizar cadastro 4. Fornecer opção esqueci minha senha 5. Autenticar credencias 5. Continuar procedimento normal Restrições/validações 1. Ter conexão com a internet Fluxo de Exceção I - Sistema for a do ar Ações do Ator Ações do sistema 1. Browser informa que o domínio está for a do ar Fluxo de Exceção II - Falha na autenticação do usuário Ações do Ator Ações do sistema 1. Informar que as credenciais fornecidas estão incorretas 2. Fornecer a opção de esqueci minha senha 3. Fornecer a opção de cadastro para novo usuário

19

4.3 Diagrama de Classes Segundo MELLO [2003], o diagrama de classes pode se subdividir em duas abordagens diferentes: diagrama de classes de análise e o diagrama de classes de projeto. 4.3.1 Diagrama de Classes de análise O diagrama de classes de análise é aquele que engloba a estrutura das classes sem a aplicação da arquitetura do sistema MELLO [2003]. Figura 3 representa o modelo de classes de análise do sistema Dubão.

Figura 3 - Modelagem de classes de análise

20

4.3.2 Diagrama de Classes de projeto O diagrama de classes de projeto é aquele que deve especificar as classes de software e as interfaces da aplicação [MELLO, 2003]. A modelagem das classes do sistema Dubão, englobando o MVC está representada na Figura 4.

Figura 4 – Modelagem de classes de projeto utilizando padrão MVC

21

4.4 Modelagem de sequência O diagrama de sequência apresenta uma sequência de eventos que determinam o funcionamento de um caso de uso. É com este tipo de diagrama que o fluxo de eventos é validado; além de permitir a verificação de cumprimento de todos os requisitos [GUEDES,2014]. Nestes diagramas, foi necessária a implantação das telas do sistema. 4.4.1 Acesso à loja Na Figura 5, são mostrados as ações que o usuário executa para ter acesso à loja.

Figura 5 – Diagrama de sequência para acesso à loja

22

4.4.2 Adicionar jogo Na Figura 6, são mostrados as ações que o administrador executa para adicionar um jogo à loja.

Figura 6 – Diagrama de sequência para adicionar jogo

23

4.4.3 Excluir jogo Na Figura 7, são mostrados as ações que o administrador executa para excluir um jogo da loja.

Figura 7 – Diagrama de sequência para excluir jogo

24

4.4.4 Atualizar jogo Na Figura 8, são mostrados as ações que o administrador executa para atualizar um jogo da loja.

Figura 8 – Diagrama de sequência para atualizar jogo

25

4.4.5 Adicionar ao carrinho Na Figura 9, são mostrados as ações que o cliente executa para adicionar um jogo ao carrinho.

Figura 9 – Diagrama de sequência para adicionar ao carrinho

26

4.4.6 Remover do carrinho Na Figura 10, são mostrados as ações que o cliente executa para remover um jogo do carrinho.

Figura 10 – Diagrama de sequência para remover do carrinho

27

4.4.7 Imprimir boleto Na Figura 11, são mostrados as ações que o cliente executa para imprimir o boleto.

Figura 11 – Diagrama de sequência para imprimir boleto

28

4.4.8 Realizar cadastro Na Figura 12, são mostrados as ações que o visitante executa para realizar seu cadastro.

Figura 12 – Diagrama de sequência para realizar cadastro

29

4.4.9 Efetuar login Na Figura 13, são mostrados as ações que o cliente executa para que tenha acesso à sua conta.

Figura 13 – Diagrama de sequência para efetuar login

30

4.4.10 Comprar jogo Na Figura 14, são mostrados as ações que o cliente executa para comprar um jogo.

Figura 14 – Diagrama de sequência para comprar jogo

4.5 Modelagem do Banco de dados O banco de dados é necessário para que a aplicação tenha a persistência nos dados. Para a aplicação funcionar sem erros é necessário um alto nível de persistência em relação as informações que são inseridas na aplicação. Então o banco de dados realiza seu papel e não permite a inserção de dados que contrariem os campos da aplicação o que pode causar estados errôneos da mesma criando problemas em sua execução. O diagrama ER (Entidade-Relacionamento) está representado na Figura 15. 31

Figura 15 – Modelo Entidade-Relacionamento

5 Estudo sobre a segurança do sistema A segurança de um sistema é a análise da probabilidade do sistema causar danos às pessoas ou a seu ambiente [SOMMERVILLE, 2011]. Segundo [PRESSMAN, 2006] a confiança e a proteção são mais importantes do que as características funcionais de um sistema de software.

5.1 Especificação de confiança A confiança de um sistema de computador é uma propriedade do sistema que reflete sua fidedignidade. Fidedignidade aqui significa, essencialmente, o grau de confiança de um usuário no funcionamento esperado pelo sistema, no fato de que o sistema não ‘falhará’ em condições normais de uso [SOMMERVILLE, 2011]. A confiança possui quatro dimensões principais, que são disponibilidade, confiabilidade, segurança e proteção. Nesta seção, discutimos as duas primeiras – disponibilidade e confiabilidade. A disponibilidade de um sistema é a probabilidade de, a qualquer instante ele estar ativo, funcionando e ser capaz de prestar serviços úteis ao usuário [SOMMERVILLE, 2011]. Para que o sistema esteja sempre disponível foram estudados todos os casos que envolvessem o software, 32

impedindo o erro dos usuários, desta forma reduzindo as falhas operacionais que são as mais comuns de causar falhas de sistema. Desta forma, ao operar incorretamente, uma exceção é retornada ao operador impedindo a execução. Para que não haja falhas de hardware o sistema foi desenvolvido de forma simples para que assim não seja exigido um hardware de altíssima qualidade e para que o hardware em si não seja muito exigido computacionalmente. Para corrigir as falhas de software diversos testes são realizados em cada etapa, desta forma retirando minunciosamente cada falha encontrada. A confiabilidade de um sistema é a probabilidade de, durante determinado período, o sistema prestar serviços corretamente, conforme o esperado pelo usuário [SOMMERVILLE, 2011]. Como medida de confiabilidade, serão desenvolvidos casos de teste que buscarão encontrar problemas relacionados à confiabilidade de serviço. Com isso será possível retirar os erros encontrados e garantir um serviço de confiança conforme esperado pelo usuário.

5.2 Especificação de proteção A engenharia de proteção está preocupada com as aplicações, e com o gerenciamento de proteção com infraestrutura. Ela inclui ferramentas, técnicas e métodos para apoiar o desenvolvimento e manutenção de sistemas que podem resistir a ataques mal-intencionados que visam danificar um sistema baseado em computadores ou seus dados [SOMMERVILLE, 2011]. Visando a segurança do sistema e dos dados dos usuários, serão desenvolvidos mecanismos a nível de software que focam desde operações simples, como campos que só aceitam valores específicos até operações complexas como checagem no banco de dados; buscando desta forma fornecer ao usuário a melhor segurança possível. Visto que a loja de jogos Dubão não é um software de grande porte, e a utilização do mesmo será por meio de apenas uma máquina, a probabilidade de invasão é quase nula. Mesmo sendo ma plataforma Web projetada sobre a arquitetura Cliente-servidor, os riscos de segurança são mínimos. Se o sistema fosse alojado em um servidor real e disponibilizado na Internet, o estudo sobre proteção seria mais avançado; consequentemente o custo de desenvolvimento iria aumentar.

33

6 Modelagem das interfaces com os usuários A modelagem das interfaces com os usuários é a modelagem das interfaces com a avaliação do usuário nelas. Como podemos observar as interfaces estão de acordo com os padrões de um site qualquer. 6.1 Página Inicial do Site Página inicial do site quando o usuário faz o acesso do mesmo.

Figura 16 – Página inicial do sistema

6.2 Página do Jogo Visão do Administrador Esta página demonstra a visão do administrador quando faz acesso à um jogo, ele pode editar ou excluir o mesmo.

Figura 17 - Página do jogo visão do administrador

34

6.3 Página do Jogo Visão do Usuário Essa página mostra a visão do usuário quando acessa algum jogo, ele pode adicionar o jogo ao carrinho ou comprar com um clique, ou seja, ele vai ser redirecionado para a página de geração de boleto bancário com este jogo adicionado.

Figura 18 – Página do jogo visão do usuário

6.4 Página de cadastro do jogo Visão do administrador quando acessa a funcionalidade de cadastrar um jogo novo.

Figura 19 – Cadastro do jogo visão do administrador

6.5 Página de cadastro do usuário no sistema. Esta página é a de cadastro do usuário no sistema.

Figura 20 – Cadastro do usuário no sistema

35

7 Especificação e execução de casos de testes O teste de produtos de software basicamente se resume em quatro etapas: planejamento de testes, projeto dos casos de teste, execução e avaliação dos resultados dos testes. Essas atividades devem ser desenvolvidas ao longo do próprio processo de desenvolvimento de software, em geral concretizam-se em três fazes: de unidade, de integração e de sistema. Utilizamos como referência o trabalho de GUEDES [2006], para realizar os casos de teste, que estão contidos cada um em uma tabela: Tabela 11: Casos de Teste. ID

CT – 001

Caso de Teste:

Cadastrar jogo.

Funcionalidade:

Cadastrar, alterar e remover jogos.

Pré-Condição:

1. Jogo ainda não cadastrado.

Procedimento:

1. Acessar a função de adicionar jogo. Cadastrar 2. Preencher todos os campos obrigatórios – válidos. 3. Clicar em “confirmar”. Alterar 4. Clicar no botão de alterar jogo. 5. Realizar o preenchimento dos campos obrigatórios – válidos. 6. Clicar em “concluir”. Remover 7. Clicar no botão remover jogo.

Resultado Esperado:

1. Jogo cadastrado, alterado, removido com sucesso.

36

Tabela 12: Casos de Teste. ID

CT – 002

Caso de Teste:

Cadastrar usuário.

Funcionalidade:

Cadastrar usuário

Pré-Condição:

1. Usuário ainda não cadastrado.

Procedimento:

1. Acessar a função de cadastro de usuário. Cadastrar 2. Preencher todos os campos obrigatórios – válidos. 3. Clicar em “concluir”.

Resultado Esperado:

1. Usuário cadastrado com sucesso. Tabela 13: Casos de Teste.

ID

CT – 003

Caso de Teste:

Adicionar/Remover item do carrinho

Funcionalidade:

Adicionar/Remover item do carrinho

Pré-Condição:

1. Clicar em adicionar ao carrinho. 2. Para remoção devem haver jogos no carrinho.

Procedimento:

1. Clicar em adicionar ao carrinho ou no botão do carrinho de compras, para realizar a remoção do jogo. Adicionar 2. Clicar em adicionar ao carrinho. Remover 8. Clicar em “remover”.

Resultado Esperado:

1. Item adicionado/removido com sucesso. Tabela 14: Casos de Teste.

ID

CT – 004

Caso de Teste:

Finalizar compra.

Funcionalidade:

1. Finalizar compra.

Pré-Condição:

1. Possuir items adicionados ao carrinho.

Procedimento:

1. Abrir o carrinho de compras ou clicar em comprar com um clique tendo a página do jogo aberta. 2. Clicar em “comprar”.

Resultado Esperado:

1. Redirecionamento para a página geradora de boleto bancário.

37

7.1 Execução dos testes Execução no teste CT – 001, conforme a Figura 21.

Figura 21: Comprar jogo.

38

Execução do teste CT – 002, conforme a Figura 22.

Figura 22: Cadastro do usuário.

39

Execução do teste CT – 003, conforme a Figura 23.

Figura 23: Adicionar ao carrinho.

40

Execução do teste CT – 004, conforme a Figura 24.

Figura 24: Finalizar compra.

8 Evolução do sistema Mudança de software é inevitável. Novos requisitos surgem quando o software é usado, o ambiente de negócio muda, erros devem ser reparados, novos computadores e equipamentos são adicionados ao sistema e o desempenho ou a confiabilidade do sistema deve ser melhorados. A maior parte do orçamento de software nas grandes organizações é voltada para evolução, ao invés do desenvolvimento de sistemas novos [SOMMERVILLE, 2011]. Futuras manutenções e evoluções do software em questão tendem a ser fáceis para qualquer equipe, já que o software pode ser compreendido facilmente com esta documentação. A utilização de padrões no desenvolvimento é outro fator que contribui para a manutenibilidade e evolução do 41

software. Como medida de evolução, seria a implantação do software em um servidor real na Internet, outra ideia é o desenvolvimento de uma plataforma mobile; um aplicativo ou apenas a adequação da interface para a arquitetura de smartphones.

9 Projeto e planejamento do sistema Para o desenvolvimento do software, a realização de um cronograma foi viável e útil, além de propor uma maior organização do projeto. O tempo de desenvolvimento foi separado em etapas. Cada etapa, por si, foi separada em tarefas e expressa de forma tabular e gráfica (gráfico de Gantt). Duas abordagens de gerenciamento foram indicadas: projeto e desenvolvimento.

9.1 Planejamento e gerenciamento do projeto Nessa abordagem foram planejadas questões sobre o projeto do software como um todo – desde o levantamento de requisitos até a entrega do sistema. Verificou-se a necessidade de dividir o projeto em 4 partes principais, conforme Tabela 15. Tabela 15 – Cronograma de projeto

A linha 6 engloba o período de greve universitária, onde o projeto ficou "congelado". A Figura 25 representa graficamente o projeto total (a linha vermelha é o período de greve).

Figura 25 – Gráfico de Gantt – Projeto total

A primeira etapa envolve todo o processo que trata dos requisitos e definições principais do sistema. Essa etapa está representada na Tabela 16.

42

Tabela 16 – Cronograma de projeto – Desenvolvimento do documento de requisitos

O gráfico de Gantt dessa primeira etapa está representado na Figura 26.

Figura 26 – Gráfico de Gantt – Desenvolvimento do documento de requisitos

A etapa seguinte envolve os aspectos de análise do software. As tarefas principais dessa etapa estão descritas na Tabela 17 Tabela 17 – Cronograma de projeto – Análise do software

43

O gráfico de Gantt dessa etapa está representado na Figura 27.

Figura 27 – Gráfico de Gantt – Análise do software

A etapa seguinte envolve os aspectos de projeto do software e do desenvolvimento do mesmo. As tarefas principais dessa etapa estão descritas na Tabela 18. Tabela 18 – Cronograma de projeto – Planejamento e gerenciamento do projeto e do desenvolvimento do software

O gráfico de Gantt referente a essa etapa está representado na Figura 28.

Figura 28 – Gráfico de Gantt – Planejamento e gerenciamento do projeto e do desenvolvimento do software

A última etapa do projeto envolve os aspectos relacionados a implementação e implantação do sistema; incluindo a parte de testes de software. As tarefas principais dessa etapa estão descritas na Tabela 19.

44

Tabela 19 – Cronograma de projeto – Implementação e implantação do software

O gráfico de Gantt da última etapa está representado na Figura 29.

Figura 29 – Gráfico de Gantt – Implementação e implantação do software

9.2 Planejamento e gerenciamento do desenvolvimento do software A outra abordagem de planejamento restringe os aspectos do projeto total somente no desenvolvimento do sistema. As tarefas principais do desenvolvimento do software estão descritas na Tabela 20.

45

Tabela 20 – Cronograma de desenvolvimento

O gráfico de Gantt proposto para o desenvolvimento está representado na Figura 30.

Figura 30 – Gráfico de Gantt – Cronograma de desenvolvimento

10 Gerenciamento de configurações do software Os softwares mudam frequentemente durante seu desenvolvimento e uso. Devido a estas mudanças, os sistemas podem ser pensados como um conjunto de versões, e cada qual precisa ser mantida e gerenciada. Versões implementam propostas de mudanças, correções de defeitos, e adaptações de hardware e sistemas operacionais diferentes. O Gerenciamento de Configuração (CM – Configuration Management) se interessa pelas políticas, processos e ferramentas para o gerenciamento de sistemas de software que sofrem mudanças. CM é necessário porque é fácil perder a noção de quais mudanças e versões de componentes foram incorporadas em cada versão do sistema. O software em desenvolvimento sofrerá poucas mudanças por se tratar de uma aplicação web, um acompanhamento contínuo do sistema será utilizado, para saber o que o cliente avalia do sistema. O gerenciamento de release, retorna um feedback para os desenvolvedores, afim de manter o acompanhamento das versões do sistema que foram liberadas para uso pelo cliente. O gerenciamento de mudanças visa garantir que a evolução do sistema seja um processo 46

gerenciado e que seja dada prioridade às mudanças mais urgentes e de custo-benefício.

11 Conclusão Este trabalho apresentou o processo de desenvolvimento de uma plataforma de jogos online. Durante as especificações do sistema, o sistema sofreu inúmeras mudanças: nos requisitos, nos modelos e no projeto em geral. De uma maneira geral, várias dificuldades também foram encontradas em todas as etapas do processo. Ressalta-se a importância da documentação do software tal como está neste trabalho, visto que todas as alterações realizadas foram documentadas e declaradas aos stakeholders, além de servir como meio de comunicação entre os desenvolvedores e os mesmos. Vale ressaltar que o processo do software ainda não foi concluído conforme mostrado na seção de projeto do software e novas alterações poderão surgir.

12 Referências CARDOSO, C. UML na prática: do problema ao sistema. Rio de Janeiro 2003: Ciência Moderna. GUEDES G.T.A. UML 2 Guia prático. Novatec. 2014. p51. P52. GUEDES, G.T. A. UML - Uma Abordagem Prática. Ed. Novatec, segunda edição, 2006. MELLO, A. C. Desenvolvendo aplicações com UML: Do conceitual a implementação. 1. ed. Rio de Janeiro: Brasport, 2003. 46 p. 47 p. 93 p. PRESSMAN, R. S., Engenharia de Software(6a edição), São Paulo, Ed. McGrawHill, 2006. SOMMERVILLE, I. Engenharia de Software. 9a. Edição. São Paulo: Pearson, 2011.

47

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.