(Código-fonte anexado) Sistema de registro de consulta do Springboot Pet Hospital Computador concluído 13031

Resumo

Hoje em dia, na China, com a melhoria gradual da qualidade de vida das pessoas e o aumento do poder de consumo das pessoas, vários animais domésticos tornaram-se gradualmente parceiros de vida cada vez mais íntimos dos seres humanos. Além disso, a competição social de hoje é extremamente acirrada e o ritmo de vida das pessoas está se tornando cada vez mais rápido e tenso. Bichinhos animados e fofos podem simplesmente eliminar a solidão interior das pessoas que estão em um ritmo de vida tenso e aliviar a pressão causada pelo trabalho. ., Adicione diversão à vida. No entanto, as vantagens muitas vezes vêm com desvantagens, e problemas como animais de estimação vadios e doenças infecciosas de animais de estimação também crescem. Portanto, é necessária uma plataforma que possa não apenas atender às necessidades dos amantes de animais de estimação, mas também ajudar a resolver os problemas causados ​​pela criação de animais de estimação. Equilíbrio Os prós e os contras.

Este sistema de registro de consultas hospitalares para animais de estimação permite que os amantes de animais de estimação conheçam as informações da fonte do número do hospital a qualquer hora e em qualquer lugar. Os usuários registrados também podem facilmente fazer reservas para serviços médicos para animais de estimação e outros serviços. É muito conveniente de usar; os usuários administradores também podem gerenciar facilmente o site Vários conteúdos no site, a função de personalização é muito poderosa.

Este artigo usa springboot como tecnologia de desenvolvimento para implementar um sistema de registro de consultas hospitalares para animais de estimação . Os principais usuários do sistema de registro de consultas hospitalares para animais de estimação são divididos em administradores, médicos de animais de estimação e donos de animais de estimação ; as principais funções incluem: página inicial, usuários do sistema (administradores, médicos de animais de estimação, donos de animais de estimação), gerenciamento de módulos (informações sobre animais de estimação, informações médicas, Registro de consultas, relatório de diagnóstico, saúde diária, registro de animais de estimação, gerenciamento de fontes de números), centro pessoal e outras funções. Através do design desses módulos funcionais, todo o processo do sistema de registro de consultas hospitalares para animais de estimação é basicamente realizado .

Especificamente no design do sistema, a estrutura springboot é adotada e o banco de dados Mysql é usado em segundo plano.É um excelente sistema de registro de consultas hospitalares para animais de estimação .

Palavras-chave: sistema de registro de consultas hospitalares para animais de estimação;springboot;banco de dadosMysql


Abstrato

Hoje em dia, na China, com a melhoria gradual da qualidade de vida das pessoas e o aumento da capacidade de consumo das pessoas, vários pequenos animais domesticados tornaram-se gradualmente companheiros de vida cada vez mais íntimos dos humanos. Além disso, com a competição cada vez mais acirrada na sociedade atual, o ritmo de vida das pessoas está se tornando cada vez mais rápido e tenso, e bichinhos animados e fofos podem simplesmente eliminar a solidão interior das pessoas em um ritmo de vida tenso, aliviar a pressão trazida pelo trabalho, e adicione diversão à vida. Mas as vantagens muitas vezes vêm acompanhadas de desvantagens, e problemas como animais de estimação vadios e doenças infecciosas de animais de estimação também crescem insidiosamente. Portanto, é necessário ter uma plataforma que não só atenda às necessidades dos entusiastas de animais de estimação, mas também seja propícia à solução dos problemas causados ​​pela criação de animais de estimação,

Este sistema de agendamento e registro em hospitais para animais de estimação permite que os entusiastas de animais de estimação acessem informações de contas hospitalares a qualquer hora e em qualquer lugar. Os usuários registrados também podem marcar consultas convenientemente para serviços médicos para animais de estimação e outros serviços, tornando-o muito conveniente de usar; Os usuários administradores também podem gerenciar facilmente vários conteúdos do site, e a função de personalização é muito poderosa.

Este artigo usa bota de mola como tecnologia de desenvolvimento para implementar um sistema de agendamento e registro em hospitais de animais de estimação. Os principais usuários do sistema de agendamento e registro em hospitais de animais de estimação são administradores, médicos de animais de estimação e proprietários de animais de estimação; As principais funções incluem: página inicial, usuários do sistema (administradores, médicos de animais de estimação, donos de animais de estimação), gerenciamento de módulo (informações sobre animais de estimação, informações médicas, registro de consultas, relatórios de diagnóstico, saúde diária, registros de animais de estimação, gerenciamento de fontes de contas), centro pessoal e outros funções. Através da concepção destes módulos funcionais, todo o processo do sistema de marcação e registo hospitalar de animais de estimação foi basicamente implementado.

Especificamente, em termos de design do sistema, adota a estrutura de spring boot e utiliza banco de dados MySQL no backend, tornando-se um excelente sistema de agendamento e registro em hospitais de animais de estimação.

Palavras-chave: Sistema de agendamento e registro hospitalar de animais de estimação; Tecnologia Springboot; Banco de dados MySQL

Índice

Resumo

Abstrato

1. Visão Geral

1.1 Antecedentes e significado do tema

1.2 Situação da pesquisa no país e no exterior

1.3 Conteúdo de pesquisa

2 Ambiente de desenvolvimento do sistema

2.1 Tecnologia de desenvolvimento

2.2 Introdução à estrutura de inicialização por mola

2.3 Descrição do MySQL

2.4 Princípio de funcionamento do sistema B/S

2.5 Introdução ao padrão MVVM

2.6 Descrição Java

3 Análise do sistema

3.1 Análise de viabilidade

3.2 Análise do processo do sistema

3.3 Análise de casos de uso do sistema

4 Projeto do sistema

4.1 Visão Geral do Sistema

4.2 Projeto da estrutura do sistema

4.3 Projeto de banco de dados

Projeto detalhado de 5 sistemas

5.1 Módulo de registro

5.2 Módulo de login/logout

5.3 Módulo de perfil

5.4 Módulo de informações sobre animais de estimação

5.5 Módulo de registro de agendamento

5.6 Módulo de modificação de senha

5.7Módulo de Gestão Médica

5.8 módulo de gerenciamento de origem

5.9 Módulo de gestão diária de saúde

Capítulo 6 Teste do Sistema

6.1 Visão Geral do Teste

6.2 Processo de teste

6.3 Resultados do teste

para concluir

Obrigado

Por fim, gostaria de expressar meus sinceros agradecimentos a todos os professores que leram e revisaram este artigo!

referências

1. Visão Geral

1.1 Antecedentes e significado do tema

Atualmente, muitos sistemas de registro de consultas hospitalares para animais de estimação geralmente adotam gerenciamento puramente manual. A desvantagem deste método é que as pessoas envolvidas na gestão possuem diferentes níveis culturais e diferentes caligrafias, o que causará transtornos na comunicação de informações entre si.Além disso, o meio de transmissão de informações em papel tem uma grande fraqueza, pois é facilmente danificado, causando informações perda. Na atual era da informação, qualquer hospital para animais de estimação precisa de um sistema prático de registro de consultas hospitalares para animais de estimação para padronizar o gerenciamento das informações dos hospitais para animais de estimação, o que melhorará muito o nível de gerenciamento dos hospitais para animais de estimação, otimizará recursos e maximizará os benefícios.

