1. システムのスクリーンショット (デモビデオが必要な場合は、プライベートにチャットできます)
まとめ
今日では、社会のあらゆる階層が、独自の業界固有のソフトウェアを使用して仕事をすることを好みますが、インターネットが発展したこの時点で、人々はインターネットなしではやっていけないことに気づきました。新しいテクノロジーの出現により、古いテクノロジーの欠点が解決されることがよくあります。従来の商品取引情報の管理は難しく、耐障害性が低く、管理者によるデータ処理に時間と労力がかかるため、この問題を解決するために特化した電子商取引プラットフォームが開発され、多くの問題を解決できます。
電子商取引プラットフォームでは、加盟店管理、商品注文管理、ユーザー管理、商品管理、商品評価管理などの機能を実現できます。このシステムは、Mysql データベース、Java 言語、Spring Boot フレームワーク、その他のプログラミング技術を使用します。
電子商取引プラットフォームは、商品取引情報管理問題の解決効率を向上させ、商品取引情報処理プロセスを最適化し、商品取引情報データのセキュリティを確保することができる、非常に信頼性が高く安全なアプリケーションです。
キーワード:電子商取引プラットフォーム、Mysql データベース、Java 言語
第1章 はじめに_
1.1主題の背景
21 世紀のインターネットの出現は、何千年にもわたって人々の生活を、生活物質の豊富さだけでなく精神的なレベルでも変化させてきました。インターネットが誕生する以前は、地理的な位置によってドメインを越えることができない人々の心の隙間が多く、情報伝達の速度は非常に遅く、情報処理の速度や要件は依然として馬や伝書鳩に乗って伝達されていました。失われる可能性が非常に高く、情報伝達のレベルが人々の生活水準を決定します。昨今、誰もがインターネットソフトウェア製品を利用し、社内管理からコンピュータ管理を確立し、社内情報化の管理レベルを向上させ、外部市場から関連データをコンピュータで取得して処理するなど、あらゆる分野がコンピュータに大きく依存するようになりました。
このテーマでは、電子商取引プラットフォームの研究開発を行い、コンピュータにインストールされたシステムを管理者のちょっとした手助けにし、商品取引情報の処理速度を向上させ、商品取引情報の処理プロセスを標準化し、管理者の生産性を向上させます。
1.2主題の意義
従来のデータ処理は紙上で行われ、処理後の統計は紙上に収集され、その処理が継続的に繰り返され、最終的に結果が最高レベルに参照として提供されます。 , このモデルは、「よくあることですが、情報管理の効率を向上させることはできません。人が増えれば必ず力が増えるわけではありません。なぜなら、より多くの人が間違いなくより多くのリソースを消費するからです。また、人間は休憩して管理する必要があるため、思考を管理します。」一貫性がなく怠け者になるため、人々は特別な支援を開発しました 人々が計算する機械はコンピューターの前身です インターネット時代では、人々はプログラムの提供者にソリューションを提供させ、出力率を向上させるために自分で適切なソリューションを選択できることに気づきました。そのため、日々の仕事や生活の中には、人々にとって便利なさまざまなツールが登場します。
本プロジェクトで開発する電子商取引プラットフォームは、商品取引情報処理のソリューションを提供するもので、情報を短時間で処理でき、情報は専用の記憶装置を持ち、データのバックアップや移行も設定可能です。人的資源、情報処理、情報セキュリティの観点から、電子商取引プラットフォームは従来の紙ベースの業務よりも完全に優れています。
1.3研究内容
このペーパーでは、電子商取引プラットフォームの設計と実装を 6 つの章に分けて説明します。
第1章:電子商取引プラットフォームを検討する背景と電子商取引プラットフォーム開発の意義。
第2章:電子商取引プラットフォームの開発環境と技術について説明します。
第 3 章: 電子商取引プラットフォームの実現可能性、パフォーマンス、プロセス、機能を分析します。
第 4 章: 電子商取引プラットフォームの機能構造を設計し、データベース ER 図を設計し、データ テーブルの格納構造を設計します。
第 5 章: 電子商取引プラットフォームの機能を実現し、機能インターフェイスを表示します。
第 6 章: システム テストについて説明し、システムのいくつかの機能をテストします。
第2章 開発環境と技術
この章では、電子商取引プラットフォームを開発するために構築する必要がある開発環境と、電子商取引プラットフォームの開発に使用されるプログラミング技術について説明します。
2.1 Java言語
Java 言語は、プログラミング言語業界で今日も生き続ける常緑樹の 1 つです。Java言語の最も原始的な誕生は、C言語はプログラミングにおいて非常に面倒だと感じている作成者だけではなく、ビジネスロジックの処理だけに注目すると、さまざまなポインタやガベージコレクションの操作が無視され、結果として、通常のプログラミングでビジネス ロジックを処理する時間よりも時間がかかることが多く、時間の無駄です。Java 言語の作成者は、この問題を回避する方法を検討し、ポインタ処理とゴミ処理を自動化しました。これにより、多少のパフォーマンスは低下しますが、コンピュータ ハードウェアの開発速度は非常に速いため、これらのパフォーマンスは無視できます。また、C言語はハードウェア開発用の言語であり、実行効率は高いものの、ハードウェアが変わったり、OSが変わるとプログラムを書き直す必要があり、作業が重複してしまうなど、繰り返し作業を解決する唯一の言語です。労働は生存の法則に沿っていると考えられます。Java 言語の作成者は、C 言語の欠点を解消するために Java 言語を開発しました。Java 言語の実行の外側にはシェル、つまり仮想マシンがあるため、どのような環境であっても Java 言語を実行できます。Java 仮想マシンをコンピュータにインストールできる限り、Java は実行されます。プログラムを実行することができます。
2.2 MYSQL データベース
MySQL データベースはデータ ストレージ用の専門的なソフトウェアであり、伝統的な行ベースのデータ モデルでもあります。一部のデータは最初に行ごとに取得され、その後行ごとに表示されます。これは列指向のデータベースとは異なります。行データベースは主に最も重要なデータ ロジック部分を処理し、各場所のデータの関連付けが破壊できないように有効なデータである必要があります。データ セキュリティ要件を厳しくするには、MySQL データベースを使用することをお勧めします。列型データベースが発明されたのは、読み取り効率が高いからというだけですが、それだけです。MySQL のインストールパッケージは、Oracle や SQL Server に比べて数十メガバイト、場合によっては数百メガバイトと少し小さいですが、機能は弱くなく、SQL 標準構文に厳密に従っています。MySQL のデータ ストレージ形式は大規模なものから小規模なものまであります。データベースが最も大きく、次にテーブルです。各テーブルにデータを格納するには一定のルールがあります。データ ストレージはテーブル形式です。水平方向と垂直方向があります。通常、行は 1 つのデータを表します。テーブルを関連付けたり、複数のテーブルに分割したりすることもできます。1 つのデータにアイテムに関連する属性が多すぎる場合は、有効な関連リンクを関連付け、それらが一意であるかどうかを設定できます。
2.3 IDEA開発ツール
IDEA はチェコ共和国の Java プログラマーと開発者によって作成された開発ソフトウェアですが、当初は主に Eclipse ソフトウェアに慣れていなかったため、彼らがこのソフトウェアを直接開発しました。スムーズでない理由は、コードプロモーション機能がないためです。その理由は、Eclipse がコードヒントをプラグイン形式としてのみ使用しているためです。一部のプログラム開発者がコードヒントについて明確にしていないと、プラグインによって問題が発生する可能性があります。コードヒントはプラグインとしてのみ使用されるため、機能が不足しています。IDEA はコード ヒントを適切に処理するだけでなく、コード リファクタリングをさらに強力にします。プログラム開発者がコードの一部を選択すると、IDEA がコードを分解してリファクタリングし、効果的にコードをより階層化して再利用可能にします。より柔軟で、より簡潔で使いやすく、コードの作業負荷が大幅に軽減され、コード開発の効率が向上します。もちろん、IDEA はユーザーにとって非常に良いものなので、目的があるはずですが、その理由は、プラグインが多ければ多いほど、使用するのに多額の費用がかかるため、IDEA の使用は主に好みに依存します。 。
2.4 Spring Boot フレームワーク
Spring Boot は、コード生成を必要とせず、XML ファイルを構成する必要もないフレームワークです。Spring Boot には多くのインターフェイスが付属しているため、さまざまなインターフェイスを構成するだけで自動的に適用され、ニーズが特定されます。この依存関係は、次の場合に非常に便利です。構成上、フレームワークを使用していないように感じます。Spring Boot には多くのデフォルト構成ファイルがあり、デフォルト構成ファイルは変更したり、自動的にロードされるように設定したり、例外処理をグローバル例外処理とデフォルト例外処理に分けることができます。Spring Boot を使用する際、使用するものを直接登録するようなもので、対応するクラスやメソッドに対して特別なステートメントを作成することをいわゆる登録といいます。
第3章 システム分析
本稿の著者は、研究対象を確認した後、主要な電子図書館から文書をダウンロードして閲覧し、同種のウェブサイトの一般的な機能を理解した上で、具体的な事柄を分析して、その研究対象となる具体的な機能や性能を取得します。システム。システムを分析する段階の作業は主に機能を決定することですが、その後のシステム開発連携の進捗に影響を与えるため、システム分析連携は不可欠です。
3.1実現可能性の分析
開発を成功させる前提となるのが実現可能性分析であり、事前に分析してプログラムの開発プロセスに適合させることによってのみ、開発プロセスを中断することはありません。
3.1.1 技術的な実現可能性
技術実装レベルでは、いくつかの技術実装手法が分析され、対応する成功事例が存在し、参考となるオープンソースモジュールも多数存在するため、技術的実現可能性分析の観点からは、実現に問題はない。 -コマースプラットフォーム。
3.1.2経済的実現可能性
学生である開発者にとって、利用できる経済的リソースは非常に限られていますが、電子商取引プラットフォームを開発するには、開発ソフトウェアのハードウェア要件を確認することで、自分のコンピュータを開発に完全に使用できることがわかり、学校のコンピューター室でも要件を満たすことができます。最も重要なことは、選択したテクノロジについてはインターネット上で無料のチュートリアルや資料を見つけることができ、お金がかからないため、経済的に実行可能であるということです。
3.1.3運用の実現可能性
電子商取引プラットフォーム自体の具体的な実装は人間の通常の操作ロジックを指し、一般的な操作習慣がメインのナビゲーション実装として使用されるため、ユーザーはより迅速に理解して操作できるようになります。は特定の操作の実現可能性を反映しています。
上記は、電子商取引プラットフォームの正常な発展を確保するためのさまざまな角度からの分析です。
3.2システムの流れ
電子商取引プラットフォームの利用後、ユーザーが対応するプロセス動作図を確認できるようになれば、プログラムの理解力が向上します。
3.2.1操作手順_
電子商取引プラットフォームを操作する場合、ユーザーはシステムが提供する操作プロセスに従って操作する必要があります (図 3.1 はシステムの操作フローチャート)。これにより、操作エラーが減少し、電子商取引プラットフォームに入る時間を節約できます。
図3.1 システム動作フロー
3.2.2ログインプロセス_ _
電子商取引プラットフォームは、ユーザーがログイン機能を通じて指定された機能操作領域に入るように誘導し(図 3.2 はそのログインプロセスです)、また、システム以外のユーザーがシステムによって提供されるサービスを享受したり、提供された情報を閲覧したりすることを防ぎます。システムによりユーザーの安全を確保します。
図 3.2 ログインプロセス
3.2.3情報削除処理
電子商取引プラットフォームを長期間使用すると、大量のデータ情報が生成されます。より多くのデータを保存するためのストレージ領域を解放するには、このシステムのデータベースに保存されているデータのうち、参照値のない一部のデータを削除する必要があります (図 3.3 は情報の削除のプロセスです)。誤って削除しないように、システムのプロンプトに従ってユーザーがデータを削除するかどうかを決定する必要があります。
図 3.3 削除情報の流れ
3. 2.4情報処理の追加
電子商取引プラットフォームは、ユーザーがデータを操作するのに非常に便利な視覚的な機能操作領域を提供し、ユーザーがシステムにデータを入力すると(図 3.4 は情報を追加するプロセスです)、システムはデータの合法性も判断します。 . データベースの指定したテーブルに必要なデータだけを登録できます。
図 3.4 情報追加プロセス
3.3パフォーマンス要件_
要件分析は、プロジェクトで使用されるハードウェア機器を通常の分析プロセスに準拠して分析するために不可欠です。性能要件ではなく機能要件についてのみ議論することは非常に深刻な問題であり、制御不能な問題が発生する可能性があります。
以下では、これらの角度からシステムのパフォーマンスを分析します。
(1) システムデータの容量:データ分析の観点から、各テーブルおよび各データベースは一定のデータ量に達しており、テーブルまたはデータベースに分割する必要がある場合、設定されたデータの制限を超える場合、データを分割する必要がある場合があります。その結果、データの速度が遅くなり、耐障害性が向上します。
(2) データ精度の要件:需要分析のデータ設定リンクにおいて、対応するデータ精度の問題を考慮する必要があり、データが共通に使用されるかどうかを調べて、異なる値を設定する必要があります。
(3) 応答時間要件:ユーザーが操作を送信してからページ反映までの途中でデータ処理の問題があり、予測されるデータ量の大きさを考慮し、サブデータベースやデータベースの設計を計画する必要があります。データ量がどんなに大きくてもカラムの追加を検討する必要がある 従来のデータベースの問題点は一目で判断できるものではなく、同業界の経験とデータ分析・判断が必要ユーザーの要求に応えようとすると、やはり応答時間が長すぎて操作しにくい。
(4) 汎用性の問題:ユーザーはサーバーのデータ量やレスポンスの問題を意識する必要がない、パソコンさえあれば操作不要、ブラウザを開いて使える、設定や操作が多すぎる、などユニバーサル動作に準拠していません。
(5) ページデザインの問題: 機能が要件を満たした後、ページを充実させる必要があります。ページのデザインはユーザーが長年直面している問題ですが、まず、ページをよりすっきりと見せるためにデータのクリーンさを考慮します。色とデータの点で、異なる色は異なる色であり、長時間使用後のユーザーの視覚疲労を軽減し、ユーザーが使用中にそれほど不快感を感じることはありません。
(6) システムの安定性: 通常のユーザーのオペレーティング システム ページを送信して送信する必要があります。通常の入力は論理的であり、さまざまな問題が偶然発生することはなく、ユーザーの疲労につながり、入力データとエコーされたデータはユーザーの要件を満たします。通常の動作が失敗する場合、設計は不安定になりますが、決してそうではありません。データと対話するシステムはすべて、安定している必要があります。システムの安定性を開発・導入の観点から分析し、データ冗長バックアップ機能、自動オン当番機能、計算機室データ同期機能、計算機室分離機能などを検討し、システムの安定性を向上させます。
システムの性能要件は、ビジネスに精通した上で判断および分析し、システムの性能要件から 1 つずつ実現する必要があり、それによって設計されたシステムが価値のあるものになります。
3.4機能要件
電子商取引プラットフォームでは、利用権限の観点から機能分析を行い、各権限が動作するために必要な機能をユースケース図で示します。
図 3.5 は管理者のユースケース図であり、管理者権限の操作機能には、加盟店管理、加盟店スター情報管理、ユーザー管理、商品管理などが含まれます。
図 3.5 管理者の使用例図
図 3.6 はマーチャントのユースケース図であり、マーチャントオーソリティーのオペレーションの機能には、製品の管理、製品レビューへの返信、および製品注文の管理が含まれます。
図 3.6 販売者のユースケース図
図 3.7 はユーザーの使用例図であり、ユーザー権限操作の機能には、加盟店の表示、製品の購入、注文の送信、および製品注文の管理が含まれます。
図 3.7 ユーザーのユースケース図
第4章システム設計
ユーザーがブラウザ上で操作を行う場合、必ず予期せぬ問題が発生しますが、ユーザーのブラウザ上での操作にシステムが対応しないわけではないので、起こり得る問題については事前に検討しておく必要があります。
4.1システム設計の考え方
システム設計には設計思想の統一が必要であり、統一された思想のみがプログラムの開発を導き、多くのプログラム開発者がより早く状態に入ることができ、開発速度の向上を図ることができます。現在のシステムの確立された要件に従って、このシステムの設計思想を以下に説明します。
(1) スケーラビリティ: システムを開発する場合、この問題を考慮することは避けられません。ソフトウェアのバージョンが変わるのは一種の常識であり、ソフトウェアは一度開発すれば永遠のものではなく、成長し続けるものです。したがって、問題を検討する際には、現在問題となっているデータを拡張し、それを要約・整理して、最終的にある程度の拡張性を持ったプログラムを形成する必要があります。プログラムのスケーラビリティは開発の進捗に必ず影響を与えるため、最終的にはプログラムのスケーラビリティを総合的に評価し、目標を絞って順次開発する必要があります。
(2) 実用性: プログラミングは、最初に高度なアイデアがあり、次に具体的であり、実用性が具体化の第一歩であるユーザーはプログラミングを理解していないことを十分に考慮する必要がありますユーザーは、日常的なインターネット操作手順を理解しているだけです。プログラムを理解する必要がないため、ユーザーは利便性と実用性を感じなければなりませんが、ユーザーがプログラムを使用する過程でそのプログラムを使用するメリットを感じられない場合、プログラム設計の実用性は大幅に低下します。
(3) セキュリティ: ユーザーがプロセスを使用すると、関連するデータが大量に生成されるため、これらのデータにはセキュリティが保証されている必要があります。そうでない場合、ユーザーがデータ問題の原因がプログラム設計の問題であると判明した場合、プログラム開発者の信頼を失い、場合によっては多額の費用賠償が発生する可能性もあるという避けられない問題です。したがって、セキュリティは開発者とユーザーの両方の経済的利益に関係しており、プログラムのセキュリティは保証されなければなりません。
(4) 先進性:プログラム設計の先進性は開発者が考慮し、システム機能を満たすことを前提に最適な技術を選択する必要がある。開発コスト、使用コスト、保守コストの観点から最適な技術を総合的に分析し、最適解を導き出し、高度な技術生産性を維持する技術でなければなりません。
(5) 保守性: プログラム開発の開始時に、将来の保守の問題を考慮する必要があります。保守とは、プログラムが開発された後、すでにオンラインになって運用可能な状態になっており、本番試用工程や使用工程に入って初めて保守の必要性が判明することを意味します。さまざまな面で保守コストを削減するためには、保守が少なければプログラム開発が完璧になるわけではなく、プログラムは人間が設計・製作するものである以上、避けられない問題も多くあるはずで、その正常な動作をどのように維持するかが重要です。プログラムも問題ですが、ドアは非常に重要な知識です。
4.2機能構造設計
図 4.1 は設計された管理者の機能構成であり、管理者権限によって実行される機能には、加盟店管理、加盟店スター情報管理、ユーザー管理、商品管理などが含まれます。
図4.1 管理者機能の構成
図 4.2 は設計された販売業者の機能構造であり、販売業者の運営機能には、製品の管理、製品レビューへの返信、製品注文の管理が含まれます。
図 4.2 加盟店の機能構造
図 4.3 は設計されたユーザー機能の構造であり、ユーザー権限操作の機能には、加盟店の表示、商品の購入、注文の送信、および商品注文の管理が含まれます。
図4.3 ユーザー関数の構造
4.3データベース設計
ECプラットフォームの運用中に発生するデータは、あらかじめ定められた保存ルールに従って保存する必要があり、プロジェクトに応じた最適なデータ保存形式を設計することで、ユーザーの待ち時間を短縮し、データの保存性を向上させることができます。システムからのリクエストを最短の応答で処理します。したがって、データベースを設計する際には、機能要件を詳細に分割し、ビジネスステータスを細分化し、データベースの正常な動作を保証し、データ処理時間を短縮し、データ処理時間を短縮するための具体的な格納ルールを設計する必要があります。冗長性によりストレージ容量が節約されます。
4.3.1データベースの概念設計
エンティティ関係図には、Entity Relationship Diagram の英語の頭文字をとって ER 図という名前もあり、その概念モデルは通常、現実世界を記述するために使用されます。同時に、データ内のエンティティ、関係性、属性を視覚的に表現する効果的な手段でもあります。ER 図を描画するために選択できるツールは数多くありますが、Office Visio は視覚的な処理に基づいており、ER 図の作成に使用するのが非常に簡単であるため、一般的に ER 図の描画には Office Visio が推奨されます。楕円形、ひし形、長方形、実線セグメントなどの基本的な ER 図要素を使用して、対応する情報を表現します。楕円形は属性、つまりエンティティの特性を表し、長方形はエンティティ、つまりデータベース内の特定のデータ テーブルを表します。ひし形は実体を表し、相互の関係において、実線部分は主に楕円、長方形、ひし形の接続を完成させます。
(1) 図 4.4 に商品エンティティが持つ属性値を示します。
図 4.4 商品エンティティの属性マップ
(2) 図 4.5 に商品注文主体が持つ属性値を示す。
図4.5 商品注文エンティティの属性図
(3) 図 4.6 に販売者エンティティが所有する属性値を示します。
図 4.6 加盟店エンティティの属性マップ
- 図4.7にユーザーエンティティが持つ属性値を示します。
図4.7 ユーザーエンティティの属性グラフ
- 図 4.8 は、上で紹介したエンティティに存在する関係を示しています。
図 4.8 エンティティ間の関係の ER 図
4. 3 .2 データベースの物理設計
このセクションの主なタスクは、上記の内容に基づいてデータ ストレージ構造を設計することです。エンティティの属性は、フィールド名を表すために使用されます。異なるフィールドによって表されるデータ型と値は異なり、各フィールドが異なるかどうか説明すると、データテーブルの構造を設計した後、保存するときに名前を付ける必要もあります。名前付けと保存には英語の名前を選択するようにしてください。システムエラーを引き起こす可能性があります。次に、設計されたテーブルについて簡単に説明する。
表4.1 配送先住所表
分野 |
ノート |
タイプ |
ヌル |
id (主キー) |
主キー |
int(20) |
いいえ |
ヨンフ_id |
ユーザーを作成 |
int(20) |
いいえ |
住所名 |
受信機 |
varchar(200) |
いいえ |
住所_電話番号 |
電話 |
varchar(200) |
いいえ |
address_dizhi |
住所 |
varchar(200) |
いいえ |
isdefault_types |
デフォルトのアドレスですか |
int(11) |
いいえ |
挿入時間 |
時間を追加する |
タイムスタンプ |
いいえ |
更新時間 |
時間を変更してください |
タイムスタンプ |
いいえ |
作成時間 |
作成時間 |
タイムスタンプ |
いいえ |
表4.2 ショッピングカートテーブル
分野 |
ノート |
タイプ |
ヌル |
id (主キー) |
主キー |
int(11) |
いいえ |
ヨンフ_id |
所属ユーザー |
int(11) |
はい |
商品ID |
商品 |
int(11) |
はい |
購入番号 |
購入数量 |
int(11) |
はい |
作成時間 |
時間を追加する |
タイムスタンプ |
はい |
更新時間 |
更新時間 |
タイムスタンプ |
はい |
挿入時間 |
作成時間 |
タイムスタンプ |
はい |
表4.3 商品一覧表
分野 |
ノート |
タイプ |
ヌル |
id (主キー) |
主キー |
int(11) |
いいえ |
shangjia_id |
商人 |
int(11) |
はい |
商品名 |
商品名 |
varchar(200) |
はい |
グッズ_写真 |
製品写真 |
varchar(200) |
はい |
商品の種類 |
製品タイプ |
int(11) |
はい |
Goods_kucun_number |
コモディティ株 |
int(11) |
はい |
物品_古い_お金 |
元値 |
10 進数(10,2) |
はい |
商品_新しい_お金 |
現在の価格 |
10 進数(10,2) |
はい |
Goods_clicknum |
クリック数 |
int(11) |
はい |
シャンシアタイプ |
棚にありますか |
int(11) |
はい |
グッズ_削除 |
墓石 |
int(11) |
はい |
商品内容 |
製品説明 |
文章 |
はい |
作成時間 |
作成時間 |
タイムスタンプ |
はい |
表4.4 商品評価フォーム
分野 |
ノート |
タイプ |
ヌル |
id (主キー) |
主キー |
int(11) |
いいえ |
商品ID |
商品 |
int(11) |
はい |
ヨンフ_id |
ユーザー |
int(11) |
はい |
Goods_commentback_text |
コメント内容 |
文章 |
はい |
返信テキスト |
返信内容 |
文章 |
はい |
挿入時間 |
評価時間 |
タイムスタンプ |
はい |
更新時間 |
反応時間 |
タイムスタンプ |
はい |
作成時間 |
作成時間 |
タイムスタンプ |
はい |
表4.5 商品注文フォーム
分野 |
ノート |
タイプ |
ヌル |
id (主キー) |
主キー |
int(11) |
いいえ |
Goods_order_uuid_number |
注文番号 |
varchar(200) |
はい |
アドレスID |
お届け先の住所 |
int(11) |
はい |
商品ID |
商品 |
int(11) |
はい |
ヨンフ_id |
ユーザー |
int(11) |
はい |
購入番号 |
購入数量 |
int(11) |
はい |
商品注文宅配便番号 |
追跡番号 |
varchar(200) |
はい |
商品注文宅配便名 |
宅配会社 |
varchar(200) |
はい |
Goods_order_true_price |
実際の価格 |
10 進数(10,2) |
はい |
商品注文タイプ |
注文タイプ |
int(11) |
はい |
商品注文支払いタイプ |
支払いの種類 |
int(11) |
はい |
挿入時間 |
注文作成時間 |
タイムスタンプ |
はい |
作成時間 |
作成時間 |
タイムスタンプ |
はい |
表 4.6 発表情報フォーム
分野 |
ノート |
タイプ |
ヌル |
id (主キー) |
主キー |
int(11) |
いいえ |
ニュース名 |
会報のタイトル |
varchar(200) |
はい |
ニュース写真 |
告知イメージ |
varchar(200) |
はい |
ニュースの種類 |
アナウンスタイプ |
int(11) |
いいえ |
ニュースコンテンツ |
発表内容 |
文章 |
はい |
作成時間 |
作成時間 |
タイムスタンプ |
はい |
表 4.7 加盟店テーブル
分野 |
ノート |
タイプ |
ヌル |
id (主キー) |
主キー |
int(11) |
いいえ |
ユーザー名 |
アカウント |
varchar(200) |
はい |
パスワード |
パスワード |
varchar(200) |
はい |
上家名 |
店の名前 |
varchar(200) |
はい |
シャンジアフォン |
連絡先 |
varchar(200) |
はい |
shangjia_email |
郵便 |
varchar(200) |
はい |
上家_写真 |
営業許可証の表示 |
varchar(200) |
はい |
shangjia_xingji_types |
マーチャントスタータイプ |
int(11) |
はい |
新しいお金 |
既存残高 |
10 進数(10,2) |
はい |
上家_コンテンツ |
販売者のプロフィール |
文章 |
はい |
shangjia_delete |
墓石 |
int(11) |
はい |
作成時間 |
作成時間 |
タイムスタンプ |
はい |
表4.8 管理者テーブル
分野 |
ノート |
タイプ |
ヌル |
id (主キー) |
主キー |
bigint(20) |
いいえ |
ユーザー名 |
ユーザー名 |
varchar(100) |
否 |
password |
密码 |
varchar(100) |
否 |
role |
角色 |
varchar(100) |
是 |
addtime |
新增时间 |
timestamp |
否 |
表4.9 用户表
字段 |
注释 |
类型 |
空 |
id (主键) |
主键 |
int(11) |
否 |
username |
账户 |
varchar(200) |
是 |
password |
密码 |
varchar(200) |
是 |
yonghu_name |
用户姓名 |
varchar(200) |
是 |
yonghu_phone |
用户手机号 |
varchar(200) |
是 |
yonghu_id_number |
用户身份证号 |
varchar(200) |
是 |
yonghu_photo |
用户头像 |
varchar(200) |
是 |
sex_types |
性别 |
int(11) |
是 |
yonghu_email |
电子邮箱 |
varchar(200) |
是 |
new_money |
余额 |
decimal(10,2) |
是 |
create_time |
创建时间 |
timestamp |
是 |
编程人员在搭建的开发环境中,会让各种编程技术一起呈现出最终效果。本节就展示关键部分的页面效果。
5.1 管理员功能实现
5.1.1 公告信息管理
图5.1 即为编码实现的公告信息管理界面,管理员在公告信息管理界面中可以对界面中显示的所有公告信息进行更改,查询,删除。
图5.1 公告信息管理界面
5.1.2 用户管理
图5.2 即为编码实现的用户管理界面,管理员在用户管理界面中可以为本界面显示的所有用户信息进行查询,修改,删除,可以为用户的账号进行重置密码。
图5.2 用户管理界面
5.1.3 商家管理
图5.3 即为编码实现的商家管理界面,管理员在商家管理界面中新增商家,更改商家的营业执照,商家星级信息等,可以删除需要删除的商家信息。
图5.3 商家管理界面
5.1.4 商家星级管理
图5.4 即为编码实现的商家星级管理界面,管理员在商家星级管理界面修改商家星级信息,查询商家星级信息,删除商家星级信息等。
图5.4 商家星级管理界面
5.2 商家功能实现
5.2.1 商品管理
图5.5 即为编码实现的商品管理界面,商家在商品管理界面中为商品的库存进行增加,减少操作,可以上架商品,下架商品以及更改商品信息等。
图5.5 商品管理界面
5.2.2 商品评价管理
图5.6 即为编码实现的商品评价管理界面,商家在商品评价管理界面中查看用户对商品的评价信息,商家需要对商品评价进行回复。
图5.6 商品评价管理界面
5.2.3 商品订单管理
图5.7 即为编码实现的商品订单管理界面,商家在商品订单管理界面中参与商品订单发货,商品订单查询,商品订单删除等操作。
图5.7 商品订单管理界面
5.3 用户功能实现
5.3.1 商家信息
图5.8 即为编码实现的商家信息界面,用户在商家信息界面中查看商家介绍还有商家的营业执照以及商家的星级信息等。
图5.8 商家信息界面
5.3.2 商品信息
图5.9 即为编码实现的商品信息界面,用户在商品信息界面中查看评论,可以直接购买商品。
图5.9 商品信息界面
5.3.3 确认下单
图5.10 即为编码实现的确认下单界面,用户在确认下单界面中可以提交订单,前提是检查购买的物品以及收货的地址信息等是否正确。
图5.10 确认下单界面
5.3.4 商品订单
图5.11 即为编码实现的商品订单界面,用户在商品订单界面中可以退款,可以评价订单以及查看订单详情等。
图5.11 商品订单界面
第6章 系统测试
当系统测试环节开始的时候,也就说明对于系统的编码已经弄得大致通顺了,剩下来需要对一些模块和功能进行测试,这个环节就叫系统测试。在程序开发过程中,系统测试是整个开发过程不能缺少的。原因很简单,系统开发人员在面对各种需求需要对各个模块进行编码,开发人员编写过程中,对于程序的理解全部都在编码里面,一人计短,当一个人去做一些事情的时候,把自己的理解变成成果,有可能理解错误,这个在程序开发过程中很常见。程序开发人员在面对复杂的逻辑,没有想象中的多么清晰,开发过程就是面对着一堆代码,不断的变换数据类型,这些很容易实现程序开发人员的想法,但是如果是比较复杂的逻辑,很可能会出现各种问题,这是无法避免的。所以说,需要额外的人员进行系统测试编写,要站在用户使用的角度去发现问题,这样开发与测试的分离,有助于系统开发的强壮,让程序表达的更完美一些。之所以把系统测试安排到程序开发过程中的原因在于,当测试过程中发现的问题可以最快速度的反馈到程序开发人员手里,可以以最快的时间解决问题。所以必须在系统测试环节做好应该做好的事情,让程序开发从开始到结束都有一个完美的流程。
6.1 功能测试
本节主要选择一些功能进行具体测试描述,在相应的功能里面,根据不同的输入看看能否达到理想中的效果。以下会描述部分功能的测试过程和结果。
6.1.1 登录功能测试
登录是一个常规功能,虽然是常规功能,但是用处很大,可以拒绝非法用户访问,只有合法用户才可以访问对应的功能,这样能保证程序设定的功能符合安全性要求。
表6.1 管理员登录功能测试表
管理员账号 |
管理员密码 |
结果 |
uuu |
uuu |
成功登录系统 |
yyy |
uuu |
登录失败 |
uuu |
yyy |
登录失败 |
只有正确的账号密码才会进行跳转到对应的功能区,如果输入的账号密码不对的话,肯定会有相关提示,用来提示操作人员注意输入正确的账号密码,这样有助于提高用户体验。这里以使用者提交错误的账号为“yyy”,正确的密码为“uuu”为例进行测试,具体反馈结果看下面。
图6.1 登录失败提示
6.1.2 修改密码功能测试
任何用户角色都有安全性要求,那么对应的密码最好是经常更改,只有经常更改才会降低坏人的有机可乘几率,达到密码保护的最低要求,当然,如果用户登录人离开了,为了防止其他人乘机篡改密码,那么也会设定旧密码要求,只有输入正确的旧密码才可以进行密码的修改。下面就是测试过程。
表6.2 修改密码功能测试表
之前的旧密码 |
设置的新密码 |
结果 |
uuu |
yyy |
成功修改密码 |
hhh |
yyy |
修改密码失败 |
uuu |
修改密码失败 |
不管是旧密码错误还是新密码不合规,都会提示相应的要求,下面就是关于旧密码输入错误的提示。
图6.2 错误的旧密码反馈提示
6.2 系统测试结果
对电商平台进行了各种检测,包含功能检测和性能检测,操作性检测,兼容性检测,通过各方面检测结果来判定系统是符合设计目标,并且在扩展性或者是稳定性上面,也有很好的表现,能完全的满足用户需求。
结 论
由于本人学习的是计算机方面的专业,学习了一定的开发知识,因此,对于开发一款已经确定了课题的电商平台,从功能需求,功能模块划分,数据库的选择与设计,编程语言的确定,系统界面的布局和设计等知识,我都有个大致的思路。我运用已经具备的理论知识,加上后期从网络渠道获取的相关技术知识,能够在系统完成开发后期,编写相应的系统文档。
电商平台制作期间,我也遇到过一些难题,模块拆分不够精细,以及数据表需要设计几张表,还有对于开发技术的深度理论学习还不充分等,不过我能够通过网络或者通过学院提供的图书馆寻求解决办法。比如在不知道具体功能的情况下,我从网上下载了很多的与电商平台相关的程序,分析了它们的功能之后,我再结合即将开发的电商平台进行综合分析,选取了适合电商平台的功能部分,再具体模块具体分析,设计专属项目功能。对于数据表的设计,先在图书馆学习,然后查看相似系统对于数据表的结构设计等知识,然后在本系统功能确定的情况下,结合本系统设计了配套的数据表,对于难度最大的开发技术部分,这是需要大量时间调试的,一般都是对基础数据的增加,更新,查询或修改方面的代码,然后把本系统能够运用的代码部分在简单更改后进行使用,又经过了简单的测试工作,最终呈现出一个完整的能够解决用户实际问题的电商平台。该系统唯一不足的就是代码方面还有很多重复的部分,不够精简,还有用户操作本系统,对于用户的误操作行为,本系统还不能及时反馈,这也是一大缺点。
电商平台完成了,其相应的配套文档也需要进行编写,该文档主要描述电商平台是如何进行分析,设计以及实现的,让其他阅读本文档的人增加对该系统的了解,编写文档过程中,由于自己平时对于办公软件的操作不是很频繁,根据学院要求的文档排版格式进行编辑也花了很多时间,在不断学习排版技巧以及对本系统配套文档的反复修改之后,最终在学院规定的时间内进行了文档定稿。
毕业项目各个工作进行到此,我也是收获颇丰,正因为自己努力学习知识,积极寻求解决办法,才让我能够提交一个完整的作品。制作毕业项目让我又得到了成长,不仅是专业知识的增加,也学到了解决问题的能力和方法。
参考文献
[1]常佳宁,潘琳.一种基于B/S的网上购物系统设计[J].中国科技信息,2021,(15):71-72.
[2]胡小春,胡凯,陈燕.基于Java的网上购物系统研发[J].信息技术与信息化,2021,(01):18-21.
[3]余涛.计算机软件开发中Java编程语言的应用研究[J].信息记录材料,2020,21(01):113-115.
[4]王子虎,胡丽珍.基于计算机软件安全开发的JAVA编程语言研究[J].数字技术与应用,2019,37(12):133-134.
[5]刘星淇.Java编程语言的特点与应用分析[J].通讯世界,2019,26(09):149-150.
[6]张云健.计算机软件Java编程特点及其技术应用[J].信息与电脑(理论版),2019(13):97-98.
[7]张振超,吴杰,陈序蓬.浅谈Java中Mysql数据库的连接与操作[J].信息记录材料,2020,21(02):144-145.
[8]范开勇,陈宇收.MySQL数据库性能优化研究[J].中国新通信,2019,21(01):57.
[9]丁佳.基于JSP+MySQL的用户登录系统SQL注入实例及防范[J].网络安全技术与应用,2020(09):49-51.
[10]王丹,孙晓宇,杨路斌,高胜严.基于SpringBoot的软件统计分析系统设计与实现[J].软件工程,2019,22(03):40-42.
[11]张峰.应用SpringBoot改变web应用开发模式[J].科技创新与应用,2017(23):193-194.
[12]谢志坚.计算机应用软件开发技术支撑思考[J].电子世界,2020(15):53-54.
[13]姬晓鹏.计算机软件开发技术与设计探究[J].电子测试,2020(16):133-134.
[14]Raffi Khatchadourian.Automated refactoring of legacy Java software to enumerated types[J].Automated Software Engineering,2017,24(4).
[15]Ben White.Marx and Chayanov at the margins:understanding agrarian change in Java[J].The Journal of Peasant Studies,2018,45(5-6).
致 谢
也许是大学校园在管理上比较开放,学习知识时不像高中时期那样一整天都在学习,而是一天当中抽出部分时间安排学习,其余的时间就可以自由安排,可以去社会上参加实践,可以在学校的图书馆阅读书籍,丰富自己的知识,也可以加入学校的社团进行个人能力的锻炼等等,加上学院的学生都来自全国各地,大家的风俗习惯都有些不一样,这样同学之间也有更多的话题进行畅聊。基于这些原因,我觉得我的性格也逐渐变得开朗起来,正因为如此,我很快乐的度过了大学四年时光。然而,我们都要面临毕业,同学间,师生间也将面临分离,我们都会离开学校,进入社会这样的大环境学习并生活。虽然很不舍,但这也是人生成长中必经的阶段!
临走之际,对这几年的大学生活简单的进行了回想,发现自己学到的专业知识也增加了很多,在本专业上,自己也得到了一定的实操能力锻炼。这些成长都是我们的专业老师带来的,他们这几年辛苦教学,我们也从中获取了许多的专业知识,提高了个人的专业方面的能力,非常感谢他们。
还有一位老师也需要在此特别感谢,即论文指导老师。可以说最后这一年,跟指导老师接触比较多,指导老师在本专业上,非常全能,在我进行本课题的任务期间,导师给予我全面的指导,也能根据我的不足之处推荐合适的书籍让我查看,让我的能力得以提升,继而可以从容面对开发期间遇到的困难。
另外,我也要感谢我的寝室室友,还有我们班上的同学,从接到毕业项目任务之后,我们常常谈论各自课题进展的情况以及面临的问题,也经常互相鼓励对方要积极认真面对毕业项目,这种陪伴,让我在制作毕业项目期间并没有产生过多的焦虑,非常感谢他们。
最后时刻,我也要对我的大学校园表达谢意,我的大学校园是一个非常美丽的地方,而我这几年,在这么优美的环境下学习知识,我已经感到非常幸福。希望在今后能看到我的校园在众多师生共同努力下变得强大,校园的环境也将变得更加美丽。