APS 2023 7 SEMESTRE - Português (2024)

ALEXSANDRO TÉOFILO DO CARMO DE RIVERA – N6482B-7 – CP7P01

DIOGO EREDIA OLIVEIRA MARCHÃO – N61479-0 – CP7Q01

GEOVANNE HENRIQUE COSTA – N589FJ-1 – CP7Q01

GUSTAVO DELLABARBA – F2250H4 – CP7Q01

IVAN ALEXANDER YAPITA VARGAS – F1851H-0 – CP7P01

KAMILLY VIEIRA SILVA – N61906-6 – CP7Q01

LUAN PARENTE DE SOUZA – N64168-1 – CP7Q01

THIAGO OGALLA BENEDITO – F1412E-5 – CP7Q01

VINICIUS SOUZA MODOLO – N6535J-8 – CP7P01

WILLIAN PUBLIO THEODORO GOMES – N568GD-2 – CP7Q01

STOCK VIRTUAL ASSISTANT

São Paulo

2023

ALEXSANDRO TÉOFILO DO CARMO DE RIVERA – N6482B-7 – CP7P01

DIOGO EREDIA OLIVEIRA MARCHÃO – N61479-0 – CP7Q01

GEOVANNE HENRIQUE COSTA – N589FJ-1 – CP7Q01

GUSTAVO DELLABARBA – F2250H4 – CP7Q01

IVAN ALEXANDER YAPITA VARGAS – F1851H-0 – CP7P01

KAMILLY VIEIRA SILVA – N61906-6 – CP7Q01

LUAN PARENTE DE SOUZA – N64168-1 – CP7Q01

THIAGO OGALLA BENEDITO – F1412E-5 – CP7Q01

VINICIUS SOUZA MODOLO – N6535J-8 – CP7P01

WILLIAN PUBLIO THEODORO GOMES – N568GD-2 – CP7Q01

STOCK VIRTUAL ASSISTANT

Trabalho apresentado ao curso de

Engenharia da Computação da

Universidade Paulista – UNIP, como

exigência da disciplina APS (Atividade

Prática Supervisionada).

Orientadora: Andrea Cristina Esteves

São Paulo

2023

RESUMO

Com base em pesquisas sobre software, sistemas de apoio a decisão (SAD) e banco

de dados para o auxílio de empresas foi engenhado um projeto para uma empresa de

vendas de pequeno porte, esta criada pelos autores, seguindo o modelo de processo

de software cascata, proposto por Sommerville, analisando possíveis requisitos,

revisando-os em conjunto e projetando o sistema e software. Assim, foi feito um

aprofundamento no assunto de back-end e front-end, a fim de determinar qual seria

utilizado, interface, design e segurança das informações, para que a sensibilidade dos

dados não seja comprometida. O objetivo do SAD que será aplicado é auxiliar o

estoque do empresário, organizando-o, prevendo riscos e melhorias para o negócio

com base nos dados inseridos nos bancos de dados, deste modo a ferramenta

BrModelo foi utilizada como CASE para organizar os bancos de Dados para assim

cria-lo empregando a ferramenta MySQL, usada como o Sistema de Gerenciamento

de Banco de Dados para manipular as informações armazenadas neste.

Palavras chaves: SAD; banco de dados; software.

ABSTRACT

Based on research on software, decision support systems (DSS) and database to help

companies, a project was designed for a small sales company, created by the authors,

following the waterfall software process model. , proposed by Sommerville, analyzing

possible requirements, reviewing them together and designing the system and

software. Thus, an in-depth study was carried out on the subject of back-end and front-

end, in order to determine which would be used, interface, design and information

security, so that the sensitivity of the data is not compromised. The objective of the

SAD that will be applied is to help the entrepreneur's stock, organizing it, predicting

risks and improvements for the business based on the data entered in the databases,

in this way the BrModelo tool was used as a CASE to organize the databases to create

it using the MySQL tool, used as the Database Management System to manipulate the

information stored in it.

Keywords: SAD; database; software.

LISTA DE ILUSTRAÇÕES

LISTA DE FIGURAS

Figura 1 – A Convergência Do Mundo Digital Com O Real ......................................... 6

Figura 2 – Exemplo De Metadados ........................................................................... 19

Figura 3 – MySQL ..................................................................................................... 20

Figura 4 – Exemplo de Banco De Dados .................................................................. 21

Figura 5 – Ranking dos 10 SGBDs Mais Usados ...................................................... 22

Figura 6 – Exemplificação do Fluxo de Dados .......................................................... 23

Figura 7 – Modelo Entidade-Relacionamento (MER) ................................................ 28

Figura 8 – Diagrama de Entidade de Relacionamento .............................................. 29

Figura 9 – Exemplificação de um Framework de Cascata ........................................ 34

Figura 10 – Interface ................................................................................................. 35

Figura 11 – Interface de Usuário ............................................................................... 36

Figura 12 – Interfaces GUI e CLI ............................................................................... 36

Figura 13 – Modelo Conceitual .................................................................................. 46

Figura 14 – Modelo Lógico ........................................................................................ 47

Figura 15 – Projeto do Sistema ................................................................................. 50

LISTA DE TABELAS

Tabela 1 – Metadados da Tabela de Vendas ............................................................ 43

Tabela 2 – Metadados da Tabela de Lotes ............................................................... 44

Tabela 3 – Metadados da Tabela de Produtos.......................................................... 44

Tabela 4 – Metadados da Tabela de Estoque ........................................................... 44

Tabela 5 – Metadados da Tabela de Funcionários ................................................... 44

Tabela 6 – Metadados da Tabela de Fornecedores .................................................. 44

Tabela 7 – Metadados da Tabela de Clientes ........................................................... 45

Tabela 8 – Metadados da Tabela de Avaliações....................................................... 45

Tabela 9 – Metadados da Tabela de Nivel de Acesso .............................................. 45

Tabela 10 – Metadados da Tabela de Categorias ..................................................... 45

Tabela 11 – Metadados da Tabela de Promoções .................................................... 45

SUMÁRIO

1 INTRODUÇÃO ..................................................................................................... 6

2 APRESENTAÇÃO DO TRABALHO ..................................................................... 8

3 OBJETIVO ......................................................................................................... 10

3.1 Objetivo Geral .............................................................................................. 10

3.2 Objetivo Específico....................................................................................... 11

4 Sistema de Apoio à Decisão (SAD) ................................................................... 12

4.1 Processo de Construção de Software .......................................................... 12

4.1.1 Planejamento ......................................................................................... 12

4.1.2 Análise ................................................................................................... 13

4.1.3 Design ................................................................................................... 13

4.1.4 Implementação ...................................................................................... 13

4.1.5 Testes .................................................................................................... 13

4.1.6 Implantação ........................................................................................... 13

4.1.7 Manutenção ........................................................................................... 13

4.2 Estatística e Dados de um Software SAD ....................................................

,

VARCHAR (30) Quantidade de lotes individuais

Validade_Lote DATE Validade dos produtos que estão nos lotes

Qtd_Produto DOUBLE Valor de compra de um Lote

ID_Fornecedor DOUBLE É o identificador do Fornecedor (Chave Estrangeira)

Custo_Unit DOUBLE É o custo que o empresário compra

Fonte: Autoria Própria.

Tabela 3 – Metadados da Tabela de Produtos

Atributos Tipo Descrição

# ID_Produto INT Identificador do produto (Chave Primaria)

Nome_Produto VARCHAR (30) Nome registrado do produto

ID_Categoria INT Identificador da categoria (Chave Estrangeira)

Marca_Produto VARCHAR (30) Nesta coluna é onde estaria a marca das empresas

Num_Serie INT Código de barras

Preço_Unit DOUBLE Valor de uma unidade vendida

Fonte: Autoria Própria.

Tabela 4 – Metadados da Tabela de Estoque

Atributos Tipo Descrição

# ID_Produto INT Identificador da tabela Produto (Chave Primária)

Qtd_Estoque INT Quantidade do Produto em Estoque

ID_Lote INT Identificador do lote (Chave estrangeira)

Fonte: Autoria Própria.

Tabela 5 – Metadados da Tabela de Funcionários

Atributos Tipo Descrição

# ID_Funcionario INT É o identificador do Funcionário (Chave Primaria)

Nome_Funcionario VARCHAR (30) Nome registrado do funcionário

E-mail VARCHAR (30) Email do funcionário para contato

Telefone INT Telefone do funcionário para contato

Nivel_Acesso INT Nível de acesso ao SAD (Chave Estrangeira)

Fonte: Autoria Própria.

Tabela 6 – Metadados da Tabela de Fornecedores

Atributos Tipo Descrição

# ID_Fornecedor INT Identificador do fornecedor (Chave Primária)

Nome_Fornecedor VARCHAR (30) Nome registrado do fornecedor

Telefone TEXT (14)

Telefone do fornecedor para contato de futuras

compras ou falar sobre um possível problema no lote

E-mail VARCHAR (45)

Segunda forma de contato com o fornecedor por meio

do endereço de e-mail

Fonte: Autoria Própria.

45

Tabela 7 – Metadados da Tabela de Clientes

Atributos Tipo Descrição

# ID_Cliente INT É o identificador do Cliente (Chave Primaria)

Nome VARCHAR (15) Nome registrado do cliente

Sobrenome VARCHAR (15) Sobrenome registrado do cliente

Sexo BOOLEAN

Nessa coluna serão armazenados 1 para representa homem

e 0 para representa mulher

E-mail VARCHAR (30) Email para contato com o cliente

Telefone INT Telefone para contato com cliente

Fonte: Autoria Própria.

Tabela 8 – Metadados da Tabela de Avaliações

Atributos Tipo Descrição

# ID_Avaliacao INT É o identificador da Avaliação (Chave Primaria)

Nivel_Avaliacao VARCHAR (15) Registro do nível de avaliação que será em quatro níveis.

Descr_Avaliacao VARCHAR (50) registro de avaliação do cliente

ID_Cliente INT Identificador do cliente (Chave estrangeira)

ID_Funcionario INT Identificador do funcionário (Chave estrangeira)

Fonte: Autoria Própria.

Tabela 9 – Metadados da Tabela de Nivel de Acesso

Atributos Tipo Descrição

# Nivel_Acesso INT Nível de acesso ao SAD (Chave Primaria)

Tipo_Acesso VARCHAR (25)

Especificação do de dados que poderão ser

cessados

Fonte: Autoria Própria.

Tabela 10 – Metadados da Tabela de Categorias

Atributos Tipo Descrição

# ID_categoria INT Identificador da categoria (Chave Primária)

Categoria VARCHAR (30) Categoria que do produto

Fonte: Autoria Própria.

Tabela 11 – Metadados da Tabela de Promoções

Atributos Tipo Descrição

# ID_Promo INT Identificador promoções (Chave Primaria)

Valor_Promo DOUBLE

O valor indicado nesta coluna será a porcentagem de

desconto que será aplicado numa compra

Periodo_promo DATE Serão os períodos que as promoções valerão

Fonte: Autoria Própria.

13.3 Modelo Conceitual

Em modelagem de dados, o modelo conceitual é uma representação abstrata

dos dados e das suas relações, na qual é independente de qualquer tecnologia de

banco de dados específica. Ele é utilizado para descrever os requisitos e as regras de

negócios que devem ser atendidos pelo banco de dados (BDs).

O modelo conceitual é a primeira etapa na criação de um banco de dados,

46

sendo geralmente representado por meio de diagramas, um deles é o diagrama