Alguns softwares de gerenciamento de sistema de registro de consultas hospitalares para animais de estimação agora usam uma variedade de tecnologias, mas a maioria dos sistemas de registro de consultas hospitalares para animais de estimação são usados ​​​​principalmente em departamentos importantes de grandes hospitais para animais de estimação. Quanto aos pequenos hospitais para animais de estimação, poucos usam o sistema de registro de consultas em hospitais para animais de estimação para gerenciar os negócios diários. Tendo em vista as enormes e básicas necessidades do software de sistema de registro de consultas hospitalares para animais de estimação , um bom software de sistema de registro de consultas hospitalares para animais de estimação deve ser totalmente funcional, fácil de operar e exibir uma interface de operação simples e clara para os usuários. Ao melhorar as funções, a flexibilidade e a segurança do sistema devem ser levadas em consideração.

As vantagens do sistema de registro de consultas hospitalares para animais de estimação refletem-se principalmente em três aspectos:

(1) O sistema de registro de consultas hospitalares para animais de estimação não tem papel, é ecologicamente correto e conveniente. O sistema tradicional de registro de consultas hospitalares para animais de estimação é registrado e arquivado manualmente pelos funcionários. Este gerenciamento tradicional do sistema de registro de consultas hospitalares para animais de estimação em papel consumirá muita força física e, em segundo lugar, também exigirá muita energia. O sistema de registro de consultas hospitalares para animais de estimação sem papel requer apenas um clique do mouse na frente do computador, que quase não consome energia física e é melhor do que o sistema tradicional de registro de consultas hospitalares para animais de estimação em termos de proteção ambiental, eficiência e negócios diários direcionados gestão... Muito mais científico.

(2) Gestão científica, segura e confiável. O método tradicional de gerenciamento do sistema de registro de consultas hospitalares para animais de estimação muitas vezes faz com que as informações sejam perdidas ou desfiguradas por vários motivos, o que traz grandes transtornos ao sistema de registro de consultas hospitalares para animais de estimação e aos negócios diários. Quanto ao sistema de registro de consultas hospitalares para animais de estimação , desde que o banco de dados do sistema esteja bem protegido, os problemas acima podem ser facilmente resolvidos.

(3) Simplificar o trabalho e promover o desenvolvimento integral em outros aspectos. Devido à intervenção do sistema de registo de consultas hospitalares de animais de estimação , os médicos podem ter mais tempo para prestar serviços médicos mais direcionados e personalizados, para que cada paciente tenha a oportunidade de usufruir de mais serviços.

1.2 Situação da pesquisa no país e no exterior

Com o desenvolvimento da economia, o nível de vida das pessoas continua a progredir e a melhorar, e cada vez mais famílias começam a ter animais de estimação.Ao mesmo tempo, a higiene dos animais de estimação, a prevenção de epidemias, o diagnóstico e o tratamento também têm recebido cada vez mais atenção das pessoas. , e derivado disso Os hospitais emergentes para animais de estimação também estão se desenvolvendo cada vez mais rapidamente.

Os hospitais para animais de estimação já fazem parte da economia nacional como uma indústria nos países desenvolvidos da Europa e dos Estados Unidos.Devido ao alto grau de informatização nos países desenvolvidos da Europa e dos Estados Unidos, a tecnologia da informação e vários resultados de pesquisas têm sido aplicados para todas as esferas da vida mais cedo, e os hospitais para animais de estimação há muito se tornaram realidade na gestão ... na construção de informações.

Actualmente, a informatização tornou-se o tema do desenvolvimento global. A procura de informação em países de todo o mundo está a crescer rapidamente. Os produtos e serviços de informação são amplamente utilizados em vários países, regiões, empresas, unidades, famílias e indivíduos.

Já na década de 1980, os países desenvolvidos já haviam iniciado o trabalho de construção de informação. Atualmente, os países desenvolvidos da Europa e dos Estados Unidos já estabeleceram arquivos eletrônicos para animais de estimação, que desempenham um importante papel de gestão na prevenção, higiene, segurança de epidemias de animais de estimação, etc. gestão diária de hospitais pet.Hospitais pet estão em A gestão já alcançou padronização e padronização.

Em comparação com os países desenvolvidos da Europa e dos Estados Unidos, a construção da informatização da China começou no início da década de 1990. O grau de informatização ainda é baixo e o desenvolvimento é muito desigual. A construção da informatização da maioria dos hospitais para animais de estimação ainda está centrada na fixação de preços e cobrança.O sistema de gestão carece do gerenciamento de informações de outros negócios, resultando em muito trabalho ainda feito manualmente, o que tem causado muitos problemas para o atual gerenciamento de informações dos hospitais veterinários .

Com a melhoria contínua da aplicação da tecnologia da informação na indústria de hospitais para animais de estimação na China, as cidades mais desenvolvidas da costa sudeste perceberam a informatização da gestão dos hospitais para animais de estimação, mas não é completamente universal. As áreas mais subdesenvolvidas, especialmente os pequenos animais de estimação comunitários hospitais , ainda no estilo de gestão tradicional.

Embora ainda haja uma grande lacuna com os países desenvolvidos da Europa e dos Estados Unidos, no "Décimo Segundo Plano Quinquenal", a China propôs o Projeto ~3521 de construção de informação, e a construção de informação dos hospitais para animais de estimação da China deu início a um boa oportunidade de desenvolvimento .

A construção contínua de informatização de hospitais para animais de estimação é de grande importância para o desenvolvimento da indústria médica e de saúde para animais de estimação. Ela pode não apenas melhorar a qualidade do serviço dos hospitais para animais de estimação, mas também facilitar o gerenciamento de hospitais para animais de estimação. Mais importante ainda, pode garantir prevenção de epidemias, higiene e segurança. de grande importância.

1.3 Conteúdo de pesquisa

Actualmente, muitas pessoas ainda utilizam ferramentas tradicionais de papel como principal ferramenta de gestão da informação, e a aplicação da tecnologia de rede desempenha apenas um papel de apoio. Em termos de conhecimento das ferramentas de rede, o software de escritório mais tradicional ainda é a principal ferramenta utilizada pelas pessoas, enquanto o software de gestão de informação relativamente abrangente e profissional ainda não é compreendido ou reconhecido pela maioria das pessoas. Este tópico tem como objetivo realizar as diversas funções do sistema de gestão de adoção de animais de estimação através da gestão de classificação de rótulos e outros métodos, de modo a alcançar a gestão do sistema de gestão de adoção de animais de estimação.

A introdução detalhada será elaborada nos seis capítulos seguintes:

O Capítulo 1, Introdução, apresenta os antecedentes e o significado da seleção do tema de pesquisa, o status da pesquisa e apresenta brevemente o conteúdo do capítulo deste artigo.

Capítulo 2: Introduzir conhecimento técnico, desenvolver através da introdução de tecnologias-chave e introduzir conhecimento técnico expresso intuitivamente no sistema.

O Capítulo 3 concentra-se na análise do sistema.Com base no forte mercado de oferta e demanda do sistema, são discutidas a viabilidade do desenvolvimento do sistema, os processos do sistema e o desempenho e funções do sistema.

O Capítulo 4 apresenta o plano de design detalhado do sistema, incluindo o design da estrutura do sistema e o design do banco de dados.

O Capítulo 5, a implementação do projeto do sistema, demonstra a estrutura do sistema por meio de uma descrição detalhada do projeto funcional do sistema.

