O design e a implementação do projeto de graduação da biblioteca digital móvel baseada em Android do springboot - com o código-fonte 030911

Aplicativo de biblioteca digital móvel Springboot

Resumo

Este artigo realiza pesquisas e análises sobre a biblioteca digital móvel e, em seguida, desenvolve e projeta o APP da biblioteca digital móvel para resolver o problema. Os principais módulos funcionais do aplicativo de biblioteca digital móvel incluem: visão geral de novos livros, livros populares, empréstimo de livros etc. O design da função do sistema adota o MySQL como a principal unidade de armazenamento de dados em segundo plano. A estrutura Springboot é usada para desenvolver o sistema e todas as funções do sistema são realizadas. Este relatório primeiro analisa os antecedentes, a função e o significado da pesquisa, estabelecendo as bases para a racionalidade do trabalho de pesquisa. Analisar os vários requisitos e problemas técnicos do aplicativo de biblioteca digital móvel, provar a necessidade e a viabilidade técnica do sistema e, em seguida, fornecer uma introdução básica ao software técnico e às ideias de design que precisam ser usadas no sistema de design e, finalmente, realizar o aplicativo de biblioteca digital móvel Aplicativo de biblioteca e implantação executados usando-o.

Palavras-chave: digitalização; Springboot; banco de dados MySQL

Aplicativo de biblioteca digital móvel Springboot

Abstrato

Este artigo estuda e analisa a biblioteca digital móvel e, em seguida, desenvolve e projeta o aplicativo da biblioteca digital móvel para resolver o problema. Os principais módulos de função do aplicativo de biblioteca digital móvel incluem: visão geral de novos livros, livros populares, empréstimo de livros, etc. a interface de visualização frontal do sistema é projetada selecionando ferramentas de desenvolvedor de aplicativos. O design da função do sistema adota o MySQL como a principal unidade de armazenamento de dados em segundo plano e adota a estrutura springboot para o desenvolvimento do sistema para realizar todas as funções do sistema. Este relatório primeiro analisa os antecedentes, a função e o significado da pesquisa, que estabelece uma base para a racionalidade do trabalho de pesquisa. Este artigo analisa os vários requisitos e problemas técnicos do aplicativo de biblioteca digital móvel, comprova a necessidade e viabilidade técnica do sistema,

 Palavras-chave :digitalização; Springboot; banco de dados Mysql

Índice

Capítulo 1 Introdução

1.1  Histórico e importância da pesquisa

1.2 Conteúdo da pesquisa 

Capítulo 2 Introdução às tecnologias relacionadas 6

2.1  Tecnologia J2EE

2.2 padrão MVVM

2.3 Estrutura B/S

2.4 Estrutura de inicialização do Spring

2.5  banco de dados MySQL

2.6 Tecnologia Android

2. 6 Princípio de funcionamento do sistema B/S

Capítulo 3 Análise do Sistema

3.1  Análise de viabilidade

3.2  Análise de Requisitos Funcionais

3.2.1  Funções do usuário em primeiro plano

3.2.2  Função de administrador em segundo plano

3.3  Análise de requisitos não funcionais

3.4  Análise dos Requisitos de Segurança

3.4.1  Segurança do Sistema

3.4.2  Segurança de Dados

3.5  Análise do fluxo de dados

Capítulo 4 Projeto do Sistema

4.1  Projeto da arquitetura do sistema

4.2  Projeto geral do sistema

4.3  Projeto de função do sistema

4.4  Projeto de banco de dados

4.4.1  Análise de Requisitos de Dados

4.4.2  Projeto conceitual do banco de dados

4.4.3  Projeto da tabela do banco de dados

Capítulo 5 Implementação do sistema

5.1  Implementação da camada de acesso ao banco de dados

5.2  Implementação do módulo de cadastro

5.3  Implementação do módulo de login

5.4  Realização do Módulo de Modificação de Perfil de Usuário

5.5 Implementação do Módulo de Livros Populares

5.6 Módulo de Realização de Empréstimos de Livros

5.7 Nova implementação do módulo de gerenciamento de visão geral do livro 

Capítulo 6 Teste do Sistema

6.1  Finalidade do teste

6.2  Teste funcional

6.3  Teste de Desempenho

Capítulo 7 Resumo e Perspectivas

referências

obrigado

  1. introdução
    1. fundo de pesquisa e significado

As bibliotecas são um meio importante para a disseminação da cultura e da informação. O desenvolvimento da tecnologia da Internet móvel oferece novas oportunidades para as bibliotecas expandirem as áreas de serviço e melhorarem as funções dos serviços. Cada vez mais bibliotecas e empresas de serviços de tecnologia da informação estão implementando sistemas de bibliotecas móveis. Atualmente, os métodos de serviço mais comuns das bibliotecas móveis são a divulgação de recursos e os serviços de notificação de informações. Esses dois tipos de serviços permitem que os usuários experimentem diretamente os serviços exclusivos das bibliotecas móveis, mas esses dois tipos de serviços ainda estão sujeitos a determinados horários e locais geográficos restrições. , também é necessário construir um sistema de serviço que reflita verdadeiramente o valor da biblioteca móvel de acordo com as características da rede móvel sem fio. A rede móvel geral inclui três elementos: sistema de informação, Internet móvel e terminal móvel, e a biblioteca móvel também está intimamente relacionada a esses três elementos. O terminal móvel é a operadora de serviço final da biblioteca móvel, e a Internet móvel pode fornecer suporte para a transmissão de imagem, texto e vídeo da biblioteca móvel. A biblioteca digital existente é a base para o desenvolvimento do sistema de biblioteca móvel, e a biblioteca móvel é estendida de acordo com as funções da biblioteca digital existente. Os fatores acima desempenham um papel vital no desenvolvimento de bibliotecas móveis. Com o fortalecimento contínuo das funções dos terminais móveis inteligentes, a biblioteca móvel se desenvolve principalmente para o modo de serviço de informação de julgamento inteligente e consciência da situação.

