Baixe o app para aproveitar ainda mais
Prévia do material em texto
PROJETO: SISTEMA “COLLEKTOR" Sistemas de Informação Mikhael de Almeida Barreto 201201377161 Vila Velha – 2021 Universidade Estácio de Sá Folha de Aprovação Resumo Este projeto contempla a concepção e desenvolvimento conceituais do sistema denominado ‘Collektor’. Debatendo desde as razões para sua concepção, mercado e usuários, até diagramas e modelos de dados para o seu desenvolvimento. A base do sistema é o fato de que ele dá liberdade ao usuário para criar campos variados em itens de uma lista, contida em uma coleção (ou conjunto). Tal liberdade permite que o sistema se adeque ás necessidades de uma grande variedade de usuários e possua a complexidade desejada. E como esse detalhe fica a cargo do usuário, alivia-se os custos e complexidade em sua criação. Apesar de ter sido inspirado em experiências próprias e de familiares, acredito que tal sistema seria extremamente útil a uma enorme parcela de usuários, já que todos possuímos coleções de algum tipo, de itens físicos ou não. SUMÁRIO 1. O Problema ............................................................................................................................. 6 1.1. Tema do trabalho............................................................................................................. 6 1.2 Contextualização ............................................................................................................ 6 1.3 A situação-problema ...................................................................................................... 6 1.4 Breve descrição da solução .......................................................................................... 6 2. Contextualização do Problema ........................................................................................ 7 2.1 Premissas e Restrições do projeto ................................................................................. 7 2.2 Caracterização da empresa ......................................................................................... 8 2.2.1 Histórico da empresa .................................................................................................... 8 2.2.2 Atividades da empresa ................................................................................................. 8 2.2.3 Mercado consumidor...................................................................................................... 9 2.2.4 Concorrência .................................................................................................................. 9 2.2.5 Organograma ................................................................................................................ 10 2.3. Proposta de trabalho ................................................................................................... 11 2.3.1. Método do trabalho ...................................................................................................... 11 2.3.2. Previsão e alocação de recursos (humanos e materiais)...................................... 11 2.3.3. Cronograma de Trabalho (diagrama de Gantt) ....................................................... 12 2.3.4. Previsão orçamentária................................................................................................. 13 2.4. O Sistema Atual............................................................................................................ 14 2.4.1. Funcionamento do sistema atual ............................................................................... 14 2.4.2. Problemas do sistema atual ....................................................................................... 14 3. A Solução ..................................................................................................................... 15 3.1. O Sistema Proposto......................................................................................................... 15 3.1.1. Justificativas para o novo sistema ............................................................................. 15 3.1.2. Situação desejada: objetivos gerais e específicos ................................................. 15 3.1.3. Soluções alternativas................................................................................................... 16 3.2. Solução escolhida ....................................................................................................... 17 3.2.1. Escopo da solução ....................................................................................................... 17 3.2.2. Lista de Requisitos do sistema ................................................................................. 18 3.2.3. Diagrama de Casos de Uso ....................................................................................... 20 3.2.4. Especificações textuais dos casos de uso ............................................................... 21 3.2.5. Modelo conceitual de classes .................................................................................... 32 3.2.6. Modelo conceitual de dados ....................................................................................... 33 3.3. Solução Tecnológica. ................................................................................................. 34 3.3.1. Diagrama de comunicação ......................................................................................... 34 3.3.2. Projeto de Interfaces.................................................................................................... 35 3.3.3. Diagrama de Estados .................................................................................................. 42 3.3.4. Diagrama de Atividades ............................................................................................. 43 3.3.5. Diagrama de Componentes....................................................................................... 44 3.3.6. Modelo de classes de Projeto ................................................................................... 45 3.3.7. Modelo Físico de dados ............................................................................................. 46 3.3.7.1. Projeto de Tabelas e Arquivos .................................................................................. 46 3.3.7.2. Scripts de geração do banco e suas tabelas ........................................................... 47 3.3.8. Ambiente tecnológico do sistema .............................................................................. 48 3.3.8.1. Ambiente Físico (diagrama de implantação)............................................................ 48 3.3.8.2. Justificativa da escolha da linguagem de programação ........................................ 48 3.3.8.3. Justificativa da escolha do SGBD (Sistema Gerenciador de Banco de Dados) 49 4. Conclusões................................................................................................................... 50 4.1. Reflexões e comparação entre objetivos iniciais x alcançados ............................... 50 4.2. Vantagens e desvantagens do sistema ....................................................................... 50 4.3. Trabalhos futuros ............................................................................................................. 50 5. Referências Bibliográficas ............................................................................................. 51 6 1. O PROBLEMA 1.1. TEMA DO TRABALHO Aplicativo para auxiliar colecionadores, denominado “Collektor”. 1.2CONTEXTUALIZAÇÃO Sistema informatizado para facilitar a organização de coleções variadas, destinado a colecionadores experientes e/ou casuais, que desejam apenas acompanhar suas coleções. 1.3 A SITUAÇÃO-PROBLEMA Colecionadores em especial ou qualquer pessoa que tenha dificuldade em gerenciar coleções, desde hobbies (selos, moedas) até itens em geral, como músicas, filmes, livros, etc. 1.4 BREVE DESCRIÇÃO DA SOLUÇÃO Aplicativo que visa auxiliar colecionadores a organizar suas coleções, acompanhar e manter relatórios de atividades. Uma das características deste aplicativo é a capacidade de criação de variados campos e tipos de informação, organizados numa tabela como um banco de dados, podendo ser exibidos de formas mais amigáveis ao usuário, além de poderem ser compartilhados e visualizados por outros usuários. 7 2. CONTEXTUALIZAÇÃO DO PROBLEMA 2.1 PREMISSAS E RESTRIÇÕES DO PROJETO As Premissas são as seguintes: • Código: O desenvolvedor será capaz de desenvolver todas (ou a maior parte) das funções desejadas; • Interface: Usuários conseguirão utilizar o aplicativo sem grandes dificuldades. • Adoção por Terceiros: Sites que oferecem conteúdos variados poderão incluir um botão para adicionar um item desejado à sua lista; • Aprovação: Por sites e lojas de aplicativos; • Facilidade: O aplicativo não será extenso nem terá opções avançadas ocultas do usuário. • Monetização: Será grátis, mas veiculando progagandas. As restrições são as seguintes: • Equipe: Equipe de no máximo 5 pessoas; • Orçamento: Verba limitada; • Servidor: Uso de um único servidor para armazenamento; • Complexidade: Risco de exibir informações em excesso que poderiam confundir os usuários; • Manutenções: Risco de gerar atualizações constantes. 8 2.2 CARACTERIZAÇÃO DA EMPRESA 2.2.1 HISTÓRICO DA EMPRESA • Beneficiários: Colecionadores ou usuários que apreciem organizar suas posses reais ou digitais. Enfim, qualquer pessoa que precise organizar e acompanhar um grupo de objetos reais ou não. • Quantidade de Beneficiários: Dada a prevalência e facilidade de acesso a mídia nos tempos atuais, praticamente qualquer indivíduo. • Ramo da atividade: Organização e Classificação de itens. 2.2.2 ATIVIDADES DA EMPRESA • O sistema permitirá ao usuário formar, organizar e classificar listas de objetos, sejam estes reais ou virtuais; • O aplicativo permitirá ao usuário liberdade de criação, modificação e ordenação dos itens e suas características (ex.: ano, tipo, avaliação, preço, etc); • A equipe realizará atualizações e melhorias periódicas ao sistema, visando a qualidade e facilidade de uso aos usuários. 9 2.2.3 MERCADO CONSUMIDOR Usuários, entre adolescentes, adultos e terceira idade, que necessitem organizar coleções ou listas de mídias variadas, para facilidade de uso e classificação em âmbito pessoal ou profissional. 2.2.4 CONCORRÊNCIA Existem variados programas e aplicativos nesta área. Porém os similares não oferecem visualizações simplicadas (lista, cards), apenas tabelas (como em Microsoft Excel). E a maioria têm grande parte de suas funções atrás de paywalls (requerem pagamentos) e são focados em coleções e atividades de grupos empresariais. 10 2.2.5 ORGANOGRAMA 11 2.3. PROPOSTA DE TRABALHO 2.3.1. MÉTODO DO TRABALHO Requisitos serão levantados através de entrevistas com potenciais usuários. Suas necessidades serão adaptados em um diagrama de fluxo simples. Também serão utilizados questionários e a observação dos usuários durante a implementação, para incrementar os resultados das entrevistas. Serão utilizados diagramas UML em metodologia iterativa RUP. Os diagramas a ser utilizados serão: Diagramas de atividade, caso de uso, estado, sequência e entidade-relacionamento, ou outros caso necessário. 2.3.2. PREVISÃO E ALOCAÇÃO DE RECURSOS (HUMANOS E MATERIAIS) • Recursos Humanos: Programador com conhecimento em C# ou Java (para permitir a portabilidade do aplicativo); Administrador de SGBD para controlar a sincronia de dados entre dispositivos na “nuvem”; Especialista em design de Interfaces, para que o aplicativo não se torne excessivamente complexo ao usuário final; Funcionário administrativo com conhecimento de sistemas administrativos, financeiros e de RH. • Recursos Materiais: Workstation para a programação do aplicativo (Windows ou Linux); Servidor para armazenar dados temporários e cache de usuários, além de distribuir updates; assinatura do Microsoft Office 365 Standard para edição e trabalhos gerais, materiais de uso em escritórios, impressoras, telefones. 12 2.3.3. CRONOGRAMA DE TRABALHO (DIAGRAMA DE GANTT) Seq Nome Dias Início Término Antec Recursos Alocados 1 1. O problema 12 22/02/2021 08/03/2021 RM: Workstation; RM: Material Escritório; RM: Microsoft Office 2 1.1. Tema do trabalho 3 22/02/2021 25/02/2021 3 1.2. Contextualização 3 26/02/2021 01/02/2021 2 4 1.3. A situação-problema 3 02/03/2021 05/03/2021 3 5 1.4. Breve descrição da solução 3 05/02/2021 08/03/2021 4 6 2. Contextualização do problema 09/03/2021 18/03/2021 RM: Workstation; RM: Material Escritório; RM: Microsoft Office 7 2.1. Premissas e restrições do projeto 1 09/03/2021 10/03/2021 5 8 2.2. Caracterização da empresa 3 10/03/2021 13/03/2021 9 2.2.1. Histórico da empresa 1 13/03/2021 14/03/2021 7 10 2.2.2. Atividades da empresa 1 14/03/2021 15/03/2021 9 11 2.2.3. Mercado consumidor 1 15/03/2021 16/03/2021 10 12 2.2.4. Concorrência 1 16/03/2021 17/03/2021 11 13 2.2.5. Organograma 1 17/03/2021 18/03/2021 12 14 2.3. Proposta de trabalho 6 18/03/2021 25/03/2021 RH: Programador; RM: Workstation; RM: Material Escritório; RM: Microsoft Office 15 2.3.1. Método do trabalho 1 18/03/2021 19/03/2021 13 16 2.3.2. Previsão e alocação de recursos (humanos e materiais) 1 19/03/2021 20/03/2021 15 17 2.3.3. Cronograma de trabalho (diagrama de Gantt) 3 20/03/2021 23/03/2021 16 18 2.3.4. Previsão orçamentária 2 23/03/2021 25/03/2021 17 19 2.4. O Sistema Atual 4 25/03/2021 29/03/2021 RH: Programador; RM: Workstation; RM: Material Escritório; RM: Microsoft Office 20 2.4.1. Funcionamento do sistema atual 2 25/03/2021 27/03/2021 18 21 2.4.2. Problemas do sistema atual 2 27/03/2021 29/03/2021 20 22 3. A Solução 13 29/03/2021 11/04/2021 RH: Programador; RH: Designer de Interface; RM: Workstation; RM: Material Escritório; RM: Microsoft Office 23 3.1. O Sistema proposto 3 29/03/2021 01/04/2021 24 3.1.1. Justificativas para o novo sistema 3 01/04/2021 04/04/2021 21 25 3.1.2. Situação desejada: objetivos gerais e específicos 4 04/04/2021 08/04/2021 24 26 3.1.3. Soluções alternativas 3 08/04/2021 11/04/2021 25 27 3.2. Solução escolhida 36 11/04/2021 17/05/2021 RH: Programador; RH: Designer de Interface; RM: Workstation; RM: Material Escritório; RM: Microsoft Office 28 3.2.1 Escopo da solução 3 11/04/2021 14/04/2021 26 29 3.2.2. Lista de Requisitos do sistema 5 14/04/2021 19/04/2021 28 30 3.2.3. Diagrama de Casos de Uso 5 19/04/2021 24/04/2021 29 31 3.2.4. Especificações textuais dos casos de uso 7 24/04/2021 01/05/2021 30 32 3.2.5. Modelo conceitual de classes 8 01/05/2021 09/05/2021 31 33 3.2.6. Modelo conceitual de dados 8 09/05/2021 17/05/2021 32 34 4. Referências Bibliográficas 3 17/05/2021 20/05/2021 33 RM: Workstation; RM: Material Escritório; RM: Microsoft Office 13 2.3.4. PREVISÃO ORÇAMENTÁRIA Recurso Tipo Recurso Valor/Mês Fev/21 Mar/21 Abr/21 Mai/21 Total Programador Humano 2,461.00R$ -R$ 2,461.00R$ 2,461.00R$ 2,461.00R$ 7,383.00R$Administrador SGBD Humano 7,090.00R$ -R$ -R$ -R$ 7,090.00R$ 7,090.00R$ Designer de Interface Humano 3,585.00R$ -R$ -R$ 3,585.00R$ 3,585.00R$ 7,170.00R$ Apoio Administrativo/Gestão Humano 1,505.00R$ 1,505.00R$ 1,505.00R$ 1,505.00R$ 1,505.00R$ 6,020.00R$ Workstation Material -R$ 14,000.00R$ -R$ -R$ -R$ 14,000.00R$ Material Escritório/Impressoras Material -R$ 2,000.00R$ 1,000.00R$ 1,000.00R$ 1,000.00R$ 5,000.00R$ Servidor Material -R$ -R$ -R$ -R$ 10,000.00R$ 10,000.00R$ Microsoft Office Material 71.40R$ 71.40R$ 71.40R$ 71.40R$ 71.40R$ 285.60R$ Total 17,576.40R$ 5,037.40R$ 8,622.40R$ 25,712.40R$ 56,948.60R$ 14 2.4. O SISTEMA ATUAL 2.4.1. FUNCIONAMENTO DO SISTEMA ATUAL O funcionamento dos sistemas atuais disponíveis no mercado servem como criadores e customizadores de banco de dados de variadas áreas, permitindo o(s) usuário(s) criar campos e filtros, podendo exibir planilhas em forma de listas mais simples aos usuários, mostrando informações detalhadas quando necessário. 2.4.2. PROBLEMAS DO SISTEMA ATUAL Os problemas atuais derivam principalmente dos modelos financeiros adotados. Tais aplicativo são indicados a usuários e grupos empresariais, levando a uma variedade de funções limitadas ou mesmo inexistentes para não-assinantes. Além disso, alguns aplicativos não são atualizados com frequência e possuem vários limites no tratamento dos dados, filtros e pouca da GUI (tamanho de itens da lista, ordem em que são exibidos detalhes, padrões, fontes, etc). Uma área em especial que precisava de mais atenção são os scripts, que permitem aos aplicativos auto- preencher seções baseadas na categoria desejada, pois os mesmos costumam funcionar em apenas um site, limitando as informações e escolhas do usuário. 15 3. A SOLUÇÃO 3.1. O SISTEMA PROPOSTO 3.1.1. JUSTIFICATIVAS PARA O NOVO SISTEMA • É vantajoso para qualquer usuário, já que todos lidamos com listas e coleções de items; • Não é excessivamente complexo, nem caro de desenvolver e manter; • Não requer grande espaço, físico ou virtual, nem manutenção diária de servidores numerosos; • Atende aos usuários insatisfeitos com as funções e limites de aplicativos dessa categoria; • Atende a um mercado que necessita e não possui ou não sabe que necessita deste aplicativo; 3.1.2. SITUAÇÃO DESEJADA: OBJETIVOS GERAIS E ESPECÍFICOS • OBJETIVO GERAL: o Desenvolver sistema informatizado para facilitar a organização de coleções, acessível a colecionadores diversos. • OBJETIVOS ESPECÍFICOS: o Simplificar a interface para facilitar seu uso; o Criar campos em cada conjunto; o Criar itens a serem organizados; o Organizar/classificar/ordenar itens em cada conjunto; o Utilizar um modelo financeiro acessível à todo tipo de usuário. 16 3.1.3. SOLUÇÕES ALTERNATIVAS • Caso a interface torne-se excessivamente complexa, reduziria as funções exibidas sem compremeter a acessibilidade do usuário; • Caso a criação de campos tenha implementação complexa ou inviável, seriam criados campos pré-definidos; • Caso o modelo financeiro escolhido torne-se inviável ou tenha baixo retorno, se faria análise de outros modelos a fim de não comprometer seu baixo custo ao usuário. 17 3.2. SOLUÇÃO ESCOLHIDA 3.2.1. ESCOPO DA SOLUÇÃO O sistema deverá…: • …criar conjuntos de itens; • …criar e editar campos variados; • …adicionar e editar itens em um conjunto; • …filtrar, ordenar e agrupar itens por fatores determinados pelo usuário; • …sincronizar o(s) conjunto(s) via cloud ao servidor do sistema ou outro, escolhido pelo usuário; • ...possibilitar seu uso sem pagamento de taxas. O sistema não deverá…: • …gerar scripts de preenchimento automático, pois isso caberá a outros usuários; • …prever as ações do usuário, como saber o que este pretende criar ou editar; • …gerar gráficos e medidas complexas acerca de conjuntos ou itens (ex. Gráfico com a quantidade total de itens num conjunto ao longo de meses ou anos). 18 3.2.2. LISTA DE REQUISITOS DO SISTEMA • Requisitos Funcionais Código: RF001 ( x ) Essencial ( ) Importante ( ) Desejável Descrição: Criar e eliminar entradas (itens) em um conjunto. Código: RF002 ( x ) Essencial ( ) Importante ( ) Desejável Descrição: Organizar, filtrar, agrupar ou ordenar as entradas do conjunto por fatores especificados pelo usuário. Código: RF003 ( x ) Essencial ( ) Importante ( ) Desejável Descrição: Permitir ao usuário criar campos específicos em cada conjunto. Código: RF004 ( ) Essencial ( x ) Importante ( ) Desejável Requisito: Proporcionar acesso gratuito. Código: RF005 ( ) Essencial ( x ) Importante ( ) Desejável Descrição: Sincronizar o(s) conjunto(s) via cloud ao servidor do sistema ou algum outro, escolhido pelo usuário. Código: RF006 ( ) Essencial ( x ) Importante ( ) Desejável Descrição: Exibir versões simplificadas de cada entrada, como por exemplo, em cards. Código: RF007 ( ) Essencial ( ) Importante ( x ) Desejável Descrição: Permitir ao usuário customizar cada aspecto visual do aplicativo (cores, fontes, tamanho das entradas na lista, quantidade e ordem dos atributos, tipos de dados dos atributos e a exibição dos mesmos em cada entrada). 19 Código: RF008 ( ) Essencial ( ) Importante ( x ) Desejável Descrição: Gerar informações básicas de cada conjunto, como número de itens, data de criação, campos contendo determinada palavra, etc. • Requisitos Não-Funcionais Código: RNF001 Portabilidade. Requisito: Permite seu uso em Computadores ou Celulares. Código: RNF002 Interface para usuários com deficiência. Requisito: Interface simples de ser utilizada por usuários que apresentem deficiência visual. Código: RNF003 Sincronia no Background. Requisito: Sincronia cloud executada “no fundo”, de forma automática. Código: RNF004 Exportação. Requisito: Possibilidade de exportar conjuntos e itens a vários formatos (texto, planilha, HTML, PDF). Código: RNF005 Assistência virtual. Requisito: Passo-a-passo para simplificar e facilitar a criação e organização de conjuntos. Código: RNF006 Built-in Scripts. Requisito: Inclusão de scripts básicos que automaticamente preenchem certos atributos a partir de websites específicos. Código: RNF007 Criação/Exportação de Scripts. Requisito: Possibilidade de aceitar scripts escritos por usuários para funções não incluídas por padrão. 20 3.2.3. DIAGRAMA DE CASOS DE USO 21 3.2.4. ESPECIFICAÇÕES TEXTUAIS DOS CASOS DE USO Nome do caso de uso: Criar Conjunto; • Escopo: Sistema de coleções – Collektor; • Atores: Usuário. • Precondições o Usuário está logado. • Pós-condições o Conjunto criado; o Dados do conjunto salvo via cloud backup. • Cenário principal 1. Usuário seleciona o botão "Criar novo conjunto". 2. Sistema pede um nome do conjunto ao usuário. – <<include Criar Campo>> 3. Sistema informa usuário que o conjunto foi criado. • Cenários alternativos 2.a. Conjunto com o nome deixado vazio. 1. Sistema avisa o erro e rejeita a entrada. 2. Sistema retorna ao passo 2 do cenário principal. 2.b. Conjunto possui nome duplicado ou já utilizado. 1. Sistema avisa o erro e rejeita a entrada. 2. Sistema retorna ao passo 2 do cenário principal. • Requisitos especiais o Botão e campos de texto de tamanhos legíveis. o Fornecer feedback ao usuário em operações de sucesso ou fracasso.22 Nome do caso de uso: Editar Conjunto; • Escopo: Sistema de coleções – Collektor; • Atores: Usuário. • Precondições o Usuário está logado. o Conjunto já criado. o Usuário possui aberto o conjunto que deseja editar. • Pós-condições o Modificações realizadas salvas. o Modificações ao conjunto salvas via cloud backup. • Cenário principal 1. Usuário seleciona o botão "Editar conjunto". 2. Sistema oferece opções de edição ao usuário. – <<include Criar Campo>> – <<include Editar Campo>> – <<include Apagar Conjunto>> 3. Sistema pergunta ao usuário se deseja salvar as alterações. 4. Sistema informa usuário que as alterações foram salvas com sucesso. • Cenários alternativos 2.a. Conjunto teve o nome apagado e deixado vazio. 1. Sistema avisa o erro e rejeita a alteração. 2. Sistema retorna ao passo 2 do cenário principal. 2.b. Conjunto possui nome duplicado ou já utilizado. 1. Sistema avisa o erro e rejeita a entrada. 2. Sistema retorna ao passo 2 do cenário principal. • Requisitos especiais o Botão e campos de texto de tamanhos legíveis. o Fornecer feedback ao usuário em operações de sucesso ou fracasso. 23 Nome do caso de uso: Criar Item; • Escopo: Sistema de coleções – Collektor; • Atores: Usuário. • Precondições o Usuário está logado. o Conjunto já criado. o Usuário possui aberto o conjunto que deseja adicionar itens. • Pós-condições o Item criado; o Dados do conjunto ou item salvo via cloud backup. • Cenário principal 1. Usuário seleciona o botão "Criar item". 2. Sistema pede que o usuário dê um nome ao item. 3. Sistema pergunta ao usuário se deseja salvar o novo item. 4. Sistema informa usuário que o item foi criado e salvo. • Cenários alternativos 2.a. Item com nome deixado vazio. 1. Sistema avisa o erro e rejeita a entrada. 2. Sistema retorna ao passo 2 do cenário principal. 2.b. Item possui nome duplicado ou já utilizado. 1. Sistema avisa o erro e rejeita a entrada. 2. Sistema retorna ao passo 2 do cenário principal. • Requisitos especiais o Botão e campos de texto de tamanhos legíveis. o Fornecer feedback ao usuário em operações de sucesso ou fracasso. 24 Nome do caso de uso: Editar Item; • Escopo: Sistema de coleções – Collektor; • Atores: Usuário. • Precondições o Usuário está logado. o Item já criado. o Usuário possui aberto o Item que deseja editar. • Pós-condições o Modificações realizadas salvas. o Modificações ao conjunto salvas via cloud backup. • Cenário principal 1. Usuário seleciona o botão "Editar conjunto". 2. Sistema oferece opções de edição ao usuário. – <<include Apagar Item>> – <<include Editar dados>> 3. Sistema pergunta ao usuário se deseja salvar as alterações. 4. Sistema informa usuário que as alterações foram salvas com sucesso. • Cenários alternativos 2.a. Item teve o nome apagado e deixado vazio. 1. Sistema avisa o erro e rejeita a alteração. 2. Sistema retorna ao passo 2 do cenário principal. 2.b. Item possui nome duplicado ou já utilizado. 1. Sistema avisa o erro e rejeita a entrada. 2. Sistema retorna ao passo 2 do cenário principal. • Requisitos especiais o Botão e campos de texto de tamanhos legíveis. o Fornecer feedback ao usuário em operações de sucesso ou fracasso. 25 Nome do caso de uso: Ordenar Itens; • Escopo: Sistema de coleções – Collektor; • Atores: Usuário. • Precondições o Usuário está logado. o Conjunto já criado e aberto. o Conjunto possui mais de 1 item. • Pós-condições o Visualização ordenada da maneira desejada. • Cenário principal 1. Usuário seleciona o botão "Ordenar...". 2. Sistema oferece opções de ordenação ao usuário. 3. Sistema exibe o conjunto organizado da maneira selecionada. • Cenários alternativos 1.a. Lista não possui itens 1. Sistema avisa o erro e rejeita a entrada. 2. Sistema retorna ao passo 1 do cenário principal. • Requisitos especiais o Botão e campos de texto de tamanhos legíveis. o Opções de ordem: Alfabética, Alfanumérica, Data de Criação, Campo; Ascendentes ou Descendentes. o Fornecer feedback ao usuário em operações de sucesso ou fracasso. 26 Nome do caso de uso: Filtrar Itens; • Escopo: Sistema de coleções – Collektor; • Atores: Usuário. • Precondições o Usuário está logado. o Conjunto já criado e aberto. o Conjunto possui mais de 1 item. • Pós-condições o Visualização filtrada pelo(s) fator(es) desejado(os). • Cenário principal 1. Usuário seleciona o botão "Filtrar...". 2. Sistema oferece opções de filtragem ao usuário. 3. Sistema exibe o conjunto filtrando apenas os itens correspondentes. • Cenários alternativos 1.a. Lista não possui itens 1. Sistema avisa o erro e rejeita a entrada. 2. Sistema retorna ao passo 1 do cenário principal. • Requisitos especiais o Botão e campos de texto de tamanhos legíveis. o Opções de filtro: Data de Criação Específica; Campo "(não) é igual a...". o Fornecer feedback ao usuário em operações de sucesso ou fracasso. 27 Nome do caso de uso: Agrupar Itens; • Escopo: Sistema de coleções – Collektor; • Atores: Usuário. • Precondições o Usuário está logado. o Conjunto já criado e aberto. o Conjunto possui mais de 1 item. • Pós-condições o Itens agrupados pelo(s) fator(es) desejado(os). • Cenário principal 1. Usuário seleciona o botão "Agrupar...". 2. Sistema oferece opções de agrupamento ao usuário. 3. Sistema exibe o conjunto agrupando itens com o fator desejado em comum. • Cenários alternativos 1.a. Lista não possui itens 1. Sistema avisa o erro e rejeita a entrada. 2. Sistema retorna ao passo 1 do cenário principal. • Requisitos especiais o Botão e campos de texto de tamanhos legíveis. o Opções de grupo: Data de Criação Específica; Campo (não) "é igual a...". o Fornecer feedback ao usuário em operações de sucesso ou fracasso. 28 Nome do caso de uso: Visualização; • Escopo: Sistema de coleções – Collektor; • Atores: Usuário. • Precondições o Usuário está logado. o Conjunto já criado e aberto. o Conjunto possui mais de 1 item. • Pós-condições o Itens exibidos no conjunto da maneira desejada. • Cenário principal 1. Usuário seleciona o botão "Visualizações". 2. Sistema oferece opções de editar a visualização atual do conjunto ao usuário. 3. Sistema exibe o conjunto de itens com a visualização desejada. • Cenários alternativos 1.a. Lista não possui itens 1. Sistema avisa o erro e rejeita a entrada. 2. Sistema retorna ao passo 1 do cenário principal. • Requisitos especiais o Botão e campos de texto de tamanhos legíveis. o Opções de visualização: tamanho, cores e faces de fontes, tamanho de imagens, ordem e posicionamento dos campos, exibir ou ocultar certos campos. o Fornecer feedback ao usuário em operações de sucesso ou fracasso. 29 Nome do caso de uso: Criar Campo; • Cenário principal 1. Usuário seleciona o botão "Criar Campo". 2. Sistema pede um nome e tipo de informação do campo (string, int, boolean, etc). 3. Sistema informa que o campo foi criado com êxito. • Cenários alternativos 2.a. Campo com o nome deixado vazio. 1. Sistema avisa o erro e rejeita a entrada. 2. Sistema retorna ao passo 2 do cenário principal. 2.b. Campo possui nome duplicado ou já utilizado. 1. Sistema avisa o erro e rejeita a entrada. 2. Sistema retorna ao passo 2 do cenário principal. Nome do caso de uso: Editar Campo; • Cenário principal 1. Usuário seleciona o botão "Editar Campo" num campo já criado. 2. Sistema oferece opções para alterar o nome ou tipo de dado do campo. 3. Sistema informa que o campo foi modificado com êxito. • Cenários alternativos 2.a. Campo com o nome deixado vazio. 1. Sistema avisa o erro e rejeita a entrada. 2. Sistemaretorna ao passo 2 do cenário principal. 2.b. Campo possui nome duplicado ou já utilizado. 1. Sistema avisa o erro e rejeita a entrada. 2. Sistema retorna ao passo 2 do cenário principal. 30 Nome do caso de uso: Apagar Campo; • Cenário principal 1. Usuário seleciona o botão "Editar Campo" num campo já criado. 2. Usuário seleciona a opção "Apagar Campo". 3. Sistema informa que o campo desejado foi apagado. Nome do caso de uso: Apagar Conjunto; • Cenário principal 1. Usuário seleciona o botão "Editar Conjunto" num conjunto já criado. 2. Usuário seleciona a opção "Apagar Conjunto". 3. Sistema informa que o conjunto desejado foi apagado. Nome do caso de uso: Apagar Item; • Cenário principal 1. Usuário seleciona o botão "Editar Item" num item já criado. 2. Usuário seleciona a opção "Apagar Item". 3. Sistema informa que o item desejado foi apagado. 31 Nome do caso de uso: Editar dados; • Cenário principal 1. Usuário seleciona o botão "Editar item...". 2. Usuário altera o(s) dado(s) contido(s) no(s) campo(s). 3. Sistema informa que o(s) dado(s) foi(foram) alterado(s) com êxito. • Cenários alternativos 2.a. Campo com o nome deixado vazio. 1. Sistema avisa o erro e rejeita a entrada. 2. Sistema retorna ao passo 2 do cenário principal. 2.b. Campo possui nome duplicado ou já utilizado. 1. Sistema avisa o erro e rejeita a entrada. 2. Sistema retorna ao passo 2 do cenário principal. 2.c. Dado de entrada não corresponde ao campo (ex. string em int). 1. Sistema avisa o erro e rejeita a entrada. 2. Sistema retorna ao passo 2 do cenário principal. 32 3.2.5. MODELO CONCEITUAL DE CLASSES 33 3.2.6. MODELO CONCEITUAL DE DADOS 34 3.3. SOLUÇÃO TECNOLÓGICA. 3.3.1. DIAGRAMA DE COMUNICAÇÃO 35 3.3.2. PROJETO DE INTERFACES 1. Login 36 2. Lista de Conjuntos 37 3. Lista de Itens 38 4. Criar – Conjunto 39 5. Criar – Campo 40 6. Criar – Item 41 7. Filtrar Lista 42 3.3.3. DIAGRAMA DE ESTADOS 43 3.3.4. DIAGRAMA DE ATIVIDADES 44 3.3.5. DIAGRAMA DE COMPONENTES 45 3.3.6. MODELO DE CLASSES DE PROJETO 46 3.3.7. MODELO FÍSICO DE DADOS O SGBD escolhido será o MySQL, um dos softwares padrões no mercado. 3.3.7.1. PROJETO DE TABELAS E ARQUIVOS O modelo utilizado será o Modelo Relacional, devido a sua boa capacidade de unificação de dados e capacidade de lidar com múltiplas queries. O modelo relacional, baseado no DER será: USUÁRIO (Login, Senha,Data Criação) CONJUNTO (id_library, Nome, Número Itens, Data Criação) CAMPO (id_field, Nome, Tipo Dado, Visibilidade) ITEM (id_item, Nome, Data Criação) 47 3.3.7.2. SCRIPTS DE GERAÇÃO DO BANCO E SUAS TABELAS Foi utilizado o aplicativo virtual SqlDBM (https://sqldbm.com/) para a geração do script e o aplicativo Notepad++ (https://notepad-plus-plus.org/) para marcação de comandos adequados à linguagem SQL. https://sqldbm.com/ https://notepad-plus-plus.org/ 48 3.3.8. AMBIENTE TECNOLÓGICO DO SISTEMA 3.3.8.1. AMBIENTE FÍSICO (DIAGRAMA DE IMPLANTAÇÃO) • Configuração Mínima do CPU do Usuário: Processador 1 gigahertz (GHz) ou superior, 2 gigabytes (GB) de Memória RAM, Disco rígido (HDD) com pelo menos 1 GB livre, monitor de resolução igual ou maior a 800x600. • Servidores (Acesso, Dados): Processador Intel Xeon 5600 ou AMD equivalente, 16 GB de memória RAM, dois HDDs com 1 terabyte (TB) cada, conexão Gigabit Ethernet. 3.3.8.2. JUSTIFICATIVA DA ESCOLHA DA LINGUAGEM DE PROGRAMAÇÃO A linguagem a ser utilizada será C++, devido a: • Código básico e de fácil escrita; • Utilizado na maioria dos softwares nativos a Desktop; • Feito com a filosofia de que deve funcionar ao lado, e não exclusivamente, de outras linguagens de programação; • Compactado em funções separadas, para melhor manutenção de aspectos específicos; • Por ser muito conhecido, possui uma vasta gama de guias e tutoriais disponíveis. • Possui muitos templates disponíveis; • É multiplataforma e possui compiladores para quase todo OS. 49 3.3.8.3. JUSTIFICATIVA DA ESCOLHA DO SGBD (SISTEMA GERENCIADOR DE BANCO DE DADOS) O SGBD escolhido será o MySQL, pelas razões a seguir: • facilidade de uso; • flexibilidade de dados por ser open-source; • estrutura de baixo custo ideal para pequenas empresas; • integração e popularidade, já que este está presente na maioria dos hosts disponíveis; • Boa capacidade de recuperação de dados. 50 4. CONCLUSÕES 4.1. REFLEXÕES E COMPARAÇÃO ENTRE OBJETIVOS INICIAIS X ALCANÇADOS Acredito que os objetivos iniciais básicos foram atingidos. Afinal, este não é um sistema excessivamente complexo e já existem opções semelhantes no mercado atual. Porém, com a simplicidade e natureza compacta do sistema, este vai além dos atuais, oferecendo uma solução simplificada para usuários que não possuem grande conhecimento técnico. 4.2. VANTAGENS E DESVANTAGENS DO SISTEMA Vantagens: • Simplicidade de modelagem e programação; • Baixo custo; • Não requer extensa funcionalidade online; • Pode receber atualizações e manutenções com facilidade. Desvantagens: • Por ser simples, não possui características e funções mais avançadas ou complexas; • Por ser apenas para Desktops, perde-se mercado para as crescentes áreas de web apps e mobile apps. 4.3. TRABALHOS FUTUROS Seriam quase todos novas funções agregadas ao sistema atual, como acesso mobile ou via website, ferramentas avançadas de edição e manipulação, dados gráficos gerais de conjuntos, possibilidade de compartilhar conjuntos com outros usuários (tanto para acesso como para edição), etc. 51 5. REFERÊNCIAS BIBLIOGRÁFICAS • Aplicativo Online para Modelagem de Banco de Dados SqlDBM (https://sqldbm.com/Home/ - Acesso em 27/09/21) • Blog: Os 12 Melhores Softwares e Sistemas de Banco de Dados de 2021 (https://www.adamenfroy.com/database-software - Acesso em 23/09/21) • Configurações recomendadas do hardware de servidores, via manual de instalação do StorageTek Tape Analytics (https://docs.oracle.com/cd/E28385_01/en/E28377/html/STA102_Planning_Install _PreInst.5.5.htm#1104539 - Acesso em 1/10/21) • Glassdoor (https://www.glassdoor.com.br/Salários/administrador-de-banco-de- dados-salário-SRCH_KO0,31.htm - Acesso em 20/03/2021) • Google (https://www.google.com.br/) • Memento Database (https://mementodatabase.com/ ) • Microsoft Office 365: Assinaturas para Empresas (https://www.microsoft.com/pt-br/microsoft-365/business/compare-all-microsoft- 365-business-products-b - Acesso em 20/03/2021) • MySQL (https://www.mysql.com/ - Acesso em 25/09/21) • O que é ODBC/JDBC? (https://www.microfocus.com/documentation/xdbc/win20/BKXDXDINTRXD1.5.ht ml - Acesso em 1/10/21) • Requerimentos de Sistema para Windows 10 (https://support.microsoft.com/en-us/windows/windows-10-system-requirements- 6d4e9a79-66bf-7950-467c-795cf0386715 - Acesso em 1/10/21) • Sintaxe e Statements da linguagem SQL (https://dev.mysql.com/doc/refman/8.0/en/sql-statements.html - Acesso em 27/09/21) • Softwares de Banco de Dados 101 (https://www.quickbase.com/articles/database-software-basics - Acesso em 23/09/2021) https://sqldbm.com/Home/ https://www.adamenfroy.com/database-software https://docs.oracle.com/cd/E28385_01/en/E28377/html/STA102_Planning_Install_PreInst.5.5.htm#1104539https://docs.oracle.com/cd/E28385_01/en/E28377/html/STA102_Planning_Install_PreInst.5.5.htm#1104539 https://www.glassdoor.com.br/Sal%C3%A1rios/administrador-de-banco-de-dados-sal%C3%A1rio-SRCH_KO0,31.htm https://www.glassdoor.com.br/Sal%C3%A1rios/administrador-de-banco-de-dados-sal%C3%A1rio-SRCH_KO0,31.htm https://www.google.com.br/ https://mementodatabase.com/ https://www.microsoft.com/pt-br/microsoft-365/business/compare-all-microsoft-365-business-products-b https://www.microsoft.com/pt-br/microsoft-365/business/compare-all-microsoft-365-business-products-b https://www.mysql.com/ https://www.microfocus.com/documentation/xdbc/win20/BKXDXDINTRXD1.5.html https://www.microfocus.com/documentation/xdbc/win20/BKXDXDINTRXD1.5.html https://support.microsoft.com/en-us/windows/windows-10-system-requirements-6d4e9a79-66bf-7950-467c-795cf0386715 https://support.microsoft.com/en-us/windows/windows-10-system-requirements-6d4e9a79-66bf-7950-467c-795cf0386715 https://dev.mysql.com/doc/refman/8.0/en/sql-statements.html https://www.quickbase.com/articles/database-software-basics 52 • TechTudo: Servidores (https://www.techtudo.com.br/noticias/2020/06/e-hora- de-comprar-o-1o-servidor-para-a-empresa-veja-perguntas-e-respostas.ghtml - Acesso em 20/03/2021) • Wikipedia: C++ (https://en.wikipedia.org/wiki/C%2B%2B - Acesso em 2/10/21) https://www.techtudo.com.br/noticias/2020/06/e-hora-de-comprar-o-1o-servidor-para-a-empresa-veja-perguntas-e-respostas.ghtml https://www.techtudo.com.br/noticias/2020/06/e-hora-de-comprar-o-1o-servidor-para-a-empresa-veja-perguntas-e-respostas.ghtml https://en.wikipedia.org/wiki/C%2B%2B
Compartilhar