ssm+mysql+ssm ベースのカリキュラムのイデオロギーおよび政治リソースのクラウドソーシング システムの設計と実装 卒業プロジェクト - ソース コード 020838

SSM コースのイデオロギーおよび政治リソースのクラウドソーシング システム

まとめ 

科学技術の急速な発展は人々の日常生活に大きな変化をもたらし、電子情報技術の急速な発展により、さまざまな分野における電子情報技術の応用レベルが普及し、応用されています。情報化時代の到来は抗しがたいファッショントレンドとなり、人類の発展の歴史は新たな時代を迎えています。実際のアプリケーションでは、アプリケーション ソフトウェアの作業ルールと開発手順を使用して、Java テクノロジを使用してカリキュラムのイデオロギーおよび政治リソースのクラウドソーシング システムを構築します。

この設計は主に、人間化、高効率、利便性の利点を統合したカリキュラムのイデオロギーおよび政治リソースのクラウドソーシング システムを実現し、ユーザー管理、受信タスク、イデオロギーおよび政治タスク、出版コース、イデオロギーおよび政治ラベル、そして通知管理。システムはブラウザを介してサーバーと通信し、データのやり取りと変更を実現します。科学的な管理手法と便利なサービスにより、作業効率を向上させ、データ保管のミスや漏れを削減します。ジョブ管理システムはJava言語を使用し、MVVMモデルに基づくSSM技術を用いて開発されており、データ面では主にMicrosoft社のMySQLリレーショナルデータベースをデータ記憶媒体として使用し、フロントエンドのHTML+CSS技術と連携しています。システム開発を完了します。

キーワード: カリキュラム、イデオロギーおよび政治リソースのクラウドソーシング システム、Java 言語、 

SSM コースのイデオロギーおよび政治リソースのクラウドソーシング システム

概要

科学技術の急速な発展は人々の日常生活に大きな変化をもたらしました。電子情報技術の急速な発展により、電子情報技術の応用レベルはさまざまな分野に普及し、応用されています。情報化時代の到来は抗しがたいファッショントレンドとなり、人類の発展の歴史は新たな時代を迎えています。実際の応用では、アプリケーション ソフトウェアの作業ルールと開発手順に従って、Java テクノロジーを使用して、カリキュラムのイデオロギーおよび政治リソースのクラウドソーシング システムを構築します。

この設計は主に、人間化、高効率、利便性の利点を備えたカリキュラムのイデオロギーおよび政治リソースのクラウドソーシング システムを実現し、ユーザー管理、受信タスク、イデオロギーおよび政治タスク、出版コース、イデオロギーおよび政治ラベル、通知管理など。システムはブラウザを介してサーバーと通信し、データの対話と変更を実現します。科学的な管理と便利なサービスにより、作業効率を向上させ、データ保存のエラーや漏れを削減します。ジョブ管理システムは、Java 言語と MVVM モードに基づく SSM テクノロジーを開発に使用します。データに関しては、主に Microsoft MySQL リレーショナル データベースがデータ記憶媒体として使用されます。

キーワード: カリキュラムの思想的および政治的リソースのクラウドソーシング システム。Java 言語。

目次

第 1 章はじめに 

1.1 研究の意義

1.2 研究方法

1.3 主な作品と論文構成

第2章 関連技術の紹介

2.1開発技術

2.2 MV VMモード

2.3B /  S構造

2.4  MySQLデータベース_

2.5  SSMフレームワーク_

2.5 SSM フレームワークの各層間の関係

第 3 章 システム分析

3.1 実現可能性の分析

3.1.1 技術的な実現可能性

3.1.2 経済的実現可能性

3.1.3 社会的実現可能性

3.2システム機能の分析と説明

3.3パフォーマンス分析6

3.4システム運用プロセス7

3.4.1 情報プロセスの追加 7

3.4.2 操作プロセス 7

3.4.3 情報削除プロセス 8

第4章 システム設計

4.1システムアーキテクチャ設計

4.2開発プロセスの設計

4.3データベース設計

4. .3.1 エンティティER 13

4.3.2データ表 14

第5章システムの導入 

5.1 データベース接続モジュールの実現

5.2 ログインモジュールの実装16

5.3 コースモジュールの実装をリリースする

5.4 イデオロギー的および政治的タスクモジュール23

5.5 教師ユーザー管理モジュールの実現24

5.6 受信タスク管理モジュールの実装26

5.7 イデオロギー的および政治的ラベル管理モジュールの実装28

5.8 通知管理モジュール30

第 6 章システムテスト31 

6.1 テスト環境31

6.2 テストの目的

6.3 機能テスト31

6.4 テスト結果32

第 7 章 総括と展望34

参考資料35

ありがとう37

  1. 序章
    1. 意義

カリキュラムのイデオロギー的および政治的リソースのクラウドソーシング システムの開発と研究は、理論的にも実践的にも広範囲にわたる重要性を持っています。

 (1) 理論的意義

カリキュラムリソースと学生カリキュラムリソースに関する国内外の学者の研究基盤に基づいて、学生カリキュラムリソースの開発と活用に関する研究の不足を目指して、著者は学生カリキュラムを高等学校の思想的および政治的要素と組み合わせて研究を展開します。高等学校の思想・政治教育課程の範囲と分野を明らかにし、政治学問自体の発展を深化させる 「教育課程・思想」に関する系統的かつ徹底した研究を通じて、高等学校における思想・政治科目の教育に理論的指導を提供するよう努める。政治資源クラウドソーシングシステムとその開発』。

 (2) 実務上の意義

