201771010102-チャンホイカットの実験トリプルジャンクションプロジェクト - 「北西ノーマル伝染病の予防と管理情報システム」プロジェクトレポート

プロジェクト コンテンツ
コースクラスのブログのリンク https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
このジョブは、リンクが必要です https://www.cnblogs.com/nwnu-daizh/p/12521474.html
私のコース学習目標 スキルの習熟度Githubに関連する操作をプログラミングを継続するチームワークPSP計画
この仕事は私がどのような分野での目標を達成するため学習に役立っ 2つの他の共結び目PSPで実験的なプロジェクトを使用してのMySQLのハンバーガー方法
他の学校の数を結び目 - 名前 201271050130-テン江南
ブログでは、他のジョブリンク結び目 https://www.cnblogs.com/tjnkxh/p/12522150.html
Githubのリポジトリプロジェクトリンクアドレス https://github.com/banmianzhuang02/MyProject

タスク

コンセプト 理解 ページ番号
コードスタイルガイド 規定のテキストの主要な側面、原則:簡潔な、読みやすい、明確な F70
コード設計仕様 メインプログラムは、設計、モジュール設計パターンとの間の関係であります P75
コードレビュー コードが正しくコード仕様の枠組みの中で問題を解決しています P79
ペアプログラミング 一組並んで、プログラマ側、均等に、補完的な仕事を開発します F85

タスクII

他のブログの結び目

https://www.cnblogs.com/tjnkxh/p/12522150.html

他のgithubのプロジェクトの倉庫リンクを結び目

https://github.com/jiangnanteng0413/jieduixiangmu

レビュー

ピアコードレビュー

コードのチェックリスト

チェックリストの項目 分析
概要セクション コード仕様コミットされていない、機能は完全に、読みやすさを実現し、セキュリティを改善する必要がされていません。フォーマット仕様は統一されたコード、最適化とセキュリティを推奨しています。
設計仕様 デザインパターンに準拠していますが、無駄なコードが存在しない、設計実装の一部はありません。推奨:システム機能は、可能な限り、余分なコードを削除します。
コードの仕様 コードの仕様書が提出されていない、コードの仕様は、アップグレードする必要があります。
最良のコード部分 コード実装が唯一のグラフィカル・ユーザー・インターフェース、データテーブルをインポートしていなかったことを、照会することはできません。推奨事項:さらにプロジェクトの完全な機能要件を実現することを期待して、後半のコードを変更する必要があります。
効能 コードは、通常、タイムアウトの状況をコンパイルすることはできません
可読性 コードの可読性は、以下のコメントを和らげます。勧告:増加コードのコメント、統一フォーマット。
テスト容易性 推奨事項:フォームデータのテストの欠如、後者は追加したい場合があります。