O desenvolvimento de bibliotecas digitais móveis é propício para cultivar os hábitos de leitura das pessoas, formando uma forte atmosfera de aprendizagem, socializando modos de aprendizagem como aprendizagem ao longo da vida, aprendizagem universal, aprendizagem aberta e aprendizagem a qualquer hora e em qualquer lugar, promovendo o desenvolvimento da educação social em meu país e promover o desenvolvimento econômico do nosso país, o desenvolvimento cultural, acelerar o processo de construção da informatização do meu país e promover o desenvolvimento da indústria de alta tecnologia e da indústria de software do meu país.

    1. conteúdo de pesquisa

O desenvolvimento e implementação da APP de biblioteca digital móvel, o conteúdo de trabalho necessário:

(1) Em primeiro lugar, determine o tópico, determine o sistema a ser construído e realize uma confirmação sistemática preliminar do histórico do sistema e de alguns problemas enfrentados atualmente.

(2) Após a conclusão da confirmação do sistema, confirme a tecnologia usada no desenvolvimento do sistema em combinação com as necessidades de desenvolvimento do sistema. O desenvolvimento da biblioteca digital móvel APP usa a estrutura Springboot e o banco de dados é usado para construir e desenvolver a plataforma .A tecnologia utilizada é confirmada para análise técnica.Se a tecnologia utilizada pode completar a realização do sistema.

(3) Determine a tecnologia usada pelo sistema, confirme as funções do usuário divididas pelo sistema online e determine os módulos funcionais a serem projetados de acordo com a divisão das funções do usuário. O design do APP da biblioteca digital móvel é dividido principalmente em administrador e funções do usuário. E os módulos funcionais usados ​​também são diferentes, mas o conteúdo do banco de dados do sistema é interativo, os usuários podem visualizar as informações do livro a qualquer momento de acordo com suas próprias necessidades e a equipe do sistema pode processar e operar as informações on-line de acordo com suas próprias conteúdo atribuído, o administrador obtém as informações de dados detalhadas de todos os usuários, processa e resolve o mais rápido possível de acordo com as necessidades.

(4) Projete o programa e a interface após a confirmação dos módulos funcionais do sistema. O método de teste descobre as brechas no programa e resolve as brechas no programa online. Se não houver nenhum problema no sistema de teste, o sistema pode ser carregado para operação formal.

  1. Introdução à tecnologia relacionada
    1. Tecnologia J2EE

As pessoas podem dominar muitas línguas estrangeiras, mas o que um cientista da computação é proficiente é principalmente em linguagens de programação, que não são linguagens naturais humanas, como linguagem C, Java, Perl e assim por diante. Como o "middleware" desenvolvido por diferentes empresas não é padronizado o suficiente, a Sun lançou o J2EE e usou esse padrão para resolver os problemas. Ele fornece um bom mecanismo, permitindo que cada camada permita que o servidor e os componentes correspondentes sejam executados, tornando o sistema estável e utilizável, eficiente no desenvolvimento e fácil de manter.

    1. padrão MVVM

O modelo MVVM é um modelo de desenvolvimento comumente usado, que é dividido principalmente em camada M, camada V e camada C em termos de implementação de código.

View (View) representa a interface de interação do usuário. Um aplicativo da web pode ter muitas interfaces. No modo MVVM, a visualização trata apenas da coleta de dados, processamento e solicitações do usuário, e não inclui o processamento de processos de negócios e processos de negócios. Manipulado pelo modelo.

Modelo (Model) é o processamento de processos/estados de negócios e a formulação de regras de negócios. O processo do modelo que processa o processo de negócio não pode ser visto por outras camadas, é como uma caixa preta, após receber os dados solicitados pela view, retorna o resultado final do processamento. O núcleo principal do MVVM é o design do modelo de negócios. Um exemplo típico de aplicativo é o popular modelo EJB. Ele divide ainda mais o modelo da perspectiva da implementação da tecnologia do aplicativo para fazer uso total dos componentes existentes, mas não pode ser usado como uma estrutura para a aplicação de modelos de design.

O controlador (Controller) pode ser entendido como recebendo a solicitação do usuário e, em seguida, a visão e o modelo são combinados para concluir a solicitação do usuário juntos. Ele tem um papel muito óbvio na divisão da camada de controle e pode dizer claramente que é um distribuidor, qual modelo e exibição escolher e que tipo de solicitação do usuário pode ser concluída. A camada de controle não faz todo o processamento de dados, por exemplo: o usuário clica em uma conexão, após a camada de controle receber a solicitação, ela não processa as informações do negócio, apenas transmite as informações do usuário para o modelo e informa o modelo o que fazer e, em seguida, escolhe aquele que atende aos requisitos A exibição é retornada ao usuário.

    1. estrutura B/S

B/S (Browser/Server) é uma arquitetura mais conveniente do que sua arquitetura predecessora. Ele usa o servidor Web para concluir a transferência e troca de dados. Você só precisa baixar o navegador como cliente, então o trabalho alcançará um efeito de "emagrecimento" e não há necessidade de considerar o problema da instalação ininterrupta do software.

    1. Estrutura de inicialização de primavera