この研究を通じて、学生の理論的研究と教育実践の探求を統合することを推進できます。一方で、カリキュラムのイデオロギーおよび政治リソースのクラウドソーシング システムの開発で得た成果と経験を整理して要約し、依然として存在する欠点を反省し、カリキュラムのイデオロギーおよび政治リソースのクラウドソーシングを捕捉および開発する戦略を改善します。システム。一方で、教科指導や生徒に対する自分自身の見方を変え、自らの指導行動を変え、教師の専門能力開発レベルを向上させることは有益である。

    1. 研究手法

この論文の研究の焦点は、カリキュラムのイデオロギーおよび政治リソースのクラウドソーシング システムの開発戦略です。この記事の革新性は、高等学校のイデオロギーおよび政治コースの観点からカリキュラムリソースの開発を置き、このコースの教室での指導中および授業後に生徒のカリキュラムリソースを開発する戦略を積極的に探求していることにあります。

使用される調査方法は次のとおりです。 (1) 文献調査方法。カリキュラムリソースとカリキュラムリソースとその開発と活用に関する国内外の学者のさまざまな研究結果を確認し、カリキュラムのイデオロギー的および政治的リソースのクラウドソーシングシステムの概念を定義し、その開発を議論するための理論的および執筆的基礎を築きます。(2) 調査研究の方法。授業観察や公開・半公開インタビューを通じて、教師や学生とコミュニケーションをとり、研究に必要な貴重な情報を入手します。(3) 経験の要約方法。カリキュラムのイデオロギーと政治リソースのクラウドソーシング システムを開発する方法とアプローチを要約して反映し、関連する事例分析と説明を紹介し、カリキュラムのイデオロギーと政治リソースのクラウドソーシング システムの開発戦略を継続的に改善します。

    1. 主な著作と論文の構成

この論文の主な研究は、コンピュータと情報管理を有機的に組み合わせる方法を研究し、Java 言語と Mysql データベース技術を使用して Dreamweaver のシステムの機能モジュールを実現し、クラウドソーシング システムに近い一連のクラウドソーシング システムを効果的に開発することです。カリキュラムのイデオロギーおよび政治リソースの実践、カリキュラムのイデオロギーおよび政治リソースのクラウドソーシング システムの効果的な管理。

紙の構成は次のとおりです。

第 1 章 はじめに: 主に、カリキュラムの思想的および政治的リソースのクラウドソーシング システムの開発背景、研究状況、目的、意義を分析します。

第2章 開発技術とソフトウェア:主にシステム開発ツールを紹介し、開発システムで使用される特殊機能技術について説明します。

第 3 章 システム分析: 主にカリキュラムのイデオロギー的および政治的リソースのクラウドソーシング システムのニーズを分析し、そのデータ フローと機能を分析します。

第 4 章 システム設計: 主に、システム要件に従ったシステム設計、データ開発および機能モジュール設計のプロセスを紹介します。

第 5 章 システム実装: この章では主に、システム インターフェイスのスクリーンショットに基づいて、システムのさまざまな機能の実現結果を紹介します。

第 6 章 システム テスト: この章では、システムは機能モジュールをテストし、システムの主要な機能が正しいことを確認するテスト ケースを作成します。

第 VII 章 要約と展望: 論文全体の研究内容を要約し、論文全体の特徴を要約し、欠点を指摘し、次のステップの方向性を指摘します。

  1. 関連技術紹介
    1. 開発技術

システムのフロントエンド部分は B/S モデルを使用して MVVM モデルに基づいて開発され、バックエンド部分は Java ssm フレームワークに基づいて開発されます。

フロントエンド部分: フロントエンド フレームワークには、人気のあるプログレッシブ JavaScript フレームワーク Vue.js が採用されています。Vue-Router と Vuex を使用して動的ルーティングとグローバル状態管理を実現し、Ajax を使用してフロントエンドとバックエンドの通信を実現し、Element UI コンポーネント ライブラリを使用してページを迅速にプロトタイプ化し、プロジェクトのフロントエンドはグリッドを通じて応答性を実現しますPC、タブレット、モバイルなどに適応できるレイアウト。さまざまな画面サイズに最適なレイアウト表示。

バックエンド部分: 開発フレームワークとして ssm を使用し、同時に MyBatis、Redis、およびその他の関連テクノロジーを統合します。

    1. 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 の新機能が組み込まれています。

    1. MySQLデータベース

