目次
1 はじめに
1.1 プロジェクトの背景
多くの親は自分の子供が良い人になってほしいと願っていますが、実際の子育て方法は期待に応えられないことがよくあります。これは、これらの親が主に自分の親の教育方法に従って子供を教育するため、あまり良くない方法が受け継がれ、受け継がれていることが原因である可能性があります。たとえば、子供たちの間違った行動を罰するために体罰を行う親もいますが、これは身体的な危害だけでなく精神的なトラウマを引き起こす可能性があるため、今日の社会では容認できません。さらに、親の中には、自分の期待に沿って子供に職業や勉強の方向を選択するよう強制する人もいますが、これは子供の自己啓発や独立した思考能力には役に立ちません。社会的および文化的背景によっては、親が子供の感情的および精神的健康を無視しながら、子供の功利的な価値をより重視する場合があります。
親は、子供のニーズや性格を真に理解するのではなく、メディアや周囲の人々の認識や期待に影響される可能性があります。上記の問題について、多くの親は自分の教育方法に問題があるかもしれないと感じているかもしれませんが、自分の視力や知識の蓄えが限られているため、日常生活で子供とコミュニケーションをとるより効率的な方法を見つけることができません。
質問:
1. 親は家庭教育の知識と経験が不足しており、子供と効果的にコミュニケーションを取り、教育する方法を知りません。
2. 保護者が問題を認識している場合もありますが、通常の教育における質の高い教育を忘れて、以前の教育方法に戻りがちであり、子供たちに悪影響を及ぼします。
1.2 家庭教育プラットフォームの開発状況とメリット
1.2.1 国内外の開発状況
市場規模と成長: 社会の教育レベルが継続的に向上するにつれて、親は子供の教育にますます注意を払うようになりました。家庭教育市場の継続的な発展に伴い、この市場の規模も拡大しています。関連データによると、世界の家庭教育市場は1,000億米ドルを超え、この市場の年間成長率は10%にも達します。
「我が国には 3 歳から 18 歳までの子どもが多くおり、家庭教育市場には大きな潜在力があります。教育省が発表した 2021 年の教育統計によると、幼稚園、小学校、中学校の生徒数は約 2 億 5,000 万人になると予想されています」 2021年の私の国には、幼稚園児が4,805万2,100人、小学生が1億8,000人、中学生が5,018万4,400人、普通高校の生徒が2,605万3,000人、中等専門学校の生徒が1,311万8,100人いた。
現在、市場には、6q Education Zhile Planet Little Elephant Academy など、心の知能指数と家族教育に特化した機関が増えています。これらの機関は基本的に、独自のライブオンライン教育プラットフォームに使用されています。しかし、これらのオンラインプラットフォームは単一の教育機関による教育のみに使用されており、サービスが不完全で、運営保守コストが高く、宣伝効果も乏しいです。私たちのプラットフォームは、オンラインのプロ家庭教師によるマンツーマン指導、豊富な家庭教育リソースや教材、教育経験や教育リソースを共有する専用の保護者コミュニティなど、さまざまなサービスを提供できます。コミュニティの保護者を通じて同じ考えを持つ人を見つけて、オフラインの親子アクティビティやコースの予約を取ることができます。
1.2.2家庭教育プラットフォームの利点
1) 包括的なプラットフォーム: 私たちのプロジェクトは、家族教育リソース、家族教育インストラクター、家族教育相談、親フォーラムなどの複数のモジュールをカバーし、ユーザーに包括的な家族教育プラットフォームを提供します。ユーザーは、1 つのプラットフォーム上でさまざまなリソースを入手し、専門家の指導を受け、経験を交換し、意見を共有することができます。
2) 豊富なリソース: 家族教育リソース モジュールを通じて、教育書籍、コース教材、教育ゲームなどを含む豊富な家族教育リソースを提供します。ユーザーは、自分の家族の教育ニーズに適したリソースを簡単に検索、フィルタリングし、入手できます。
3) 専門のインストラクター チーム: 家庭教育インストラクター モジュールは、ユーザーに専門の家庭教育インストラクター サービスを提供します。ユーザーは講師の資格や講座情報を閲覧し、自分のニーズに合った講師を選んで相談・指導を受けることができます。
4) 個別のコンサルティング サービス: 家族教育コンサルティング モジュールは、個別のコンサルティング サービスを提供します。ユーザーは上級コンサルタントと1対1のコミュニケーションや相談ができ、的を絞ったアドバイスや指導を受け、家庭教育における問題や混乱を解決することができます。
5) 知識交換プラットフォーム: 親フォーラム モジュールは、ユーザーが投稿を投稿し、経験や意見を共有し、他の親と対話して議論し、コミュニティとネットワークのサポートを構築できるオープンなコミュニケーション プラットフォームをユーザーに提供します。
包括的なプラットフォーム、豊富なリソース、専門的な指導、個別の相談、知識交換などの利点を通じて、私たちのプロジェクトはユーザーにあらゆる範囲の家族教育サポートとサービスを提供します。ユーザーが家族教育をより適切に管理および開発し、家族教育の質と効果を向上できるように支援します。
2. 需要分析
この章では主に、本稿で開発するプラットフォームの実現可能性分析、システム機能要件記述、システム要件分析を行います。
2.1 実現可能性の分析
2.1.1 経済的実現可能性
このプラットフォームは Web サイトです。開発プロセスで使用されるテクノロジ、フレームワーク、およびツールのほとんどは無料です。開発プロセスにはパーソナル コンピュータが使用され、他の特別な機器は必要ありません。Tencent Cloud データベースの使用のみが必要です。一定の手数料がかかるため、経済的な観点から分析することが可能です。
2.1.2 技術的な実現可能性
この教育プラットフォームは、プラットフォーム実装に使用するテクノロジーの観点から、フロントエンドとバックエンドを分離した開発モデルを採用しており、フロントエンドはvueページ、バックエンドはspringboot+springcloudフレームワークを使用しています。nginx を使用して、リバース プロキシ、Alibaba Cloud データベース、Linux 上へのデータベースの配置などのテクノロジーを実装します。したがって、システム技術の分析から、プラットフォームの実現は可能です。。
2.1.3 運用の実現可能性
このプラットフォームのユーザー ID は、ユーザー、販売者、管理者に分かれています。プラットフォームに参加したいユーザーは、登録してログインするだけで、簡単なページ操作で需要または供給を投稿できます。マーチャントは一般ユーザーに基づいて注文処理や商品のリリースなどの機能を実行でき、操作プロセスは比較的単純です。プラットフォームバックグラウンド管理者は、ユーザーのリクエストをレビューし、プラットフォームのセキュリティを確保する責任を負い、運用プロセスでは、ユーザー操作のセキュリティと情報の正確性のみを確認する必要があり、プラットフォームバックグラウンド管理者は一定のトレーニングを実施します。したがって、プラットフォームの操作性を分析することも可能です。
2.2 システム機能
2.2.1家庭教育リソース
保護者は、コースビデオ、オンライン学習教材、教育ツールなどを含む、このモジュールで豊富な教育リソースを参照して入手できます。保護者は、子供の学習状況に応じて学習に適切なリソースを選択できます。プラットフォーム管理者は、モジュールで教育リソースを管理できます。バックグラウンドでアップロードして公開します。
2.2.2家庭教育指導員
保護者は、このモジュールで適切な家庭教育インストラクターを参照して選択できます。保護者は、家庭教育インストラクターが提供するサービスの予約を行うことができます。インストラクターは、このモジュールで、予約ステータスの確認、予約の受け入れ、拒否などの独自の予約サービスを管理できます。予定など。
2.2.3 家庭教育相談
保護者はこのモジュールで教育に関する質問をすることができ、プロの教育コンサルタントがこのモジュールで保護者の質問に答えることができ、保護者は自分のニーズに応じて相談するプロのコンサルタントを選択することができます。
2.2.4親フォーラム
保護者は、このモジュールでコミュニケーションやディスカッションをしたり、自分の教育経験を共有したり、自分で質問したりできます。保護者はフォーラムで他の保護者の質問に答え、他の保護者に支援を提供できます。プラットフォーム管理者はバックグラウンドでフォーラムを管理できます。
(a)役割: フォーラムには、管理者、モデレーター、親、機関の 4 つの役割が含まれます。管理者とモデレーターは投稿とコメントを確認して管理し、保護者と教育機関は投稿とコメントを作成してディスカッションに参加します。
(b)機能:フォーラムでは、投稿の作成、投稿への返信、「いいね!」、共有、検索など、保護者と教育機関がコミュニケーションやディスカッションを行うのに便利な機能を提供します。同時に、フォーラムは、フォーラムの品質と秩序を確保するために、通知、プライベートメッセージ、レポート、その他の機能も提供します。
2.3プロジェクトに関わるビジネスプロセス
2.3.1 家庭教育リソースモジュール
1. 保護者が教育リソースを閲覧して入手する
- 家族教育リソース モジュールに入り、検索または参照して必要なリソースを見つけます。
- リソースの説明の表示、プレビュー、リスニングなどにより、リソースの内容と品質を理解します。
- リソースを無料で購入または使用することを選択し、支払いが必要な場合は支払い方法を選択できます。
- リソースを収集したら、学習して使用します。
2. 親が学習に適したリソースを選択する
- 年齢や主題に適したリソースを選択するなど、お子様の学習に基づいて学習する適切なリソースを検索または参照して見つけます。
- 保護者は、後で簡単に見つけて使用できるように、リソースを分類してラベルを付けることができます。
3. 保護者からの評価とフィードバック
- 保護者は、他の保護者が参照できるように、リソースを評価したり、コメントを残すなど、使用した教育リソースを評価してフィードバックを与えることができます。
- このプラットフォームは、保護者からのフィードバックに基づいてリソースを最適化および改善できます。
4. プラットフォーム管理者は教育リソースをアップロードして公開します
- プラットフォーム管理者は、リソース名、説明、分類、タグなどの情報の入力を含む、教育リソースをバックグラウンド管理システムにアップロードして公開できます。
- 管理者は、アップロードされたリソースをレビューし、レビューに合格した後に公開し、リソースの削除、編集、削除などの操作を実行する必要があります。
2.3.2 家庭教育インストラクターモジュール
家庭教育インストラクターモジュールに入ると、保護者はインストラクターの個人情報やサービス内容を閲覧し、お子様に合ったインストラクターを選択することができます。
- 予約サービス:保護者様がインストラクターのサービスを予約し、サービス時間や内容を選択していただけます。
- 予約サービスの管理: 講師は、予約ステータスの表示、予約の受け入れ、予約の拒否など、このモジュールで独自の予約サービスを管理できます。保護者がインストラクターのサービスを予約すると、インストラクターはシステム通知を受け取り、モジュールで予約ステータスを確認できます。
- 予約の受付: インストラクターは、予約情報で保護者のニーズとサービス時間を確認し、予約を受け入れ、自分のスケジュールとサービス能力に従って保護者にサービスの詳細を確認することができます。
- 予約の拒否:インストラクターが保護者に必要なサービスを提供できない場合、またはサービス時間が満席の場合、インストラクターは保護者に理由を説明して予約を拒否することができます。
2.3.3 家庭教育相談モジュール
- 親が教育的な質問をする: このモジュールでは、親が自分自身の教育的な質問をします。子供の自信を育む方法、子供に数学を教える方法など、家庭教育に関連する質問であれば何でも構いません。
- コンサルタントは質問を受け取ります: 専門の教育コンサルタントは、このモジュールで保護者から提起された質問を確認し、回答することを選択できます。コンサルタントが質問にどう答えるべきかわからない場合は、他のコンサルタントやプラットフォーム管理者に相談できます。
- カウンセラーが質問に回答します: このモジュールでは、カウンセラーが保護者からの質問に回答します。回答には、テキスト応答、音声またはビデオ応答を使用できます。
- 保護者がコンサルタントを選択する: 保護者は、このモジュールで相談する必要がある専門のコンサルタントを選択できます。コンサルタントのプロフィール、レビュー、実績を確認して決定できます。
- 相談サービスの実施:保護者はコンサルタントを選択した後、そのコンサルタントと相談サービスを実施できます。コンサルティング サービスは、インスタント テキスト チャット、電話、ビデオ会議などの形式で行うことができます。このプロセス中、カウンセラーは個別のアドバイスや指導を提供します。
- コンサルティング サービスを評価する: コンサルティング サービスが完了したら、保護者はこのモジュールでサービスの品質、コミュニケーション効果、態度などの側面の評価を含め、カウンセラーのサービスを評価できます。これらのレビューは、他の親が適切なカウンセラーを選ぶのに役立ちます。
2.3.4 親フォーラムモジュール
- 保護者がフォーラム モジュールに入ると、既存の投稿のリストと投稿ボタンが表示されます。
- 投稿ボタンをクリックして投稿ページに入り、タイトルと内容を入力し、適切なカテゴリを選択します。
- 送信ボタンをクリックすると、投稿情報が保存され、投稿リストに追加されます。
- 他の保護者は新しい投稿を表示し、クリックして入力した後、その投稿に返信したり、返信に「いいね!」をしたりすることができます。
- 既存の投稿を検索して返信を表示できます。
- プラットフォーム管理者は、バックグラウンドでのフォーラムの管理、投稿内容の確認、準拠していない投稿や返信の削除、投稿の分類やピン留め機能の管理などを行うことができます。
2.4データディクショナリとデータフロー図
2.4.1 データフロー図
ユーザーログインインターフェースのデータフロー
ユーザー ログインのデータ フローには次の手順が含まれます。
ユーザーはクライアント側でユーザー名とパスワードを入力し、クライアントはこれらのログイン認証情報をサーバー側に送信します。サーバー側はユーザー資格情報の有効性を検証し、サーバー側でログイン資格情報 (セッション ID やトークンなど) を生成して保存します。次に、サーバーは応答としてログイン資格情報をクライアントに送り返します。クライアントはログイン認証情報を受信すると、それをローカルに保存します。後続のリクエストでは、クライアントはユーザーの身元を証明するためにリクエストにログイン資格情報を含めます。サーバーはログイン認証情報を含むリクエストを受信すると、認証情報の有効性を検証し、ユーザーの権限に従って対応する操作を実行するか、対応するデータを返します。ユーザーはログアウトするまで操作を続行できますが、この時点でクライアントはログアウト要求をサーバーに送信し、サーバーはログイン資格情報を削除してユーザー セッションを終了します。ユーザーはログイン ページまたはホームページにリダイレクトされ、ログアウト操作を完了します。このプロセスにより、ユーザー ID の安全な検証が保証され、ユーザーはシステム内で関連する操作を実行できるようになります。
家族教育リソースモジュールのプロセス
家庭教育リソース モジュールを使用するプロセスは次のとおりです。
ユーザーは Web ページ システム プラットフォームを開き、自分のアカウントにログインします。メイン インターフェイスでは、ユーザーはナビゲーション バーやメニューなどの家族教育リソース モジュールの入り口を見つけることができます。ユーザーがクリックしてこのモジュールに入ると、さまざまな家庭教育リソースの分類、検索ボックス、または推奨コンテンツが表示されます。ユーザーは、自分のニーズに応じてリソース分類で興味のあるトピックやタイプを選択したり、検索ボックスにキーワードを入力して特定のリソースを検索したりできます。ユーザーの選択と検索基準に従って、システムは教育記事、ビデオ、コースなどの関連する家族教育リソースを表示します。ユーザーはリソースのタイトルまたはサムネイルをクリックして、作成者、紹介、評価などのリソースの詳細情報をさらに表示できます。ユーザーが特定のリソースに興味がある場合、後で表示または参照できるように、それをブックマークするか、個人のブックマークに追加するかを選択できます。ユーザーは、リソースの下にメッセージやコメントを残したり、フォーラムで関連するディスカッションを開始したりするなど、他のユーザーと通信したり共有したりすることもできます。さらに、ユーザーは、ニーズや興味に応じて、記事、コース、推奨参考文献などの独自の家族教育リソースをプラットフォームに送信することもできます。
家庭教育指導員の任命相談の流れ
家庭教育指導員が相談予約をするまでのデータの流れは以下の通りです。
ユーザは、ウェブシステムプラットフォームにログインし、家庭教育インストラクターモジュールを閲覧する。ユーザーは、さまざまな講師のリストを参照して、各講師のプロフィール、専門分野、経験などの情報を表示できます。ユーザーは自分のニーズや好みに応じて適切な講師を選択できます。講師を選択した後、講師の詳細プロフィールページに入り、講師の空き時間帯や相談料金などを確認することができます。ユーザーは適切な時間帯を選択して予約相談を行うことができます。相談予約の際には、利用者は予約日時、相談内容などの情報を提供する必要があります。ユーザーは、相談料金をオンラインで支払うか、その他の支払い方法を選択することができます。予約が成功すると、システムはユーザーに確認メッセージを送信し、講師に予約の詳細を通知します。家庭教師は予約時間に相談を受け付け、利用者に応じた家庭教育指導や支援を行う。ユーザーと講師は、オンラインチャット、ビデオ会議、電話を通じて相談したり、コミュニケーションしたりできます。相談後、ユーザーは講師のサービスについて評価やコメントをすることができます。
親フォーラムモジュールのプロセス
親フォーラムのデータ フローは次のとおりです。
ユーザーは Web システム プラットフォームにログインした後、親フォーラム モジュールに移動します。親フォーラムでは、ユーザーはさまざまなトピック セクション、投稿、コメントを参照できます。ユーザーは、人気の投稿、最新の投稿を表示したり、キーワードに基づいて興味のあるコンテンツを検索したりすることができます。ユーザーが特定の投稿の表示を選択すると、クライアントはサーバーにリクエストを送信して、投稿の詳細情報、コメント リスト、および返信を取得します。リクエストを受信した後、サーバーはデータベースから対応するデータを取得し、そのデータを応答としてクライアントに送り返します。クライアントは受信した投稿内容、投稿者情報、コメント一覧などのデータをユーザーに表示します。ユーザーは、投稿に「いいね!」をしたり、ブックマークしたり、コメントしたり、他のユーザーのコメントに返信したりできます。ユーザーがコメントまたは返信を送信すると、クライアントはユーザーが入力した内容をリクエスト データにカプセル化し、サーバーに送信します。リクエストを受信した後、サーバーはコメントまたは返信をデータベースに保存し、対応する通知を生成します。他のユーザーが投稿に「いいね」をしたり、コメントしたり、返信すると、サーバーは対応する通知を関連ユーザーにプッシュします。プロセス全体の目的は、ユーザーが親フォーラムに参加し、投稿を公開し、コメントしてコミュニケーションし、ユーザー間の交流と知識の共有を実現するためのプラットフォームを提供することです。
2.4.2 データ要件とデータディクショナリ
1. 家庭教育リソースのデータ要件
(a)データ項目: 家庭教育リソースには、リソース ID、リソース名、リソース タイプ、リソースの説明、リソース ファイル、リソース ラベル、アップロード時刻などのデータ項目が含まれます。
(b)データ構造: 家族教育リソースは、リソース ID、リソース名、リソース タイプ、リソースの説明、リソース ファイル、リソース タグ、アップロード時間などのフィールドを含むリソース情報構造を使用して保存されます。
(c)データ フロー: 保護者はリソースをアップロードし、リソース情報を入力でき、システムはリソース情報を保存します。保護者はリソース リストを参照して、表示するリソースを選択できます。
(d)データの保存: 家族教育リソースは、リソース ID、リソース名、リソース タイプ、リソースの説明、リソース ファイル、リソース タグ、アップロード時間などのフィールドを含むリソース情報テーブルに保存されます。
(e)処理プロセス: 家族教育リソースは、ユーザー エクスペリエンスとリソースの品質を向上させるために、分類アルゴリズム、推奨アルゴリズム、自然言語処理などのいくつかのアルゴリズムとテクノロジーを使用して処理できます。さらに、リソースを監査および管理して、リソースのセキュリティと信頼性を確保することもできます。
2.家庭教育指導員相談データ要件
(a) データ項目:保護者からの質問と専門の教育コンサルタントによる回答。質問内容、回答内容、質問時間、回答時間、保護者ID、コンサルタントIDなど。
(b)データ構造:保護者からの質問と専門の教育コンサルタントによる回答は、リレーショナル データベースを使用して保存および管理されます。
(c) データ フロー: 保護者が質問する: プラットフォームにログインして質問を送信すると、システムが質問を保存し、教育コンサルタントが質問に回答します: 保護者が回答リストを確認します。
(d) データ格納:質問回答テーブル:質問ID、質問内容、質問時間、保護者ID、回答内容、回答時間、教育相談員ID
(e) データ処理:保護者からの質問の種類や内容に応じて、プラットフォームが最適な教育コンサルタントをマッチングし、対応する質問を教育コンサルタントにプッシュすることで、教育コンサルタントの回答効率を向上させます。同時に、このプラットフォームは、保護者の質問履歴と教育コンサルタントの回答履歴に基づいてインテリジェントな推奨事項を作成し、よりパーソナライズされたサービスを提供します。さらに、このプラットフォームは自然言語処理テクノロジーを使用して、保護者が提起した質問を自動的に分類およびラベル付けするため、保護者や教育コンサルタントは対応する質問をすぐに見つけることができます。
3. 親フォーラムのデータ要件
(a)データ項目: フォーラムには、投稿、コメント、いいね、共有、検索履歴、通知、プライベート メッセージ、レポートなどのデータ項目が含まれます。
(b)データ構造: 投稿とコメントはツリー構造で保存および表示され、いいねとシェアはリレーショナル データベースに保存されます。
(c)データフロー: 保護者や教育機関は投稿やコメントを作成することで自分の意見や質問を公開することができ、他のユーザーは投稿やコメントに返信したり、「いいね!」をしたり、共有したりすることができます。管理者とモデレーターは、投稿やコメントを確認、削除などして管理できます。
(d)データストレージ: フォーラムは、データのセキュリティと信頼性を確保するために、クラウドストレージを使用して投稿、コメント、いいね、シェアなどのデータを保存します。
(e)処理プロセス: フォーラムは、フィルタリング、レビュー、推奨などを含む投稿とコメントを処理するために一連のアルゴリズムとテクノロジーを使用します。同時に、フォーラムでは機械学習や自然言語処理などのテクノロジーも使用して、ユーザーエクスペリエンスとフォーラムの品質を最適化します。
1) 家庭教育リソースモジュールのデータ構造
2) 家庭教育指導者相談モジュールのデータ構造
3) 親フォーラムモジュールのデータ構造
4) ユーザー(User)のデータ構造
5) 管理者(Administrator)のデータ構造
3.全体のデザイン
3.1 データベース設計
3.1.1 概念設計
1. 家族教育リソースモジュール:
- リソース テーブル (リソース): リソース ID、タイトル、説明、アップロード者、アップロード時間、その他のフィールドなどの家族教育リソースの情報が保存されます。
- タグ テーブル (タグ): リソースのタグ情報を保存します。タグ ID、タグ名、その他のフィールドなど、リソース テーブルに関連付けることができます。
2. 家庭教育インストラクターモジュール:
- 講師テーブル (Tutor): 家庭教育講師の情報 (講師 ID、名前、連絡先、資格、その他のフィールドなど) を保存します。
- コース (コース): インストラクターによって提供されたコース情報を保存します。これは、コース ID、インストラクター ID、コース名、コースの説明、その他のフィールドなど、インストラクター テーブルに関連付けることができます。
3. 家族教育相談モジュール:
- コンサルタントテーブル (コンサルタント): コンサルタント ID、名前、連絡先情報、資格、その他のフィールドなど、家庭教育コンサルタントの情報を保存します。
- 相談記録テーブル(相談):相談者と保護者との間の相談記録を保存し、レコードID、相談者ID、保護者ID、相談時間、相談内容などのフィールドを相談者テーブルと親テーブルに関連付けることができます。
4. 親フォーラムモジュール:
- ユーザー テーブル (ユーザー): ユーザー ID、ユーザー名、パスワード、電子メール、その他のフィールドなどのユーザー (親) 情報を保存します。
- フォーラム投稿テーブル (Post): ユーザーが公開した投稿情報を保存し、投稿 ID、ユーザー ID、タイトル、内容、投稿時間、その他のフィールドなどのユーザー テーブルに関連付けることができます。
- コメント テーブル (コメント): 投稿に関するユーザーのコメント情報を保存します。コメント ID、投稿 ID、ユーザー ID、コメントの内容、コメント時刻、その他のフィールドなど、投稿テーブルとユーザー テーブルに関連付けることができます。
ER図は次のとおりです。
この設計では、システムを家族教育リソース モジュール、家族教育インストラクター モジュール、家族教育相談モジュール、親フォーラム モジュールの 4 つのモジュールに分割します。
家族教育リソース モジュールでは、リソースのタイトル、説明、アップローダー、アップロード時間などの家族教育リソースの情報を保存する必要があります。さらに、ユーザーがラベルに従ってフィルタリングおよび検索できるように、リソースのラベル情報を保存するラベル テーブルも必要です。
家庭教育講師モジュールは、講師の名前、連絡先情報、資格などの講師の情報を保存する必要があります。さらに、コースの名前や説明など、講師から提供されたコース情報を保存するクラス テーブルも必要です。
家族教育コンサルティング モジュールでは、コンサルタントの名前、連絡先情報、資格などのコンサルタントの情報を保存する必要があります。また、相談時間や相談内容など、相談員と保護者との間の相談記録を記録するための相談記録用紙も必要となります。
最後に、親フォーラム モジュールに、ユーザー名、パスワード、電子メールなどを含むユーザー (親) 情報を保存する必要があります。さらに、投稿のタイトル、内容、公開時刻など、ユーザーが公開した投稿情報を保存するフォーラム投稿テーブルも必要です。同時に、投稿に対するユーザーのコメントを保存するためのコメント テーブルも必要です。
3.1.2 論理設計
1. ユーザー管理:
- ユーザー登録:ユーザーは必要な情報(ユーザー名、パスワード、メールアドレスなど)を提供して登録できます。
- ユーザーログイン: 登録ユーザーはユーザー名とパスワードを使用してログインできます。
- ユーザー権限管理: ユーザーのアイデンティティと役割に応じて権限管理を実行し、ユーザーがアクセスできる機能とデータを決定します。
2. 家族教育リソースモジュール:
- リソースの閲覧: ユーザーは家庭教育リソースを閲覧および検索でき、タグ、キーワード、またはその他の条件でフィルタリングできます。
- リソースのアップロード: ユーザーは家族教育リソースをアップロードし、タイトル、説明、タグなどの対応する情報を提供できます。
- リソースのダウンロード: ユーザーは必要な家族教育リソースをダウンロードできます。
3. 家庭教育インストラクターモジュール:
- 家庭教師の閲覧: ユーザーは家庭教育講師のリストを参照して、基本情報と資格を取得できます。
- コースの閲覧: ユーザーは、コースのタイトル、説明、その他の関連情報を含む、講師が提供するコースのリストを表示できます。
- コース予約: ユーザーは興味のあるコースを予約し、関連する予約情報を提供できます。
4. 家族教育相談モジュール:
- コンサルタントの閲覧: 家庭教育コンサルタントのリストを閲覧して、基本情報や資格を取得できます。
- 相談予約:ユーザーは、相談日時、相談内容などの関連する予約情報を提供して、コンサルタントとの相談予約を行うことができます。
- 相談記録:カウンセラーと保護者との間の相談時間、相談内容、フィードバックなどの相談記録を記録します。
5. 親フォーラムモジュール:
- フォーラム投稿の閲覧: ユーザーは、投稿のタイトル、内容、公開時刻など、フォーラム上の投稿リストを閲覧できます。
- 投稿: ユーザーは、タイトル、コンテンツ、関連タグを含む自分の投稿を公開できます。
- 投稿へのコメント: ユーザーは他のユーザーの投稿にコメントし、コミュニケーションやディスカッションを行うことができます。
3.1.3 物理設計
- 家族教育リソース表 (EducationalResource):
- 主キー インデックス: ResourceID。各リソースを一意に識別するために使用されます。主キー インデックスのデフォルトは、一意の非 null インデックスです。
- 外部キー インデックス: UploaderID。ユーザー テーブルの ID フィールドに関連付けられます。外部キー インデックスを使用すると、アップローダー ID によるリソースのクエリ操作を高速化できます。
- 全文インデックス作成: タイトル、説明、タグ、リソースのタイトル、説明、タグの全文インデックス作成により、より高速で正確な全文検索機能をサポートします。
- 家庭教育インストラクターリスト (EducationalGuide):
- 主キー インデックス: 講師 ID。各講師を一意に識別するために使用されます。
- コーススケジュール:
- 主キー インデックス: コース ID。各コースを一意に識別するために使用されます。
- 外部キー インデックス: 家庭教育講師テーブルの ID フィールドに関連付けられている講師 ID。外部キー インデックスを使用すると、講師 ID によるコースのクエリの操作を高速化できます。
- 家庭教育相談員一覧(教育相談員):
- 主キー インデックス: コンサルタント ID。各コンサルタントを一意に識別するために使用されます。
- カウンセリング記録:
- 主キーインデックス: 各相談レコードを一意に識別するために使用されるレコード ID。
- 外部キー インデックス: 家庭教育コンサルタント テーブルとユーザー テーブルの ID フィールドに関連付けられたコンサルタント ID、親 ID。外部キー インデックスを使用すると、カウンセラー ID と親 ID を使用してカウンセリング記録をクエリする操作を高速化できます。
- ユーザーテーブル (ユーザー):
- 主キー インデックス: ユーザー ID。各ユーザーを一意に識別するために使用されます。
- フォーラム投稿テーブル (ForumPost):
- 主キー インデックス: 投稿 ID。各投稿を一意に識別するために使用されます。
- 外部キー インデックス: ユーザー テーブルの ID フィールドに関連付けられたユーザー ID。外部キー インデックスを使用すると、ユーザー ID による投稿のクエリ操作を高速化できます。
- コメントフォーム(コメント):
- 主キー インデックス: コメント ID。各コメントを一意に識別するために使用されます。
- 外部キー インデックス: ユーザー テーブルとフォーラム投稿テーブルの ID フィールドに関連付けられたユーザー ID、投稿 ID。外部キー インデックスを使用すると、ユーザー ID と投稿 ID によるコメントのクエリ操作を高速化できます。
3.1.4サブスキーマの設計
3.2 システム機能設計
3.2.1. システム構成設計とサブシステム分割
以下は、プロジェクトの全体構造と、さまざまな機能モジュール間の相互呼び出し関係と情報のやり取りを示す簡単な階層図の例です。
上の階層図では、システムを 4 つの主要なモジュールに分割しています。家族教育リソース モジュール、家庭教育インストラクター モジュール、家族教育相談モジュール、親フォーラム モジュールです。各モジュールの下には、そのモジュールに関連付けられた機能サブモジュールがリストされています。
異なるモジュール間には相互呼び出し関係と情報のやり取りがあります。
- 家族教育リソースモジュールは、家族教育インストラクターモジュールと家族教育相談モジュールによって使用されるリソース検索機能を提供することができる。
- 家庭教育インストラクターモジュールと家庭教育相談モジュールは、関連する教育リソースを取得するために、家庭教育リソースモジュールの機能を呼び出す必要がある。
- 親フォーラム モジュールは、フォーラム投稿の家族教育リソース モジュール内のリソース リンクを引用したり、コンサルティング サービスでフォーラム投稿検索機能を提供したりするなど、他のモジュールと対話できます。
3.2.2 システム機能モジュールの設計
家族教育リソースモジュールの設計
入力:
- ユーザーの検索キーワード
- ユーザーがアップロードした教育リソース
- ユーザーのダウンロードリクエスト
対処する:
- リソース管理: アップロードされた教育リソースを分類、保存、管理します。
- リソース検索: ユーザーが指定したキーワードに基づいてリソースを検索します。
- リソースのアップロード/ダウンロード: ユーザーがアップロードしたリソース ファイルを処理し、ダウンロード機能を提供します。
出力:
- 検索結果: ユーザーの検索キーワードに従って、関連する教育リソースのリストを返します。
- ファイルのダウンロード: ダウンロードに必要な教育リソース ファイルをユーザーに提供します
上記の IPO 図では、ユーザーが検索キーワードを入力してリソース検索モジュールに処理を渡し、モジュールはキーワードに従って該当するリソースを検索し、検索結果をユーザーに返します。
さらに、ユーザーはリソース ファイルをアップロードでき、リソース管理モジュールはアップロードされたリソースを受信して処理し、それらを分類、保存、管理します。
ユーザーは、特定の教育リソース ファイルのダウンロードを要求することもできます。この要求は、処理のためにリソース アップロード/ダウンロード モジュールに渡され、ダウンロードに必要なリソース ファイルをユーザーに提供する役割を果たします。
家庭教育インストラクター相談モジュールの設計
入力:
- ユーザーコンサルタント検索キーワード
- ユーザーアドバイザーの予約リクエスト
- ユーザー勧告記録管理リクエスト
対処する:
- コンサルタント管理: 登録、レビュー、情報更新など、システム内のコンサルタント情報を管理します。
- コンサルティングサービスの予約:ユーザーのリクエストに応じて特定のコンサルタントサービスを予約し、予約処理を実行します
- 相談記録管理:ユーザーの相談記録を記録・管理し、閲覧・編集・削除機能を提供します。
出力:
- 検索結果: ユーザーのコンサルタントの検索キーワードに従って、一致するコンサルタントのリストを返します。
- 予約の確認: コンサルタントが予約を正常に取得したことを示す確認情報をユーザーに提供します。
- 相談記録:相談記録の関連情報をユーザーに表示および管理します
IPO チャートの説明:
上記のIPOチャートでは
- ユーザーが入力したコンサルタントの検索キーワードは、コンサルタント管理モジュールに渡されて処理され、登録、レビュー、情報更新など、システム内のコンサルタント情報を管理します。
- ユーザーがコンサルタントの予約リクエストを送信すると、そのリクエストはコンサルティング サービス予約モジュールに渡されて処理され、このモジュールはユーザーのリクエストに従って特定のコンサルタント サービスを予約し、予約を確認します。
- また、ユーザーは相談記録管理のリクエストを発行することができ、そのリクエストは相談記録管理モジュールに渡されて処理され、閲覧、編集、削除などの機能を含むユーザーの相談記録の記録と管理を行います。
最後に、システムはユーザーの入力と処理結果に応じて、コンサルタントの検索結果、予約確認情報、相談記録などの対応する出力を生成します。
親フォーラムのモジュール設計
入力:
- ユーザーによるフォーラムの投稿
- ユーザー検索フォーラムの投稿キーワード
- フォーラムの投稿に対するユーザーのコメント/応答
対処する:
- フォーラム投稿管理: 公開、編集、削除機能など、フォーラム内の投稿を管理します。
- フォーラム投稿検索: ユーザーが指定したキーワードに基づいてフォーラム投稿を検索します。
- コメントの投稿/返信: ユーザーのコメントとフォーラムの投稿への返信を処理します。
出力:
- 検索結果: ユーザーが指定したキーワードに基づいて、一致するフォーラム投稿のリストを返します。
- 投稿の詳細: 特定のフォーラム投稿の詳細なコンテンツおよび関連するコメント/返信情報をユーザーに表示します。
上記のIPOグラフでは、
- ユーザーはフォーラムの投稿を入力および公開でき、これらの投稿は処理のためにフォーラム投稿管理モジュールに渡されます。このモジュールは、投稿、編集、削除機能を含む、フォーラム内の投稿の管理を担当します。
- ユーザーはフォーラム投稿の検索キーワードを入力でき、そのキーワードは処理のためにフォーラム投稿検索モジュールに渡され、このモジュールはキーワードに従ってフォーラム内の投稿を検索し、検索結果をユーザーに返します。
- ユーザーはフォーラムの投稿にコメントしたり返信したりすることもでき、これらの操作は処理のためにコメント投稿/返信モジュールに渡されます。このモジュールは、ユーザーのコメントの処理とフォーラムの投稿への返信を担当し、対応する処理を実行します。
最後に、システムはユーザー入力と処理結果に基づいて、検索結果や詳細なコンテンツ、特定の投稿の関連コメント/返信情報など、対応する出力を生成します。
3.2.3 インターフェース設計
システムインターフェースの配置
- ユーザー インターフェイス インターフェイス: システムとユーザーの間の対話型インターフェイス。グラフィカル インターフェイス、Web インターフェイス、モバイル アプリケーションなどが含まれます。このインターフェイスは、ユーザーが情報を入力し、システム コンテンツを参照し、システムと対話するための方法を提供します。
- 外部ハードウェア インターフェイス: システムがハードウェア デバイスと対話する場合、たとえば、家族教育リソース モジュールがストレージ デバイスまたはネットワーク デバイスとのデータ対話を実行する必要がある場合、対応するハードウェア インターフェイスを定義する必要があります。
- 外部ソフトウェア インターフェイス: システムでは、データ交換や他のサポート ソフトウェアとの統合が必要になる場合があります。たとえば、家庭教育リソース モジュールでは、クラウド ストレージ サービスを使用したファイルのアップロードとダウンロード、または認証サービスを使用したユーザー認証が必要な場合があります。
システム内部モジュールの呼び出し関係とデータインターフェース
- 家族教育リソースモジュール呼び出し関係:
- リソース管理モジュール: リソース検索モジュールを呼び出して、リソースを分類して保存します。
- リソース検索モジュール: リソース管理モジュールによって呼び出され、リソース検索機能を提供し、キーワードに基づいて関連リソースのリストを返します。
- リソースのアップロード/ダウンロード モジュール: リソースのアップロードおよびダウンロードに関するユーザー要求を処理し、リソース管理モジュールとのデータ対話を実行します。
- 家庭教育指導員相談モジュール通話関係:
- コンサルタント管理モジュール: コンサルタントの登録、レビュー、情報更新の管理を担当します。相談サービス予約モジュールとのデータ対話を実行して、予約機能を提供できます。
- コンサルティング サービス予約モジュール: ユーザーの予約リクエストを受信し、コンサルタント管理モジュールとのデータ対話を実行して、特定のコンサルタント サービスを予約します。
- 相談記録管理モジュール:ユーザーの相談記録を記録および管理し、相談者管理モジュールおよび相談サービス予約モジュールとのデータ対話を実行します。
- 親フォーラムモジュールの呼び出し関係:
- フォーラム投稿管理モジュール: フォーラム投稿の公開、編集、削除の管理を担当します。投稿コメント/返信モジュールとのデータ対話を実行して、コメントと返信の操作を処理できます。
- フォーラム投稿検索モジュール: ユーザーが指定したキーワードに従ってフォーラム投稿を検索し、関連する投稿のリストを返します。
- コメント投稿/返信モジュール: フォーラム投稿に対するユーザーのコメントと返信操作を処理し、フォーラム投稿管理モジュールとのデータ対話を実行します。
各モジュール間のデータ インターフェイスには次のものを含めることができます。
- ユーザーインターフェースインターフェース:
- ユーザーが入力したデータ (ユーザー検索キーワード、フォーラム投稿コンテンツ、予約リクエストなど) を他のモジュールに提供します。
- 他のモジュールから返されたデータ (検索結果、投稿の詳細、予約確認情報など) を受信し、ユーザーに表示します。
- リソース管理モジュール:
- リソースアップロードモジュールによって配信されるリソースファイルを受信し、分類、保存、管理します。
- リソースの分類とストレージ情報をリソース検索モジュールに提供します。
- リソース検索モジュール:
- ユーザーが入力したキーワードが受信され、そのキーワードに従ってリソース管理モジュールに問い合わせが行われ、一致するリソースのリストが取得されます。
- ユーザーが参照して選択できるように、検索結果をユーザー インターフェイス モジュールに返します。
- コンサルタント管理モジュール:
- コンサルタントの登録・審査・情報更新依頼を受け付け、コンサルタントの関連情報を更新します。
- 相談サービス予約モジュールと相談記録管理モジュールに相談情報を提供し、予約・記録機能をサポートします。
- コンサルティングサービス予約モジュール:
- ユーザーのコンサルタント予約リクエストを受信し、コンサルタント管理モジュールとのデータ対話を実行して予約を確認し、関連情報を更新します。
- 予約確認のメッセージがユーザー インターフェイス モジュールに返されます。
- コンサルティング記録管理モジュール:
- 閲覧・編集・削除等の操作を含む利用者の相談記録を記録・管理する。
- コンサルタント管理モジュールおよび相談サービス予約モジュールとのデータ対話を実行して、関連する相談記録情報を取得および更新します。
- フォーラム投稿管理モジュール:
- ユーザーが公開したフォーラム投稿のコンテンツを受信し、公開、編集、削除の操作を実行します。
- 投稿コンテンツをフォーラム投稿検索モジュールと投稿コメント/返信モジュールに提供します。
- フォーラム投稿検索モジュール:
- ユーザーが提供したキーワードを受け取り、フォーラム投稿管理モジュールにクエリを実行して、一致する投稿のリストを取得します。
- 検索結果を UI モジュールに返します。
- コメント投稿/返信モジュール:
- フォーラム投稿に対するユーザーのコメントと返信を処理し、フォーラム投稿管理モジュールとのデータ対話を実行して、投稿コメントと返信情報を更新します。
これらのデータ インターフェイスの設計と実装では、関数呼び出し、API インターフェイス、データベース クエリなどのメソッドを使用して、データの転送と操作を行います。
4. 詳細設計
4.1プロジェクトの開発と運営のための技術環境
4.1.1 開発環境と実行環境
オペレーティングシステム: Windows10 、Linux
ビルドツール:Maven 、docker
統合開発ツール:Intellij IDEA
アプリケーションサーバー: Apache Tomcat
インターフェイステストツール: Post man
バージョン管理ツール:Git
Java バージョン:8
4.1.2 開発用ツール
バックエンド:
春
Spring Boot 2.1.5 リリース
スプリング M VC
スプリングクラウド
ORM:マイバティス
データベース: MySQL 5.7 、Tencent クラウド オブジェクトストレージ
分散キャッシュ:赤は
ローカルキャッシュ:カフェイン
セキュリティ: Spring セキュリティ
分散クラスター: nac os
分散型電流制限: Sentinel
分散タイミング タスク: Spring Quartz62
静的と動的の分離: nginx
ログ:
SLF4J (ロギングインターフェース) + Logback (ロギング実装)
フロントエンド:
タイムリーフ
CSS
ヴュー
Jクエリ
アヤックス
4.1.3 開発技術の概要
1. フロントエンド開発技術:フロントエンド開発では主にユーザーインターフェースの設計とインタラクティブ機能の実現が行われます。一般的なフロントエンド開発テクノロジには、HTML、CSS、JavaScript などがあります。React、Vue.js などのフロントエンド フレームワークとライブラリを使用して、開発プロセスを簡素化し、ユーザー エクスペリエンスを向上させます。
2. バックエンド開発技術: バックエンド開発は、ビジネス ロジックの処理、データの保存と処理などを担当します。バックエンド開発技術には、Python、Java、Node.jsなどのプログラミング言語を使用した開発と、SpringCloudなどの対応フレームワークを使用して開発を加速し、Webサービスを提供する技術が含まれます。
3. データベース: 家族教育リソース、ユーザー情報、フォーラムへの投稿などのデータを保存するには、適切なデータベース システムを選択する必要があります。リレーショナルデータベースMySQLを使用します
4. サーバーとホスティング: Web ページ システムをサーバー上に展開して実行する必要があります。導入用のサーバーとインフラストラクチャを提供するには、クラウド サービス プロバイダー Tencent Cloud を選択します。
5. セキュリティと認証: ユーザー ログインやデータ プライバシーなどの機密情報が関係するため、システムはセキュリティと認証メカニズムを考慮する必要があります。たとえば、暗号化通信には HTTPS プロトコルを使用し、ユーザーのパスワードを保存するにはパスワード ハッシュとソルト値の暗号化を使用し、ユーザー認証にはトークン (Token) を使用します。
6. バージョン管理とチームコラボレーション: バージョン管理システム (Git など) を使用してコードのバージョンと共同開発を管理し、適切なプロジェクト管理ツール (Jira、Trello など) を使用してタスク、問題、進捗状況を追跡します。
7. 監視とロギング: システムの安定性とパフォーマンスを確保するために、監視ツール (New Relic、Datadog など) を使用してシステムの動作状態を監視し、ロギング ツール (ELK Stack、Splunk など) を使用できます。 ) システムログの収集と分析に使用できます。
4.1.4 プロジェクト開発技術の詳細説明
1) MVCパターン
MVCパターン (モデル-ビュー-コントロールローラー)は、ソフトウェア エンジニアリングにおけるソフトウェアアーキテクチャパターンであり、ソフトウェア システムをモデル ( Model )、ビュー ( View )、およびコントローラー ( Controller )の 3 つの基本部分に分割します。
MVC パターンの目的は、動的なプログラム設計を実現し、その後のプログラムの変更、プログラムの特定の部分を再利用できるようにすることです。さらに、MVCパターンは複雑さを単純化することでプログラムの構造をより直感的にします。ソフトウェア システムは基本部分を分離しますが、それぞれの基本部分にそれぞれの機能を与えます。専門家は専門知識に応じてグループ化できます。
- モデル: モデル層は、データの取得、保存、処理を処理します。このプロジェクトでは、家庭教育リソース ライブラリ、ユーザー情報、フォーラムの投稿などのデータがモデルと見なされます。モデル層はバックエンドとのデータ対話を担当し、コントローラー層にデータを提供します。
- ビュー (ビュー): ビュー層は、ユーザーにデータを表示し、ユーザーの操作と入力を受け取る役割を果たします。このプロジェクトでは、ビュー レイヤーには、家族教育リソース表示ページ、予約相談インターフェイス、親フォーラム インターフェイスなどが含まれます。ビュー層は、モデル層によって提供されるデータを表示し、ユーザーの操作を処理のためにコントローラー層に渡します。
- コントローラー (コントローラー): コントローラー層は、ユーザーの操作と入力の処理、およびビジネス ロジックの処理を担当します。このプロジェクトでは、コントローラー層がユーザーからのアポイント相談リクエストを受け取り、フォーラムへの投稿などの操作を行い、ビジネスルールに従ってデータを処理および論理的に判断します。コントローラー層はモデル層と対話し、データを取得または更新し、処理結果を表示のためにビュー層に渡します。
図 4-11 MVCパターン図
MVC モードを採用することで、プロジェクトのさまざまな機能モジュールを分離して、コードの保守性と拡張性を向上させることができます。モデル、ビュー、コントローラーが分離されているため、開発チームはさまざまな部分を並行して開発でき、機能の変更や調整が容易になります。さらに、MVC パターンはビジネス ロジックとインターフェイスの分離の実現にも役立ち、コードの再利用性とテスト容易性が向上します。
2) Nginxテクノロジー
リバース プロキシ (リバース プロキシ)方式とは、プロキシ サーバーを使用してインターネット上で接続要求を受け付け、 その要求を内部ネットワーク上のサーバーに転送し、サーバーから取得した結果を接続を要求しているクライアントに返すことを指します。このプロキシときサーバーは外部ではリバース プロキシ サーバーとして機能します 。
リバース プロキシはサーバー側で動作し、仮想IP (VIP)です。ユーザー リクエストの場合、特定のリクエストを処理するために複数のバックエンド プロセッサの 1 つに転送されます。
クライアントはプロキシの存在を認識せず、リバース プロキシは外部に対して透過的であり、訪問者は自分がプロキシを訪問していることを知りません 。クライアントは設定なしでアクセスできるためです。
リバースプロキシは 「サーバーを表す」という意味で、主にサーバークラスターを分散配置する場合に使用され、サーバーの情報を隠します。
リバースプロキシの役割:
- 静的リソース サービス: Nginx は静的リソース (HTML、CSS、JavaScript、画像など) のサービスを直接提供できるため、バックエンド サーバーの負担が軽減されます。Nginx を構成すると、静的リソースに対するリクエストを Nginx で直接処理できるようになり、Web ページの読み込み速度と同時パフォーマンスが向上します。
- リバース プロキシ: Nginx は、クライアントのリクエストをバックエンド サーバーに転送して処理するためのリバース プロキシ サーバーとして使用できます。このプロジェクトでは、クライアントがリクエストを開始すると、Nginx は、ユーザー ログインのリクエストの処理、家族教育リソースの取得など、リクエストを適切なバックエンド サーバーに転送する役割を担うことができます。
- 負荷分散: プロジェクトで多数のリクエストを処理するために複数のバックエンド サーバーをデプロイする必要がある場合、負荷分散に Nginx を使用できます。Nginx は、事前に設定されたアルゴリズムに従ってリクエストを複数のバックエンド サーバーに分散し、リクエストのバランスの取れた分散を実現し、システムのパフォーマンスと信頼性を向上させることができます。
- キャッシュ制御: Nginx は、動的ページまたは静的リソースをキャッシュし、バックエンド サーバーへのリクエストを減らし、応答速度を向上させるキャッシュ機能を提供します。Nginx のキャッシュ ルールを構成すると、さまざまなページやリソースをキャッシュして、システム パフォーマンスとユーザー エクスペリエンスを向上させることができます。
- SSL/TLS 暗号化: プロジェクトにユーザーのプライバシー情報 (ログイン、支払いなど) の送信が含まれる場合、Nginx はデータ セキュリティを保護するために SSL/TLS 暗号化を提供できます。NginxのSSL証明書と暗号スイートを設定することで、送信データの暗号化とセキュリティ保護を実現できます。
図 2-2 リバースプロキシの原理
Nginx は、強力で柔軟な Web サーバーおよびリバース プロキシ サーバーとして、このプロジェクトの展開と管理に適した、高性能、信頼性、セキュリティ サービスを提供できます。
3) ゲートウェイゲートウェイサービス
Spring Cloud Gateway は、Spring 5.0 、Spring Boot 2.0 、Project Reactorなどのテクノロジーに基づいてSpringによって開発されたゲートウェイで、マイクロサービス アーキテクチャ向けのシンプルかつ効果的な統合APIルーティング管理手法を提供することを目的としています。その目標は、統合ルーティング方式を提供するだけでなく、セキュリティ、監視/インジケーター、電流制限などのフィルターチェーンに基づくゲートウェイの基本機能も提供するNetilx Zuulを置き換えることです。
ゲートウェイアプリケーション:
- 統合エントランス: ゲートウェイ ゲートウェイをシステムの統合エントランスとして使用し、すべてのクライアント要求をゲートウェイ ゲートウェイに送信します。
- ルーティングと負荷分散: 要求された URL パス、要求ヘッダー、およびその他の情報に従って、要求は対応するバックエンド サービスにルーティングされます。バックエンド サービスのインスタンスが複数ある場合、ゲートウェイ ゲートウェイは負荷分散を実行し、これらのインスタンスにリクエストを均等に分散することもできます。
- 認証と認可: 認証サービスと認可サービスを統合して、リクエストを認証および認可します。たとえば、ゲートウェイでユーザーのトークンまたはセッションを検証し、ユーザーが特定のリソースにアクセスする権限を持っているかどうかを確認できます。
- セキュリティ: DDoS 攻撃の防止、IP フィルタリング、リクエスト フロー制限などのセキュリティ保護を提供します。さらに、ゲートウェイは SSL/TLS を通じて送信データを暗号化し、ユーザーのプライバシーと機密情報を保護することもできます。
- キャッシュとパフォーマンスの最適化: 応答のキャッシュを実装し、バックエンド サービスの負荷を軽減し、応答速度を向上させます。キャッシュ ポリシーを構成すると、ゲートウェイは静的リソースまたは応答結果をキャッシュして、より高速なアクセス エクスペリエンスを提供できます。
- ログと監視: リクエストと応答をログに記録し、トラブルシューティングとシステム監視に役立ちます。ログ分析ツールを使用して、リクエスト トラフィックを分析および監視し、システムの異常を検出できます。
図 2-3 ゲートウェイの構成
システムのアーキテクチャと展開を簡素化し、システムの拡張性、セキュリティ、パフォーマンスを向上させます。同時に、ゲートウェイ ゲートウェイは、一元化されたリクエスト ルーティング、認証、認可機能も提供するため、バックエンド サービスの負担が軽減され、より良いユーザー エクスペリエンスが提供されます。
4) Springクラウドフレームワーク
Spring Cloud は、一連のフレームワークの順序付けられたコレクションです。Spring Bootの開発利便性 を利用して、サービス検出登録、構成センター、メッセージ バス、ロードバランシング、サーキット ブレーカー、データ監視などの分散システム インフラストラクチャの開発を微妙に簡素化し、すべてSpringの開発スタイルを使用できます。ブートワンクリックで開始および展開します。Spring はホイールの製造を繰り返すのではなく、現時点でさまざまな企業が開発している比較的成熟した実用的なサービス フレームワークを組み合わせ、複雑な構成と実装原則を保護するためにSpring Bootスタイルで再パッケージ化しただけです。理解しやすく、展開しやすく、保守しやすい機能は開発者向けに予約されています。
4.2 システムの実装
4.2.1登録およびログインページのデザイン
シンプルな動的ログイン インターフェイスの背景には、軽くて流れるようなアニメーション効果を使用でき、ユーザーにモダンで生き生きとした印象を与えます。以下に例を示します。
背景:純白をメインカラーとし、上から下まで柔らかい色を使用します。
ダイナミックエフェクト: 背景にライトアニメーションエフェクトを適用します。
- 背景が微妙に呼吸する: 背景の色が緩やかにフェードインおよびフェードアウトし、呼吸しているように見えます。
- 流れる粒子: ゆっくりと浮遊、回転、または漂流する小さな粒子を背景に生成します。
- 背景画像フェード: 一連の関連画像を背景に交互に表示し、フェードインまたはフェードアウトしたり、グラデーションで切り替えることができます。
- スムーズなトランジション: ページが読み込まれたり状態が切り替わったりすると、背景はスムーズなアニメーショントランジションでフェードインまたはフェードアウトできます。
このような動的な背景は、ログイン画面に活気を与え、ページをすっきりと集中させながらユーザーの注意を引くことができます。ユーザーに快適なログイン エクスペリエンスを提供し、最新のデザイン スタイルにマッチします。
ログインページのデザイン:
- ページタイトル: ログイン
- フォームフィールド:
- パスワード: パスワードボックスにパスワードを入力します。ユーザーはパスワードを入力します。
- 記憶する: チェックボックス、ユーザーはログイン状態を記憶するかどうかを選択します
- ログインボタン: クリックするとログインフォームが送信されます
- パスワード可視化ボタン: パスワードを表示または非表示にできます。
4.2.2 教育プラットフォームのメインページのデザイン
- - 背景色: ページにクリーンでモダンな外観を与えるには、背景色として黒を使用します。
- - 複数のカードのレイアウト: カードをページの中央または適切な位置に配置し、各カードがモジュールを表します。カードの形状は正方形または角丸長方形にすることができ、プロジェクトのニーズに応じて特定の形状とスタイルを調整できます。
- - 回転機能: 各カードは回転機能を実現できます。つまり、ユーザーのインタラクションに応じて、クリックまたはスライドによってカードの内容を切り替えることができます。これは、アニメーション効果またはスワイプ ジェスチャを通じて実現できます。カードをクリックすると、カードが拡大されるか、その他の視覚効果が生成されて、現在選択されているカードが強調表示されます。
- - カードの内容: 各カードには、モジュールの名前、簡単な説明、および関連するアイコンが表示されます。ユーザーはカード上の情報に従って各モジュールの機能をすぐに理解できます。カードをクリックすると、対応するモジュール ページに移動します。
全体的なデザインコンセプトはクリーン、モダン、直感的です。黒い背景はページ全体に高いコントラストを与え、カードの内容をさらに際立たせます。カルーセル機能は興味深い対話方法を提供し、ユーザーが異なるモジュール間を素早く切り替えることができます。カードは、ユーザーが必要な機能モジュールを簡単に理解して移動できるように、一貫性と使いやすさに注意して設計する必要があります。プロジェクトの要件やユーザー エクスペリエンスに応じて、特定のスタイルとアニメーション効果をさらにカスタマイズおよび調整できます。
4.2.3 親フォーラムの設計
以下は、親フォーラムに参加して教育リソースを選択し、人気のあるまたは最新の教育問題を表示し、関連するフォーラムに参加するための設計プロセスです。
1. 親フォーラムに移動します。
- 親フォーラムの Web ページまたはアプリを開きます。
- ログインに成功したら、親フォーラムのメイン ページに入ります。
2. 教育リソースを選択します。
- メイン ページで、教育リソースに関連するナビゲーション オプションまたはメニューを見つけて選択します。
- [教育リソース] オプションをクリックまたは選択して、[教育リソース] ページに入ります。
- 教育リソースのページでは、個人のニーズや興味に応じて、最新または人気のある教育リソースを参照できます。
3. 人気のあるまたは最新の教育問題を表示するには:
- メイン ページで、教育問題に関連するナビゲーション オプションまたはメニューを見つけて選択します。
- [教育的な質問] オプションをクリックまたは選択して、[教育的な質問] ページに入ります。
- [教育に関する質問] ページでは、最近の人気のある質問または最新の教育に関する質問のリストを参照できます。
4. フォーラムに参加してディスカッションに参加します。
- 教育に関する質問のリストで、興味のある質問を選択するか、特定の質問のタイトルをクリックします。
- 質問の詳細ページに移動すると、質問の詳細な説明と他の保護者の回答やコメントが表示されます。
- コメントやアイデアがある場合は、質問の詳細ページの下部にあるコメント ボックスに回答やコメントを入力し、[送信] をクリックします。
- 他の保護者の回答やコメントを閲覧したり、興味のある回答に「いいね」をしたり、返信したりすることもできます。
図 4-11 よくある教育に関する質問ページ
図 4-12 テーマの親フォーラム ページ
図 4-13 親フォーラムのサブモジュール ページ
保護者は簡単に保護者フォーラムに参加し、教育リソースを選択し、人気のある教育問題や最新の教育問題を閲覧できます。関連するフォーラムに参加した後、ディスカッションに参加し、自分の意見や経験を発表し、他の保護者の回答から有益な情報や提案を得ることができます。このような設計プロセスは、保護者間のコミュニケーションと交流を促進し、教育上の問題について共同で話し合って解決するのに役立ちます。
4.2.4家庭教育リソースの設計
以下は、コース選択の設計プロセスと、家庭教育リソース ライブラリーで選択されたコースです。
1.コース選択ページのデザインプロセス:
a. コース選択ページに移動します:
- 家庭教育リソース ライブラリのホーム ページで、コース選択ページを見つけてクリックして移動します。
b. コースの検索:
- コース選択ページに、ユーザーがキーワードを入力して興味のあるコースを検索できる検索ボックスを提供します。
- ユーザーは、コースのタイトル、主題、またはその他の関連情報を入力して検索できます。
c. 分類ラベルのフィルタリング:
- コース選択ページで、コースをフィルタリングするために、年齢層、科目、スキルなどのさまざまな分類ラベルを提供します。
- ユーザーは関連するタブをクリックして検索を絞り込み、ニーズに合ったコースを見つけることができます。
d. コースの表示:
- [コース選択] ページで、検索結果またはフィルタリングされたコースのリストを表示します。
- 各コースには通常、コース名、タイプ (ライブ、テキストブログ、ビデオクラスなど)、説明、関連タグなどの情報が表示されます。
e. コースを選択します:
- ユーザーはコース リスト内のコースをクリックして、コース詳細ページに入り、より詳細なコース情報を確認できます。
図 4-21 コース選択ページ
2. 選択したコースページのデザインプロセス:
a. [選択されたコース] ページに移動します:
- 家庭教育リソース ライブラリのホームページで、[選択されたコース] ページを見つけてクリックして移動します。
b. 選択したコースの表示:
- [選択したコース] ページに、ユーザーが選択したコースのリストが表示されます。
- 各コースには通常、コース名、タイプ、説明、関連するタグなどの情報が表示されます。
c. コースの詳細ページに移動します:
- ユーザーは、選択したコース リスト内のコースをクリックしてコースの詳細ページに入り、コースを表示または学習を続けることができます。
d. 選択したコースの管理:
- [選択したコース] ページで、コースの削除、完了済みとしてマークなどの管理オプションを提供します。
図 4-22 選択したコースのページ
ユーザーは、コース選択ページで興味のあるコースを簡単に検索およびフィルタリングし、コースの詳細を表示して選択することができます。同時に、選択したコースのページでは選択したコースの管理機能が提供されるため、ユーザーは自分の学習の進捗状況を管理および追跡できます。このような設計プロセスにより、ユーザー エクスペリエンスが向上し、ユーザーが自分に合ったホームスクール コースを簡単に閲覧して選択できるようになります。
4.2.5 家庭教育インストラクターのコンサルティング設計
以下は、家庭教育インストラクター相談予約モジュールの設計プロセスです。
1. 講師の検索と予約の収集の設計プロセス:
a. 家庭教師検索ページに入ります:
- 家庭教育家庭教師相談予約モジュールで、 を見つけてクリックし、家庭教師検索ページに入ります。
b. 講師の検索:
- 講師検索ページで、ユーザーがキーワードを入力して興味のある講師を検索できる検索ボックスを提供します。
- 講師名、専門分野、その他の関連情報で検索できます。
c. 講師のリストを表示します:
- 講師検索ページでは、検索結果として講師のリストが表示されます。
- 各講師には通常、講師の名前、専門分野、評価、ステータス (空き状況や予約数) などの情報が表示されます。
d. 講師の予約をブックマークする:
- ユーザーは講師リスト内の講師をクリックして、次回以降の予約のためのお気に入りの予約リストに追加できます。
2. 講師詳細ページのデザインプロセス:
a. 講師の列をクリックして、詳細情報ページにアクセスします:
- 講師リストで、ユーザーは講師の名前または講師の列をクリックして、講師の詳細情報ページにアクセスできます。
b. 講師の詳細:
- 講師の詳細ページには、名前、アバター、資格、学歴、専門分野、予約可能な時間など、講師の詳細な個人情報が表示されます。
3. 講師予約の設計プロセス:
a. 予約状況と予約人数:
・講師の詳細情報ページでは、講師の予約状況、つまり予約の空き状況と、既に予約を行っている人数が表示されます。
b. 予約の確認:
- 講師が予約可能で空き時間がある場合、ユーザーは予約ボタンまたは関連リンクをクリックして予約を入れることができます。
c. 予約確認:
- ユーザーは、予約日、時間帯、予約理由などの必要な予約情報を提供します。
- システムは予約情報を確認し、ユーザーに予約確認通知を送信します。
ユーザーは簡単に講師を検索したり、気になる講師をブックマーク・予約したり、講師の詳細情報ページで講師の経歴や予約状況を知ることができます。講師が予約制である場合、ユーザーは簡単に講師を予約し、必要な予約情報を提供することができます。このような設計プロセスは、家庭教育指導に対する保護者のニーズを満たす便利な家庭教師の相談および予約サービスを提供するのに役立ちます。
以下は、家庭教育インストラクター相談予約モジュールの予約記録クエリと統計機能の設計プロセスです。
4. 予定記録クエリ機能の設計プロセス:
a. 予約記録の照会ページに入ります:
- 家庭教育インストラクターの相談および予約モジュールで、検索してクリックして予約記録の照会ページに入ります。
b. クエリ時間範囲を選択します:
- 予定記録クエリ ページで、今日、後で、または前など、クエリ時間範囲を選択するオプションを提供します。
- ユーザーはニーズに応じて対応する時間範囲を選択できます。
c. 予定記録のクエリ:
- ユーザーが予定記録クエリ ページのクエリ ボタンまたは関連リンクをクリックすると、システムは選択した時間範囲に従って予定記録をクエリします。
d. クエリ結果の表示:
- クエリ結果に基づいて、システムは時間範囲に一致する予定レコードのリストを表示します。
- 各予約記録には通常、講師の名前、予約日、予約時間帯、予約理由などの情報が含まれます。
5. 統計関数の設計プロセス:
a. 人気講師の統計グラフ:
- 統計機能では、人気講師のランキングや割合を示す人気講師の統計グラフが提供されます。
- 統計グラフは、棒グラフ、円グラフ、またはその他の視覚化として表示できます。
b. ユーザー予約時間の統計グラフ:
- 統計機能では、各ユーザーの予約回数を示すユーザー予約時間の統計グラフが提供されます。
- 統計グラフは、棒グラフ、折れ線グラフ、またはその他の視覚化として表示できます。
上記の設計プロセスを通じて、ユーザーは簡単に予定レコードをクエリし、時間範囲に従ってレコードをフィルタリングすることができます。さらに、統計機能により、最も人気のある講師とユーザーの予約時間を視覚的に統計グラフで表示し、ユーザーが講師とユーザーの予約状況を把握するのに役立ちます。このような設計プロセスにより、ユーザーは予約記録をより適切に管理および追跡できるようになり、予約の意思決定とデータ分析をサポートする有用な統計が提供されます。
5.プロジェクトの概要とアプリケーションの見通しの分析
5.1 プロジェクトの概要
5.1.1 デザイン形成プロセス
1つ目は要件の収集と分析です。機能設計の前に、私たちのチームは顧客や関係者と十分にコミュニケーションをとり、そのニーズや期待を理解する必要があります。面談、面談、アンケート等により実施します。次に、要件アナリストが収集した要件を整理および分析し、システムに実装する必要がある機能を決定します。
要件分析が完了したら、機能の細分化と分割を行います。要件に応じて、機能はさらに細分化および分割され、システムの大きな機能モジュールがより小さなサブ機能モジュールに分割されます。これにより、チームが機能間の関係や依存関係をよりよく理解できるようになり、開発プロセスがより管理しやすくなると思います。
さらに重要な詳細は、機能仕様の作成です。これは、データベースを学ばなかった人、つまり顧客が理解できるようにする必要があり、機能設計のレビューとチームメンバー間のディスカッションが重要です。レビューにより、機能設計が顧客のニーズを満たし、システムの全体的な目標と一致し、他のモジュールやコンポーネントと調整されていることを確認します。機能設計段階では、各機能モジュールの詳細な説明、入出力の定義、ビジネスプロセスなどを含む機能仕様書を作成する必要があります。これは、開発チームが機能要件と実装の詳細を包括的に理解するのに役立ちます。
機能設計のプロセスにおいて、プロトタイピングは、機能の外観と相互作用の詳細をより直観的に理解するのに役立ちます。プロトタイプを通じて、潜在的な問題や改善点を発見し、対応する反復と最適化を実行できます。機能設計が完了したら、顧客や関係者との最終的な承認と確認を行います。これにより、機能設計が期待に応えられるようになり、最終仕上げや調整の機会が提供されます。
5.1.2 協力経験
チームメンバー間およびクライアントとの良好なコミュニケーションが、機能設計を成功させる鍵となります。開発チームは顧客のニーズやフィードバックに積極的に耳を傾け、機能設計が顧客の期待に応えられるように継続的に顧客とコミュニケーションをとる必要があります。機能設計にはチームメンバー全員が共通の理解を必要とし、定期的なミーティング、ディスカッション、トレーニングはチーム間の共通理解を促進し、機能設計プロセスにおいてチームの連携を確保するのに役立ちます。
プロジェクト全体に関する次の経験点を要約しました。
- 反復とフィードバック: 機能設計は反復プロセスです。メンバーは、設計を改善し最適化するために、タイムリーなフィードバックやコメントを提供するよう奨励されなければなりません。タイムリーなフィードバックと反復は、機能設計の品質と有効性を向上させるのに役立ちます。
- 柔軟性と適応性: 機能設計プロセス中、チームは要件の変化や新たな課題に対応するために、柔軟性と適応性を備えている必要があります。プロジェクトが進行するにつれて、新しい要件や調整が発生する可能性がありますが、チームは機能設計を柔軟に調整し、タイムリーに関連担当者とコミュニケーションできる必要があります。
- 文書化と文書管理: 機能設計フェーズでは、機能仕様、設計文書などの関連文書を作成する必要があります。チームは文書の正確性、完全性、適時性を確保し、チームメンバーが文書を簡単に確認して更新できるように、適切な文書管理メカニズムを確立する必要があります。
- チームワークのツールとテクニック: 適切なチームワークのツールとテクニックを使用すると、チームワークとコミュニケーションを促進できます。たとえば、バージョン管理ツールは、チーム メンバーが機能設計ドキュメントを共有および管理するのに役立ち、共同編集ツールは、チーム メンバー間のリアルタイムのコラボレーションとディスカッションを促進できます。
- リスク管理と問題解決: 機能設計プロセスでは、さまざまなリスクや問題に遭遇する可能性があります。チームはリスク管理ができ、潜在的なリスクをタイムリーに特定して評価し、それらを軽減するための適切な措置を講じることができなければなりません。同時に、チームは問題を解決する能力を備え、積極的に解決策を模索し、問題を解決するために関係者と協力する必要があります。
良好な協力とコミュニケーションを通じて、チームメンバーは機能的なデザインの形成を共同で推進し、そのデザインが顧客のニーズを満たしていることを確認できます。柔軟性、フィードバック ループ、問題解決スキルは、チームの機能設計を成功させるための重要な要素です。同時に、ツールやテクノロジーの合理的な使用、優れた文書管理やリスク管理メカニズムの確立も、機能設計の品質と効率の向上に役立ちます。
このプロジェクト、特にこれら 4 つのサブモジュールの設計を通じて、私たちは ER 図を使用してエンティティ、属性、関係を明確に定義し、表現する方法を学びました。エンティティ、属性、および関係を定義することにより、データベース内のデータ構造と操作をより明確に表現できます。モデリングの際、エンティティと属性に適切な名前を付け、それらのセマンティクスが正確であることを確認し、適切なデータ型と制約を使用することで、データの有効性と整合性を向上させることができます。適切なデータ型、インデックス、ストレージ構造を選択すると、データベースのパフォーマンスと効率を最適化でき、需要とクエリ頻度に応じて適切なインデックスを設定します。インデックスを使用するとクエリ操作を高速化できますが、インデックスが多すぎると複雑さが増し、データ更新のストレージ オーバーヘッドが増加します。したがって、長所と短所を比較検討し、最も頻繁にクエリされるフィールドをインデックスとして選択して、インデックスの有効性とデータベースのパフォーマンスを確保します。
概して、この実験により、私のデータベース設計能力は大幅に向上しました。実践的な業務を通じて、データベース設計のプロセスや手法に精通し、MYSQL などのツールについてもより深く理解できるようになり、今後の業務や学習において、より主体的かつ効率的にデータベースを設計および実装できるようになります。
5.2応用見通し分析と展望
家庭教育プラットフォーム システム プロジェクトには幅広い応用の可能性があり、関連する分析をいくつか以下に示します。
1. 家庭教育への需要の高まり: 親が子供の教育にますます注意を払うようになり、家庭教育リソースと指導に対する需要も高まっています。家庭教育プラットフォームシステムは、保護者の教育リソース、指導、相談のニーズに応え、便利で効率的なサービスを提供できるため、幅広い市場の可能性を秘めています。
2. 技術開発のサポート:スマートフォン、高速ネットワーク、オンライン学習プラットフォームの普及などの継続的な技術開発により、家庭教育プラットフォームシステムはこれらの技術をより適切に統合および適用して、より豊かでより個別化された教育を提供できます。リソースとサービス。たとえば、人工知能とビッグデータ分析テクノロジーを使用して、パーソナライズされた学習の推奨事項やインテリジェントな個別指導を提供できます。
3. 柔軟な学習方法: 家族教育プラットフォーム システムは柔軟な学習方法を提供し、親と子供が自分の時間と興味に応じて学習および指導できるようにします。オンラインコース、教育リソースライブラリ、家庭教師の相談予約など、家族のさまざまなニーズや学習ペースに対応できます。
4. 交流とコミュニティの構築: 家族教育プラットフォーム システムは、保護者間の交流とコミュニティの構築を促進できます。保護者フォーラム、コメント、評価機能を通じて、保護者は経験を共有し、お互いをサポートし、積極的で相互支援のコミュニティ環境を確立することができます。
5. データ分析と継続的改善: ユーザーデータとフィードバックを収集することで、家庭教育プラットフォームシステムはデータ分析を実行してユーザーのニーズと行動パターンを理解し、システムの機能とサービスを改善および最適化して、より良いユーザーエクスペリエンスを提供します。
全体として、家庭教育プラットフォームシステムには大きな市場の可能性と応用の可能性があります。家庭教育ニーズの継続的な成長とテクノロジーの継続的な進歩により、家庭教育プラットフォームシステムは親と子供の教育ニーズを満たし、高品質で個別化された教育リソースとサービスを提供し、社会の発展に積極的に貢献することができます。家庭教育のせい。