A estrutura Spring é uma estrutura de aplicativo de software livre na plataforma Java que fornece um contêiner com recursos de inversão de controle. Embora o framework Spring em si não tenha restrições quanto ao modelo de programação, seu uso frequente em aplicações Java o tornou tão popular que posteriormente foi utilizado como suplemento ou mesmo substituto do modelo EJB (EnterpriseJavaBeans). A estrutura Spring fornece uma série de soluções para desenvolvimento, como o uso dos principais recursos de inversão de controle e implementação de inversão de controle por meio de injeção de dependência para realizar a conteinerização do ciclo de vida do objeto de gerenciamento, usando programação orientada a aspectos para gerenciamento de transações declarativas , e integrando uma variedade de tecnologias de persistência gerenciam o acesso a dados, fornecem um grande número de excelentes estruturas da Web para facilitar o desenvolvimento e assim por diante. O framework Spring possui o recurso de inversão de controle (IOC). O IOC é projetado para facilitar a manutenção e o teste do projeto. Ele fornece um método para configuração e gerenciamento unificado de objetos Java por meio do mecanismo de reflexão Java. A estrutura Spring usa o contêiner para gerenciar o ciclo de vida dos objetos. O contêiner pode configurar objetos verificando arquivos XML ou anotações Java específicas em classes. Os desenvolvedores podem obter objetos por meio de pesquisa de dependência ou injeção de dependência. Programação Orientada a Aspectos(AOP), a estrutura Spring AOP é baseada no modo proxy e pode ser configurada em tempo de execução; a estrutura AOP é principalmente modularizada para as preocupações cruzadas entre os módulos. A estrutura AOP da estrutura Spring fornece apenas recursos AOP básicos. Embora não possa ser comparada com a estrutura AspectJ, ela também pode atender às necessidades básicas por meio da integração com AspectJ. Funções como gerenciamento de transações e acesso remoto sob a estrutura Spring podem ser realizadas usando a tecnologia Spring AOP. A estrutura de gerenciamento de transações do Spring traz um mecanismo de abstração para a plataforma Java que permite que transações locais e globais, bem como transações aninhadas, funcionem com pontos de salvamento e em praticamente qualquer ambiente na plataforma Java. O Spring integra vários modelos de transação. O sistema pode configurar transações por meio de modelos de transação, anotações XML ou Java, e a estrutura de transação integra funções como mensagens e armazenamento em cache. A estrutura de acesso a dados do Spring aborda as dificuldades comuns que os desenvolvedores encontram ao usar bancos de dados em seus aplicativos. Ele não apenas fornece suporte para todas as estruturas populares de acesso a dados, como Java: JDBC, iBATS/MyBATIs, Hibernate, Java Data Objects (JDO), Apache OJB e Apache Cayne, mas também pode ser usado com o gerenciamento de transações do Spring para fornecer acesso a dados Flexível abstração. O framework Spring inicialmente não pretendia construir seu próprio framework Web MVC . não era suficiente, então eles criaram o Spring MVC.

    1. banco de dados mysql

Mysql foi atualizado muitas vezes, e o nível funcional tem sido muito rico e perfeito.Da versão Mysql4 para a versão 5, uma atualização relativamente grande foi feita e alcançou bons resultados práticos de aplicação no uso comercial real. A versão mais recente do Mysql oferece suporte à compactação de informações e, ao mesmo tempo, também pode executar criptografia para melhor atender às necessidades de segurança da informação. Ao mesmo tempo, após várias atualizações do sistema, a função de espelhamento do próprio banco de dados também foi bastante aprimorada, a suavidade da operação e a facilidade de uso foram bastante aprimoradas e o uso e a criação de drivers também são mais eficientes e mais rápido. A maior mudança é a otimização da exibição das informações espaciais, o que facilita a rotulagem e o cálculo das coordenadas no mapa do aplicativo. A poderosa função de backup também garante que os usuários se sintam mais à vontade durante o processo de uso, e os recursos suportados do Office também oferecem suporte à autoinstalação e uso dos usuários. A forma de exibição das informações também foi bastante atualizada, e duas áreas de exibição muito úteis foram adicionadas, uma é a área de informações, que possui tabelas e textos classificados, e a exibição da interface é mais atualizada e específica. O segundo é o controle de informações do instrumento, que pode exibir informações na área de informações do instrumento e comparar várias informações ao mesmo tempo, o que traz grande comodidade ao uso real dos usuários.

No processo de implementação real do aplicativo de biblioteca digital móvel projetado neste artigo, o principal motivo para escolher o banco de dados Mysql é que haverá um grande número de bancos de dados que são frequentemente operados durante a aplicação e desenvolvimento do sistema de aplicativos corporativos e a segurança dos dados Os requisitos sexuais também são muito altos. Com base nesses fatores, o Mysql com um fator de segurança relativamente alto foi finalmente selecionado para armazenar os dados de segundo plano do APP da biblioteca digital móvel.

    1. tecnologia android

O Android é um sistema operacional baseado no kernel do Linux, desenvolvido inicialmente pelo Google e posteriormente pela Open Handset Alliance. Adota a arquitetura da pilha de software, que é dividida principalmente em três partes. A camada inferior é baseada no trabalho do kernel do Linux e fornece apenas funções básicas; outros softwares aplicativos são desenvolvidos pela própria empresa, usando o Java como parte da programação. Além disso, para promover essa tecnologia, o Google e dezenas de outras empresas de telefonia móvel estabeleceram a Open Handset Alliance. Há rumores de que o Android é o GPhone antes de se tornar público.

Adota uma arquitetura de pilha de software (pilha de software, também conhecida como pilha de software), que é dividida principalmente em três partes: a camada inferior é baseada no núcleo do Linux, desenvolvido pela linguagem C, e fornece apenas funções básicas. A camada intermediária inclui a biblioteca de funções Library e a máquina virtual Virtual Machine, desenvolvida por C++. A camada superior é uma variedade de software aplicativo, incluindo programas de chamada, programas SMS, etc., e o software aplicativo é desenvolvido por cada empresa e escrito em Java.

    1. Princípio de funcionamento do sistema B/S

A arquitetura B/S adota o modo de trabalho de solicitação do navegador e resposta do servidor.

Os usuários podem acessar informações como texto, dados, imagens, animação, vídeo sob demanda e som gerado pelo servidor web na Internet por meio de um navegador;

E cada servidor da web pode ser conectado ao servidor de banco de dados de várias maneiras, e uma grande quantidade de dados é realmente armazenada no servidor de banco de dados;

Baixe o programa do servidor Web para executar localmente. Se uma instrução relacionada ao banco de dados for encontrada durante o processo de download, o servidor Web a entregará ao servidor de banco de dados para interpretação e execução e a retornará ao servidor Web e o servidor Web irá devolvê-lo ao usuário. Nessa estrutura, várias redes são conectadas entre si para formar uma grande rede, ou seja, a rede global. Cada empresa pode construir sua própria Internet com base nessa estrutura.

