JavaWeb に基づく学生成績照会システムの設計と実装 (論文 + ソース コード)_kaic

開発ニーズ
に応じて、このシステムは主に教育システムで使用され、日常の教育業務における生徒の成績ファイルのデジタル管理を完了します。本システムの開発により、大学教職員の業務負担の軽減、教務管理、教務サービス、情報管理の体系化を図るとともに、省力化、照会の迅速化、管理の強化、管理の強化が可能となります。国の部門による情報のペースが向上し、管理がより標準化されます。現在、学務は煩雑で教材も重く、大学にはさまざまな管理情報システムが導入されているものの普及が進んでおらず、学生の成績管理についても完全かつ統一的なシステムが存在していないのが現状です。したがって、互換性の高い適切な普及システムを開発する必要があります。このシステムの開発過程では、業務プロセスの運用との整合性に留意し、教育機関のみに適したシステムにならないよう、包括的かつ普遍的なシステムとなるよう努める必要がある。開発手法の選択では、ライフサイクル手法とプロトタイプ手法が選択され、システム調査、システム分析、システム設計、システム実装の 4 つの主要な段階に従って設計が実行され、具体的な設計では、進化的な設計が行われます。プロトタイプは、ユーザーの理解とシステムの使用に関するより深い理解とともに使用され、1 つまたは複数の部分で分析、設計、実装されます。この記事では主にシステム分析、システム設計、システム導入、利用方法について紹介します。
キーワード: 学生成績管理情報システム、情報化、データベース、Asp.net 

抽象的な
開発ニーズに応じて、このシステムは主に教育システムに適用され、学生のデジタル管理記録の日常教育作業を完了します。このシステムの開発により、大学職員の仕事のプレッシャーを軽減し、教育管理、教育サービス、情報管理をより体系的に行うことができると同時に、労働力の使用を削減し、調査を迅速化し、管理を強化することができます。州情報局のペースに合わせて、管理をより標準化する。現在、学校では業務が多岐にわたり、データも膨大であり、各種管理情報システムが大学内に導入されているものの普及が進んでおらず、学生の成績管理に関しても完全かつ統一的なシステムが構築されていないのが現状である。したがって、互換性の良い適切な普及システムを開発する必要があります。システムの開発においては、システムが教育機関のみに適用されるのではなく、業務プロセスの運用との整合性を図り、システムを包括的かつ普遍的なものにするよう努める必要があります。開発手法の選択では、ライフサイクル手法とプロトタイプ手法を選択し、システム調査、システム分析、システム設計、システム実装の 4 つの主要な段階に従って、具体的な設計では、理解を深めながら進化型プロトタイプを使用します。ユーザーとシステムの使用状況の一部またはセクションを分析し、設計と実装を行います。本稿では主にシステム分析、システム設計、システム実装および利用について紹介します。システムの開発においては、システムが教育機関のみに適用されるのではなく、業務プロセスの運用との整合性を図り、システムを包括的かつ普遍的なものにするよう努める必要があります。開発手法の選択では、ライフサイクル手法とプロトタイプ手法を選択し、システム調査、システム分析、システム設計、システム実装の 4 つの主要な段階に従って、具体的な設計では、理解を深めながら進化型プロトタイプを使用します。ユーザーとシステムの使用状況の一部またはセクションを分析し、設計と実装を行います。本稿では主にシステム分析、システム設計、システム実装および利用について紹介します。システムの開発においては、システムが教育機関のみに適用されるのではなく、業務プロセスの運用との整合性を図り、システムを包括的かつ普遍的なものにするよう努める必要があります。開発手法の選択では、ライフサイクル手法とプロトタイプ手法を選択し、システム調査、システム分析、システム設計、システム実装の 4 つの主要な段階に従って、具体的な設計では、理解を深めながら進化型プロトタイプを使用します。ユーザーとシステムの使用状況の一部またはセクションを分析し、設計と実装を行います。本稿では主にシステム分析、システム設計、システム実装および利用について紹介します。ビジネスプロセスの運用と一貫性を持たせ、システムが教育機関のみに適用できるように、システムを包括的かつ普遍的なものにするよう努める必要があります。開発手法の選択では、ライフサイクル手法とプロトタイプ手法を選択し、システム調査、システム分析、システム設計、システム実装の 4 つの主要な段階に従って、具体的な設計では、理解を深めながら進化型プロトタイプを使用します。ユーザーとシステムの使用状況の一部またはセクションが分析され、設計と実装が行われます。本稿では主にシステム分析、システム設計、システム実装および利用について紹介します。ビジネスプロセスの運用と一貫性を持たせ、システムが教育機関のみに適用できるように、システムを包括的かつ普遍的なものにするよう努める必要があります。開発手法の選択では、ライフサイクル手法とプロトタイプ手法を選択し、システム調査、システム分析、システム設計、システム実装の 4 つの主要な段階に従って、具体的な設計では、理解を深めながら進化型プロトタイプを使用します。ユーザーとシステムの使用状況の一部またはセクションを分析し、設計と実装を行います。本稿では主にシステム分析、システム設計、システム実装および利用について紹介します。開発手法の選択では、ライフサイクル手法とプロトタイプ手法を選択し、システム調査、システム分析、システム設計、システム実装の 4 つの主要な段階に従って、具体的な設計では、理解を深めながら進化型プロトタイプを使用します。ユーザーとシステムの使用状況の一部またはセクションを分析し、設計と実装を行います。本稿では主にシステム分析、システム設計、システム実装および利用について紹介します。開発手法の選択では、ライフサイクル手法とプロトタイプ手法を選択し、システム調査、システム分析、システム設計、システム実装の 4 つの主要な段階に従って、具体的な設計では、理解を深めながら進化型プロトタイプを使用します。ユーザーとシステムの使用状況の一部またはセクションを分析し、設計と実装を行います。本稿では主にシステム分析、システム設計、システム実装および利用について紹介します。そして設計と実装。本稿では主にシステム分析、システム設計、システム実装および利用について紹介します。そして設計と実装。本稿では主にシステム分析、システム設計、システム実装および利用について紹介します。
キーワード:学生の学力管理情報システム、学業成績管理情報システム 情報化; データベース; アスプネット