Capítulo 6: Teste geral do sistema para determinar se o sistema pode ser executado online.

2 Ambiente de desenvolvimento do sistema

2.1  Tecnologia de desenvolvimento

A parte front-end deste sistema é desenvolvida com base no modelo MVVM, utilizando o modo B/S, e a parte back-end é desenvolvida com base no framework Java springboot.

Parte front-end: A estrutura front-end usa a popular estrutura JavaScript progressiva Vue.js. Use Vue-Router e Vuex para realizar roteamento dinâmico e gerenciamento de estado global, Ajax para realizar comunicação front-end e back-end, biblioteca de componentes Element UI e biblioteca de componentes Lay UI para prototipar rapidamente a página. O front-end do projeto é responsivo por meio de layout de grade, que pode ser adaptado para PC e tablet.Exibição de layout perfeito para diferentes tamanhos de tela, como desktop e telefones celulares.

Parte de back-end: use springboot como estrutura de desenvolvimento e integre MyBatis, Redis e outras tecnologias relacionadas.

2.2 Introdução à estrutura de inicialização por mola

A estrutura Spring é uma estrutura de aplicativo de código aberto na plataforma Java que fornece um contêiner com características 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 complemento ou mesmo substituto do modelo EJB (Enterprise JavaBeans). A estrutura Spring fornece uma série de soluções para desenvolvimento, como a utilização 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 implementar a conteinerização do ciclo de vida do objeto gerenciado, usando programação orientada a aspectos para gerenciamento de transações declarativas e integração Uma variedade de tecnologias de persistência gerenciam o acesso a dados, fornecem um grande número de estruturas web excelentes para facilitar o desenvolvimento e assim por diante. A estrutura Spring possui o recurso Inversion of Control (IOC). O IOC foi 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 contêineres para gerenciar o ciclo de vida de 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. O framework Spring possui programação orientada a aspectos(AOP), a estrutura Spring AOP é baseada no modo proxy e é configurável em tempo de execução; a estrutura AOP modulariza principalmente preocupações cruzadas entre módulos. A estrutura AOP da estrutura Spring fornece apenas recursos básicos de AOP, embora não possa ser comparada com a estrutura AspectJ, mas também pode atender às necessidades básicas por meio da integração com AspectJ. O gerenciamento de transações, acesso remoto e outras funções na estrutura Spring podem ser realizados 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. Spring integra uma variedade de 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 cache. A estrutura de acesso a dados do Spring resolve dificuldades comuns que os desenvolvedores encontram ao usar bancos de dados em suas aplicações. 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), ApacheOJB e ApacheCayne, mas também pode ser usado com o gerenciamento de transações do Spring para fornecer acesso a dados. . O framework Spring não pretendia inicialmente construir seu próprio framework Web MVC . Durante o processo de desenvolvimento, seus desenvolvedores acreditaram que a separação entre a camada de apresentação e a camada de processamento de solicitações do framework StrutsWeb existente, bem como entre a camada de processamento de solicitações e o modelo não foi suficiente, então eles criaram o SpringMVC.

2.3 Descrição do Mysql

Agora, o banco de dados Mysql pode suportar muitos alunos na rede e também pode se adaptar à implantação ou configuração de servidores e servidores de clientes.Nossos servidores e clientes aqui são na verdade um conceito de software, e o hardware de computador que usamos também é. correspondência direta com eles [3].

Mysql é um sistema de gerenciamento de banco de dados relacional muito popular. Ele sempre foi o líder. Não é apenas muito poderoso, mas também muito conveniente de usar. Os recursos de plataforma cruzada do Mysql também são muito bons. Os desenvolvedores de software gostam muito dele. destes. vantagens poderosas. Diferente de outros bancos de dados relacionais, possui seu próprio conjunto de soluções para gerenciamento de banco de dados. O gerenciamento de banco de dados é feito definindo permissões e funções correspondentes para os alunos. Pode-se observar que o Mysql é um software de gerenciamento de banco de dados adequado para alto rendimento, alta confiabilidade e alta eficiência [4].

Vantagem 1: o Mysql define permissões diferentes para alunos com identidades diferentes para completar diferentes lógicas de negócios, o que torna o Mysql muito além de outros bancos de dados relacionais em termos de segurança e integridade.

Vantagem 2: O Mysql também pode suportar tipos de dados como animações, gráficos e sons, o que mostra que o Mysql também pode suportar vários tipos de dados.

Vantagem três: o Mysql também pode ser desenvolvido em múltiplas plataformas, e múltiplas linguagens de programação para desenvolvimento de software podem operar o banco de dados Mysql.

2.4 Princípio de funcionamento do sistema B/S

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

Os usuários podem acessar textos, dados, imagens, animações, vídeos sob demanda, sons e outras informações geradas por servidores Web na Internet por meio de um navegador;

Cada servidor 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 o local para execução. Se você encontrar instruções relacionadas ao banco de dados durante o processo de download, o servidor Web irá entregá-las ao servidor de banco de dados para interpretação e execução e devolvê-las ao servidor Web, e o servidor Web irá devolvê-lo ao usuário. Nessa estrutura, muitas redes estão conectadas entre si para formar uma enorme rede, ou seja, a rede global. Cada empresa pode construir a sua própria Internet com base nesta estrutura.

No modo B/S, o usuário solicita acesso através do navegador a vários servidores distribuídos na rede. A solicitação do navegador é processada pelo servidor, e os resultados do processamento e as informações correspondentes são retornados ao navegador. Outros dados Todos os processamentos e solicitações são preenchidos pelo servidor Web. Por meio dessa estrutura de estrutura e do navegador incorporado ao sistema operacional, essa estrutura se tornou o padrão de estrutura principal dos aplicativos de software atuais.

2,5 Introdução ao padrão MVVM

MVVM é a abreviatura de Model-View-ViewModel. É essencialmente uma versão melhorada do MVC. O MVVM abstrai o estado e o comportamento da Visualização, permitindo-nos separar a UI da visualização e a lógica de negócios. Claro, o ViewModel já fez essas coisas para nós: ele pode retirar os dados do Modelo e ajudar a lidar com a lógica de negócios envolvida na Visualização devido à necessidade de exibição de conteúdo. O WPF da Microsoft traz novas experiências técnicas, como Silverlight, áudio , vídeo , 3D , animação ..., o que faz com que a camada de UI do software seja mais detalhada e personalizável. Ao mesmo tempo, no nível técnico, o WPF também traz novos recursos como Binding, Propriedade de Dependência, Eventos Roteados, Comando, DataTemplate, ControlTemplate e assim por diante. A origem do framework MVVM (Model-View-ViewModel) é um novo framework arquitetônico que evoluiu a partir do método de aplicação de combinação do padrão MVP (Model-View-Presenter) com WPF . Baseia-se na estrutura original do MVP e incorpora os novos recursos do WPF para lidar com mudanças cada vez mais complexas nas necessidades dos clientes.

2.6 Descrição Java

Java é uma tecnologia de linguagem de computador de plataforma que inclui principalmente duas partes: JAVA Virtual Machine (JVM) e JAVA API (Application Program Interface, programação de interface de aplicativo).