No modo B/S, o usuário solicita acesso a vários servidores distribuídos na rede por meio do navegador. A solicitação do navegador é processada pelo servidor e o resultado do processamento e as informações correspondentes são retornadas ao navegador. Outros processamentos e solicitações de dados são tudo preenchido pelo Servidor Web. Por meio da estrutura de quadro e do navegador embutido no sistema operacional, essa estrutura tornou-se o modo de estrutura principal dos aplicativos de software atuais.

análise de sistema

  1. Análise de Viabilidade

Em termos de tecnologia, a estrutura atual do Springboot é usada para construir o corpo principal do sistema. A parte frontal é desenvolvida com base no modelo MVVM e o modelo B/S é usado para realizar o design e o ajuste estético do a primeira página. Foi praticado no design do curso, o que pode tornar o desenvolvimento mais conveniente e sistemático. Do ponto de vista técnico, este sistema é totalmente viável.

Em termos de praticidade, a principal tarefa deste projeto é implementar no aplicativo de biblioteca digital móvel: gerenciamento de informações de livros, gerenciamento de visão geral de novos livros, gerenciamento de livros populares, módulo de gerenciamento de empréstimo de livros, etc., de acordo com a tendência de desenvolvimento atual. Do ponto de vista dos usuários, ao mesmo tempo em que considera os custos operacionais do sistema e os recursos humanos, adota uma maneira conveniente na Internet para realizar negócios online, tornando o processo de negócios mais sistemático e mais conveniente para a experiência do usuário, que é mais prática.

Em termos de economia, uma vez que o principal objetivo da APP de biblioteca digital móvel concebida neste projeto é fornecer serviços de consulta e recuperação mais convenientes e rápidos de informações de prontuários, ou seja, software de informação que pode ser colocado diretamente em uso. O principal custo do sistema concentra-se principalmente na operação de manutenção contínua e atualização gerencial dos dados usados ​​no período posterior. No entanto, uma vez que o sistema é colocado em operação e uso real, ele pode melhorar a eficiência da consulta e recuperação de informações. Ao mesmo tempo, também é necessário garantir efetivamente a segurança das informações do solicitante. Ao mesmo tempo, a praticidade trazida por este aplicativo de biblioteca digital móvel O valor do aplicativo supera em muito o custo de desenvolvimento e manutenção do sistema atual, portanto, é economicamente viável desenvolver este software.

    1. Análise de Requisitos Funcionais

As funções do aplicativo Mobile Digital Library são divididas principalmente em usuários front-end registrando e fazendo login de acordo com suas próprias necessidades, navegando em informações de livros e livros emprestados, etc. gerencia principalmente usuários registrados, informações de livros, visão geral de novos livros, livros populares, empréstimo de livros, etc.

O diagrama de caso de uso do usuário é mostrado abaixo.

 

Figura 3-1 Diagrama de caso de uso do usuário

O diagrama de caso de uso do administrador é mostrado abaixo.

 

Figura 3-2 Diagrama de caso de uso do administrador

      1. função de usuário front-end

As funções do usuário de primeiro plano são as seguintes:

Registro da conta: O usuário preenche as informações pessoais e verifica o número do celular.

Login: Faça login de acordo com a senha da conta.

Consultar informações do livro: os usuários podem navegar pelas informações do livro na lista de livros on-line e selecionar um livro para visualizar os detalhes.

Manter informações pessoais: Os usuários podem modificar suas informações cadastrais a qualquer momento devido a alterações nas informações pessoais.

Livros populares: o usuário executa uma operação para aprender sobre livros populares online.

Empréstimo de livros: os usuários podem emprestar livros online.

Fórum de troca: os usuários podem realizar trocas de fórum.

      1. Função de administrador em segundo plano

As funções do administrador são as seguintes:

Alterar senha: os administradores podem alterar suas próprias senhas de login no sistema a qualquer momento para garantir a segurança do sistema.

Gerenciamento de usuários: publicar e manter as informações do usuário. .

Gerenciamento de livros populares: mantenha livros populares, adicione, exclua e modifique informações.

Gerenciamento da visão geral do novo livro: publique informações sobre a visão geral do novo livro.

Gerenciamento de empréstimo de livros: revise e gerencie as informações de empréstimo de livros.

Gerenciamento do fórum de troca: gerencie as informações do fórum.

    1. Análise de Requisitos Não Funcionais

A primeira coisa a considerar é o software de função do sistema. Em termos de design específico, se ele pode atender melhor aos requisitos funcionais básicos de vários usuários. Se não puder atender melhor às necessidades dos usuários, a existência desse sistema é inútil. A análise não funcional do sistema de software é realizada a partir de 7 aspectos, um é a análise de desempenho, que visa o sistema; um é a análise de segurança, que visa o sistema; o outro é a análise de integridade, que visa do sistema; é a análise de escalabilidade, para o sistema, e a outra é a análise de desempenho para adaptar ao negócio. Diante do desempenho, segurança, expansão e integridade do aplicativo de biblioteca digital móvel, verifica-se que a análise de requisitos não funcionais correspondente é necessária após uma comparação abrangente e análise do desempenho dos sete aspectos de desempenho, segurança , expansão e integridade.

    1. Análise de Requisitos de Segurança
      1. sistema de segurança

A segurança é muito importante para todos os sistemas. Um sistema com boa segurança pode proteger as informações do sistema e do usuário contra roubo. Especialmente para o aplicativo de biblioteca digital móvel, deve haver uma boa segurança para proteger todo o sistema.

O sistema possui controle de autoridade para usuários e limita a autoridade dos usuários de acordo com as barreiras de função, de modo a garantir a segurança do sistema.

      1. segurança de dados

Os dados no banco de dados são inseridos do mundo externo. Quando os dados são inseridos, devido a vários motivos, os dados de entrada serão inválidos ou sujos. Portanto, como garantir que os dados de entrada estejam em conformidade com os regulamentos tornou-se a principal preocupação dos sistemas de banco de dados, especialmente os sistemas de banco de dados relacionais multiusuário.