目次
1 はじめに 1
1.1 論文の背景 1
1.2 既存システムの問題点の分析 1
1.3 システム開発の目標と意義 2
2 主要技術の紹介 3
2.1 システム開発ツール 3
2.1.1 統合開発環境 My Eclipse 3
2.1.2 Web アプリケーション サーバー Tomcat 3
2.2 JAVA テクノロジ 4
2.3 SQL Server テクノロジ 5
3 学生パフォーマンス管理システム分析 6
3.1 要件分析 7
3.1.1 システム設計分析7
3.1.2 システム機能分析 7
3.2 システム実現可能性分析 7
3.2.1 技術的実現可能性分析8
3.2.2 経済的実現可能性分析 8
3.3 システム開発環境 8
4 学生成績管理システムの設計 9
4.1 システム設計のビジネス目標 9
4.1.1 システム設計目標の概要 9
4.1.2 システムの技術的性能要件 10
4.2 システム構造 11
4.3 データベース設計 12
4.3.1 概要設計 12
5 学生成績管理システムの詳細設計 14
5.1 ログインモジュールの実装 14
5.2 ホームページ機能の実装 15
5.3 スコア管理モジュールの実装 16
5.4 クエリ管理モジュールの実装 17
5.5 コース管理モジュールの実装 18
6 システムテスト 19
6.1 システムテストの概要 19 6.2
システムテスト 19
6.2.1 テストの重要性と目的 19
6.2.2 テスト手順 20
6.3 インターフェーステスト 20
6.4 システムテストの内容と方法 21
7 結論 22
参考文献 23
謝辞 24

1 はじめに
1.1 本稿の背景
    コンピュータ技術の発展、特にコンピュータネットワーク技術やデータベース技術の発展に伴い、人々の生活や働き方は大きく変化してきました。ネットワーク技術の応用によりコンピュータ間の通信や情報の共有が可能となり、データベース技術の応用により人はデータの保存、情報の検索、情報の分析などの機能を実現し、業務を効率化します。データベースは 1960 年代に始まり、40 年以上の開発を経て、現在では理論的なシステムを形成し、コンピューター ソフトウェアの重要な分野となっています。データベース技術は現代の高度なデータ管理方法を具体化しており、コンピュータ アプリケーションが国民経済のさまざまな部門に真に浸透することを可能にし、データ処理の分野でますます重要な役割を果たしています。インターネット技術の出現により、人々の生活はさらに豊かになりました。デジタルサバイバルは私たちの生活や仕事に浸透しています。インターネット技術とデータベース技術の組み合わせは、人間の生活におけるコンピューティング技術の応用に大きな影響を与えてきました。産業の情報化、経営の近代化、科学化は産業発展の重要なテーマとなっており、これは企業の競争力を向上させるだけでなく、国家全体の国力を向上させる重要な手段であり、国家繁栄の重要な手段でもあります。 。教育は国の成り立ちを左右する重要な産業であり、改革・開放・市場経済の発展と中国の特殊な国情に伴い、教育は国家から強い支持を受け、各界各層から大きな注目を集めている。人生。教育はあらゆる階層で標準化と近代化の急速な発展の方向に向かって発展してきましたが、先進国に比べて我が国の教育産業における情報技術の応用レベルは依然として非常に低く、大都市でしか発展していません。中国はコンピュータの点で私たちにとって非常に大きく、あらゆる面で作業効率が向上し、良好な社会的および経済的利益を達成しました。一部の新しい小規模教育機関にはこの機能が備わっていません。したがって、中国の教育の急速な発展に伴い、情報技術の応用はより広範かつ奥深くなるでしょう。
1.2 既存システムの問題点の分析
我が国において、学校におけるさまざまな情報管理システムは新しい話題ではありませんが、学校によっては情報管理システムが導入されておらず、ほとんどすべての作業が手作業で行われています。コンピューター技術は急速に発展していますが、一部の学校、特に西部の貧しい地域の学校では、この学校管理方法は依然として手作業で行われており、非常に後進的で非効率的で、非常にコストがかかり、非常にエラーが発生しやすいものです。社会の発展に伴い、情報化は社会のプロセスの中で避けられない傾向であり、学校運営は迅速かつ正確かつ正確にのみその価値を発揮することができます。したがって、人的資源が機械に取って代わられることは、歴史的発展において避けられない傾向であり、それは指導者の注意と支援によってのみ変えることができます。手動操作からコンピュータ化された自動化システムまで。手動操作はコンピューターに置き換えられます。学校によってはコンピュータを導入し、管理システムを導入しているところもありますが、まだまだ課題は多く、解決は1日にしてならず、効率化も1日にして成りません。さらに、一部のシステムは非常に不完全であるため、いわば脆弱性が満載です。このような不完全な制度では経営は保証できません。
1.3 システム開発の目的と意義
本システムは、現代のコンピュータ技術と伝統的な教育・指導管理業務を組み合わせたものであり、大学のワークフローに沿って設計、完成されています。このシステムが大学経営においてより大きな役割を果たし、業務プロセスの情報化を実現し、業務の効率化と品質の向上を図るために、以下のシステム開発目標を提案する。同時にアップグレードする必要があります; (2) 混乱を避けるために各データベースを動的に管理します。(3) ユーザーが選択したさまざまな条件に基づいて単純な複合クエリを実行できる機能 (4) クエリ結果を分類および集計してレポートを印刷できる機能 (5) データのセキュリティに配慮し、データのバックアップとリカバリ機能を備えている

