201771030110- Li Song encyclical third experiment twinning project - "Northwest Normal epidemic prevention and control information system" project report

project content
Course class blog link https://edu.cnblogs.com/campus/xbsf/nwnu2020SE
Work requirements https://www.cnblogs.com/nwnu-daizh/p/12521474.html
learning target (1) In software development, the two have worked together to learn, pair programming;
(2) Contact operating GitHub collaborative development program
Homework help me achieve learning objectives in what areas (1) learn some basic operations using the GitHub
(2) to grasp the importance of twinning project programming software development processes and knot
Knot the other school number - Name 201771030111- Liu Wei
The blog knot the other job link
The project's Github repository link address https://github.com/Unicorn-snow/EIS

Task 1: Reading - Chapter 3-4 content "of modern software engineering Construction of Law", to understand and master the style code specification, code design specification, code reviews, pair programming concepts;

 1. Specification Style Code:
  Principle: simple, easy to read, unambiguous;

  ① indent: preferably four spaces;
  ② line width: 100 characters may be defined as;
  ③ parentheses: In order to take advantage of complex calculation parentheses, brackets clever;
  ④ Branches: not to pay attention multiple statements placed line;
  ⑤ name: named concise time to pay attention, to avoid unnecessary modification;
  ⑥ underline: underline the scope for semantic annotation and variables separated variable name in;
  ⑦ case: different words to distinguish the complex phrases;
  ⑧ Notes: interpreter what to do, why do so;

 2. Code design specifications:
  > code design specification format is not only a problem of diarrhea book program, but also involves all aspects of program design, the relationship between the modules, design patterns, etc., where there are a lot of content and specific programming languages are closely related (such as C, C ++. Java, C #).

 3. Code review:
  > look at the code correctly solve the problem within the framework of the code specifications. Code review is to identify the error code, whether the code errors, logic errors or arithmetic error should strive to identify and try to solve, identify potential errors and regression errors, look for possible improvement each other, each other "education" between developers , teaching experience, so that more members are familiar with the code of each part of the project, while familiar with practical knowledge and application dependent.

 4. Pair programming:
  > pair programming is a gradual process, efficient pair programming is not able to do one day. A pair programming mutual learning, mutual accommodation gradual process. Developers need time to adapt to this new development model. At first, pair programming is likely to develop more efficient than a single, but after spending a learning phase, pair programming team to develop quality, development time is usually developed more significant improvement than two people alone.

Task 2: Two two free pair, colorectal other side "of software engineering experiment two individual events," the project results to evaluate specific requirements are as follows:

  • Knot the other blog links ;
  • Knot the other Github project warehouse link ;
    (1)the project Bowen job to read and comment, comment highlights include: Bowen structure, blog content, blog structure and PSP in "The object of the" relationship column, the PSP "program completed a total need time "and" the actual time required to complete a "gap analysis to explore the causes of two data will be released over the comment content to a blog comments section.
      
    (2) cloning colorectal other source project to the local machine, read and test run the code, refer to "modern software engineering - Construction of Law" Section 4.4.3 companion project code review checklist and record.
      
    (3) based on the results of the review to try to source personal companion project to cooperate warehouse use github modification of Fork, Clone, Push, Pull requestother operations.
      
      
      
      
      

Task 3: The two pair programming mode, combined with our teachers and students daily epidemic reporting system experience, design and development of an information system in line with the needs of epidemic prevention and control work of our school

1. Demand Analysis:

  The end of December 2019, China Wuhan happen novel coronavirus (2019-nCoV) infected with pneumonia epidemic in order to curb the spread of the epidemic, effectively cut off the transmission of the virus, under the guidance of the central government, government departments at all levels to take a series of prevention and control measures: since 2020, at 10:23 on January Ri Wuhan "closed city", 31 provinces and municipalities have also implemented strict control measures; provinces and cities nationwide to send medical teams to participate in rescue work and Wuhan, Hubei; deployment in the country masks, protective clothing, medicines and other urgently needed medical resources to support Wuhan; to guide and supervise enterprises with production qualification of medical supplies across the country to resume production capacity as soon as possible; directed special financial allocation of funds for disease prevention and control; Wuhan guarantee supplies from other provinces to mobilize people's daily lives.
  It is worth mentioning that the Chinese Internet companies played an important role in the governance of social epidemic prevention and control. Tencent, for example, about the response to the outbreak control needs to develop a dozen a product. Where the epidemic online inquiry function, to reduce the mutual cross-infection between patients with fever have an important role in patients at home through the Internet Dr. Xiang Zaixian inquiry, reduces the risk of transmission of the virus or infection; rumor smash for the public to take a rational attitude towards the epidemic the development of great significance. Wuhan travel drops also set up a special team to serve the commuter medical staff, which plays an important role in the implementation of Wuhan traffic control. In addition, the new pneumonia patients diagnosed with stroke query tool, users only need to enter their own time by public transport and trips, you can confirm whether the infection was diagnosed counterparts, ahead of self-isolation and treatment work. In epidemic prevention and control, the Chinese Internet companies not only grow in terms of social responsibility has become increasingly mature.
  Related to the effective prevention and control mechanism with the acquisition, statistical information and investigation of the outbreak , the school developed a faculty / student epidemic reporting system to report daily by the staff of the epidemic, the epidemic of students reported daily, daily epidemic secondary sector summary table, four statistical reporting epidemic prevention and control subsystems. To achieve the basic situation of our school all categories of personnel, the regions and information gathering activities and track health. Teachers and students access to the system through micro-enterprise communication services our school hall telematics reporting .

  The job is to give us a theory with practice, we have a great opportunity to take advantage of what they have learned, the face of the epidemic, as college students, we will continue to make use of professional advantages, making the epidemic reporting system, to contribute their modest, convenient epidemic prevention and control organizations to collect relevant information, statistics and investigation, and to achieve visual effects and filter information by way of export Excel tables.

2. Software Design Description:

 (1) the functional design
  ① kinds of school staff and students can gather disease information;
  ② login to be able to achieve different kinds of students and teachers as well as the identity of the administrator;
  ③ School of epidemic prevention and control person in charge to see the College staff summary of the epidemic;
  ④ school of epidemic prevention and control persons responsible for providing advanced query features a combination of multi-attribute query and statistical query results visualization capabilities;
  ⑤ prevention and control of a designated person in charge of the school system login, you can browse a list of all persons reporting summary data ;
  ⑥ prevention and Control Office official school can take advantage of advanced query [] may be a combination of data screening system to graphically display the college students have been reporting and non-reporting statistics and key data statistics of the epidemic, and to export the query list [ export] EXCEL file;
  ⑦ of interacting with a GUI interface;
  ⑧ additional sub-functions: regular reporting to remind section.

 (2) The overall design:
  
 (3) Database Design:
  ①admin Table
  
  ②basic table
  
  ③information table
  

3. software and core function code shows:
  Excel export part:


//使用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. Run the program:
 (1) sign in part :( presence administrator login and user login log in two ways)
  
 (2) outbreaks report section:
  
 (3) two department heads query part:
  
  ① query results:
   
  ② visualize the situation:
   
 (4) school officials query part:
  
  ① advanced Search results:
   
  ② visualization: the
   
  ③Excel export: the
   
   
   export success
   
   
5. twinning process:

① common reference code specifications listed in this knot code specifications for the experiment.
② read each other's code and understand each other coding habits, and improve the code adopted in accordance with the other code specifications.
③ discuss and fill out the PSP scheduled time together.
④ joint needs analysis and the overall design of this project, especially in the second experiment achieved on the basis of the new features.
⑤ made me responsible for building the framework and GUI interface part, Liu Wei led the Excel export functionality and implement additional functions in the leading position in the swap process, while the other was carried out on Codes of supervision and reminders, provide functionality different ideas on the realization, after selecting a better idea of when Bug appears, along with the code reading, find logic errors, higher than the coding efficiency alone.
⑥ After completion of the project, the two co reviewed according to the code specifications, to simplify redundant statement.
⑦ Fill PSP actual time.
⑧ report writing documentation.
  

6.PSP show:

PSP2.1 SUMMARY Plans to complete the required time (min) The actual time required for completion (min)
Planning plan 10 10
·  Estimate It estimated that the task requires more than
little time and planning generally
work steps
10 10
Development Develop 1260 1200
··  Analysis Needs analysis (including learning
new technologies)
60 40
·  Design Spec Generate design documents 30 30
·  Design Review Design review (audit and students
core design documents)
60 30
·  Coding Standard Code specifications (for the current
development of appropriate specification development)
10 20
·  Design Specific design 40 30
·  Coding Specific coding 1000 1000
·  Code Review Code Review 30 30
·  Test Test (self-test,
modify the code, submit modifications)
30 20
Reporting report 50 40
··  Test Report testing report 20 10
·  Size Measurement Computing workload 10 10
·  Postmortem &
Process Improvement Plan
Hindsight, and proposed a
process improvement plan
20 20

  
7. Summary: In this pair programming process, I realized the importance of cooperation through mutual discussion and oversight makes the code more standardized, more perfect, more rigorous logic, especially when the review is in unit testing and code, It can rapidly detect the error code, knot relatively high efficiency of programming, code norms, aware of the dangers of casual writing, reading code to change the code is very strenuous, after writing program according to the preparation of specifications, gradually improved the situation but the pair programming also encountered problems, such as the beginning of the division of labor going to one dominant one assist, but found leading man thinking sometimes confusing, so I switched act as the leader of; often occur in the programming process feel their ideas are right, so that discussions reached an impasse, then we use the method of programming alone, the last who can better achieve functional use which, not only to enhance learning efficiency and can learn from each other, to make up for their deficiencies.

Guess you like

Origin www.cnblogs.com/Unicorn-snow/p/12573679.html