Portanto, ao gravar no banco de dados, a integridade, correção e consistência dos dados devem ser garantidas.

    1. Análise de Fluxo de Dados

Analise o fluxo de dados do sistema e os usuários do sistema são divididos em duas categorias, usuários gerais e administradores. O sistema processa principalmente a transmissão de informações de interface, verificação de informações de login, recepção de informações de registro e resposta do usuário a várias operações.

O diagrama de fluxo de dados de nível superior do sistema é mostrado na figura abaixo.

 

Figura 3-2 Diagrama de fluxo de dados de nível superior

Para julgar a identidade do usuário, ele é julgado de acordo com os dados de login e, em seguida, pula para a interface de função correspondente. Os usuários internos do sistema podem operar os dados e o centro de banco de dados pode receber o fluxo de dados efetivo transmitido pelo sistema para executar as operações correspondentes nas instruções SQL de dados.

O diagrama de fluxo de dados subjacente do sistema é mostrado na figura abaixo.

                                             

 

 

 Figura 3-3 O diagrama de fluxo de dados subjacente

 

O sistema pode ser dividido em duas partes, o primeiro plano e o segundo plano.Após cada operação, o sistema retorna o resultado da operação. A conexão de dados entre o primeiro plano e o plano de fundo ocorre principalmente por meio do banco de dados, o que significa que diferentes operações são executadas no banco de dados, respectivamente.

  1. projeto de sistema
    1. Projeto de arquitetura do sistema

O design da arquitetura deste aplicativo de biblioteca digital móvel é dividido principalmente em três camadas, incluindo principalmente a camada da Web, a camada de negócios e a camada de modelo. A camada web também inclui a camada View e a camada Controller, e a camada Model inclui a camada de extensão de metadados e a camada de acesso a dados.

A arquitetura do sistema é mostrada na figura abaixo.

 

Figura 4-1 Arquitetura do sistema

    1. Projeto geral do sistema

O aplicativo de biblioteca digital móvel é geralmente dividido em um módulo de usuário front-end e um módulo administrador de back-end.

Os dois módulos parecem existir independentemente, mas o banco de dados acessado é o mesmo. A função de cada módulo é feita de acordo com a análise de demanda previamente realizada, e após consulta aos materiais pertinentes.

Em resumo, o diagrama de estrutura funcional do sistema é mostrado na figura abaixo.

                       

 

Figura 4-2 Diagrama da estrutura da função do sistema

    1. Projeto de função do sistema

Módulo de gerenciamento de informações do usuário: O gerenciamento de usuários é dividido em adição e modificação de usuários. As informações do usuário são modificadas, adicionadas e excluídas pelo administrador.

Módulo de gerenciamento de livros populares: o gerenciamento de livros populares é dividido em adição, modificação e exclusão de livros populares. As informações de livros populares são modificadas, adicionadas e excluídas pelo administrador.

Módulo de gerenciamento de empréstimos de livros: o gerenciamento de empréstimos de livros é dividido em: submissão de aplicativos de empréstimos de conjuntos de dados. O administrador pode consultar as informações de empréstimo de livros e o administrador de segundo plano pode revisar as informações de empréstimo de livros.

    1. Projeto de banco de dados
      1. Análise de requisitos de dados

Da análise anterior, as coisas mais importantes no banco de dados são informações do usuário, livros populares, empréstimo de livros, fóruns de troca e uma visão geral de novos livros. A análise pode obter a seguinte descrição de dados:

Usuários da plataforma: usados ​​para registrar várias informações dos usuários, incluindo nome de usuário, senha, nome, gênero, endereço, endereço de e-mail, informações de contato e outros itens de dados.

Administrador: Registre as informações de login do administrador. Incluindo nome de usuário, senha, permissões e outros itens de dados.

Informações do livro: itens de dados como nome do livro, número do livro, tipo do livro, versão do livro, autor do livro, inventário do livro, data de publicação, preço do livro, introdução do conteúdo, visualização online, etc.

Empréstimo de livro: armazena as informações de empréstimo do usuário. Incluindo itens de dados como nome do livro, número do livro, tipo, preço, quantidade de empréstimo, taxa de empréstimo, status de pagamento, etc.

      1. Projeto conceitual de banco de dados

De acordo com o fluxograma de dados anterior, combinado com o design do módulo funcional do sistema, projete cada entidade de informação que esteja em conformidade com o sistema.

(1) Diagrama de conexão da entidade, conforme mostrado em 4-3.

 

                                                                  Figura 4-3 Diagrama de conexão da entidade

      1. projeto de tabela de banco de dados

As tabelas de dados pertencentes ao APP Biblioteca Digital Móvel são as seguintes: Tabela de Livros Populares, Tabela de Empréstimos de Livros, Tabela de Visão Geral de Novos Livros, Tabela de Fórum de Trocas e Tabela de Usuários.

Devido ao grande número de tabelas de dados, são exibidas apenas as principais tabelas de dados do sistema, conforme tabela a seguir.

nome

tipo

comprimento

não nulo

chave primária

observação

ordinário_users_id

int

11

sim

sim

ID de usuário comum

nome de usuário

varchar

64

não

não

nome de usuário

user_gender

varchar

64

não

não

gênero do usuário

examine_state

varchar

16

sim

não

Status de aprovação

recomendar

int

11

sim

não

Recomendação Inteligente

ID do usuário

int

11

sim

não

ID do usuário

tempo_de_criação

data hora

0

sim

não

tempo de criação

tempo de atualização

carimbo de data/hora

0

sim

não

tempo de atualização

nome

tipo

comprimento

não nulo

chave primária

observação

empréstimo de livros

int

11

sim

sim

Identificação do empréstimo do livro

nome_do_livro

varchar

64

não

não

título do livro

número do livro

varchar

64

não

não

número do livro

tipo_livro

varchar

64

não

não

tipo de livro

preço_livro

varchar

64

não

não

preço do livro

quantidade_empréstimo

varchar

64

não

não

quantidade de empréstimo

despesas_empréstimos

varchar

64

não

não

taxa de empréstimo

empréstimo_usuário

int

11

não

não