Mysql は何度もアップデートされており、その機能レベルは非常に充実し完成度が高く、Mysql4 版から 5 版までは比較的大規模なアップデートが行われ、実際の商用利用においても良好な実用化実績をあげています。Mysql の最新バージョンは、情報の圧縮をサポートすると同時に、情報セキュリティのニーズをより適切に満たすために暗号化も実行できます。同時に、システムの複数のアップデートを経て、データベース自体のミラーリング機能も大幅に強化され、操作のスムーズさと使いやすさが大幅に向上し、ドライバーの使用と作成もより効率的になり、もっと早く。最大の変更点は空間情報の表示の最適化で、これによりアプリケーション マップ上でのラベル付けと座標の計算が容易になります。また、強力なバックアップ機能により安心してご利用いただけるほか、サポートされているOffice機能により、ユーザー自身でのインストールや使用もサポートします。情報の表示形式も大幅に更新され、非常に便利な 2 つの表示領域が追加されました。1 つは分類された表とテキストを含む情報領域で、インターフェイスの表示はより新鮮で具体的です。2つ目は機器の情報制御であり、機器情報エリアに情報を表示したり、複数の情報を同時に比較したりすることができ、実際のユーザーの使用に大きな利便性をもたらします。

この記事で設計したオンライン試験システムの実際の導入プロセスにおいて、Mysql データベースを選択した主な理由は、エンタープライズ アプリケーション システムの適用および開発中に頻繁に操作されるデータベースが多数存在するためです。データセキュリティ要件も非常に高いです。これらの要因を踏まえ、最終的にオンライン試験システムのバックグラウンドデータの保存先として、比較的安全率の高い Mysql が選択されました。

データベース管理システムの全体構成図を下図に示します。

               

 

図 2-1 データベースの構造             


    1. B/S構造

B/S (ブラウザ/サーバー) は、以前のアーキテクチャよりも便利なアーキテクチャです。Web サーバーを使用してデータの転送と交換を完了します。クライアントとしてブラウザをダウンロードするだけで、作業は「スリム化」効果を実現し、ソフトウェアのノンストップインストールの問題を考慮する必要はありません。

    1. SSM フレームワーク

SSM は SpringMVVM+Spring+MySQL であり、これら 3 つのフレームワークにはそれぞれ独自の利点があるため、これらを組み合わせることで強力なスパークを生み出すことができます。設計者は手間をかけずに Web アプリケーション プログラムを作成でき、階層が明確で、アップグレードや更新の操作が通常の使用に影響を与えず、複数の使用が可能であるという特徴もあります。この複合フレームワークは、完全な構造、強力な機能、優れた構造を持つシステムを形成します。SpringMVVM が各プレートを分離し、Spring が開発をより柔軟かつ便利にし、開発者がオブジェクトを直接操作できるようにし、各レベルで作業内容を分割し、各レベルを実現します。分離すると、コードがより柔軟で合理化されます。このフレームワークにより、プログラマーは開発期間中の全体の破壊につながる個別のミスを回避することができ、また、開発後の段階での顧客からの製品に対する新たな要求にも対応することができます。

    1. ssm フレームワークのレイヤー間の関係:

DAO層とサービス層はそれぞれ独立して開発可能であり、相互結合が非常に低いため独立して実行できるため、特に大規模プロジェクトの開発過程で有利となる。

コントローラー層とビュー層は結合性が高いため一緒に開発されますが、最初の 2 つの層全体として独立して開発することもできます。このように、レイヤーとレイヤーの前のインターフェイスの定義を知っていればよく、そのインターフェイスを呼び出して必要なロジック ユニット アプリケーションを完成させるだけで、すべてが非常に明確かつシンプルになります。

  1. システム分析
    1. 実行可能性分析

システムを開発するには、実現可能性を分析し、時間とリソースの制約を考慮する必要があり、これによりシステム開発のリスクを軽減できます。同時に、分析後は人的資源を合理的に使用できるだけでなく、さまざまなリソースの消費も節約できます。テクノロジー、経済、社会の3つの側面を紹介します。

      1. 技術的な実現可能性

技術的実現可能性は、現在のプロジェクトで使用されている技術が要件を満たせるか、設備の要件を満たせるか、さまざまな補助ツールがサポートできるかが主に考慮されます。このシステムは Java 開発言語を使用しており、デバッグは比較的簡単で、現在のコンピュータのハードウェア構成は開発ニーズを十分に満たすことができるため、技術的には完全に実現可能です。ソフトウェア: ソフトウェア開発プラットフォームは成熟しており、実現可能であるため、高速、大容量、高信頼性、低価格であり、システムのニーズを十分に満たすことができます。Java プログラミング言語を使用する場合、技術的な問題はありません。

      1. 経済的実現可能性

Myeclipse 開発プラットフォームとシステムで使用される Mysql バックエンド データベースはどちらも無料の開発ツールです。したがって、開発コストは主にその後のプロモーションとシステム保守に集中します。高コストのC/Sモデルに比べて、低コストのB/Sモデルも選択されるため、経済的な問題はほとんどありません。

      1. 社会的実現可能性

このシステムは、カリキュラムの思想的・政治的リソースを便利かつ効率的に管理するためのクラウドソーシングシステムを出発点として独自に開発したシステムなので、社会的にも可能です。

    1. パフォーマンス分析

性能分析においては、従来の管理方法と比較して、従来の管理方法では手作業で統計を作成し、紙とペンでデータ情報を管理するため、特定のデータ情報の保存や検索に手間がかかります。従来の方法は、現在の社会の発展に適応することが難しく、人々の作業効率が低下するだけでなく、多くの人的資源と物的資源が必要となり、時間とコストの点で比較的高価になります。コストを削減するには、ユーザーの改善が必要です。作業効率を向上させ、コンピューターとネットワーク技術に基づいたコースのイデオロギー的および政治的リソースのクラウドソーシング システムを開発します。

