201771010102-チャンホイカット実験2つの個人的なプロジェクト - 「西北師範大学の学生の流行報告システム」プロジェクトレポート

プロジェクト コンテンツ
コースクラスのブログのリンク https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
このジョブは、リンクが必要です https://www.cnblogs.com/nwnu-daizh/p/12416880.html
私のコース学習目標 githubのをホストすることにより、プロジェクトを達成するためのプロジェクトの開発
この仕事は私がどのような分野での目標を達成するため学習に役立っ エクセルの接続SQL Serverの、Javaの接続のSQL Server
Githubのリポジトリプロジェクトリンクアドレス https://github.com/banmianzhuang02

タスク

毎日の流行報告サブシステムの経験

  当初は流行の毎日報告するサブシステムの設計内容が完璧ではない、また、情報を記入する際、再び毎日の個人情報を、それを埋めるために必要性があります。しかし、後半にこの問題は解決しています。しかし、提出時間を超えていない、時間を報告するときの状況は、近い将来に提出することはできませんが、現実には、例外を提出します。

タスクII

概要は、第2章と一緒に第1-2、「法の構築」、2.3 PSPプロセスは、あなた自身の心、西北師範大学の学生の毎日の流行の報告システムを開発読みます。あなたは、開発要件は、次の2種類の完全な開発タスクにプロジェクトを選択することができます

  私は、ファーストクラスのプロジェクト開発を選択しました

最初の開発要件:
  データファイル、100日2000教職員/学生、すべての予防接種情報の保存には、コマンドラインプログラムを設計してくださいその人でサポートクエリ1日流行状況、クエリデータの週のいくつかの種類流行の統計/月、およびディスプレイ統計結果のヒストグラム。
第2カテゴリー開発要件:
  1.学生の流行有効な情報を収集できるシステム;
  ; 2.システムは、ユーザーがオンラインでの使用を可能にする
  唯一の3塗りつぶし一日一回、提出後に変更することはできません、10時の毎日の流行情報の報告期限;
  4.各大学の指定された権限のサインインシステム埋めるために、この大学生の集計データを表示するには、後に、あなたが学生の情報、接触クラスの先生、すべての病院のデータを検証する責任大学生の人を見るためにクリックすることができ、データは学校の予防と管理室に提出されます。
  5。学校の予防と指定された人に責任ログインの制御「北西通常の防疫や統計情報の制御」サブシステムは、あなたが要約データを完了し、すべての生徒のリストを閲覧することができ、[書き出し]流行EXCELファイルデータを介して利用可能です。

プロジェクト開発の背景

  2019年12月の終わり、中国武漢は、予防と管理の一連の措置をとるために、流行の広がりを抑制する効果的にウイルスの伝達を遮断し、中央政府の指導の下、すべてのレベルで政府部門のために肺炎の流行に感染した小説コロナ(2019-nCoV)が行われます。 2020年以来、1月Riを武漢の10時23分「閉鎖都市」で、31個の省や自治体も厳格な規制措置を実施している、救助作業や武漢、湖北省に参加する医療チームを送信する省や都市は、全国;国での展開を動員する他の省から武漢保証用品、マスク、防護服、医薬品やその他の緊急に必要な医療資源武漢をサポートするために、できるだけ早く生産能力を再開するために、全国の医療物資の生産資格を企業に案内し、監督する;疾患の予防と管理のための資金の監督特別な財政配分人々の日常生活。
  中国のインターネット企業が社会的流行の予防と管理のガバナンスに重要な役割を果たしていることを言及する価値があります。テンセントは、例えば、流行の制御に応じて約ダースに製品を開発する必要があります。発熱と患者間の相互交差感染を減らすために流行のオンライン照会機能は、インターネット博士翔Zaixian照会を通じて自宅で患者に重要な役割を持っている場合は、ウイルスや感染症の伝播のリスクを低減し、公共のための噂スマッシュは、流行に向けて合理的な態度を取ります大きな意義の開発。武漢旅行はまた、武漢トラフィック制御の実装において重要な役割を果たしている通勤医療スタッフを、提供するために特別チームを設置降下します。また、ストローククエリツールと診断された新しい肺炎患者は、ユーザーが唯一の公共交通機関や旅行で自分の時間を入力する必要があり、あなたは感染が先に自己隔離と治療の仕事の、相手を診断されたかどうかを確認することができます。流行の予防とコントロールでは、中国のインターネット企業だけではなく、社会的責任の面で成長し、ますます成熟になってきています。
  コレクション、統計と効果的な協力のための防疫や制御メカニズムのトラブルシューティングに役立つ情報が、私たちの学校は、流行のスタッフが毎日報告するシステムを報告教職員/学生の流行を開発している、学生の流行は、毎日毎日、流行の二部門を報告しました集計表、4つの統計報告伝染病の予防と制御サブシステム。私たちの学校の基本的な状況を達成するために人員、地域や情報収集活動やトラックの健康のすべてのカテゴリ。教師と学生が本学の企業マイクロチャネルサービスホールによる情報の遠隔報告のためのシステムにアクセスします。

