Palavras-Chaves: engenharia de requisitos, modelagem, UML. - PDF
Download "Palavras-Chaves: engenharia de requisitos, modelagem, UML."
Isaque Rosa da Cunha
1 APLICAÇÃO DA ENGENHARIA DE REQUISITOS PARA COMPREENSÃO DE DOMÍNIO DO PROBLEMA PARA SISTEMA DE CONTROLE COMERCIAL LEONARDO DE PAULA SANCHES Discente da AEMS Faculdades Integradas de Três Lagoas RENAN HENRIQUE SOSSOLOTE Discente da AEMS Faculdades Integradas de Três Lagoas ALAN PINHEIRO DE SOUZA Docente da AEMS Faculdades Integradas de Três Lagoas Mestre em Informática Área de Sistemas de Informação O objetivo desse projeto foi iniciar a compreensão das características de determinado domínio de problema a ser resolvido a partir do desenvolvimento de um sistema de controle comercial. Suas principais funcionalidades são controles de cadastros e a entrada e a saída de produtos no estoque, a fim de agregar maior segurança ao fluxo de informações do negócio. Visando atingir esse propósito foram utilizados processos, métodos e ferramentas da engenharia de requistos. A etapa de levantamento de requistos foi executada a partir da realização de entrevistas junto ao cliente. Além disso, a elaboração e a especificação das funcionalidades, características e restrições do software foram refinadas por intermédio da modelagem de diagramas de análise construídos com a linguagem de modelagem UML. A aplicabilidade desses processos, métodos e ferramentas promoveu a absorção e documentação de abrangente conteúdo informacional e a geração de modelos precisos e completos a respeito do negócio. Esses resultados preliminares encorajam a continuação do trabalho nas etapas seguintes de projeto e codificação, com o intuito da criação de software de qualidade que atenda os desejos do cliente. Palavras-Chaves: engenharia de requisitos, modelagem, UML.
2 1. INTRODUÇÃO Considerando o contexto de desenvolvimento de um sistema de software para uma empresa do ramo comercial, o presente artigo propõe-se a apresentar informações associadas ao levantamento de requisitos, desejos apontados pelo cliente visando a obtenção de maior agilidade e organização com suas informações, além da análise de viabilidade de determinadas soluções e de como essas questões foram discutidas junto ao cliente e elaboradas pela equipe de projeto. O trabalho está estruturado em quatro seções. A primeira seção destaca a introdução de modo a passar uma visão geral do projeto e seções subsequentes do trabalho. Na segunda seção é desenvolvida uma breve revisão literária acerca da engenharia de requisitos. A terceira seção destaca a forma de trabalho atual da empresa por intermédio da descrição dos seus sistemas, problemas enfrentados pelos funcionários, desejos dos usuários, soluções alternativas e adotadas, além de possíveis impactos esperados na empresa antes, durante e após a implantação do sistema. A quarta seção mostra as contribuições, limitações e trabalhos futuros. 2. ENGENHARIA DE REQUISITOS A engenharia de requisitos fornece um mecanismo apropriado para entender o que o cliente deseja, incluindo o conjunto de tarefas necessárias para entendimento dos impactos do software sobre o negócio e como usuários finais irão interagir com sistema (PRESSMAN, 2006). A Figura 1 destaca que o processo de engenharia de requisito é realizado por meio da execução de sete funções distintas: concepção, levantamento, elaboração, negociação, especificação, validação e gestão. Figura 1 Processo de engenharia de requisitos.
3 Na visão de Pressman (2006), a maioria dos projetos começa quando uma necessidade de negócio é reconhecida. Inicialmente, deve-se estabelecer um processo de comunicação junto ao cliente visando o entendimento do contexto do trabalho. Na sequência é feito um levantamento de requisitos para identificar problemas associados ao escopo e necessidades do cliente. Os problemas que engenheiros de software têm para solucionar costumam ser complexos. Por isso, existe a necessidade de compreender a natureza dos problemas com exatidão (SOMMERVILLE, 2007). Na visão de Paula Filho (2000), essa etapa de projeto é muito importante, pois quando ocorre um levantamento adequado de informações do negócio e sistema, os requisitos implícitos são minimizados. Além disso, quando a documentação é bem elaborada, os requisitos têm maiores chances de serem corretamente entendidos pelos desenvolvedores. 3. CONTEXTO DE APLICAÇÃO O projeto foi desenvolvido em uma empresa que atua na área de vendas de produtos e utilidades em geral, tendo como foco satisfazer os clientes com as vendas de produtos da empresa. É uma empresa que atende a comunidade local e vizinhanças. A empresa atualmente não possui um sistema eletrônico para atender as atividades operacionais ou gerencias. Os controles de cadastro de cliente, produto e vendas são feitos manualmente por intermédio de fichas de cadastros. As formas de armazenamento são feitas da seguinte maneira: a empresa coloca na ficha de cadastro de cliente o nome da pessoa, produto vendido, valor total e armazena em uma gaveta, a ficha de cadastro de produtos contém nome do produto, quantidade, valor de entrada e valor de saída, na qual é armazenada da mesma forma. Não tem uma ficha em especial para o controle de vendas, pois ela é registrada na mesma ficha do cliente, contendo o nome do produto, quantidade e valor da venda Levantamento de Requisitos Nesta seção será explicado o atual funcionamento do sistema da empresa sendo analisada, também serão abordados riscos e problemas que a empresa possui por não possuir nenhum software que controle seus processos e dados, além da apresentação dos desejos do usuário.
4 3.1.1 Problemas Existentes A empresa possui apenas o sistema manual para o controle de cadastro de cliente, produto e estoque. Esse cenário dificulta a gerência da empresa e gera perdas de tempo no atendimento dos clientes e dificuldades de controle das vendas. Todos os produtos vendidos são anotados na ficha do cliente ou em qualquer outro rascunho disponível, caso não exista uma ficha com seus dados cadastrais. Em determinados momentos, os funcionários esquecem-se de anotar as transações, tornando vulnerável a organização dos produtos da loja. Após a entrada e a saída de produtos, funcionários atualizam o estoque manualmente, havendo dificuldades para realizar esse controle e desperdício de tempo na execução das tarefas. Os problemas existentes na empresa podem ser resumidos em: Falta de controle de estoque: a empresa vende um produto e tem a dificuldade de saber quantos produtos tem no estoque. Falta de controle de clientes: o cadastro é feito em fichas de papel, tendo assim, dificuldade para organizá-las. A possível perda de fichas é uma preocupação. Falta de controle com as transações dos produtos: não existe controle preciso de produtos no estoque no momento da compra ou venda. Falta de relatórios: não existem formas de visualização de relatórios, com isso, a empresa fica vulnerável com relação às suas informações Desejos do Cliente Durante o processo de levantamento de requisitos, o cliente manifestou alguns desejos, entre eles implantar um sistema que possa disponibilizar com maior facilidade a realização dos cadastros de clientes e produtos e ter um controle de estoque, para saber o que existe na empresa de produtos. O cliente também gostaria de um sistema que gerasse relatórios da movimentação da empresa, de modo a fornecer maior confiabilidade às negociações. Além de obter relatórios mais precisos e ágeis, esse sistema forneceria maior apoio ao gerenciamento da empresa, visto que controlará todas as movimentações de compras e vendas, aumentando assim a clareza de informações e auxiliando
5 para o contínuo crescimento da empresa. A lista seguinte aponta um conjunto de desejos manifestados pelos usuários: Ter um controle de cadastro de clientes Ter um controle de cadastro de produtos Ter um controle de estoque Ter um controle nas transações de compra e venda Melhorar organização da empresa com relatórios precisos Tornar o trabalho mais fácil e rápido Soluções Alternativas Para solucionar os problemas da empresa apontados anteriormente foram sugeridas duas soluções para o dono da empresa. A primeira foi criar várias planilhas no Microsoft Office Excel que ajudariam aos usuários do sistema na organização da empresa. A segunda alternativa seria desenvolver um software específico para atender às necessidades de negócio do cliente. Dessa forma, as soluções alternativas podem ser sintetizadas nas seguintes opções: Criar um arquivo com os nomes dos clientes em ordem alfabética para arquivar as vendas, e fazer uma planilha no Microsoft Office Excel para controlar a empresa de maneira abrangente. Desenvolver um software no qual o usuário fará todos os cadastros de clientes e de produtos, além do controle no estoque e nas tarefas de gerenciamento da empresa Solução Escolhida A primeira opção foi descartada, pois seria difícil a organização de toda empresa nas planilhas do Microsoft Office Excel, levando também em consideração que, para gerenciar uma empresa através de planilhas, possivelmente exigiria a manipulação de várias tabelas, podendo tornar o serviço mais complicado e confuso, gerando perda de tempo na execução das tarefas. Também existe a necessidade de se gerar relatórios de forma mais precisa e completa, fazendo esse trabalho no Microsoft Office Excel não seria tão eficaz conforme imaginado pelo cliente. Esses inconvenientes tornaram a segunda opção mais favorável porque, levando em consideração o lado do usuário, seria uma opção que além de atender
6 especificamente grande parte das necessidades da empresa, fazendo com que as informações geradas fossem armazenadas de uma forma mais segura, o cliente teria um software à baixo custo. O cliente também exigiu um software seguro e que garantisse mais praticidade, confiabilidade e conforto para os usuários do sistema Impactos do Sistema na Organização Antes de o sistema ser implantado, a loja terá que passar por adequações. Atualmente, ela não possui nenhum espaço para o armazenamento do computador. Então, o primeiro passo é uma alteração física na loja, pois no local onde ficavam as fichas de cadastros armazenadas será instalado um computador. Além disso, após ser implantado o software, os funcionários da loja terão que passar por um treinamento, onde terão que mudar a forma de trabalho, de modo a se adequarem às exigências das novas características de trabalho. Com isso o sistema trará mais praticidade na hora do atendimento, as movimentações feitas no software terão maior confiabilidade e principalmente segurança para a empresa Elaboração e Especificação As informações obtidas do cliente durante o levantamento de requisito serão expandidas e refinadas durante a elaboração e especificação. Essas atividades focam o desenvolvimento de um modelo técnico com características e restrições do software. Esta seção abordará a importância de fazer uma análise abrangente e correta para que ao final do desenvolvimeto e, consequentemente, durante a entraga do software exista o mínimo de erros possíveis no sistema. Além do mais, serão mostrados detalhes das características do sistema e seu funcionamento, a partir da definição de atores, eventos, diagramas de casos de uso e diagrama de classes. A modelagem dos diagramas de análise foi realizada por intermédio da linguagem UML (Unified Modeling Language) Definição dos Atores Os atores representam entidades que irão interagir com o sistema, onde não precisam ser somente uma pessoa específica, podem ser também outro sistema. Para (BOOCH; RUMBAUGH; JACOBSON, 2000), um ator representa um papel que um ser humano, um dispositivo de hardware ou até outro sistema desempenha com o sistema. A Figura 2 ilustra os atores que irão interagir com o sistema:
7 Funcionário Cliente Figura 2 Atores do Sistema. Gerente Funcionário: empregado responsável pelas transações do sistema. Cliente: pessoas que compram produtos da empresa. Gerente: dono da empresa responsável pelo controle das transações Lista de Eventos Os eventos representam as funcionalidades a serem incorporadas ao sistema visando atender às necessidades do cliente. A Tabela 1 aponta esses eventos: Cadastro de Cliente Cadastro de Cidade Cadastro de Estado Cadastro de Categoria de Produtos Cadastro de Produto Movimento de Compra de Produtos Tabela 1 - Lista de eventos. Movimento de Venda de Produtos Geração de Relatório de Clientes Geração de Relatório de Estoque Geração de Relatório de Vendas Geração de relatório de Compras Diagrama de Caso de Uso O diagrama de caso de uso relata toda interação entre o ator e o sistema, cada evento gera ações de interação entre o ator e o sistema. Segundo a visão de (FURLAN, 1998), um caso de uso conta uma história sobre como um usuário final interage com o sistema sob um conjunto especifico de circunstâncias. A Figura 3 mostra o caso de uso de cadastro de produto no sistema e a Tabela 2 descreve os roteiros de execução, destacando cursos normal e alternativos desse evento. Figura 3 Diagrama de caso de uso de cadastro de produto.
8 Tabela 2 Roteiros de execução do caso de uso de cadastro de produto. DadosProduto={NOME, VALORENTRADA, VALORSAIDA, QUANTIDADEESTOQUE, QUANTIDADEMINIMAESTOQUE, CATPRODUTO} Curso Normal 1 Funcionário solicita tela de cadastro de produto; 2 Sistema exibe tela de cadastro de produto; 3 Funcionário solicita novo registro; 4 Sistema habilita campos para cadastro do produto; 5 Funcionário informa DadosProduto ; 6 Sistema grava registro do produto; 7 Sistema emite mensagem Produto cadastrado com sucesso ; 8 Encerrar caso de uso. Curso Alternativo 3 3 Funcionário solicita pesquisa de registro; 3.1 Sistema exibe produtos cadastrados; 3.2 Funcionário realiza um duplo clique no produto para fazer alteração; 3.3 Funcionário informa DadosProduto ; 3.4 Sistema atualiza registro do produto; 3.5 Sistema emite mensagem Produto alterado com sucesso ; 3.6 Encerrar caso de uso. Curso Alternativo Funcionário realiza um duplo clique no produto para fazer exclusão; Funcionário clica em excluir; Sistema solicita confirmação de exclusão do registro; Funcionário confirma exclusão do registro; Sistema verifica associação do produto com transação de venda; Sistema exclui registro do produto; Sistema emite mensagem Exclusão realizada com sucesso ; Encerrar caso de uso. Curso Alternativo Sistema não exclui registro do produto; Sistema emite mensagem Existe movimento de venda associado ao produto, não foi possível realizar a sua exclusão ; Voltar ao passo 3.1 do curso alternativo Diagrama de Classes O diagrama de classes é fundamental na criação de um sistema, com muita frequência, é encontrado nos sistemas orientados a objetos. Esse diagrama é um conjunto de classes e relacionamentos, cada objeto tem seus atributos e métodos. Segundo Matos (2002): Diagramas de classes são estáticos, ou seja, devem apenas esboçar o que interage e não o que acontece quando as classes interagem. Portanto, para que se crie um diagrama de classes é imprescindível conhecer todos os conceitos do paradigma de orientação a objetos relacionados à noção de classes (MATOS, 2002).
9 A Figura 4 ilustra o diagrama elaborado no contexto do projeto. Ao total foram definidas nove classes, cada uma é representada por um objeto, seus atributos e métodos. A classe cliente possui relacionamento com a classe venda. Um cliente pode solicitar de uma até várias vendas. Cada cliente possui registro de cidade e estado. A classe produto é a que mais recebe relacionamentos. Um produto pode estar em várias vendas e compras, por intermédio das classes Item_Venda e Item_Compra, respectivamente. Cada produto possui uma categoria. Cliente +Nome +RG +CPF +CEP +Endereco +Numero +Bairro +Telefone1 +Telefone2 +Observacoes +Novo() +Salvar() +Excluir() +Cancelar() +Sair() 1 0..* +Nome +Sigla Cidade Esta 1 +Novo() +Salvar() +Excluir() +Cancelar() +Sair() 1..* +Nome +Sigla Estado Contem 1 +Novo() +Salvar() +Excluir() +Cancelar() +Sair() Possui Tem 1 Produto +Descricao +ValorEntrada +ValorSaida +QuantidadeEstoque +QtdadeMinimaEstoque +Novo() +Salvar() +Excluir() +Cancelar() +Sair() 0..* 1 Possui Solicita 0..* Item_Compra 1..* Venda +EmissãoVenda 1 Composto por 1..* Item_Venda +Descricao +Qtdade +ValorUnitario +IniciarVenda() +CancelarVenda() +FinalizarVenda() +Adicionar() 0..* +Nome Categoria +Novo() +Salvar() +Excluir() +Sair() 1 +Descricao +Qtdade +ValorUnitario +ValorTotal +NovaCompra() +CancelarCompra() +FinalizarCompra() +Adicionar() 1..* Compõe 1 Compra +EmissaoCompra Figura 4 Diagrama de classes.
10 4. CONCLUSÃO O trabalho teve como proposta apresentar um relato de experiências da aplicabilidade de processos, métodos e ferramentas da engenharia de requistos visando entendimento das características de determinado contexto de negócio de modo a permitir o desenvolvimento de um sistema de controle comercial. Dessa forma, várias tarefas de elaboração e especificação de requisitos foram conduzidas apoiadas pela técnica de modelagem orientada a objetos da UML. Vários diagramas de análise foram esquematizados para a compreensão dos eventos do sistema. Os diagramas foram úteis para identificar problemas do escopo e desejos do cliente, visualização, especificação e documentação dos artefatos de projeto. Espera-se que esses modelos iniciais contribuam para a construção de um software que satisfaça aos propósitos pretendidos pelo cliente e com qualidade duradoura. Além disso, a modelagem UML permitirá o desenvolvimento de um sistema de forma mais rápida e eficiente, com o mínimo de desperdício e retrabalhos de software. REFERÊNCIAS BIBLIOGRÁFICAS BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML: Guia do Usuário. 12ª Ed., Rio de Janeiro: Campus, FURLAN, D. Modelagem de Objetos Através da UML. São Paulo: Makron Books, MATOS, A. UML: Prático e Descomplicado. São Paulo: Érica, PAULA FILHO, W. Engenharia de Software: Fundamentos, Métodos e Padrões. 2ª Ed., Rio de Janeiro: LTC, PRESSMAN, R. Engenharia de Software. 6ª Ed., São Paulo: Makron Books, SOMMERVILLE, I. Engenharia de Software. 8ª Ed., São Paulo: Addison Wesley Brasil, 2007.