entidade-relacionamento (ER). A partir do modelo conceitual, é possível criar o modelo

lógico, que é a implementação do banco de dados em um sistema de gerenciamento

de banco de dados (SGBDs). Em resumo, o modelo conceitual é uma representação

abstrata dos dados e suas relações, que são utilizadas para guiar a criação do BD.

Figura 13 – Modelo Conceitual

Fonte: Autoria Própria.

13.4 Modelo Lógico

Em modelagem de dados, o modelo lógico é um modelo que irá descrever as

relações entre elementos de dados de um sistema ou seus processos, ele é usado

para a compreensão visual das entidades de dados e seus atributos, sendo

independente de bancos de dados físicos. Às vezes referida como modelagem de

informações, a modelagem lógica de dados é a segunda etapa dentre os processos

de modelagem. Em resumo, um modelo lógico é uma representação abstrata de um

sistema ou processo que descreve as relações entre seus elementos de dados.

47

Figura 14 – Modelo Lógico

Fonte: Autoria Própria.

48

14 BACK-END E FRONT-END DO SISTEMA

14.1 Definição de Back-End

O Back-End é um termo muito conhecido e que se encontra na linguagem até

dos usuários não técnicos de computador, isso porque se trata da parte vital de

qualquer sistema, porém diferente do Front-End, essa parte nunca é vista, mas é

encarregada por toda e qualquer alteração que se manifesta aos nossos olhos perante

uma tela.

Uma aplicação é composta por diversas outras menores, como banco de dados

e até mesmo outras aplicações que não possuem GUI, cujo resultado é retornado para

então ser exposto de alguma forma ao usuário, assim como realizamos diversas

consultas ao banco de dados do Facebook por exemplo, quando estamos em busca

de um contato ou quando observamos os metadados de um perfil.

Por isso este componente invisível age como uma ponte para integrar todas as

partes do software, manipulando e transformando os tipos de dados para serem

expostos em seus fins no modo correto, agindo como um intérprete que leva as

informações ao usuário por diferentes canais de transmissão.

Os responsáveis por construir estes caminhos de acordo com as

especificações descritas são os desenvolvedores, estes possuem a habilidade

necessária para se comunicar com o hardware por meio de linguagens de

programação, que nada mais são que códigos reconhecidos somente por eles e pelo

computador, para garantir a ocorrência de eventos de maneira ordenada e correta,

proteger dados dos usuários que não devem acessa-los e até mesmo sugerir ações,

esses códigos costumam estar dispostos de uma forma que não poderia ser entendida

pelo usuário, demonstrando um dos motivos pelo qual permanecem em anonimato e

requerem uma GUI para o uso geral.

14.2 Definição de Front-End

O Front-End é a parte do sistema com a qual o usuário interage diretamente,

também conhecido como “lado do cliente” da aplicação. É responsável por receber as

informações inseridas pelos usuários, processá-las, repassá-las ao Back-End se

necessário e por fim, exibir os resultados de maneira organizada na interface.

49

Por exemplo, em um sistema de gerenciamento de estoque de produtos, a área

de Front-End pode apresentar uma interface gráfica onde o usuário pode preencher

um formulário com informações sobre um novo produto, como nome, preço e

quantidade em estoque etc. Quando o usuário for enviar o formulário, é esta área em

questão que será o responsável por enviar os dados para o banco de dados, que

armazenará as informações.

Os desenvolvedores que trabalham nesta parte do software têm uma estreita

colaboração com os designers para traduzir as ideias e conceitos visuais em código,

criando interfaces atraentes e intuitivas que os usuários podem interagir facilmente.

E agora referente ao projeto em geral, a escolha das tecnologias e ferramentas

,

de desenvolvimento, para o Front-End e de Back-End referente ao banco de dados e

interfaces depende das necessidades do projeto e das habilidades da equipe de

desenvolvimento, e pensando em isso nós da equipe Bacelar Technology LTDA,

optamos a princípio por desenvolver todo o SAD na linguagem Python.

Escolhemos Python como a linguagem de programação do nosso projeto pois

é uma linguagem de alto nível, versátil, que irá nos ajudar tanto em GUI (Graphical

User Interface ou Interface Gráfica de Usuário) quanto em Back-End e Front-End, e

por ser Open-sourse (gratuita para o uso e distribuição). Além de ser uma linguagem

com um grau de dificuldade baixo (porém super eficaz), e por ser a linguagem de

programação que a equipe tem mais afinidade, além de claro ser suficiente para

atender as regras de negócio.

Python foi criada por Guido van Rossum, e disponibilizada pela primeira vez

em 20 de fevereiro, 1991. O nome da linguagem de programação Python vem de um

antigo show de tv, uma comédia da BBC chamada Monty Python’s Flying Circus. Com

o incrível fato de ser criada por apenas uma pessoa (sendo ao longo do tempo

desenvolvida por diversas pessoas e comunidades).

50

15 PROJETO DO SISTEMA

Para o projeto do sistema, foi feito um framework (estrutura) do projeto, com

base no que será feito, interligando as etapas como visto na figura 15. Inicialmente

terá o banco de dados onde serão armazenadas as informações uteis do negócio,

após isso virá o Back-End visto anteriormente, e, por fim, o Front-End, na imagem há

os detalhamentos de cada etapa bem como suas interligações.

Figura 15 – Projeto do Sistema

Banco de Dados

MySQL

Avaliações

Clientes

Produtos

Estoque

Acessos dos

Usuários (DB)

Vendas

Fornecedores

New Indie stock system framework – Local Application

Back-End

Python

Análise

estatística

Criação de

relatórios

Criação de

informação

Controle de

Acesso

Automação

Alertas

Front-End

Python

Relatórios on-demand

& automatizados

Controle

de Estoque

Insights e

oportunidades

Controle de

acesso (Login)

Manipulação

de dados

Nível 01 – Banco de dados onde se

armazenará todas as tabelas para o

estabelecimento de relações.

Os atributos e as entidades serão

definidos pelas regras negócio e

construídos segundo o planejamento

exposto na seção de banco de dados.

Nível 03 – Front-End onde o usuário irá

interagir com as informações e dados

armazenados nas fases anteriores, de

maneira gráfica, possuindo controle de

acesso por meio do login para garantir a

segurança do sistema, além de possuir

telas acessíveis dependendo do nível de

acesso do usuário, com insights,

gráficos, linhas de tendência, visão total

do estoque e relatórios para análises não

automatizadas.

Gera relatórios pré-

definidos configurados

pelo usuário, assim

como gerência os

alertas e os acessos

por meio de

requisições ao banco

de dados.

analisa os dados no

banco, para gerar

oportunidades de

negócio de maneira

automatizada, criando

informação e valor para

o cliente

Nível 02 – Back-End

Fonte: Autoria própria.

51

16 CONCLUSÕES ATÉ O MOMENTO

Em vista de tudo que foi retratado acima, podemos perceber a importância dos

SADs nos dias de hoje em seus mais diversos componentes, além de expor com

clareza o conhecimento geral necessário para entender os processos que involucram

a construção de um software deste gênero.

No contexto atual do mundo tecnológico, cada vez mais e mais informação tem

sido transformada em dados com velocidade e em volumes inestimáveis, tais dados

isoladamente não podem representar informações do mundo real refletidas em um

banco de dados, porém são capazes de demonstrar seu potencial na presença de um

software de auxílio para a tomada de decisões.

Esses softwares não limitados pela capacidade humana, ajuntam e coordenam

os dados segundo modelos pré-estabelecidos para gerar possíveis informações a

serem interpretadas pelos seres humanos, tornando possível não somente a gestão

de assets através do mundo todo, mas a criação de oportunidades de negócio com

base em análise dados ao mais baixo nível, que levariam dias para serem analisados

por seres-humanos, tornando esses softwares ferramentas de auxilio e que

dependemos muito nos dias de hoje.

Com representatividade no pedido de nosso cliente fictício, foi possível

representar os processos no modelo cascata, desde o recebimento dos requisitos,

refinamento dos mesmos com base na viabilidade técnica e legal, planejamento de

desenvolvimento e estruturação dos pré-requisitos como a base de dados,

embasando assim, com sucesso, nosso planejamento para a construção do software

em questão.

52

REFERÊNCIAS

BRUSCHI, Adriano; BREVE, Fabricio; GIORDANO, Luís. Construindo Sistemas de

Apoio à Decisão. Trabalho acadêmico (Sistemas de Informação) - Universidade

Estadual Paulista, [S. l.]. Disponível em:

https://www.fabriciobreve.com/trabalhos/sad.php#.ZEbNid3MKaG. Acesso em: 16

mar. 2023.

MACHADO, Francis. Limitações e deficiências no uso da informação para tomada de

decisões. Caderno de pesquisas em administração, São Paulo, v. 9, n. 2, p. 59-

63, 2002. Disponível em:

http://tecspace.com.br/paginas/aula/faccamp/TI/Texto13.pdf. Acesso em: 17 de mar.

de 2023.

ARONSON, Jay ; LIANG, Ting-Peng; MACCARTHY, Richard. Decision support

systems and intelligent systems. Upper Saddle River, NJ, USA:: Pearson Prentice-

Hall, 2005. Disponível em: http://sutlib2.sut.ac.th/sut_contents/H86360.pdf. Acesso

em: 17 de mar. de 2023.

CLERICUZI, Adriana; JÚNIOR, Tarcísio. Discussão sobre modelos para

desenvolvimento de sistemas de apoio a decisão específico. Simpósio de

Excelência em Gestão e Tecnologia, p. 01-10, 2009. Disponível em:

https://www.aedb.br/seget/arquivos/artigos09/370_370_artigo.pdf. Acesso em: 17 de

mar. de 2023.

ENCONTRO NAC. DE ENG. DE PRODUÇÃO - ENEGEP, XXIII, 2003, Ouro Preto,

MG, Brasil. Desenvolvimento de um sistema de apoio à decisão (SAD) para

previsão de estoques com suporte estatístico [...]. 2003. p. 8. Disponível em:

https://abepro.org.br/biblioteca/enegep2003_tr0902_0830.pdf. Acesso em: 17 de

mar. de 2023.

VINICIUS, Douglas. Sistema de Apoio à Decisão (SAD). [S. l.], 2015. Disponível

em: addowirole.blogspot.com/p/sistema-de-apoio-decisao-sad.html. Acesso em: 17

mar. 2023.

NEW Chat. In: ChatGPT. Países Baixos, 1991. Disponível em:

https://chat.openai.com/chat. Acesso em 17 de mar. de 2023.

CLERICUZI, Adriana; JÚNIOR, Tarcísio. Discussão sobre modelos para

desenvolvimento de sistemas de apoio a decisão específico. Simpósio de

Excelência em Gestão e Tecnologia, p. 01-10, 2009. Disponível em:

https://www.aedb.br/seget/arquivos/artigos09/370_370_artigo.pdf. Acesso em: 17 de

mar. de 2023.

BARBOSA, Gilka Rocha; ALMEIDA, Adiel Teixeira de; COSTA, Ana Paula Cabral

Seixas. SAD: Análise da percepção de usuários e desenvolvedores através de

análise fatorial. Production, v. 16, p. 216-228, 2006. Disponível em:

https://www.prod.org.br/article/10.1590/S0103-

65132006000200004/pdf/1574685864-16-2-216.pdf. Acesso em: 18 de mar. de

53

2023.