要求分析

  2019年12月に発生した多くの武漢の流行からより2020年1月30日は、1月になって、武漢1月23日の分離は、中国を除いて(世界ものの、1月31日の時点で、世界保健機関(WHO)によると、8日となっているました外は)新しいコロナウイルス2019-nCoV感染国の数は現在18カ国で82例に確認例の合計を意味しますが、することにより例、死亡やコミュニティ主に散発的に発生しないことがわかりました。
  現在建設中の武漢で、Dabie山地域医療センター1月28日に使用に入れた、千台を収容することができます-中国は皇「Xiaotangshan」病院は、3つの病院の緊急性感染症は、最速のビルドですバルカンヒル病院は開始から納品まで1500台が、10日以内に、使用に入れ2月3日と5日に開催されるされ、75000平方メートル34000平方メートル、1000台のベッド、レイセオンヒル病院です。

- 「からの引用新しいコロナウイルスと戦うために中国:進捗状況と影響を。」

  この場合、流行に関する統計情報、クエリ、グラフィックデータ表示が差し迫っている、我々は早急に進歩のさらなる監視や観察のために迅速かつ簡単な統計データや疾病情報の問い合わせ流行のシンプルなソフトウェアプログラムやシステム、疾患情報を必要としますそして、予測。

機能設計

基本機能:

  <1>、Excelデータエントリを使用。
  <2>、SQLインポートが統計表に優れています。
  <3>、Javaの接続SQL。
  <4>、Javaのリアライズのデータクエリ
  <5>、ヒストグラム実現するJava
  プログラムを終了し、<6>

設計と実装

テスト実行

Excelでデータ

エクセルデータのインポートSQL Serverの

データベース情報の照会

Javaのデータベース接続

コードブログの庭を表示するためのコントロールと、満足または比較的ユニークなコードスニペットを感じる貼り付け
package helloeclipse;
import java.sql.*;

class HelloWorld {

  public static void main(String [] args)
  {
     String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
     String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=information";  // studentmanager为数据库名

     String userName="sa";   // 登录账户名
     String userPwd="19980909";   // 密码

     try
  {
     Class.forName(driverName);
     Connection dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
     System.out.println("连接数据库成功");
  }
     catch(Exception e)
  {
     e.printStackTrace();
     System.out.print("连接失败");
  }
}

}

  実験中、に案内パケット生成パターンヒストグラム、円グラフなどの複数の導入は、失敗しました。だから、その後の実験操作が行われていないが、ないのjarパッケージプログラムが表示され多くのミスがありません。



概要

  実験中、問題は、上記のソフトウェアをダウンロードするために最初に表示されるSQL Serverの、オフィスやケースにおける最近の発展のために上記のコンピュータ・ソフトウェアのJava日食、なかったで、ダウンロードさまざまなソフトウェアを起動する方法はありません、取り扱いを誤っ早い時間に起因しますなどのMySQL、マイクロソフトのVisual Studio 2019のソフトウェアとして、ソフトウェアの間違ったバージョンに加え、他のダウンロードソフトウェアの数の追加をダウンロードし、その時間が十分にある、注意を払っていない、そして最終的に繰り返しインポートのヒストグラムを生成するには、jarパッケージをインストールエラーが、リンクデータベースは、瓶には問題をインポートしない前に、いくつかの試みが出てこない、のみしぶしぶ当面あきらめ変更されていません。