2 主要なテクノロジーの紹介
2.1 システム開発ツール
2.1.1 統合開発環境 My Eclipse
My Eclipse は主に Java、Web、モバイル インターネット開発をサポートしており、オープン ソース ソフトウェアのサポートが非常に優れています。緑色のUML。My Eclipse は、Java EE 5 と Spring の機能コンポーネントを進化させ、EJB3.0 エンジニアリング プロジェクトの柔軟性を強化し、データベース モデルから Bean を直接生成し、システム ベース開発ツール Power Designer を組み合わせてエンティティ Bean を生成します [12]。さらに、My Eclipse は AJAX 開発とテストをサポートしており、RAD WEB 開発には Matisse4MyEclipse ビジュアル Swing デザイナーが含まれています [6]。プロジェクトは、コマンドの調整および操作モードと組み合わせて、それ自体で設計および有効化され、自動的に構成されます。以前に実行されていたサーバーは自動的に停止され、既存のアプリケーションで再構成されます。My Eclipse Tomcat 6 サーバーは適切な場所に統合されており、JDBC に自動的に接続されるため、My Eclipse は実験室レベルのアプリケーションを迅速に開発できるソフトウェアです。
2.1.2 Web アプリケーション サーバー Tomcat
    Tomcat のトップレベルは、Tomcat のライフサイクル全体を制御するサービスの統合です。サービスはコンテナとコネクタで構成されており、コンテナとコネクタは別個の制御ユニットを形成してサービスを提供します。Tomcat は、エンジン、ホスト、コンテキスト、ラッパーをコンテナに抽象化します。Tomcat のコネクタの多くのコンポーネントにはライフ サイクルがあります。これらのコンポーネントのライフ サイクルにはいくつかの類似点があります。したがって、共通の特性を持つコンポーネントは Tomcat のライフサイクル インターフェイスに抽象化されます。コントロールのライフ サイクルは、トランザクションを介したコンテナ間の転送に使用されます。メカニズムの情報 [10]。標準サーバー、標準サービス、コネクタ、およびその他のコンポーネントはライフサイクル インターフェイスを実装できます。Tomcat のパイプライン バルブ メカニズムでは、バルブが入力データを取得し、処理が完了した後、出力データが呼び出し元に返されます [11]。パイプライン上の構成順序に従って各バルブをロードし、パイプラインを介して各バルブ間の呼び出しを完了して、特定のアプリケーション ロジックを実装します。パイプラインには複数の Valve が含まれています。これらのバルブは 2 つのカテゴリに分類されます。1 つは get Basic および set Basic メソッドを通じて呼び出される基本的なバルブであり、もう 1 つは add Valve および delete Valve を通じて呼び出される通常のバルブです [13]。さらに、パイプもコンテナに格納されるため、get Container メソッドと set Container メソッドがあります。パイプラインには通常、1 つの基本バルブと、ゼロから複数の通常のバルブがあります。パイプライン内のすべてのバルブが非同期をサポートしている場合は true を返し、それ以外の場合は false を返します。
2.2 JAVAテクノロジー
Java 言語には、クロスプラットフォームやマルチスレッドなどの機能があります。クロスプラットフォームとは、Java 言語で開発されたプログラムを指し、ハードウェアやオペレーティング システムの制限を受けず、あらゆるプラットフォームに移植できます [6]。クロスプラットフォームの利点は主に Java の仮想マシンによるものです。Java 仮想マシンは、Java ソース コードの実行環境です。オペレーティング システムとプラットフォームが異なると、Java のバージョンも異なります。Java 仮想マシンは中間層として機能するため、Java コードを異なるオペレーティング システム間で移植できます。Java のオブジェクト指向は、カプセル化、継承、ポリモーフィズムなどの機能を備えた、別のエンティティ抽象化です [1]。Java のセキュリティは主に、Java 言語が厳密に型指定された言語であるという事実に反映されています。変数の使用は厳密に定義する必要があり、使用する前に最初に定義する必要があります。変数の値と型は相対的であり、それ以外の場合は使用できません。使用済み。Java プログラミング言語は、指定されたタスクを実行するための基本的なメソッドを提供するオブジェクト指向言語です。Java の自動ガベージ コレクションは、プログラマのメモリ管理作業を大幅に簡素化します [6]。マルチスレッドテクノロジーには優先特性があり、動作は優先順位に比例するため、カップの詰まりを防ぎます。Java 言語には、JDBC、JNDF、EJB、RMI、サーブレット、JMS、JTS、JAF など 13 のコア技術があり、その内、JDBC は Java のデータベース接続であり、Java Data Base Connectivity の略称は、次のグループで構成されています。 Java のクラスとインターフェイス。さまざまなリレーショナル データベースに統一されたステートメントを提供でき、データベース メーカーはデータベースの実装に基づいた JDBC ドライバーを提供します。JDBC の登場により、Java によるデータベースへの接続がより簡単かつ安定しました。JDBC Java プログラムがデータベースを操作するためのインターフェースを提供することで、Java プログラムの開発者が複雑なデータベース システムを操作する必要がなくなり、同時に Java プログラムの堅牢性が向上します [8]。EJB は Java EE のサーバー コンポーネント モデルです。Java クラスを統合し、サーバー上で実行されます。分散オペレーティング システムで重要な役割を果たします。Java は RMI パッケージを提供します。RMI は、ローカル メソッドを使用してリモート クラスを呼び出すことを指します。これにより、Java 仮想マシン上の Java ローカル クラスのオブジェクトが別のマシンのメソッドを呼び出します。このメソッドによって呼び出されるオブジェクトは、リモート クラスで定義されたインターフェイスを実装する必要があります [ 2] 。呼び出されるとき、そのパラメータは「MarShalled」で、ローカル仮想マシンからリモート仮想マシンに送信されます(リモート仮想マシンのパラメータは「アンマーシャリング」です)。メソッドが終了すると、リモート マシンからの結果がマーシャリングされ、呼び出し元の仮想マシンに送信されます。メソッド呼び出しによって例外がスローされた場合、そのことが呼び出し元に通知されます[3]。Java のサーブレットは Java サーバー プログラミングのコンソールであり、サーブレット内に存在します。get メソッドと do post メソッドは、フォームからデータを受け取り、それを do get または do post を通じて JSP によって表示されるデータベースまたはページに渡すために使用されます。Java の JTS は、透過的なトランザクション伝播を備えたコンポーネント リスナーであり、システム リソースを節約できるコンテナとスレッドの関連付けなどの機能を備えています [4]。
Java 言語は、他の言語とは大きく異なる独自のコア技術と動作メカニズムを備えているため、他の言語で書かれた言語よりもパフォーマンスが非常に高く、特に Web やモバイル インターネットの分野では、Java は多くの機能を備えています。このライブラリは HTML などの解析が高速であると同時に、Java には Spring、Struts、Hibernate、Tomcat など、開発において大きな利点がある成熟したフレームワークが多数あります[5]。
 2.3 SQL Server テクノロジ