MACEDO, Mateus Henrique Basso; SALGADO, Eduardo Gomes. Gerenciamento de

risco aplicado ao desenvolvimento de software. Sistemas & Gestão, v. 10, n. 1, p.

158-170, 2015. Disponível em:

https://www.revistasg.uff.br/sg/article/view/V10N1A13/SGV10N1A13. Acesso em: 20

de mar. de 2023.

LEOPOLDINO, Claúdio. Avaliação de Riscos em Desenvolvimento de Software.

Orientador: Denis Borenstein. 2004. 151 f. Dissertação de mestrado (Pós-graduação

em administração) - Escola de Administração, Universidade Federal do Rio Grande

do Sul, Porto Alegre, 2004. Disponível em:

https://www.lume.ufrgs.br/bitstream/handle/10183/4616/000413617.pdf?sequence=.

Acesso em: 20 de mar. de 2023.

ANTUNES, Daniel. 6 Riscos Gerenciais do Desenvolvimento de Software. [S. l.],

2019. Disponível em: https://www.gobacklog.com/blog/riscos-gerenciais-

,

desenvolvimento-software/. Acesso em: 21 mar. 2023.

AMARAL, Fernando. Introdução à ciência de dados: mineração de dados e big

data. Alta Books Editora, 2016. Disponível em:

https://books.google.com.br/books?id=hAlVDQAAQBAJ. Acesso em: 18 de mar. de

2023.

O QUE é um banco de dados?. Disponível em: https://aws.amazon.com/pt/what-

is/database/. Acesso em: 20 mar. 2023.

O QUE é um Banco de Dados?. Disponível em:

https://www.oracle.com/br/database/what-is-database/. Acesso em: 20 mar. 2023.

MELO, Daniel. O que é SQL? [Guia para iniciantes]. Disponível em:

https://tecnoblog.net/responde/o-que-e-sql/. Acesso em: 21 mar. 2023.

SQL – o que é e como funciona na prática?. 10 ago. 2020. Disponível em:

https://www.pravaler.com.br/sql-o-que-e-e-como-funciona-na-pratica/. Acesso em: 22

mar. 2023.

SQL: Aprenda a utilizar a chave primária e a chave estrangeira. [S. l.], 2020.

Disponível em: https://www.devmedia.com.br/sql-aprenda-a-utilizar-a-chave-primaria-

e-a-chave-estrangeira/37636. Acesso em: 23 mar. 2023.

PISA, Pedro. O que é e como usar o MySQL?. TechTudo, [S. l.], 17 abr. 2012.

Disponível em: https://www.techtudo.com.br/noticias/2012/04/o-que-e-e-como-usar-

o-mysql.ghtml. Acesso em: 25 mar. 2023.

Disponível em: https://www.devmedia.com.br/introducao-ao-mysql/27799. Acesso

em: 25 de mar. de 2025.

MILANI, André. MySQL - guia do programador. Novatec Editora, 2007. Disponível

54

em: https://books.google.com.br/books?hl=pt-BR&lr=&id=81EwMDA-

pC0C&oi=fnd&pg=PA19&dq=Mysql&ots=xPDt76qU_E&sig=jlx27Fax5TYXXiTgSE7S

Ed9H-3Y#v=onepage&q=Mysql&f=false. Acesso em: 20 de mar. de 2023.

SILVA, Gabriel. Memórias: Circuitos Lógicos. UFRJ. Disponível em:

https://dcc.ufrj.br/~gabriel/circlog/Memoria.pdf. Acesso em: 23 de mar. de 2023.

BOGHI, Cláudio. Ranking de Sistemas de Bancos de Dados mais usados em

2021/2022. RedeTV, [S. l.], 6 abr. 2022. Disponível em:

https://www.redetv.uol.com.br/colunistas/desvendando-a-tecnologia/ranking-de-

sistemas-de-bancos-de-dados-mais-usados-em-2021-2022. Acesso em: 23 mar.

2023.

CLOUD, Google. O que é um banco de dados relacional?. [S. l.], 20--. Disponível

em: https://cloud.google.com/learn/what-is-a-relational-database?hl=pt-br. Acesso

em: 23 mar. 2023.

OLIBONI, Daniel. O que é um SGBD?. [S. l.], 8 jun. 2016. Disponível em:

https://www.oficinadanet.com.br/post/16631-o-que-e-um-sgbd. Acesso em: 23 mar.

2023.

SGBD: o que é, como funciona e principais vantagens. [S. l.], 22 jan. 2021.

Disponível em: https://www.fiveacts.com.br/sgbd/. Acesso em: 23 mar. 2023.

DIAMOND, Paul. Armazenamento em nuvem vs. servidores locais: nove

considerações importantes. [S. l.], 25 set. 2020. Disponível em:

https://www.microsoft.com/pt-br/microsoft-365/business-insights-

ideas/resources/cloud-storage-vs-on-premises-servers. Acesso em: 23 mar. 2023.

TORANZO, Bruno. DATA WAREHOUSE: O QUE É, PARA QUE SERVE E COMO

FUNCIONA. Insper, São Paulo, 1 nov. 2022. Disponível em:

https://www.insper.edu.br/noticias/data-warehouse-o-que-e-para-que-serve-e-como-

funciona/?gclid=CjwKCAjw5dqgBhBNEiwA7PryaIwEOpc_wHf88x8rDwsyT2ebtRf6qT

bwwPdvoeCzH58JDrbXJ1tJ-RoC62QQAvD_BwE. Acesso em: 23 mar. 2023.

PIMENTEL, Renato. Modelo entidade-relacionamento (MER). FACOM, 2022.

Disponível em: https://www.facom.ufu.br/~rpimentel/files/ges013-2022-

1/ges013.er.pdf. Acesso em: 16 de mar. de 2023.

PIMENTEL, Renato. Mapeamento do MER para relacional. FACOM, 2022.

Disponível em: https://www.facom.ufu.br/~rpimentel/files/ges013-2022-

1/ges013.map.pdf. Acesso em: 17 de mar. de 2023.

SANTOS, Hudyson. E-commerce de bebidas. Orientador: Prof. Ma. Diomara

Martins Reigato Barros. 2022. 34 p. Trabalho de Conclusão de Curso (Graduação)

(Curso de Análise e Desenvolvimento de Sistemas) - Fundação Educacional do

Município de Assis, Assis/SP, 2022. Disponível em:

https://cepein.femanet.com.br/BDigital/arqTccs/2011550343.pdf. Acesso em: 17 mar.

2023.

55

DIAGRAMAS UML no Visio. [S. l.], 20--. Disponível em:

https://support.microsoft.com/pt-br/office/diagramas-uml-no-visio-ca4e3ae9-d413-

4c94-8a7a-38dac30cbed6#OfficeVersion=Web. Acesso em: 17 mar. 2023.

BACURAU, Rodrigo M.; LEAL, Brauliro G.; RAMOS, Ricardo A. Uma Abordagem

para a Construção de Diagramas da UML Concomitante à Prototipação de Interface.

2022. Disponível em: http://www.univasf.edu.br/~brauliro.leal/pesquisa/Bacurau-

5.pdf. Acesso em: 20 de mar. de 2023.

MANIERO, Antonio. Qual a diferença entre MER (Modelo de Entidade

Relacionamento) e DER (Diagrama de Entidade Relacionamento)?. Rio Claro,

2018. Disponível em: https://pt.stackoverflow.com/questions/328342/qual-a-

diferen%C3%A7a-entre-mer-modelo-de-entidade-relacionamento-e-der-diagrama-d.

Acesso em: 20 mar. 2023.

MICROSOFT. O que é modelagem de dados?. [S. l.], 20--. Disponível em:

https://powerbi.microsoft.com/pt-br/what-is-data-modeling/. Acesso em: 23 de mar.

de 2023.

DATE, C.J. Introdução a Sistemas de Bancos de Dados. São Paulo: Grupo GEN,

2004. E-book. ISBN 9788595154322. Disponível em:

https://integrada.minhabiblioteca.com.br/#/books/9788595154322/. Acesso em: 24

mar. 2023.

NETO, Joel. MER e DER: Modelagem de Bancos de Dados. Rio de Janeiro, 2014.

Disponível em: https://www.devmedia.com.br/mer-e-der-modelagem-de-bancos-de-

dados/14332. Acesso em: 24 mar. 2023.

ESPINHA, Roberto. Processo de desenvolvimento de software: entenda como

funciona na prática. Artia. Disponível em: https://artia.com/blog/processo-de-

desenvolvimento-de-software. Acesso em: 17 de mar. de 2023.

Disponível em:

https://edisciplinas.usp.br/pluginfile.php/2939594/mod_resource/content/1/Aula02_M

odelosProcessos.pdf. Acesso em: 22 de mar. de 2023.

MYERS, Brad A. User interface software technology. ACM Computing Surveys

(CSUR), v. 28, n. 1, p. 189-191, 1996. Disponível em:

https://dl.acm.org/doi/pdf/10.1145/234313.234394. Acesso em: 21 de mar. de 2023.

PONTES, Adéle Malta; ORTH, Afonso Inácio. Uma proposta de interface de software

orientada à linguagem de sinais. In: Anais. II Workshop sobre Fatores Humanos

em Sistemas Computacionais. Campinas: Unicamp. 1999. p. 1-6. Disponível em:

https://www.unicamp.br/~ihc99/Ihc99/AtasIHC99/art31.pdf. Acesso em: 21 de mar. de

2023.

O QUE é uma Interface (sistema ou software). Disponível em:

https://www.significados.com.br/interface/. Acesso em: 21 de mar. de 2023.

56

INTERFACE. In: DICIO. [S. l.: s. n.], 2009. Disponível em:

https://www.dicio.com.br/interface/. Acesso em: 21 mar. 2023.

COMO O design para sistemas pode ajudar a sua empresa. In: HOMEM

MÁQUINA. Homem Máquina. [S. l.], 22 jul. 2021. Disponível em:

https://www.homemmaquina.com.br/design-para-sistemas-importancia/. Acesso em:

22 mar. 2023.

SOUZA, Nathan. Design Systems: exemplos práticos. Alura, [s. l.], 16 set. 2022.

Disponível em: https://www.alura.com.br/artigos/design-systems-exemplos-praticos.

Acesso em: 22 mar. 2023.

ELMASRI, Ramez. Sistemas de Banco de Dados. 7. ed. [S. l.]: Pearson, 2019.

1152 p. ISBN 8543025001. Disponível em:

https://plataforma.bvirtual.com.br/Leitor/Publicacao/168492/pdf/98. Acesso em: 21

de abr. de 2023.

BR Modelo Web. In: BrModelo. Santa Catarina, 2005. Disponível em:

https://www.brmodeloweb.com. Acesso em: 21 de abr. de 2023.

FRANCK, Kewry Mariobo; PEREIRA, Robson Fernandes; DANTAS FILHO, Jerônimo

Vieira. Diagrama Entidade-Relacionamento: uma ferramenta para modelagem de

dados conceituais em Engenharia de Software. Research, Society and

Development, v. 10, n. 8, p. e49510817776-e49510817776, 2021. Disponível em:

https://rsdjournal.org/index.php/rsd/article/view/17776/15626. Acesso em: 21 de abr.

de 2023.

TIBCO. What is a Logical Data Model?. TIBCO, [s. l.], 2023. Disponível em:

https://www.tibco.com/reference-center/what-is-a-logical-data-model. Acesso em: 20

abr. 2023.

MODELAGEM lógica de dados. Erwin by Quest, [s. l.]. Disponível em:

https://www.erwin.com/br-pt/solutions/data-modeling/logical.aspx. Acesso em: 20 abr.

2023.

SOUTO, Mario. Front-end,

,

Back-end e Full Stack. Alura, [S. l.], 17 jan. 2023.

Disponível em: https://www.alura.com.br/artigos/o-que-e-front-end-e-back-end.

Acesso em: 22 abr. 2023.

SANTOS, Diego. Plataforma Online para Criação de Jogos Personalizados com

Labirintos para Introdução à Lógica de Programação. Orientador: Profa. Andrea

Schwertner Charão. 2022. 32 p. Trabalho Final de Graduação (Curso de

Bacharelado em Sistemas de Informação) - Universidade Federal de Santa Maria,

Santa Maria, RS, 2022. Disponível em:

https://repositorio.ufsm.br/bitstream/handle/1/26174/TG_Diego%20Viana%20dos%2

0Santos.pdf?sequence=1&isAllowed=y. Acesso em: 22 abr. 2023.

ABOUT Python. In: Python. Países Baixos, 1991. Disponível em:

https://www.python.org/about/. Acesso em: 23 abr. 2023.

57

SOMMERVILLE, Ian. Engenharia de Software. 9. ed. São Paulo: Pearson

Education, 2011. 532 p. Disponível em:

https://plataforma.bvirtual.com.br/Leitor/Publicacao/2613/pdf/48. Acesso em: 22 mar.

2023.

,

14

4.2.1 Dados não estruturados ........................................................................ 14

4.2.2 Dados Estruturados ............................................................................... 14

4.2.3 Dados Internos ...................................................................................... 14

4.2.4 Dados Externos ..................................................................................... 14

4.2.5 Dados de Simulação .............................................................................. 15

4.3 Riscos Gerados em seu Desenvolvimento e Atualização ............................ 15

4.4 Fases do Processo Decisórios do Sistema .................................................. 16

4.5 Limitações e Deficiências no Uso da Informação para Tomada de Decisões

16

5 BANCO DE DADOS ........................................................................................... 18

5.1 Linguagem SQL ........................................................................................... 18

5.2 Sobre o MySQL ............................................................................................ 20

6 METODOS DE ARMAZENAMENTO ................................................................. 21

7 SISTEMA GERENCIAMENTO DE BANDO DE DADOS (SGBD) ...................... 23

7.1 Relacional (SQL) .......................................................................................... 24

7.2 Não Relacional (NoSQL) .............................................................................. 24

7.3 Hierárquico ................................................................................................... 24

7.4 Orientado a Objeto (SGBDOO) .................................................................... 24

8 MODELOS DE DADOS...................................................................................... 27

8.1 Tipos de Modelos ......................................................................................... 27

8.1.1 Modelo Entidade-Relacionamento (MER) ............................................. 27

8.1.2 Diagrama Entidade-Relacionamento (DER) .......................................... 28

9 MODELOS DE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE ........ 30

9.1 Fluxo de Processos ...................................................................................... 30

9.1.1 Requisitos do cliente .............................................................................. 30

9.1.2 Especificações técnicas ......................................................................... 30

9.1.3 Desenvolvimento e Reuso ..................................................................... 31

9.1.4 Validação ............................................................................................... 31

9.1.5 Teste ...................................................................................................... 31

9.1.6 Implementação ...................................................................................... 32

9.2 Cascata ........................................................................................................ 33

10 FUNCIONAMENTO DE UMA INTERFACE ....................................................... 35

10.1 Definição de Interface ............................................................................... 35

10.2 Interface de um Software .......................................................................... 35

11 DESIGN DE SISTEMA ....................................................................................... 37

12 CARACTERÍSTICAS DE RELACIONAMENTO EMPRESARIAL ....................... 39

12.1 Empresa Desenvolvedora do Software ..................................................... 39

12.2 Empresa Fictícia: New Indie ..................................................................... 39

12.3 Regras de Negócio – Requisitos do Cliente .............................................. 40

13 PROCESSO DE MAPEAMENTO DO BANCO DE DADOS ............................... 42

13.1 Ferramenta CASE brModelo (Will) ............................................................ 43

13.2 Metadados do BD ..................................................................................... 43

13.3 Modelo Conceitual .................................................................................... 45

13.4 Modelo Lógico ........................................................................................... 46

14 BACK-END E FRONT-END DO SISTEMA ........................................................ 48

14.1 Definição de Back-End.............................................................................. 48

14.2 Definição de Front-End ............................................................................. 48

15 PROJETO DO SISTEMA ................................................................................... 50

16 CONCLUSÕES ATÉ O MOMENTO ................................................................... 51

REFERÊNCIAS ......................................................................................................... 52

6

1 INTRODUÇÃO

Aplicações digitais têm sido criadas em massa ao longo dos últimos anos para

as mais diversas finalidades, desde a ida a farmácia, aquisição de um bem de

consumo em um mercado e até a compra de um veículo, todas as áreas de nossa

vida têm sido marcadas pela presença de ferramentas construídas para convergir o

real com o digital, transformando tudo que fazemos em dados, depois os ordenando

e refinando até que atinjam o nível de informação e representem valor de uso.

Figura 1 – A Convergência Do Mundo Digital Com O Real

Fonte: MIT Sloan Review Brasil (https://mitsloanreview.com.br/post/por-que-toda-empresa-esta-

virando-uma-empresa-de-midia).

A densa quantidade dessas aplicações em múltiplas instâncias do nosso

cotidiano nos leva a normalização frente a este cenário, muitas vezes fazendo com

que não reflitamos sobre a origem, o objetivo delas e todo o processo por trás que faz

com que empresas e negócios de todo porte invistam cada dia mais em soluções

digitais.

Em frente aos diferentes fronts de interação com o público, tem se feito

necessário a criação de Sistemas de Auxílio à Decisão (SAD), isso porque mesmo

alguém dotado de experiência necessitaria muito tempo para recolher, analisar e

retirar conhecimento das informações providenciadas internamente e externamente

pelos dados. Assim o SAD tem desempenhado papel crucial em diversas escalas de

negócio, tendo seu renome marcado em empresas de grande escala onde se coletam

dados ao redor de todo o mundo ao mesmo tempo e que seriam impossíveis de serem

7

processados somente por mentes humanas, facilitando atividades do dia a dia,

acelerando e trazendo cada vez mais segurança aos planejamentos orientados ao

negócio por conta da predição dos acontecimentos futuros e facilitação nas ações do

presente embasados em dados, fazendo com que em muitos casos já sejam um motor

que dita os caminhos, possibilidades e dificuldades para que atinjam seus objetivos.

Com base nessas informações, exploraremos o caminho desde o pedido de um

software SAD até a integração em um cliente, debruçando sobre as aplicações

técnicas gerais e em seguida específicas para o desenvolvimento da aplicação

prevista neste projeto, também trazendo noções de esforço de desenvolvimento,

gerenciamento de projetos e metodologias que servirão de auxílio para a entrega

efetiva de um software de pequeno porte, avaliando valores gerados e muitos outros

fatores de preocupação para a engenharia de software, simulando assim o cenário

próximo ao que nos cerca.

8

2 APRESENTAÇÃO DO TRABALHO

Já é conhecido que nos dias de hoje os SADs estão presentes em diversos

contextos, que influenciam fortemente na decisão das companhias, em como elas,

enquanto entidades não corpóreas compostas por conjuntos

,

de pessoas, interagem

com cada um de seus até milhares de clientes, provedores, distribuidores e qualquer

outro tipo de entidade que possua relacionamento direto ou indireto com aquela

companhia, para muitas dessas interações temos os intermediadores SADs,

convergindo toneladas de informações em um compilado de fácil analise e resposta

efetiva e ágil.

Tendo em vista a importância dos SADs no mercado e no cotidiano das

pessoas, por meio de análises que levam a diversas tomadas de decisões, focamos

em distribuir este trabalho de modo a explorar os processos envolvidos na criação de

um software SAD, com base em requisitos de autoria própria, que guiarão todo o

caminho para uma entrega de caso específico.

Iniciando pelo estudo dos fundamentos e definições que cercam um SAD (a

partir do ponto de vista da engenharia de software), visando a total compreensão do

que criaremos a priori dos passos de como faremos. Seguido pelas noções básicas

de banco de dados (BD com enfoque ao relacional) e os sistemas que os gerenciam

(SGDB), uma vez que são uma base sólida e necessária para a construção da maioria

dos SADs, construindo sobre esta base sólida conhecimentos das metodologias de

armazenamento e representação dos objetos do mundo real portados ao digital,

abordando casos padrões em contraste aos que utilizaremos de fato neste projeto.

Considerando que um software é composto do produto final somado a

documentação associada, exporemos informações sobre metodologias de projeto e

documentação de banco de dados como: MER (Modelo Entidade Relacionamento) e

DER (Diagrama Entidade Relacionamento), adjunto das informações documentadas

de análise de risco, qualidade e seus derivados para todas as fases no

desenvolvimento da aplicação, fases tais que estarão sujeitas ao modelo de processo

de desenvolvimento de software Cascata ou Waterfall, além de abordar as definições

por trás deste modelo e sua contribuição quanto aos resultados finais.

Concluindo o projeto do SAD, debruçaremos sobre o desenvolvimento de uma

9

interface para conectar o usuário ao que foi construído até então, juntamente da

esquematização para o design do sistema, caminhando para o estudo e criação do

modelo analítico, assim formando o framework que utilizaremos para dar origem ao

software que atenderá a necessidade descrita nos requisitos inicialmente

fundamentados.

10

3 OBJETIVO

3.1 Objetivo Geral

Neste trabalho acadêmico, temos como objetivo específico fundamentar a

teoria básica dos processos que involucram o desenvolvimento de um SAD, bem

como prover noções matemáticas mínimas, metodologias, ferramentas e termos

necessários para a compreensão correta da proposta de implementação apresentada

no decorrer do trabalho.

Uma vez estruturado os fundamentos necessários, buscamos aprofundar cada

tópico desde metodologias de desenvolvimento de software (Frameworks de

Engenharia de Software), até a criação de interfaces com usuários e modelos

analíticos, tendo como alvo o que será utilizado para a criação do software, que será

proposta com base nos requisitos do cliente que serão especificados durante as fases

de desenvolvimento prevista no Framework escolhido.

Além disso, traremos sempre uma visão difundida entre o trabalho realizado a

mais baixo nível em termos de organização e estrutura de dados, assim como as

maneiras e metodologias que envolvem modelagem e criação de banco de dados,

visando obter e prover conhecimentos no tocante às possibilidades de

armazenamento de dados, dando enfoque na que será aplicada para o caso

específico.

Abordaremos também a visão geral da arquitetura do sistema SAD proposto

neste trabalho, bem como, apresentaremos informações recolhidas em cada fase

prevista no framework selecionado, permitindo assim acompanhar a criação do

software em uma visão ponta a ponta, levando ao entendimento de como é realizado

o desenvolvimento de um software e toda sua documentação associada, para assim

seguir de fato para a implementação prevista.

Por fim, objetivamos ao término possuir os conhecimentos necessários para

gerar um diagrama completo do software em questão, incluindo requisitos, banco de

dados, metodologias de teste, especificações de interface, objetos, framework e front-

end, representados em um modelo analítico que proverá informações do desempenho

e funcionamento do futuro software que será desenvolvido.

11

3.2 Objetivo Específico