Pessoalmente, tenho um conhecimento profundo das duas linguagens: a linguagem C é mais uma ferramenta de criação, enquanto Java é mais uma ferramenta de uso. Sabemos que muitas das implementações subjacentes de Java são, na verdade, implementadas em linguagem C, então podemos ver isso ainda mais. No processo de uso do Java, precisamos ser capazes de usar a documentação da API, que pode ser considerada como instruções de uso do Java. As características orientadas a objetos do Java permitem que ele tenha muitos objetos encapsulados. Ao usá-lo, precisamos apenas conhecer o comportamento do objeto (que também é o método de encapsulamento do objeto). Aqui devemos prestar atenção se o método é um método estático ou um método regular, porque ao chamar há uma lacuna muito grande. No futuro, definitivamente haverá uma linguagem de programação mais amigável e fácil de desenvolver do que Java, mas definitivamente não será completamente diferente da linguagem Java. Como diz o ditado: "Você pode usar uma pedra de outra montanha para atacar um jade." Aprender bem Java também pode tornar mais fácil para nós aprendermos melhor. outras linguagens.

3 Análise do sistema

A chamada análise do sistema significa que o pessoal da demanda obtém informações por meio da comunicação com os usuários e, em seguida, exibe essas informações aos usuários e desenvolvedores na forma de especificações de demanda. Na longa história do desenvolvimento de funções de software, durante muito tempo, especialmente no início, a importância da análise de requisitos não foi reconhecida pelas pessoas.Por exemplo, naquela época, a empresa americana IBM desenvolveu um sistema de gestão de informação para os britânicos Telecomunicações. O desenvolvimento começou sem clareza e o período inicial de construção foi de um ano. Devido a requisitos pouco claros, o período de construção foi atrasado em mais de meio ano, causando enormes prejuízos. Esta situação também existe em muitas de nossas empresas de software. Elas desenvolvem enquanto desenvolvem, e mesmo sem uma comunicação clara com os usuários , copiam diretamente o mesmo tipo de projetos e fazem alterações. Como resultado, as alterações são feitas novamente quando o sistema é aceito, resultando numa perda de mão-de-obra e de recursos materiais, um enorme desperdício. A razão para todas estas consequências é que a aquisição da procura não é oportuna, pouco clara e incompleta.

3.1 Análise de viabilidade

O principal objetivo do sistema de registro de consultas hospitalares para animais de estimação é realizar serviços on-line de gerenciamento de informações relacionadas. Depois de determinar os objetivos, conduzimos uma análise de viabilidade para saber se os objetivos deste sistema podem ser alcançados a partir dos quatro aspectos a seguir.

3.1.1 Viabilidade técnica

O sistema de registro de consultas hospitalares para animais de estimação utiliza principalmente tecnologia Java , baseada na estrutura B / S e banco de dados Mysql.O desenvolvimento de aplicações requer funções completas, uso simples e o estabelecimento de um banco de dados com dados completos, seguros e estáveis . A tecnologia de desenvolvimento do sistema de registro de consultas hospitalares para animais de estimação é altamente viável e os desenvolvedores dominaram certas tecnologias de desenvolvimento, portanto, o desenvolvimento do sistema é viável.

3.1.2 Viabilidade operacional

A interface de login do sistema de registro de consultas hospitalares para animais de estimação é simples e fácil de operar. Ele usa uma janela de interface comum para fazer login na interface e realizar operações de acesso através de um computador. Os membros podem acessar o sistema desde que tenham usado computadores. O desenvolvimento deste sistema utiliza a linguagem Java e é baseado na estrutura B/S. Esses ambientes de desenvolvimento tornam o sistema mais completo. Este sistema possui características de fácil operação, fácil gerenciamento, boa interatividade e é muito simples de operar. Portanto este sistema pode ser desenvolvido.

3.1.3 Viabilidade econômica

O sistema de registro de consultas hospitalares para animais de estimação é baseado no modo Java e usa banco de dados Mysql para armazenar dados. O ambiente de hardware e software necessário é fácil de adquirir no mercado. O desenvolvimento do programa envolve principalmente o desenvolvimento e manutenção do sistema de gerenciamento. Portanto, o programa não requer mão de obra e recursos financeiros de alto desenvolvimento, e o sistema não é muito complexo, o ciclo de desenvolvimento é curto e tem alta viabilidade económica.

3.1.4 Viabilidade jurídica

Este sistema de registro de consultas hospitalares para animais de estimação é um sistema de gerenciamento autoprojetado e tem grande significado prático. Como tanto o software quanto o banco de dados utilizam código-fonte aberto, o desenvolvimento e design deste sistema não apresenta problemas como infração e é totalmente viável legalmente.

Em resumo, o sistema de registro de consultas hospitalares para animais de estimação é técnica, econômica, operacional e legalmente viável, sendo viável o desenvolvimento deste programa.

3.2 Análise do processo do sistema

3.2.1 Processo de desenvolvimento do sistema

Ao desenvolver o sistema de registro de consultas hospitalares para animais de estimação, primeiro conduzimos uma análise de demanda e, em seguida, conduzimos um plano de design geral para o sistema, projetamos módulos funcionais do sistema, seleção de banco de dados, etc. O processo de desenvolvimento deste sistema é mostrado na Figura 3-1 .

Figura 3-1 Fluxograma de desenvolvimento do sistema

3.2.2 Processo de login do usuário

Para garantir a segurança do sistema, se desejar usar este sistema para gerenciar informações do sistema, você deve primeiro fazer login no sistema. Conforme mostrado na Figura 3-2.

Figura 3-2 Fluxograma de login

3.2.3 Processo de operação do sistema

Depois que o usuário abrir e entrar no sistema, a interface de login será exibida primeiro, e o nome de usuário e a senha corretos serão inseridos. O sistema detectará automaticamente as informações. Se as informações estiverem corretas, o usuário entrará na interface de função do sistema e realizar operações. Caso contrário, um erro será exibido e o usuário não poderá efetuar login. Processo de operação Conforme mostrado na Figura 3-3.

Figura 3-3 Fluxograma de operação do sistema

3.2.4 Adicionar processo de informação

Os administradores podem adicionar informações sobre animais de estimação , etc. Os usuários podem adicionar informações dentro de sua própria autoridade. Depois de inserir as informações, o sistema verificará as informações e os dados inseridos. Se as informações estiverem corretas, elas serão adicionadas ao banco de dados. Se as informações forem incorreta, você será solicitado a inserir novamente as informações. O processo de adição de informações é mostrado na Figura 3-4.

Figura 3-4 Adicionar fluxograma de informações

3.2.5 Modificar fluxo de informações

Os administradores podem modificar as informações do animal de estimação , etc. Os usuários podem modificar as informações dentro de sua própria autoridade. Primeiro, entre na interface de informações de modificação e insira os dados de informações de modificação. O sistema julgará e verificará os dados. Se as informações modificadas forem legais, a modificação será seja bem-sucedido e as informações serão atualizadas no Banco de Dados; se as informações forem ilegais, a modificação falhará e será inserida novamente. O fluxograma de informações modificado é mostrado na Figura 3-5.

Figura 3-5 Modificar fluxograma de informações

3.2.6 Processo de exclusão de informações

Os administradores podem excluir informações de gerenciamento de animais de estimação e outras informações. Depois de selecionar as informações a serem excluídas, clique no botão excluir e o sistema perguntará se você tem certeza. Se você clicar em OK, o sistema excluirá as informações selecionadas e as atualizará no banco de dados. As informações são excluídas. O fluxograma de exclusão de informações é mostrado na Figura 3-6.

Figura 3-6 Fluxograma de informações de exclusão