カリキュラム思想・政治資源クラウドソーシングシステムの開発・設計は独立したシステムであり、以前のデータベースは主にカリキュラム思想・政治資源クラウドソーシングシステムのユーザー役割と対応する機能モジュールを実現するためのデータ保存と開発に使用されているため、カリキュラムのイデオロギーと政治リソースのクラウドソーシング システムの管理には、管理の違いや効率の低さがありませんが、従来の管理情報の正反対です。カリキュラムのイデオロギーと政治リソースのクラウドソーシング システムの実現により、リソースが節約され、処理が可能になります。ビジネスのスピードも向上し、効率的かつ強力になります。

3.3システムフロー解析

3.3.1情報追加処理_

情報を追加します。番号付けシステムは自動番号付けモードを使用します。ユーザーは入力しません。ユーザーは情報を追加して情報を入力します。システムは情報とデータを自動的に確認します。検証が成功した場合、情報は有効であり、データベースの情報が無効な場合は、情報を再入力してください。図 3-3 は、情報を追加するプロセスを示しています。

 

                                                          図 3-3 情報追加のフローチャート

3.3.2 操作プロセス

ユーザーがシステムに入る場合は、まずシステムのログイン インターフェイスに入り、正しいユーザー名とパスワードを使用してログインするためのログイン タイプを選択します。システムはログイン情報をチェックし、情報が正しいことを確認してから、対応するパスワードを入力します。関数インターフェイスでは、情報が間違っているためログインが失敗することを示すプロンプトが表示されます。システムの動作プロセスを図 3-4 に示します。

 

                                                   図 3-4 動作フローチャート

3.3.3 情報削除処理

ユーザーは削除する情報を選択し、「削除」ボタンをクリックします。情報を削除するかどうかを尋ねるメッセージが表示されます。ユーザーが情報の削除を希望した場合、システムは情報を削除します。システムデータベースの削除情報。図 3-5 に情報削除のフローチャートを示します。

 

                                                            図3-5 情報削除のフローチャート


  1. システムデザイン
    1. システムアーキテクチャ設計

カリキュラム思想・政治資源クラウドソーシングシステムのシステムプロジェクトの概要設計分析主な内容は、カリキュラム思想・政治資源クラウドソーシングシステムの具体的な分析を含むデータベース設計データはmysqlデータベースを使用し、システム設計より人間的な操作設計を採用し、システム内のエラー情報に適時に対処し、フィードバックすることができます。

カリキュラムベースのイデオロギーおよび政治リソースのクラウドソーシング システムの設計は既存のコンピューターに基づいており、ユーザー管理、受信タスク、イデオロギーおよび政治タグ、通知管理、コースのリリース、イデオロギーおよび政治タスクの詳細な理解と統計分析を実現できます。 、など。システムの機能要件に従って確立されたモジュール関係図は次のとおりです。 

                                   

 

           図 4-1 管理者機能モジュール図

       

    1. 開発プロセス設計

コースのイデオロギーおよび政治リソースのクラウドソーシング システムの開発は、システムが使用する管理モジュールとデータベースを分析し、生成開発、計画、運用を書き込み、情報管理アプリケーション プログラムを構築するために必要な 3 つのステップであり、システムが本当に実行できるかどうかを判断します。あらかじめ設定された機能を実現するか、設計が成功した後に実装できるかどうか。開発プロセスでは、各段階は線形シーケンスに厳密に従って開発する必要があり、対応する段階で生成された各作業はテクノロジーによって検証およびチェックできます。設計機能の完了後にシステムが保証されるように、1 つの段階の完了後にそれが正しいこと、次の段階でドラッグ アンド ドロップ現象が発生しないことを確認してください。

カリキュラムのイデオロギーおよび政治リソースのクラウドソーシング システムの成功した開発経験から判断すると、上記の方法は最も明らかな効果があり、システム開発の複雑さを最小限に抑えます。図 4-2 に示すように。

 

         図 4-2 開発システムのフローチャート

    1. データベース設計

データベースは情報システムの基盤であり中核です。データベース設計の良し悪しは、情報システム開発の成否に直結します。データベース テーブルを作成すると、まずエンティティの属性とエンティティ間の関係が決定されます。リレーションシップに基づいてデータ テーブルを作成します。

4.3.1エンティティ ER 図

データベースはソフトウェアプログラミング全体の中で最も重要なステップであり、データベース問題では主にデータベース数の決定と構造式の作成が行われます。表示システムは Mysql を使用してデータベースを管理し、データのセキュリティと安定性を確保します。

概念モデルは、現実世界の情報を抽象化し、情報世界をモデル化するように設計されています。これはデータベース設計のための強力なツールです。データベース概念モデル設計では、ER 図を通じて現実世界の概念モデルを記述することができます。システムの ER 図は、システム内のエンティティ間のリンクを示します。また、Mysql データベースは比較的強力な自己保護機能を備えたデータベースであり、主にデータベース エンティティの ER 図を次の図に示します。

(1) 図 4-3 に示すように、コース管理 ER 図を公開します。

                          

 

                                                   図 4-3 コースの公開エンティティのプロパティ グラフ

 (2) イデオロギー的および政治的課題管理の ER 図を図 4-4 に示します。

                            

 

                                                 図 4-4 イデオロギー的および政治的タスクの管理エンティティ図