SQL Server は、強力な機能と豊富な API を備えた合理化されたデータベース オペレーティング システムです。SQL Server は、マルチユーザー、マルチスレッドのデータベース サーバーです。SQL Server は B/S レイアウトであり、サーバー プログラムと複数のクライアント プログラムで構成されます [7]。
SQL Server の SQL インターフェイスは操作命令を受け取り、データベースを通過した後に対応する結果を返します。パーサーは、配信プロセス中にパーサーによって解析される SQL ステートメントであり、LEX および YACC によって実装されるデータ スクリプトです。QSL ステートメントをリレーショナル データ構造に解析し、データ関係を処理してオプティマイザに渡すことができます。解析プロセス中にエラーが発生した場合、またはオプティマイザによって認識されるデータに解析できない場合は、構文のスプライシングが存在することが証明されます。この SQL ステートメントのエラー、オプティマイザーはパーサーから送信されたデータを受信し、クエリ データ速度を最適化するという目的を達成するために、それを選択、投影、および接続します。クエリ ステートメントにスペル ミスがない場合、SQL ステートメントは対応するクエリ キャッシュからクエリ結果を取得します。キャッシュは、テーブル キャッシュ、レコード キャッシュ、主キー キャッシュ、ビュー キャッシュ、および一連の関連キャッシュを含む複数の小さなキャッシュで構成されます。メモリ ストレージ エンジンは、メモリ内のデータを使用してデータ テーブルを作成できます。データはメモリに保存されるため、サービスがシャットダウンされるとデータは失われます。

3 学生成績管理システムの分析
3.1 需要分析
21 世紀以降、人類経済は急速に発展し、特にコンピュータの経済社会生活のさまざまな分野への応用と普及が日を追うごとに変化しています。本来の古い管理手法は、今日の社会の発展にはますます不適切になってきています。多くの人が古い手動操作に囚われています。これは人類経済の発展を大きく妨げてきました。現代社会の人々の強い時間感覚に適応するため、学校情報管理システムソフトは学校事務に大きな利便性をもたらしています。
3.1.1 システム設計分析
システム設計分析 このシステムは小学校および中学校に適しており、その機能は主に 6 つのカテゴリに分類されます: ユーザー管理: ユーザーの追加、異なる権限の割り当て、ユーザーの変更とクエリに使用されます コース管理: 使用学期ごとの開設とコースの変更 コースの成績管理:ランキングの入力、変更、集計、成績評価に使用 学生情報管理:学生情報およびその他の指導情報の追加、削除、修正に使用 管理:担当教師、コース番号、単位時間の追加と維持、授業、その他の情報 学生情報クエリ : クエリ方法はファジィであり、複数の条件を組み合わせる機能があります。学生の成績統計: 学部コースの合計成績と平均成績の情報の統計。ステムの性能には、使いやすさ、コンクリートの高膨張性、メンテナンス性が求められます。
3.1.2 システム機能の分析
権限機能: システムには動的権限割り当て機能があり、ユーザーの権限に従ってユーザーをグループ化できます。一般ユーザー、一般ユーザー、スーパーユーザーに分けることができます。一般ユーザーは照会のみで変更はできない 一般ユーザーは権限の範囲内で対応する変更・削除のみ可能 スーパーユーザーはすべての情報の変更・削除が可能
入力機能:一般ユーザー向けには対応する入力機能を提供し、スーパーユーザー向けにはあらゆる情報の入力機能を提供する。
クエリ機能: すべてのユーザーが許可された範囲内のすべての情報をクエリできるクエリ機能を提供します。
メンテナンス機能:一般学生にはクエリとそれに対応する変更・削除機能を提供し、スーパーユーザーにはすべての情報の変更・削除機能を提供します。
終了機能: システムを終了してシャットダウンします。
3.2 システムの実現可能性分析
3.2.1 技術的実現可能性分析
一般に、実現可能性分析研究計画では、まず技術、経済、社会の3つの側面から学生の学力システムの進捗状況を分析し、これらの側面から研究することで、投資の失敗を回避し、学生の学力システムの成功を確実にします。設計を開発し、短期間内に最小限のコストで解決できるかどうかを判断することが、実現可能性調査の目的の 1 つです。
   今回設計した生徒演奏システムは、技術的な実現可能性の観点から、主にHTML5、JAVA、MYSQLデータベースを組み合わせて設計・開発されています。JAVA は通常、サーバー側のスクリプト環境で実行され、動的な Web サーバーを作成および操作するために必要なプログラミング言語です。現在、多くのシステムは HTML5 を使用してフロントエンドに実装されています。JAVA は言語互換性が高く、セキュリティが高く、データベース操作が容易で、オブジェクト指向の学習が容易であるため、システム アプリケーションでは HTML5 が非常に一般的です。したがって、技術的な観点からは開発は可能です。
3.2.2 経済的実現可能性の分析
まず、経済的実現可能性の観点から、重要なのはプロジェクトの経済的便益を評価することです。開発されたシステムは追加のハードウェア性能を必要とせず、資金は開発者やシステムアプリケーション担当者に受け入れ可能であり、システムの導入により、販売業務がより効率的に完了し、従来の学生の成績表示によって農家に引き起こされるコストの問題が回避され、農家の情報管理が容易になるため、このシステムの開発は経済的に実現可能です。
3.3 システム開発環境
諸条件により、生徒成績管理システムはパソコンを使用し、3-1 のようなパラメータで設計します。
表 3-1 ソフトウェアおよびハードウェアのパラメータ表
構成パラメータ
CPU Intel Core i7
周波数 3.7GHZ
メモリ 8GB
ハードディスク 1TB
オペレーティング システム Windows7 Windows Server 2008
開発環境 Myeclipse Android Studio
データベースSQLサーバー