ハンバーガー法

  私たちは、多くの場合、その[フィードバック]を言うが、他の人が、結論を評価を行うためのためのフィードバックを提供するときに、完全に、ヴィンテージゴマ腐ったキビの過去にはまっていません。これは感情[あなたが良い仕事をしている、私はあなたを憎む]を作成します。私たちは、行動と結果[[フィードフォワード]になる[フィードバック]、[あなたが過去に十分に行っていないが、我々は将来的にはより良い行うことができます]技術チームでそれを強調し、我々はまだフィードバックに集中する必要があり、角度を調整することができますこのレベルは、[習慣や動機]、[自然]まで急いではありません。状況は非常に厳しいですがない限り、他の人が危機にひんしてみましょう、他の人の心に触れている必要があります。
  その後カバーされ、パンの部分を戻ってきます。この時間は、仕事を得るためにお互いを奨励するために、最初にエコーすることができます。    

----からの引用「法の構築 - 現代のソフトウェア工学」鄒衍

タスク3

要求分析

  2019年12月、武漢はまた、北京、上海、他の31個の省や都市を含む、検疫措置をとるために武漢に2020年1月23日に流行のさらなる拡大を防止するための新規なコロナ(2019-nCoV)流行、中国政府を持って起こります厳格な管理措置の実施。

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

  現時点では、伝染病の予防と管理作業カイジンの最も重要なステージへ。健康パンチカードシステムを開発し、正確かつ効率的に収集し、統計的な学校職員と学生新しいクラウン肺炎の流行の予防と制御情報であり、さらに流行の予防と管理作業のための基礎を固め、キャンパスの流行の予防と管理戦を勝つために決定し、組織的勢力学校の教師と生徒。

----からの引用「テストの実行に関するお知らせ、西北師範大学の教員や保健パンチカードシステム。」

  学校のスタッフ、学生の広い範囲の分布、困難な複雑な流行のデータ収集を行います。さらに把握学校の流行状況についての科学的根拠を提供するためのプラットフォーム、データ統合、および統計的分析を報告することによって構築されたシステム。データは、動的なデータは、現在のプラットフォームの活力を反映するように更新され、プラットフォームの血液です。ユーザーは、バックエンドデータベースの同期更新しながら、クライアント・インターフェースを介して情報システムを記入し、統計分析のためにそれを保存します。バックエンドのデータを統合することにより、流行データの最適な視認性のための対応するグラフを生成するために、調査をスクリーニングすることができます。

機能要件

  (1)学校職員と学生のすべての種類は、疾患情報を収集することができる;
  (2)部門のスタッフの流行の予防と管理の仕事を担当する2つの部門の各要約流行を表示し、高度なクエリを提供することができますが、統計関数の多属性検索と可視化を組み合わせています。
  (3)学校ログインの担当指定された人の予防と制御「北西通常の防疫や統計情報を管理」サブシステム、あなたが集約されたデータを報告するすべての人のリストを閲覧することができ、使用[]高度なクエリデータをグラフィカルに表示するシステムをスクリーニング組み合わせることができます各大学は、非統計レポートや流行のキーデータの統計情報を報告し、学生を持って、[エクスポート] EXCELファイルリストを照会することができます;
  (4)ヒューマンマシンインターフェースGUIインターフェースの要件を。

ソフトウェア設計の説明

カテゴリ 桂クラスのインターフェース生成 CRUDクラス背景データ グラフ生成クラス Entityクラス
効果 オンデマンドで対応するGUIインターフェイスを生成します 必要な処理を実現するために、データベース内のデータ 背景に対応するデータに基づいてヒストグラムを生成します 参照してくださいgithubの

設計解析

コア機能 設計解析
関係 ヒストグラムデータは、クエリ式の表示背景によれば、ユーザのニーズに応じて、グラフベースのCRUDの背景データに基づいて生成されたGUI表示
クラスCommFrameで重要な方法 その後のactionPerformedメソッドCommFrameクラスデータとは、GUIを表示します
クラスの重要なメソッド JPanelのメソッドクエリを完了し、対応するヒストグラムを生成するために、背景データの背景データを変更して再検索Query.getAllInfo()メソッドのこの容器Execute_ *法完全欠失のコンポーネントレイアウトを追加するために指定された制約オブジェクトを追加した継承します

機能のスクリーンショット

ログイン画面

成功した着陸

いいえ報告情報なし

情報が報告されました

学生IDの問い合わせにより、

名前による問合せ

ヒストグラム生成

コードのアップロード

操作githubのの一部

コアコードショー

package 疫情;

import java.sql.*;  
import javax.swing.*;  
import java.awt.*;  
import java.awt.event.*;  
import java.awt.Color; 

public class LLogin {
	
	 public static void main(String[] args) {  
	        new loginFrame();   
	    }  	  
	} 
     	
	class loginFrame extends JFrame implements ActionListener{  
	    Box box1,box2,baseBox;  
	    JLabel userName,userPwd,tubiao;  
	    JTextField nameField;  
	    JPasswordField pwdField;  
	    JButton button;  
   	    JTabbedPane choose;  
    JPanel panel1,panel2;  
    loginFrame(){  
        setBackground(Color.white);  
        userName=new JLabel("账号",JLabel.CENTER);  
        userPwd=new JLabel("密码",JLabel.CENTER);  
        nameField=new JTextField(8);  
        pwdField=new JPasswordField(8);  
        panel1=new JPanel();  
        panel2=new JPanel();  
        choose=new JTabbedPane();  
        choose.add("登录界面",panel1);  
        panel1.setLayout(new GridLayout(2,2));  
        panel1.add(userName);panel1.add(nameField);  
        panel1.add(userPwd);panel1.add(pwdField);  
        add(choose,BorderLayout.CENTER);  
        button=new JButton("登陆");  
        add(button,BorderLayout.SOUTH);  
        button.addActionListener(this);  
        //小图标
        ImageIcon tubiao=new ImageIcon("H:/Java:学生信息成绩管理系统/StudentSystem/src/疫情/层云.jpeg"); 
        setIconImage(tubiao.getImage());  
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
        setVisible(true);  
        setBounds(200,100,500,200);  
        setTitle("疫情信息管理系统");  
        validate();  
    }  


    public void actionPerformed(ActionEvent e){  
        String name,pwd;  
        name=nameField.getText();  
        pwd=pwdField.getText();  
        try{  
          Class.forName("com.mysql.jdbc.Driver"); //加载数据库驱动 
           
        }  
        catch(ClassNotFoundException ex){  
        System.out.println(ex);  
        }  
        try{  
            Connection con;  
            Statement sql;  
            ResultSet rs;  
            String url,userName,userPwd;  
             // 连接数据库的语句
          url =  "jdbc:mysql://localhost:3306/studentinfo?useUnicode=true&characterEncoding=utf-8";
        
            userName="root";  
            userPwd="root";  
            con=DriverManager.getConnection(url,userName,userPwd);  
            sql=con.createStatement();  
            rs=sql.executeQuery("select * from login where name ='"+name+"' and pwd='"+pwd+"'");  
            int q=0;  
            
            while(rs.next()){  
                q++;  
              
            }  
            if(q>0){  
                JOptionPane.showMessageDialog(this, "登陆成功!","消息对话框",JOptionPane.WARNING_MESSAGE);  
                this.dispose();  
                new CommFrame();    
                  
            }  
            else  
                JOptionPane.showMessageDialog(this, "账号或者密码错误!","消息对话框",JOptionPane.WARNING_MESSAGE);  
        }  
        catch(SQLException exp){  
            System.out.println(exp);  
        } 
        
     }  

   } 

QQのスクリーンショット

PSP

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

概要

  姉妹提携偉大な実験の収穫は、私の意見では、最も重要な収穫は、知識ポイントの独自のAロットに対処することを学ぶないであろう、実験を双晶、早期にできる限りのタスクを完了するために、その後、私は多くの学生でもあると信じて、私をたくさん助けました同じですが、前の思考上記異なる可能性に差の嘘、そして私と私のチームメイトは、基本的な合意などないようで、存在しない場合は、矛盾とコメントで表示されませんでしたまた、各、労働者の明確な区分を事前にすることができますこの結び目がはるかに簡単に私たちと協力して、単一のプロジェクトに比べて、互いのAビット用マルチ配慮、。
  また、ツイニング・プロセスのチームメイトで、私は多くのことを学んだ、私は問題を克服し、私の最初の時間ではなく、計画のサブ点の、すべてが初期の準備にかかったようにのみ、変更がより良い計画よりも、よりあり得ることを見つけるために、コントロールの場所ではありません連動が、それは対処できるように、変更のための部屋を保持しなければなりません。

おすすめ

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