これらの機能は、カリキュラムのイデオロギーおよび政治リソースのクラウドソーシング システムのニーズを完全に満たすことができます。このシステムの機能は、システム機能構造の下の図 4-5 に示すように、比較的包括的です。

 

                                                 図 4-5 システム機能構成図

4.3.2データシート

データベース概念設計のER図をリレーショナルデータベースに変換します。リレーショナル データベースでは、データ関係はデータ テーブルで構成されますが、テーブルの構造はテーブルのフィールドで表現されます。

teacher_user

名前

タイプ

長さ

nullではない

主キー

ノート

教師ユーザーID

整数

11

はい

はい

教師用ユーザーID

フルネーム

可変長文字

64

いいえ

いいえ

名前

性別

可変長文字

64

いいえ

いいえ

性別

可変長文字

64

いいえ

いいえ

タイトル

可変長文字

64

いいえ

いいえ

職名

検査状態

可変長文字

16

はい

いいえ

承認状況

お勧め

整数

11

はい

いいえ

インテリジェントな推奨事項

ユーザーID

整数

11

はい

いいえ

ユーザーID

作成時間

日付時刻

0

はい

いいえ

作成時間

更新時間

タイムスタンプ

0

はい

いいえ

更新時間

受信したタスク表:

名前

タイプ

長さ

nullではない

主キー

ノート

受信したタスクID

整数

11

はい

はい

受信したタスクID

出版社

整数

11

いいえ

いいえ

出版社

受信機

整数

11

いいえ

いいえ

受信機

コース名

可変長文字

64

いいえ

いいえ

コースタイトル

可変長文字

64

いいえ

いいえ

章名

可変長文字

64

いいえ

いいえ

章名

ラベル名

可変長文字

64

いいえ

いいえ

レーベル名

絵の内容

可変長文字

255

いいえ

いいえ

画像の内容

タスクのステータス

可変長文字

64

いいえ

いいえ

タスクのステータス

章の内容

文章

0

いいえ

いいえ

章の内容

イデオロギーと政治の内容

文章

0

いいえ

いいえ

イデオロギー的および政治的な内容

タスク要件

文章

0

いいえ

いいえ

ミッション要件

返信メッセージ

文章

0

いいえ

いいえ

返信メッセージ

お勧め

整数

11

はい

いいえ

インテリジェントな推奨事項

作成時間

日付時刻

0

はい

いいえ

作成時間

更新時間

タイムスタンプ

0

はい

いいえ

更新時間

publish_courses表:

名前

タイプ

長さ

nullではない

主キー

ノート

公開コースID

整数

11

はい

はい

コースIDの公開

出版社

整数

11

いいえ

いいえ

出版社

コース名

可変長文字

64

いいえ

いいえ

コースタイトル

可変長文字

64

いいえ

いいえ

章名

可変長文字

64

いいえ

いいえ

章名

ラベル名

可変長文字

64

いいえ

いいえ

レーベル名

絵の内容

可変長文字

255

いいえ

いいえ

画像の内容

可変長文字

64

いいえ

いいえ

章の内容

文章

0

いいえ

いいえ

章の内容

イデオロギーと政治の内容

文章

0

いいえ

いいえ

イデオロギー的および政治的な内容

お勧め

整数

11

はい

いいえ

インテリジェントな推奨事項

作成時間

日付時刻

0

はい

いいえ

作成時間

更新時間

タイムスタンプ

0

はい

いいえ

更新時間

book_information表:

名前

タイプ

長さ

nullではない

主キー

ノート

通知管理ID

整数

11

はい

はい

通知管理ID

タイトル名

可変長文字

64

いいえ

いいえ

タイトル名

お知らせ_内容

文章

0

いいえ

いいえ

通知内容

お勧め

整数

11

はい

いいえ

インテリジェントな推奨事項

作成時間

日付時刻

0

はい

いいえ

作成時間

更新時間

タイムスタンプ

0

はい

いいえ

更新時間

イデオロギーと政治的タスク表:

名前

タイプ

長さ

nullではない

主キー

ノート

ideological_and_political_tasks_id

整数

11

はい

はい

イデオロギー的および政治的タスク ID

出版社

整数

11

いいえ

いいえ

出版社

コース名

可変長文字

64

いいえ

いいえ

コースタイトル

可変長文字

64

いいえ

いいえ

章名

可変長文字

64

いいえ

いいえ

章名

ラベル名

可変長文字

64

いいえ

いいえ

レーベル名

絵の内容

可変長文字

255

いいえ

いいえ

画像の内容

章の内容

文章

0

いいえ

いいえ

章の内容

イデオロギーと政治の内容

文章

0

いいえ

いいえ

イデオロギー的および政治的な内容

タスク要件

文章

0

いいえ

いいえ

ミッション要件

お勧め

整数

11

はい

いいえ

インテリジェントな推奨事項

作成時間

日付時刻

0

はい

いいえ

作成時間

更新時間

タイムスタンプ

0

はい

いいえ

更新時間

イデオロギーと政治ラベル表:

名前

タイプ

長さ

nullではない

主キー

ノート

ideological_and_political_label_id

整数

11

はい

はい