4 学生の成績管理システムの設計
4.1 システム設計のビジネス目標
4.1.1 システム設計目標の概要
    成績管理情報システムの全体的なビジネス目標は、効果的に適用できる、高度で効率的、安全で信頼性の高い情報システムを確立することです。学生の成績管理にデータベース管理システムを提供します。システムはB/S構造、つまりブラウザ/サーバーモードを使用しており、サーバー側はASP.Netを実行するWebアプリケーションとMicrosoft SQL Server2000を実行するデータベースサーバーで構成され、クライアントはインターネット経由でシステムにアクセスできます。エクスプローラーとファイアフォックス。この情報システムは、学生の成績管理のビジネス ロジックの動作を具体化し、関連する煩雑な作業プロセスを大幅に簡素化し、管理者の意思決定を強力にサポートします。
管理機能構造図:


教師の機能構造図:


4.1.2 システムの技術的性能要件
学生成績管理情報システムの全体的な技術目標は、高度なコンピュータ ネットワークとデータ技術を適用して、教育業務における成績管理のための安定した、安全で信頼性の高い情報サービスを提供することです。
(1) 先進性:
先進的で成熟したコンピュータ ソフトウェアおよびハードウェア テクノロジーを使用して、システムが将来のテクノロジーとビジネス開発のニーズに最大限に適応できるようにします。ソフトウェア構造は、階層型、モジュール型、プラットフォームベース、統一化および標準化され、システムの科学的性質を確保するために高度な最新の管理技術を採用する必要があります。
(2) オープン性:
コストパフォーマンスに優れたオープンなソフトウェアおよびハードウェアプラットフォームを採用し、複数の通信プロトコルやデータベースをサポートするネットワークアーキテクチャ、C#などの共通開発言語ツールの採用、主流のB/S構造を採用します。ユーザーの操作プラットフォーム。
(3) 信頼性
信頼性には、システムの安定性とデータの信頼性が含まれます。システムの安定性要件には、7 時間 24 時間稼働のニーズを満たすこと、ローカルのハードウェア、ネットワーク、ソフトウェア障害が発生した場合に対応するバイパス技術とフォールトトレランス技術があること、およびシステム全体の動作に影響を与えない単一点障害が含まれることです。 。
データの信頼性要件としては、ローカルのバックアップデータとリアルタイムのトランザクションデータの整合性を確保すること、ローカル障害が発生してもデータが失われないこと、重大な事故が発生した場合でも指定された期限内にバックアップデータを復元できることなどが挙げられます。
(4) 効率性
大規模な同時業務処理能力を備えたシステム設計が必要であり、データ処理や送信はバッチ処理も可能です。一日の終わりのデータバックアップやバッチ処理中であっても、ビジネスは通常通り継続できます。
(5) 可用性
可用性には、システムの通常時の可用性と、システムが変更された場合の可用性が含まれます。通常の状況では、アプリケーション ソフトウェアはインストールが簡単、操作が簡単、ユーザーフレンドリーである必要があり、データ処理は簡単、便利、高速である必要があります。ビジネス プロセスは明確で習慣と一致しており、システムの保守は簡単で、バックアップとデータの回復は迅速かつ簡単です。同時に、ハードウェア、ソフトウェア、アプリケーションの調整が元のビジネスの実行に影響を与えてはなりません。 
(6) スケーラビリティ
高いスケーラビリティとは、ホスト、CPU、ディスク、メモリなどのハードウェアを拡張することでパフォーマンス指標を向上させることができ、ネットワークを拡張することでブロッキング、輻輳、タイムアウトを解消できるという 2 つの側面を指します。は、システムのオープンアーキテクチャ、モジュール性、パラメータ化と要素技術により、業務量・業態の拡大、他機関との接続拡大、システム機能の拡張などを十分にサポートし、システム導入サイクルの短縮を実現します。
(7) 管理性
高い管理性とは、通常時の管理性とシステム変更時の管理性を含みます。管理性とは、システムがホスト、ネットワーク、データベース、アプリケーションなどを監視、管理、スケジュールできることを意味します。また、システム自体およびシステム内を流れるすべての情報、パラメータ、ファイルの統合管理と制御も提供する必要があります。 。
4.2 システム構成
本システムは機能的に以下の主要モジュールに分類できます: 機能モジュール管理、グループ権限管理、学生情報管理、コース情報管理、学生成績管理、授業情報管理、学生情報照会、学生成績統計、など大きなモジュール。以下、各サブモジュールについて説明する。
機能モジュール管理: システム機能モジュールをデータベースに保存して、さまざまなユーザー グループへの権限の動的な割り当てやその他の操作を容易にします。このモジュールには、機能モジュールの追加、削除、変更等が含まれます。
グループ権限管理: ユーザーをグループ化し、異なるユーザー グループに権限を設定します。
学生情報管理モジュール:学生の基本情報を入力し、学生情報の追加、照会、変更、削除を行います。また、学生基本情報をキーワードでクエリしてデータベースから取得することもでき、学生基本情報、学籍番号、クラス番号、氏名情報のクエリ結果を出力します。
コース情報管理:コース番号、コース名、前提条件コース、その他のコース情報を設定します。
成績情報管理モジュール:成績情報を入力し、成績情報の追加、照会、変更、削除を行うことができます。また、キーワードを使用して、データベース内の生徒の基本成績情報の変更、削除などを照会して呼び出すこともできます。クエリされた生徒の成績情報を出力します。
指導情報管理:教師の指導情報のスケジュールや手配などを管理します。
学生情報クエリ: このモジュールは学生のスコアをクエリできます。学生番号、名前、年齢、学部、入学年などのさまざまな条件に基づいて個別にクエリまたはファジー クエリを実行できます。
生徒の成績統計:生徒の成績合計点、平均点などの統計。


 


  
ユーザーの追加 ユーザーの変更 ユーザーの削除 システムの終了
生徒情報の追加 生徒情報の変更 生徒情報の削除 生徒情報の問い合わせ
指導情報の追加 指導情報の
変更 成績情報の追加 成績情報の変更 成績情報の削除 成績情報の問い合わせ

  

図 4-1 システムモジュール 図
4.3 データベース設計
4.3.1 設計
    概要 データベーステーブルの実体モデルは以下のとおりです
管理者のエンティティ図については、図 4-2 を参照してください。