Em específico com este trabalho acadêmico, temos como objetivo introduzir

conceitos teóricos que serão abordados para o nosso projeto final que será da Sistema

de Auxílio de Decisão, tendo início nas nossas regras de negócios (Requisitos dos

Cliente) que são a base para construção de qualquer tipo de software, levando em

consideração os atributos básicos e essenciais sendo eles Funcionalidade,

Desempenho, Confiabilidade, Usabilidade e Facilidade de Manutenção/Atualização, e

logo em seguida definimos as tecnologias que serão usadas como o SGBD mySQL e

também será elaborado ainda neste trabalho uma previa do sistema que será usado,

além de abordar conceitos gerais sobre o Banco de dados, SAD em geral, SGBD,

meios de armazenamento e interface seus tipos e suas funcionalidades, realizando

pesquisas de modo a expor o funcionamento destes componentes e como utilizá-los

em prol da realização do projeto final.

12

4 Sistema de Apoio à Decisão (SAD)

O Sistema SAD (Sistema de Apoio à Decisão) é uma ferramenta utilizada por

empresas para auxiliar em processos decisórios. Trata-se de um Conjunto de

tecnologias e processos que ajudam gestores e funcionários a analisar dados e

informações relevantes para tomadas de decisões estratégicas.

Neste tipo de software existem diferentes categorias, como o SAD baseado em

modelo, que utiliza modelos matemáticos para prever possíveis resultados, e o SAD

baseado em dados, que aplica informações armazenadas para gerar insights e

visualizações.

O uso de um sistema SAD pode trazer diversos benefícios para uma empresa,

como a redução de custos, aumento da eficiência operacional, melhora na qualidade

da tomada de decisão e aumento da competitividade no mercado e diversos outros

benefícios.

Porém, por outro lado, não utilizar um sistema SAD pode gerar problemas como

tomada de decisões com base em dados imprecisos, perda de oportunidades e

dificuldades em manter-se atualizado em relação aos concorrentes.

Existem também suas desvantagens, como a necessidade de alto investimento

em tecnologia e treinamento de pessoal especializado, a complexidade na integração

com sistemas existentes e a dependência do sistema para a tomada de decisão.

4.1 Processo de Construção de Software

O processo de construção de um software SAD envolve etapas como análise

de requisitos, modelagem de dados, desenvolvimento do sistema, testes e

implementação. É importante considerar estatísticas e tecnologias como algoritmos

de inteligência artificial, aprendizado de máquina e data mining para gerar insights

mais precisos.

As etapas que incluem no desenvolvimento do software SAD são:

4.1.1 Planejamento

São identificados e definidos os requisitos além de um plano geral para o

software. É importante também que os objetivos do software SAD estejam alinhados

13

com as necessidades da organização e que sejam claramente definidos;

4.1.2 Análise

É coletado e analisado dados relevantes para implementação do software SAD.

Os dados podem vir de fontes internas ou externas da organização e é imprescindível

que a qualidade dos dados seja verificada para não constituir erros;

4.1.3 Design

É feito a projeção da arquitetura do software, incluindo a estrutura dos dados,

as interfaces com o usuário e as funcionalidades. É importante que o design seja

flexível, organizado e intuitivo, além de ser adaptável para necessidades futuras;

4.1.4 Implementação

O software

,

informações relevantes e

atualizadas para a tomada de decisão.

Por último, os softwares SAD também podem ser afetados por problemas

técnicos, como falhas de software e hardware, falta de segurança e privacidade, e

problemas de integração com outros sistemas e processos de negócios.

18

5 BANCO DE DADOS

Banco de dados (BD) são estruturas onde estão armazenados diversos dados

ou informações, esses dados são armazenados e gerenciados nos softwares de

computadores. Através desses softwares, os dados podem ser manipulados de

maneira fácil, e para isso acontecer, os dados serão guardados em modelos com

linhas e colunas como nas planilhas.

Muitos perguntam qual a diferença entre banco de dados e planilhas, ambos

têm pequenas semelhanças, as planilhas são geralmente para manipulação de dados

com pequenos grupos de usuários que possam utilizar para entrega de relatórios e

controle de suas atividades. Já o banco de dados é utilizado para armazenamento de

grandes bases de dados, onde são armazenadas diversas informações, permitindo

que usuários possam navegar e encontrar dados rapidamente com segurança

utilizando as linguagens de programação complexas.

A maior parte dos bancos de dados utilizam uma linguagem de programação

chamada SQL, essa linguagem foi desenvolvida pela IBM juntamente com a Oracle

como sua principal contribuinte.

Existem diversos tipos de bancos de dados, cada um tem uma função diferente

de outro, alguns dos mais famosos são: Banco de dados orientados a objetos, banco

de dados relacionais, data Warehouse, banco de dados distribuídos, banco de dados

em nuvem, entre outros que existem.

Os softwares de banco de dados são conhecidos como “Sistema de

Gerenciamento de Banco de Dados” (DBMS ou SGBD). Esses softwares processam,

armazenam dados, realizam backup e relatórios de controle. Eles são utilizados para

editar, criar e guardar arquivos.

A utilização do banco de dados é importante, pois podemos ter uma grande

escalabilidade com eficiência para armazenamento de bilhões de dados. Dentro das

estruturas dos bancos temos a integridade dele, pois existem regras e condições

internas que são criadas pelo usuário para manter os dados de maneiras consistentes.

5.1 Linguagem SQL

A sigla SQL significa Structured Query Language que seria Linguagem de

19

Consulta Estruturada, esta linguagem foi padronizada pelo órgão internacional, para

realizar gerenciamento das informações em bancos de dados relacionais, com essa

linguagem é possível realizar consultas utilizando diversos parâmetros de pesquisas,

facilitando a inserção e a recuperação das informações no banco.

Os comandos mais utilizados dessa linguagem são: SELECT, INSERT,

UPDATE e DELETE, mas além desses existem diversos outros comandos para

utilização e manuseio dos dados. Ele também pode utilizar operadores de condições

lógicas como: AND, OR e NOT.

Além desses comandos eles são divididos em subgrupos que seriam:

• DML – Linguagem de Manipulação de Dados ou Data Manipulation

Language (por exemplo: SELECT, DELETE e INSERT);

• DDL – Linguagem de Definição de Dados ou Data Definition Language (por

exemplo: DROP);

• DCL – Linguagem de Controle de Dados ou Data Control Language

(exemplo: GRANT), e DTL – Data Transaction Language (por exemplo:

COMMIT).

Existem duas chaves no SQL, a chave primária e a chave estrangeira. A chave

primária é utilizada como identificador único da tabela e não recebe o mesmo valor.

Tem algumas características que podem levar em consideração, como: a chave não

pode ser nula, essas chaves são incrementadas automaticamente na tabela sem

precisar inseri-las, e cada um dos registrados da tabela podem possuir apenas uma

chave primária.

Figura 2 – Exemplo De Metadados

Fonte: Fernando Amaral, 2016.

20

5.2 Sobre o MySQL

O MySQL é um dos sistemas mais utilizado para gerenciamento do banco de

dados, o mesmo por ser categorizado como gerenciador de banco de dados relacional

utilizando a linguagem SQL para manipulação de dados. Ele é um dos bancos mais

utilizados no mundo inteiro consequentemente sendo usado por diversas empresas

de grande e pequeno porte.

Muitas delas o utilizam, pois, é de fácil manuseio já que sua interface é simples,

tendo ótima compatibilidade com a maioria dos sistemas operacionais como Windows,

Linux, Unix, FreeBSD e Mac OS X Server, pelo fato dele ser desenvolvido em C e

C++, e será por esses diversos benefícios que usaremos este SBGD para o

desenvolvimento do projeto SAD.

Para seu uso é necessário fazer uma instalação do servidor e através dele é

realizado o armazenamento dos dados. Podem os manuseá-los via console direto do

servidor ou usar ferramentas com interface gráfica, uma das mais utilizadas é o

MySQL Workbeach da empresa Oracle, nele é possível administrar os sistemas e

modelá-los.

Figura 3 – MySQL

