PROJECTO FINAL - LAURINDO CAKOYI - V2.0retificado - 1
PROJECTO FINAL - LAURINDO CAKOYI - V2.0retificado - 1
E COMUNICAÇÃO
Luanda, 2019
I
INSTITUTO SUPERIOR DE TECNOLOGIAS DE INFORMAÇÃO
E COMUNICAÇÃO
Luanda, 2019
II
DEDICATÓRIA E AGRADECIMENTOS
Em primeiro lugar gostaria de agradecer a Deus por tudo que têm feito em minha vida,
gostaria de agradecer ao corpo directivo e de docentes do Instituto Superior De
Tecnologias de Informação e Comunicação (ISUTIC), por ter acreditado sempre neste
projecto que agora ao fim de muito tempo e várias contrariedades, vê a luz do dia e que
representa a concretização do desafio que nos foi lançado de criar um sistema de gestão
de vendas para a boutique (BCH-Lda).
Gostaria de agradecer ao Professor MSc Walber Mengana Cuesta, pelo apoio dado ao
longo da realização da tese, que este gesto se repita, em prol do ensino.
Quero deixar aqui uma palavra de apreço aos meus colegas pelo ambiente de riqueza
intelectual que me proporcionaram ao longo desses cinco (5) anos da minha formação.
Costuma-se dizer que a família e os amigos são os que de mais importantes temos na
vida. Começando pelos últimos, o nosso muito obrigado especial e sentido aos meus bons
amigos que, de alguma forma, acreditaram em nós e nos incentivaram no avanço do
projecto. Por último, obrigado Esposa, Pais e de mais familiares por tudo, e acima de tudo
por nos terem apoiado moralmente e financeiramente para que concluíssemos os estudos.
Muito Obrigado.
III
Resumo
Este trabalho fala sobre a necessidade de controlar e agilizar o processo de gestão de
vendas, atravéz de um sistema infromático desktop. Se notou que muitas lojas não
possuem um controlo exacto dos seus dados, o que dificulta no processo de vendas.
Mais adiante foram mostradas toda a documentação onde poderão constar todos os
requisistos funcionais e não funcionais, modelagens do sistema, principais ferramentas
utilizadas e as metodologias que vão nos guiar até ao término do projecto. Do mesmo
modo faremos os testes de software com maior realçe nas provas de caixa preta e provas
de caixa branca, visto que se fez correções de erros no sistema.
IV
ABSTRACT
This work talks about the need to control and streamline the sales management process,
through an informatic desktop system. It has been noted that many stores do not have
exact control of their data, which makes it difficult in the sales process.
Throughout the research on the subject, computer systems were studied related to the
problem, being able to identify the main characteristics that a sales management system
should have.
Thus, the sales management system may cover the needs of sales management, records,
queries, as well as reports.
Later on, all the documentation will be shown where all the functional and non-functional
requirements, system modeling, main tools used and the methodologies that will guide us
to the end of the project will be shown. Likewise, we will carry out the most important
software tests on the black box tests and the white box tests, in order to correct the system
errors.
V
INTRODUÇÃO .................................................................................................................. 1
Introdução ......................................................................................................................... 4
CONCLUSÕES ............................................................................................................... 50
RECOMENDAÇÕES ....................................................................................................... 51
ANEXOS ......................................................................................................................... 55
VI
ÍNDICE DE FIGURA
Figura 1: Modelo Conceitual do Negócio......................................................................... 23
VII
ÍNDICE DE TABELA
Tabela 1: Deferenças entre metodologias pesadas e ágeis Fonte:(Nerur, Mahaptra e
Mangalaraj, 2015). .......................................................................................................... 13
VIII
Lista de Abreviatura
API .............................................................................. Application Programming Interface
IX
RUP ........................................................................................ Processo Unificado Racional
X
INTRODUÇÃO
Boutique é um estabelecimento comercial, normalmente, pequeno e caracterizado
pela venda de artigos de modas, roupas finas, joias ou bijuterias particulares,
especializadas ou importadas (Dicio, 2016).
Joias são as peças nobres, geralmente produzidas por designers próprios. Elas são
feitas de ouro, prata, titânio ou platina (Vivi Scramin, 2019).
Semijoia são peças similares às joias. O que muda é a sua resistência. A sua base
(estrutura) é feita em material “não” nobre (exemplo: latão, estanho, bronze e até
mesmo a prata) e recebem uma espécie de cobertura/banho de material nobre (ouro,
prata, ródio ou rose). As peças ficam bonitas e com durabilidade grande, mas não são
100% nobres. Visualmente é difícil distinguir uma semijoia de uma joia (Vivi Scramin,
2019).
Bijuterias são as peças que possuem menor durabilidade. São feitas com materiais
“não” nobres e raramente possuem banho. Algumas peças podem vir com um banho,
que é chamado “flash”, ou seja, recebem uma camada extremamente fina de ouro ou
prata que é utilizada somente para dar cor à peça. As bijuterias geralmente são
usadas como enfeites mais simples, lembrando joias. Elas possuem um brilho natural
menor e uma forte tendência à oxidação. Elas podem ser encontrados com uma
diferença muito grande entre os preços de cada loja (Vivi Scramin, 2019).
Moda vem do latim modus, designa a maneira de fazer, compartilhando nesse caso o
sentido do termo inglês fashion, que deriva do francês façon, feitio. Moda é, portanto,
a maneira ou a forma de fazer alguma coisa, e em particular de vestir-se, comer, falar.
Moda é um fenômeno que surge com a chamada “modernidade” ocidental e ilustra o
fim do consumo de actual e sua substituição pelo consumo do novo. Do ponto de vista
histórico, ela surge no âmbito do vestuário, mas hoje se encontra instalada em quase
todas as áreas da vida social (Godart, 2018).
1
A boutique BCH-Lda é um estabelecimento comercial que presta serviços no ramo de
vendas, esta localizada na província de Luanda, município de Cacuaco. Oferece
diversos produtos como roupas masculinas, femeninas, e acessórios de moda, a
boutique BCH-Lda não possui um sistema de gestão de vendas que controla e agiliza
as suas actividades diarias, como cadastro de produtos, controle das vendas, e isto
acontece devido aos custos elevados das soluções existentes, por esta razão faz com
que o gerente da boutique BCH-Lda tenha soluções de forma manual, como o
apontamento a um caderno e as vendas são feitas por intermédio de blocos de
facturas para ajudar na gestão de vendas.
Todo o processo de vendas é feito de forma manual, utilizando blocos de facturas que
geram dificuldades no controlo dos produtos, baixa produção, acúmulo de papeis,
perda de informações, desvios de mercadorias e demora no atendimento. A boutique
BCH-Lda, tem muitas dificuldades no tocante a gestão de vendas, pois não possuem
um software específico para tal, sendo que muitos clientes sentem-se insatisfeitos
pela demora no atendimento, e com isso tem gerado muita perca dos clientes. Com
base a situação problemática apresentada acima, obteve-se o seguinte: problema de
investigação: Como controlar a gestão de vendas da boutique BCH-Lda?
2
Defende-se a ideia de investigação de que: Com o desenvolvimento de um sistema
informático para boutique BCH-Lda, garante-se o controle e a agilidade na gestão das
vendas da boutique BCH-Lda.
Para dar solução ao problema levantado se propõem as seguintes tarefas de
investigação:
1. Análise dos principais conceitos associados aos processos de gestão de
vendas para boutiques, para obter uma base teórica para o desenvolvimento
da solução.
2. Estudo de soluções existentes no campo da gestão de vendas de boutiques.
3. Definição das ferramentas informáticas e da metodologia a utilizar para o
desenvolvimento do sistema de gestão de vendas para a boutique BCH-Lda.
4. Definição dos requisitos funcionais e não funcionais do sistema de gestão de
vendas da boutique BCH-Lda.
5. Desenho do sistema de gestão de vendas da boutique BCH-Lda.
6. Implementação do sistema de gestão de vendas para a boutique BCH-Lda.
7. Aplicação de provas de softwares em função da validação da solução proposta.
Nível empírico:
o Entrevista: Realizaram-se entrevistas aos trabalhadores afetos as vendas que
nos permitiu entender a situação existente e obter os requisitos para o
desenvolvimento do sistema informático de gestão de vendas (Adriano Padilha,
Talita Carvalho, 2016).
3
O presente trabalho está estruturado em três capítulos, cujo o conteúdo é
sucintamente apresentado a seguir:
o Capítulo I: Fundamentação teórica: Neste capítulo se pontualizam os
principais conceitos relacionados com o tema, realiza-se o estudo dos sistemas
similares a nível nacional e internacional sobre os sistemas de gestão de
vendas. Também se definem as ferramentas, metodologias e tecnologias a
utilizar durante o desenvolvimento do sistema informático.
o Capítulo II: Características do sistema: Neste capítulo se faz uma descrição
geral da solução proposta e seu funcionamento, identificam-se os requisitos
funcionais e não funcionais e outros elementos importantes dentro do processo
de desenvolvimento.
o Capítulo III: Desenho, implementação do sistema e provas de software:
Neste capítulo se abordam aspectos relacionados com o desenho e a
implementação do sistema. Elaboram-se os diagramas de classes e de base
de dados, assim como outros elementos importantes dentro do processo de
desenvolvimento do sistema informático de gestão de vendas para a boutique
BCH-Lda. A demais realiza-se as provas de software para verificar que
responda a um correcto funcionamento, garantir a confidencialidade e detectar
falhas no sistema proposto.
4
do qual se transfere uma coisa própria a domínio alheio pelo preço pactuado. A venda
pode ser um acto potencial (um produto que está à venda mas que ainda não foi
comprado) ou uma operação já concretizada ou realizada (neste caso, implica
necessariamente a compra) (Paulo Ferreira, 2017).
É hábito falar-se de contrato de compra e venda para fazer alusão à operação bilateral
em que o vendedor entrega uma determinada coisa ao comprador, o qual, por sua
vez, paga um preço pela mesma. Regra geral, esse pagamento é realizado em
dinheiro, pois optando-se por outro objecto, estaríamos perante uma situação de troca
(ou permuta) (Emmanuel Ferreira, 2017).
5
Gestão de Vendas: desenvolvido para tornar o trabalho da equipe de vendas mais
organizado, rápido e eficiente, o sistema de vendas é uma ferramenta de
gerenciamento de contactos e controlo de processos capaz de reduzir o esforço das
oportunidades de negócios da empresa (Devitecnologia, 2017).
Além disso, o sistema de vendas também é conhecido pelo termo em inglês Customer
Relationship Management que em português quer dizer, Gestão de Relacionamento
com o Cliente (CRM). O ápice da tendência desse tipo de programa aconteceu em
meados da década de 1980, mas naquele tempo a maior parte dos profissionais
utilizava-o para melhorar as estratégias de divulgação, obtendo suas primeiras noções
de marketing. Pouco se falava em adotar um CRM para desenvolver actividades
relacionadas a vendas. Hoje em dia, a realidade é bem diferente. A implementação
de um sistema de vendas é considerada uma forma inteligente de optimizar os
resultados do negócio, pois é possível tornar a gestão de relacionamento com o cliente
muito mais produtiva, além de manter o negócio mais competitivo diante dos
concorrentes (Devitecnologia, 2017).
A tecnologia é uma grande aliada nos diversos sectores econômicos. Uma loja pode
fazer o uso de um software de gestão empresarial ou enterprise resource planning
(ERP). Esse sistema procura integrar todos os processos de uma loja de maneira a
facilitar a comunicação interna do estabelecimento, optimizar as ações e minimizar as
dificuldades de gestão. Tudo isso melhora a productividade e garante acesso a dados
que podem ser usados estrategicamente para tornar a sua loja mais eficiente (Marinho
Silva, 2019).
Frente de caixa:
Um software de gestão alinhado com o seu frente de caixa permite que a emissão de
facturas ou notas fiscais estejam adequadas de acordo a legislação do País em que
actua.. Outra funcionalidade que esse tipo de software garante é o armazenamento
seguro das informações que passam pela frente de caixa. Portanto, a tecnologia
contribui para o controlo e agilidade desse processo e a segurança de dados (Marinho
Silva, 2019).
Planeamento:
Um software de gestão integrado em sua empresa permite reunir um grande número
de informações e avaliar diversos dados que, se bem empregados, deixam o seu
negócio mais ágil e com os seus processos mais produtivos (Marinho Silva, 2019).
Controle de estoque:
Um software de gestão tornará esse processo mais eficiente, alertando quando deve
renovar o estoque, quais produtos estão em falta e quais têm pouca saída.
Informações estratégicas que vão orientar todo o seu sector de vendas (Marinho Silva,
2019).
Controle financeiro:
7
Um software de gestão consegue integrar diversos sectores da sua empresa criando
um canal único de informação. Você tem os dados da frente de caixa e de vendas,
controle do seu estoque e os dados necessários para planear as suas estratégias de
mercado. Logo não é de se estranhar que esses sistemas te forneçam relatórios
detalhados com informações exactas. De posse dessas informações fica mais fácil
planear e ajustar o sector financeiro fazendo controle de gastos e reduzindo custos
(Marinho Silva, 2019).
1.2.1.1 Freshsales
O Freshsales é a uma ferramenta geral de gerenciamento de relacionamento com o
cliente (CRM) e software de vendas, pois permite que os gerentes de vendas
priorizem e atribuam os melhores leads e monitorem e avaliem as chamadas de
vendas com seus recursos de gravação de chamadas. Além disso, o que o torna único
é o aplicativo móvel, o sistema telefônico interno e a capacidade de oferecer suporte
à venda baseada em território. Portanto, é uma boa opção para gerentes de vendas
com equipes baseadas em território que sejam práticas e forneçam feedback sobre
as chamadas de vendas (Sheena Jones, 2018).
Freshsales tem preço acessível, mas também há uma versão gratuita que oferece
funcionalidade básica de gerenciamento de leads e contactos para usuários
ilimitados. À medida que as suas necessidades crescem e você precisa de
ferramentas mais avançadas, seus preços são altamente competitivos em
comparação com sistemas de rastreamento de vendas com características
semelhantes (Sheena Jones, 2018).
Vantagens:
o A capacidade de personalizar tudo em torno dos negócios e das necessidades
é óptima.
8
o As configurações padrão já existentes já são ótimas, dão inspiração sobre
como eu quero que meu sistema seja.
o O facto de poder fazer relatórios em praticamente qualquer categoria que eu
escolher. Isso é particularmente bom para actualizar clientes diferentes em
seus casos.
Desvantagens:
Dificuldades ao carregar arquivos para casos, ele só pode ser feito um por um e não
se pode carregar arquivos em massa. Também seria ótimo se tivesse um recurso de
arrastar e soltar para arquivos.
9
o Atendimentos
Desvantagens:
O sistema é 100% online, o que quer dizer que sem internet não poderá funcionar.
1.2.1.3 Hiper
O Hiper gestão é um sistema online de gestão, que permite acessar todos os dados
da sua loja, de onde quiser. Confere as vendas realizadas, controla o estoque e cria
relatórios de forma rápida e sem complicação (Hiper, 2019).
Ideal para negócios que estão começando e também para quem já possui mais de
uma loja e quer centralizar a gestão em um só aplicativo.
Principais funcionalidades:
Utilizando o pedido de venda do hiper, você consegue montar orçamentos, informar a
validade para o orçamento, definir uma negociação, enviar por e-mail e ainda fatura-
los em nota fiscal ou cupom fiscal.
Realiza uma pré-venda e diminui as filas no caixa de uma loja. Ainda pode definir uma
negociação, um desconto e uma tabela de preço especial para o cliente.
Com o frente de caixa do hiper se pode utilizar a solução de frente de caixa e tráz
mais agilidade em suas vendas. Outro recurso disponível é a emissão de documentos
fiscais. E ainda se pode integrar o frente de caixa com o windows ou online (Hiper,
2019).
10
qual for o seu sector de actividade, a responder com garantias às necessidades das
empresas e do mercado (NCR Corporate, 2018).
11
funcionalidades acrescentadas através das necessidades que o cliente demonstrar
sobre o uso do sistema.
12
As metodologias pesadas são, de certa forma, barreiras impostas ao
desenvolvimento, pois muitas organizações não possuem recursos para processos
pesados de produção de software. Por esta razão, as organizações pequenas acabam
por não usar nenhum processo. Isto pode trazer efeitos negativos no que diz respeito
a qualidade do produto final, além de dificultar a entrega do software nos prazos,
custos e funcionalidades previamente definidas (Daniel, 2017).
13
Software de alta qualidade
Sistemas são bem específicos pode ser desenvolvido por
Premissas fundamentais e podem ser construidos pequenas equipas que usam
através de planeamento princípios da melhoria
meticuloso e estensivo contínua em design e testes,
sendo baseados em feedback
rápidos e posíveis
Controlo Centrado em processos Centrado em pessoas
Estilo de Gestão Comando e controle Liderança e colaboração
Gestão do conhecimento Explícito Tácito
Atribuição de Papéis Individuais - favorecem Equipas autogeridos –
especialização encorajam troca de papeis
Comunicação Formal Informal
Papel do Cliente Importante Crítico
Ciclo do Projecto Guaido por tarefas ou Guiado por funcionalidades do
actividades produto
Modelo de desenvolvimento Modelo do ciclo de vida Modelo de entrega evolutiva
(cascata, aspiral ou alguma
variação destes)
Estrutura ou forma Mecânica(burocrática, com Orgânica(flexivel, participativa,
organizacional desejada alta formalização) encorajando ação social
cooperativa)
Tecnologia Sem restrições Favorece a tecnologia
orientada a objectos
14
ferramentas e de baixo formalismo que pode ser estendido a uma variada gama de
tipos de projectos e não apenas desenvolvimento de software (Eclipse, 2016).
Actualmente está distribuído em diversos idiomas e isto tem o tornado cada vez mais
popular, facilitando o acesso a iniciantes em programação e possibilitado o
desenvolvimento de aplicativos (Apache Software Foundation, 2019).
1.4.2 Java 8
O Java é uma tecnologia usada para desenvolver aplicações que tornam a web mais
divertida e útil. O java não é a mesma coisa que o javascript., que é uma tecnologia
simples usada para criar páginas web e só é executado no seu browser (Oracle, 2019).
15
O java permite executar jogos, fazer upload de fotos, bater papo on-line, e usar
serviços, como treinamento on-line, transações bancárias on-line e mapas
interactivos. Se você não tiver o java, muitas aplicações e websites simplesmente não
funcionarão (Oracle, 2019).
Por defeito, o java avisará a você automaticamente que novas atualizações estão
prontas para serem instaladas. Para manter-se actualizado e proteger seu
computador, é importante aceitar e instalar essas actualizações. Se você for avisado
sobre uma actualização do java no computador windows e não lembrar de ter feito
download dela e instalado, pode ser que o java tenha vindo pré-carregado com seu
novo computador (Oracle, 2019).
Características principais:
O javafx scene builder inclui os seguintes recursos principais:
o Uma interface WYSIWYG ( “What You See Is What You Get” e quer dizer “O
que você vê é o que você obtém”), de arrastar e soltar permite que você crie
rapidamente um layout de GUI sem a necessidade de gravar o código-
16
fonte. Você pode adicionar, combinar e editar os controles GUI do javafx no
layout usando a biblioteca de controles da GUI e o painel de conteúdo.
o A geração automática de código FXML ocorre quando você cria e modifica seu
layout de GUI. O código FXML gerado é armazenado em um arquivo separado
da fonte lógica do aplicativo e dos arquivos da folha de estilo.
o Os recursos de edição e visualização ao vivo permitem visualizar rapidamente
as alterações no layout da GUI que você faz sem precisar compilar. Esses
recursos ajudam a minimizar o tempo de desenvolvimento do seu
aplicativo. Você também pode atribuir folhas de estilo em cascata (CSS) ao
layout da GUI e visualizar a aparência e a aparência resultantes que são
aplicadas.
o O javafx scene builder kit é fornecido com o scene builder 2.0. O kit é uma
interface de programação de aplicações (API) que permite a integração de
painéis e funcionalidades do scene builder directamente na GUI de um
aplicativo maior, ou um IDE java, como netbeans, intellij e eclipse.
o O suporte CSS permite o gerenciamento flexível da aparência da interface do
usuário do seu aplicativo.
1. Front end ou upper case: apoia as etapas iniciais de criação dos sistemas: as
fases de planejamento, análise e projeto do programa ou aplicação.
2. Back end ou lower case: dão apoio à parte física, isto é, a codificação, testes
e manutenção da aplicação.
17
3. I-case ou integrated case: classifica os produtos que cobrem todo o ciclo de
vida do software, desde os requisitos do sistema até o controle final da
qualidade.
Objectivos:
o Melhorias da qualidade de software
o Aumento da produtividade no processo de software
Para a modelagem deste sistema, se vai utilizar o visual paradigm, visto que é
uma ferramenta que além do suporte à modelagem, ele fornece recursos de geração
de relatórios e engenharia de código, incluindo geração de código . Ele
pode reverter diagramas de engenharia a partir do código e fornecer engenharia de
ida e volta para várias linguagens de programação ou ainda é uma ferramenta que
suporta o ciclo de vida completo do projecto (Juliana, 2015).
18
de algumas linguagens de programação como, por exemplo, C++ e Java (Visual
Paradigm, 2014).
19
1.4.7 Jasper Report 6.2.0
A biblioteca jasper report é um mecanismo de relatórios mais popular open source do
mundo. É totalmente escrito em java e é capaz de usar dados provenientes de
qualquer tipo de fonte de dados e produzir documentos de pixel -perfeito que podem
ser visualizados, impressos ou exportados em uma variedade de formatos de
documentos, incluindo HTML, PDF, Excel, Open Office e Word (Jaspersoft Comunity,
2019).
Sendo que explicou-se o funcionamento das boutiques, bem como sistemas de gestão
de vendas a nível nacional e internacional, pelo que serviu de apoio na criação do
sistema de gestão de vendas, com base no que foi apresentado, vimos que a
tendência das boutiques é adquirir um sistema de gestão de vendas para controlar o
processo de negócio, podemos esperar que a boutique BCH-Lda possa gerenciar
suas informações da melhor maneira possível e que possa obter êxitos no processo
de negócio daqui para frente.
20
2 CAPÍTULO II: CARACTÉRISTICAS DO SISTEMA
Introdução
Este capítulo descreve os processos que ocorrem na boutique BCH-Lda, análise de
negócios que surge em cada um dos processos mencionados e a seguir são
identificados os requisitos funcionais e não funcionais do sistema.
21
o Documentar os processos de negócio e capturar a relação entre os seus
conceitos.
o Derivar os requisitos de sistema necessários para sustentar a organização.
A boutique BCH-Lda, é uma pequena loja comercial com apenas três(3) funcionários,
dos quais um gerente, um balconista, e outro vigilante. A boutique possui uma sala de
atendimento(loja), tem um estoque de armazenamento de produtos. O balconista é o
responsável na realização de vendas.
Em seguida serão definidos outros elementos que fazem parte do modelo de domínio:
o Vendas: processo que consiste em atender o cliente.
o Produtos: são bens disponíveis na boutique, com a finalidade de serem
vendidos.
o Funcionários: Pessoas que trabalham na boutique.
o Clientes: Pessoas que fazem compra de produtos na Boutique.
o Balconista: é o trabalhador da boutique responsável pelas vendas, que
interage com o sistema para atender as solicitações dos clientes.
o Gerente: é o trabalhador da boutique responsável pelo cadastramento e
atualização dos produtos.
o Loja: é o estabelecimento comercial se fazem a comercialização dos produtos
24
manifestada por sequências de mensagens intercambiáveis entre os sistemas e um
ou mais atores.
25
3. Fornece os dados do cliente (nome, 4.Se faz o cadastro do cliente.
morada, telefone.
3. Efectua a compra 6. Se conclui a compra.
Fluxo alternativo: Produtos acabados.
2.2 se não tiver o produto que o cliente
deseja no pedido, informa-se ao cliente e
termina o caso de uso.
Tabela 4: DCUN efectuar pagamento
26
devemos sempre contribuir para resolver os problemas do cliente e não o que o
programador ou um arquiteto deseja. Dessa forma, o conjunto dos requisitos como
um todo representa um acordo negociado entre todas as partes interessadas no
sistema. Isso também não significa que o programador, arquicteto ou um analista bem
entendido no assunto de tecnologia não possam contribuir com sugestões e propostas
que levem em conta o desejo do cliente (Pressman, 2019).
27
o RF-12: Inserir venda.
28
✓ RNF-2: Acessível em modo desktop.
o Confiabilidade.
✓ RNF-3: É a probabilidade de o software não causar uma falha num sistema
durante um determinado período de tempo sob condições especificadas.
o Confiabilidade.
✓ RNF-4: Uma característica das engenharias é fazer uso de projectos
existentes a fim de reutilizar componentes já desenvolvidos, objectivando
minimizar o esforço em novos projectos. Dessa forma, componentes que já
tenham sido desenvolvidos e testados podem ser reutilizados.
o Segurança
✓ RNF-5: Este requisito não funcional caracteriza a segurança de que acessos
não autorizados ao sistema e dados associados não serão permitidos.
Portanto, é assegurada a integridade do sistema quanto a ataques
intencionais ou acidentes.
✓ RNF-6: Apenas pessoas que tenham sido autenticadas por um componente
de controle acesso e autenticação poderão visualizar informações dado que
a confidencialidade permite esse tipo de acesso apenas às pessoas
autorizadas.
✓ RNF-7: Identifica o nome do usuário, informando ao sistema quem está
utilizando-o
o Aparência ou interface externa
o Apoio.
✓ RNF-9: O sistema deve ser instalado e testado.
o Hardware.
✓ RNF-10: O servidor de aplicação deve ter pelo menos 1.65 GHz e 4 GB de
RAM e disco rígido de 80 GB, para um funcionamento razoável do sistema.
✓ RNF-11: Os requisitos mínimos para dispositivos clientes: qualquer
dispositivo que tenha instalado o sistema operativo Windows.
Nome: Autenticar
Finalidade/Objetivo: Permite ao utilizador acessar no sistema.
Atores: Todo o tipo de utilizadores.
Pré-condições: Deve estar cadastrado no sistema.
Evento Inicial: O sistema apresenta a tela de autenticar(inicio de sessão).
Fluxo princípal
Ações do Sistema Ações do Ator
1. O sistema mostra a tela de autenticar(inicio de 2. O utilizador preenche os dados de
sessão). autenticação (utilizador e senha).O
utilizador clica no botão autenticar ou
pressiona a tecla enter.
Fluxo de Exceção(E1)
1. O sistema mostra que a senha está incorrecta 2. Se o utilizador e a senha estiverem
ou o utilizador não esta cadastrado, mostrando correctos, é direcionado ao menu
uma mensagem de erro. principal
30
Tabela 7: DCUS – Gerenciar Cliente
31
5. Mostra a tabela cliente com os seguintes 6. O recepcionista preenche os campos e clica
campos (processo, nome), mostra a tabela no botão “salvar”.
“escolha o produto” com os seguintes campos
(código, quantidade, nome, preço), mostra a
tabela “quantidade” com os seguintes campos
(preço, quantidade, subtotal), mostra a tabela
“pagamento” com os seguintes campos (pago e
troco), mostra a tabela “produtos na factura com
os seguintes campos (codigo, preço, nome,
quantidade subtotal)”.
7. O sistema verifica se os campos estão bem
preencidos (E1), (E2).
Fluxo de Exceção(E1)
1. Se os campos estão vazios, o sistema mostra
uma mensagem do tipo “erro, verifique os dados
inseridos”. O sistema retorna ao 6º passo do
fluxo princípal.
Fluxo de Exceção(E2)
2. Se os campos estão preenchidos 3. O balconista imprime a factura de venda.
correctamente, o sistema fornece a factura de
venda”.
8. O sistema mostra a tela principal 9. O balconista clica no menu “relatórios”.
10. mostra o submenu “todos”, os botões “dia”, 11. O balconista clica no botão “dia”.
“més”, “ano”, “imprimir” e o “total”, a tabela de
“resultados da pesquisa” com os seguintes
campos (código, cliente, data, total, pago, troco,
alteração, estado)
12. o sistema mostra o relatório de venda do dia 13. O balconista clica no botão “més”.
14. o sistema mostra o relatório de venda do 15. O balconista clica no botão “ano”.
més
16. o sistema mostra o relatório de venda do 17. O balconista clica no botão “imprimir”.
ano.
18. o sistema exibe o relatório em uso. 19. O balconista imprime o relatório de venda
32
3. O sistema mostra a tabela de “dados dos 4. O gerente clica no botão “Novo”, preenche a
produtos” com os seguintes campos (nome, tabela “Dados do Produto” e clica no botão
fornecedor, preço de compra, preço de venda, “salvar” ou “cancelar”
quantidade em estoque, quantidade a
adicionar, data de aquisição) com o menu
acções com os seguintes botões: “novo”,
“salvar” e “cancelar.”
5. O sistema mostra a tela princípal . 6. O gerente clica no menu “consultar”, de
seguida abrir-se-á uma tabela de “escolha o
produto” com a opção “procure o produto
desejado”.
7. O sistema mostra a tela de produtos 8. O gerente seleciona o produto desejado e
cadastrados, com os seguintes campos (id, clica “eliminar”.
nome, fornecedor, preço de compra, preço de
venda, quantidade e data de aquisição). E os
botões “pesquisar”, “eliminar” e “imprimir”.
9. O sistema verifica se o produto faz parte de
uma venda (E1), (E2).
Fluxo de Exceção(E1)
1. Se o produto que se quer “eliminar” faz parte 2. O gerente confirma a mensagem e seleciona
de uma venda, o sistema mostra uma outro produto e tenta novamente.
mensagem de erro.
Fluxo de Exceção(E2)
1. Se o produto não faz parte de uma venda, o 2. Termina o caso de uso de sistema
sistema elimina o produto.
33
3 CAPÍTULO III: DESENHO, IMPLEMENTAÇÃO DO
SISTEMA E PROVAS
Introdução
Neste capítulo, vai retratar do processo de desenvolvimento do software, vai se
detalhar acerca do desenho e construção do software, assim como todos os
diagramas de classes, diagramas de componentes, diagrama de implantação,
ademais o modelo físico de dados, bem como a validação através das provas de
funcionamento de software. Provas estas que serão documentadas para verificar o
funcionamento correcto do sistema e detectar possíveis falhas no sistema.
34
Figura 4: Arquictetura modelo vista controladora
Os padrões seguem um formato típico, com um nome, problema onde deve ser
utilizado e o detalhe da solução, como implementá-la e suas variações e vantagens.
36
princípios são os Padrões GRASP (do inglês General responsibility asignment
software patterns).
Para que haja maior qualidade no sistema que esta a ser desenvolvido, utilizamos os
seguintes padrões:
o Criador: O padrão criador faz a atribuição a uma classe a responsabilidade de
criação de objetos de outra classe. O padrão do criador foi utilizado na criação
de objectos usuário em um momento específico, ou seja, a classe ClienteDao é
responsável por inserir o objecto do tipo cliente através do registro na camada
de persistência e retorno deste objeto, caso o método inserir cliente seja
invocado.
o Alta coesão: Trata-se do conceito onde uma classe deve fazer apenas o que
faz sentido para ela. A alta coesão no projeto foi garantida através da grande
modularização em suas classes, garantindo assim que cada classe tem a
responsabilidade única de comunicar os dados da sua entidade referente da
aplicação para o banco de dados e vice-versa. Como por exemplo, a
classe login (que cuida somente do login do usuario).
37
Figura 7: Aplicação do padrão Alta coesão na classe Tipo_AutenticarDao
38
Figura 8: Aplicação do padrão Polimorfismo na subclasse pesquisar
39
Figura 9: Modelo lógico do banco de dados
40
Figura 10: Diagrama de implantação do sistema.
Conectores Descrição
USB Porta universal em português, permite a
conexão da impressora com o pc cliente, e
com os demais periféricos.
TCP/IP De uma forma simples, o TCP/IP é o
principal protocolo de envio e recebimento
de dados MS. TCP significa protocolo de
controle de transmissão) e o IP, Internet
Protocol (protocolo de internet)
41
3.5 Protótipos de Interfaces
42
Figura 13: Tela pesquisar produto
43
3.6 Validação do sistema com provas de software
Os testes representam uma etapa de extrema importância no processo de
desenvolvimento de software, pois visam validar se a aplicação está funcionando
corretamente e se atende aos requisitos especificados.
Nesse contexto existem diversas técnicas que podem ser aplicadas em diferentes
momentos e de diferentes formas para validar os aspectos principais do software.
Provas unitárias: as provas unitárias têm por objectivo validar pequenas partes do
software com base em suas entradas possíveis e saídas esperadas. As unidades
usadas nesse tipo de provas são as menores partes testáveis de um sistema,
normalmente funções, que recebem argumentos e retornam um determinado valor ou
efectuam alguma acção cujo resultado pode ser analisado (Devmedia, 2019).
Provas funcionais: Além dos tipos de software que avaliam o código dos programas,
existem alguns que visam analisar seu comportamento externo: os provas funcionais.
Normalmente esse tipo de provas se baseiam nos requisitos do sistema e consiste de
realizar ações de uso real no sistema, entrando com dados e avaliando seu retorno
(Devmedia, 2019).
44
3.6.1.1 Provas Funcionais
Partição equivalente: Trata-se de uma técnica de testes que propõe a separação das
possíveis entradas em categorias diferentes. Partições de equivalência podem ser
encontradas em dados válidos e inválidos (valores que deveriam ser rejeitados, por
exemplo). As partições podem ser identificadas para valores de saída, valores
relativos ao tempo (antes ou depois de um evento), bem como valores internos ao
processo (Rafael Goulart, 2019).
46
3.6.1.2 Provas de Unitárias
Provas unitárias: é a técnica de teste que avalia o comportamento interno do
componente de software. Trabalha directamente sobre o código-fonte do componente
de software para avaliar aspectos tais como: teste de condição, teste de fluxo de
dados, teste de ciclos e testes de caminhos lógicos. O testador tem acesso ao código
fonte da aplicação e pode construir códigos para efectuar a ligação de bibliotecas e
componentes (Pressman, 2010).
Provas de caixa branca: Esse tipo de teste, também conhecido como teste estrutural,
é projectado em função da estrutura do componente e permite uma averiguação mais
precisa do comportamento dessa estrutura (Barcelar, 2015).
Na figura 15, mostra um fragmento do código do botão salvar, para mostrar como foi
aplicada a técnica de caminho básico no sistema implementado.
47
Figura 16: Gráfico Fluxo Prova de caixa branca
Caminhos: 1 - 2 -4:
o Caso de prova: Salvar Produto
o Entrada: O usuário adiciona um novo produto
o Resultado: O sistema apresenta uma mensagem de alerta (´Produto salvo com
sucesso`).
Caminhos: 1 – 3 – 4:
o Caso de prova: Atualizar produto
o Entrada: Quando se cadastra um novo produto
o Resultado: o sistema apresenta uma mensagem de alerta (Produto atualizado
com sucesso).
48
3.6.2 Resultados das provas
Ao aplicar as provas de software, foram elaborados vinte e cinco (25) cenários de
provas, em três (3) iterações. A partir da primeira iteração foram detectadas 15
inconformidades, dentre as incorfomidades encontradas nove (9) eram erros lógicos
e pressuposições incorrectas, seis (6) eram erros ortográficos ou erros de escrita, dos
quais se fez a correção de todas. Depois de se terem feitas as correções se fez
novamente todos os casos de prova na segunda iteração e com o resultado tivemos
cinco (5) inconformidades, das quais três (3) de erros lógicos e duas (5) de erros de
escrita, se fez a correção na totalidade. Ao realizarmos a terceira (3) iteração não se
obteve alguma inconformidade, como se representa no gráfico abaixo (Figura 17).
49
CONCLUSÕES
Com a realização deste projecto, podemos afirmar que se resolveu o problema de
investigação que foi definido no início, assim como a resolução dos objectivos
específicos. Sendo que, chegou-se as seguintes conclusões:
50
RECOMENDAÇÕES
Ao término da realização do trabalho, se constatou que os objectivos definidos foram
alcançados, pelo que se recomenda o seguinte:
51
REFERÊNCIAS BIBLIOGRÁFICAS
1. BENDINHA, Jose Pascoal Batalha. Sistema de Gestão de dados do pessoal
para o Distrito de Recrutamento e Mobilização do Estado Maior General.
Luanda: Instituto Superior Para as Tecnologias de Informação e
Comunicação(ISUTIC). 2017.
52
12. FRESHWORKS. 2018. Freshsales. Freshsales. [Online] Freshsworks Inc.,
2018. Disponível em <https://www.freshworks.com/>.
13. GLUON. 2018. Gluon. Gluon. [Online] Scene Builder, 17 de Maio de 2018.
[Citado em: 20 de Junho de 2019.] Disponível em
<http://gluonhq.com/products/mobile/gluonmobiledocumentation.html>.
14. GODART, Frederic. 2010. Sociologia da Moda. São Paulo : Senac, 2010.
15. GITHUB, Inc. 2019. Git Hub. Git Hub. [Online] GitHub Inc, 2019. [Citado em:
13 de Junho de 2019.] Disponível em <https://github.com/Software-Design-
2017/EmbelezaMais/wiki/Padr%C3%B5es-GRASP>.
16. INFOPÉDIA, Dicionario. 2003. infopédia. Infopédia. [Online] 2003. [Citado em:
05 de 04 de 2019.] Disponível em <https://www.infopedia.pt/dicionarios/lingua-
portuguesa/loja>.
19. LOUREIRO, Henrrique. 2014. Visual Basic 2010 Curso Completo. Porto - Rua
Damião De Gois : FCA, 2010. 978-972-722-657-3.
22. PAULO, Alberto José. 2018. sistema de venda para padaria e pastelaria bom
doces. Luanda: Instituto Superior Para as Tecnologias de Infromação e
Comunicação(ISUTIC), 2018.
28. SANTOS, Luís Renato Dos. 2014. Técnicas de Testes de software. s.l. :
FAES-UFPR, 2011.
29. SILVA, Pedro Oziel Escobar da. 2017. Micreiros. Micreiros. [Online] Micreiros,
2017. [Citado em: 6 de Junho de 2019.] <http://micreiros.com/diagrama-de-
implantacao/>.
31. DeviTecnologia. 2017. blog. Devi tecnologia. [Online] Devi tecnologia, 2017.
[Citado em: 15 de 05 de 2019.] Disponível em
<http://blog.devitecnologia.com.br/a-importancia-do-sistema-de-vendas-para-
a-eficiencia-do-seu-negocio/>.
54
ANEXOS
Entrevista com os trabalhadores da boutique BCH-Lda
Nome:
Função:
R: pegando todos os papéis e controlar todas as entradas e saídas, o que tem gerado
muita perca dos dados.
R: Nunca Utilizei
R: Não Sei
R: controlo das actividades diaria tais como, controlo de produtos, controlo das
vendas, controlo de clientes, relatórios e consultas de produtos.
55