Mutuário

pay_state

varchar

16

sim

não

Status do pagamento

pay_type

varchar

16

não

não

Tipos de pagamento

recomendar

int

11

sim

não

Recomendação Inteligente

tempo_de_criação

data hora

0

sim

não

tempo de criação

tempo de atualização

carimbo de data/hora

0

sim

não

tempo de atualização

nome

tipo

comprimento

não nulo

chave primária

observação

overview_of_the_new_book_id

int

11

sim

sim

Novo código de visão geral do livro

title_of_new_book

varchar

64

não

não

novo título do livro

data de lançamento

data

0

não

não

data de lançamento

new_book_type

varchar

64

não

não

novo tipo de livro

autor_novo_livro

varchar

64

não

não

novo autor do livro

new_book_cover

varchar

255

não

não

nova capa de livro

número do livro

varchar

64

sim

não

número do livro

exitos

int

11

sim

não

exitos

elogio_len

int

11

sim

não

curtidas

recomendar

int

11

sim

não

Recomendação Inteligente

tempo_de_criação

data hora

0

sim

não

tempo de criação

tempo de atualização

carimbo de data/hora

0

sim

não

tempo de atualização

nome

tipo

comprimento

não nulo

chave primária

observação

popular_books_id

int

11

sim

sim

ID do livro popular

nome_do_livro

varchar

64

não

não

título do livro

número do livro

varchar

64

sim

não

número do livro

capa de livro_

varchar

255

não

não

capa de livro

tipo_livro

varchar

64

não

não

tipo de livro

livro_edição

varchar

64

não

não

versão do livro

livro_autor

varchar

64

não

não

autor do livro

data de publicação

data

0

não

não

data de publicação

book_inventory

varchar

64

não

não

inventário de livro

preço_livro

varchar

64

não

não

preço do livro

validade do conteúdo

texto

0

não

não

breve introdução

visualização_online

texto longo

0

não

não

pré-visualização online

exitos

int

11

sim

não

exitos

elogio_len

int

11

sim

não

curtidas

recomendar

int

11

sim

não

Recomendação Inteligente

tempo_de_criação

data hora

0

sim

não

tempo de criação

tempo de atualização

carimbo de data/hora

0

sim

não

tempo de atualização

nome

tipo

comprimento

não nulo

chave primária

observação

Fórum ID

mediaint

8

sim

sim

Fórum ID

mostrar

smallint

5

sim

não

ordenar

ID do usuário

mediaint

8

sim

não

ID do usuário

apelido

varchar

16

não

não

Apelido

elogio_len

int

10

não

não

curtidas

exitos

int

10

sim

não

Número de visitas

título

varchar

125

sim

não

título

palavras-chave

varchar

125

não

não

Palavras-chave

descrição

varchar

255

não

não

descrever

url

varchar

255

não

não

Endereço de Origem

marcação

varchar

255

não

não

Rótulo

img

texto

0

não

não

foto de capa

contente

texto longo

0

não

não

texto

tempo_de_criação

carimbo de data/hora

0

sim

não

Tempo de criação:

tempo de atualização

carimbo de data/hora

0

sim

não

Tempo de atualização:

avatar

varchar

255

não

não

Pôster Avatar:

type

varchar

64

论坛分类

  1. 系统实现
    1. 数据库访问层的实现

该系统是通过jdbc和MySQL达成连接的,新建一个jdbc.properties文件来填写与数据库连接所需要的驱动和参数。

jdbc.driverClass=com.MySQL.jdbc.Driver

jdbc.url=jdbc:MySQL://localhost:3306/tsi

jdbc.username=root

jdbc.password=123

第一个参数代表MySQL数据库的驱动,第二个参数代表要连接的数据库,第三个和第四个参数代表数据库连接名和密码。

后台与数据库访问主要是通过HQL语句来进行查询的,查询语句中的表名是表格的实体类名,在这种查询语句中*是不允许使用的,除非适合聚合函数一起使用才可以。

    1. 注册模块的实现

用户在填写数据的时候必须与注册页面上的验证相匹配否则会注册失败,注册页面的表单验证是通过JavaScript进行验证的,用户名的长度必须在6到18之间,邮箱必须带有@符号,密码和密码确认必须相同,你输入的密码,系统会根据你输入密码的强度给出指定的值,电话号码和身份证号码必须要求输入格式与生活相符合,当你前台验证通过的时候你点击注册,表单会将你输入的值通过name值传递给后台并保存到数据库中。

用户注册流程图如下图所示。

 

图5-1用户注册流程图

用户注册界面如下图所示。

 

图5-2用户注册界面

用户注册逻辑代码如下:

/**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        query.put("username",user.getUsername());

        List list = service.select(query, new HashMap<>()).getResultList();

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        user.setUserId(null);

        user.setPassword(service.encryption(user.getPassword()));

        service.save(user);

        return success(1);

}

/**

     * 用户ID:[0,8388607]用户获取其他与用户相关的数据

     */

    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    @Column(name = "user_id")

    private Integer userId;

    /**

     * 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

     */

    @Basic

    @Column(name = "state")

    private Integer state;

    /**

     * 所在用户组:[0,32767]决定用户身份和权限

     */

    @Basic

    @Column(name = "user_group")

    private String userGroup;

    /**

     * 上次登录时间:

     */

    @Basic

    @Column(name = "login_time")

    private Timestamp loginTime;

    /**

     * 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "phone")

    private String phone;

    /**

     * 手机认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "phone_state")

    private Integer phoneState;

    /**

     * 用户名:[0,16]用户登录时所用的账户名称

     */

    @Basic

    @Column(name = "username")

    private String username;

    /**

     * 昵称:[0,16]

     */

    @Basic

    @Column(name = "nickname")

    private String nickname;

    /**

     * 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

     */

    @Basic

    @Column(name = "password")

    private String password;

    /**

     * 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "email")

    private String email;

    /**

     * 邮箱认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "email_state")

    private Integer emailState;

    /**

     * 头像地址:[0,255]

     */

    @Basic

    @Column(name = "avatar")

    private String avatar;

    /**

     * 创建时间:

     */

    @Basic

    @Column(name = "create_time")

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

    private Timestamp createTime;

    @Basic

    @Transient

    private String code;

}

    1. 登录模块的实现