Fonte: TechTudo (https://www.techtudo.com.br/noticias/2012/04/o-que-e-e-como-usar-o-mysql.ghtml)

21

6 METODOS DE ARMAZENAMENTO

Na era da informação é de suma importância ter o máximo de recursos ao seu

alcance para armazenar a maior quantidade possível de conhecimento, elementos,

ou como também podem ser chamados, os dados. Mas o que são esses dados e por

que eles devem ser armazenados de forma correta?

O dado em si pode ser denominado como qualquer tipo de acontecimento ou

fato que está registrado e com seu acesso não comprometido, como por exemplo uma

tabela com as informações do ano letivo de um colégio contendo fotos, notas de

avaliações, carga horária de uma disciplina, entre outros. Essas informações podem

consideradas dados. Na figura 4 há um exemplo de Banco de Dados com dados

meramente ilustrativos.

Figura 4 – Exemplo de Banco De Dados

Fonte: Imagens de autoria própria.

Todo o conteúdo produzido com o tempo tem a necessidade de ser guardado,

já que o armazenamento desses dados assegura muitos benefícios, como por

exemplo futuras consultas para próximas tomadas de decisões, elaboração das

informações de forma mais detalhada para análises, entre outros.

Como podemos armazenar esses dados? Primeiramente são necessários

alguns requisitos que devem ser seguidos antes de juntá-los, segundo Amaral

Fernando (2016) são “segurança da informação, integridade, minimização de

redundância, concorrência, otimização de espaço, entre outros”. Os dados podem ser

armazenados tanto no estado físico como a RAM e o CD, que são voláteis (funcionam

com base de energia elétrica), quanto no estado digital como a ROM e o Disco Rígido

que não são voláteis.

Existem muitos outros sistemas de gerenciamento de banco de dados (SGDB),

cada um com o seu uso para a situação desejada. Na figura 5, são listados os 10

SGDBs mais usados no período entre abril de 2021 até abril de 2022.

22

Figura 5 – Ranking dos 10 SGBDs Mais Usados

Fonte: DB-Engines (http://db-engines.com/en/).

Para armazenar os dados temos muitas escolhas para banco de dados, como

o Hierárquico, o Orientado a Objeto, NoSQL (Not Only SQL), mas usaremos o banco

de dados do tipo relacional, desenvolvido por volta dos anos 70 que tem como objetivo

guardar os dados por meio de atributos (Colunas da tabela) e tuplas (Linhas da tabela)

relacionando tabelas entre si. A coluna é a classificação desse dado e a linha é onde

o dado estará localizado, o SGBD escolhido foi o MySQL.

23

7 SISTEMA GERENCIAMENTO DE BANDO DE DADOS (SGBD)

Você já ouviu falar em SGBD? Esse acrônimo está intimamente relacionado à

coleta e uso de informações que ajudam as empresas, aplicações e usuários a tomar

decisões para criar soluções.

No atual mundo empresarial orientado para a tecnologia, o Sistema de

Gerenciamento de Banco de Dados (SGBD) é uma ferramenta crucial que ajuda a

gerenciar os dados com eficiência. Podendo ser usado para criar, gerenciar, consultar,

alterar, excluir, relacionar, importar e exportar

,

dados das tabelas do BD.

Figura 6 – Exemplificação do Fluxo de Dados

FONTE: ResearchGate (https://www.researchgate.net/figure/Figura-2-Interacao-entre-usuarios-

SGBD-e-banco-de-dados-Fonte-Adaptado-de-Date-1998_fig2_237739960). Acesso em: 20 de março

de 2023.

Ao implementar um sistema baseado neste tipo de software, a empresa estará

equipada para executar diversas tarefas e atividades com base em seus dados. E ter

esse suporte para o gerenciamento de dados, é fundamental na atualidade pois está

se tornando cada vez mais crucial para empresas de todos os portes e setores aderir

a estas novas tecnologias.

E obviamente que dependendo dos objetivos e das metas da empresa o nosso

modelo de sistema que será aplicado também irá mudar, pois os dados a serem

trabalhados também irão ser distintos, de forma que o sistema aplicado irá se adequar

para melhor desempenho e performance, tendo exemplos como: Relacional, Não

Relacional, Hierárquico e Orientado a Objetos, que serão explicados posteriormente.

24

7.1 Relacional (SQL)

De forma direta e um sistema com finalidade de conectar dados de origens

diferentes, sendo também o tipo mais comum de SGBD, este sistema expressa em

tabelas e relacionamentos através de chaves e utiliza a linguagem de busca SQL

(Structured Query Language) para relacionar os dados de tabelas, colunas linhas e

esquemas, além de ser o modelo escolhido para este trabalho.

Maiormente aplicados em: Oracle SQL, Microsoft SQL Server, PostgreeSQL,

MySQL, MariaDB.

7.2 Não Relacional (NoSQL)

Em comparação ao sistema Relacional, neste modelo não necessariamente

precisamos predefinir a estrutura de dados, tendo dados mais flexíveis não se

limitando a tabelas, linhas, colunas ou esquemas, e logo também geralmente não se

utiliza a linguagem SQL neste tipo.

Maiormente aplicados em: Cassandra, Redis, MongoDB, CouchDB, Apache

Hbase, Riak.

7.3 Hierárquico

Como o nome sugere é um modelo que toma a forma de hierarquia parecido

com uma árvore em sua maioria, onde dados “filhos” são ligados a dados “pais”, onde

os vínculos não estabelecidos entre tabelas como no modelo relacional.

7.4 Orientado a Objeto (SGBDOO)

Formato complexo com tipos de dados mistos e de implementação cara devido

a ser o modelo mais avançado no mercado, seu desenvolvimento de origem na base

da combinação de ideias de modelos de dados tradicionais e na linguagem de

programação orientada a objeto, sendo o modelo que junta a programação com a

engenharia de software.

Bom agora que já temos a noção de alguns modelos que existem e de como

funcionam, hora de falarmos sobre as vantagens operacionais e estratégicas que usar

um SGBD oferece:

Podemos começar falando pela diminuição do esforço humano durante todo o

25

processo, sendo o objetivo principal de um sistema de controle de dados a

automatização de tarefas trabalhosas que consomem muito tempo para serem

executadas manualmente, assim um SGBD pode localizar e manipular dados

rapidamente, substituindo a busca manual por um algoritmo automatizado que pode

realizar a tarefa em milissegundos, poupando o recurso humano para os negócios.

Outro ponto que podemos levar como vantagem de SGBD é sua customização

que se adapta a diferentes necessidades devido a ser um software de código fonte

aberto.

O armazenamento de dados idênticos ou semelhantes é um problema comum

ao lidar com dados. Um SGBD pode identificar e eliminar a redundância, resultando

em dados mais limpos e precisos, para melhores insights.

E por fim e não menos importante temos que levar em conta uma das principais

vantagens que grandes empresas tem ao usar o sistema de gerenciamento de BD

que é a questão de compartilhamento, onde um SGBD garante que todos, não importa

quantos usuários, tenham acesso aos arquivos, permitindo que compartilhem dados

de acordo com suas respectivas credenciais.

Quando se fala de compartilhamento, também e necessário falar um pouco

sobre o armazenamento que é um detalhe deveras importante, podemos dizer

facilmente que os três principais métodos de armazenamento são o Armazenamento

Local, onde o servidor de uma empresa é hospedado na sua própria infraestrutura, e

é mantido e administrado por uma equipe interna da empresa, em segundo temos o

tipo de Armazenamento em Nuvem que nada mais é, que a hospedagem de seus

dados através de um provedor de serviços externos, sendo possível gerenciar a conta

com os dados através do acesso à internet desde um celular até um desktop, e por

último temos o mais recente método de armazenamento que é o Data Warehouse,

que consiste num repositório central de informações, que pode aprimorar os recursos

de tomada de decisão. Ele recebe dados de sistemas transacionais, bancos de dados

relacionais e outras fontes, geralmente em intervalos fixos, e os armazena para uso

posterior, no decorrer deste documento já foi abordado mais sobre o tema de

armazenamento do BD.

Em resumo podemos observar que independente dos dados que serão usados,

26

se faz necessário um SGBD para sua gestão, pois além de todas as vantagens e sua

segurança que traz com sigo, esta é uma ferramenta que se adequa a diferentes tipos

e portes de negócio.

27

8 MODELOS DE DADOS

Os Modelos de Dados são definidos como um conjunto de ferramentas

conceituais que auxiliam, principalmente, na descrição de dados e em seus

relacionamentos, transformando-as em informações úteis e deduzindo fatos

adicionais. A partir disso, um dos principais motivos do uso da modelagem de dados

é o de reduzir os erros, melhorar a integridade dos dados e auxiliar na entrada de

dados excessivos, criando uma estrutura que aumenta a colaboração da equipe de

TI.

Para iniciar a utilização dos Modelos de Dados é fundamental determinar uma

organização da base de dados, sendo assim iniciado o Processo de Mapeamento.

Desse modo, tem-se ao menos duas fases na elaboração de um Banco de Dados, a

fase lógica e a fase física. Após o levantamento e a análise de dados, a primeira fase

a se seguir é a lógica, possui a função de representar as relações de forma correta e

eficaz, a fim de que as operações relacionais funcionem como o esperado, assim, os

tipos e as dependências entre os dados devem ser mencionados, utilizando de

esquemas conceituais e lógicos. Já a fase física é, portanto, derivada do projeto lógico,

focado em eficiência de armazenamento e desempenho, preservando a informação

entre as duas fases, nesta etapa é feita a aplicação do SQL, por exemplo.

8.1 Tipos de Modelos

Na primeira fase, são utilizados os Modelos de Dados, dentre estes há os

conceituais, modelo abstrato (esboço) dos dados, e os lógicos, estrutura de dados, o

mais utilizado é o Modelo Entidade-Relacionamento (MER).

8.1.1 Modelo Entidade-Relacionamento (MER)

O Modelo Entidade-Relacionamento (MER) é definido como um modelo que

transforma estruturas do mundo real para dentro de um banco de dados, sendo

formado por entidades, atributos e relacionamentos. No exemplo a seguir, foi feito um

esquema utilizando a conta bancária de um cliente de um banco, demonstrado na

Figura 7.

28

Figura 7 – Modelo Entidade-Relacionamento (MER)

Cliente:

#Nome

CPF_Cliente

Endereço

Conta:

#Saldo

Numero_Conta

Fonte: Autoria Própria.

A partir do MER, é feito o Diagrama de Entidade-Relacionamento (DER), porém

para representá-lo é necessário ter conhecimento dos principais conceitos do MER

citados anteriormente e explicados a seguir.

As entidades são um conjunto de dados do qual pretende-se obter informações,

podendo ser tanto objetos físicos quanto abstratos, representada por retângulos. Já

os atributos são os dados propriamente ditos, uma propriedade da entidade, ou seja,

se temos um cliente (entidade) precisaremos de informações acerca deste, como seu

nome, CPF e endereço (atributos). Por fim, tem-se os relacionamentos, é definido

como a

,

associação entre entidades, representado através de um losango conectando

cada entidade.

8.1.2 Diagrama Entidade-Relacionamento (DER)

Deste modo, utilizando destes conceitos citados anteriormente e construído o

DER, que possui como principal função fazer projetos e aprimorar o banco de dados

relacional, representando visualmente a parte lógica do projeto do banco de dados,

similar às outras notações que são muito usadas em projetos de software e banco de

dados, como diagramas de classe, exibição de uma estrutura do banco de dados de

um sistema, e a notação UML (Linguagem de Modelagem Unificada), uma linguagem

desenvolvida para especificar, construir, visualizar e documentar software. Assim

sendo, o DER não define os passos para o desenvolvimento do projeto, mas fornece

um meio de representação de sistemas de informação que auxilia a documentação e

comunicação entre os desenvolvedores.

Abaixo foi elaborado um exemplo de DER com base na figura 1, onde há o

relacionamento Conta Corrente entre as entidades Cliente e Conta que possuem seus

respectivos atributos.

29

Figura 8 – Diagrama de Entidade de Relacionamento

Fonte: Autoria Própria.

30

9 MODELOS DE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

O processo de desenvolvimento de software tem evoluído juntamente com a

necessidade da sociedade, cada dia mais sendo necessário a criação ou

aprimoramento de técnicas para reduzir o tempo de desenvolvimento sem perder a

qualidade e segurança do produto final entregue ao cliente.

9.1 Fluxo de Processos

O workflow mais simplificado destes processos segue os seguintes passos:

Requisitos Do Cliente, Especificações Técnicas, Desenvolvimento / Reuso, Validação,

Teste e Implementação.

9.1.1 Requisitos do cliente

Primeiro e mais importante passo no planejamento do desenvolvimento de um

software, podemos tratá-lo como a alma da aplicação, por que uma vez incoerente

com os requisitos apresentados pelo cliente, o software perde o propósito de criação,

tornando vão todo e qualquer esforço imputado após essa fase.

De maneira breve, se resume ao primeiro contato com o cliente ou requerente

da aplicação digital, onde se coleta de maneira rústica e informal os “inputs” ou

detalhes mais elementares do que será o projeto do software e que deve

mandatoriamente nortear todas as discussões e planejamentos a seguir, sabendo que

majoritariamente das vezes ocorrem alterações e aprimoramentos nos planos iniciais.

Ainda nesta fase realizamos algumas análises de risco e de possibilidades de

implementação, visando avaliar qualquer implicação legal ou que não seja possível

de desenvolver, uma vez avaliado e aprovado pode-se seguir para o primeiro

processo no desenvolvimento do software.

9.1.2 Especificações técnicas

Etapa conhecida pela criação das user stories, onde é descrito, de modo ainda

prévio ao totalmente técnico, o esboço das componentes do sistema e suas

funcionalidades com uma base técnica e de caráter projetista, já tomando decisões

referente ao desenvolvimento, divergente da primeira ideia advinda dos requisitos,

mas totalmente alinhada com eles.

31

Essa fase é crucial para garantir o desenvolvimento correto do software, pois é

nela que se gera uma noção em todos os integrantes da equipe do que será feito e

que deve estar acordada entre os membros de equipe/squad para garantir que não

haja retrabalho, ou desperdício de recurso temporal, causados pela divergência entre

os entendimentos transmitidos.

Vale ressalvar, que esta etapa está alinhada diretamente com a primeira,

estando sujeita a revisões e alterações em virtude de mudanças nos requisitos, ou

descoberta de novas necessidades e problemas não previstos no primeiro modelo.

9.1.3 Desenvolvimento e Reuso

Após o cumprimento e revisão das fases anteriores, ainda não é chegado a

hora de desenvolver de fato o software, primeiramente é necessário quebrar a tarefa

em partes para a distribuição coordenada das peças em desenvolvimento similar a

uma fábrica, para então definir o método de desenvolvimento coerente e eficiente ao

projeto em particular.

Para alguns casos em que o tempo de desenvolvimento é a prioridade,

podemos utilizar do reuso de partes de softwares já produzidos para acelerar o

processo, o que é muito famoso em modelos embasados na prototipagem.

É importante citar que nesta fase já se encontram os primeiros testes, iniciando

pelos unitários conforme se escolhe ou desenvolve as peças que vão compor o

software, seguido pelos testes em conjunto conforme integramos um componente ao

outro, salvando assim tempo nas fases a seguir.

9.1.4 Validação

Não é incomum na transição de fases do projeto haver uma compreensão

errônea causada pela troca de informações ou mudanças no requisito do cliente, por

conta disso há muita importância nesta fase, uma vez que é nela que se garante que

o que foi desenvolvido está de acordo com o especificado, que por sua vez, deve-se

provar alinhado com as especificações do cliente.

9.1.5 Teste

Uma vez confirmado que o software se encontra dentro das especificações, é

32

necessário assegurar por meio de repetidos testes nos mais diversos cenários de uso,

isso para garantir que não só foram atendidas as especificações do cliente com suas

variâncias, como também a eficiência, qualidade, análise de risco do sistema e

facilidade de uso.

Pode-se também realizar testes com usuários nesta fase, o que permite um

maior nível de excelência nas entregas, uma vez que o próprio requerente pode ter

sofrido alguma mudança no contexto de negócio e a aplicação de algum de seus

requisitos ter sido comprometida, porém o mesmo não ter reportado esta mudança

nas especificações, tornando este teste muito útil para uma última validação do

sistema em relação ao esperado pelo cliente.

9.1.6 Implementação

Tendo sido concluídas todas as fases em relação ao desenvolvimento da

aplicação, é o momento de prover ao cliente manuais e treinamentos para que os

usuários estejam integrados ao software, levando assim a um retorno em valor para o

cliente, uma vez que o software somente demonstra seu potencial perante usuários

capacitados ao uso.

O suporte integrativo pode vir acompanhado de sessões de treinamento ou

somente da provisão de manuais, dependendo somente do acordado entre o

requerente e a companhia desenvolvedora de software, porém é um passo muito

importante para garantir a excelência de serviço prestado ao cliente e que pode ser

até mesmo decisivo quanto ao sucesso do software.

Há diversos outros modelos de desenvolvimento de software, cada um

contendo mudanças nas fases, com acréscimos ou realocação de tarefas de uma

etapa para outras visando atender as prioridades do desenvolvimento, seja no caso

do tempo, segurança, qualidade e assim por diante.

No entanto, temos acima descrito o que seria a essência para o

desenvolvimento estruturado, seguro e qualificado de um software e que embasará o

modelo escolhido para a execução deste trabalho.

33

9.2 Cascata

Um dos modelos de desenvolvimento de software mais tradicionais, porém,

ainda amplamente utilizado nos dias de hoje, isso porque os modelos consideram

diversos fatores para determinar o melhor método, como: produto a ser desenvolvido,

características inerentes a equipe, recursos disponíveis, tempo e assim por diante,

fazendo com que não exista um modelo ideal, mas sim o que atende melhor às

necessidades de um dado projeto.

No tocante à cascata (waterfall), é um modelo bem simplista que consiste em

uma iniciativa sequencial e sistemática, onde se engaja uma fase logo após o término

da anterior, garantindo uma significante margem de segurança na implementação das

interfaces e diminuindo a possibilidade de transmissão incorreta de informação entre

os times envolvidos, uma vez que somente após completa a fase anterior que se inicia

a seguinte.

Há uma

,

grande vantagem em termos de garantia das funcionalidades do

software, isso porque se prioriza a qualidade e a segurança em um sistema mais

conservador, garantindo que a entrega esteja alinhada com o definido nas fases

anteriores e consequentemente com os requisitos do cliente (mesmo quando

alterados durante o processo).

Porém, há um demérito principal em relação ao tempo de desenvolvimento,

dado a logística do modelo que não tem enfoque em economia de tempo, o cliente

deve ser muito paciente sabendo que só terá a oportunidade de ver os primeiros

modelos do software nas fases finais, o que incrementa o risco de ter mudanças

maiores de requisitos próximo ao fim do projeto, dado a impossibilidade do cliente de

testar e validar a versão primária de seus requisitos.

É importante citar que há variações do modelo cascata e que sofrem alterações

para balancear ou alterar o enfoque do modelo original, assim como anteriormente

descrito não há um modelo correto, mas o que de fato atende a necessidade de

desenvolvimento de um dado software.

Dado as características deste modelo e da entrega em questão neste projeto,

utilizaremos do modelo cascata para realizar a criação do software, juntamente com

sua documentação associada, garantindo a compreensão das especificações do

34

cliente até a etapa final de entrega do projeto.

As fases padrões conhecidas no modelo cascata são as expostas na figura 9.

Figura 9 – Exemplificação de um Framework de Cascata

Fonte: Ian Sommerville, 2011.

35

10 FUNCIONAMENTO DE UMA INTERFACE

10.1 Definição de Interface

Uma interface pode ser descrita como um dispositivo ou um sistema que faz

com que entidades que não necessariamente tenham uma relação possam interagir.

Exemplos dessa definição podem ser vistos como, o controle remoto sendo uma

interface entre uma pessoa e a televisão, a língua portuguesa sendo a interface entre

duas pessoas e um protocolo de comportamento é a interface entre pessoas de

diferentes patentes em alguns serviços.

10.2 Interface de um Software

A interface de uma aplicação é a parte de um software que o usuário verá e

poderá interagir com. Como visto nos exemplos anteriores, isso nada mais é do que

a forma em que o usuário irá interagir com o sistema. Um bom exemplo disso é o

desktop do sistema operacional Windows, que trará ao usuário acesso a diversas

informações e funções para que o usuário possa interagir com o computador.

Figura 10 – Interface

Fonte: Dicio (https://www.dicio.com.br/interface/).

A criação de uma interface para um software é baseada em diversos fatores.

Primeiramente deve ser visto quais são os requerimentos para qual objetivo o software

será criado, isso é de importância pois determinará se será possível atender a

demanda do cliente e a viabilidade. Também deve-se levar em conta o público-alvo

para determinar alguns fatores como qual o grau de conhecimento do usuário, a

36

acessibilidade do software e qual a melhor direção de design que atenda o projeto.

Então, tudo que seja feito terá que ser levado em consideração um balanço entre

usabilidade e viabilidade.

Figura 11 – Interface de Usuário

Fonte: Des1gnON (https://www.des1gnon.com/2013/07/16-dicas-para-uma-boa-interface-de-

usuario-ui/).

Para a criação de uma interface de software, teremos múltiplas opções de tipos

de interface para que se escolha a que melhor atenda aos requisitos. A interface

gráfica do usuário (GUI), interface de linha de comando (CLI), interface de usuário

orientada pelo menu, interface de toque do usuário, interface de voz do usuário (VUI),

interface do usuário baseado em formulário e interface de usuário de linguagem

natural.

Figura 12 – Interfaces GUI e CLI

Fonte: Future Techno India (https://futuretechnoindia.medium.com/graphical-user-interface-

gui-and-command-line-interface-cli-c1fd7c951c39?source=user_profile---------30-----------------

-----------).

37

11 DESIGN DE SISTEMA

Design de Sistema (Design System) é um conjunto de componentes

reutilizáveis, para um determinado produto, como site ou sistema de web, unificando

determinado produto, sendo um produto interno de uma empresa, que necessita de

pessoas que o atualizem enquanto estão desenvolvendo soluções novas, novos

componentes e novos guias de estilo.

Como o design system ainda é viva, existem exemplos conhecidos, que

possuem o seu sistema: O Stack Overflow tem um Design System com os padrões

que vai de classes CSS, é um exemplo muito conhecido na comunidade de UX e

Design.

A funcionalidade do design para sistemas bem planejados, vai além da

combinação de cores e elementos gráficos. O uso de um sistema, depende de um

design bem estruturado e com o foco especial, na facilitação e interação do usuário

com o sistema.

Com isso podemos pensar em uma interface de um certo sistema, como ocorre

a sua apresentação e como ele interage com o usuário envolvendo os elementos que

estão participando da interação, como botões, setas e legendas.

Nisso o design de interface, pode ser visto como o modelo que se apodera de

composições de arranjos entre os componentes para localizar resultados para os

problemas que o usuário pode ter com a interface, ou seja, um sistema como

operacional de celular, e suas entidades que precisam conversar de modo integrado,

com isso ficando no centro do processo de design.

Um bom design de interface necessita ter em consideração os componentes

que estão envolvidos no seu processo de criação, que são:

• Arquitetura de Informação: O seu principal objetivo é proporcionar uma

navegação muito mais simplificada para o seu usuário, independentemente

de seu navegador usado.

• Design de Interação: A criação do design deve ser levada em conta, como

ocorre na interação do usuário com o sistema, analisando os elementos

gráficos e audiovisuais do sistema, nas cores, fontes e tamanho das letras.

38

• Usabilidade: A usabilidade é fundamental quando o assunto é a criação do

sistema, afinal o sistema deve facilitar o uso do usuário e ser fácil de

navegar, intuitivo, e seus erros têm que ser levantados para que tenham

uma solução.

• Wireframing: Se refere na criação de teste dos recursos disponíveis e da

sua usabilidade, para certificar que o sistema pode ser iniciado. Esse teste,

além de ser muito importante, é também uma forma de visualizar como vai

funcionar o sistema na prática.

• Design Visual: É como será definida a marca da empresa, por isso tem um

impacto direto na interação entre o usuário e o sistema.

39

12 CARACTERÍSTICAS DE RELACIONAMENTO EMPRESARIAL

12.1 Empresa Desenvolvedora do Software

Descrição: Criada com o intuito de redefinir o conceito de software, a Bacelar

Technology LTDA foi fundada por um grupo de engenheiros universitários em 2023,

buscando dar vida as mais inovadoras soluções de software para o mundo de

business.

Temos como valor o cliente acima de tudo, entendemos a necessidade volátil

do mundo atual e por isso estamos prontos com nossos modelos de desenvolvimento

de software, junto de nossos profissionais capacitados, para entregar não um software

que auxilie um processo, mas uma solução para os problemas de nossos clientes e

assim como estes mudam todos os dias, estamos prontos para mudar o mundo com

você.

Abaixo foram descritas informações pontuais do projeto.

• Nome: Bacelar Technology LTDA.

• Área de negócio: Desenvolvedora de softwares.

• Porte: Pequeno.

• Localização: Não aplicável.

• Contato: bacelar.technology@gmail.com

12.2 Empresa Fictícia: New Indie

Descrição: A New Indie é a mais nova empresa focada no ramo alimentício, foi

fundada por um homem com grande ambição em mostrar para o mundo seu talento

para as vendas e para agradar seus clientes.

Seu nome é Richard Indie Junior, com 32 anos, apaixonado por música do estilo

indie abriu um estabelecimento com a temática desse

,

estilo musical, buscando

fornecer aos seus clientes a melhor experiência ao fazer uma simples compra de

mercado.

Preservando muito a experiência desde o momento em que o cliente pisa no

estabelecimento e escuta suas músicas preferidas. Trazendo os melhores preços da

40

região e a melhor experiência possível para todos.

Abaixo seguiram as informações pontuais da empresa fictícia que iremos

atender:

• Nome: New Indie

• Área de negócio: Comércio varejista de produtos.

• Público-alvo: Todos os públicos.

• Porte: Pequeno (10 Funcionários).

• Localização Geográfica: Av. Indianópolis 807, Indianápolis – SP

• Contato: richard.indie@gmail.com

• Nome: Richard Indie Junior

• Posição: Dono (CEO)

12.3 Regras de Negócio – Requisitos do Cliente

1) Problema que a empresa tem e a falta de controle no estoque e para isso ele quer

um SAD que tenha controle sobre o produto em específico e a quantidade que está

entrando e saindo do estoque, qual produto está tendo tempo demais no estoque

levando em consideração o tempo de validade do produto. Ter controle de

qualidade de produtos dos fornecedores, referente a integridade, valor e

quantidade do produto.

a) Baseado nesse controle do estoque fazer com que o sistema mostre os

produtos que estão mais perto da validade e que estão parados no estoque,

para a criação de possíveis promoções.

2) Ter o envio de um alerta sobre se o estoque de um produto em específico está