図 4-2 管理者エンティティ図
この研究室成績管理システムにおける関連するデータベース テーブル構造の設計例は次のとおりです:
(1) 学生情報テーブル Employee、主キー、学生番号、名前、行などの情報が格納されます。テーブル構造は表 4-1 に示すとおりです。

表 4-1 学生情報テーブル情報テーブル 従業員
フィールド タイプ 空か コメント
ID
名前
年齢
REX
  CLASS
状態 int (10)
char (255
) char (255)
int (10) int (
10)
char (255) No No No
Noいいえいいえ 学生証 氏名年齢性別学校クラス名








(2) スコア情報を格納するスコアテーブル テーブル構造を表 4-2 に示します。
表 4-2 成績情報テーブル
フィールド タイプ 空ですか? コメント
ID
名前
Chengji int (10)
char (255)
char (255) No
No
No 学生番号
コース
グレード

5 学生成績管理システムの詳細設計
5.1 ログインモジュールの実装
学生成績管理システムにはパスワード検索機能があり、電子メールを通じて取得できます。具体的な導入効果を図 5-1 に示します。

図 5-1 ログイン機能のインターフェース
ログイン機能のコアコードの一部は以下のとおりです。
インポート java.io.IOException;
インポート javax.servlet.ServletException;
インポート javax.servlet.http.HttpServlet;
インポート javax.servlet.http.HttpServletRequest;
インポート javax.servlet.http.HttpServletResponse;
インポート com.test.dao.UserDao;
public class LoginServlet extends HttpServlet {  UserDao userDao=new UserDao();  public void doGet(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {  }  public void doPost(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {   String userName=request. getParameter("ユーザー名");







  String パスワード=request.getParameter("パスワード");
  boolean flag=userDao.getSelect(ユーザー名, パスワード);
  if (フラグ) {    request.getRequestDispatcher("index.jsp").forward(リクエスト, 応答);   }   else    応答.sendRedirect("error.jsp");  }  } 5.2 ホームページ機能の実装は、学生管理モジュール、クラス管理モジュール、教師追加管理モジュール、学生情報管理モジュール、コース追加モジュール、クエリおよびその他のモジュールに分かれています。ホームページ モジュール内での効果を図 5-4 に示します。







図 5-4 ホームページ機能のインターフェース
ホームページ機能のコアコードの一部は次のとおりです。
public class LoadNameAction extends ActionSupport{     private Map<String, String> idcard_map;     private Map<String, String> car_map;         public Map<String, String> getIdcard_map() {         return idcard_map;     }     public void setIdcard_map(Map<String, String> idcardMap ) {         idcard_map = idcardMap;     }     public Map<String, String> getCar_map() {         return car_map;     }     public void setCar_map(Map<String, String> carMap) {         car​​_map = carMap;     }     @Override     public Stringexecute() throws Exception {
















        idcard_map = new LoadDaoImpl().selIdcard();
        car_map = new Factory().car_map();
        return super.execute();
    }
5.3 スコア管理管理モジュールの実装
スコア管理は、スコアの詳細情報と新しく追加されたスコアを取得できます。結果と検索結果を図 5-5 と図 5-6 に示します。

図 5-5 スコア検索ページ
スコア照会機能のコアコードの一部は以下のとおりです。
public class LoadInsAction extends ActionSupport    
    public Stringexecute() throws Exception {         String flag = "error";         date = new Factory().YmdToDate(year, month, day);         int rs = new LoadDaoImpl().upd(idcard, date, name, car);         if(rs==1){             flag = "success";         }         return flag;     } } 5.4 クエリ管理モジュールの実装スコアクエリを通じて、コース、スコア、試験時間、試験の種類などの情報を表示できます。 、など、具体的には、図 5-7 に具体的な情報が示されています。










図 5-7 クエリ関数のインターフェイス
クエリ関数のコア コードの一部は次のとおりです。
    @Override
    public Stringexecute() throws Exception {         String flag = "error";         date = new Factory().YmdToDate(year, month, day);         int rs = new RemoveDaoImpl().ins(idcard, Goods, "1" , date, name);         if(rs==1){             flag = "success";         }         idcard = new RemoveDaoImpl().selIdcard();         return flag;     } 5.5 コース管理モジュールの実装 コースを通じて、次のことを確認できます。コースと単位時間、編集、削除、試験の種類、その他の情報具体的な情報を図 5-7 に示します。










図 5-7 コース管理インターフェイス
コース機能のコアコードの一部は次のとおりです。
    @Override
    public Stringexecute() throws Exception {         String flag = "error";         date = new Factory().YmdToDate(year, month, day);         int rs = new RemoveDaoImpl().ins(idcard, Goods, "1" 、日付、名前);         if(rs==1){             flag = "成功";         }         idcard = new RemoveDaoImpl().selIdcard();         return flag;     }









6 システムテスト
6.1 システムテストの概要
Web アプリケーションの増加に伴い、新しいモデルのソリューションでは Web 中心のアプリケーションがますます増えており、多くの企業のさまざまなアプリケーションのアーキテクチャは主に B/S および Web アプリケーションに基づいています。 WEBテストについては該当するまとめがありませんので、航空警察管理システムを開発する際にWebアプリケーションで使用するテスト手法やテスト技術をまとめます。このテスト方法は Web プログラムのあらゆる側面をカバーしようとし、テスト技術は従来のテスト技術を継承し、Web アプリケーションの特性を組み合わせています。システムの運用に必要なすべての機能とハードウェアのパフォーマンスをカバーする必要があるため、一般的なシステム テストの一部を以下に示します。
機能テスト: いわゆる機能テストとは、システム開発の完了後、または機能の開発後に実行されるテストを指します。機能テストの目的は、プログラムがユーザーのニーズと異なっているか、またはユーザーのニーズと一致していないかを確認することです。機能テストは、完全なテスト欠陥記録ライブラリを確立するために使用されます。
パフォーマンス テスト: システム操作によって占有されるメモリ、特定の機能の実装にかかる時間、システムが耐えられる圧力、データベース接続が完了した直後に正常に戻ることができる時間。
モジュールのテスト: 一般に、優れたシステム開発および設計会社では、会社のメンバーは異なるモジュールの下でサブモジュールをテストする必要があり、各モジュールのサブモジュールは相互に影響を受けません。したがって、各モジュールを独立してテストできるため、各サブ機能の正確性を検出しやすくなり、バグの発見も簡単かつ迅速になります。
回帰テスト: エラーが正しいかどうかを検証する
6.2 システム テスト
6.2.1 テストの重要性と目的
    ソフトウェアのライフサイクルにおいて、ソフトウェアのテストは非常に重要です。従来の開発モデルでは、ソフトウェアのテストは依然として運用とメンテナンスの重要な時期にあります。近年、ソフトウェア工学では、ソフトウェアの各段階のライフサイクルに段階テストを含めるべきであるという新しい考え方が生まれており、この段階の結果が期待した結果に近いかどうかを確認するために使用されます。 、できるだけ早い段階でエラーを検出し、修正するために、テストが早い段階で行われない場合、エラーがプログラム全体に広がる可能性があり、多くの場合、完成品のテスト、または最初から開始する場合に大きな困難が生じる可能性があります。 
ソフトウェアと同様に、システムでも予期しないエラーが発生する可能性があります。新しい開発手法、安定した開発言語、完全な開発プロセスを採用することでエラーを大幅に減らすことができますが、ソフトウェア内の潜在的なエラーを完全に発見することはできず、テストを通じて検出する必要があります。
テストはソフトウェア開発の最も基本的な要素であり、重要な部分です。データによると、明らかな特徴を持つソフトウェア開発プロジェクトでは、ソフトウェア テストの作業量がソフトウェア開発作業量全体の 40% 以上を占めています。ソフトウェア開発の総コストのうち、テストのオーバーヘッドは 30% ~ 50% を占めます。
6.2.2 テストの手順
システム開発のプロセスでは、テスト作業も段階的に一貫して実行する必要があります。大規模なシステム ソフトウェアにはいくつかのサブシステムが含まれており、各サブシステムはいくつかの小さなモジュールで構成されています。そのため、大規模なシステムソフトウェアのテストは以下のステップに分けて行われます。
(1) モジュールテスト: サブモジュールのコーディングおよびデータ構造のエラーをチェックします。
(2) システムテスト:ソフトウェア全体が要求仕様で要求される機能を満たしているか、モジュール呼び出し時に問題が発生していないか、データの計算が正しいかなどをテストソフトウェア全体でチェックします。
(3) 受け入れテスト:すべての機能が完了し、すべてのデータが正常に送信できるかどうか。
6.3 インターフェースのテスト
多くの人はこれがテストの中で最も重要ではないと考えていますが、逆にインターフェースのテストは実際に非常に重要です。
この方法は設計ドキュメントに基づくことができ、これに基づいてページャは静的な HTML、CSS などを生成したり、いくつかの異なるソリューションのセットを生成したりすることもできます。
これには主に次の側面が含まれます。
サイトマップとナビゲーションバーの位置が適切かどうか、ナビゲーションできるかどうか、コンテンツのレイアウトが適切かどうか、背景や色が正しく、美しく、ユーザーのニーズを満たしているかどうか。ページがウィンドウ内に表示されているかどうか、正しく美しいか(ブラウザウィンドウのサイズを変更した際の画面更新が正しいか)、フォームのスタイルサイズ、形式、入稿データが検証されているか(ページ部分で検証されているか)、接続の形態や場所、待ち時間が分かりやすいかなど。ページ要素のフォールトトレランスリスト、ページ要素のリスト、ページ要素のフォールトトレランスの有無、ページ要素のフォールトトレランスが正しいか、ページ要素の基本機能が実現されているか、ページ要素の外観、ページ要素が正しく表示されるかどうか。注: ページ要素のリスト (ボタン、ラジオ ボックス、チェック ボックス、リスト ボックス、ハイパーリンク、入力ボックスなど、機能を実現するために必要なすべての要素がリストされています) 6.4 システム テストの内容と方法 
システム
テスト主に構成テスト、ページ レイアウト テスト、パフォーマンス テストが含まれます。主に次のモジュールのパフォーマンスをテストします。第一に、ユーザーのログインと登録機能、第二に、ユーザーが生徒の成績情報を変更、削除、および削除できるかどうかです。テキストや画像を含むすべてのコンテンツとセキュリティ テストをクエリします [4]。
通常、システム開発および設計において、開発完了後にシステム全体をテストしたい場合、システムをテストする方法は通常 2 つあります。 (1) ブラック ボックス テスト: いわゆるブラック ボックス テストとは、既知の知識を指します。システムの
機能内で、各機能が顧客のニーズを満たしているかどうかをテストします。ブラック ボックス テストとは、書かれたインターフェイス上で実行されるテストを指し、機能テストとも呼ばれます。ブラックボックステストは、システムが以前のユーザーのニーズを満たしているかどうかを判断するために、ソフトウェアに基づいて実行されます。期待される内容を正しく入力し、機能が正しく実装できるかどうかを確認してください。入力プロセスにより、外部情報の完全性が保証されます。
(2) ホワイト ボックス テスト: ホワイト ボックス テストとは、ソフトウェアのより詳細な検査を指します。このアプローチは、ブラック ボックス テストの正反対です。このようにして、テスターは内部情報を確認し、それを使用して新しいテストを選択できます。さまざまなテスト ケースを設定してシステムをチェックすることにより、ホワイト ボックス テストはドライバー テストとも呼ばれ、構成テストと呼ばれる別名もあります。

7 まとめ
設計開始からほぼ 1 学期が経過し、学生成績情報管理システムの設計はほぼ完了しました。最初はシステム設計に戸惑い、どうやって始めればよいか分からず、アイデアが浮かんだ状態になり、霧が晴れて明確なアイデアが得られるまで、そのプロセス全体で多くの新しい知識を獲得し、多くのことを学びました。
卒業制作の最初の構想は大変でしたが、私は頭の回転が悪く、早い段階で本をたくさん読んでアイデアを得る必要がありました。最初は期待した結果が得られませんでしたが、ソフトウェアの一般的な応用についてはよりよく理解できました。オンラインでの問い合わせや書籍の例から大きな成果が得られ、良いアイデアが浮かび始め、システム全体のアーキテクチャが見えてきました。
中期には、知識のつながりを図り、基本的な枠組みを最初に設計するようになりました。これはまさに「知っていることはすべて知っているなら、それを実行する必要がある」という言葉を実現するものでした。実際にやってみると、当初のコンセプトは理想的でしたが現実とのギャップがあり、戦略を変更して計画を立て直す必要があり、結局理想は残念ながら終わってしまいました。システムの重要な部分であるデータベースの構築は、実践と失敗がいかに重要であるかを身を持って体験したプロセスでした。MySQL では、DOS ウィンドウを使用してデータベースを作成していましたが、その方法で作成されたテーブルは扱いが不便で、削除、追加、変更が直感的に表示できない、表示、削除、追加、変更が必要な場合、煩雑すぎて操作が困難でした。 Tomcat の設定時に情報を確認したところ、設定後に URL を開ければ成功と表示されていましたが、URL を開くことができず、何度か試みましたがだめでした。これは本当に頭が痛かったので、クラスメイトにアドバイスを求めたところ、DOS ウィンドウを閉じてから Web サイトのアドレスを開くのは間違っており、それはサーバーをシャットダウンするのと同じであることに気づきました。設計プロセスでは、CSS、JSP、Java の技術に習熟していませんでしたが、サンプルやテンプレートを通じて少しずつ情報を探し、ゆっくりと修正し、試し、デバッグし、最終的に初期の結果を得ることができました。システムのバックエンドと機能モジュールが徐々に形になっていきました。
最後に、システムにログインした後、いくつかの機能が実装できなかったので、確認してアドバイスを求めたところ、原因はブラウザに互換性がないためで、システムに付属している IE ブラウザを使用する必要があることがわかりました。システムのデバッグ中に 404 エラーが発生しましたが、間違ったパス構成を変更したことで解決されました。
設計プロセスでは、知識には終わりがないことを学び、実践を通じて問題の解決策を見つけることを学びました。瞬間的な間違いは良いことであり、それによって自分の欠点を発見し、それに合わせて変化することが、私たちの能力を向上させるプロセスです。

参考文献
[1] Geng Xiangyi、Zhang Yueping. JAVA プログラミングに関する実践チュートリアル [M]. 北京: People's Posts and Telecommunications Press、2016 [
2] Chen Haishan. 詳細な JAVA サーブレット ネットワーク プログラミング [M]. 北京: 清華大学出版局、2017.
[3] (US) Ecker, Chen Haopeng. JAVA Programming Thoughts (4th Edition) [M]. 北京: Machinery Industry Press, 2015 [4] Li Xinghua. JAVA Development Practical Classics (Famous Teacher Forum) [M]. 北京
:清華大学出版局、2015.8.
[5] Bai Yajun。JSP プログラミング スキル [M]. 北京: Machinery Industry Press, 2015
[6] Li Gang. Crazy JAVA: プログラマーの基本スキルを突破する 16 のレッスン [M]. 北京: People's Posts and Telecommunications Press, 2016.5. [7]
Wang Shan、Sa Shi Xuan、データベース システム入門 (第 5 版)、北京: 高等教育出版、2017 年 12 月
[8] W.Clay Richardson、Donald Avondlio 他、Huang Xiangqing、Huang Okui (翻訳). Java Advanced Programming (JDK6)
[9] Zhu Yuchao、Ju Yan、Wang Daiyong. ASP.NET プロジェクト開発チュートリアル. 北京: Electronic Industry Press、2016. [10] Christian
Wenz. プログラミング ASP. NET AJAX. 南京: 東南大学出版局、2018.
[11] Jin Xiu、Feng Wohui、Shi Honxiang. ASP 動的 Web ページ トレーニング チュートリアル. 北京: Metallurgical Industry Press, 2017. [12] Shen Jinghu. Dreamweaver 中国語版基本トレーニング チュートリアル北京
:人民郵政通信社、2016 年。
[13] McLaughli、Pollice&West.Head、First Object-Oriented Analysis&Design[M]、O'R
eilly Media,Inc.2015、4
[14] Kathy Sierra。頭からJAVA[M]。出版物:アメリカ合衆国、2
[15] E.Horowitz および S.Sahni、『データ構造の基礎』、Pitmen Publishing Limited、2015 年。
[16] PJBaron および LG.Shapiro、「データ構造とその実装」、Van Nostorm Reinhold Company 著、2017 年


この卒業制作を終えるにあたり、まず感謝したいのはもちろん先生であり、この論文は先生のご指導のもと加筆修正を加え完成させました。    「この卒業論文の作成を通じて、私はフイヤン先生から多くのことを学びました。また、先生は卒業の過程で存在した問題についても根気よく正してくださいました。私の心の中で先生は神様です。疑問があれば、何でも質問してください。すべて私が直面した困難は先生が解決してくれました。とても良い先生です。辛抱強く対応してくれた先生に感謝します。彼女は理論と実践の両方で私に大きな助けを与えてくれ、私を大きく進歩させてくれました。この間、私は彼女から多くの専門知識を学んだだけでなく、彼女がとても真剣に仕事に取り組んでいることを感じました。また、彼女の厳しい研究姿勢とプロフェッショナリズムは学ぶ価値があります。
次に、この 4 年間ご指導いただきました先生方、クラスメートの方々に感謝いたします。この4年間で出会った大学の先生方は皆模範となる方々で、豊富な専門知識だけでなく、人間としての在り方や社会での足場の築き方なども教えていただき、私にとって大きな支えとなりました。純粋な友情とたくさんの素晴らしい思い出とともに。
最後に、私の前進は両親の無言のサポートと献身で満たされています。彼らの愛は、家族が常に私の港であることを私に理解させてくれます。両親の寛容さと理解を感謝します。また、大学生活の 4 年間、私に多くのアイデアやインスピレーションを与えていただき、私の計画をより深く理解することができ、大変お世話になりました。彼らの愛とサポートに対する配慮がなければ、私はこのような機会に彼らに感謝の言葉を言う機会はなかったでしょう。私の勉強や生活において彼らがサポートしてくれたことにとても感謝しています。

おすすめ

転載: blog.csdn.net/weixin_39563171/article/details/133254453