201771030110-李ソング勅第三の実験姉妹提携プロジェクト - 「北西ノーマル伝染病の予防と管理情報システム」プロジェクトレポート

プロジェクト コンテンツ
コースクラスのブログのリンク https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
運用要件 https://www.cnblogs.com/nwnu-daizh/p/12521474.html
学習目標 (1)ソフトウェアの開発では、2は、ペアプログラミングを学ぶために一緒に働いている;
(2)連絡先オペレーティングGitHubの共同開発プログラム
私はどのような分野での目標を達成学習宿題のヘルプ (1)GitHubに使用して、いくつかの基本的な操作を学び
、プロジェクトのプログラミングソフトウェア開発プロセスの双晶の重要性と結び目を把握する(2)
他の学校の数を結び目 - 名前 201771030111-劉偉
ブログでは、他のジョブリンク結び目
プロジェクトのGithubのリポジトリリンクアドレス https://github.com/Unicorn-snow/EIS

タスク1:読書 - 「法の近代的なソフトウェアエンジニアリング建設の」章3-4コンテンツ、スタイルのコードの仕様、コードの設計仕様、コードレビュー、ペアプログラミングの概念を理解し、習得します。

 1.仕様スタイルコード:
  原理:シンプルな、読みやすい、明確な。

  ①インデント:好ましくは4つのスペース、
  ②線幅:100文字として定義することができる。
  ③括弧:括弧巧妙な、複雑な計算括弧を利用するために、
  ④分岐:注意を払うに複数のステートメントが配置されていませんライン;
  ⑤名前:不要な変更を避けるために、注意を払うに簡潔な時間を命名;
  ⑥下線:下線範囲セマンティック注釈や変数については、変数名を分離;
  ⑦ケース:異なる単語が複雑なフレーズを区別します。
  ⑧注:なぜそう何をすべきか、通訳。

 2.コードの設計仕様は:
  >コードの設計仕様の形式だけでなく、下痢帳プログラムの問題ですが、また、のような密接に関連しているコンテンツや、特定のプログラミング言語が多いプログラムの設計、モジュール間の関係、デザインパターンなど、のすべての側面を(必要C、C ++。Javaの、C #)。

 3.コードレビュー:
  >コードを見て、正しくコード仕様の枠組みの中で問題を解決します。コードレビューは、可能な改善のために見て、コードエラー、論理エラーや算術演算エラーを特定して解決しようとする、潜在的なエラーや回帰エラーを識別するために努力する必要があるかどうか、エラーコードを識別するために、開発者間同士、お互いに「教育」でありますので、実用的な知識及び依存アプリケーションに精通しながら、より多くのメンバーは、プロジェクトの各部分のコードに精通している経験を、教えます。

 4.ペアプログラミング:
  >ペアプログラミングは、段階的なプロセスは、効率的なペアプログラミングは一日に行うことができないからです。ペアプログラミング相互学習、相互の宿泊漸進的なプロセス。開発者は、この新しい開発モデルに適応するための時間を必要としています。まず、ペアプログラミングは、単一よりも効率的な開発する可能性がありますが、品質を開発するために、学習段階、ペアプログラミングチームを過ごした後、現像時間は、通常は一人で2人以上の有意な改善を開発しています。

タスク2:次のように二つは二つの遊離ペア、大腸向こう側「ソフトウェア工学実験の2つの個々のイベント、」プロジェクトの結果は、特定の要件を評価するためには、以下のとおりです。

  • 他のブログのリンクを結び目
  • 他のGitHubプロジェクトの倉庫のリンクを結び
    (1)プロジェクトボーエンジョブを読み、コメントし、コメントのハイライトは、次のとおり関係欄「の対象」でボーエン構造、ブログのコンテンツ、ブログの構造およびPSPを、PSP「プログラムは、合計の必要性を完了しました実際の時間は、2つのデータの原因を探るために「ギャップ分析を完了するのに必要な時間「とは、」ブログのコメント欄にコメント内容をかけて放出されます。
      
    (2)を参照して、読んで、テストコードを実行し、ローカルマシンに大腸他のソースプロジェクトをクローン「現代のソフトウェア工学-法の構築」4.4.3項コンパニオンプロジェクトコードレビューチェックリストとレコードが。
      
    (3)フォーク、クローン、プッシュ、プルリクエストの倉庫利用githubの修正に協力するために、ソースの個人的なコンパニオンプロジェクトにしようとする審査の結果に基づいて他の操作を。
      
      
      
      
      

タスク3:私たちの教師と学生との組み合わせ2ペアプログラミングモード、日々の流行報告システムの経験、私たちの学校の伝染病の予防とコントロールの仕事のニーズに沿った情報システムの設計と開発

1.需要分析:

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

  仕事は、我々は、彼らが学んだことを活用する絶好の機会を持っている、流行の顔は、大学生として、私たちは、流行の報告システムを作り、プロの利点を活用していきます彼らのささやかな、便利に貢献するために私たちの実践と理論を与えることです流行の予防と管理組織は、関連する情報、統計や調査を収集し、およびエクスポートExcelのテーブルを介して、視覚効果やフィルタ情報を達成するために。

2.ソフトウェア設計の説明:

 (1)機能的なデザイン
  ①学校職員と学生の種類は、疾患情報を収集することができる。
  ②ログインが異なる生徒と教師の種類だけでなく、管理者の身元を達成することができるようにする。
  ③担当流行の予防と管理者の学校は大学を参照するには流行のスタッフの概要、
  ④高度なクエリを提供する責任伝染病の予防とコントロールの人物の学校が多属性検索や統計クエリ結果の可視化機能を組み合わせています。
  ⑤学校のシステムログインの担当指定された人の予防と管理は、要約データを報告するすべての人のリストを閲覧することができます;
  ⑥予防と管理室公式学校は] [高度なクエリを利用することができます[グラフィカルに大学生が統計や流行のキーデータの統計情報を報告し、非報告されている表示、およびクエリのリストをエクスポートするには、システムをスクリーニングデータの組み合わせであってもよいですエクスポート] Excelファイル、
  ⑦GUIインターフェースと相互作用する。
  ⑧追加のサブ機能:セクションを思い出させるために定期的な報告。

 (2)全体的な設計:
  
 (3)データベース設計:
  ①admin表
  
  ②basicテーブル
  
  ③informationテーブル
  

3.ソフトウェアおよびコア機能コードショー:
  Excelエクスポート一部:


//使用poi扩展库,将输入的Jtable对象写入HSSFWork对象中,然后输出
public class JtableDownload {   

    JTable table;   
    FileOutputStream fos;
    JFileChooser jfc = new JFileChooser();   
    public static  boolean flag;

    public JtableDownload(JTable table) {
        this.table = table;   
        jfc.setSelectedFile(new File(""));  
        int result= jfc.showSaveDialog(null);
        File file = jfc.getSelectedFile();
        try { 
            if (result == JFileChooser.APPROVE_OPTION) {
                this.fos = new FileOutputStream(file + ".xls"); 
                flag=true;
            } else {
                flag=false;
                JOptionPane.showMessageDialog(null,"您取消了下载!");
            }
        } catch (FileNotFoundException ex) {
            JOptionPane.showMessageDialog(null, "已存在文件名相同的文件,要替换请先关闭!");
        } 
    }   

    public void export() {   
        HSSFWorkbook wb = new HSSFWorkbook();   
        HSSFSheet hs = wb.createSheet();   
        TableModel tm = table.getModel();   
        int row = tm.getRowCount();   
        System.out.println(row);
        int cloumn = tm.getColumnCount(); 
        System.out.println(cloumn);
        String te = table.getColumnName(0);
        System.out.println(te);
        
        //样式设计
        HSSFCellStyle style = wb.createCellStyle();   
        style.setAlignment(HorizontalAlignment.CENTER); // 居中
        HSSFFont font = wb.createFont();   
        font.setFontHeightInPoints((short) 11);   
        style.setFont(font);   

        for (int j = 0; j < cloumn; j++) {
            hs.setColumnWidth( j, (1 * 4000));   //设置列宽
        }
          

        //写入HSSF对象
        for (int i = 0; i < row + 1; i++) {   
            HSSFRow hr = hs.createRow(i);   
            for (int j = 0; j < cloumn; j++) {   
                if (i == 0) {   
                    String value = table.getColumnName(j);  
                    System.out.println(value); 
                    HSSFCell hc = hr.createCell(j);   
                    hc.setCellStyle(style);   
                    hc.setCellValue(value);   
                } 
                else {   
                    if (tm.getValueAt(i - 1, j) != null) {   
                        String value = tm.getValueAt(i - 1, j).toString();   
                        HSSFRichTextString srts = new HSSFRichTextString(value);   
                        HSSFCell hc = hr.createCell((short) j);   
                        hc.setCellStyle(style);   
                        if (value.equals("") || value == null) {   
                            hc.setCellValue(new HSSFRichTextString(""));   
                        } else {   
                            hc.setCellValue(srts);   
                        }   
                    }   
                }   
            }   
        }   
       
        try {   
            wb.write(fos);   
            fos.close();  
            JOptionPane.showMessageDialog(null,"下载完成");
        } catch (IOException ex) {  

        }   
    }   
} 

4.プログラムを実行:
 一部(1)記号:( 2つの方法で、プレゼンス管理者のログインおよびユーザーログインログ)
  
 (2)流行レポートセクション:
  
 (3)2つの部門長のクエリ部分:
  
  ①クエリ結果:
   
  ②状況を可視化します:
   
 (4)学校関係者のクエリ部分:
  
  ①高度な検索結果:
   
  ②可視化:
   
  ③Excelエクスポート:
   
   
   エクスポートの成功
   
   
5.ツイニング・プロセス:

①共通の参照コードの仕様は、実験のために、この結び目のコードの仕様に記載されています。
②お互いのコードを読んで、それぞれ他のコーディング習慣を理解し、他のコードの仕様に従って採択コードを向上させます。
③議論し、一緒に時間を予定しPSPを記入してください。
共同ニーズ分析、特に新機能に基づいてなさ第二の実験では、このプロジェクトの全体的な設計、④。
⑤フレームワークとGUIインタフェース部を構築するために私が責任を負う、劉魏は、Excelのエクスポート機能を主導し、他方は監督やリマインダーのコード上で実施した一方で、スワップ処理におけるリーディングポジションに追加機能を実装し、機能性を提供します実現上のさまざまなアイデアは、バグが表示されますのより良いアイデアを選択した後、コード読み取りとともに、単独の符号化効率よりも高い論理エラーを見つけます。
⑥プロジェクトの完了後、2人の共同声明は、冗長を簡素化するために、コードの仕様に応じて見直しました。
⑦PSP実際の時間を埋めます。
⑧レポート作成のマニュアルを参照してください。
  

6.PSPショー:

PSP2.1 概要 必要な時間を完了するための計画(分) 完了するために必要な実際の時間(分)
プランニング 計画 10 10
・見積り これは、タスクが複数必要であると推定
少しの時間と計画一般的
な作業手順
10 10
開発 開発 1260 1200
分析·· (学習などのニーズ分析
の新技術を)
60 40
・デザインスペック 設計ドキュメントの生成 30 30
・デザインレビュー デザインレビュー(監査や学生
コア設計文書)
60 30
・コーディング標準 (現在のコード仕様
の適切な仕様開発の開発)
10 20
・ 設計 具体的な設計 40 30
・コーディング 具体的なコーディング 1000年 1000年
・コードレビュー コードレビュー 30 30
・テスト 検査(セルフテスト、
コードを変更し、変更を提出)
30 20
報告 レポート 50 40
・・ 試験報告書 テストレポート 20 10
・サイズ測定 コンピューティングワークロード 10 10
・死後&
プロセス改善計画
後知恵、と提案した
プロセス改善計画を
20 20

  
7.概要:このペアプログラミングの過程で、私は、レビューがユニットテストとコードである場合は特に、コードより標準化され、より完璧な、より厳密なロジックを行い、相互の議論や監督を通じて協力の重要性を実現しましたこれは、急速な仕様の準備に係るプログラムを書いた後、徐々に状況が改善され、非常に激しいです、エラーコードを検出するコードを変更するために、比較的高いプログラミングの効率化、コードの規範、カジュアルな書き込みの危険性を認識し、読書のコードを結び目することができます私はのリーダーとして行為を切り替えるように、しかし、ペアはまた、1支配的なものに行く分業の始まりなどの問題、支援に遭遇し、時には混乱一流の人の思考を見つけてプログラミング、多くの場合、プログラミングのプロセスで発生します彼らのアイデアはとても議論が行き詰まりに達したことを、我々は一人でのプログラミングの方法を使用し、正しいと感じ、よりよい学習効率を高めるために、お互いから学ぶことができるだけでなく、機能的な使用を実現することができます誰が最後には自分の不足を補うために。

おすすめ

転載: www.cnblogs.com/Unicorn-snow/p/12573679.html