chegando limite e se necessário a compra de mais deste se aplicando ao conceito

de máximo e mínimo do produto, para não ter demasiado sobrando e nem faltando.

3) Ter esses relatórios de forma semanal/mensal e ter a visualização de dados, o

software deve ser capaz de fornecer visualizações claras e intuitivas dos dados,

como gráficos, tabelas e outros recursos, para facilitar a análise e interpretação

dos dados.

41

4) Cruzar as informações de volume de vendas com a informação de volume de

reclamações para saber como o negócio está indo na semana/mês, e tomar as

medidas necessárias.

5) Ter linhas de tendencias baseadas em dados para saber as épocas do ano,

semanas do mês e dias da semana que terão mais vendas de uma determinada

categoria de produto, levando em com a análise de dados, o software deve ser

capaz de realizar análises de dados avançadas, como análise de tendências,

previsão de demanda e análise de rentabilidade, para que a empresa possa tomar

decisões informadas com base nos dados.

6) Segurança: o software deve ter medidas de segurança adequadas para proteger

os dados da empresa, autenticação de usuário, para controlar o nível de acesso

de acordo de um perfil administrador.

7) Custo-benefício: o software não deve ser caro de manter, através de um software

estático e com um sistema local, com atualizações rotineiras evitando assim gastos

