Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

<p>ALEXSANDRO TÉOFILO DO CARMO DE RIVERA – N6482B-7 – CP7P01</p><p>DIOGO EREDIA OLIVEIRA MARCHÃO – N61479-0 – CP7Q01</p><p>GEOVANNE HENRIQUE COSTA – N589FJ-1 – CP7Q01</p><p>GUSTAVO DELLABARBA – F2250H4 – CP7Q01</p><p>IVAN ALEXANDER YAPITA VARGAS – F1851H-0 – CP7P01</p><p>KAMILLY VIEIRA SILVA – N61906-6 – CP7Q01</p><p>LUAN PARENTE DE SOUZA – N64168-1 – CP7Q01</p><p>THIAGO OGALLA BENEDITO – F1412E-5 – CP7Q01</p><p>VINICIUS SOUZA MODOLO – N6535J-8 – CP7P01</p><p>WILLIAN PUBLIO THEODORO GOMES – N568GD-2 – CP7Q01</p><p>STOCK VIRTUAL ASSISTANT</p><p>São Paulo</p><p>2023</p><p>ALEXSANDRO TÉOFILO DO CARMO DE RIVERA – N6482B-7 – CP7P01</p><p>DIOGO EREDIA OLIVEIRA MARCHÃO – N61479-0 – CP7Q01</p><p>GEOVANNE HENRIQUE COSTA – N589FJ-1 – CP7Q01</p><p>GUSTAVO DELLABARBA – F2250H4 – CP7Q01</p><p>IVAN ALEXANDER YAPITA VARGAS – F1851H-0 – CP7P01</p><p>KAMILLY VIEIRA SILVA – N61906-6 – CP7Q01</p><p>LUAN PARENTE DE SOUZA – N64168-1 – CP7Q01</p><p>THIAGO OGALLA BENEDITO – F1412E-5 – CP7Q01</p><p>VINICIUS SOUZA MODOLO – N6535J-8 – CP7P01</p><p>WILLIAN PUBLIO THEODORO GOMES – N568GD-2 – CP7Q01</p><p>STOCK VIRTUAL ASSISTANT</p><p>Trabalho apresentado ao curso de</p><p>Engenharia da Computação da</p><p>Universidade Paulista – UNIP, como</p><p>exigência da disciplina APS (Atividade</p><p>Prática Supervisionada).</p><p>Orientadora: Andrea Cristina Esteves</p><p>São Paulo</p><p>2023</p><p>RESUMO</p><p>Com base em pesquisas sobre software, sistemas de apoio a decisão (SAD) e banco</p><p>de dados para o auxílio de empresas foi engenhado um projeto para uma empresa de</p><p>vendas de pequeno porte, esta criada pelos autores, seguindo o modelo de processo</p><p>de software cascata, proposto por Sommerville, analisando possíveis requisitos,</p><p>revisando-os em conjunto e projetando o sistema e software. Assim, foi feito um</p><p>aprofundamento no assunto de back-end e front-end, a fim de determinar qual seria</p><p>utilizado, interface, design e segurança das informações, para que a sensibilidade dos</p><p>dados não seja comprometida. O objetivo do SAD que será aplicado é auxiliar o</p><p>estoque do empresário, organizando-o, prevendo riscos e melhorias para o negócio</p><p>com base nos dados inseridos nos bancos de dados, deste modo a ferramenta</p><p>BrModelo foi utilizada como CASE para organizar os bancos de Dados para assim</p><p>cria-lo empregando a ferramenta MySQL, usada como o Sistema de Gerenciamento</p><p>de Banco de Dados para manipular as informações armazenadas neste.</p><p>Palavras chaves: SAD; banco de dados; software.</p><p>ABSTRACT</p><p>Based on research on software, decision support systems (DSS) and database to help</p><p>companies, a project was designed for a small sales company, created by the authors,</p><p>following the waterfall software process model. , proposed by Sommerville, analyzing</p><p>possible requirements, reviewing them together and designing the system and</p><p>software. Thus, an in-depth study was carried out on the subject of back-end and front-</p><p>end, in order to determine which would be used, interface, design and information</p><p>security, so that the sensitivity of the data is not compromised. The objective of the</p><p>SAD that will be applied is to help the entrepreneur's stock, organizing it, predicting</p><p>risks and improvements for the business based on the data entered in the databases,</p><p>in this way the BrModelo tool was used as a CASE to organize the databases to create</p><p>it using the MySQL tool, used as the Database Management System to manipulate the</p><p>information stored in it.</p><p>Keywords: SAD; database; software.</p><p>LISTA DE ILUSTRAÇÕES</p><p>LISTA DE FIGURAS</p><p>Figura 1 – A Convergência Do Mundo Digital Com O Real ......................................... 6</p><p>Figura 2 – Exemplo De Metadados ........................................................................... 19</p><p>Figura 3 – MySQL ..................................................................................................... 20</p><p>Figura 4 – Exemplo de Banco De Dados .................................................................. 21</p><p>Figura 5 – Ranking dos 10 SGBDs Mais Usados ...................................................... 22</p><p>Figura 6 – Exemplificação do Fluxo de Dados .......................................................... 23</p><p>Figura 7 – Modelo Entidade-Relacionamento (MER) ................................................ 28</p><p>Figura 8 – Diagrama de Entidade de Relacionamento .............................................. 29</p><p>Figura 9 – Exemplificação de um Framework de Cascata ........................................ 34</p><p>Figura 10 – Interface ................................................................................................. 35</p><p>Figura 11 – Interface de Usuário ............................................................................... 36</p><p>Figura 12 – Interfaces GUI e CLI ............................................................................... 36</p><p>Figura 13 – Modelo Conceitual .................................................................................. 46</p><p>Figura 14 – Modelo Lógico ........................................................................................ 47</p><p>Figura 15 – Projeto do Sistema ................................................................................. 50</p><p>LISTA DE TABELAS</p><p>Tabela 1 – Metadados da Tabela de Vendas ............................................................ 43</p><p>Tabela 2 – Metadados da Tabela de Lotes ............................................................... 44</p><p>Tabela 3 – Metadados da Tabela de Produtos.......................................................... 44</p><p>Tabela 4 – Metadados da Tabela de Estoque ........................................................... 44</p><p>Tabela 5 – Metadados da Tabela de Funcionários ................................................... 44</p><p>Tabela 6 – Metadados da Tabela de Fornecedores .................................................. 44</p><p>Tabela 7 – Metadados da Tabela de Clientes ........................................................... 45</p><p>Tabela 8 – Metadados da Tabela de Avaliações....................................................... 45</p><p>Tabela 9 – Metadados da Tabela de Nivel de Acesso .............................................. 45</p><p>Tabela 10 – Metadados da Tabela de Categorias ..................................................... 45</p><p>Tabela 11 – Metadados da Tabela de Promoções .................................................... 45</p><p>SUMÁRIO</p><p>1 INTRODUÇÃO ..................................................................................................... 6</p><p>2 APRESENTAÇÃO DO TRABALHO ..................................................................... 8</p><p>3 OBJETIVO ......................................................................................................... 10</p><p>3.1 Objetivo Geral .............................................................................................. 10</p><p>3.2 Objetivo Específico....................................................................................... 11</p><p>4 Sistema de Apoio à Decisão (SAD) ................................................................... 12</p><p>4.1 Processo de Construção de Software .......................................................... 12</p><p>4.1.1 Planejamento ......................................................................................... 12</p><p>4.1.2 Análise ................................................................................................... 13</p><p>4.1.3 Design ................................................................................................... 13</p><p>4.1.4 Implementação ...................................................................................... 13</p><p>4.1.5 Testes .................................................................................................... 13</p><p>4.1.6 Implantação ........................................................................................... 13</p><p>4.1.7 Manutenção ........................................................................................... 13</p><p>4.2 Estatística e Dados de um Software SAD ....................................................</p><p>VARCHAR (30) Quantidade de lotes individuais</p><p>Validade_Lote DATE Validade dos produtos que estão nos lotes</p><p>Qtd_Produto DOUBLE Valor de compra de um Lote</p><p>ID_Fornecedor DOUBLE É o identificador do Fornecedor (Chave Estrangeira)</p><p>Custo_Unit DOUBLE É o custo que o empresário compra</p><p>Fonte: Autoria Própria.</p><p>Tabela 3 – Metadados da Tabela de Produtos</p><p>Atributos Tipo Descrição</p><p># ID_Produto INT Identificador do produto (Chave Primaria)</p><p>Nome_Produto VARCHAR (30) Nome registrado do produto</p><p>ID_Categoria INT Identificador da categoria (Chave Estrangeira)</p><p>Marca_Produto VARCHAR (30) Nesta coluna é onde estaria a marca das empresas</p><p>Num_Serie INT Código de barras</p><p>Preço_Unit DOUBLE Valor de uma unidade vendida</p><p>Fonte: Autoria Própria.</p><p>Tabela 4 – Metadados da Tabela de Estoque</p><p>Atributos Tipo Descrição</p><p># ID_Produto INT Identificador da tabela Produto (Chave Primária)</p><p>Qtd_Estoque INT Quantidade do Produto em Estoque</p><p>ID_Lote INT Identificador do lote (Chave estrangeira)</p><p>Fonte: Autoria Própria.</p><p>Tabela 5 – Metadados da Tabela de Funcionários</p><p>Atributos Tipo Descrição</p><p># ID_Funcionario INT É o identificador do Funcionário (Chave Primaria)</p><p>Nome_Funcionario VARCHAR (30) Nome registrado do funcionário</p><p>E-mail VARCHAR (30) Email do funcionário para contato</p><p>Telefone INT Telefone do funcionário para contato</p><p>Nivel_Acesso INT Nível de acesso ao SAD (Chave Estrangeira)</p><p>Fonte: Autoria Própria.</p><p>Tabela 6 – Metadados da Tabela de Fornecedores</p><p>Atributos Tipo Descrição</p><p># ID_Fornecedor INT Identificador do fornecedor (Chave Primária)</p><p>Nome_Fornecedor VARCHAR (30) Nome registrado do fornecedor</p><p>Telefone TEXT (14)</p><p>Telefone do fornecedor para contato de futuras</p><p>compras ou falar sobre um possível problema no lote</p><p>E-mail VARCHAR (45)</p><p>Segunda forma de contato com o fornecedor por meio</p><p>do endereço de e-mail</p><p>Fonte: Autoria Própria.</p><p>45</p><p>Tabela 7 – Metadados da Tabela de Clientes</p><p>Atributos Tipo Descrição</p><p># ID_Cliente INT É o identificador do Cliente (Chave Primaria)</p><p>Nome VARCHAR (15) Nome registrado do cliente</p><p>Sobrenome VARCHAR (15) Sobrenome registrado do cliente</p><p>Sexo BOOLEAN</p><p>Nessa coluna serão armazenados 1 para representa homem</p><p>e 0 para representa mulher</p><p>E-mail VARCHAR (30) Email para contato com o cliente</p><p>Telefone INT Telefone para contato com cliente</p><p>Fonte: Autoria Própria.</p><p>Tabela 8 – Metadados da Tabela de Avaliações</p><p>Atributos Tipo Descrição</p><p># ID_Avaliacao INT É o identificador da Avaliação (Chave Primaria)</p><p>Nivel_Avaliacao VARCHAR (15) Registro do nível de avaliação que será em quatro níveis.</p><p>Descr_Avaliacao VARCHAR (50) registro de avaliação do cliente</p><p>ID_Cliente INT Identificador do cliente (Chave estrangeira)</p><p>ID_Funcionario INT Identificador do funcionário (Chave estrangeira)</p><p>Fonte: Autoria Própria.</p><p>Tabela 9 – Metadados da Tabela de Nivel de Acesso</p><p>Atributos Tipo Descrição</p><p># Nivel_Acesso INT Nível de acesso ao SAD (Chave Primaria)</p><p>Tipo_Acesso VARCHAR (25)</p><p>Especificação do de dados que poderão ser</p><p>cessados</p><p>Fonte: Autoria Própria.</p><p>Tabela 10 – Metadados da Tabela de Categorias</p><p>Atributos Tipo Descrição</p><p># ID_categoria INT Identificador da categoria (Chave Primária)</p><p>Categoria VARCHAR (30) Categoria que do produto</p><p>Fonte: Autoria Própria.</p><p>Tabela 11 – Metadados da Tabela de Promoções</p><p>Atributos Tipo Descrição</p><p># ID_Promo INT Identificador promoções (Chave Primaria)</p><p>Valor_Promo DOUBLE</p><p>O valor indicado nesta coluna será a porcentagem de</p><p>desconto que será aplicado numa compra</p><p>Periodo_promo DATE Serão os períodos que as promoções valerão</p><p>Fonte: Autoria Própria.</p><p>13.3 Modelo Conceitual</p><p>Em modelagem de dados, o modelo conceitual é uma representação abstrata</p><p>dos dados e das suas relações, na qual é independente de qualquer tecnologia de</p><p>banco de dados específica. Ele é utilizado para descrever os requisitos e as regras de</p><p>negócios que devem ser atendidos pelo banco de dados (BDs).</p><p>O modelo conceitual é a primeira etapa na criação de um banco de dados,</p><p>46</p><p>sendo geralmente representado por meio de diagramas, um deles é o diagrama</p><p>entidade-relacionamento (ER). A partir do modelo conceitual, é possível criar o modelo</p><p>lógico, que é a implementação do banco de dados em um sistema de gerenciamento</p><p>de banco de dados (SGBDs). Em resumo, o modelo conceitual é uma representação</p><p>abstrata dos dados e suas relações, que são utilizadas para guiar a criação do BD.</p><p>Figura 13 – Modelo Conceitual</p><p>Fonte: Autoria Própria.</p><p>13.4 Modelo Lógico</p><p>Em modelagem de dados, o modelo lógico é um modelo que irá descrever as</p><p>relações entre elementos de dados de um sistema ou seus processos, ele é usado</p><p>para a compreensão visual das entidades de dados e seus atributos, sendo</p><p>independente de bancos de dados físicos. Às vezes referida como modelagem de</p><p>informações, a modelagem lógica de dados é a segunda etapa dentre os processos</p><p>de modelagem. Em resumo, um modelo lógico é uma representação abstrata de um</p><p>sistema ou processo que descreve as relações entre seus elementos de dados.</p><p>47</p><p>Figura 14 – Modelo Lógico</p><p>Fonte: Autoria Própria.</p><p>48</p><p>14 BACK-END E FRONT-END DO SISTEMA</p><p>14.1 Definição de Back-End</p><p>O Back-End é um termo muito conhecido e que se encontra na linguagem até</p><p>dos usuários não técnicos de computador, isso porque se trata da parte vital de</p><p>qualquer sistema, porém diferente do Front-End, essa parte nunca é vista, mas é</p><p>encarregada por toda e qualquer alteração que se manifesta aos nossos olhos perante</p><p>uma tela.</p><p>Uma aplicação é composta por diversas outras menores, como banco de dados</p><p>e até mesmo outras aplicações que não possuem GUI, cujo resultado é retornado para</p><p>então ser exposto de alguma forma ao usuário, assim como realizamos diversas</p><p>consultas ao banco de dados do Facebook por exemplo, quando estamos em busca</p><p>de um contato ou quando observamos os metadados de um perfil.</p><p>Por isso este componente invisível age como uma ponte para integrar todas as</p><p>partes do software, manipulando e transformando os tipos de dados para serem</p><p>expostos em seus fins no modo correto, agindo como um intérprete que leva as</p><p>informações ao usuário por diferentes canais de transmissão.</p><p>Os responsáveis por construir estes caminhos de acordo com as</p><p>especificações descritas são os desenvolvedores, estes possuem a habilidade</p><p>necessária para se comunicar com o hardware por meio de linguagens de</p><p>programação, que nada mais são que códigos reconhecidos somente por eles e pelo</p><p>computador, para garantir a ocorrência de eventos de maneira ordenada e correta,</p><p>proteger dados dos usuários que não devem acessa-los e até mesmo sugerir ações,</p><p>esses códigos costumam estar dispostos de uma forma que não poderia ser entendida</p><p>pelo usuário, demonstrando um dos motivos pelo qual permanecem em anonimato e</p><p>requerem uma GUI para o uso geral.</p><p>14.2 Definição de Front-End</p><p>O Front-End é a parte do sistema com a qual o usuário interage diretamente,</p><p>também conhecido como “lado do cliente” da aplicação. É responsável por receber as</p><p>informações inseridas pelos usuários, processá-las, repassá-las ao Back-End se</p><p>necessário e por fim, exibir os resultados de maneira organizada na interface.</p><p>49</p><p>Por exemplo, em um sistema de gerenciamento de estoque de produtos, a área</p><p>de Front-End pode apresentar uma interface gráfica onde o usuário pode preencher</p><p>um formulário com informações sobre um novo produto, como nome, preço e</p><p>quantidade em estoque etc. Quando o usuário for enviar o formulário, é esta área em</p><p>questão que será o responsável por enviar os dados para o banco de dados, que</p><p>armazenará as informações.</p><p>Os desenvolvedores que trabalham nesta parte do software têm uma estreita</p><p>colaboração com os designers para traduzir as ideias e conceitos visuais em código,</p><p>criando interfaces atraentes e intuitivas que os usuários podem interagir facilmente.</p><p>E agora referente ao projeto em geral, a escolha das tecnologias e ferramentas</p><p>de desenvolvimento, para o Front-End e de Back-End referente ao banco de dados e</p><p>interfaces depende das necessidades do projeto e das habilidades da equipe de</p><p>desenvolvimento, e pensando em isso nós da equipe Bacelar Technology LTDA,</p><p>optamos a princípio por desenvolver todo o SAD na linguagem Python.</p><p>Escolhemos Python como a linguagem de programação do nosso projeto pois</p><p>é uma linguagem de alto nível, versátil, que irá nos ajudar tanto em GUI (Graphical</p><p>User Interface ou Interface Gráfica de Usuário) quanto em Back-End e Front-End, e</p><p>por ser Open-sourse (gratuita para o uso e distribuição). Além de ser uma linguagem</p><p>com um grau de dificuldade baixo (porém super eficaz), e por ser a linguagem de</p><p>programação que a equipe tem mais afinidade, além de claro ser suficiente para</p><p>atender as regras de negócio.</p><p>Python foi criada por Guido van Rossum, e disponibilizada pela primeira vez</p><p>em 20 de fevereiro, 1991. O nome da linguagem de programação Python vem de um</p><p>antigo show de tv, uma comédia da BBC chamada Monty Python’s Flying Circus. Com</p><p>o incrível fato de ser criada por apenas uma pessoa (sendo ao longo do tempo</p><p>desenvolvida por diversas pessoas e comunidades).</p><p>50</p><p>15 PROJETO DO SISTEMA</p><p>Para o projeto do sistema, foi feito um framework (estrutura) do projeto, com</p><p>base no que será feito, interligando as etapas como visto na figura 15. Inicialmente</p><p>terá o banco de dados onde serão armazenadas as informações uteis do negócio,</p><p>após isso virá o Back-End visto anteriormente, e, por fim, o Front-End, na imagem há</p><p>os detalhamentos de cada etapa bem como suas interligações.</p><p>Figura 15 – Projeto do Sistema</p><p>Banco de Dados</p><p>MySQL</p><p>Avaliações</p><p>Clientes</p><p>Produtos</p><p>Estoque</p><p>Acessos dos</p><p>Usuários (DB)</p><p>Vendas</p><p>Fornecedores</p><p>New Indie stock system framework – Local Application</p><p>Back-End</p><p>Python</p><p>Análise</p><p>estatística</p><p>Criação de</p><p>relatórios</p><p>Criação de</p><p>informação</p><p>Controle de</p><p>Acesso</p><p>Automação</p><p>Alertas</p><p>Front-End</p><p>Python</p><p>Relatórios on-demand</p><p>& automatizados</p><p>Controle</p><p>de Estoque</p><p>Insights e</p><p>oportunidades</p><p>Controle de</p><p>acesso (Login)</p><p>Manipulação</p><p>de dados</p><p>Nível 01 – Banco de dados onde se</p><p>armazenará todas as tabelas para o</p><p>estabelecimento de relações.</p><p>Os atributos e as entidades serão</p><p>definidos pelas regras negócio e</p><p>construídos segundo o planejamento</p><p>exposto na seção de banco de dados.</p><p>Nível 03 – Front-End onde o usuário irá</p><p>interagir com as informações e dados</p><p>armazenados nas fases anteriores, de</p><p>maneira gráfica, possuindo controle de</p><p>acesso por meio do login para garantir a</p><p>segurança do sistema, além de possuir</p><p>telas acessíveis dependendo do nível de</p><p>acesso do usuário, com insights,</p><p>gráficos, linhas de tendência, visão total</p><p>do estoque e relatórios para análises não</p><p>automatizadas.</p><p>Gera relatórios pré-</p><p>definidos configurados</p><p>pelo usuário, assim</p><p>como gerência os</p><p>alertas e os acessos</p><p>por meio de</p><p>requisições ao banco</p><p>de dados.</p><p>analisa os dados no</p><p>banco, para gerar</p><p>oportunidades de</p><p>negócio de maneira</p><p>automatizada, criando</p><p>informação e valor para</p><p>o cliente</p><p>Nível 02 – Back-End</p><p>Fonte: Autoria própria.</p><p>51</p><p>16 CONCLUSÕES ATÉ O MOMENTO</p><p>Em vista de tudo que foi retratado acima, podemos perceber a importância dos</p><p>SADs nos dias de hoje em seus mais diversos componentes, além de expor com</p><p>clareza o conhecimento geral necessário para entender os processos que involucram</p><p>a construção de um software deste gênero.</p><p>No contexto atual do mundo tecnológico, cada vez mais e mais informação tem</p><p>sido transformada em dados com velocidade e em volumes inestimáveis, tais dados</p><p>isoladamente não podem representar informações do mundo real refletidas em um</p><p>banco de dados, porém são capazes de demonstrar seu potencial na presença de um</p><p>software de auxílio para a tomada de decisões.</p><p>Esses softwares não limitados pela capacidade humana, ajuntam e coordenam</p><p>os dados segundo modelos pré-estabelecidos para gerar possíveis informações a</p><p>serem interpretadas pelos seres humanos, tornando possível não somente a gestão</p><p>de assets através do mundo todo, mas a criação de oportunidades de negócio com</p><p>base em análise dados ao mais baixo nível, que levariam dias para serem analisados</p><p>por seres-humanos, tornando esses softwares ferramentas de auxilio e que</p><p>dependemos muito nos dias de hoje.</p><p>Com representatividade no pedido de nosso cliente fictício, foi possível</p><p>representar os processos no modelo cascata, desde o recebimento dos requisitos,</p><p>refinamento dos mesmos com base na viabilidade técnica e legal, planejamento de</p><p>desenvolvimento e estruturação dos pré-requisitos como a base de dados,</p><p>embasando assim, com sucesso, nosso planejamento para a construção do software</p><p>em questão.</p><p>52</p><p>REFERÊNCIAS</p><p>BRUSCHI, Adriano; BREVE, Fabricio; GIORDANO, Luís. Construindo Sistemas de</p><p>Apoio à Decisão. Trabalho acadêmico (Sistemas de Informação) - Universidade</p><p>Estadual Paulista, [S. l.]. Disponível em:</p><p>https://www.fabriciobreve.com/trabalhos/sad.php#.ZEbNid3MKaG. Acesso em: 16</p><p>mar. 2023.</p><p>MACHADO, Francis. Limitações e deficiências no uso da informação para tomada de</p><p>decisões. Caderno de pesquisas em administração, São Paulo, v. 9, n. 2, p. 59-</p><p>63, 2002. Disponível em:</p><p>http://tecspace.com.br/paginas/aula/faccamp/TI/Texto13.pdf. Acesso em: 17 de mar.</p><p>de 2023.</p><p>ARONSON, Jay ; LIANG, Ting-Peng; MACCARTHY, Richard. Decision support</p><p>systems and intelligent systems. Upper Saddle River, NJ, USA:: Pearson Prentice-</p><p>Hall, 2005. Disponível em: http://sutlib2.sut.ac.th/sut_contents/H86360.pdf. Acesso</p><p>em: 17 de mar. de 2023.</p><p>CLERICUZI, Adriana; JÚNIOR, Tarcísio. Discussão sobre modelos para</p><p>desenvolvimento de sistemas de apoio a decisão específico. Simpósio de</p><p>Excelência em Gestão e Tecnologia, p. 01-10, 2009. Disponível em:</p><p>https://www.aedb.br/seget/arquivos/artigos09/370_370_artigo.pdf. Acesso em: 17 de</p><p>mar. de 2023.</p><p>ENCONTRO NAC. DE ENG. DE PRODUÇÃO - ENEGEP, XXIII, 2003, Ouro Preto,</p><p>MG, Brasil. Desenvolvimento de um sistema de apoio à decisão (SAD) para</p><p>previsão de estoques com suporte estatístico [...]. 2003. p. 8. Disponível em:</p><p>https://abepro.org.br/biblioteca/enegep2003_tr0902_0830.pdf. Acesso em: 17 de</p><p>mar. de 2023.</p><p>VINICIUS, Douglas. Sistema de Apoio à Decisão (SAD). [S. l.], 2015. Disponível</p><p>em: addowirole.blogspot.com/p/sistema-de-apoio-decisao-sad.html. Acesso em: 17</p><p>mar. 2023.</p><p>NEW Chat. In: ChatGPT. Países Baixos, 1991. Disponível em:</p><p>https://chat.openai.com/chat. Acesso em 17 de mar. de 2023.</p><p>CLERICUZI, Adriana; JÚNIOR, Tarcísio. Discussão sobre modelos para</p><p>desenvolvimento de sistemas de apoio a decisão específico. Simpósio de</p><p>Excelência em Gestão e Tecnologia, p. 01-10, 2009. Disponível em:</p><p>https://www.aedb.br/seget/arquivos/artigos09/370_370_artigo.pdf. Acesso em: 17 de</p><p>mar. de 2023.</p><p>BARBOSA, Gilka Rocha; ALMEIDA, Adiel Teixeira de; COSTA, Ana Paula Cabral</p><p>Seixas. SAD: Análise da percepção de usuários e desenvolvedores através de</p><p>análise fatorial. Production, v. 16, p. 216-228, 2006. Disponível em:</p><p>https://www.prod.org.br/article/10.1590/S0103-</p><p>65132006000200004/pdf/1574685864-16-2-216.pdf. Acesso em: 18 de mar. de</p><p>53</p><p>2023.</p><p>MACEDO, Mateus Henrique Basso; SALGADO, Eduardo Gomes. Gerenciamento de</p><p>risco aplicado ao desenvolvimento de software. Sistemas & Gestão, v. 10, n. 1, p.</p><p>158-170, 2015. Disponível em:</p><p>https://www.revistasg.uff.br/sg/article/view/V10N1A13/SGV10N1A13. Acesso em: 20</p><p>de mar. de 2023.</p><p>LEOPOLDINO, Claúdio. Avaliação de Riscos em Desenvolvimento de Software.</p><p>Orientador: Denis Borenstein. 2004. 151 f. Dissertação de mestrado (Pós-graduação</p><p>em administração) - Escola de Administração, Universidade Federal do Rio Grande</p><p>do Sul, Porto Alegre, 2004. Disponível em:</p><p>https://www.lume.ufrgs.br/bitstream/handle/10183/4616/000413617.pdf?sequence=.</p><p>Acesso em: 20 de mar. de 2023.</p><p>ANTUNES, Daniel. 6 Riscos Gerenciais do Desenvolvimento de Software. [S. l.],</p><p>2019. Disponível em: https://www.gobacklog.com/blog/riscos-gerenciais-</p><p>desenvolvimento-software/. Acesso em: 21 mar. 2023.</p><p>AMARAL, Fernando. Introdução à ciência de dados: mineração de dados e big</p><p>data. Alta Books Editora, 2016. Disponível em:</p><p>https://books.google.com.br/books?id=hAlVDQAAQBAJ. Acesso em: 18 de mar. de</p><p>2023.</p><p>O QUE é um banco de dados?. Disponível em: https://aws.amazon.com/pt/what-</p><p>is/database/. Acesso em: 20 mar. 2023.</p><p>O QUE é um Banco de Dados?. Disponível em:</p><p>https://www.oracle.com/br/database/what-is-database/. Acesso em: 20 mar. 2023.</p><p>MELO, Daniel. O que é SQL? [Guia para iniciantes]. Disponível em:</p><p>https://tecnoblog.net/responde/o-que-e-sql/. Acesso em: 21 mar. 2023.</p><p>SQL – o que é e como funciona na prática?. 10 ago. 2020. Disponível em:</p><p>https://www.pravaler.com.br/sql-o-que-e-e-como-funciona-na-pratica/. Acesso em: 22</p><p>mar. 2023.</p><p>SQL: Aprenda a utilizar a chave primária e a chave estrangeira. [S. l.], 2020.</p><p>Disponível em: https://www.devmedia.com.br/sql-aprenda-a-utilizar-a-chave-primaria-</p><p>e-a-chave-estrangeira/37636. Acesso em: 23 mar. 2023.</p><p>PISA, Pedro. O que é e como usar o MySQL?. TechTudo, [S. l.], 17 abr. 2012.</p><p>Disponível em: https://www.techtudo.com.br/noticias/2012/04/o-que-e-e-como-usar-</p><p>o-mysql.ghtml. Acesso em: 25 mar. 2023.</p><p>Disponível em: https://www.devmedia.com.br/introducao-ao-mysql/27799. Acesso</p><p>em: 25 de mar. de 2025.</p><p>MILANI, André. MySQL - guia do programador. Novatec Editora, 2007. Disponível</p><p>54</p><p>em: https://books.google.com.br/books?hl=pt-BR&lr=&id=81EwMDA-</p><p>pC0C&oi=fnd&pg=PA19&dq=Mysql&ots=xPDt76qU_E&sig=jlx27Fax5TYXXiTgSE7S</p><p>Ed9H-3Y#v=onepage&q=Mysql&f=false. Acesso em: 20 de mar. de 2023.</p><p>SILVA, Gabriel. Memórias: Circuitos Lógicos. UFRJ. Disponível em:</p><p>https://dcc.ufrj.br/~gabriel/circlog/Memoria.pdf. Acesso em: 23 de mar. de 2023.</p><p>BOGHI, Cláudio. Ranking de Sistemas de Bancos de Dados mais usados em</p><p>2021/2022. RedeTV, [S. l.], 6 abr. 2022. Disponível em:</p><p>https://www.redetv.uol.com.br/colunistas/desvendando-a-tecnologia/ranking-de-</p><p>sistemas-de-bancos-de-dados-mais-usados-em-2021-2022. Acesso em: 23 mar.</p><p>2023.</p><p>CLOUD, Google. O que é um banco de dados relacional?. [S. l.], 20--. Disponível</p><p>em: https://cloud.google.com/learn/what-is-a-relational-database?hl=pt-br. Acesso</p><p>em: 23 mar. 2023.</p><p>OLIBONI, Daniel. O que é um SGBD?. [S. l.], 8 jun. 2016. Disponível em:</p><p>https://www.oficinadanet.com.br/post/16631-o-que-e-um-sgbd. Acesso em: 23 mar.</p><p>2023.</p><p>SGBD: o que é, como funciona e principais vantagens. [S. l.], 22 jan. 2021.</p><p>Disponível em: https://www.fiveacts.com.br/sgbd/. Acesso em: 23 mar. 2023.</p><p>DIAMOND, Paul. Armazenamento em nuvem vs. servidores locais: nove</p><p>considerações importantes. [S. l.], 25 set. 2020. Disponível em:</p><p>https://www.microsoft.com/pt-br/microsoft-365/business-insights-</p><p>ideas/resources/cloud-storage-vs-on-premises-servers. Acesso em: 23 mar. 2023.</p><p>TORANZO, Bruno. DATA WAREHOUSE: O QUE É, PARA QUE SERVE E COMO</p><p>FUNCIONA. Insper, São Paulo, 1 nov. 2022. Disponível em:</p><p>https://www.insper.edu.br/noticias/data-warehouse-o-que-e-para-que-serve-e-como-</p><p>funciona/?gclid=CjwKCAjw5dqgBhBNEiwA7PryaIwEOpc_wHf88x8rDwsyT2ebtRf6qT</p><p>bwwPdvoeCzH58JDrbXJ1tJ-RoC62QQAvD_BwE. Acesso em: 23 mar. 2023.</p><p>PIMENTEL, Renato. Modelo entidade-relacionamento (MER). FACOM, 2022.</p><p>Disponível em: https://www.facom.ufu.br/~rpimentel/files/ges013-2022-</p><p>1/ges013.er.pdf. Acesso em: 16 de mar. de 2023.</p><p>PIMENTEL, Renato. Mapeamento do MER para relacional. FACOM, 2022.</p><p>Disponível em: https://www.facom.ufu.br/~rpimentel/files/ges013-2022-</p><p>1/ges013.map.pdf. Acesso em: 17 de mar. de 2023.</p><p>SANTOS, Hudyson. E-commerce de bebidas. Orientador: Prof. Ma. Diomara</p><p>Martins Reigato Barros. 2022. 34 p. Trabalho de Conclusão de Curso (Graduação)</p><p>(Curso de Análise e Desenvolvimento de Sistemas) - Fundação Educacional do</p><p>Município de Assis, Assis/SP, 2022. Disponível em:</p><p>https://cepein.femanet.com.br/BDigital/arqTccs/2011550343.pdf. Acesso em: 17 mar.</p><p>2023.</p><p>55</p><p>DIAGRAMAS UML no Visio. [S. l.], 20--. Disponível em:</p><p>https://support.microsoft.com/pt-br/office/diagramas-uml-no-visio-ca4e3ae9-d413-</p><p>4c94-8a7a-38dac30cbed6#OfficeVersion=Web. Acesso em: 17 mar. 2023.</p><p>BACURAU, Rodrigo M.; LEAL, Brauliro G.; RAMOS, Ricardo A. Uma Abordagem</p><p>para a Construção de Diagramas da UML Concomitante à Prototipação de Interface.</p><p>2022. Disponível em: http://www.univasf.edu.br/~brauliro.leal/pesquisa/Bacurau-</p><p>5.pdf. Acesso em: 20 de mar. de 2023.</p><p>MANIERO, Antonio. Qual a diferença entre MER (Modelo de Entidade</p><p>Relacionamento) e DER (Diagrama de Entidade Relacionamento)?. Rio Claro,</p><p>2018. Disponível em: https://pt.stackoverflow.com/questions/328342/qual-a-</p><p>diferen%C3%A7a-entre-mer-modelo-de-entidade-relacionamento-e-der-diagrama-d.</p><p>Acesso em: 20 mar. 2023.</p><p>MICROSOFT. O que é modelagem de dados?. [S. l.], 20--. Disponível em:</p><p>https://powerbi.microsoft.com/pt-br/what-is-data-modeling/. Acesso em: 23 de mar.</p><p>de 2023.</p><p>DATE, C.J. Introdução a Sistemas de Bancos de Dados. São Paulo: Grupo GEN,</p><p>2004. E-book. ISBN 9788595154322. Disponível em:</p><p>https://integrada.minhabiblioteca.com.br/#/books/9788595154322/. Acesso em: 24</p><p>mar. 2023.</p><p>NETO, Joel. MER e DER: Modelagem de Bancos de Dados. Rio de Janeiro, 2014.</p><p>Disponível em: https://www.devmedia.com.br/mer-e-der-modelagem-de-bancos-de-</p><p>dados/14332. Acesso em: 24 mar. 2023.</p><p>ESPINHA, Roberto. Processo de desenvolvimento de software: entenda como</p><p>funciona na prática. Artia. Disponível em: https://artia.com/blog/processo-de-</p><p>desenvolvimento-de-software. Acesso em: 17 de mar. de 2023.</p><p>Disponível em:</p><p>https://edisciplinas.usp.br/pluginfile.php/2939594/mod_resource/content/1/Aula02_M</p><p>odelosProcessos.pdf. Acesso em: 22 de mar. de 2023.</p><p>MYERS, Brad A. User interface software technology. ACM Computing Surveys</p><p>(CSUR), v. 28, n. 1, p. 189-191, 1996. Disponível em:</p><p>https://dl.acm.org/doi/pdf/10.1145/234313.234394. Acesso em: 21 de mar. de 2023.</p><p>PONTES, Adéle Malta; ORTH, Afonso Inácio. Uma proposta de interface de software</p><p>orientada à linguagem de sinais. In: Anais. II Workshop sobre Fatores Humanos</p><p>em Sistemas Computacionais. Campinas: Unicamp. 1999. p. 1-6. Disponível em:</p><p>https://www.unicamp.br/~ihc99/Ihc99/AtasIHC99/art31.pdf. Acesso em: 21 de mar. de</p><p>2023.</p><p>O QUE é uma Interface (sistema ou software). Disponível em:</p><p>https://www.significados.com.br/interface/. Acesso em: 21 de mar. de 2023.</p><p>56</p><p>INTERFACE. In: DICIO. [S. l.: s. n.], 2009. Disponível em:</p><p>https://www.dicio.com.br/interface/. Acesso em: 21 mar. 2023.</p><p>COMO O design para sistemas pode ajudar a sua empresa. In: HOMEM</p><p>MÁQUINA. Homem Máquina. [S. l.], 22 jul. 2021. Disponível em:</p><p>https://www.homemmaquina.com.br/design-para-sistemas-importancia/. Acesso em:</p><p>22 mar. 2023.</p><p>SOUZA, Nathan. Design Systems: exemplos práticos. Alura, [s. l.], 16 set. 2022.</p><p>Disponível em: https://www.alura.com.br/artigos/design-systems-exemplos-praticos.</p><p>Acesso em: 22 mar. 2023.</p><p>ELMASRI, Ramez. Sistemas de Banco de Dados. 7. ed. [S. l.]: Pearson, 2019.</p><p>1152 p. ISBN 8543025001. Disponível em:</p><p>https://plataforma.bvirtual.com.br/Leitor/Publicacao/168492/pdf/98. Acesso em: 21</p><p>de abr. de 2023.</p><p>BR Modelo Web. In: BrModelo. Santa Catarina, 2005. Disponível em:</p><p>https://www.brmodeloweb.com. Acesso em: 21 de abr. de 2023.</p><p>FRANCK, Kewry Mariobo; PEREIRA, Robson Fernandes; DANTAS FILHO, Jerônimo</p><p>Vieira. Diagrama Entidade-Relacionamento: uma ferramenta para modelagem de</p><p>dados conceituais em Engenharia de Software. Research, Society and</p><p>Development, v. 10, n. 8, p. e49510817776-e49510817776, 2021. Disponível em:</p><p>https://rsdjournal.org/index.php/rsd/article/view/17776/15626. Acesso em: 21 de abr.</p><p>de 2023.</p><p>TIBCO. What is a Logical Data Model?. TIBCO, [s. l.], 2023. Disponível em:</p><p>https://www.tibco.com/reference-center/what-is-a-logical-data-model. Acesso em: 20</p><p>abr. 2023.</p><p>MODELAGEM lógica de dados. Erwin by Quest, [s. l.]. Disponível em:</p><p>https://www.erwin.com/br-pt/solutions/data-modeling/logical.aspx. Acesso em: 20 abr.</p><p>2023.</p><p>SOUTO, Mario. Front-end,</p><p>Back-end e Full Stack. Alura, [S. l.], 17 jan. 2023.</p><p>Disponível em: https://www.alura.com.br/artigos/o-que-e-front-end-e-back-end.</p><p>Acesso em: 22 abr. 2023.</p><p>SANTOS, Diego. Plataforma Online para Criação de Jogos Personalizados com</p><p>Labirintos para Introdução à Lógica de Programação. Orientador: Profa. Andrea</p><p>Schwertner Charão. 2022. 32 p. Trabalho Final de Graduação (Curso de</p><p>Bacharelado em Sistemas de Informação) - Universidade Federal de Santa Maria,</p><p>Santa Maria, RS, 2022. Disponível em:</p><p>https://repositorio.ufsm.br/bitstream/handle/1/26174/TG_Diego%20Viana%20dos%2</p><p>0Santos.pdf?sequence=1&isAllowed=y. Acesso em: 22 abr. 2023.</p><p>ABOUT Python. In: Python. Países Baixos, 1991. Disponível em:</p><p>https://www.python.org/about/. Acesso em: 23 abr. 2023.</p><p>57</p><p>SOMMERVILLE, Ian. Engenharia de Software. 9. ed. São Paulo: Pearson</p><p>Education, 2011. 532 p. Disponível em:</p><p>https://plataforma.bvirtual.com.br/Leitor/Publicacao/2613/pdf/48. Acesso em: 22 mar.</p><p>2023.</p><p>14</p><p>4.2.1 Dados não estruturados ........................................................................ 14</p><p>4.2.2 Dados Estruturados ............................................................................... 14</p><p>4.2.3 Dados Internos ...................................................................................... 14</p><p>4.2.4 Dados Externos ..................................................................................... 14</p><p>4.2.5 Dados de Simulação .............................................................................. 15</p><p>4.3 Riscos Gerados em seu Desenvolvimento e Atualização ............................ 15</p><p>4.4 Fases do Processo Decisórios do Sistema .................................................. 16</p><p>4.5 Limitações e Deficiências no Uso da Informação para Tomada de Decisões</p><p>16</p><p>5 BANCO DE DADOS ........................................................................................... 18</p><p>5.1 Linguagem SQL ........................................................................................... 18</p><p>5.2 Sobre o MySQL ............................................................................................ 20</p><p>6 METODOS DE ARMAZENAMENTO ................................................................. 21</p><p>7 SISTEMA GERENCIAMENTO DE BANDO DE DADOS (SGBD) ...................... 23</p><p>7.1 Relacional (SQL) .......................................................................................... 24</p><p>7.2 Não Relacional (NoSQL) .............................................................................. 24</p><p>7.3 Hierárquico ................................................................................................... 24</p><p>7.4 Orientado a Objeto (SGBDOO) .................................................................... 24</p><p>8 MODELOS DE DADOS...................................................................................... 27</p><p>8.1 Tipos de Modelos ......................................................................................... 27</p><p>8.1.1 Modelo Entidade-Relacionamento (MER) ............................................. 27</p><p>8.1.2 Diagrama Entidade-Relacionamento (DER) .......................................... 28</p><p>9 MODELOS DE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE ........ 30</p><p>9.1 Fluxo de Processos ...................................................................................... 30</p><p>9.1.1 Requisitos do cliente .............................................................................. 30</p><p>9.1.2 Especificações técnicas ......................................................................... 30</p><p>9.1.3 Desenvolvimento e Reuso ..................................................................... 31</p><p>9.1.4 Validação ............................................................................................... 31</p><p>9.1.5 Teste ...................................................................................................... 31</p><p>9.1.6 Implementação ...................................................................................... 32</p><p>9.2 Cascata ........................................................................................................ 33</p><p>10 FUNCIONAMENTO DE UMA INTERFACE ....................................................... 35</p><p>10.1 Definição de Interface ............................................................................... 35</p><p>10.2 Interface de um Software .......................................................................... 35</p><p>11 DESIGN DE SISTEMA ....................................................................................... 37</p><p>12 CARACTERÍSTICAS DE RELACIONAMENTO EMPRESARIAL ....................... 39</p><p>12.1 Empresa Desenvolvedora do Software ..................................................... 39</p><p>12.2 Empresa Fictícia: New Indie ..................................................................... 39</p><p>12.3 Regras de Negócio – Requisitos do Cliente .............................................. 40</p><p>13 PROCESSO DE MAPEAMENTO DO BANCO DE DADOS ............................... 42</p><p>13.1 Ferramenta CASE brModelo (Will) ............................................................ 43</p><p>13.2 Metadados do BD ..................................................................................... 43</p><p>13.3 Modelo Conceitual .................................................................................... 45</p><p>13.4 Modelo Lógico ........................................................................................... 46</p><p>14 BACK-END E FRONT-END DO SISTEMA ........................................................ 48</p><p>14.1 Definição de Back-End.............................................................................. 48</p><p>14.2 Definição de Front-End ............................................................................. 48</p><p>15 PROJETO DO SISTEMA ................................................................................... 50</p><p>16 CONCLUSÕES ATÉ O MOMENTO ................................................................... 51</p><p>REFERÊNCIAS ......................................................................................................... 52</p><p>6</p><p>1 INTRODUÇÃO</p><p>Aplicações digitais têm sido criadas em massa ao longo dos últimos anos para</p><p>as mais diversas finalidades, desde a ida a farmácia, aquisição de um bem de</p><p>consumo em um mercado e até a compra de um veículo, todas as áreas de nossa</p><p>vida têm sido marcadas pela presença de ferramentas construídas para convergir o</p><p>real com o digital, transformando tudo que fazemos em dados, depois os ordenando</p><p>e refinando até que atinjam o nível de informação e representem valor de uso.</p><p>Figura 1 – A Convergência Do Mundo Digital Com O Real</p><p>Fonte: MIT Sloan Review Brasil (https://mitsloanreview.com.br/post/por-que-toda-empresa-esta-</p><p>virando-uma-empresa-de-midia).</p><p>A densa quantidade dessas aplicações em múltiplas instâncias do nosso</p><p>cotidiano nos leva a normalização frente a este cenário, muitas vezes fazendo com</p><p>que não reflitamos sobre a origem, o objetivo delas e todo o processo por trás que faz</p><p>com que empresas e negócios de todo porte invistam cada dia mais em soluções</p><p>digitais.</p><p>Em frente aos diferentes fronts de interação com o público, tem se feito</p><p>necessário a criação de Sistemas de Auxílio à Decisão (SAD), isso porque mesmo</p><p>alguém dotado de experiência necessitaria muito tempo para recolher, analisar e</p><p>retirar conhecimento das informações providenciadas internamente e externamente</p><p>pelos dados. Assim o SAD tem desempenhado papel crucial em diversas escalas de</p><p>negócio, tendo seu renome marcado em empresas de grande escala onde se coletam</p><p>dados ao redor de todo o mundo ao mesmo tempo e que seriam impossíveis de serem</p><p>7</p><p>processados somente por mentes humanas, facilitando atividades do dia a dia,</p><p>acelerando e trazendo cada vez mais segurança aos planejamentos orientados ao</p><p>negócio por conta da predição dos acontecimentos futuros e facilitação nas ações do</p><p>presente embasados em dados, fazendo com que em muitos casos já sejam um motor</p><p>que dita os caminhos, possibilidades e dificuldades para que atinjam seus objetivos.</p><p>Com base nessas informações, exploraremos o caminho desde o pedido de um</p><p>software SAD até a integração em um cliente, debruçando sobre as aplicações</p><p>técnicas gerais e em seguida específicas para o desenvolvimento da aplicação</p><p>prevista neste projeto, também trazendo noções de esforço de desenvolvimento,</p><p>gerenciamento de projetos e metodologias que servirão de auxílio para a entrega</p><p>efetiva de um software de pequeno porte, avaliando valores gerados e muitos outros</p><p>fatores de preocupação para a engenharia de software, simulando assim o cenário</p><p>próximo ao que nos cerca.</p><p>8</p><p>2 APRESENTAÇÃO DO TRABALHO</p><p>Já é conhecido que nos dias de hoje os SADs estão presentes em diversos</p><p>contextos, que influenciam fortemente na decisão das companhias, em como elas,</p><p>enquanto entidades não corpóreas compostas por conjuntos</p><p>de pessoas, interagem</p><p>com cada um de seus até milhares de clientes, provedores, distribuidores e qualquer</p><p>outro tipo de entidade que possua relacionamento direto ou indireto com aquela</p><p>companhia, para muitas dessas interações temos os intermediadores SADs,</p><p>convergindo toneladas de informações em um compilado de fácil analise e resposta</p><p>efetiva e ágil.</p><p>Tendo em vista a importância dos SADs no mercado e no cotidiano das</p><p>pessoas, por meio de análises que levam a diversas tomadas de decisões, focamos</p><p>em distribuir este trabalho de modo a explorar os processos envolvidos na criação de</p><p>um software SAD, com base em requisitos de autoria própria, que guiarão todo o</p><p>caminho para uma entrega de caso específico.</p><p>Iniciando pelo estudo dos fundamentos e definições que cercam um SAD (a</p><p>partir do ponto de vista da engenharia de software), visando a total compreensão do</p><p>que criaremos a priori dos passos de como faremos. Seguido pelas noções básicas</p><p>de banco de dados (BD com enfoque ao relacional) e os sistemas que os gerenciam</p><p>(SGDB), uma vez que são uma base sólida e necessária para a construção da maioria</p><p>dos SADs, construindo sobre esta base sólida conhecimentos das metodologias de</p><p>armazenamento e representação dos objetos do mundo real portados ao digital,</p><p>abordando casos padrões em contraste aos que utilizaremos de fato neste projeto.</p><p>Considerando que um software é composto do produto final somado a</p><p>documentação associada, exporemos informações sobre metodologias de projeto e</p><p>documentação de banco de dados como: MER (Modelo Entidade Relacionamento) e</p><p>DER (Diagrama Entidade Relacionamento), adjunto das informações documentadas</p><p>de análise de risco, qualidade e seus derivados para todas as fases no</p><p>desenvolvimento da aplicação, fases tais que estarão sujeitas ao modelo de processo</p><p>de desenvolvimento de software Cascata ou Waterfall, além de abordar as definições</p><p>por trás deste modelo e sua contribuição quanto aos resultados finais.</p><p>Concluindo o projeto do SAD, debruçaremos sobre o desenvolvimento de uma</p><p>9</p><p>interface para conectar o usuário ao que foi construído até então, juntamente da</p><p>esquematização para o design do sistema, caminhando para o estudo e criação do</p><p>modelo analítico, assim formando o framework que utilizaremos para dar origem ao</p><p>software que atenderá a necessidade descrita nos requisitos inicialmente</p><p>fundamentados.</p><p>10</p><p>3 OBJETIVO</p><p>3.1 Objetivo Geral</p><p>Neste trabalho acadêmico, temos como objetivo específico fundamentar a</p><p>teoria básica dos processos que involucram o desenvolvimento de um SAD, bem</p><p>como prover noções matemáticas mínimas, metodologias, ferramentas e termos</p><p>necessários para a compreensão correta da proposta de implementação apresentada</p><p>no decorrer do trabalho.</p><p>Uma vez estruturado os fundamentos necessários, buscamos aprofundar cada</p><p>tópico desde metodologias de desenvolvimento de software (Frameworks de</p><p>Engenharia de Software), até a criação de interfaces com usuários e modelos</p><p>analíticos, tendo como alvo o que será utilizado para a criação do software, que será</p><p>proposta com base nos requisitos do cliente que serão especificados durante as fases</p><p>de desenvolvimento prevista no Framework escolhido.</p><p>Além disso, traremos sempre uma visão difundida entre o trabalho realizado a</p><p>mais baixo nível em termos de organização e estrutura de dados, assim como as</p><p>maneiras e metodologias que envolvem modelagem e criação de banco de dados,</p><p>visando obter e prover conhecimentos no tocante às possibilidades de</p><p>armazenamento de dados, dando enfoque na que será aplicada para o caso</p><p>específico.</p><p>Abordaremos também a visão geral da arquitetura do sistema SAD proposto</p><p>neste trabalho, bem como, apresentaremos informações recolhidas em cada fase</p><p>prevista no framework selecionado, permitindo assim acompanhar a criação do</p><p>software em uma visão ponta a ponta, levando ao entendimento de como é realizado</p><p>o desenvolvimento de um software e toda sua documentação associada, para assim</p><p>seguir de fato para a implementação prevista.</p><p>Por fim, objetivamos ao término possuir os conhecimentos necessários para</p><p>gerar um diagrama completo do software em questão, incluindo requisitos, banco de</p><p>dados, metodologias de teste, especificações de interface, objetos, framework e front-</p><p>end, representados em um modelo analítico que proverá informações do desempenho</p><p>e funcionamento do futuro software que será desenvolvido.</p><p>11</p><p>3.2 Objetivo Específico</p><p>Em específico com este trabalho acadêmico, temos como objetivo introduzir</p><p>conceitos teóricos que serão abordados para o nosso projeto final que será da Sistema</p><p>de Auxílio de Decisão, tendo início nas nossas regras de negócios (Requisitos dos</p><p>Cliente) que são a base para construção de qualquer tipo de software, levando em</p><p>consideração os atributos básicos e essenciais sendo eles Funcionalidade,</p><p>Desempenho, Confiabilidade, Usabilidade e Facilidade de Manutenção/Atualização, e</p><p>logo em seguida definimos as tecnologias que serão usadas como o SGBD mySQL e</p><p>também será elaborado ainda neste trabalho uma previa do sistema que será usado,</p><p>além de abordar conceitos gerais sobre o Banco de dados, SAD em geral, SGBD,</p><p>meios de armazenamento e interface seus tipos e suas funcionalidades, realizando</p><p>pesquisas de modo a expor o funcionamento destes componentes e como utilizá-los</p><p>em prol da realização do projeto final.</p><p>12</p><p>4 Sistema de Apoio à Decisão (SAD)</p><p>O Sistema SAD (Sistema de Apoio à Decisão) é uma ferramenta utilizada por</p><p>empresas para auxiliar em processos decisórios. Trata-se de um Conjunto de</p><p>tecnologias e processos que ajudam gestores e funcionários a analisar dados e</p><p>informações relevantes para tomadas de decisões estratégicas.</p><p>Neste tipo de software existem diferentes categorias, como o SAD baseado em</p><p>modelo, que utiliza modelos matemáticos para prever possíveis resultados, e o SAD</p><p>baseado em dados, que aplica informações armazenadas para gerar insights e</p><p>visualizações.</p><p>O uso de um sistema SAD pode trazer diversos benefícios para uma empresa,</p><p>como a redução de custos, aumento da eficiência operacional, melhora na qualidade</p><p>da tomada de decisão e aumento da competitividade no mercado e diversos outros</p><p>benefícios.</p><p>Porém, por outro lado, não utilizar um sistema SAD pode gerar problemas como</p><p>tomada de decisões com base em dados imprecisos, perda de oportunidades e</p><p>dificuldades em manter-se atualizado em relação aos concorrentes.</p><p>Existem também suas desvantagens, como a necessidade de alto investimento</p><p>em tecnologia e treinamento de pessoal especializado, a complexidade na integração</p><p>com sistemas existentes e a dependência do sistema para a tomada de decisão.</p><p>4.1 Processo de Construção de Software</p><p>O processo de construção de um software SAD envolve etapas como análise</p><p>de requisitos, modelagem de dados, desenvolvimento do sistema, testes e</p><p>implementação. É importante considerar estatísticas e tecnologias como algoritmos</p><p>de inteligência artificial, aprendizado de máquina e data mining para gerar insights</p><p>mais precisos.</p><p>As etapas que incluem no desenvolvimento do software SAD são:</p><p>4.1.1 Planejamento</p><p>São identificados e definidos os requisitos além de um plano geral para o</p><p>software. É importante também que os objetivos do software SAD estejam alinhados</p><p>13</p><p>com as necessidades da organização e que sejam claramente definidos;</p><p>4.1.2 Análise</p><p>É coletado e analisado dados relevantes para implementação do software SAD.</p><p>Os dados podem vir de fontes internas ou externas da organização e é imprescindível</p><p>que a qualidade dos dados seja verificada para não constituir erros;</p><p>4.1.3 Design</p><p>É feito a projeção da arquitetura do software, incluindo a estrutura dos dados,</p><p>as interfaces com o usuário e as funcionalidades. É importante que o design seja</p><p>flexível, organizado e intuitivo, além de ser adaptável para necessidades futuras;</p><p>4.1.4 Implementação</p><p>O software</p><p>informações relevantes e</p><p>atualizadas para a tomada de decisão.</p><p>Por último, os softwares SAD também podem ser afetados por problemas</p><p>técnicos, como falhas de software e hardware, falta de segurança e privacidade, e</p><p>problemas de integração com outros sistemas e processos de negócios.</p><p>18</p><p>5 BANCO DE DADOS</p><p>Banco de dados (BD) são estruturas onde estão armazenados diversos dados</p><p>ou informações, esses dados são armazenados e gerenciados nos softwares de</p><p>computadores. Através desses softwares, os dados podem ser manipulados de</p><p>maneira fácil, e para isso acontecer, os dados serão guardados em modelos com</p><p>linhas e colunas como nas planilhas.</p><p>Muitos perguntam qual a diferença entre banco de dados e planilhas, ambos</p><p>têm pequenas semelhanças, as planilhas são geralmente para manipulação de dados</p><p>com pequenos grupos de usuários que possam utilizar para entrega de relatórios e</p><p>controle de suas atividades. Já o banco de dados é utilizado para armazenamento de</p><p>grandes bases de dados, onde são armazenadas diversas informações, permitindo</p><p>que usuários possam navegar e encontrar dados rapidamente com segurança</p><p>utilizando as linguagens de programação complexas.</p><p>A maior parte dos bancos de dados utilizam uma linguagem de programação</p><p>chamada SQL, essa linguagem foi desenvolvida pela IBM juntamente com a Oracle</p><p>como sua principal contribuinte.</p><p>Existem diversos tipos de bancos de dados, cada um tem uma função diferente</p><p>de outro, alguns dos mais famosos são: Banco de dados orientados a objetos, banco</p><p>de dados relacionais, data Warehouse, banco de dados distribuídos, banco de dados</p><p>em nuvem, entre outros que existem.</p><p>Os softwares de banco de dados são conhecidos como “Sistema de</p><p>Gerenciamento de Banco de Dados” (DBMS ou SGBD). Esses softwares processam,</p><p>armazenam dados, realizam backup e relatórios de controle. Eles são utilizados para</p><p>editar, criar e guardar arquivos.</p><p>A utilização do banco de dados é importante, pois podemos ter uma grande</p><p>escalabilidade com eficiência para armazenamento de bilhões de dados. Dentro das</p><p>estruturas dos bancos temos a integridade dele, pois existem regras e condições</p><p>internas que são criadas pelo usuário para manter os dados de maneiras consistentes.</p><p>5.1 Linguagem SQL</p><p>A sigla SQL significa Structured Query Language que seria Linguagem de</p><p>19</p><p>Consulta Estruturada, esta linguagem foi padronizada pelo órgão internacional, para</p><p>realizar gerenciamento das informações em bancos de dados relacionais, com essa</p><p>linguagem é possível realizar consultas utilizando diversos parâmetros de pesquisas,</p><p>facilitando a inserção e a recuperação das informações no banco.</p><p>Os comandos mais utilizados dessa linguagem são: SELECT, INSERT,</p><p>UPDATE e DELETE, mas além desses existem diversos outros comandos para</p><p>utilização e manuseio dos dados. Ele também pode utilizar operadores de condições</p><p>lógicas como: AND, OR e NOT.</p><p>Além desses comandos eles são divididos em subgrupos que seriam:</p><p>• DML – Linguagem de Manipulação de Dados ou Data Manipulation</p><p>Language (por exemplo: SELECT, DELETE e INSERT);</p><p>• DDL – Linguagem de Definição de Dados ou Data Definition Language (por</p><p>exemplo: DROP);</p><p>• DCL – Linguagem de Controle de Dados ou Data Control Language</p><p>(exemplo: GRANT), e DTL – Data Transaction Language (por exemplo:</p><p>COMMIT).</p><p>Existem duas chaves no SQL, a chave primária e a chave estrangeira. A chave</p><p>primária é utilizada como identificador único da tabela e não recebe o mesmo valor.</p><p>Tem algumas características que podem levar em consideração, como: a chave não</p><p>pode ser nula, essas chaves são incrementadas automaticamente na tabela sem</p><p>precisar inseri-las, e cada um dos registrados da tabela podem possuir apenas uma</p><p>chave primária.</p><p>Figura 2 – Exemplo De Metadados</p><p>Fonte: Fernando Amaral, 2016.</p><p>20</p><p>5.2 Sobre o MySQL</p><p>O MySQL é um dos sistemas mais utilizado para gerenciamento do banco de</p><p>dados, o mesmo por ser categorizado como gerenciador de banco de dados relacional</p><p>utilizando a linguagem SQL para manipulação de dados. Ele é um dos bancos mais</p><p>utilizados no mundo inteiro consequentemente sendo usado por diversas empresas</p><p>de grande e pequeno porte.</p><p>Muitas delas o utilizam, pois, é de fácil manuseio já que sua interface é simples,</p><p>tendo ótima compatibilidade com a maioria dos sistemas operacionais como Windows,</p><p>Linux, Unix, FreeBSD e Mac OS X Server, pelo fato dele ser desenvolvido em C e</p><p>C++, e será por esses diversos benefícios que usaremos este SBGD para o</p><p>desenvolvimento do projeto SAD.</p><p>Para seu uso é necessário fazer uma instalação do servidor e através dele é</p><p>realizado o armazenamento dos dados. Podem os manuseá-los via console direto do</p><p>servidor ou usar ferramentas com interface gráfica, uma das mais utilizadas é o</p><p>MySQL Workbeach da empresa Oracle, nele é possível administrar os sistemas e</p><p>modelá-los.</p><p>Figura 3 – MySQL</p><p>Fonte: TechTudo (https://www.techtudo.com.br/noticias/2012/04/o-que-e-e-como-usar-o-mysql.ghtml)</p><p>21</p><p>6 METODOS DE ARMAZENAMENTO</p><p>Na era da informação é de suma importância ter o máximo de recursos ao seu</p><p>alcance para armazenar a maior quantidade possível de conhecimento, elementos,</p><p>ou como também podem ser chamados, os dados. Mas o que são esses dados e por</p><p>que eles devem ser armazenados de forma correta?</p><p>O dado em si pode ser denominado como qualquer tipo de acontecimento ou</p><p>fato que está registrado e com seu acesso não comprometido, como por exemplo uma</p><p>tabela com as informações do ano letivo de um colégio contendo fotos, notas de</p><p>avaliações, carga horária de uma disciplina, entre outros. Essas informações podem</p><p>consideradas dados. Na figura 4 há um exemplo de Banco de Dados com dados</p><p>meramente ilustrativos.</p><p>Figura 4 – Exemplo de Banco De Dados</p><p>Fonte: Imagens de autoria própria.</p><p>Todo o conteúdo produzido com o tempo tem a necessidade de ser guardado,</p><p>já que o armazenamento desses dados assegura muitos benefícios, como por</p><p>exemplo futuras consultas para próximas tomadas de decisões, elaboração das</p><p>informações de forma mais detalhada para análises, entre outros.</p><p>Como podemos armazenar esses dados? Primeiramente são necessários</p><p>alguns requisitos que devem ser seguidos antes de juntá-los, segundo Amaral</p><p>Fernando (2016) são “segurança da informação, integridade, minimização de</p><p>redundância, concorrência, otimização de espaço, entre outros”. Os dados podem ser</p><p>armazenados tanto no estado físico como a RAM e o CD, que são voláteis (funcionam</p><p>com base de energia elétrica), quanto no estado digital como a ROM e o Disco Rígido</p><p>que não são voláteis.</p><p>Existem muitos outros sistemas de gerenciamento de banco de dados (SGDB),</p><p>cada um com o seu uso para a situação desejada. Na figura 5, são listados os 10</p><p>SGDBs mais usados no período entre abril de 2021 até abril de 2022.</p><p>22</p><p>Figura 5 – Ranking dos 10 SGBDs Mais Usados</p><p>Fonte: DB-Engines (http://db-engines.com/en/).</p><p>Para armazenar os dados temos muitas escolhas para banco de dados, como</p><p>o Hierárquico, o Orientado a Objeto, NoSQL (Not Only SQL), mas usaremos o banco</p><p>de dados do tipo relacional, desenvolvido por volta dos anos 70 que tem como objetivo</p><p>guardar os dados por meio de atributos (Colunas da tabela) e tuplas (Linhas da tabela)</p><p>relacionando tabelas entre si. A coluna é a classificação desse dado e a linha é onde</p><p>o dado estará localizado, o SGBD escolhido foi o MySQL.</p><p>23</p><p>7 SISTEMA GERENCIAMENTO DE BANDO DE DADOS (SGBD)</p><p>Você já ouviu falar em SGBD? Esse acrônimo está intimamente relacionado à</p><p>coleta e uso de informações que ajudam as empresas, aplicações e usuários a tomar</p><p>decisões para criar soluções.</p><p>No atual mundo empresarial orientado para a tecnologia, o Sistema de</p><p>Gerenciamento de Banco de Dados (SGBD) é uma ferramenta crucial que ajuda a</p><p>gerenciar os dados com eficiência. Podendo ser usado para criar, gerenciar, consultar,</p><p>alterar, excluir, relacionar, importar e exportar</p><p>dados das tabelas do BD.</p><p>Figura 6 – Exemplificação do Fluxo de Dados</p><p>FONTE: ResearchGate (https://www.researchgate.net/figure/Figura-2-Interacao-entre-usuarios-</p><p>SGBD-e-banco-de-dados-Fonte-Adaptado-de-Date-1998_fig2_237739960). Acesso em: 20 de março</p><p>de 2023.</p><p>Ao implementar um sistema baseado neste tipo de software, a empresa estará</p><p>equipada para executar diversas tarefas e atividades com base em seus dados. E ter</p><p>esse suporte para o gerenciamento de dados, é fundamental na atualidade pois está</p><p>se tornando cada vez mais crucial para empresas de todos os portes e setores aderir</p><p>a estas novas tecnologias.</p><p>E obviamente que dependendo dos objetivos e das metas da empresa o nosso</p><p>modelo de sistema que será aplicado também irá mudar, pois os dados a serem</p><p>trabalhados também irão ser distintos, de forma que o sistema aplicado irá se adequar</p><p>para melhor desempenho e performance, tendo exemplos como: Relacional, Não</p><p>Relacional, Hierárquico e Orientado a Objetos, que serão explicados posteriormente.</p><p>24</p><p>7.1 Relacional (SQL)</p><p>De forma direta e um sistema com finalidade de conectar dados de origens</p><p>diferentes, sendo também o tipo mais comum de SGBD, este sistema expressa em</p><p>tabelas e relacionamentos através de chaves e utiliza a linguagem de busca SQL</p><p>(Structured Query Language) para relacionar os dados de tabelas, colunas linhas e</p><p>esquemas, além de ser o modelo escolhido para este trabalho.</p><p>Maiormente aplicados em: Oracle SQL, Microsoft SQL Server, PostgreeSQL,</p><p>MySQL, MariaDB.</p><p>7.2 Não Relacional (NoSQL)</p><p>Em comparação ao sistema Relacional, neste modelo não necessariamente</p><p>precisamos predefinir a estrutura de dados, tendo dados mais flexíveis não se</p><p>limitando a tabelas, linhas, colunas ou esquemas, e logo também geralmente não se</p><p>utiliza a linguagem SQL neste tipo.</p><p>Maiormente aplicados em: Cassandra, Redis, MongoDB, CouchDB, Apache</p><p>Hbase, Riak.</p><p>7.3 Hierárquico</p><p>Como o nome sugere é um modelo que toma a forma de hierarquia parecido</p><p>com uma árvore em sua maioria, onde dados “filhos” são ligados a dados “pais”, onde</p><p>os vínculos não estabelecidos entre tabelas como no modelo relacional.</p><p>7.4 Orientado a Objeto (SGBDOO)</p><p>Formato complexo com tipos de dados mistos e de implementação cara devido</p><p>a ser o modelo mais avançado no mercado, seu desenvolvimento de origem na base</p><p>da combinação de ideias de modelos de dados tradicionais e na linguagem de</p><p>programação orientada a objeto, sendo o modelo que junta a programação com a</p><p>engenharia de software.</p><p>Bom agora que já temos a noção de alguns modelos que existem e de como</p><p>funcionam, hora de falarmos sobre as vantagens operacionais e estratégicas que usar</p><p>um SGBD oferece:</p><p>Podemos começar falando pela diminuição do esforço humano durante todo o</p><p>25</p><p>processo, sendo o objetivo principal de um sistema de controle de dados a</p><p>automatização de tarefas trabalhosas que consomem muito tempo para serem</p><p>executadas manualmente, assim um SGBD pode localizar e manipular dados</p><p>rapidamente, substituindo a busca manual por um algoritmo automatizado que pode</p><p>realizar a tarefa em milissegundos, poupando o recurso humano para os negócios.</p><p>Outro ponto que podemos levar como vantagem de SGBD é sua customização</p><p>que se adapta a diferentes necessidades devido a ser um software de código fonte</p><p>aberto.</p><p>O armazenamento de dados idênticos ou semelhantes é um problema comum</p><p>ao lidar com dados. Um SGBD pode identificar e eliminar a redundância, resultando</p><p>em dados mais limpos e precisos, para melhores insights.</p><p>E por fim e não menos importante temos que levar em conta uma das principais</p><p>vantagens que grandes empresas tem ao usar o sistema de gerenciamento de BD</p><p>que é a questão de compartilhamento, onde um SGBD garante que todos, não importa</p><p>quantos usuários, tenham acesso aos arquivos, permitindo que compartilhem dados</p><p>de acordo com suas respectivas credenciais.</p><p>Quando se fala de compartilhamento, também e necessário falar um pouco</p><p>sobre o armazenamento que é um detalhe deveras importante, podemos dizer</p><p>facilmente que os três principais métodos de armazenamento são o Armazenamento</p><p>Local, onde o servidor de uma empresa é hospedado na sua própria infraestrutura, e</p><p>é mantido e administrado por uma equipe interna da empresa, em segundo temos o</p><p>tipo de Armazenamento em Nuvem que nada mais é, que a hospedagem de seus</p><p>dados através de um provedor de serviços externos, sendo possível gerenciar a conta</p><p>com os dados através do acesso à internet desde um celular até um desktop, e por</p><p>último temos o mais recente método de armazenamento que é o Data Warehouse,</p><p>que consiste num repositório central de informações, que pode aprimorar os recursos</p><p>de tomada de decisão. Ele recebe dados de sistemas transacionais, bancos de dados</p><p>relacionais e outras fontes, geralmente em intervalos fixos, e os armazena para uso</p><p>posterior, no decorrer deste documento já foi abordado mais sobre o tema de</p><p>armazenamento do BD.</p><p>Em resumo podemos observar que independente dos dados que serão usados,</p><p>26</p><p>se faz necessário um SGBD para sua gestão, pois além de todas as vantagens e sua</p><p>segurança que traz com sigo, esta é uma ferramenta que se adequa a diferentes tipos</p><p>e portes de negócio.</p><p>27</p><p>8 MODELOS DE DADOS</p><p>Os Modelos de Dados são definidos como um conjunto de ferramentas</p><p>conceituais que auxiliam, principalmente, na descrição de dados e em seus</p><p>relacionamentos, transformando-as em informações úteis e deduzindo fatos</p><p>adicionais. A partir disso, um dos principais motivos do uso da modelagem de dados</p><p>é o de reduzir os erros, melhorar a integridade dos dados e auxiliar na entrada de</p><p>dados excessivos, criando uma estrutura que aumenta a colaboração da equipe de</p><p>TI.</p><p>Para iniciar a utilização dos Modelos de Dados é fundamental determinar uma</p><p>organização da base de dados, sendo assim iniciado o Processo de Mapeamento.</p><p>Desse modo, tem-se ao menos duas fases na elaboração de um Banco de Dados, a</p><p>fase lógica e a fase física. Após o levantamento e a análise de dados, a primeira fase</p><p>a se seguir é a lógica, possui a função de representar as relações de forma correta e</p><p>eficaz, a fim de que as operações relacionais funcionem como o esperado, assim, os</p><p>tipos e as dependências entre os dados devem ser mencionados, utilizando de</p><p>esquemas conceituais e lógicos. Já a fase física é, portanto, derivada do projeto lógico,</p><p>focado em eficiência de armazenamento e desempenho, preservando a informação</p><p>entre as duas fases, nesta etapa é feita a aplicação do SQL, por exemplo.</p><p>8.1 Tipos de Modelos</p><p>Na primeira fase, são utilizados os Modelos de Dados, dentre estes há os</p><p>conceituais, modelo abstrato (esboço) dos dados, e os lógicos, estrutura de dados, o</p><p>mais utilizado é o Modelo Entidade-Relacionamento (MER).</p><p>8.1.1 Modelo Entidade-Relacionamento (MER)</p><p>O Modelo Entidade-Relacionamento (MER) é definido como um modelo que</p><p>transforma estruturas do mundo real para dentro de um banco de dados, sendo</p><p>formado por entidades, atributos e relacionamentos. No exemplo a seguir, foi feito um</p><p>esquema utilizando a conta bancária de um cliente de um banco, demonstrado na</p><p>Figura 7.</p><p>28</p><p>Figura 7 – Modelo Entidade-Relacionamento (MER)</p><p>Cliente:</p><p>#Nome</p><p>CPF_Cliente</p><p>Endereço</p><p>Conta:</p><p>#Saldo</p><p>Numero_Conta</p><p>Fonte: Autoria Própria.</p><p>A partir do MER, é feito o Diagrama de Entidade-Relacionamento (DER), porém</p><p>para representá-lo é necessário ter conhecimento dos principais conceitos do MER</p><p>citados anteriormente e explicados a seguir.</p><p>As entidades são um conjunto de dados do qual pretende-se obter informações,</p><p>podendo ser tanto objetos físicos quanto abstratos, representada por retângulos. Já</p><p>os atributos são os dados propriamente ditos, uma propriedade da entidade, ou seja,</p><p>se temos um cliente (entidade) precisaremos de informações acerca deste, como seu</p><p>nome, CPF e endereço (atributos). Por fim, tem-se os relacionamentos, é definido</p><p>como a</p><p>associação entre entidades, representado através de um losango conectando</p><p>cada entidade.</p><p>8.1.2 Diagrama Entidade-Relacionamento (DER)</p><p>Deste modo, utilizando destes conceitos citados anteriormente e construído o</p><p>DER, que possui como principal função fazer projetos e aprimorar o banco de dados</p><p>relacional, representando visualmente a parte lógica do projeto do banco de dados,</p><p>similar às outras notações que são muito usadas em projetos de software e banco de</p><p>dados, como diagramas de classe, exibição de uma estrutura do banco de dados de</p><p>um sistema, e a notação UML (Linguagem de Modelagem Unificada), uma linguagem</p><p>desenvolvida para especificar, construir, visualizar e documentar software. Assim</p><p>sendo, o DER não define os passos para o desenvolvimento do projeto, mas fornece</p><p>um meio de representação de sistemas de informação que auxilia a documentação e</p><p>comunicação entre os desenvolvedores.</p><p>Abaixo foi elaborado um exemplo de DER com base na figura 1, onde há o</p><p>relacionamento Conta Corrente entre as entidades Cliente e Conta que possuem seus</p><p>respectivos atributos.</p><p>29</p><p>Figura 8 – Diagrama de Entidade de Relacionamento</p><p>Fonte: Autoria Própria.</p><p>30</p><p>9 MODELOS DE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE</p><p>O processo de desenvolvimento de software tem evoluído juntamente com a</p><p>necessidade da sociedade, cada dia mais sendo necessário a criação ou</p><p>aprimoramento de técnicas para reduzir o tempo de desenvolvimento sem perder a</p><p>qualidade e segurança do produto final entregue ao cliente.</p><p>9.1 Fluxo de Processos</p><p>O workflow mais simplificado destes processos segue os seguintes passos:</p><p>Requisitos Do Cliente, Especificações Técnicas, Desenvolvimento / Reuso, Validação,</p><p>Teste e Implementação.</p><p>9.1.1 Requisitos do cliente</p><p>Primeiro e mais importante passo no planejamento do desenvolvimento de um</p><p>software, podemos tratá-lo como a alma da aplicação, por que uma vez incoerente</p><p>com os requisitos apresentados pelo cliente, o software perde o propósito de criação,</p><p>tornando vão todo e qualquer esforço imputado após essa fase.</p><p>De maneira breve, se resume ao primeiro contato com o cliente ou requerente</p><p>da aplicação digital, onde se coleta de maneira rústica e informal os “inputs” ou</p><p>detalhes mais elementares do que será o projeto do software e que deve</p><p>mandatoriamente nortear todas as discussões e planejamentos a seguir, sabendo que</p><p>majoritariamente das vezes ocorrem alterações e aprimoramentos nos planos iniciais.</p><p>Ainda nesta fase realizamos algumas análises de risco e de possibilidades de</p><p>implementação, visando avaliar qualquer implicação legal ou que não seja possível</p><p>de desenvolver, uma vez avaliado e aprovado pode-se seguir para o primeiro</p><p>processo no desenvolvimento do software.</p><p>9.1.2 Especificações técnicas</p><p>Etapa conhecida pela criação das user stories, onde é descrito, de modo ainda</p><p>prévio ao totalmente técnico, o esboço das componentes do sistema e suas</p><p>funcionalidades com uma base técnica e de caráter projetista, já tomando decisões</p><p>referente ao desenvolvimento, divergente da primeira ideia advinda dos requisitos,</p><p>mas totalmente alinhada com eles.</p><p>31</p><p>Essa fase é crucial para garantir o desenvolvimento correto do software, pois é</p><p>nela que se gera uma noção em todos os integrantes da equipe do que será feito e</p><p>que deve estar acordada entre os membros de equipe/squad para garantir que não</p><p>haja retrabalho, ou desperdício de recurso temporal, causados pela divergência entre</p><p>os entendimentos transmitidos.</p><p>Vale ressalvar, que esta etapa está alinhada diretamente com a primeira,</p><p>estando sujeita a revisões e alterações em virtude de mudanças nos requisitos, ou</p><p>descoberta de novas necessidades e problemas não previstos no primeiro modelo.</p><p>9.1.3 Desenvolvimento e Reuso</p><p>Após o cumprimento e revisão das fases anteriores, ainda não é chegado a</p><p>hora de desenvolver de fato o software, primeiramente é necessário quebrar a tarefa</p><p>em partes para a distribuição coordenada das peças em desenvolvimento similar a</p><p>uma fábrica, para então definir o método de desenvolvimento coerente e eficiente ao</p><p>projeto em particular.</p><p>Para alguns casos em que o tempo de desenvolvimento é a prioridade,</p><p>podemos utilizar do reuso de partes de softwares já produzidos para acelerar o</p><p>processo, o que é muito famoso em modelos embasados na prototipagem.</p><p>É importante citar que nesta fase já se encontram os primeiros testes, iniciando</p><p>pelos unitários conforme se escolhe ou desenvolve as peças que vão compor o</p><p>software, seguido pelos testes em conjunto conforme integramos um componente ao</p><p>outro, salvando assim tempo nas fases a seguir.</p><p>9.1.4 Validação</p><p>Não é incomum na transição de fases do projeto haver uma compreensão</p><p>errônea causada pela troca de informações ou mudanças no requisito do cliente, por</p><p>conta disso há muita importância nesta fase, uma vez que é nela que se garante que</p><p>o que foi desenvolvido está de acordo com o especificado, que por sua vez, deve-se</p><p>provar alinhado com as especificações do cliente.</p><p>9.1.5 Teste</p><p>Uma vez confirmado que o software se encontra dentro das especificações, é</p><p>32</p><p>necessário assegurar por meio de repetidos testes nos mais diversos cenários de uso,</p><p>isso para garantir que não só foram atendidas as especificações do cliente com suas</p><p>variâncias, como também a eficiência, qualidade, análise de risco do sistema e</p><p>facilidade de uso.</p><p>Pode-se também realizar testes com usuários nesta fase, o que permite um</p><p>maior nível de excelência nas entregas, uma vez que o próprio requerente pode ter</p><p>sofrido alguma mudança no contexto de negócio e a aplicação de algum de seus</p><p>requisitos ter sido comprometida, porém o mesmo não ter reportado esta mudança</p><p>nas especificações, tornando este teste muito útil para uma última validação do</p><p>sistema em relação ao esperado pelo cliente.</p><p>9.1.6 Implementação</p><p>Tendo sido concluídas todas as fases em relação ao desenvolvimento da</p><p>aplicação, é o momento de prover ao cliente manuais e treinamentos para que os</p><p>usuários estejam integrados ao software, levando assim a um retorno em valor para o</p><p>cliente, uma vez que o software somente demonstra seu potencial perante usuários</p><p>capacitados ao uso.</p><p>O suporte integrativo pode vir acompanhado de sessões de treinamento ou</p><p>somente da provisão de manuais, dependendo somente do acordado entre o</p><p>requerente e a companhia desenvolvedora de software, porém é um passo muito</p><p>importante para garantir a excelência de serviço prestado ao cliente e que pode ser</p><p>até mesmo decisivo quanto ao sucesso do software.</p><p>Há diversos outros modelos de desenvolvimento de software, cada um</p><p>contendo mudanças nas fases, com acréscimos ou realocação de tarefas de uma</p><p>etapa para outras visando atender as prioridades do desenvolvimento, seja no caso</p><p>do tempo, segurança, qualidade e assim por diante.</p><p>No entanto, temos acima descrito o que seria a essência para o</p><p>desenvolvimento estruturado, seguro e qualificado de um software e que embasará o</p><p>modelo escolhido para a execução deste trabalho.</p><p>33</p><p>9.2 Cascata</p><p>Um dos modelos de desenvolvimento de software mais tradicionais, porém,</p><p>ainda amplamente utilizado nos dias de hoje, isso porque os modelos consideram</p><p>diversos fatores para determinar o melhor método, como: produto a ser desenvolvido,</p><p>características inerentes a equipe, recursos disponíveis, tempo e assim por diante,</p><p>fazendo com que não exista um modelo ideal, mas sim o que atende melhor às</p><p>necessidades de um dado projeto.</p><p>No tocante à cascata (waterfall), é um modelo bem simplista que consiste em</p><p>uma iniciativa sequencial e sistemática, onde se engaja uma fase logo após o término</p><p>da anterior, garantindo uma significante margem de segurança na implementação das</p><p>interfaces e diminuindo a possibilidade de transmissão incorreta de informação entre</p><p>os times envolvidos, uma vez que somente após completa a fase anterior que se inicia</p><p>a seguinte.</p><p>Há uma</p><p>grande vantagem em termos de garantia das funcionalidades do</p><p>software, isso porque se prioriza a qualidade e a segurança em um sistema mais</p><p>conservador, garantindo que a entrega esteja alinhada com o definido nas fases</p><p>anteriores e consequentemente com os requisitos do cliente (mesmo quando</p><p>alterados durante o processo).</p><p>Porém, há um demérito principal em relação ao tempo de desenvolvimento,</p><p>dado a logística do modelo que não tem enfoque em economia de tempo, o cliente</p><p>deve ser muito paciente sabendo que só terá a oportunidade de ver os primeiros</p><p>modelos do software nas fases finais, o que incrementa o risco de ter mudanças</p><p>maiores de requisitos próximo ao fim do projeto, dado a impossibilidade do cliente de</p><p>testar e validar a versão primária de seus requisitos.</p><p>É importante citar que há variações do modelo cascata e que sofrem alterações</p><p>para balancear ou alterar o enfoque do modelo original, assim como anteriormente</p><p>descrito não há um modelo correto, mas o que de fato atende a necessidade de</p><p>desenvolvimento de um dado software.</p><p>Dado as características deste modelo e da entrega em questão neste projeto,</p><p>utilizaremos do modelo cascata para realizar a criação do software, juntamente com</p><p>sua documentação associada, garantindo a compreensão das especificações do</p><p>34</p><p>cliente até a etapa final de entrega do projeto.</p><p>As fases padrões conhecidas no modelo cascata são as expostas na figura 9.</p><p>Figura 9 – Exemplificação de um Framework de Cascata</p><p>Fonte: Ian Sommerville, 2011.</p><p>35</p><p>10 FUNCIONAMENTO DE UMA INTERFACE</p><p>10.1 Definição de Interface</p><p>Uma interface pode ser descrita como um dispositivo ou um sistema que faz</p><p>com que entidades que não necessariamente tenham uma relação possam interagir.</p><p>Exemplos dessa definição podem ser vistos como, o controle remoto sendo uma</p><p>interface entre uma pessoa e a televisão, a língua portuguesa sendo a interface entre</p><p>duas pessoas e um protocolo de comportamento é a interface entre pessoas de</p><p>diferentes patentes em alguns serviços.</p><p>10.2 Interface de um Software</p><p>A interface de uma aplicação é a parte de um software que o usuário verá e</p><p>poderá interagir com. Como visto nos exemplos anteriores, isso nada mais é do que</p><p>a forma em que o usuário irá interagir com o sistema. Um bom exemplo disso é o</p><p>desktop do sistema operacional Windows, que trará ao usuário acesso a diversas</p><p>informações e funções para que o usuário possa interagir com o computador.</p><p>Figura 10 – Interface</p><p>Fonte: Dicio (https://www.dicio.com.br/interface/).</p><p>A criação de uma interface para um software é baseada em diversos fatores.</p><p>Primeiramente deve ser visto quais são os requerimentos para qual objetivo o software</p><p>será criado, isso é de importância pois determinará se será possível atender a</p><p>demanda do cliente e a viabilidade. Também deve-se levar em conta o público-alvo</p><p>para determinar alguns fatores como qual o grau de conhecimento do usuário, a</p><p>36</p><p>acessibilidade do software e qual a melhor direção de design que atenda o projeto.</p><p>Então, tudo que seja feito terá que ser levado em consideração um balanço entre</p><p>usabilidade e viabilidade.</p><p>Figura 11 – Interface de Usuário</p><p>Fonte: Des1gnON (https://www.des1gnon.com/2013/07/16-dicas-para-uma-boa-interface-de-</p><p>usuario-ui/).</p><p>Para a criação de uma interface de software, teremos múltiplas opções de tipos</p><p>de interface para que se escolha a que melhor atenda aos requisitos. A interface</p><p>gráfica do usuário (GUI), interface de linha de comando (CLI), interface de usuário</p><p>orientada pelo menu, interface de toque do usuário, interface de voz do usuário (VUI),</p><p>interface do usuário baseado em formulário e interface de usuário de linguagem</p><p>natural.</p><p>Figura 12 – Interfaces GUI e CLI</p><p>Fonte: Future Techno India (https://futuretechnoindia.medium.com/graphical-user-interface-</p><p>gui-and-command-line-interface-cli-c1fd7c951c39?source=user_profile---------30-----------------</p><p>-----------).</p><p>37</p><p>11 DESIGN DE SISTEMA</p><p>Design de Sistema (Design System) é um conjunto de componentes</p><p>reutilizáveis, para um determinado produto, como site ou sistema de web, unificando</p><p>determinado produto, sendo um produto interno de uma empresa, que necessita de</p><p>pessoas que o atualizem enquanto estão desenvolvendo soluções novas, novos</p><p>componentes e novos guias de estilo.</p><p>Como o design system ainda é viva, existem exemplos conhecidos, que</p><p>possuem o seu sistema: O Stack Overflow tem um Design System com os padrões</p><p>que vai de classes CSS, é um exemplo muito conhecido na comunidade de UX e</p><p>Design.</p><p>A funcionalidade do design para sistemas bem planejados, vai além da</p><p>combinação de cores e elementos gráficos. O uso de um sistema, depende de um</p><p>design bem estruturado e com o foco especial, na facilitação e interação do usuário</p><p>com o sistema.</p><p>Com isso podemos pensar em uma interface de um certo sistema, como ocorre</p><p>a sua apresentação e como ele interage com o usuário envolvendo os elementos que</p><p>estão participando da interação, como botões, setas e legendas.</p><p>Nisso o design de interface, pode ser visto como o modelo que se apodera de</p><p>composições de arranjos entre os componentes para localizar resultados para os</p><p>problemas que o usuário pode ter com a interface, ou seja, um sistema como</p><p>operacional de celular, e suas entidades que precisam conversar de modo integrado,</p><p>com isso ficando no centro do processo de design.</p><p>Um bom design de interface necessita ter em consideração os componentes</p><p>que estão envolvidos no seu processo de criação, que são:</p><p>• Arquitetura de Informação: O seu principal objetivo é proporcionar uma</p><p>navegação muito mais simplificada para o seu usuário, independentemente</p><p>de seu navegador usado.</p><p>• Design de Interação: A criação do design deve ser levada em conta, como</p><p>ocorre na interação do usuário com o sistema, analisando os elementos</p><p>gráficos e audiovisuais do sistema, nas cores, fontes e tamanho das letras.</p><p>38</p><p>• Usabilidade: A usabilidade é fundamental quando o assunto é a criação do</p><p>sistema, afinal o sistema deve facilitar o uso do usuário e ser fácil de</p><p>navegar, intuitivo, e seus erros têm que ser levantados para que tenham</p><p>uma solução.</p><p>• Wireframing: Se refere na criação de teste dos recursos disponíveis e da</p><p>sua usabilidade, para certificar que o sistema pode ser iniciado. Esse teste,</p><p>além de ser muito importante, é também uma forma de visualizar como vai</p><p>funcionar o sistema na prática.</p><p>• Design Visual: É como será definida a marca da empresa, por isso tem um</p><p>impacto direto na interação entre o usuário e o sistema.</p><p>39</p><p>12 CARACTERÍSTICAS DE RELACIONAMENTO EMPRESARIAL</p><p>12.1 Empresa Desenvolvedora do Software</p><p>Descrição: Criada com o intuito de redefinir o conceito de software, a Bacelar</p><p>Technology LTDA foi fundada por um grupo de engenheiros universitários em 2023,</p><p>buscando dar vida as mais inovadoras soluções de software para o mundo de</p><p>business.</p><p>Temos como valor o cliente acima de tudo, entendemos a necessidade volátil</p><p>do mundo atual e por isso estamos prontos com nossos modelos de desenvolvimento</p><p>de software, junto de nossos profissionais capacitados, para entregar não um software</p><p>que auxilie um processo, mas uma solução para os problemas de nossos clientes e</p><p>assim como estes mudam todos os dias, estamos prontos para mudar o mundo com</p><p>você.</p><p>Abaixo foram descritas informações pontuais do projeto.</p><p>• Nome: Bacelar Technology LTDA.</p><p>• Área de negócio: Desenvolvedora de softwares.</p><p>• Porte: Pequeno.</p><p>• Localização: Não aplicável.</p><p>• Contato: bacelar.technology@gmail.com</p><p>12.2 Empresa Fictícia: New Indie</p><p>Descrição: A New Indie é a mais nova empresa focada no ramo alimentício, foi</p><p>fundada por um homem com grande ambição em mostrar para o mundo seu talento</p><p>para as vendas e para agradar seus clientes.</p><p>Seu nome é Richard Indie Junior, com 32 anos, apaixonado por música do estilo</p><p>indie abriu um estabelecimento com a temática desse</p><p>estilo musical, buscando</p><p>fornecer aos seus clientes a melhor experiência ao fazer uma simples compra de</p><p>mercado.</p><p>Preservando muito a experiência desde o momento em que o cliente pisa no</p><p>estabelecimento e escuta suas músicas preferidas. Trazendo os melhores preços da</p><p>40</p><p>região e a melhor experiência possível para todos.</p><p>Abaixo seguiram as informações pontuais da empresa fictícia que iremos</p><p>atender:</p><p>• Nome: New Indie</p><p>• Área de negócio: Comércio varejista de produtos.</p><p>• Público-alvo: Todos os públicos.</p><p>• Porte: Pequeno (10 Funcionários).</p><p>• Localização Geográfica: Av. Indianópolis 807, Indianápolis – SP</p><p>• Contato: richard.indie@gmail.com</p><p>• Nome: Richard Indie Junior</p><p>• Posição: Dono (CEO)</p><p>12.3 Regras de Negócio – Requisitos do Cliente</p><p>1) Problema que a empresa tem e a falta de controle no estoque e para isso ele quer</p><p>um SAD que tenha controle sobre o produto em específico e a quantidade que está</p><p>entrando e saindo do estoque, qual produto está tendo tempo demais no estoque</p><p>levando em consideração o tempo de validade do produto. Ter controle de</p><p>qualidade de produtos dos fornecedores, referente a integridade, valor e</p><p>quantidade do produto.</p><p>a) Baseado nesse controle do estoque fazer com que o sistema mostre os</p><p>produtos que estão mais perto da validade e que estão parados no estoque,</p><p>para a criação de possíveis promoções.</p><p>2) Ter o envio de um alerta sobre se o estoque de um produto em específico está</p><p>chegando limite e se necessário a compra de mais deste se aplicando ao conceito</p><p>de máximo e mínimo do produto, para não ter demasiado sobrando e nem faltando.</p><p>3) Ter esses relatórios de forma semanal/mensal e ter a visualização de dados, o</p><p>software deve ser capaz de fornecer visualizações claras e intuitivas dos dados,</p><p>como gráficos, tabelas e outros recursos, para facilitar a análise e interpretação</p><p>dos dados.</p><p>41</p><p>4) Cruzar as informações de volume de vendas com a informação de volume de</p><p>reclamações para saber como o negócio está indo na semana/mês, e tomar as</p><p>medidas necessárias.</p><p>5) Ter linhas de tendencias baseadas em dados para saber as épocas do ano,</p><p>semanas do mês e dias da semana que terão mais vendas de uma determinada</p><p>categoria de produto, levando em com a análise de dados, o software deve ser</p><p>capaz de realizar análises de dados avançadas, como análise de tendências,</p><p>previsão de demanda e análise de rentabilidade, para que a empresa possa tomar</p><p>decisões informadas com base nos dados.</p><p>6) Segurança: o software deve ter medidas de segurança adequadas para proteger</p><p>os dados da empresa, autenticação de usuário, para controlar o nível de acesso</p><p>de acordo de um perfil administrador.</p><p>7) Custo-benefício: o software não deve ser caro de manter, através de um software</p><p>estático e com um sistema local, com atualizações rotineiras evitando assim gastos</p><p>adicionais com suporte.</p><p>8) O software deve ter um painel que prove uma visão geral de vendas, feedbacks</p><p>de atendimentos do cliente e balanço econômico compreendidos entre as datas</p><p>de início e fim selecionadas com a possibilidade de extração através de um botão.</p><p>9) Ter o SAD com uma interface amigável e fácil de entender, para que os usuários</p><p>possam acessar facilmente as informações e tomar decisões rapidamente, sem</p><p>prejudicar o fluxo de trabalho do negócio.</p><p>42</p><p>13 PROCESSO DE MAPEAMENTO DO BANCO DE DADOS</p><p>Para iniciar a criação dos modelos relacional e lógico do projeto foi primeiro</p><p>feito uma análise de dados, além de ser feita uma breve pesquisa sobre, onde foram</p><p>selecionados os tipos de dados, como seriam utilizados, seus propósitos e possíveis</p><p>relacionamentos. A partir disso, foi arquitetado em planilhas os metadados das</p><p>entidades e atributos que iríamos utilizar, assim, foi determinado o aplicativo que seria</p><p>utilizado para fazer os modelos, que foi apresentado em aula, sendo esse o brModelo,</p><p>utilizado para fazer os modelos conceitual e lógico com base no Modelo Entidade-</p><p>Relacionamento (MER) para assim criar o Diagrama Entidade-Relacionamento (DER),</p><p>apresentado no trabalho anteriormente no tópico 9.</p><p>Quando feito a implantação das entidades e atributos no brModelo, foram feitos</p><p>os relacionamentos e as cardinalidades com base naquilo ensinado em sala de aula.</p><p>Retomando os conceitos já abordados, os relacionamentos são um conjunto de</p><p>associações entre entidades (tabelas) que se pretende manter informações no banco</p><p>de dados. Assim, para determinar o número mínimo e máximo de ocorrências entre</p><p>as entidades de um relacionamento binário, entre duas entidades, são utilizadas as</p><p>cardinalidades. Estas são classificadas em:</p><p>• Cardinalidade mínima: categorizada como uma associação opcional (0),</p><p>onde a entidade pode possuir ou não um valor associado aos valores de</p><p>outra entidade, ou associação obrigatória (1), onde uma entidade deverá ter</p><p>ao menos uma relação com a outra entidade;</p><p>• Cardinalidade máxima: podendo possuir os valores de um (1), onde uma</p><p>ocorrência da entidade pode estar associada a no máximo uma ocorrência</p><p>de outra entidade, e muitos (m ou n), expressando que não há um limite</p><p>para o número de ocorrências entre duas entidades.</p><p>Assim, pode-se concluir as razões de cardinalidade possíveis para tipos de</p><p>relacionamento binários são 0:1, 0:n, 1:1 e 1:n, levando em consideração apenas as</p><p>entidades que se relacionam. Será abordado novamente este assunto futuramente</p><p>demonstrando as entidades, atributos, relacionamentos e cardinalidades quando</p><p>demonstrado os modelos conceitual e lógico.</p><p>43</p><p>13.1 Ferramenta CASE brModelo (Will)</p><p>Para a criação do modelo conceitual e lógico do projeto, foi utilizada a</p><p>ferramenta brModelo. O brModelo é uma ferramenta de apoio ao projeto de BDs</p><p>relacionais desenvolvida pelo Grupo de BD da UFSC (GBD/UFSC).</p><p>Todas as ramificações e versões da brModelo apresentadas na seção anterior</p><p>compartilham as seguintes funcionalidades: suporte as três etapas tradicionais do</p><p>projeto de um BD relacional; geração da modelagem lógica e guiada pelo usuário</p><p>projetista; interface gráfica com o projetista intuitiva e rica em opções de menu e</p><p>ícones representando conceitos de modelagem que podem ser manipulados no estilo</p><p>drag-and-drop. Ou seja, o brModelo é uma ferramenta simples, fácil e eficaz para a</p><p>suas funcionalidades.</p><p>Assim, o processo de mapeamento consistiu-se em: analisar os tipos de dados</p><p>quer serão alocados; separá-los por quais seriam entidades, atributos e os tipos de</p><p>chaves; adicionar todos os respectivos dados na ferramenta CASE (no caso</p><p>brModelo), com os seus devidos artefatos (caixa de entidade, atributos etc.); definir,</p><p>adicionar e nomear relações entre as entidades; definir e adicionar as cardinalidades</p><p>das relações.</p><p>13.2 Metadados do BD</p><p>Metadados são informações que descrevem dados. Eles fornecem contexto e</p><p>informações adicionais sobre os dados, como seu tipo dado e uma descrição do que</p><p>se trata determinados atributos.</p><p>Os metadados são importantes para facilitar a organização, busca,</p><p>compartilhamento e reutilização dos dados, além de ajudar a garantir a qualidade e a</p><p>precisão deles. A seguir, das tabelas 1 a 11 é demonstrado os metadados que estão</p><p>presentes neste projeto.</p><p>Tabela 1 – Metadados da Tabela de Vendas</p><p>Atributos Tipo Descrição</p><p># ID_Venda INT Identificador da tabela Venda (Chave Primária)</p><p>Data_Venda DATE Data da Venda</p><p>ID_Produto INT Identificador da tabela Produto (Chave Estrangeira)</p><p>Qtd_Venda INT Quantidade de produtos vendidos por venda</p><p>ID_Promo INT Identificador da tabela Promo (Chave Estrangeira)</p><p>ID_Avalicao INT Identificador da tabela Avaliacao (Chave Estrangeira)</p><p>Fonte: Autoria Própria.</p><p>44</p><p>Tabela 2 – Metadados da Tabela de Lotes</p><p>Atributos Tipo Descrição</p><p># ID_Lote INT É o identificador do Lote (Chave Primaria)</p><p>Data_Entrega VARCHAR (30) É onde fica registrado a data de entrega do lote</p><p>ID_Produto INT É o identificador do produto (Chave Estrangeira)</p><p>Qtd_Lote</p>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.

Mais conteúdos dessa disciplina