201771030130- Zhang Qin experiment two personal projects - "Northwest Normal University student epidemic reporting system" project report

201771030130- Zhang Qin experiment two personal projects - "Northwest Normal University student epidemic reporting 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/12416880.html
My course learning objectives Operation software project control software project development process and Github personal publishing.
This job helped me achieve learning objectives in what areas Master the software development process, learn to use the PSP
Github repository project link address https://github.com/zhangqin1013/anti-process

Content Experiments

Task One: Statement of students reported daily epidemic subsystem experience

    Students epidemic daily reporting subsystem often get in at the beginning of use, we need to be refreshed many times, and every time need to fill in personal information, very easy to use. When would choose the latter every punch missed its peak, so quickly into the system, and the system also made some improvements, for which we have to fill in the information already filled in the options bar, if their situation does not change, then the information will not need to and then repeated to fill in, which makes the system a lot easier to use than before. But recently, probably because the school's sake, get up early every day people are more punch, and sometimes into the system a long time, and the data is also very slow to load.

Task two: summary read "Building the Law" Section 1-2, in conjunction with Chapter 2, Section 2.3 PSP process, develop a mind of your own, Northwest Normal University students daily epidemic reporting system.

    In the two types of task, I chose the first type of task, the task as follows:
      there is a data file, saving 100 days 2000 faculty / student all immunization information, please design a command line program that supports queries in person one day the epidemic, the epidemic query statistics data of some kind of week / month, and displays statistical results histogram.

1. Project Development Brief Background:

The end of December 2019, China Wuhan happen novel coronavirus (2019-nCoV) epidemic pneumonia infections, to curb the spread of the epidemic, effectively cut off the transmission of the virus, under the guidance of the central government, governments at all levels to take part of a series of control measures : since 2020, at 10:23 on January Ri Wuhan "closed city", 31 provinces and municipalities have also implemented strict control measures; Wuhan and Hubei provinces and cities nationwide to send medical teams to participate in rescue work; within the country the deployment of much-needed medical resources masks, protective clothing, medicines and other support Wuhan; have medical supplies production qualification in guidance and urge enterprises to resume production capacity of the country as soon as possible; directed special financial allocation of funds for disease prevention and control; mobilization of material support from other provinces Wuhan 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.

Collection for the effective co-ordination, statistics and troubleshooting information about the epidemic prevention and control organizations, the school developed a faculty / student epidemic reporting system to report daily by the staff of the epidemic, the epidemic of students reported daily, every secondary sector epidemic day 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 for remote reporting of information by our university enterprise micro-channel service hall.

2. Requirements Analysis

    According to the project development background and description of the task, the task can get a needs analysis as follows:

(1) According to the epidemic statistics, data collation and storage.

(2) Design command line program.

(3) the stored data to a simple operation.

(4) to visualize the data on the basis of the operation.

    feature design

  (1) Basic functions:

  Support queries someone epidemic situation in a given day.

  Epidemic statistics query some data week / month, and displays a histogram statistics

  (2) the expansion of functions:

  All information inquiry confirmed

  Entry Information

  Queries epidemic statistics day and displays a histogram

3. Design and Implementation

(1) data part:

    In the data portion, using the automatic generation of the program, a large number of randomly generates activity data and stores it in the database, which includes information about nine, as shown below:

    Where id is the student number, name as the name, sex is sex, area is where the provinces, sy0 to confirm whether, sy1 is whether there is a suspected case, sy2 is whether in Wuhan, sy3 as if in contact with the relevant personnel, Dtime the time.

(2) functions to achieve:

    Implement portion function mainly achieved by defining classes and related functions, mainly in the following categories:

  Database connection class

  Class data manipulation (including related queries and function of data insertion)

  Histogram generating class (including the functions for setting the histogram of the histogram)

  Options Display Class (mainly set options)

    According to the structure as defined above, each of the operations required for the project by a dedicated function to achieve, back to the relevant functions by calling the function of various kinds, and be able to quickly find an error in the program and correct the error.

4. Test Run

(1) main page

(2) Current diagnosed View

    Since the data is randomly generated, some data will be repeated.

(3) specific disease information inquiry

    Query by date

    By Student ID queries (since the data randomly generated, student number when the query can be the first to see all information)

    By student number and date of inquiry

(4) specific disease information input

(5) epidemic chart display information ( by sex )

    One day epidemic statistical information

    Last week confirmed the statistical information

    Statistical information confirmed this month

    Statistical information confirmed last month

    The project packaged into an executable jar file