PSPを表示
PSP2.1 概要 計画時間(分)の合計を完了するために必要 完了するために必要な実際の時間(分)
プランニング 計画 10 10
推計 これは、タスクは、一般的に作業工程に多くの時間と計画が必要と推定しました 360 240
開発 開発 360 480
分析 (新しい技術を学ぶ含む)ニーズ分析 90 90
デザインスペック 設計ドキュメントの生成 60 60
デザインレビュー デザインレビュー(と同僚が設計文書を見直し) 90 120
標準コーディング コードの仕様(現在の開発のための適切な規範の開発) 360 120
設計 具体的な設計 120 100
コーディング 具体的なコーディング 500 60
コードレビュー コードレビュー 60 10
テスト 検査(セルフテスト、コードの変更は、変更をコミット 60
報告 レポート 60 60
試験報告書 テストレポート 30 20
サイズ測定 コンピューティングワークロード 10 20
死後&プロセス改善計画 その後まとめ、およびプロセス改善計画 10 10
コードの仕様

コードの仕様(Javaを使用して以来、この仕様のみのJavaコード)

  <1>、命名規則:一時変数は、可能な限り、メンバ変数のための短い変数名の効率を向上させるために使用される変数名からその意味を反映することができるため。
  <2>スタイルのファイル指定:コメントを記入する権利を重視。
  <3>、コーディングフォーマット:これは、ツールの数によって達成することができます。たとえば、おんぼろ自動車用。
  ルール自体が衝突、魚やクマの足は、システム要件に応じて決定されないだろう、というのノートへのボリュームの削減とスピードの考慮事項については、いくつかの小さな点にプログラミングのスキルと注意特定、:標準化された手順の<4>、準備トレードオフ。

命名規則

  、一般的に無駄なパッケージを、使用しないでください。
  B、クラスの命名(クラス名は小文字と大文字の単語での開始から他のでなければならない);という名前のクラス変数は(変数名は大文字で始まる単語の後の小文字の文字で始まる必要があります。)。
  C、静的なfinal変数の命名(静的最終変数名は大文字、と指摘すべきことであるが、完全な意味。)
  D、パラメータ名(パラメータの名前は同じ仕様と命名変数でなければなりません)。
  E、という名前の配列(配列は常に次のように名前を付ける必要があります)。
  ;代わりにバイトバッファの[]; fは、バイト[]バッファ
  (可能であれば、使用意味のあるパラメータ名、およびフィールドを使用するのと同じ名前を割り当てられる)パラメータg、方法。
  時間、Javaのドキュメントのスタイル(のJava(*。javaの)すべてのファイルが次のスタイル規則を遵守しなければなりません)

著作権情報

Javaの著作権情報は、例えば、ファイルの先頭にある必要があります:
/ ** *著作権®2000 XXX株式会社*すべての権利を保有。/
追加情報もこの中に含まれてもよいのjavadocに表示されている必要はありません。
パッケージ/インポート
インポートする前に、パッケージ名にローカル名の前に、標準的なパッケージをインポートし、アルファベット順に行へのパッケージの行。インポート行は、同じパッケージのサブディレクトリが含まれている場合、それはすべき
扱われます。

注クラスは、一般的なクラスを説明するために使用される
/ ** *集合表すクラス現在のセットが完了*である場合には、それが視聴することを可能にするために観測可能である*パケットとバイトのカウンターのを、唯一*報告書の変更/

クラス定義、実装と異なる行に含ま延び
CounterSetが観察実装パブリッククラスCloneableをを拡張

メンバ変数のクラス
のパブリックメンバ変数は、テキストファイル(のJavaDoc)を生成する必要があります。proceted、プライベートおよびパッケージ変数定義された明確な意味のメンバーの名前ならば、あなたはコメントすることはできません。

アクセス方法
クラス変数へのアクセス方法は、それは単純にクラス変数の代入の値を取得するために使用されている、あなたは、単に1行に書くことができます。

コンストラクタ
(:パラメータより後ろに書き込ま例えば)これはインクリメンタルな方法で書かれなければなりません。
アクセスタイプ(「パブリック」、「プライベート」など)および任意の「静的」、「最終的な」または「同期」行にあるように、別のラインを書き込む方法及びパラメータは、そのような方法及びパラメータは、読みやすくすることができます。

クラスのメソッド
のコードは、UNIXフォーマット、代わりのWindowsべきである(例えば:キャリッジリターン+ラインに入力)
文書クラスのJavadocによって生成されなければなりません。だけでなく、それはすべての様々なJavaコンパイラの方法で認識されている標準であるため。
インデントは行ごとに4つのスペースでなければなりません。ないソースファイル内のタブ文字保存できます。別のソースコード管理ツールを使用する場合、タブ文字は、ユーザー設定が異なるため、異なる幅に拡張されます。
あなたはJavaソースコードエディタとしてUltrEditを使用する場合は、操作でタブ文字保存UltrEditによってメソッドルーム4つのスペース、タブ使用の最初のセットの長さを無効にしてから、フォーマットを使用することができます|スペースメニューにタブスペースにタブを変換します。
ページ幅は80文字に設定する必要が後に。ソースコードは、一般的に、この幅を超えないようにされ、その結果がで完全に表示されていないが、この設定を柔軟に調整することができる。いずれの場合においても、長い文章やコンマオペレータべきラップ。後者の文がラップされ、それが元の文よりも、2つの文字をインデントする必要があります。
{}ステートメントは、別個の行としてべきです。
} {整列位置という記述は、その対応する列に引き込まなければならない場合。
そこ文字の後に左括弧の間にスペースはいけませんと、同様に、右括弧と前の文字の間にスペースではありません。
ブラケットは唯一のいくつかの目的のソースコードを達成するために、今出する必要があり、文の括弧内に無意味を使用しないでください。

仕様プログラミング
  A、新しいキーワードを、あなたは、ロード・フェーズでは、可能な限り、システムメモリより自由な時間を行う場合。新しい文字列(「AAAA」)を使用しないでください。
  B、対流オブジェクト、閉じることができ、いずれの場合にも確認する必要があり、例えば、内} {最後に閉じました。
  C、のgetClass()メソッドではなく、新しいオブジェクトインスタンスのリコールよりもオブジェクトの既存の静的インスタンスを最大限に活用し、呼び出します。
  代わりに、forループコピーのSystem.arraycopyの()コピー配列とD、。
  Eは、代わりにStringBufferの文字列を使用するのでは、文字列の金額です。
  F、定数文字列の代わりに、文字列のStringBufferのため。
  グラム、それ以外の場合は簡単なために最適化されています。
  hは、(呼び出し方法)サイトの中で循環しないようにしてください。同様に、vector.size()はArray.lengthと、同じアプローチを変更します。例。
  I、ループ内で{}内の新しい変数名を宣言する:例。
  J、最高のプラス静的の最終メンバ変数。
  K、比較単一の文字列の代わりに使用して'のcharAt()' 'のstartsWith()'。
  L、のStringBufferは、好ましくは、初期容量を指定しました。
  M、文字列の連結のために、むしろ前記個々の文字「「」より」。
  nは、「のtry / catch /最後に 」 ループの外に配置されるブロック。
  O、むしろ、インスタンス変数とクラス変数と変数をスタックしようとするよりも、速度を向上させることができます。
  代わりに、図2に示すように、乗算と除算のパワーのシフトのP、。
  qは、インターフェイスを実装する代わりに、匿名クラスの導入を使用しないでください。
  R、大きな配列は、直接宣言し、初期化されません。
  sのではなく、オブジェクトのインスタンスを返すために、インデックスに戻ります。
  トン、大きな配列の初期化、最高のOutOfMemoryError例外のチェック。

後の修正プログラム

インポートのjarパッケージ

Javaのパッケージディレクトリ

スクリーンショットの操作

ヒストグラムを生成します

概要

  アイデアが明確になる時に、始まらないわずかな手がかりから開発されたプロジェクトは後に練習します。私は「知識と行動は」ノウハウを持っているだけで人を説得するのに十分ではない、単一があり、多くの場合、「知識と行動」であると言われ、手がそれを試してみる必要があり、方向および特定の明確なアイデアが存在しないと結論付けました無知には、行方向ではありません。それはので、おそらく学習するための最良の方法である、ラインを伴って必要な知識と行動の間で知識と行動の統一、です。おそらく、あなたは思考が非常に明確ではないですが、ハンズオンステップバイステップでは、問題は、ステップによって正しいステップを見つけるいくつかの経験を学ぶことが、最も簡単な方法は、他人の経験から学ぶ見つけることですが、自分自身の学習の良いです思考。
  私はここで、コンテンツの多くのことを学んだ後、詳細な説明をしません。プログラムが出てくるのjarパッケージはになっていない、一日後に滞在し、コンピュータの電源を入れていなかったの前に、手は、MySQLのjarパッケージを試してみました、そして最後に導かれ、プログラムが最終的に実行されるので、コードをホスティングプラットフォームgithubのコードにアップロードされた(当初はSQLの保存されたデータを使用して、サーバ、しかし、後半に修正されたSQLのjarパッケージを導入したときにJavaのSQLとの直接接続、前回の実行プログラムエディタ)。

おすすめ

転載: www.cnblogs.com/hongyanohongyan/p/12536004.html