adicionais com suporte.

8) O software deve ter um painel que prove uma visão geral de vendas, feedbacks

de atendimentos do cliente e balanço econômico compreendidos entre as datas

de início e fim selecionadas com a possibilidade de extração através de um botão.

9) Ter o SAD com uma interface amigável e fácil de entender, para que os usuários

possam acessar facilmente as informações e tomar decisões rapidamente, sem

prejudicar o fluxo de trabalho do negócio.

42

13 PROCESSO DE MAPEAMENTO DO BANCO DE DADOS

Para iniciar a criação dos modelos relacional e lógico do projeto foi primeiro

feito uma análise de dados, além de ser feita uma breve pesquisa sobre, onde foram

selecionados os tipos de dados, como seriam utilizados, seus propósitos e possíveis

relacionamentos. A partir disso, foi arquitetado em planilhas os metadados das

entidades e atributos que iríamos utilizar, assim, foi determinado o aplicativo que seria

utilizado para fazer os modelos, que foi apresentado em aula, sendo esse o brModelo,

utilizado para fazer os modelos conceitual e lógico com base no Modelo Entidade-

Relacionamento (MER) para assim criar o Diagrama Entidade-Relacionamento (DER),

apresentado no trabalho anteriormente no tópico 9.

Quando feito a implantação das entidades e atributos no brModelo, foram feitos

os relacionamentos e as cardinalidades com base naquilo ensinado em sala de aula.

Retomando os conceitos já abordados, os relacionamentos são um conjunto de

associações entre entidades (tabelas) que se pretende manter informações no banco

de dados. Assim, para determinar o número mínimo e máximo de ocorrências entre

as entidades de um relacionamento binário, entre duas entidades, são utilizadas as

cardinalidades. Estas são classificadas em:

• Cardinalidade mínima: categorizada como uma associação opcional (0),

onde a entidade pode possuir ou não um valor associado aos valores de

outra entidade, ou associação obrigatória (1), onde uma entidade deverá ter

ao menos uma relação com a outra entidade;

• Cardinalidade máxima: podendo possuir os valores de um (1), onde uma

ocorrência da entidade pode estar associada a no máximo uma ocorrência

de outra entidade, e muitos (m ou n), expressando que não há um limite

para o número de ocorrências entre duas entidades.

Assim, pode-se concluir as razões de cardinalidade possíveis para tipos de

relacionamento binários são 0:1, 0:n, 1:1 e 1:n, levando em consideração apenas as

entidades que se relacionam. Será abordado novamente este assunto futuramente

demonstrando as entidades, atributos, relacionamentos e cardinalidades quando

demonstrado os modelos conceitual e lógico.

43

13.1 Ferramenta CASE brModelo (Will)

Para a criação do modelo conceitual e lógico do projeto, foi utilizada a

ferramenta brModelo. O brModelo é uma ferramenta de apoio ao projeto de BDs

relacionais desenvolvida pelo Grupo de BD da UFSC (GBD/UFSC).

Todas as ramificações e versões da brModelo apresentadas na seção anterior

compartilham as seguintes funcionalidades: suporte as três etapas tradicionais do

projeto de um BD relacional; geração da modelagem lógica e guiada pelo usuário

projetista; interface gráfica com o projetista intuitiva e rica em opções de menu e

ícones representando conceitos de modelagem que podem ser manipulados no estilo

drag-and-drop. Ou seja, o brModelo é uma ferramenta simples, fácil e eficaz para a

suas funcionalidades.

Assim, o processo de mapeamento consistiu-se em: analisar os tipos de dados

quer serão alocados; separá-los por quais seriam entidades, atributos e os tipos de

chaves; adicionar todos os respectivos dados na ferramenta CASE (no caso

brModelo), com os seus devidos artefatos (caixa de entidade, atributos etc.); definir,

adicionar e nomear relações entre as entidades; definir e adicionar as cardinalidades

das relações.

13.2 Metadados do BD

Metadados são informações que descrevem dados. Eles fornecem contexto e

informações adicionais sobre os dados, como seu tipo dado e uma descrição do que

se trata determinados atributos.

Os metadados são importantes para facilitar a organização, busca,

compartilhamento e reutilização dos dados, além de ajudar a garantir a qualidade e a

precisão deles. A seguir, das tabelas 1 a 11 é demonstrado os metadados que estão

presentes neste projeto.

Tabela 1 – Metadados da Tabela de Vendas

Atributos Tipo Descrição

# ID_Venda INT Identificador da tabela Venda (Chave Primária)

Data_Venda DATE Data da Venda

ID_Produto INT Identificador da tabela Produto (Chave Estrangeira)

Qtd_Venda INT Quantidade de produtos vendidos por venda

ID_Promo INT Identificador da tabela Promo (Chave Estrangeira)

ID_Avalicao INT Identificador da tabela Avaliacao (Chave Estrangeira)

Fonte: Autoria Própria.

44

Tabela 2 – Metadados da Tabela de Lotes

Atributos Tipo Descrição

# ID_Lote INT É o identificador do Lote (Chave Primaria)

Data_Entrega VARCHAR (30) É onde fica registrado a data de entrega do lote

ID_Produto INT É o identificador do produto (Chave Estrangeira)

Qtd_Lote

,Back-end e Full Stack. Alura, [S. l.], 17 jan. 2023. Disponível em: https://www.alura.com.br/artigos/o-que-e-front-end-e-back-end. Acesso em: 22 abr. 2023. SANTOS, Diego. Plataforma Online para Criação de Jogos Personalizados com Labirintos para Introdução à Lógica de Programação. Orientador: Profa. Andrea Schwertner Charão. 2022. 32 p. Trabalho Final de Graduação (Curso de Bacharelado em Sistemas de Informação) - Universidade Federal de Santa Maria, Santa Maria, RS, 2022. Disponível em: https://repositorio.ufsm.br/bitstream/handle/1/26174/TG_Diego%20Viana%20dos%20Santos.pdf?sequence=1&isAllowed=y. Acesso em: 22 abr. 2023. ABOUT Python. In: Python. Países Baixos, 1991. Disponível em: https://www.python.org/about/. Acesso em: 23 abr. 2023. 57 SOMMERVILLE, Ian. Engenharia de Software. 9. ed. São Paulo: Pearson Education, 2011. 532 p. Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/2613/pdf/48. Acesso em: 22 mar. 2023.
APS 2023 7 SEMESTRE - Português (2024)
Top Articles
New Albany Gazette
Cragslist Tulsa
The Fappening Blgo
My.doculivery.com/Crowncork
Does Publix Pharmacy Accept Sunshine Health
Member Handbook 2021 | Ohio Medicaid Caresource | Member Handbook
Top Scorers Transfermarkt
2320 Pioneer Rd
The Closest Dollar Store To My Location
888-490-1703
Megnutt Health Benefits
C And B Tracy
Gopher Hockey Forum
Www Craigslist Antelope Valley
Ofw Pinoy Channel Su
Nancy Pazelt Obituary
Seattle Clipper Vacations Ferry Terminal Amtrak
co*cker Spaniel For Sale Craigslist
Meine Erfahrung mit Textbroker als Autor (inkl. Beispiel zu Verdienst)
Jennifer Beals Bikini
Zen Leaf New Kensington Menu
Baby | Voeding | Voeding het eerste jaar; borstvoeding
Bfri Forum
AC Filters | All About Air Filters for AC | HVAC Filters
REGULAMENTUL CAMPANIEI "Extra Smart Week" valabil in perioada 12-18 septembrie 2024
Cluster Truck Unblocked Wtf
Thailandcupid
Conner Westbury Funeral Home Griffin Ga Obituaries
14314 County Road 15 Holiday City Oh
Rachel Campos-Duffy - Net Worth, Salary, Age, Height, Bio, Family, Career
Webcentral Cuny
Switchback Travel | Best Camping Chairs of 2024
What Time Moon Rise Tomorrow
Directions To Truist Bank Near Me
Meat Grinders At Menards
If You Love FX’s 'Shogun,' Here Are 10 More Samurai Things To Check Out
Cashflow Manager Avid
Dinar Guru Iraqi Dinar
Fact checking debate claims from Trump and Harris' 2024 presidential faceoff
Shiny Flowers Belinda
Telegram No Limit Groups - Telegram Rocket
October 31St Weather
Promiseb Discontinued
Skip The Games Mil
Tia V15.1 Update
Poopybarbz
J&J News Bluefield Wv
Family Court Forms | Maricopa County Superior Court
Morphe Aventura Mall
FINAL FANTASY XI Online 20th Anniversary | Square Enix Blog
Twisted Bow Osrs Ge Tracker
Latest Posts
Article information

Author: Terence Hammes MD

Last Updated:

Views: 6414

Rating: 4.9 / 5 (49 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Terence Hammes MD

Birthday: 1992-04-11

Address: Suite 408 9446 Mercy Mews, West Roxie, CT 04904

Phone: +50312511349175

Job: Product Consulting Liaison

Hobby: Jogging, Motor sports, Nordic skating, Jigsaw puzzles, Bird watching, Nordic skating, Sculpting

Introduction: My name is Terence Hammes MD, I am a inexpensive, energetic, jolly, faithful, cheerful, proud, rich person who loves writing and wants to share my knowledge and understanding with you.