主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布药品信息管理,发布信息,和退出功能。退出功能是清除全局变量username的值,并跳回到首页。

登录流程图如下图所示。

 

图5-3登录流程图

用户登录界面如下图所示。

 

图5-4用户登录界面

用户登录的逻辑代码如下所示。

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

            String res = String.valueOf(service.runCountSql(sql).getSingleResult());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

    1. 用户资料修改模块的实现

用户登录/注册成功之后可以修改自己的基本信息。修改页面的表单中每一个input的name值都要与实体类中的参数相匹配,在用户点击修改页面的时候,如果改后用户名与数据库里面重复了,页面会提示该用户名已经存在了,否则通过Id来查询用户,并将用户的信息修改为表单提交的数据。

    1. 热门书籍模块的实现

如果书籍的信息需要修改,管理员可以通过查询书籍的基本信息来查询,查询热门书籍是通过ajax技术来进行查询的,需要传递书籍名称等参数然后在返回到该页面中,可以选中要修改或删除的那条信息,如果选中了超过一条数据,页面会挑一个窗口提醒只能选择一条数,如果没有选中数据会挑一个窗口题型必须选择一条数据。当选择确认修改的时候,后台会根据传过来的id到数据库查询,并将结果返回到修改页面中,可以在修改页面中修改刚刚选中的信息当点击确认的时候from表单会将修改的数据提交到后台并保存到数据库中,就是说如果提交的数据数据库中存在就修改,否则就保存。

热门书籍列表界面如下图所示。

 

图5-5热门书籍列表界面

热门书籍列表的逻辑代码如下:

@PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

    @Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

}

    public Map<String,Object> readBody(BufferedReader reader){

        BufferedReader br = null;

        StringBuilder sb = new StringBuilder("");

        try{

            br = reader;

            String str;

            while ((str = br.readLine()) != null){

                sb.append(str);

            }

            br.close();

            String json = sb.toString();

            return JSONObject.parseObject(json, Map.class);

        }catch (IOException e){

            e.printStackTrace();

        }finally{

            if (null != br){

                try{

                    br.close();

                }catch (IOException e){

                    e.printStackTrace();

                }

            }

        }

        return null;

}

    public void insert(Map<String,Object> body){

        StringBuffer sql = new StringBuffer("INSERT INTO ");

        sql.append("`").append(table).append("`").append(" (");

        for (Map.Entry<String,Object> entry:body.entrySet()){

            sql.append("`"+humpToLine(entry.getKey())+"`").append(",");

        }

        sql.deleteCharAt(sql.length()-1);

        sql.append(") VALUES (");

        for (Map.Entry<String,Object> entry:body.entrySet()){

            Object value = entry.getValue();

            if (value instanceof String){

                sql.append("'").append(entry.getValue()).append("'").append(",");

            }else {

                sql.append(entry.getValue()).append(",");

            }

        }

        sql.deleteCharAt(sql.length() - 1);

        sql.append(")");

        log.info("[{}] - 插入操作:{}",table,sql);

        Query query = runCountSql(sql.toString());

        query.executeUpdate();

    }

    1. 书籍借阅模块的实现

书籍借阅功能整体流程:用户进行书籍借阅时,同时会显示具体信息填写页面,在用户点击借阅按钮时,会先通过拦截器判断用户是否登录,若未登录,会跳转至登录页面,提示用户先登录,若为登录用户就会跳转至填写借阅信息的页面,填写好借阅信息之后,点击提交按钮,成功之后返回书籍借阅信息,告知用户借阅成功。

书籍借阅流程图如下图所示。

 

图5-7书籍借阅流程图

书籍借阅界面如下图所示。

 

图5-8书籍借阅界面

    1. 新书概述管理模块的实现

添加新书概述时,会给出数据填写的页面,该页面根据填写好的图书概述信息同样会事先发送Ajax请求查询是否已存在,数据填写好之后提交到后台,会调用相关服务在数据库中插入数据库。

新书概述管理流程图如下图所示。

 

图5-9新书概述管理流程图

新书概述管理页面设计效果如下图所示。

 

图5-10新书概述管理界面

新书概述管理界面逻辑代码如下:

 @RequestMapping(value = {"/avg_group", "/avg"})

public Map<String, Object> avg(HttpServletRequest request) {

        Query count = service.avg(service.readQuery(request), service.readConfig(request));

        return success(count.getResultList());

}

  1. 系统测试
    1. 测试目的

对任何系统而言,测试都是必不可少的环节,测试可以发现系统存在的很多问题,所有的软件上线之前,都应该进行充足的测试之后才能保证上线后不会Bug频发,或者是功能不满足需求等问题的发生。下面分别从单元测试,功能测试和用例测试来对系统进行测试以保证系统的稳定性和可靠性。

    1. 功能测试

下表是热门书籍管理功能的测试用例,检测了热门书籍管理中对热门书籍信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表6-1 热门书籍信息管理的测试用例

功能描述

用于热门书籍信息管理

测试目的

检测热门书籍信息管理时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加热门书籍信息,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加热门书籍信息,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改热门书籍信息,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改热门书籍信息,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除热门书籍信息,选择热门书籍信息删除

提示删除成功

与预期结果一致

点击搜索热门书籍信息,输入存在的热门书籍信息名

查找出热门书籍信息

与预期结果一致

点击搜索热门书籍信息,输入不存在的热门书籍信息名

不显示热门书籍信息

与预期结果一致

下表是新书概述管理功能的测试用例,检测了新书概述管理中对新书概述信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表6-2 新书概述管理的测试用例

功能描述

用于新书概述管理

测试目的

检测新书概述管理时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加新书概述,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加新书概述,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改新书概述,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改新书概述,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除新书概述,选择新书概述删除

提示删除成功

与预期结果一致

点击搜索新书概述,输入存在的新书概述名

查找出新书概述