イデオロギー的および政治的ラベル ID

ラベル名

可変長文字

64

いいえ

いいえ

レーベル名

ラベルの説明

文章

0

いいえ

いいえ

ラベルの説明

お勧め

整数

11

はい

いいえ

インテリジェントな推奨事項

作成時間

日付時刻

0

はい

いいえ

作成時間

更新時間

タイムスタンプ

0

はい

いいえ

更新時間

grade_leader表:

名前

タイプ

長さ

nullではない

主キー

ノート

学年リーダーID

整数

11

はい

はい

学年リーダーID

フルネーム

可変長文字

64

いいえ

いいえ

名前

性別

可変長文字

64

いいえ

いいえ

性別

可変長文字

64

いいえ

いいえ

タイトル

可変長文字

64

いいえ

いいえ

職名

検査状態

可変長文字

16

はい

いいえ

承認状況

お勧め

整数

11

はい

いいえ

インテリジェントな推奨事項

ユーザーID

整数

11

はい

いいえ

ユーザーID

作成時間

日付時刻

0

はい

いいえ

作成時間

更新時間

タイムスタンプ

0

はい

いいえ

更新時間

  1. システム導入
    1. データベース接続モジュールの実装

从web系统查询数据的根本的查询步骤:

Step1: 进行检查并且过滤来自用户的系统数据;

Step2: 成立起一个合适的数据库进行连接;

Step3: 进行查询系统数据库;

Step4: 获得查询的结构;

Step5: 把查询的结果展示给用户。

Step6: 数据库连接断开,释放资源。

数据库连接原理如下图所示。

 

图5-1数据库连接原理

数据库连接关键代码如下所示。

/**

 * 临时访问牌(AccessToken)表实体类

 *

 */

@TableName("access_token")

@Data

@EqualsAndHashCode(callSuper = false)

public class AccessToken implements Serializable {

    private static final long serialVersionUID = 913269304437207500L;

    /**

     * 临时访问牌ID

     */

    @TableId(value = "token_id", type = IdType.AUTO)

    private Integer tokenId;

    /**

     * 临时访问牌

     */

    @TableField(value = "token")

    private String token;

    /**

     * 最大寿命:默认2小时

     */

    @TableField(value = "maxage")

    private Integer maxage;

    /**

     * 创建时间:

     */

    @TableField(value = "create_time")

    private Timestamp createTime;

    /**

     * 更新时间:

     */

    @TableField(value = "update_time")

    private Timestamp updateTime;

    /**

     * 用户信息

     */

    @TableField(value = "user_id")

    private Integer user_id;

}

    1. 登录模块的实现

为确保系统安全性,系统操作员只有在登录界面输入正确的用户名、密码、权限以及验证码,单击“登录”按钮后才能够进入本系统的主界面。

用户登录流程图如下所示。

                    

 

图5-1用户登录流程图

登录界面如下图所示。

图5-1登录界面

 