5. Main Code

//柱状图中文字乱码问题的解决
//柱状图显示设置
   public void SHOW(JFreeChart freeChart,int width,int height) {
       //以面板显示,创建一个图表面板
       ChartPanel chartPanel=new ChartPanel(freeChart);
       //设置大小
       chartPanel.setPreferredSize(new java.awt.Dimension(560,400));
       //创建一个主窗口来显示面板
       JFrame frame=new JFrame("疫情统计图");
       frame.setLocation(500,400);
       frame.setSize(width,height);
       //将图表面板设置为主窗口的内容面板
       frame.setContentPane(chartPanel);
       //显示主窗口
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.setVisible(true);
       
       //设置图表
       freeChart.getTitle().setFont(new Font("隶书", Font.ITALIC, 15));//设置标题
       //设置图例类别字体         
       freeChart.getLegend().setItemFont(new Font("宋体", Font.BOLD, 15));  
       freeChart.setBackgroundPaint(Color.WHITE);
       CategoryPlot categoryPlot=freeChart.getCategoryPlot();//用于设置显示特性
       categoryPlot.setBackgroundPaint(Color.WHITE);
       categoryPlot.setDomainGridlinePaint(Color.BLACK);//分类轴网格线条颜色
       categoryPlot.setDomainGridlinesVisible(true);
       categoryPlot.setRangeGridlinePaint(Color.GREEN);//数据轴网格线条颜色
       
       CategoryAxis domainAxis=categoryPlot.getDomainAxis(); //水平底部列表 
       domainAxis.setLabelFont(new Font("黑体",Font.BOLD,14)); //水平底部标题 
       domainAxis.setTickLabelFont(new Font("宋体",Font.BOLD,12)); //垂直标题
       ValueAxis rangeAxis=categoryPlot.getRangeAxis();//获取柱状 
       rangeAxis.setLabelFont(new Font("黑体",Font.BOLD,15)); //设置柱状标题
       
       CategoryAxis axis = categoryPlot.getDomainAxis(); //x轴
       axis.setMaximumCategoryLabelLines(10); //标题行数,每个字显示一行
       axis.setMaximumCategoryLabelWidthRatio(0.5f); //每个标题宽度,控制为1个字的宽度
       
       NumberAxis axis1 = (NumberAxis)freeChart.getCategoryPlot().getRangeAxis();
       //axis1.setTickUnit(new NumberTickUnit(0.5D);//0.5为一个间隔单位
       axis1.setTickUnit(new NumberTickUnit(1D));//1为一个间隔单位
   }

6. Project Summary

    By doing this project, we recognized the importance of the PSP, while there is a degree of understanding of the personal development of software projects, and learned to use automatic generation program to generate large amounts of data to complete the test project. But after this project practice also recognize that they have a certain degree of lack of knowledge on some basic and practical ability is also a bit weak, so late in relevant knowledge through learning will make up these deficiencies as soon as possible.

7.PSP show

PSP2.1 SUMMARY Plan time (min) required to complete a total of The actual time required for completion (min)
Planning plan 40 30
·Estimate It estimated that the task requires much time and planning generally work steps 40 30
Development Develop 800 1300
·Analysis Needs analysis (including learning new technologies) 100 240
·Design Spec Generate design documents 30 60
·Design Review Design review (and colleagues reviewed the design documents) 0 0
·Coding Standard Code specifications (development of appropriate norms for the current development) 40 60
·Design Specific design 90 120
·Coding Specific coding 380 500
·Code Review Code Review 60 100
·Test Test (self-test, modify the code, submit modifications) 100 220
Reporting report 90 130
·Test Report testing report 50 90
·Size Measurement Computing workload 20 10
· Postmortem & Process Improvement Plan Later summarized, and process improvement plan 20 30

    PSP can be seen in the above table, the particular coding and the time spent with the test section over their estimated time of a large gap. In particular coding part is an histogram generation part are not familiar with, there are a lot of places have to continue to modify, so spent a long time at the time of coding. Followed by the test of time, just started with just some minor data to test, test data back in with plenty of time there will be some problems, but also in the testing process will find that some functions need to be further improved, so it takes part in the test a greater amount of time.

Task three: 2 to complete the task of project development, will submit a complete project file to my project source projects registered Github account warehouse, complete individual project reports Bowen jobs.

Guess you like

Origin www.cnblogs.com/zhangqin1/p/12494691.html