Springboot に基づく学生ローン管理
まとめ
情報化社会においては、的を絞った情報入手経路が求められますが、基本的には経路の拡大が人々の目指す方向であり、立場の偏りにより、異なる種類の情報を入手することが多くなり、それもまた問題です。克服するのが最も難しいテクノロジーのトピックです。学生ローンなどの課題については、学生ローンに関する調査・分析を行い、課題を解決するための学生ローン制度の開発・設計を行います。
学生ローン システムの主な機能モジュールには、ホームページ、ユーザー管理、その他の管理、学生ユーザー、ローン申請、大学ユーザー、学校オフィス ユーザー、返済センター、クレジット ブラックリスト、サイト告知、奨学金申請、および奨学金申請が含まれます。ソフトウェア開発とハードウェア構築にはオブジェクト指向開発モードが採用されており、実際の使用ニーズに十分に対応し、対応するソフトウェア構築とプログラムコーディング作業を完璧に行います。Mysql はバックグラウンドデータの主記憶装置として使用されます。このシステムのすべての機能はフレームワークと Java テクノロジーによって実現されます。この報告書はまず研究の背景、機能、意義を分析し、研究作業の合理性の基礎を築きます。学生ローンシステムのさまざまな要件と技術的問題を分析し、システムの必要性と技術的実現可能性を証明し、システム設計に必要な技術ソフトウェアと設計アイデアの基本的な紹介を行い、最終的に学生ローンシステムと導入実行を実現します。これを使って。
キーワード: 学生ローン、スプリングブート フレームワーク、Mysql データベース
Springboot に基づく学生ローンの管理
概要
情報化社会においては、対象を絞った情報アクセスが求められていますが、アクセスの拡大は基本的に人々の努力の方向です。視点のズレにより、人は異なる種類の情報を取得することが多くなりますが、これはテクノロジーが克服するのが最も難しい課題でもあります。本稿は学生ローンの問題点に焦点を当てて、学生ローンを研究・分析し、その問題を解決するための学生ローン制度を開発・設計する。
学生ローン システムの主な機能モジュールには、ホームページ、ユーザー管理、その他の管理、学生ユーザー、ローン申請、大学ユーザー、学校運営ユーザー、返済センター、クレジット ブラックリスト、ステーション アナウンス、財政援助宣言、奨学金宣言が含まれます。ソフトウェア開発とハードウェア構築にオブジェクト指向開発モードを採用すると、実際の使用のニーズを十分に満たし、対応するソフトウェア構築とプログラムコーディングを改善し、バックグラウンドデータの主記憶装置としてMySQLを使用し、システムのすべての機能を実現できます。 Springboot フレームワークと Java テクノロジを使用します。この報告書はまず、研究作業の合理性の基礎を築く研究の背景、機能、意義を分析します。
キーワード:学生ローン; Springboot フレームワーク。MySQLデータベース
目次
- 序章
- 研究の背景と意義
大学生向けにB/Sモードの学生ローン制度を提供。このシステムは、従来のオンラインローンシステムの流動性の低さとリソースの多大な消費という欠点を改善することを目的としており、また、ますます成熟しつつある大学生ローン管理情報システムの公平性、時間、および場所の制約も改善し、学生がローンシステムを利用できるようにします。リーズナブルで安心なネットワーク融資制度となります。従来の融資業務は紙と契約書を使って行われていたため、上記の問題を改善するために大学生向けの融資管理情報システムの開発を試みている。
管理者を煩雑な肉体労働から解放し、スタッフの効率を向上させ、管理コストを削減し、保管スペースを節約するには、管理システムを開発する必要があります。
今回のテーマは、上記のような背景のもと、大学生向けの小口ローン管理プラットフォームを構築することです。このシステムは、高速、高精度、大量の情報を保存できるという特徴を持っています。データや情報の標準化はもちろん、情報資源の有効活用、ネットワーク管理や電子管理を実現します。
- 開発状況
外国の多くの大学では、ローンが大学生への主要な経済援助の 1 つとなっており、この現象は特に米国で顕著であり、スタッフォードローンシステム、パーキンスローンシステムなど、そのシステムモデルとアプリケーションが成熟しつつあります。 PLUS や Stafford Load などがありますが、各国の学生ローン管理は我が国とは大きく異なるため、各機能モジュールも大きく異なります。現在、中国では国家学生ローン管理システムに関する研究が行われていますが、これは予備的な発展にすぎず、中国でより成熟したシステムは学生出身の国家学生ローンシステムであると理解されています( https:// www .csls.cdb.com.cn / ) と中国開発銀行の全国大学生資金援助情報プラットフォーム ( http://xszz.chsi.com.cn/ ) により、大学生ローン システムは国内のすべての省で徐々に発展してきました。 , しかし、ほとんどの大学生ローン管理センターの管理者は、依然として従来の手動簿記ツールを使用しています。すでに使用されている商業融資システムがいくつかあります。
- 関連技術紹介
このシステムのフロントエンドフレームワークには、人気のプログレッシブJavaScriptフレームワークVue.jsが採用されています。Vue-Router と Vuex を使用して動的ルーティングとグローバル状態管理を実現し、Ajax を使用してフロントエンドとバックエンドの通信を実現し、Element UI コンポーネント ライブラリを使用してページを迅速に作成します。バックエンド部分: Springboot を開発フレームワークとして使用し、MyBatis、Redis、およびその他の関連テクノロジーを同時に統合します。
- MVVMパターン
MVVM は、Model-View-ViewModel の短縮形です。これは本質的に MVC の改良版です。MVVM はビューの状態と動作を抽象化し、ビュー UI をビジネス ロジックから分離します。もちろん、ViewModel はこれらのことをすでに行っており、Model のデータを取り出して、コンテンツを表示する必要があるため View に含まれるビジネス ロジックを処理するのに役立ちます。Microsoft の WPF は、Silverlight、オーディオ、ビデオ、3D、アニメーションなどの新しい技術エクスペリエンスをもたらし、より詳細でカスタマイズ可能なソフトウェア UI レイヤーにつながります。同時に、技術レベルでは、WPF はバインディング、依存関係プロパティ、ルーテッド イベント、コマンド、DataTemplate、ControlTemplate などの新機能ももたらします。MVVM (Model-View-ViewModel) フレームワークの起源は、 WPF と組み合わせた MVP (Model-View-Presenter)パターンのアプリケーションから開発および進化した新しいタイプのアーキテクチャフレームワークです。これは、オリジナルの MVP フレームワークに基づいており、ますます複雑になる顧客のニーズに対応するために WPF の新機能が組み込まれています。
- B/S構造
B/S (ブラウザ/サーバー) は、以前のアーキテクチャよりも便利なアーキテクチャです。Web サーバーを使用してデータの転送と交換を完了します。クライアントとしてブラウザをダウンロードするだけで、作業は「スリム化」効果を実現し、ソフトウェアのノンストップインストールの問題を考慮する必要はありません。
- Spring Boot フレームワークの紹介
Spring フレームワークは、制御の反転機能を備えたコンテナを提供するJava プラットフォーム上のオープン ソース アプリケーション フレームワークです。Spring フレームワーク自体にはプログラミング モデルに対する制限はありませんが、Java アプリケーションで頻繁に使用されるため非常に人気があり、後にEJB (EnterpriseJavaBeans) モデルの補足として、または代替として使用されるようになりました。Spring フレームワークは、制御の反転のコア機能の使用や、宣言型トランザクション管理のためのアスペクト指向プログラミングを使用した管理オブジェクトのライフサイクルのコンテナ化を実現するための依存性注入による制御の反転の実装など、開発のための一連のソリューションを提供します。さまざまな永続化テクノロジがデータ アクセスを管理し、開発を容易にする多数の優れた Web フレームワークを提供します。Spring フレームワークには、制御反転 (IOC) の機能があります。IOC は、プロジェクトの保守とテストを容易にするように設計されており、Java リフレクション メカニズムを通じて Java オブジェクトの統合設定と管理の方法を提供します。Spring フレームワークは、コンテナを使用してオブジェクトのライフ サイクルを管理します。コンテナは、XML ファイルまたはクラスの特定の Java アノテーションをスキャンすることでオブジェクトを構成できます。開発者は、依存関係の検索または依存関係の注入を通じてオブジェクトを取得できます。アスペクト指向プログラミング(AOP) フレームワークと同様に、Spring AOP フレームワークはプロキシ モードに基づいており、実行時に構成できます。AOP フレームワークは主にモジュール間の相互関係のためにモジュール化されています。Spring フレームワークの AOP フレームワークは基本的な AOP 機能のみを提供しており、AspectJ フレームワークと比較することはできませんが、AspectJ との統合により基本的なニーズにも対応できます。Spring AOP技術を利用することで、Springフレームワークにおけるトランザクション管理やリモートアクセスなどの機能を実現できます。Spring のトランザクション管理フレームワークは、Java プラットフォームに抽象化メカニズムを導入し、ローカルおよびグローバル トランザクション、およびネストされたトランザクションが、Java プラットフォーム上のほぼすべての環境でセーブポイントを使用して動作できるようにします。Spring は複数のトランザクション テンプレートを統合しており、システムはトランザクション テンプレート、XML または Java アノテーションを通じてトランザクションを設定でき、トランザクション フレームワークにはメッセージングやキャッシュなどの機能が統合されています。Spring のデータ アクセス フレームワークは、開発者がアプリケーションでデータベースを使用するときに遭遇する一般的な問題に対処します。Java: JDBC、iBATS/MyBATIs、Hibernate、Java Data Objects (JDO)、ApacheOJB、Apache Cayne などのすべての一般的なデータ アクセス フレームワークのサポートを提供するだけでなく、Spring のトランザクション管理と併用してデータ アクセスを提供することもできます。柔軟な抽象化。Spring フレームワークは当初、独自の Web MVC フレームワークを構築するつもりはありませんでしたが、開発プロセス中、開発者は既存の Struts Web フレームワークのプレゼンテーション層とリクエスト処理層の間、およびリクエスト処理層とモデルの間の分離が重要であると考えていました。それだけでは十分ではなかったので、彼らは Spring MVC を作成しました。
- MySQLデータベース
Mysql は何度もアップデートされており、その機能レベルは非常に充実し完成度が高く、Mysql4 版から 5 版までは比較的大規模なアップデートが行われ、実際の商用利用においても良好な実用化実績をあげています。Mysql の最新バージョンは、情報の圧縮をサポートすると同時に、情報セキュリティのニーズをより適切に満たすために暗号化も実行できます。同時に、システムの複数のアップデートを経て、データベース自体のミラーリング機能も大幅に強化され、操作のスムーズさと使いやすさが大幅に向上し、ドライバーの使用と作成もより効率的になり、もっと早く。最大の変更点は空間情報の表示の最適化で、これによりアプリケーション マップ上でのラベル付けと座標の計算が容易になります。また、強力なバックアップ機能により安心してご利用いただけるほか、サポートされているOffice機能により、ユーザー自身でのインストールや使用もサポートします。情報の表示形式も大幅に更新され、非常に便利な 2 つの表示領域が追加されました。1 つは分類された表とテキストを含む情報領域で、インターフェイスの表示はより新鮮で具体的です。2つ目は機器の情報制御であり、機器情報エリアに情報を表示したり、複数の情報を同時に比較したりすることができ、実際のユーザーの使用に大きな利便性をもたらします。
この論文で設計した学生ローン システムの実際の実装プロセスにおいて、Mysql データベースを選択した主な理由は、エンタープライズ アプリケーション システムのアプリケーションと開発中に頻繁に操作されるデータベースが多数存在するためです。データのセキュリティ要件も非常に高いです。これらの要因に基づいて、学生ローン システムのバックグラウンド データを保存するために、比較的安全率の高い Mysql が最終的に選択されました。
データベース管理システムの全体構成図を下図に示します。
図 2-1 データベースの構造
- Vue.jsの主な機能
Vue.js は、ユーザー インターフェイスを構築するための進歩的なフレームワークです。他の強力なフレームワークとは異なり、Vue はボトムアップの増分開発で設計されています。Vue のコア ライブラリはビュー レイヤーのみに焦点を当てており、学習や他のライブラリや既存のプロジェクトとの統合が非常に簡単です。一方、Vue は、Vue エコシステムによってサポートされる単一ファイルのコンポーネントとライブラリを使用して開発された複雑な単一ページ アプリケーションを駆動する能力を十分に備えています。
Vue.js の目標は、可能な限り単純な API を使用して、応答性の高いデータ バインディングと合成ビュー コンポーネントを有効にすることです。
Vue.js 自体は包括的なフレームワークではなく、ビュー層のみに焦点を当てています。したがって、学習が非常に簡単で、他のライブラリや既存のプロジェクトとの統合も非常に簡単です。一方、Vue.js を関連ツールやサポート ライブラリと併用すると、複雑なシングルページ アプリケーションを強化することもできます。
- システム分析
- 実行可能性分析
技術面では、システム本体のフレームワークには現在主流のスプリングブートフレームワークを使用し、フロントエンドではJavaとJSPを使用してフロントエンドページのデザインや美観調整を実現しており、これらの技術を体系的に学習しています。自分でコース設計を実践し、その後の開発をより便利かつ体系的に行うことができます。技術的な観点から見ると、このシステムは完全に実現可能です。
実用性の観点から見ると、このデザインの主なタスクは、学生ローンのホームページ、ユーザー管理、その他の管理、学生ユーザー、ローン申請、大学ユーザー、学校事務ユーザー、返済センター、クレジット ブラックリスト、Web サイトのお知らせなどです。奨学金の申請、奨学金申請の審査などは、現在の発展傾向に沿っています。ユーザーの視点からは、システムの運用コストや人的リソースも考慮しながら、インターネット上の便利な方法を採用してオンラインビジネスを実現し、ビジネスプロセスをより体系化し、ユーザーエクスペリエンスをより便利にし、より実用的です。
経済性の観点から、本プロジェクトで設計された学生ローンシステムの主な目的は、情報のクエリ管理と検索サービスをより便利かつ迅速に実行すること、つまり、直接使用できる情報ソフトウェアです。システムの主なコストは、主に後期の使用データの継続的な保守管理と更新の運用に集中します。しかし、実際にシステムを運用・利用してみると、情報の照会・検索の効率が向上すると同時に、照会者の情報のセキュリティを効果的に確保する必要もあります。この学生ローン制度がもたらす実用化 この側面の価値は、実際のシステムの開発と保守のコストをはるかに上回るため、このソフトウェアの開発は経済的に実行可能です。
- 機能要件の分析
学生ローンシステムの機能は、主に学生ユーザーが自らのニーズに応じてログインしてローンを申請する機能と、資金調達センターがローン申請情報を閲覧し、選択されたローン申請のための資料を提出する機能に分かれています。バックグラウンドのシステム管理者は、責任の違いにより一般管理者とスーパー管理者に分かれており、一般管理者は主に資料提出、契約締結、返済督促などの処理を行い、スーパー管理者は主に学生ユーザー、ローン申請、詳細情報、契約内容、返済督促などの対応を行っています。処理されます。
学生のユースケース図を以下に示します。
図 3-1 学生のユースケース図
管理者のユースケース図を以下に示します。
図 3-2 管理者の使用例図
校办用例图如下所示。
图3-3 校办用例图
学院用例图如下所示。
图3-3学院用例图
- 非功能需求分析
首先主要考虑的是系统功能软件,在具体设计的环节上,是不是能够较好的满足各类用户的基本功能需求,如果不能较好的满足用户需求,那么这个系统的存在是没有价值的。软件系统的非功能性求分析,从7个方面展开,一个是性能分析,针对系统;一个是安全分析,针对系统,一个是完整度分析,针对系统,一个是可维护分析,针对系统,一个是可扩展性分析,针对系统,一个是适应业务的性能分析。面对助学贷款系统存在的性能、安全、扩展、完整度等7个方面性能综合比对分析后发现,需要相应的非功能性需求分析。
- 安全性需求分析
- 系统的安全性
安全性对每一个系统来说都是非常重要的。安全性很好的系统可以保护企业的信息和用户的信息不被窃取。提高系统的安全性不仅是对用户的负责,更是对企业的负责。尤其针对于助学贷款系统来说,必须要有很好的安全性来保障整个系统。
系统具有对使用者有权限控制,针对角色的不通限制使用者的权限,以此来确保系统的安全性。
- 数据的安全性
数据库中的数据是从外界输入的,当数据的输入时,由于种种原因,输入的数据会无效,或者是脏数据。因此,怎样保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题。
因此,在写入数据库时,要保证数据完整性、正确性和一致性。
- 数据流程分析
对系统的数据流进行分析,系统的使用者分为二类,一般用户,管理员。系统主要对界面信息传送,登录信息的验证,注册信息的接收,用户各种操作的响应做处理。
系统顶层数据流图如下图所示。
图3-2 顶层数据流图
要判断用户是是什么身份,是根据登录的数据来判断后,跳转到对应的功能界面。在系统的内部用户就可以对数据进行操作,数据库中心就可以接收到系统传输的有效数据流来对数据sql语句进行对应操作。
系统底层数据流图如下图所示。
图3-3 底层数据流图
系统可以分为前台和后台两部分,每一种操作后系统都返回操作结果。前台和后台的数据连接主要通过数据库,既分别对数据库做不同的操作。
- 系统设计
- 系统架构设计
本助学贷款系统的架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。
系统架构如下图所示。
图4-1 系统架构
- 系统总体设计
助学贷款系统总体分为前台用户模块和后台管理员模块。
两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。
综上所述,系统功能结构图如下图所示。
图4-2 系统功能结构图
- 系统功能设计
登录模块:登录模块是进入系统的入口,所有用户必须登录后才能访问系统。登录需要输入用户名和密码,如果多次尝试登录需要输入验证码。登录时需要选择用户的角色,是一般用户还是管理员登录等。登录成功后,会通过数据库获取用户的权限,并跳转至用户的主页面。
管理员用户管理模块:管理员管理包括:管理员的添加,修改和删除操作。添加管理员时,先判断用户添加的管理员是否是admin(超级管理员),如果不是则添加成功。修改时候,如果是超级管理员,可以修改所有管理员的信息,如果是普通管理员,那么只能修改自己的信息。超级管理员可以删除自己以外的所有其他管理员,普通管理员不能执行删除管理员的操作。
学院数据模块:可分为学院数据浏览、学院数据检索、学院数据维护三个模块,管理员对学院数据有维护的权限,发布新的学院数据、更新已有的学院数据等。
贷款申请管理模块:贷款申请管理分为贷款申请添加、修改。贷款申请信息由学生进行修改、添加、删除操作。
- 数据库设计
- 数据需求分析
从前面可以分析到数据库中最重要的是贷款申请信息,学生信息,同时存在合同签订信息和还款信息。分析可以得到如下数据描述:
学生:用于记录学生的各种信息,包括学号、密码、学生姓名、性别、身份证、电话、院系、班级、照片等数据项。
管理员:记录管理员的登录信息。包括用户名,密码,权限等数据项。
贷款申请:存放给贷款申请的内容,包括学号、学生姓名、电话、性别、院系、班级、申请款额、贫困证明、申请表、是否审核、审核回复等数据项。
合同签订:存储各种合同签订信息。包括学号、学生姓名、院系、贷款年限、金额、还款日期、发放账号、合同等数据项。
还款中心。存储用户的还款提醒信息。包括还款提醒的学号、学生姓名、还款金额、还款日期等数据项。
学院数据:存储平台内的学生贷款数据内容。包括账号、密码、负责人、联系电话、邮箱等数据项。
- 数据库概念设计
根据前面的数据流程图,结合系统的功能模块设计,设计出符合系统的各信息实体。
系统ER图如下图所示。
图4-3 系统ER图
- 数据库表设计
助学贷款系统所拥有的数据表有以下:学生信息表,贷款申请信息表,材料递交表,合同签订信息表,还款提醒表。
由于数据表较多,只展示系统主要数据表,如下表所示。
college_users表: |
|
|
|
|
|
|
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
备注 |
college_users_id |
int |
11 |
否 |
主键 |
学院用户ID |
|
job_number |
varchar |
64 |
是 |
|
工号 |
|
id |
varchar |
255 |
是 |
|
身份证 |
|
examine_state |
varchar |
16 |
否 |
|
审核状态 |
|
recommend |
int |
11 |
否 |
|
智能推荐 |
|
seat |
varchar |
64 |
否 |
|
座位号 |
|
user_id |
int |
11 |
否 |
|
用户ID |
|
create_time |
datetime |
0 |
否 |
|
创建时间 |
CURRENT_TIMESTAMP |
update_time |
timestamp |
0 |
否 |
|
更新时间 |
CURRENT_TIMESTAMP |
|
|
|
|
|
|
|
credit_blacklist表: |
|
|
|
|
|
|
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
备注 |
credit_blacklist_id |
int |
11 |
否 |
主键 |
信用黑名单ID |
|
student |
int |
11 |
是 |
|
学生 |
|
lahai_reason |
text |
0 |
是 |
|
拉黑理由 |
|
black_time |
date |
0 |
是 |
|
拉黑时间 |
|
list_number |
varchar |
64 |
是 |
|
名单编号 |
|
examine_state |
varchar |
16 |
否 |
|
审核状态 |
|
recommend |
int |
11 |
否 |
|
智能推荐 |
|
seat |
varchar |
64 |
否 |
|
座位号 |
|
create_time |
datetime |
0 |
否 |
|
创建时间 |
CURRENT_TIMESTAMP |
update_time |
timestamp |
0 |
否 |
|
更新时间 |
CURRENT_TIMESTAMP |
|
|
|
|
|
|
|
financial_aid_declaration表: |
|
|
|
|
|
|
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
备注 |
financial_aid_declaration_id |
int |
11 |
否 |
主键 |
助学金申报ID |
|
contact_information |
varchar |
16 |
是 |
|
联系方式 |
|
secondary_approval |
varchar |
64 |
是 |
|
二级审批 |
|
title |
varchar |
64 |
是 |
|
标题 |
|
secondary_approval_opinions |
text |
0 |
是 |
|
二级审批意见 |
|
grant_number |
varchar |
64 |
是 |
|
助学金编号 |
|
declaration_content |
text |
0 |
是 |
|
申报内容 |
|
declarant |
int |
11 |
是 |
|
申报人 |
|
a_grant |
varchar |
64 |
是 |
|
助学金 |
|
first_level_approval |
varchar |
64 |
是 |
|
一级审批 |
|
examine_state |
varchar |
16 |
否 |
|
审核状态 |
|
recommend |
int |
11 |
否 |
|
智能推荐 |
|
seat |
varchar |
64 |
否 |
|
座位号 |
|
create_time |
datetime |
0 |
否 |
|
创建时间 |
CURRENT_TIMESTAMP |
update_time |
timestamp |
0 |
否 |
|
更新时间 |
CURRENT_TIMESTAMP |
|
|
|
|
|
|
|
loan_application表: |
|
|
|
|
|
|
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
备注 |
loan_application_id |
int |
11 |
否 |
主键 |
贷款申请ID |
|
title |
varchar |
64 |
是 |
|
标题 |
|
loan_contract |
varchar |
255 |
是 |
|
贷款合同 |
|
loan_no |
varchar |
64 |
是 |
|
贷款编号 |
|
declaration_content |
text |
0 |
是 |
|
申报内容 |
|
lender |
int |
11 |
是 |
|
贷款人 |
|
first_level_approval |
varchar |
64 |
是 |
|
一级审批 |
|
secondary_approval |
varchar |
64 |
是 |
|
二级审批 |
|
secondary_approval_opinions |
text |
0 |
是 |
|
二级审批意见 |
|
contact_information |
varchar |
16 |
是 |
|
联系方式 |
|
examine_state |
varchar |
16 |
否 |
|
审核状态 |
|
recommend |
int |
11 |
否 |
|
智能推荐 |
|
seat |
varchar |
64 |
否 |
|
座位号 |
|
create_time |
datetime |
0 |
否 |
|
创建时间 |
CURRENT_TIMESTAMP |
update_time |
timestamp |
0 |
否 |
|
更新时间 |
CURRENT_TIMESTAMP |
|
|
|
|
|
|
|
repayment_center表: |
|
|
|
|
|
|
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
备注 |
repayment_center_id |
int |
11 |
否 |
主键 |
还款中心ID |
|
title |
varchar |
64 |
是 |
|
标题 |
|
loan_no |
varchar |
64 |
是 |
|
贷款编号 |
|
lender |
int |
11 |
是 |
|
贷款人 |
|
invoice |
varchar |
255 |
是 |
|
发票 |
|
repayment_progress |
varchar |
64 |
是 |
|
还款进度 |
|
contact_information |
varchar |
64 |
是 |
|
联系方式 |
|
examine_state |
varchar |
16 |
否 |
|
审核状态 |
|
recommend |
int |
11 |
否 |
|
智能推荐 |
|
seat |
varchar |
64 |
否 |
|
座位号 |
|
create_time |
datetime |
0 |
否 |
|
创建时间 |
CURRENT_TIMESTAMP |
update_time |
timestamp |
0 |
否 |
|
更新时间 |
CURRENT_TIMESTAMP |
|
|
|
|
|
|
|
scholarship_application表: |
|
|
|
|
|
|
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
备注 |
scholarship_application_id |
int |
11 |
否 |
主键 |
奖学金申报ID |
|
title |
varchar |
64 |
是 |
|
标题 |
|
scholarship_number |
varchar |
64 |
是 |
|
奖学金编号 |
|
declaration_content |
text |
0 |
是 |
|
申报内容 |
|
declarant |
int |
11 |
是 |
|
申报人 |
|
scholarship_amount |
varchar |
64 |
是 |
|
奖学金数额 |
|
first_level_approval |
varchar |
64 |
是 |
|
一级审批 |
|
secondary_approval |
varchar |
64 |
是 |
|
二级审批 |
|
secondary_approval_opinions |
text |
0 |
是 |
|
二级审批意见 |
|
contact_information |
varchar |
16 |
是 |
|
联系方式 |
|
examine_state |
varchar |
16 |
否 |
|
审核状态 |
|
recommend |
int |
11 |
否 |
|
智能推荐 |
|
seat |
varchar |
64 |
否 |
|
座位号 |
|
create_time |
datetime |
0 |
否 |
|
创建时间 |
CURRENT_TIMESTAMP |
update_time |
timestamp |
0 |
否 |
|
更新时间 |
CURRENT_TIMESTAMP |
|
|
|
|
|
|
|
school_run_users表: |
|
|
|
|
|
|
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
备注 |
school_run_users_id |
int |
11 |
否 |
主键 |
校办用户ID |
|
job_number |
varchar |
64 |
是 |
|
工号 |
|
examine_state |
varchar |
16 |
否 |
|
审核状态 |
|
recommend |
int |
11 |
否 |
|
智能推荐 |
|
|
|
|
|
|
|
- 系统实现
- 数据库访问层的实现
该系统是通过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语句来进行查询的,查询语句中的表名是表格的实体类名,在这种查询语句中*是不允许使用的,除非适合聚合函数一起使用才可以。
- 用户注册模块的实现
用户注册页面输入账号、密码昵称、邮箱、手机号码、注册身份等基本信息完成注册。注册流程图如下图所示。
图5-1注册流程图
- 登录模块的实现
主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布贷款申请信息管理,发布信息,和退出功能。退出功能是清除全局变量username的值,并跳回到首页。
登录流程图如下图所示。
图5-2登录流程图
用户登录界面如下图所示。
图5-3用户登录界面
用户登录的关键代码如下。
if(ac.equals("adminlogin"))
{
String username = request.getParameter("username");
String password = request.getParameter("pwd");
String utype = request.getParameter("cx");
String pagerandom = request.getParameter("pagerandom")==null?"":request.getParameter("pagerandom");
String random = (String)request.getSession().getAttribute("random");
if(!pagerandom.equals(random)&&request.getParameter("a")!=null)
{
request.setAttribute("random", "");
go("/login.jsp", request, response);
}
else{
String sql1 = "select * from allusers where username='"+username+"' and pwd='"+password+"' ";
List<HashMap> userlist1 = dao.select(sql1);
if(userlist1.size()==1)
{
request.getSession(). setAttribute("username", userlist1.get(0).get("username"));
request.getSession(). setAttribute("cx", userlist1.get(0).get("cx"));
gor("main.jsp", request, response);
}else{
request.setAttribute("error", "");
go("/login.jsp", request, response);
}
}
}
- 贷款申请模块的实现
此页面的关键是编写贷款申请信息,包括贷款申请编号,名称,详情等。单击提交按钮以完成信息的添加。如果未写入完整的贷款申请信息,例如,如果未写入贷款申请编号,系统将给出相应的错误提示,并且无法成功输入。数据以概念的形式以onsubmit =“return checkForm()”的形式写入以进行检查,checkForm()函数是一种用于写入数据的不同类型的校对方法,是不是为空也是经过form表单中的οnsubmit=”return checkForm()来检查。
管理员点击左侧菜单“贷款申请信息管理”,页面跳转到贷款申请信息管理外观,调用后台贷款申请查询所有贷款申请信息。并将信息密封到数据集合List,绑定到请求对象,然后页面跳转到相应的jsp,显示出贷款申请信息,单击删除按钮完成贷款申请信息的删除。
贷款申请管理流程图如下图所示。
图5-4贷款申请管理流程
贷款申请界面如下图所示。
图5-5贷款申请交界面
贷款申请管理界面一级审批如下图所示。
图5-6贷款申请一级审批管理界面
贷款申请管理界面二级审批如下图所示。
图5-7贷款申请二级审批管理界面
贷款申请完成界面如下图所示。
图5-8贷款申请完成审批界面
贷款申请递交关键代码如下。
<%
HashMap ext = new HashMap();
if(request.getParameter("f")!=null){
ext.put("issh","否");
new CommDAO().insert(request,response,"shujujilu",ext,true,false,"");
}
%>
- 助学金申请模块的实现
用户浏览助学金申请信息时,同时会显示助学金申请的状态,系统会在其显示详细信息的页面时便会判断助学金申请的状态,会先通过拦截器判断用户是否登录,若未登录,会跳转至登录页面,提示用户先登录,若为登录用户就会跳转至填写助学金申请信息的页面,填写好助学金申请信息之后,点击提交按钮,助学金申请申请成功之后返回提示信息,告知用户助学金申请成功。
助学金申请界面如下图所示。
图5-9助学金申请交界面
助学金申请管理界面一级审批如下图所示。
图5-10助学金申请一级审批界面
助学金申请管理界面二级审批如下图所示。
图5-11助学金申请二级审批界面
助学金申请完成界面如下图所示。
图5-12助学金申请成功审批界面
- 还款中心模块的实现
还款中心功能整体流程:用户浏览合同签订信息时,同时会显示合同签订的状态,系统会在其显示详细信息的页面时便会判断合同签订的状态,若合同签订状态为可还款提醒,则会显示还款提醒的链接按钮。在用户点击还款按钮时,会先通过拦截器判断用户是否登录,若未登录,会跳转至登录页面,提示用户先登录,若为登录用户就会跳转至填写还款提醒信息的页面,填写好还款信息之后,点击提交按钮,还款成功之后返回提示信息,告知用户还款成功。
还款提醒流程图如下图所示。
图5-13还款中心流程图
还款界面如下图所示。
图5-14还款中心界面图
还款提醒管理界面如下图所示。
图5-15还款中心管理界面
还款中心添加关键代码如下。
<%
HashMap ext = new HashMap();
if(request.getParameter("f")!=null){
ext.put("issh","否");
new CommDAO().insert(request,response,"shujujilu",ext,true,false,"");
}
%>
- 系统测试
- 测试目的
对任何系统而言,测试都是必不可少的环节,测试可以发现系统存在的很多问题,所有的软件上线之前,都应该进行充足的测试之后才能保证上线后不会Bug频发,或者是功能不满足需求等问题的发生。下面分别从单元测试,功能测试和用例测试来对系统进行测试以保证系统的稳定性和可靠性。
- 功能测试
下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
表6-1 系统登录功能测试用例
功能描述 |
用于系统登录 |
|
测试目的 |
检测登录时的合法性检查 |
|
测试数据以及操作 |
预期结果 |
实际结果 |
输入的用户名和密码带有非法字符 |
提示用户名或者密码错误 |
与预期结果一致 |
输入的用户名或者密码为空 |
提示用户名或者密码错误 |
与预期结果一致 |
输入的用户名和密码不存在 |
提示用户名或者密码错误 |
与预期结果一致 |
输入正确的用户名和密码 |
登录成功 |
与预期结果一致 |
下表是贷款申请管理功能的测试用例,检测了贷款申请管理中对贷款申请信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;用户登录系统。
表6-2 贷款申请管理的测试用例
功能描述 |
用于贷款申请管理 |
|
测试目的 |
检测贷款申请管理时的各种操作的运行情况 |
|
测试数据以及操作 |
预期结果 |
实际结果 |
点击添加贷款申请,必填项合法输入,点击保存 |
提示添加成功 |
与预期结果一致 |
点击添加贷款申请,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
点击修改贷款申请,必填项修改为空,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
点击修改贷款申请,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
点击删除贷款申请,选择贷款申请删除 |
提示删除成功 |
与预期结果一致 |
点击搜索贷款申请,输入存在的贷款申请名 |
查找出贷款申请 |
与预期结果一致 |
点击搜索贷款申请,输入不存在的贷款申请名 |
不显示贷款申请 |
与预期结果一致 |
- 性能测试
使用阿里云PTS(Performance Testing Service)性能测试服务对线上系统进行压力测试。线上服务器环境为:1核心CPU,1G内存,1Mbps公网带宽,Centos7.0操作系统。
压测过程中使用了2台并发机器,每台机器20个用户并发,对系统主页,登录,数据查询和数据维护等模块进行并发访问,测试结果是有40个用户并发时,数据管理相关页面的响应时间甚至达到了7s,通过查看服务器出网流量发现已经达到1381kb/s,可以看出服务器的带宽已经达到峰值,如果系统使用5Mbps的带宽,系统的响应时间和TPS将会大大增加。在整个测试的过程中,CPU的使用率占用仅8%,也提现出带宽瓶颈对系统的影响非常严重。
- 总结与展望
随着计算机互联网技术的迅猛发展,各行各业都已经实现采用计算机相关技术对日益放大的数据进行管理。该课题是助学贷款系统为核心展开的,主要是为了实现助学贷款信息化管理和银行签订合同的需求。
助学贷款系统的开发是以Java编程语言作为基础,在Myeclipse平台上完成编码工作,系统整体为B/S架构,数据库系统使用Mysql。文中详细分析了助学贷款系统的研究背景、研究目的和意义、开发工具和相关技术以及系统需求、系统详细设计和系统测试等等一系列内容。系统实现了助学贷款系统所需的一些基本功能,并通过测试对这些实现的功能进行了完善,进而提高了系统整体的实用性。整个系统的开发过程中大量使用了Java相关的知识以及前端开发使用的html和javascript等,同时涉及到了很多开源框架和组件,例如后台系统中运用的MVC架构、Freemarker模板引擎等,前端运用的UI框架等。
系统投入运行时,各功能均运行正常。系统的每个界面的操作符合常规逻辑,对使用者来说操作简单,界面友好。整个系统的各个功能设计合理,体现了人性化。
但是由于自己在系统开发过程中对一些用到的相关知识和技术掌握不够牢固,再加上自身开发经验欠缺,因此系统在有些方面的功能还不够完善,考虑的不够全面,因此整个系统还有待日后逐步完善。
参考文献
[1]Jinusha Panigrahi. Higher Education Financing in India:Student Loans and Equity in Access[M].Taylor and Francis:2021-12-07.
[2]刘翠. 全面优化助学贷款服务 点亮54万巴渝学子求学梦[N]. 重庆日报,2021-12-03(019).
[3]时秀容,蔡艳.大学生国家助学贷款贷后违约行为及其治理[J].太原城市职业技术学院学报,2021(10):88-91.DOI:10.16227/j.cnki.tycs.2021.0613.
[4]单树倩,任佳勋.基于SpringBoot和Vue框架的数据库原理网站设计与实现[J].电脑知识与技术,2021,17(30):40-41+50.DOI:10.14004/j.cnki.ckt.2021.2868.
[5]李焱,许欣,谢宜勤,贺绍君.助学贷款中农村大学生诚信问题研究[J].山东农业工程学院学报,2021,38(10):93-97.DOI:10.15948/j.cnki.37-1500/s.2021.10.016.
[6]魏玉坤,申铖.国家助学贷款额度提高4000元[J].青春期健康,2021,19(20):89.
[7]于忠宁. 助学贷款新政让学子圆梦道路更畅通[N]. 工人日报,2021
[8]葛孟超,赵展慧. 助学贷款,助力学子成长成才[N]. 人民日报,2021
[9]徐光明,甘甜.在“助人”中打造“育人”品牌[J].江西教育,2021(28):28-29.
[10]张辉. 助学贷款提额 助力学子圆梦[N]. 许昌日报,2021-09-28(003).
[11]泓凯. 谨防助学贷款骗术“升级版”[N]. 昆明日报,2021
[12]桂从路. 助学贷款畅通圆梦通道[N]. 人民日报,2021
[13]李文锦.国家助学贷款额度提高[J].山东教育,2021(39):5.
[14]李英锋. 提高助学贷款额度 不让一个学生因贫失学[N]. 嘉兴日报,2021
[15]张思楠. “保障每一个学生不因家庭经济困难失学”[N]. 中国财经报,202
[16]王观. 国家助学贷款额度提高4000元[N]. 人民日报,2021
[17]李克强主持召开国务院常务会议 决定强化国家助学贷款支持通过《中华人民共和国农产品质量安全法(修订草案)》[J].致富天地,2021(09):6.
[18]张煜,夏义堰.助学贷 达州农商银行助学子圆梦想[J].当代县域经济,2021(09):112.DOI:10.16625/j.cnki.51-1752/f.2021.09.037.
[19]Greene Elisa M,Greene W Nathan,Greene William L. Addressing the burden of student loan debt: A case-based review of influencing considerations.[J]. American journal of health-system pharmacy : AJHP : official journal of the American Society of Health-System Pharmacists,2021:
[20]Jian Chen,Chen Jian,Pan Hailan. Design of Man Hour Management Information System on SpringBoot Framework[J]. Journal of Physics: Conference Series,2020,1646(1):
致谢
本次设计历时3个月。在这个毕业设计中,它离不开指导教师的指导,使事情基本顺利。指导老师无论是在毕业设计历经中,还是在论文做完中都给了了我特别大的助益。另1个方面,教师认真负责的工作姿态,谨慎的教学精神厚重的理论水准都使我获益匪浅。他勤恳谨慎的教学育人学习姿态也给我留下了特别特别深的感觉。我从老师那里学到了很多东西。在理论和实践中,我的技能得到了特别大的提高。在此,特向教师表示由衷的感激。
经过对该毕业设计的全部研究和开发,我的系统研发经历了从需求分析到实现详细功能,再到最终测试和维护的特殊进展。让我对系统研发有了更深层次的认识。如今我的动手本领单独处理疑惑的本领也获取到了特别大的演练学习增多,这是这次毕业设计最好的收获。
最后,在整个系统开发过程中,我周围的同学和朋友给了我很多意见,所以我很快就确认了系统的商业思想。在次,我由衷的向他们表示感激。
免费领取项目源码,请关注点赞+私聊