登录代码如下:

    /**

     * 登录

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

        QueryWrapper wrapper = new QueryWrapper<User>();

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }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.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

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

        }

}

    public String 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 sql.toString();

}

    public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

    1. 发布课程模块的实现

如果发布课程数据的信息需要修改,管理员可以通过查询发布课程数据的基本信息来查询发布课程数据,查询发布课程数据是通过ajax技术来进行查询的,需要传递发布课程数据的标题、编号等参数然后在返回到该页面中,可以选中要修改或删除的那条信息,如果选中了超过一条数据,页面会挑一个窗口提醒只能选择一条数,如果没有选中数据会挑一个窗口题型必须选择一条数据。当选择确认修改的时候,后台会根据传过来的id到数据库查询,并将结果返回到修改页面中,可以在修改页面中修改刚刚选中的信息当点击确认的时候from表单会将修改的数据提交到后台并保存到数据库中,就是说如果提交的数据数据库中存在就修改,否则就保存。

发布课程数据展示界面如下图所示。

 

                                                                   图5-1发布课程界面

    1. 思政任务模块的实现

此页面的关键是编写思政任务信息,包括思政编号,名称,详情等。单击提交按钮以完成信息的添加。如果未写入完整的思政任务信息,例如,如果未写入思政编号,系统将给出相应的错误提示,并且无法成功输入。数据以概念的形式以onsubmit =“return checkForm()”的形式写入以进行检查,checkForm()函数是一种用于写入数据的不同类型的校对方法,是不是为空也是经过form表单中的οnsubmit=”return checkForm()来检查。

管理员点击左侧菜单“思政任务管理”,页面跳转到思政信息管理外观,调用后台测量查询所有课程信息。并将信息密封到数据集合List,绑定到请求对象,然后页面跳转到相应的Java,显示出思政任务信息,单击删除按钮完成思政信息的删除。

思政任务流程图如下图所示。

 

图5-1思政任务流程图

思政任务界面如下图所示。

 

                                                     图5-1思政任务界面

思政任务管理关键代码如下所示。

@RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

}

    1. 教师用户管理模块的实现

教师在yhzhgl查看教师信息,先使用sql语句查询出所有教师表的数据,然后调用PageManager.getPages(url,4,sql, request ),返回一个ArrayList的对象,在for循环里,使用jsp得到每个ArrayList对象的数据,在jsp页面中解析ArrayList对象,得到其各个键值对的值。

教师用户管理界面如下图所示。

 

图5-1教师用户界面图

教师用户管理关键代码如下所示。

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

}

    1. 已接任务管理模块的实现

用户已接任务后后台会自动生成已接列表。从session中取出该用户信息,前台发起请求,将对应的用户信息、baozhangpId参数信息从前台传递BaozhangController类里,匹配到create()方法,create()方法调用BaozhangServiceImpl类的createBaozhang()方法获取数据,调用本类的getCartBaozhangItem()方法得到已接任务列表。

已接任务推荐界面如下所示。

 

图5-1已接任务界面

已接任务管理关键代码如下:

    @RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

}

    

    1. 思政标签管理模块的实现

此页面的关键是编写思政标签信息,包括思政标签编号,名称,详情等。单击提交按钮以完成信息的添加。如果未写入完整的思政标签信息,例如,如果未写入思政标签编号,系统将给出相应的错误提示,并且无法成功输入。数据以概念的形式以onsubmit =“return checkForm()”的形式写入以进行检查,checkForm()函数是一种用于写入数据的不同类型的校对方法,是不是为空也是经过form表单中的οnsubmit=”return checkForm()来检查。

管理员点击左侧菜单“思政标签管理”,页面跳转到思政标签信息管理外观,调用后台测量查询所有课程信息。并将信息密封到数据集合List,绑定到请求对象,然后页面跳转到相应的Java,显示出思政标签信息,单击删除按钮完成思政标签信息的删除。

思政标签流程图如下图所示。

 

图5-1思政标签信息流程图

思政标签界面如下图所示。

 

图5-1思政标签信息界面

思政标签添加关键代码如下所示。

public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

    1. 通知管理模块的实现

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

通知管理界面如下图所示。

 

图5-1通知管理界面图

通知管理关键代码如下所示。

   public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

  1. 系统测试
    1. 测试环境

1、服务器端

操作系统:Windows 7

Web服务器:Tomcat7.0

数据库:Mysql

开发语言:Java

2、客户端

浏览器:Internet Explorer10

界面布局:DIV+CSS

分辨率:最佳效果1027*768以上像素

3、开发工具

Visual Studio Code

Myeclipse

    1. 测试目标

系统测试是用于检查软件的质量、性能、可靠性等是否符合用户需求。一套严谨的、规范的、完善的测试过程将大大提高软件的质量、可信度、可靠性,降低软件的出错率,降低用户风险系数。通过在计算机上对系统进行测试试验并从中发现此系统中存在的问题和错误然后加以修改,使之更加符合用户需求。

1.测试的目的是通过测试来发现程序在执行过程中的错误的过程。

2.好的测试方案是可以检验出还未被发现的错误的方案。

3.好的测试是发现了到目前为止还未被发现的错误的测试。

4.该系统能够完成用户管理、已接任务、思政标签、通知管理、发布课程、思政任务等功能,做到所开发的系统操作简单,尽量使系统操作不受用户对电脑知识水平的限制。

    1. 功能测试

下表是课程思政资源众包系统功能的测试用例,检测了课程思政资源众包系统中对精品推荐信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;管理员登录系统。

表6-1思政任务管理的测试用例

功能描述

用于思政任务管理

测试目的

检测思政任务管理时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加思政任务,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加思政任务,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改思政任务,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改思政任务,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除思政任务,选择思政任务删除

提示删除成功

与预期结果一致

点击搜索思政任务,输入存在的思政任务名

查找出思政任务

与预期结果一致

点击搜索思政任务 ,输入不存在的思政任务名

不显示思政任务

与预期结果一致

下表是思政标签管理功能的测试用例,检测了思政标签管理的操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;管理员登录系统。

表6-2 思政标签管理的测试用例

功能描述

用于思政标签管理

测试目的

检测思政标签管理时各种操作的情况

测试数据以及操作

预期结果

实际结果

未选择思政标签,点击提交

提示请选择思政标签

与预期结果一致

未上传附件,点击提交

提示请选择附件

与预期结果一致

未选择原因,点击提交

提示请选择原因

与预期结果一致

    1. 测试结果

根据以上测试情况,测试结果如下表所示。

表6-1测试结果表

测试项目

测试结果

登录测试

成功

修改密码测试

成功

思政标签管理测试

成功

思政任务测试

成功

通知管理

成功

已接任务管理测试

成功

发布课程测试

成功

用户管理测试

成功

  1. 总结与展望

本研究针对课程思政资源众包系统地需求建模,数据建模及过程建模分析设计并实现课程思政资源众包系统的过程。给出系统应用架构并分析优劣势,通过功能分解图,系统组件图描述功能需求。设计建立了数据库,给出系统关键数据结构的定义。通过类关系图描述组件间的协作关系,给出各个类的定义方法。通过描述每一个类的字段,属性及方法实现课程思政资源众包系统  的前后端代码。最终给出系统集成整合方法,完成课程思政资源众包系统  地设计与实现。

在此项目的开发中,先要按照产品经理做出的产品模型铺出大体的页面,并在其中找好页面的逻辑关系,并且中途总结一些页面上的问题重新反馈给产品经理,当静态页面的搭建的大体已经完善时,就需要和负责后台开发的技术开发者联系,来接好前后台的数据接口,可以让后台的信息在前台显示出来,在这个项目实现中,不光明白了前端开发和产品经理的联系,也明白了后台在整个系统中起到了什么作用,因为前后台的连接,用户可以对系统进行操作,可以在输入自己的相关信息后,通过后台加工,完成对数据库的查找、修改、添加,而理解了这些关系与实现的方法后。再去完善整个系统的功能就更加清晰与简单了。此次的项目它涉及了前台与后台系统的搭建,在学校所学的知识基础上,此次的项目,让我对于一个系统的前端开发,以及后台的作用都有了一个更深切的认知。

参考文献

[1]王常珏,段尧清,朱泽.基于SSM的政府数据治理联盟链框架构建[J/OL].情报科学:1-18[2022-03-16].http://kns.cnki.net/kcms/detail/22.1264.g2.20220309.1213.002.html

[2]许爱琪,柳松. 一种MySQL数据库全流量镜像系统及方法[P]. 上海市:CN114064767A,2022-02-18.

[3]李艳杰.基于JAVA与MySQL数据库的移动端题库练习系统的设计与实现[J].黑龙江科学,2022,13(02):56-57.

[4]李双,郭晨晨,李佳虎,张慧娥.基于SSM框架的智能驾校系统的设计与开发[J].电脑知识与技术,2022,18(03):62-63+65.

[5]王一竹.基于MySQL的图书馆信息管理系统设计[J].电脑编程技巧与维护,2022(01):93-95+116.

[6]郭静.基于SSM框架的高校新生预报到系统的设计与实现[J].电子技术与软件工程,2022(02):232-235.

[7]冯凯.“MySQL数据库”课程教学中常见问题探析[J].无线互联科技,2021,18(24):158-159.

[8]陈洁.“MySQL数据库安全”课程教学方法优化分析[J].无线互联科技,2021,18(24):160-161.

[9]徐旭,李明明,夏辉,陈曦,王天宇,肖硕,雍旭.基于SSM框架的互联网+多元监管下构建医疗设备质量控制管理服务平台研究[J].中国医学装备,2021,18(12):106-110.

[10]李春生,李朝霞,刘涛,胡亚楠.基于SSM的科研室管理系统的研究与设计[J].计算机技术与发展,2021,31(12):148-154.

[11]胡世洋,赖森林.浅论SSM框架在构建“微农”信息服务中的应用[J].电脑知识与技术,2021,17(34):4-6.

[12]李耀,李路兰,王明宇,杨广,王伟,孙新杰.基于SSM框架的创新创业申报系统的构建——以六盘水师范学院为例[J].电脑知识与技术,2021,17(33):47-48+52.

[13]王晨. 基于JAVA的教室查询系统研究[C]//.第三十五届中国(天津)2021’IT、网络、信息技术、电子、仪器仪表创新学术会议论文集.,2021:16-19.

[14]Jun Ma, Jun Mao, Long Chen , Lili Yin. Design and Implementation of Multi-terminal Debugging System based on SSM Framework[J]. International Core Journal of Engineering,2021,7(7).

[15]Xiaojie Guo,Tingmei Wang*. Design and Implementation of Graduate Information Management System Based on SSM Framework[J]. Journal of Simulation,2020,8(2).

[16]Ping Wanxin,Chen Yuankun,Hou Xiaoyan. Design of Campus Bicycle Rental Management System Based on SSM Framework[J]. Journal of Physics: Conference Series,2019,1314.

[17]李莹, 电子信息 易云云数据库MySQL上线. 翟立新 主编,中关村年鉴,北京出版集团公司北京出版社,2018,205,年鉴.

[18]Taizhi Lv, Juan Zhang. Non-Book Resource Management of Library based SSM Framework[J]. Scientific Journal of Economics and Management Research,2019,1(4).

[19]肖睿,程宁,田崇峰,金志雄,杜毅. MySQL数据库应用技术及实战[M].人民邮电出版社:, 201801.177.

[20] Chen Xiaobing、Qian Wei、Guo Xu、Li Tiezheng、MySQL データベース攻撃とセキュリティ保護技術に関する研究 [C]//、第 6 回全国ネットワーク セキュリティ レベル保護技術会議の議事録、2017:89-93。

ありがとう

この論文の完成に際し、指導教官に感謝の意を表したいと思います。講師のWebデザインクラスでは、その時に多くのことを学び、インターンシップのプロセスの一定の基礎を築きましたし、講師も私のデザインに対して多くの提案をし、丁寧に指導してくれました。論文を書いた友達に時々励ましてもらったり、このプロジェクトを改善する方法を教えてくれたフロントエンドの学生たちに感謝しています。始めなければいけないことがたくさんあり、よくわかりませんが、フロントエンド開発の学生たちが根気強く指導してくれて、このプロジェクトを完成させることができました。システムのバックエンド開発では、バックエンド開発技術が使用されます。また、時々説明してくれるので、論文の理解が深まります。終わりに、私を助けてくれたクラスメートと私を教えてくれた講師に心から感謝を表したいと思います。そして、あなたが成功することを祈っています。あなたのキャリア。

いいね+お気に入り+フォロー→プライベートメッセージでソースコードとデータベースを受け取ります

おすすめ

転載: blog.csdn.net/weixin_61498557/article/details/131282137