与预期结果一致

点击搜索新书概述,输入不存在的新书概述名

不显示新书概述

与预期结果一致

下表是书籍借阅管理功能的测试用例,检测了书籍借阅管理中书籍借阅信息的操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表6-3 书籍借阅管理的测试用例

功能描述

用于书籍借阅管理

测试目的

检测书籍借阅管理时各种操作的情况

测试数据以及操作

预期结果

实际结果

未选择书籍借阅,点击提交

提示请选择书籍借阅

与预期结果一致

未输入时间,点击提交

提示请输入时间

与预期结果一致

    1. 性能测试

使用阿里云PTS(Performance Testing Service)性能测试服务对线上系统进行压力测试。线上服务器环境为:1核心CPU,1G内存,1Mbps公网带宽,Centos7.0操作系统。

压测过程中使用了2台并发机器,每台机器20个用户并发,对系统主页,登录,数据查询和数据维护等模块进行并发访问,测试结果是有40个用户并发时,数据管理相关页面的响应时间甚至达到了7s,通过查看服务器出网流量发现已经达到1381kb/s,可以看出服务器的带宽已经达到峰值,如果系统使用5Mbps的带宽,系统的响应时间和TPS将会大大增加。在整个测试的过程中,CPU的使用率占用仅8%,也提现出带宽瓶颈对系统的影响非常严重。

  1. 总结与展望

随着计算机互联网技术的迅猛发展,各行各业都已经实现采用计算机相关技术对日益放大的数据进行管理。该课题是研究移动数字图书馆为核心展开的,主要是为了实现图书馆移动数字化的需求。

移动数字图书馆APP的开发是以Springboot框架,系统整体为B/S架构,数据库系统使用MySQL。文中详细分析了移动数字图书馆APP的研究背景、研究目的和意义、开发工具和相关技术以及系统需求、系统详细设计和系统测试等等一系列内容。系统实现了移动数字图书馆APP所需的一些基本功能,并通过测试对这些实现的功能进行了完善,进而提高了系统整体的实用性。系统投入运行时,各功能均运行正常。系统的每个界面的操作符合常规逻辑,对使用者来说操作简单,界面友好。整个系统的各个功能设计合理,体现了人性化。但是由于自己在系统开发过程中对一些用到的相关知识和技术掌握不够牢固,再加上自身开发经验欠缺,因此系统在有些方面的功能还不够完善,考虑的不够全面,因此整个系统还有待日后逐步完善。

参考文献

[1]段学敏,高卫辉.图书管理与信息化结合途径初探[J].参花(下),2022(02):122-124.

[2]王小刚.互联网时代下的图书管理信息化建设[J].数字通信世界,2022(02):122-124.

[3]李鹏.新公共管理理念在图书管理中的创新应用[J].产业与科技论坛,2022,21(03):285-286.

[4]林辉.基于Java Web的渭南市大荔县图书管理系统的设计与实现[J].电子设计工程,2021,29(24):155-158+163.

[5]李东阳.利用信息技术优势,做好图书管理工作[J].新课程,2021(50):216.

[6]冯晓娟.信息技术在图书管理中的运用研究[J].文化产业,2021(33):40-42.

[7]王丹.大数据时代公共图书馆图书管理的创新路径[J].传媒论坛,2021,4(22):146-148.

[8]罗莉霞,高何裕.基于B/S的图书管理与个性化推荐系统的设计与实现[J].技术与市场,2021,28(11):184-185.

[9]杜秋英.基于网络环境下公共图书馆图书管理的措施[J].科技资讯,2021,19(30):146-148.

[10]黄波.基于PHP+MySQL图书管理系统设计与实现[J].信息与电脑(理论版),2021,33(19):124-126.

[11]何冰,刘瑞华.探索新媒体时代公共图书管理的有效途径[J].办公室业务,2021(19):172-173.

[12]岳晓玲.浅论信息化建设视角下的图书管理[J].文化产业,2021(25):85-87.

[13]曾莹珊.图书管理信息化建设的必要性与实现路径[J].新课程教学(电子版),2021(16):155-156.

[14]李燕.图书管理工作中存在的问题和解决措施[J].办公室业务,2021(15):161-162.

[15]张雪红.互联网时代图书管理信息化建设策略研究[J].中国高新科技,2021(14):39-40.

[16]霍福华,韩慧.基于SpringBoot微服务架构下前后端分离的MVVM模型[J].电子技术与软件工程,2022(01):73-76.

致谢

Este projeto levou 3 meses. Neste projeto de graduação, é indissociável da orientação do instrutor para que tudo corra bem. O instrutor me deu muita ajuda tanto na experiência de design de graduação quanto na conclusão da tese. Por outro lado, muito beneficiei da atitude de trabalho sério e responsável do professor, do seu espírito de ensino prudente e do seu forte nível teórico. Sua atitude diligente e cautelosa em ensinar e educar as pessoas também me deixou com um sentimento particularmente profundo. Tenho aprendido muito com meus professores. Na teoria e na prática, minhas habilidades melhoraram muito. Aqui, gostaria de expressar minha sincera gratidão aos professores.

Depois de toda a pesquisa e desenvolvimento deste projeto de graduação, a pesquisa e desenvolvimento do meu sistema experimentou um progresso especial desde a análise de requisitos até a realização de funções detalhadas, até o teste final e manutenção. Deixe-me ter uma compreensão mais profunda do desenvolvimento do sistema. Agora, minha habilidade prática e de lidar sozinho com dúvidas também ganhou um aumento particularmente grande na prática e no aprendizado.Esta é a melhor colheita deste projeto de graduação.

Por fim, durante todo o processo de desenvolvimento do sistema, os colegas e amigos ao meu redor me deram muitas opiniões, então confirmei rapidamente a ideia de negócio do sistema. Aqui, expresso sinceramente minha gratidão a eles.

Like+Favorito+Seguir → mensagem privada para receber o código-fonte e a base de dados
 

Acho que você gosta

Origin blog.csdn.net/weixin_61498557/article/details/131370763
Recomendado
Clasificación