3.3 Análise de casos de uso do sistema

3.3.1 Diagrama de caso de uso do administrador

O usuário principal do sistema é o administrador , após o login do administrador, ele gerencia o sistema back-end por meio do administrador. As principais funções incluem: página inicial, usuários do sistema (administradores, médicos de animais de estimação, donos de animais de estimação), gerenciamento de módulos (informações sobre animais de estimação, informações médicas, registro de consultas, relatório de diagnóstico, saúde diária, registro de animais de estimação, gerenciamento de fonte de números), centro pessoal e outras funções . O caso de uso do administrador é mostrado na Figura 3-7 .

Figura 3-7 Diagrama de caso de uso do administrador

3.3.2 Diagrama de caso de uso médico

Quando um médico entra no sistema, ele pode acessar a página inicial, gerenciamento de módulos (informações do médico, registro de consulta, relatório de diagnóstico, saúde diária, registro do animal de estimação), central pessoal, etc. O caso de uso do usuário é mostrado na Figura 3-8 .

Figura 3-8 Diagrama de caso de uso médico

3.3.3Diagrama de caso de uso do proprietário de um animal de estimação

Os usuários médicos podem visualizar a página inicial, gerenciamento do módulo (informações do animal de estimação, informações do médico, registro de consultas, relatório de diagnóstico, saúde diária, registro do animal de estimação), central pessoal, etc. Um exemplo de usuário médico é mostrado na Figura 3-9 .

Figura 3-9 Diagrama de caso de uso do usuário proprietário de animal de estimação

4 Projeto do sistema

4.1 Visão Geral do Sistema

Após a análise do sistema, começa o projeto do sistema.O projeto do sistema inclui o projeto geral e o projeto detalhado. O design geral é apenas um design geral. Após o design geral, podemos dividir algumas coisas do sistema, como arquivos, documentos, dados, etc. E através do design geral, podemos dividir aproximadamente os módulos e funções do programa. Mas é apenas uma classificação preliminar e não tem implementação real.

O projeto geral é apenas um projeto preliminar. Além disso, para um projeto, podemos realizar vários projetos gerais. Através da comparação, incluindo comparação de desempenho, comparação de custos e comparação de benefícios, podemos finalmente determinar um plano de projeto ideal e escolher o melhor. O design geral pode reduzir os custos de desenvolvimento e aumentar os benefícios da empresa. Deste ponto de vista, o design geral ainda é muito importante.

O diagrama do princípio de funcionamento do sistema de registro de consultas hospitalares para animais de estimação é mostrado na Figura 4-1:

Figura 4-1 Diagrama do princípio de funcionamento do sistema

4.2 Projeto da estrutura do sistema

O diagrama de arquitetura do sistema pertence ao estágio de design do sistema. O diagrama de arquitetura do sistema é apenas um produto deste estágio. A arquitetura geral do sistema determina o modelo de todo o sistema e é a base do sistema. O projeto estrutural geral do sistema de registro de consultas hospitalares para animais de estimação é mostrado na Figura 4-2.

Figura 4-2 Diagrama da estrutura do sistema

4.3 Projeto de banco de dados

Banco de dados é a base do sistema de informação do computador. Atualmente, a parte principal e central do sistema de computador é o banco de dados. A qualidade do desenvolvimento do banco de dados tem impacto direto na qualidade e velocidade de todo o sistema.

4.3.1 Princípios de design de banco de dados

O design da estrutura conceitual do banco de dados adota o método de design do modelo entidade-relacionamento (ER). Os elementos constituintes do método do modelo ER são: entidades, atributos e relacionamentos.O modelo ER é representado por um diagrama ER, que lembra ao usuário as coisas envolvidas no ambiente de trabalho, e os atributos são descrições das características da entidade. O banco de dados desempenha um fator decisivo no design do sistema. O diagrama entidade-relacionamento dessas entidades principais é projetado abaixo .

4.3.2 Entidades de banco de dados

As entidades no modelo de dados, também chamadas de instâncias, correspondem a “eventos” ou “coisas” que podem ser distinguidas de outros objetos no mundo real. Por exemplo, cada funcionário da sua empresa, cada móvel da sua casa.

Figura 4-3 Diagrama do sistema ER

4.3.3 Design de tabela de banco de dados

As informações da tabela do banco de dados fazem parte do design. As informações detalhadas de cada tabela do banco de dados são apresentadas a seguir.

Tabela access_token (duração do acesso ao login)

número de série

nome

tipo de dados

comprimento

Casas decimais

Permitir valores nulos

chave primária

valor padrão

ilustrar

1

token_id

interno

10

0

N

S

ID do crachá de acesso temporário

2

símbolo

varchar

64

0

S

N

crachá de acesso temporário

3

informações

texto

65535

0

S

N

4

máximo

interno

10

0

N

N

2

Vida útil máxima: Padrão 2 horas

5

hora_de_criação

carimbo de data/hora

19

0

N

N

CURRENT_TIMESTAMP

Tempo de criação:

6

tempo de atualização

carimbo de data/hora

19

0

N

N

CURRENT_TIMESTAMP

Tempo de atualização:

7

ID do usuário

interno

10

0

N

N

0

ID do usuário:

Autenticação de tabela (gerenciamento de direitos de usuário)

número de série

nome

tipo de dados

comprimento

Casas decimais

Permitir valores nulos

chave primária

valor padrão

ilustrar

1

auth_id

interno

10

0

N

S

ID de autorização:

2

grupo de usuários

varchar

64

0

S

N

grupo de usuários:

3

nome_do_mod

varchar

64

0

S

N

Nome do módulo:

4

Nome da tabela

varchar

64

0

S

N

Nome da tabela:

5

título da página

varchar

255

0

S

N

título da página:

6

caminho

varchar

255

0

S

N

Caminho de roteamento:

7

posição

varchar

32

0

S

N

Localização:

8

modo

varchar

32

0

N

N

_em branco

Método de salto:

9

adicionar

minúsculoint

3

0

N

N

1

É possível adicionar:

10

do

minúsculoint

3

0

N

N

1

Pode ser excluído:

11

definir

minúsculoint

3

0

N

N

1

Se pode ser modificado:

12

pegar

minúsculoint

3

0

N

N

1

É possível visualizar:

13

campo_adicionar

texto

65535

0

S

N

Adicione campos:

14

conjunto_campo

texto

65535

0

S

N

Modificar campos:

15

campo_get

texto

65535

0

S

N

Campos de consulta:

16

nome_nav_tabela

varchar

500

0

S

N

Nome de navegação entre tabelas:

17

tabela_nav

varchar

500

0

S

N

Navegação entre tabelas:

18

opção

texto

65535

0

S

N

Configuração:

19

hora_de_criação

carimbo de data/hora

19

0

N

N

CURRENT_TIMESTAMP

Tempo de criação:

20

tempo de atualização

carimbo de data/hora

19

0

N

N

CURRENT_TIMESTAMP

Tempo de atualização:

Tabela daily_health (saúde diária)

número de série

nome

tipo de dados

comprimento

Casas decimais

Permitir valores nulos

chave primária

valor padrão

ilustrar

1

daily_health_id

interno

10

0

N

S

ID diário de saúde

2

nome do título

varchar

64

0

S

N

nome do título

3

tipo de conteúdo

varchar

64

0

S

N

Tipo de conteúdo

4

content_body

longtext

2147483647

0

Y

N

