まとめ
インターネットの普及と発展に伴い、インターネット上で物を売ったり買ったりすることが日常化する中、キャンパス整備への配慮から、多くのキャンパスでは様々な中古市場取引システムが導入され、キャンパス資源の利用効率が向上しています。しかし、ほとんどのウェブサイトの構築には一般的に人的資源と資金が多く必要であり、高性能ハードウェアの導入もハードルが高く、その結果、流通市場取引システムのほとんどはまだ形になっておらず、その後のメンテナンス費用も高額です。このプラットフォームは多くのユーザーの足を引っ張りました。この問題を解決するにはどうすればよいでしょうか? Web サイトの応答時間を短縮し、システムの高い同時実行パフォーマンスを向上させ、ユーザー エクスペリエンスを向上させ、ハードウェア要件を軽減し、展開に安価なハードウェアを使用して Web サイトの負荷を軽減できる、より良いテクノロジーと方法を見つける必要があります。コスト 建設費。このキャンパス中古市場取引システム開発プロジェクトでは、Java テクノロジー + MYSQL データベースを使用して、トピックのさまざまなニーズ分析を説明し、その後、Web サイトの全体設計と詳細設計について議論し、Web サイトの全体構造を決定します。したがって、ほとんどの二次市場取引システムのニーズを満たします。
キーワード:Javaテクノロジー、MYSQL、キャンパス中古市場取引システム
抽象的な
インターネットの普及と発展に伴い、オンラインで物を売ったり買ったりすることがますます一般的になりました。キャンパス整備の観点から、多くのキャンパスに各種中古市場取引システムが導入され、キャンパス資源の利用効率が向上しています。しかし、ほとんどのウェブサイトの構築には一般に人的資源と財政的資源が高額であり、高エネルギーハードウェアの導入も障壁となっており、そのため流通市場取引システムのほとんどが形成されておらず、ウェブサイトの後期メンテナンス費用も高くなっています。プラットフォームも多くのユーザーの足を引っ張ります。この問題を解決するにはどうすればよいでしょうか? Web サイトの応答時間を短縮し、システムの高い同時実行パフォーマンスを向上させ、ユーザー エクスペリエンスを向上させ、ハードウェア需要を削減し、より安価なハードウェアを導入して Web サイト構築コストを削減する、より良いテクノロジーと方法を見つける必要があります。 。キャンパス中古市場取引システムの開発プロジェクトでは、Java テクノロジー + MYSQL データベースを使用して、トピックのさまざまなニーズを説明し、Web サイトの全体設計と詳細設計について議論し、Web サイトの全体構造の構築方法を示します。ウェブサイト。ほとんどの二次市場取引システムのニーズを満たすため。
キーワード: Java テクノロジー; MYSQL; キャンパス中古情報サイト
1はじめに
1.1研究の背景
現在、ほとんどの業界は、主に電子商取引サービスが主流のインターネット プラットフォームを中心に、電子商取引の情報化を徐々に自社の企業に統合しています。現在、学内での中古品取引を中心に取り組むのであれば、学内での中古品取引に注力しなければなりません。インターネットプラットフォームの強化により、中古市場にインテリジェントなサービスを提供することができ、利用者に大きな利便性を提供するだけでなく、キャンパスリソースの利用効率も向上します。したがって、キャンパス中古品市場取引システムは、現在のキャンパス利用者のニーズにより適合しており、中古品業界の現在の競争圧力によりよく適応できます[1]。キャンパス中古市場取引システムは、「インターネット+」のC2Cサービスモデルに基づいており、ユーザーがオンラインで自主的に中古品を選択できるようにするとともに、販売者による中古品の活用を支援し、インテリジェント化にも貢献します。中古産業の発展。
1.2 国内外の研究状況
近年のコンピュータ技術の日々の発展により、現代生活においては、私たちが必要とするあらゆる情報処理作業がコンピュータを利用することで完結し、コンピュータによって様々な情報を簡単に検索したり問い合わせたりすることが維持されている[2]。このため、学内での古物取引の電子管理を実現し、学内での古物取引の管理効率や販売効率を向上させる必要がある。
国内外の伝統的な中古品取引方法は手作業に基づいており、人的エネルギーと作業精度が限られているため、従来の中古品取引データ管理方法には必然的に効率が低く、精度が低いなどの欠点があり、また、これは人的資源の多大な浪費につながります [3]。管理作業では、コンピューター機械は人間よりも関連するタスクに優れており、速度、正確さ、リソース消費の低さなどの要件を満たすことができます。これらの大きな利点を踏まえ、特定のキャンパス利用者のニーズを満たす完全なキャンパス中古市場取引システムを設計できれば、中古取引のサービス品質は大幅に向上します。このような学内中古市場取引システムでは、買い手はシステムにログインするだけで全ての中古品を閲覧して購入することができ、売り手はシステムにログインするだけで中古品を販売することができます。少数の専門スタッフを配置するだけで済み、その担当者が毎日のデータのレビュー、管理、データベースの定期的なメンテナンスを行っています [4]。プロセス全体を通じて、ユーザーは必要な情報を少量提供するだけでよく、データ処理作業のほとんどはデータベースと関連プログラムによって完了するため、時間を大幅に節約できます。データベース内の情報の一部にエラーがある場合、ユーザーはバッチ修正を行うことで、デバッグ プロセスに費やす時間と労力を削減できます。したがって、キャンパス向けに有能なキャンパス中古市場取引システムを開発することが非常に必要です。
1.3論文の構成と章の配置
論文は階層的に構成されており、要約、謝辞、参考文献に加えて、本文では Web サイトの要件を分析し、一般的な設計と実装された機能を説明し、最後にいくつかのデバッグ記録をリストします。以下のとおりであります:
第1章;序章。第 1 章では、プロジェクト研究の背景、システム開発の現状、本稿の研究内容と主な業務を中心に紹介します。
第 2 章: システム要件の分析。第 2 章では、主にユーザーとシステムの機能の側面から需要分析を行います。
第 3 章: システム設計。第 3 章では主にシステムフレームワーク、システム機能モジュール、データベースの機能設計を行います。
第 4 章: システムの実装。第 4 章では主にシステムフレームワークの構築とシステムインターフェースの実装について紹介します。
第 5 章: システムのテスト。第 5 章では主にシステムのいくつかのインターフェイスをテストし、主要な機能をテストします。
2 学内中古市場取引システムのシステム分析
システム分析はプロジェクト開発の前提条件であり、システム分析を通じてシステムの主要ユーザーの基本的なニーズを十分に理解することができ、これがプロジェクト開発の理由でもあります。次に、システム開発の実現可能性分析が行われます。これには、通常、技術的実現可能性、経済的実現可能性などが含まれます。実現可能性分析は、プロジェクト全体の観点からの分析でもあります。次に、プロジェクトの具体的な要件が分析されますが、その分析方法は通常、ユーザーのユースケース図を通じて実装されます。以下に詳しくご紹介します。
2.1実現可能性の分析
ここでの経済性とは、ウェブサイトの運営・保守コストのみを表しており、開発コストは考慮していません。
現在、このモデルによる学内中古市場取引システムは日に日に増加しており、オンラインショッピングが民間化され、利用者も増加傾向にあります。維持費は開発費を含む広告料で賄えます。
したがって、経済性については問題ない。
(2) 運用可能性:
このプロジェクトの設計は、このモードでの Web サイト開発のいくつかの事例を参照し、その操作インターフェイスを分析し、多くの事例を組み合わせて人間中心の簡素化された操作を強調しているため、基本的なコンピューターの知識がある人でもこのプロジェクトを操作できます。
したがって、運用可能性に問題はない。
(3) 技術的な実現可能性:
技術的実現可能性とは、フレームワークの構築の実現可能性だけでなく、より良い技術が登場した場合の技術改良へのシステムの適応性、開発期間とコストの比率を指します。
既存の Java テクノロジーは、あらゆる電子商取引システムの構築に対応できます。このキャンパス中古市場取引システムを開発するとき、私は Java+MYSQL を使用してプログラム全体を実行しました。
結論から言えば、技術的な実現可能性には問題はない。
(4) 法的実現可能性:
開発者の観点から見ると、Java と MYSQL はオープンソースでオンラインで無料であり、知的財産権に関する法的紛争は発生しません。
ユーザーの観点から見ると、システム上で密輸品が販売されなくなっている限り、システムとの協定や協定が締結され、違法な支払いは排除されます。
結論から言えば、法的実現可能性には問題はない。
2.2 システムプロセス分析
2.2.1データの流れ
学内中古市場取引システムは、オンラインでの中古品購入を実現することを主な目的としており、図 2-1 にシステムのデータフロー図を示します。
図 2-1 製品購入業務の拡大図
3.2.2ビジネスプロセス
システムのデータ フローを分析した後、システムのビジネス プロセスを見てみましょう。図 2-2 はビジネス フローチャートです。
図 2-2 業務フロー図
2.3システム機能の分析
2.3.1 機能分析
学内中古市場取引システムの役割に応じて、利用者管理モジュールと管理者管理モジュールの2つに分けました。
ユーザー管理モジュール:
(1) ユーザー登録・ログイン:学内中古市場取引システムに会員登録しログインし、個人情報やパスワードの変更などの個人情報の追加・削除・変更・確認を行います。
(2) ユーザーが商品を閲覧:ユーザーは商品情報を閲覧し、気に入った商品を見つけた後、購入+コメント+収集することができます。
(3) キャンパス情報:管理者が公開する情報を閲覧したり、キャンパス情報を閲覧したりできます。
(4) コメント: ユーザーは、このメニューでユーザーの投稿を表示、公開し、コメントすることができます。
(5) 商品購入: ユーザーはショッピングカート内で気に入った商品を追加購入することができ、送信が完了したことをユーザーが確認すると、サーバーのバックエンドシステムに送信され、注文が生成されます。
(6) 私の注文: 注文を送信した後、ユーザーは送信された注文を管理できます。
販売者管理モジュール:
(1) 私のコメント: 管理者は、ユーザーから送信されたメッセージに返信し、削除します。
(2) モール管理:管理者は学内中古市場取引システム内の既存商品の追加、削除、変更、確認が可能です。
(3) 注文リスト: 購入した製品の注文を表示し、送信された注文を管理します。
管理者管理モジュール:
(1) ユーザー管理:管理者は、フロントデスクに登録されているユーザー情報や管理者情報を管理・制御することができます。
(2) 学内情報管理:管理者は、バックグラウンドで学内中古市場取引システムに表示される学内情報の追加、削除、修正、確認を行うことができます。
(3) コメント管理:管理者は、学内中古市場取引システムにおいて利用者から投稿されたコメントやコメントの分類を追加、削除、修正、確認することができます。
(4) 分類管理:学内中古市場取引システムにおける商品の分類を管理者が管理します。
(5) モール管理: 管理者は、販売者から送信された商品の注文を管理します。
(6) システム管理:管理者は、学内中古市場取引システムのホームページに表示されるカルーセル画像やシステム内の一部のお知らせをシステムに公開することができ、利用者はシステム情報をタイムリーに閲覧し、合理的な手配を行うことができます。 。
2.3.2 非機能分析
学内中古市場取引システムの非機能要件には、学内中古市場取引システムの安全性、信頼性、性能、拡張性等が含まれる。詳細は次の 3-1 表で表すことができます。
表3-1学内中古市場取引システムの非機能要件表
安全性 |
主に学内中古市場取引システムのデータベースの導入を指し、データベースの利用やパスワードの設定などは規格に準拠する必要があります。 |
信頼性 |
信頼性とは、キャンパス中古市場取引システムがユーザーの指示に従って動作することを意味し、テストの結果、信頼性は90%以上です。 |
パフォーマンス |
キャンパス中古市場取引システムが市場を占有するためには、パフォーマンスが必須の条件であるため、パフォーマンスが良いことが最善です。 |
スケーラビリティ |
たとえば、データベースは、システムの非機能要件を確実に満たすために、インターフェイスの使用などの複数の属性を予約します。 |
使いやすさ |
利用者は学内中古市場取引システムのページ表示内容に従って操作するだけで済みます。 |
保守性 |
学内中古市場取引システムは保守性が非常に重要ですが、テストを行った結果、保守性に問題はありませんでした。 |
2.4システムのユースケース分析
2.3 の機能の分析を通じて、キャンパス中古市場取引システムのユースケース図が導出されます。
ユーザーの役割の例を図 2-3 に示します。
図 2-3 キャンパス中古市場取引システムにおけるユーザー役割のユースケース図
Web バックエンド管理の管理者は、キャンパス全体の中古市場取引システム内のすべてのデータ情報を管理します。図 2-5 は、管理者の役割の例を示しています。
図 2-5 キャンパス中古市場取引システム管理者の役割ユースケース図
2.5 この章の概要
本章では、主に学内中古市場取引システムの実現可能性分析、プロセス分析、機能要件分析、システムユースケース分析を通じて、学内中古市場取引システム全体で実現すべき機能を決定します。同時に、コード実装とキャンパス中古市場取引システムのテストのための標準も提供します。
3学内中古市場取引システムの全体設計
この章で説明する主な内容は、学内中古市場取引システムの機能モジュール設計とデータベースシステム設計です。
3.1システムアーキテクチャ設計
キャンパス中古市場取引システムは、アーキテクチャ的にプレゼンテーション層(UI)、ビジネスロジック層(BLL)、データ層(DL)の3層に分かれています。
図 3-1 学内中古市場取引システムのシステム構成設計図
プレゼンテーション層 (UI): UI 層とも呼ばれ、主にキャンパス中古市場取引システムの UI インタラクション機能を完成させます。優れた UI は、キャンパス中古市場を使用する際のユーザー エクスペリエンスを向上させ、ユーザーの快適さを向上させます。市場取引システムです。UI インターフェイスの設計は、良好な互換性を実現するために、キャンパス中古市場取引システムのさまざまなバージョンやさまざまなサイズの解像度にも適応する必要があります。UI インタラクション機能の要件は合理的であり、ユーザーはインタラクティブな操作を実行する際に一貫したインタラクション結果を得る必要があり、そのためにはプレゼンテーション層がビジネス ロジック層と適切に接続されている必要があります。
ビジネスロジック層(BLL):主にキャンパス中古市場取引システムのデータ処理機能を完成させます。ユーザーがプレゼンテーション層から送信したデータはビジネスロジック層で処理されてデータ層に渡され、システムがデータ層から読み込んだデータはビジネスロジック層で処理されてプレゼンテーション層に渡されます。
データ層(DL):キャンパス中古市場取引システムのデータはサーバー側のmysqlデータベースに置かれるため、サービス層に属する部分はビジネスロジック層に直接統合することができます。主に完成しているのはデータ層のデータベースのみ 本キャンパスの中古市場取引システムのデータ保管・管理機能。
3.2システム機能モジュールの設計
3.2.1 全体的な機能モジュール設計
前章では主にシステムの機能要件と非機能要件を分析し、それに基づいて本キャンパスの中古市場取引システムにおけるユースケースを分析しました。次に、キャンパスの中古市場取引システムのアーキテクチャ、主要機能、データベースの設計を開始します。キャンパス中古市場取引システムは、前章の需要分析に基づいて導出され、その全体設計モジュール図を図 3-2 に示します。
図 3-2 キャンパス中古市場取引システムの機能モジュール図
3.2.2ユーザーモジュールの設計
バックエンド管理者は、フロントエンドに登録されているユーザーの追加、削除、変更、確認を行うことができ、ユーザーモジュールの構成図は以下のとおりです。
図 3-3 メンバーユーザーモジュールの構造図
3.2.3コメント管理モジュールの設計
キャンパス中古市場取引システムはオープンなコミュニケーションプラットフォームであり、会員ユーザー同士がプラットフォーム上でコミュニケーションを図ることができ、ユーザー間の交流を促進します。しかし同時に、コメントの内容をより標準化し、管理者に不適切なコメントを削除する機能を提供するには、コメント モジュールを特別に設計する必要があり、具体的な構造図は次のとおりです。
図3-4 コメントモジュールの構成図
3.2.4モール管理モジュールの設計
キャンパス中古市場取引システムは多くの製品情報を保存する必要があり、そのモジュールの機能構造、具体的な構造図は次のとおりです。
図 3-5 モールモジュール構造図
3.2.5注文管理モジュールの設計
キャンパス中古市場取引システムの最も重要な機能の 1 つは購入であり、そのモジュール機能構成は次のとおりです。
図 3-5 オーダーモジュールの構造図
3.3 データベース設計
データベースの設計は、一般に需要分析、概念モデル設計、データベーステーブル作成の3つの大きなプロセスから構成されますが、需要分析については前章で説明しましたが、概念モデル設計は概念モデルと論理構造設計の2つに分かれます。
3.3.1データベースの概念構造設計
以下は、キャンパス全体の中古市場取引システムにおける主要なデータベース テーブルの主要な ER エンティティ関係図です。
図 3-6 学内中古市場取引システムの全体 ER 関係図
キャンパス中古市場取引システムのデータベースの全体的な ER 関係図によると、キャンパス中古市場取引システムには多くの ER 図が必要であると結論付けることができます。
図 3-7 ユーザ情報 ER 関係図
図3-8 コメント情報ER関係図
図 3-9 モール管理情報 ER 関係図
図 3-10 注文情報 ER 関係図
図 3-11 アドレス情報 ER 関係図
図 3-12 キャンパス情報 ER 関係図
3.3.2 データベースの論理構造設計
前節のキャンパス中古市場取引システムにおける全体的な ER 関係図から、合計で多くのデータ テーブルを作成する必要があると結論付けることができます。ここでは主に、いくつかの主要なデータベース テーブル構造設計をリストします。
品 |
|||||
フィールド名 |
タイプ |
長さ |
nullではない |
主キー |
フィールドの説明 |
商品ID |
中程度の |
8 |
はい |
主キー |
製品番号 |
タイトル |
可変長文字 |
125 |
いいえ |
タイトル |
|
画像 |
文章 |
0 |
いいえ |
表紙絵 |
|
説明 |
可変長文字 |
255 |
いいえ |
説明する |
|
前の価格 |
ダブル |
8 |
はい |
元値 |
|
価格 |
ダブル |
8 |
はい |
販売価格 |
|
販売 |
整数 |
10 |
はい |
販売数量 |
|
在庫 |
整数 |
11 |
はい |
コモディティ株 |
|
タイプ |
可変長文字 |
64 |
はい |
カテゴリー |
|
ヒット |
整数 |
10 |
はい |
クリック数 |
|
コンテンツ |
長文 |
0 |
いいえ |
文章 |
|
作成時間 |
タイムスタンプ |
0 |
はい |
作成時間 |
|
更新時間 |
タイムスタンプ |
0 |
はい |
更新時間 |
|
画像_1 |
文章 |
0 |
いいえ |
メイン画像1 |
|
画像_2 |
文章 |
0 |
いいえ |
メイン画像2 |
|
画像_3 |
文章 |
0 |
いいえ |
メイン画像3 |
|
画像_4 |
文章 |
0 |
いいえ |
メイン画像4 |
|
画像_5 |
文章 |
0 |
いいえ |
メイン画像5 |
|
カスタマイズフィールド |
文章 |
0 |
いいえ |
カスタムフィールド |
|
ソーステーブル |
可変長文字 |
255 |
いいえ |
ソーステーブル |
|
ソースフィールド |
可変長文字 |
255 |
いいえ |
ソースフィールド |
|
ソースID |
整数 |
10 |
はい |
ソースID |
|
ユーザーID |
整数 |
11 |
いいえ |
人を追加する |
|
注文 |
|||||
フィールド名 |
タイプ |
長さ |
nullではない |
主キー |
フィールドの説明 |
注文ID |
整数 |
11 |
はい |
主キー |
注文ID |
注文番号 |
可変長文字 |
64 |
いいえ |
注文番号 |
|
商品ID |
中程度の |
8 |
はい |
製品番号 |
|
タイトル |
可変長文字 |
32 |
いいえ |
商品タイトル |
|
画像 |
可変長文字 |
255 |
いいえ |
製品画像 |
|
価格 |
ダブル |
10 |
はい |
価格 |
|
前の価格 |
ダブル |
10 |
はい |
元値 |
|
番号 |
整数 |
8 |
はい |
量 |
|
価格_数 |
ダブル |
8 |
はい |
合計金額 |
|
規範 |
可変長文字 |
255 |
いいえ |
仕様 |
|
タイプ |
可変長文字 |
64 |
はい |
カテゴリー |
|
連絡先 |
可変長文字 |
32 |
いいえ |
連絡先 |
|
連絡先メールアドレス |
可変長文字 |
125 |
いいえ |
連絡先メールアドレス |
|
連絡先電話番号 |
可変長文字 |
11 |
いいえ |
携帯電話に連絡する |
|
連絡先住所 |
可変長文字 |
255 |
いいえ |
受信者のアドレス |
|
郵便番号 |
可変長文字 |
9 |
いいえ |
郵便番号 |
|
ユーザーID |
整数 |
10 |
はい |
購入者ID |
|
販売者ID |
中程度の |
8 |
はい |
販売者ID |
|
作成時間 |
タイムスタンプ |
0 |
はい |
作成時間 |
|
更新時間 |
タイムスタンプ |
0 |
はい |
更新時間 |
|
説明 |
可変長文字 |
255 |
いいえ |
説明する |
|
州 |
可変長文字 |
16 |
はい |
注文の状況 |
|
賞賛 |
|||||
フィールド名 |
タイプ |
長さ |
nullではない |
主キー |
フィールドの説明 |
賞賛ID |
整数 |
10 |
はい |
主キー |
いいねID |
ユーザーID |
整数 |
11 |
はい |
人が好き |
|
作成時間 |
タイムスタンプ |
0 |
はい |
作成時間 |
|
更新時間 |
タイムスタンプ |
0 |
はい |
更新時間 |
|
ソーステーブル |
可変長文字 |
255 |
いいえ |
ソーステーブル |
|
ソースフィールド |
可変長文字 |
255 |
いいえ |
ソースフィールド |
|
ソースID |
整数 |
10 |
はい |
ソースID |
|
状態 |
タイニーント |
1 |
はい |
いいねステータス |
|
登録ユーザー |
|||||
フィールド名 |
タイプ |
長さ |
nullではない |
主キー |
フィールドの説明 |
登録ユーザーID |
整数 |
11 |
はい |
主キー |
ユーザーIDを登録する |
ユーザー番号 |
可変長文字 |
64 |
はい |
ユーザーID |
|
フルネーム |
可変長文字 |
64 |
いいえ |
名前 |
|
性別 |
可変長文字 |
64 |
いいえ |
性別 |
|
検査状態 |
可変長文字 |
16 |
はい |
承認状況 |
|
推薦する |
整数 |
11 |
はい |
インテリジェントな推奨事項 |
|
ユーザーID |
整数 |
11 |
はい |
ユーザーID |
|
作成時間 |
日付時刻 |
0 |
はい |
作成時間 |
|
更新時間 |
タイムスタンプ |
0 |
はい |
更新時間 |
|
中古市場 |
|||||
フィールド名 |
タイプ |
長さ |
nullではない |
主キー |
フィールドの説明 |
中古市場ID |
整数 |
11 |
はい |
主キー |
中古市場ID |
ブランド |
可変長文字 |
64 |
いいえ |
ブランド |
|
仕様 |
可変長文字 |
64 |
いいえ |
仕様 |
|
状態 |
可変長文字 |
64 |
いいえ |
細かさ |
|
ヒット |
整数 |
11 |
はい |
クリック数 |
|
賞賛レン |
整数 |
11 |
はい |
いいね数 |
|
推薦する |
整数 |
11 |
はい |
インテリジェントな推奨事項 |
|
カートのタイトル |
可変長文字 |
125 |
いいえ |
タイトル |
|
カート画像 |
文章 |
0 |
いいえ |
表紙絵 |
|
カートの説明 |
可変長文字 |
255 |
いいえ |
説明する |
|
カート価格_前 |
ダブル |
8 |
はい |
元値 |
|
カート価格 |
ダブル |
8 |
はい |
販売価格 |
|
カート_在庫 |
整数 |
11 |
はい |
コモディティ株 |
|
カートの種類 |
可変長文字 |
64 |
はい |
カテゴリー |
|
カートの内容 |
長文 |
0 |
いいえ |
文章 |
|
カート_img_1 |
文章 |
0 |
いいえ |
メイン画像1 |
|
カート_img_2 |
文章 |
0 |
いいえ |
メイン画像2 |
|
カート_img_3 |
文章 |
0 |
いいえ |
メイン画像3 |
|
カート_img_4 |
文章 |
0 |
いいえ |
メイン画像4 |
|
カート_img_5 |
文章 |
0 |
いいえ |
メイン画像5 |
|
作成時間 |
日付時刻 |
0 |
はい |
作成時間 |
|
更新時間 |
タイムスタンプ |
0 |
はい |
更新時間 |
|
スライド |
|||||
フィールド名 |
タイプ |
長さ |
nullではない |
主キー |
フィールドの説明 |
スライドID |
整数 |
10 |
はい |
主キー |
カルーセルID |
タイトル |
可変長文字 |
64 |
いいえ |
タイトル |
|
コンテンツ |
可変長文字 |
255 |
いいえ |
コンテンツ |
|
URL |
可変長文字 |
255 |
いいえ |
リンク |
|
画像 |
可変長文字 |
255 |
いいえ |
カルーセル |
|
ヒット |
整数 |
10 |
はい |
クリック数 |
|
作成時間 |
タイムスタンプ |
0 |
はい |
作成時間 |
|
更新時間 |
タイムスタンプ |
0 |
はい |
更新時間 |
3.4 この章の概要
キャンパス全体の中古市場取引システムの需要分析は、システム全体のアーキテクチャと機能モジュールの設計に主に焦点を当て、データベース システム設計は、ER モデルとデータベース ロジック システム設計を確立することで完了しました。
4 キャンパス中古市場取引システムの詳細設計と実装
キャンパス中古市場取引システムの詳細な設計と実装は、主にキャンパス中古市場取引システムの以前の需要分析とキャンパス中古市場取引システムの全体設計に基づいてページを設計し、実装しますビジネスの論理。主にキャンパス中古市場取引システムインターフェース実装とビジネスロジック実装の2つのパートから紹介します。
4.1ユーザー機能モジュール
4.1.1 前台首页界面
当进入校园二手市场交易系统的时候,首先映入眼帘的是系统的导航栏,下面是轮播图以及系统内容,其主界面展示如下图4-1所示。
图4-1 前台首页界面图
前台首页代码如下:
server:
port: 5000
servlet:
context-path: /api
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/CS725260_20211101091736?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
jackson:
property-naming-strategy: CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES
default-property-inclusion: ALWAYS
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
4.1.2 会员注册界面
不是校园二手市场交易系统中正式会员的是可以在线进行注册的,如果你没有本校园二手市场交易系统的账号的话,添加“注册”,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号等后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可会员注册成功。其用会员注册界面展示如下图4-2所示。
图4-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;
}
4.1.3 会员登录界面
校园二手市场交易系统中的前台上注册后的会员是可以通过自己的账户名和密码进行登录的,当会员输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到校园二手市场交易系统的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。
图4-3会员登录界面图
登录代码如下:
/**
* 登录
* @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, "账号或密码不正确");
}
}
4.1.4 校园资讯界面
用户在点击导航栏上面的校园资讯后,就可以搜索查看资讯信息,用户根据自己的喜好可以进行点赞收藏等,校园资讯界面如下图4-4所示。
图4-4校园资讯界面图
校园资讯代码如下:
@RequestMapping("/get_list")
public Map<String, Object> getList(HttpServletRequest request) {
Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));
return success(map);
}
4.1.5 收货地址界面
当用户点击“收货地址”右后,就回去显示出目前现有的地址,也可以添加新的地址,界面如下图4-5所示。
图4-5收货地址界面图
收货地址代码如下:
@RequestMapping(value = "/del")
@Transactional
public Map<String, Object> del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
return success(1);
}
@Transactional
public void delete(Map<String,String> query,Map<String,String> config){
StringBuffer sql = new StringBuffer("DELETE FROM ").append("`").append(table).append("`").append(" ");
sql.append(toWhereSql(query, "0".equals(config.get(FindConfig.GROUP_BY))));
log.info("[{}] - 删除操作:{}",table,sql);
Query query1 = runCountSql(sql.toString());
query1.executeUpdate();
}
4.1.6 商品详情界面
当访客点击了任意商品后将会进入该款商品的详情界面,可以了解到该商品的图片信息、商品信息、价钱信息等,同时可以对该商品进行加购+立即购买+收藏+点赞+评论,商品详情展示页面如图4-6所示。
图4-6 商品详情界面图
商品详情代码如下:
@RequestMapping("/get_obj")
public Map<String, Object> obj(HttpServletRequest request) {
Query select = service.select(service.readQuery(request), service.readConfig(request));
List resultList = select.getResultList();
if (resultList.size() > 0) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("obj",resultList.get(0));
return success(jsonObject);
} else {
return success(null);
}
}
public Query select(Map<String,String> query,Map<String,String> config){
StringBuffer sql = new StringBuffer("select ");
sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");
sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));
if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){
sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");
}
if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){
sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");
}
if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){
int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;
int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;
sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);
}
log.info("[{}] - 查询操作,sql: {}",table,sql);
return runEntitySql(sql.toString());
}
4.1.7 我的订单界面
当用户点击“我的订单”链接后就进入自己购买的订单的界面展示,界面如下图4-7所示。
图4-7 我的订单界面图
我的订单代码如下:
public Map<String, Object> getList(HttpServletRequest request) {
Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));
return success(map);
}
4.2 管理员功能模块
4.2.1 用户管理界面
校园二手市场交易系统中的管理人员是可以对前台注册的买家进行管理的,也可以对管理员进行管控。界面如下图4-8所示。
图4-8用户管理界面图
4.2.2 公告栏管理界面
校园二手市场交易系统中的管理人员是可以对公告栏进行添加公告消息的,界面如下图4-9所示。
图4-9公告栏界面图
4.2.3 二手市场管理界面
校园二手市场交易系统中的管理人员是可以对校园二手市场交易系统内发布的商品进行添加、维护和管理的,支持增删改查操作。界面如下图4-10所示。
图4-10二手市场界面图
4.2.4 校园资讯列表界面
校园二手市场交易系统中的管理人员是可以对校园二手市场交易系统内的资讯信息进行维护和管理的。校园资讯列表界面如下图4-11所示。
图4-11校园资讯列表界面图
5 系统测试
5.1 系统测试的目的
系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。
5.2 系统测试用例
系统测试包括:用户登录功能测试、商品展示功能测试、商品添加、商品搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:
表5-1 用户登录功能测试表
用例名称 |
用户登录系统 |
目的 |
测试用户通过正确的用户名和密码可否登录功能 |
前提 |
未登录的情况下 |
测试流程 |
1) 进入登录页面 2) 输入正确的用户名和密码 |
预期结果 |
用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
实际结果 |
实际结果与预期结果一致 |
商品查看功能测试:
表5-2 商品查看功能测试表
用例名称 |
商品查看 |
目的 |
测试商品查看功能 |
前提 |
用户登录 |
测试流程 |
点击商品列表 |
预期结果 |
可以查看到所有商品信息 |
实际结果 |
实际结果与预期结果一致 |
管理员添加商品界面测试:
表5-3 管理员添加商品界面测试表
用例名称 |
商品发布测试用例 |
目的 |
测试商品发布功能 |
前提 |
用户正常登录情况下 |
测试流程 |
1)点击商品信息管理就,然后点击添加后并填写信息。 2)点击进行提交。 |
预期结果 |
提交以后,页面首页会显示新的商品信息 |
实际结果 |
实际结果与预期结果一致 |
商品搜索功能测试:
表5-4商品搜索功能测试表
用例名称 |
商品搜索测试 |
目的 |
测试商品搜索功能 |
前提 |
无 |
测试流程 |
1)在搜索框填入搜索关键字。 2)点击搜索按钮。 |
预期结果 |
页面显示包含有搜索关键字的商品 |
实际结果 |
实际结果与预期结果一致 |
密码修改功能测试:
表5-5 密码修改功能测试表
用例名称 |
密码修改测试用例 |
目的 |
测试管理员密码修改功能 |
前提 |
管理员用户正常登录情况下 |
测试流程 |
1)管理员密码修改并完成填写。 2)点击进行提交。 |
预期结果 |
使用新的密码可以登录 |
实际结果 |
实际结果与预期结果一致 |
5.3 系统测试结果
通过编写校园二手市场交易系统的测试用例,已经检测完毕用户登录模块、商品查看模块、商品添加模块、商品搜索模块、密码修改功能测试,通过这5大模块为校园二手市场交易系统的后期推广运营提供了强力的技术支撑。
结论
至此,校园二手市场交易系统已经结束,在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从中我也收获了很多宝贵的方法和设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、java技术、MYSQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。
当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。
参考文献
[1]李乐.Java语言应用研究[J].智慧中国,2022(09):80-81.
[2]周玲艳.Java程序设计课程实践教学方法和考核方式的思考[J].中国现代教育装备,2022(17):122-124.DOI:10.13492/j.cnki.cmee.2022.17.023.
[3]朱志慧,蔡洁.基于SpringBoot+Vue+Uni-app框架的校园失物招领系统[J].电子技术与软件工程,2022(17):62-65.
[4]许诺,高耀,周文柱.基于改进协同过滤算法的校园二手交易系统研究[J].现代计算机,2022,28(16):101-105.
[5]仓业金.基于Java的软件保护技术研究[J].电脑知识与技术,2022,18(23):29-30+52.DOI:10.14004/j.cnki.ckt.2022.1597.
[6]宋旸.使用Java语言开发Web应用软件的知识探讨[J].中国设备工程,2022(14):121-123.
[7]杨迎.Java技术在嵌入式系统中的作用探讨[J].无线互联科技,2022,19(14):96-98.
[8]李璋,赵鸿皓,黄震,陈逸凡,杨洲.Java在程序设计语言课程中的应用[J].长江信息通信,2022,35(07):108-111.
[9]吴拓.Java编程语言在计算机软件开发中的应用[J].无线互联科技,2022,19(12):35-37.
[10]陈春龙. 基于混合推荐的校园二手交易系统的研究与实现[D].辽宁大学,2022.DOI:10.27209/d.cnki.glniu.2022.001777.
[11]杨迎.Java语言异常处理机制的分析[J].电子技术,2022,51(03):42-43.
[12]曹嵩彭,王鹏宇.浅析Java语言在软件开发中的应用[J].信息记录材料,2022,23(03):114-116.DOI:10.16009/j.cnki.cn13-1295/tq.2022.03.009.
[13]单树倩,任佳勋.基于SpringBoot和Vue框架的数据库原理网站设计与实现[J].电脑知识与技术,2021,17(30):40-41+50.DOI:10.14004/j.cnki.ckt.2021.2868.
[14]喻佳,吴丹新.基于SpringBoot的Web快速开发框架[J].电脑编程技巧与维护,2021(09):31-33.DOI:10.16184/j.cnki.comprg.2021.09.013.
[15]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).
[16]陈冰. 基于SpringBoot的校园二手商品交易系统的设计与实现[D].华中师范大学,2021.DOI:10.27159/d.cnki.ghzsu.2021.003139.
[17]刘耀阳,王涛,韩海晶,孙荣胜,陈海江,申初.校园二手交易系统设计[J].电子世界,2020(05):134-136.DOI:10.19353/j.cnki.dzsj.2020.05.071.
[18]熊永平.基于SpringBoot框架应用开发技术的分析与研究[J].电脑知识与技术,2019,15(36):76-77.DOI:10.14004/j.cnki.ckt.2019.4290.
[19]朱运乔.基于SpringBoot+SSM框架的Web应用系统搭建与实现[J].电脑编程技巧与维护,2019(10):23-25.DOI:10.16184/j.cnki.comprg.2019.10.008.
[20]刘洛佳,曹双双.基于C/S+B/S混合模式的校园二手交易系统的设计与实现[J].科技创新与应用,2019(18):34-35+37.
致 谢
逝者如斯夫,不舍昼夜。转眼间,大学生会员活便已经接近尾声,人面对着离别与结束,总是充满着不舍与茫然,我亦如此,仍记得那年秋天,我迫不及待的提前一天到了学校,面对学校巍峨的大门,我心里充满了期待:这里,就是我新生活的起点吗?那天,阳光明媚,学校的欢迎仪式很热烈,我面对着一个个对着我微笑的同学,仿佛一缕缕阳光透过胸口照进了我心里,同时,在那天我认识可爱的室友,我们携手共同度过了这难忘的两年。如今,我望着这篇论文的致谢,不禁又要问自己:现在,我们就要说再见了吗?
感慨莫名,不知所言。遥想当初刚来学校的时候,心里总是想着工科学校会过于板正,会缺乏一些柔情,当时心里甚至有一点点排斥,但是随着我对学校的慢慢认识与了解,我才认识到了她的美丽,她的柔情,并且慢慢的喜欢上了这个校园,但是时间太快了,快到我还没有好好体会她的美丽便要离开了,但是她带给我的回忆,永远不会离开我,也许真正离开那天我的眼里会满含泪水,我不是因为难过,我只是想将她的样子映在我的泪水里,刻在我的心里。最后,感谢我的老师们,是你们教授了我们知识与做人的道理;感谢我的室友们,是你们陪伴了我如此之久;感谢每位关心与支持我的人。
少年,追风赶月莫停留,平荒尽处是春山。