内容正文

5

recommend

int

10

0

N

N

0

智能推荐

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表diagnostic_report (诊断报告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

diagnostic_report_id

int

10

0

N

Y

诊断报告ID

2

doctor_account

int

10

0

Y

N

0

医生账号

3

doctor_no

varchar

64

0

Y

N

医生编号

4

doctors_name

varchar

64

0

Y

N

医生姓名

5

master_account

int

10

0

Y

N

0

主人账号

6

host_name

varchar

64

0

Y

N

主人姓名

7

pet_nickname

varchar

64

0

Y

N

宠物昵称

8

pet_species

varchar

64

0

Y

N

宠物种类

9

pet_age

varchar

64

0

Y

N

宠物年龄

10

diagnosis_date

date

10

0

Y

N

诊断日期

11

diagnostic_instructions

text

65535

0

Y

N

诊断说明

12

recommend

int

10

0

N

N

0

智能推荐

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表doctor_information (医生信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

doctor_information_id

int

10

0

N

Y

医生信息ID

2

doctor_account

int

10

0

Y

N

0

医生账号

3

doctor_no

varchar

64

0

Y

N

医生编号

4

doctors_name

varchar

64

0

Y

N

医生姓名

5

employment_time

varchar

64

0

Y

N

从业时间

6

areas_of_expertise

text

65535

0

Y

N

擅长领域

7

recommend

int

10

0

N

N

0

智能推荐

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表have_an_appointment_with_a_doctor (预约挂号)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

have_an_appointment_with_a_doctor_id

int

10

0

N

Y

预约挂号ID

2

doctor_account

int

10

0

Y

N

0

医生账号

3

doctor_no

varchar

64

0

Y

N

医生编号

4

doctors_name

varchar

64

0

Y

N

医生姓名

5

master_account

int

10

0

Y

N

0

主人账号

6

host_name

varchar

64

0

Y

N

主人姓名

7

pet_nickname

varchar

64

0

Y

N

宠物昵称

8

pet_species

varchar

64

0

Y

N

宠物种类

9

pet_age

varchar

64

0

Y

N

宠物年龄

10

pet_status

text

65535

0

Y

N

宠物状态

11

appointment_date

date

10

0

Y

N

预约日期

12

appointment_number_source

varchar

64

0

Y

N

预约号源

13

examine_state

varchar

16

0

N

N

未审核

审核状态

14

examine_reply

varchar

16

0

Y

N

审核回复

15

recommend

int

10

0

N

N

0

智能推荐

16

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

17

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表paws_claws_pet_vet (宠物医生)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

paws_claws_pet_vet_id

int

10

0

N

Y

宠物医生ID

2

doctor_no

varchar

64

0

N

N

医生编号

3

doctors_name

varchar

64

0

Y

N

医生姓名

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

recommend

int

10

0

N

N

0

智能推荐

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表pet_information (宠物信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

pet_information_id

int

10

0

N

Y

宠物信息ID

2

master_account

int

10

0

Y

N

0

主人账号

3

host_name

varchar

64

0

Y

N

主人姓名

4

pet_nickname

varchar

64

0

Y

N

宠物昵称

5

pet_species

varchar

64

0

Y

N

宠物种类

6

pet_age

varchar

64

0

Y

N

宠物年龄

7

pet_health_history

text

65535

0

Y

N

宠物健康史

8

recommend

int

10

0

N

N

0

智能推荐

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表pet_log (宠物日志)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

pet_log_id

int

10

0

N

Y

宠物日志ID

2

master_account

int

10

0

Y

N

0

主人账号

3

host_name

varchar

64

0

Y

N

主人姓名

4

pet_nickname

varchar

64

0

Y

N

宠物昵称

5

log_title

varchar

64

0

Y

N

日志标题

6

log_body

longtext

2147483647

0

Y

N

日志正文

7

recommend

int

10

0

N

N

0

智能推荐

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表pet_owners (宠物主人)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

pet_owners_id

int

10

0

N

Y

宠物主人ID

2

host_name

varchar

64

0

Y

N

主人姓名

3

host_gender

varchar

64

0

Y

N

主人性别

4

pet_nickname

varchar

64

0

Y

N

宠物昵称

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

recommend

int

10

0

N

N

0

智能推荐

7

user_id

int

10

0

N

N

0

用户ID

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表source_management (号源管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

source_management_id

int

10

0

N

Y

号源管理ID

2

source_name

varchar

64

0

Y

N

号源名称

3

recommend

int

10

0

N

N

0

智能推荐

4

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

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

2

state

smallint

5

0

N

N

1

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

3

user_group

varchar

32

0

Y

N

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

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

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

6

phone_state

smallint

5

0

N

N

0

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

7

username

varchar

16

0

N

N

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

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

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

10

email

varchar

64

0

Y

N

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

11

email_state

smallint

5

0

N

N

0

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

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5统详细设计

5.1注册模块

未注册用户在用户注册界面uerRegister.jsp,输入新用户信息,点击注册后,新用户信息由界面传入控制层userAction,调用addUser(user)方法,通过userDAOImp向数据库用户表插入用户信息,由于用户账号是自动生成的,若成功则反馈注册成功,并提示新用户的用户账号;若失败则回到登录界面,并显示登录失败。

注册界面如下所示。

图5-1注册界面

用户注册关键代码如下所示。

/**

     * 注册

     * @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;

}

5.2登录/注销模块

用户在首页点击登录,进入用户登录界面uerLogin.jsp,输入用户账号和密码,点击登录,用户账号和密码信息由界面传入控制层userAction,调用userLogin(user)方法,通过userDAOImp向数据库用户表搜索该用户账号与密码,将最终结果反馈到前端。若成功则回到首页;用户成功登录,若失败则回到登录界面,并显示登录失败。

用户点击注销,清空浏览器session值,然后返回登录页或者首页。

登录界面如下所示。

图5-2登录界面

登录界面关键代码如下所示。

/**

     * 登录

     * @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, "账号或密码不正确");

        }

}

5.3个人资料模块

登录用户在首页点击进入用户中心userCenter.jsp,再点击修改个人信息按钮进入userChangeInfo.jsp界面,系统根据session中存储的目前登录的用户的账号,向控制层userAction发送请求,搜索当前用户信息,userAction向userDAOImp调用queryByUserId(user),向数据库的用户表搜索当前用户信息并将用户信息以对象的形式层层返回到userChangeInfo.jsp界面,显示出当前用户的个人信息。

若用户要对个人信息进行修改,则通过修改当前信息之后点击确认,向控制层userAction发送更改后的用户信息,调用changeUser(user)方法,通过userDAOImp向数据库用户表更新用户信息,若成功则反馈注册成功,则返回的userChangeInfo.jsp界面被更改成功;若失败则显示修改失败。

5.4宠物信息模块

宠物主人在登录状态下添加宠物信息,从session中取出该用户的信息,点击加入宠物信息后前台发起请求,将对应的宠物shuliang、id参数信息从前台传递GoumaiController类里,匹配到add()方法,add()方法调用GoumaiServiceImpl类的add()方法。

宠物信息界面如下所示。

图5-3宠物信息界面

5.5预约挂号模块

宠物主人在登录状态下可以查看医生信息,在医生信息下方可以进行预约挂号提交操作

预约挂号界面如下所示。

图5-4预约挂号界面

5.6密码修改模块

管理员选择个人中心的修改本人密码。通过密码框输入现密码和2次新密码,如果现密码错误,则提示修改失败。如果2次新密码不一致,则提示修改失败。都没问题的话,系统提示修改成功,并返回登录界面。

系统用户管理界面如下所示。

图5-5系统用户管理界面

5.7医生管理模块

根据需求,需要对医生进行添加、删除或修改详情信息。删除或修改医生时,系统根据医生的状态判定为可删除状态下,才会给出删除和修改链接,点击删除链接按钮时,请求到达后台,还会先查询医生状态再次做出判定能否删除。点击修改链接按钮时,会跳转到修改信息的页面,重新填写好数据后,数据提交到后台会对数据库中相应的记录做出修改。

添加医生时,会给出数据填写的页面,该页面根据填写好的医生编号同样会事先发送Ajax请求查询编号是否已存在,数据填写好之后提交到后台,会调用相关服务在数据库中插入记录。

医生页面设计效果如下图所示。

图5-6生信息界面

5.8号源管理模块

号源功能需要考虑高并发,防止出现重复号源状态显示出错等情况,特对号源这一共享数据增加锁机制。在乐观锁、悲观锁以及线程锁中,综合考虑性能效率和错误的可接受性选择了乐观锁机制。乐观锁的实现方式是使用版本标识来确定读到的数据与提交时的数据是否一致,提交后修改版本标识,不一致时可以采取丢弃和再次尝试的策略。在数据库设计中增加了version字段,每次数据提交时会判断version是否匹配,若不匹配停止本次提交,若匹配则提交成功并增加version的值。

号源功能整体流程:用户浏览诊号源息时,同时会显示号源的状态,系统会在其显示详细信息的页面时便会判断号源的状态,若号源状态为可预约,则会显示号源的链接按钮。在用户点击号源按钮时,会先通过拦截器判断用户是否登录,若未登录,会跳转至登录页面,提示用户先登录,若为登录用户就会跳转至填写号源信息的页面,填写好号源信息之后,点击提交按钮,预约成功之后返回提示信息,告知用户预约成功。

号源流程图如下图所示。

图5-7预约流程图

号源界面如下图所示。

图5-8号源管理界面

5.9日常健康管理模块

根据需求,需要对日常健康信息进行添加、删除或修改详情信息。系统根据日常健康信息的状态判定为可删除状态下,才会给出删除和修改链接,点击删除链接按钮时,请求到达后台,还会先查询病例状态再次做出判定能否删除。点击修改链接按钮时,会跳转到修改信息的页面,重新填写好数据后,数据提交到后台会对数据库中相应的记录做出修改。

添加日常健康信息时,会给出数据填写的页面,该页面根据填写好的病例同样会事先发送Ajax请求查询病例编号是否已存在,数据填写好之后提交到后台,会调用相关服务在数据库中插入记录。

日常健康管理页面设计效果如下图所示。

图5-10日常健康管理界面图

日常健康管理的关键代码如下。

  @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();

    }

第6章系统测试

6.1测试概述

软件测试是软件开发完成后必须经过的一道程序,它在软件开发过程中地位十分重要,需要由专业的测试工程师来对软件进行各方面的测试,大到功能模块测试,小到代码的单元测试,这对测试工程师来说需要有足够的耐心和专业的测试方案,软件测试归根结底就是对软件的结构和功能的综合测评,需要做到结构稳定和功能正确,二者兼顾。软件测试也叫寻找系统bug的过程,世界上没有完美无缺、不存在bug的软件,只能将软件的bug降到最低最小,来追求极致。

6.2测试过程

6..2.1登录测试

登录测试是系统最开始就要进行,测试用户能否登录,才能完成后续的功能操作。

登录测试用例表如下所示。

表6-1登录测试

用例编号

YL001

程序版本

1.00

功能名称

使用者登录测试

编制人

李铁蛋

功能描述

根据用户的登录情况测试

用例目的

测试用户登录情况是否正确

测试项

测试数据

测试结果

预期结果

用户名

为空

请输入用户名

请输入用户名

密码

为空

请输入密码

请输入密码

用户密码组合

用户名:klouse 密码 klouses

用户与密码不匹配

用户与密码不匹配

用户密码组合

用户名 : klouse 密码

klouse

进入系统

正确的用户名和密码

登录系统

6.2.2信息录入测试

管理员在发布信息页面,通过按照预先格式发布信息,如果因为输入时候缺少相关内容,就不能发布成功,且有相应错误提示

信息录入发布测试用例表如下所示。

表6-1信息录入发布测试

用例编号

YL002

程序版本

1.00

功能名称

信息发布测试

编制人

李铁蛋

功能描述

对使用者发布或者录入信息进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者录入发布信息进行原型测试。

测试项

测试数据

测试结果

预期结果

属性1

为空

请输入属性1对应的数据

请输入属性1对应的数据

属性2

为空

请输入属性2对应的数据

请输入属性2对应的数据

属性3

为空

请输入属性3对应的数据

请输入属性3对应的数据

全部输入

数据均填入

录入发布成功

录入发布成功

6.2.3信息更新测试

管理员在更新信息页面,通过按照预先格式更新信息,如果因为输入时候缺少相关内容或者更新的数据不符合当前规范的话,就不能更新成功,且有相应错误提示

信息更新测试用例表如下所示。

表6-1信息更新测试

用例编号

YL003

程序版本

1.00

功能名称

信息更新测试

编制人

李铁蛋

功能描述

对使用者更新信息进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者更新信息进行原型测试。

测试项

测试数据

测试结果

预期结果

属性1

编号:321

编号更新成功

编号更新成功

属性2

名称:名称1

名称更新成功

名称更新成功

属性3

内容:内容1234内容

内容更新成功

内容更新成功

全部输入

数据均未更改

更新成功

更新成功

6.2.4信息删除测试

管理员在信息页面,通过点击数据删除按钮来删除该条数据,如果该数据和其他数据有关联,则提示是否确定删除。

信息删除测试用例表如下所示。

表6-1信息删除测试

用例编号

YL004

程序版本

1.00

功能名称

信息删除测试

编制人

李铁蛋

功能描述

对使用者删除信息进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者删除信息进行原型测试。

测试项

测试数据

测试结果

预期结果

数据1

无任何关联的数据1

数据删除成功

数据删除成功

数据2

和其他数据有关联的数据2

请确认是否删除

请确认是否删除

6.3测试结果

在经过之前的所有的工作之后,通过对软件的测试方法、测试原则还有典型的测试用例进行全面的、深入的介绍。经过对系统的全面测试,系统目前所具有的所有功能均成功的实现并且通过了测试,整个系统实现了基于 Java 开发的期望。

结    论

本系统通过对javaMysql数据库的简介,从硬件和软件两反面说明了宠物医院预约挂号系统的可行性,本文结论及研究成果如下:实现了javaMysql相结合构建的宠物医院预约挂号系统,网站可以响应式展示。通过本次宠物医院预约挂号系统的研究与实现,我感到学海无涯,学习是没有终点的,而且实践出真知,只有多动手才能尽快掌握它,经验对系统的开发非常重要,经验不足,就难免会有许多考虑不周之处。比如要有美观的界面,更完善的功能,才能吸引更多的用户

由于在此之前对于java知识没有深入了解,所以从一开始就碰到许多困难,例如一开始的页面显示不规范、数据库连接有问题已经无法实现参数的传递等等,不过通过在网上寻找有关资料以及同学的帮助下最后都得到了解决,在此过程中,我不仅学到了很多知识,也提高了自己解决问题的能力,尤其是学会如何从大量的信息中筛选出所需有用的信息,同时我更加深刻的体会到了,虽然书本上的大部分知识都是有价值,正确的,但实际上每个人编程的思路和对数据处理的方法、思想都是不同的,这就要求我们一定要通过实践才能找到解决问题的方案。在此次毕业设计活动中,我不断的提高了自己,也得到了宝贵的经验,我相信这些对我以后的发展都会有很大帮助。

通过这次宠物医院预约挂号系统的开发,我参考了很多相关系统的例子,取长补短,吸取了其他系统的长处,逐步对该系统进行了完善,但是该系统还是有很多的不足之处,有待以后进一步学习。

实践证明,宠物医院预约挂号系统有着非常好的发展前景,经过测试运行,系统各项功能都十分完善,界面漂亮,使用方便,操作容易,在技术理论上已经成熟。

致    谢

大学的学习生活在这个季节将结束,但是在我的生命这仅仅只是一个逗号,我将面对另一个环境开始。通过这次毕业设计的整个开发过程,从需求分析到具体功能实现,再到最终测试和维护的理解有了很大的进步,让我对系统开发有了更深刻的认识,对我个人的实践能力和解决问题的能力,都有了很大的帮助。这是这次毕业设计最大的收获。

首先要感谢我的指导老师,他在论文写作上,给予了我各种无私的帮助,治学严谨,严格要求,使我获得了很大的收获。老师深厚的理论知识和丰富的实践经验,都深深的影响到我,在这方面,我谨表示衷心的感谢。

其次,我还要对所有的老师和同学表示感谢,他们在我学习的过程中,都积极的提供了很多帮助,无论是专业知识,还是实践操作技能,也能够让我在论文写作中,遇到的一些难题迎刃而解。

最后,对阅读和评审本论文的各位老师表示衷心的感谢!

参考文献 

[1]王志亮,纪松波.基于SpringBoot的Web前端与数据库的接口设计[J].工业控制计算机,2023,36(03):51-53.

[2]叶长青.一种基于SpringBoot的影视内容推荐系统的设计与实现[J].电脑知识与技术,2023,19(01):85-87.DOI:10.14004/j.cnki.ckt.2023.0015.

[3]Yu Yang. Design and Implementation of Student Information Management System Based on Springboot[J]. Advances in Computer, Signals and Systems,2022,6(6).

[4]Møller Pål. The Prospective Lynch Syndrome Database: background, design, main results and complete MySQL code[J]. Hereditary Cancer in Clinical Practice,2022,20(1).

[5]Győrödi Cornelia A.,DumşeBurescu Diana V.,Zmaranda Doina R.,Győrödi Robert Ş.. A Comparative Study of MongoDB and Document-Based MySQL for Big Data Application Data Management[J]. Big Data and Cognitive Computing,2022,6(2).

[6]Wu Daiwen. The Application and Management System of Scientific Research Projects Based on PHP and MySQL[J]. Journal of Interconnection Networks,2022,22(Supp02).

[7]邢娜,郑蕾,王莉.医院网站预约挂号系统设计[J].解放军医院管理杂志,2021,28(10):929-930+969.DOI:10.16770/J.cnki.1008-9985.2021.10.012.

[8]万杰.基于微信公众号的医院预约挂号系统开发[J].湖州职业技术学院学报,2021,19(03):76-80.DOI:10.13690/j.cnki.hzyxb.issn.1672-2388.2021.03.19.

[9]Fuyuan Cheng. Talent Recruitment Management System for Small and Micro Enterprises Based on Springboot Framework[J]. Advances in Educational Technology and Psychology,2021,5(2).

[10]白建宇. 基于SpringBoot的大数据日志分析系统的设计与实现[D].首都经济贸易大学,2021.DOI:10.27338/d.cnki.gsjmu.2021.000994.

[11]李娟,彭剑.基于SpringBoot的高校课程知识库的设计与实现[J].电脑知识与技术,2021,17(06):70-71.DOI:10.14004/j.cnki.ckt.2021.0428.

[12]马艳夕.基于SpringBoot与Vue技术的企业电商平台的设计与实现[J].信息与电脑(理论版),2021,33(03):99-100.

[13]Guanhong Chen,Jiangming Xu. Design and implementation of efficient Learning platform based on SpringBoot Framework[J]. Journal of Electronics and Information Science,2020,6(1).

[14]张嘉豪,赵亮,翁铭隆,张华俊,李文欣.基于SSM+SpringBoot技术实现服务器监控的研究[J].科学技术创新,2020(33):101-102.

[15]赵富强,严风硕,边岱泉,朱小波.基于Vue和SpringBoot的机场气象信息系统设计与实现[J].现代信息科技,2020,4(21):1-5+9.DOI:10.19850/j.cnki.2096-4706.2020.21.001.

[16]刘嘉琪.宠物医疗发展现状及存在问题与对策[J].中国动物保健,2020,22(10):6+18.

[17]He M,Lv S. Research on Civil Aircraft Structural Strength Material Performance Database Based on SpringBoot[C]//Advanced Science and Industry Research Center.Proceedings of 2020 4th International Conference on Electrical,Automation and Mechanical Engineering(EAME2020).Proceedings of 2020 4th International Conference on Electrical,2020:1062-1067.DOI:10.26914/c.cnkihy.2020.057541.

[18]姚文杰.基于微信公众平台的医院预约挂号系统研究[J].数码世界,2020(04):29.

[19]Yao Zhang Li,Sheng Gao,Jing Pan,Bi Feng Guo,Pei Feng Xie. Research and Application of Template Engine for Web Back-end Based on MyBatis-Plus[J]. Procedia Computer Science,2020,166(C).

[20] Gong Lei. Projeto e pesquisa de sistema de registro de consultas hospitalares baseado em terminais móveis inteligentes [J].Computer Programming Skills and Maintenance, 2020(02):48-49+87.DOI:10.16184/j.cnki.comprg. 2020.02.016.

[21]Hou Y. O design e implementação da estrutura para Spring+SpringMVC+MyBatis no desenvolvimento de aplicações Web[C]//Instituto de Ciência de Gestão e Engenharia Industrial.Proceedings of 2019 4th International Industrial Informatics and Computer Engineering Conference( IIICEC 2019).Anais da 4ª Conferência Internacional de Informática Industrial e Engenharia da Computação de 2019 (IIICEC 2019),2019:369-374.DOI:10.26914/c.cnkihy.2019.039191.

[22] Dai Mingfu. Projeto e implementação de sistema de gerenciamento de registro de consultas hospitalares baseado no modelo MVC [D]. Universidade de Guangxi, 2019.

[23] Zhang Yuerui. Pesquisa sobre a estratégia de desenvolvimento do Ningbo AX Pet Hospital [D]. Universidade de Ningbo, 2019. DOI: 10.27256/d.cnki.gnbou.2019.000171.

[24] Wang Ke. Projeto e implementação de plataforma móvel de registro de consultas hospitalares baseada no sistema Android [D]. Universidade de Zhengzhou, 2019.

Por favor, siga e curta + envie uma mensagem privada ao blogueiro para receber o código-fonte do projeto gratuitamente

Acho que você gosta

Origin blog.csdn.net/ID3461074420/article/details/132791303
Recomendado
Clasificación