Thai King 201771010131- 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
Operational requirements Links https://www.cnblogs.com/nwnu-daizh/p/12521474.html
Course learning objectives Experience in software development cooperation, practice pair programming method of operation (Pair programming), master Github collaborative development programs.
This job helped me achieve learning objectives in what areas By twinning project to further understand the significance and software engineering process, the experience of cooperation division of the small team efficiency again.
Knot the other school number - Name 201771010108- Han bloom
The blog knot the other job link
Github repository project link address

A. The other side of the knot "software engineering experiment two individual events," the project results to evaluate

       1.1 pairs of project work Bowen read and comment

       (1) knot the other blog links

       (2) Comments shots are as follows

       1.2 knot each other cloning project source code, read and test run the code, peer review project code and recorded.

       (1) knot the other Github project warehouse link

       (2) verification of the code table is as follows.

Summary section
(1) comply with the code requirements and specifications it?
       A: The part to meet the needs and specifications.
If (2) have comprehensive code design considerations?
       Answer: not very comprehensive, revised many times.
How (3) code readability?
       A: The easy to understand.
(4) the code easier to maintain it?
       A: difficult.
Each line execution (5) code and check it, huh?
       A: Yes, I checked.
Design Specification
whether (1) designed to comply with known design patterns or items commonly used mode?
       A: No
(2) there is no hard-coded or strings / numbers, etc. exist?
       A: There are a part.
(3) code is not dependent on a particular platform, whether it will affect the future of transplantation (such as Win32 to Win64)
       Answer: There is no dependence, it does not affect.
(4) new developers can write code with an existing Library / SDK / Framework in functions to achieve? Whether there is a similar function in this project can call without having to re-implement all?
       A: You can achieve, does not exist.
(5) there is no unused code can be cleared? (A lot of people want to keep as much code as possible in the future will spend, this has led to a program file has many commented the code, the code can be deleted, because the source code control has saved the original old code.)
       A : there has been cleared.
Code Specification
(1) modify part of the code in line with the standards and style it (the detailed provisions omitted)?
       A: The part of the code in line, does not comply with the modified.
Specific code section
(1) there is no error processing? For external function call, check the return value or exception handling?
       A: access to information and discussion after processing is complete, check and deal with.
(2) transmission parameters for errors, the length of the string length byte or character (may be single / double-byte), the start count is 0 or 1 starts to count?
       A: There are error corrected, it is the length of the string length in bytes, 0 is counted.
How (3) boundary conditions are treated? How Default Switch statement is processed? Is it possible to loop an infinite loop?
       A: The border is more appropriate page design, twinning partner only completed page design, it is not involved in the cycle, some features are not implemented.
(4) there is no use assertion (Assert) to ensure that the same conditions that we think really meet?
       A: No use.
(5) use of resources, is where to apply, where to release? Is it possible to cause resource leaks (memory, files, various GUI resources, database access connections, etc.)? Is it possible to optimize?
       A: Yes, found on the Internet, does not lead to resource leaks.
(6) whether the data structure elements are used?
       A: After the examination slight, it has been deleted or modified.
Effectiveness
(1) code performance (Performance) How? The worst case is what?
       A: The code is correct, the program runs normally.
(2) code, especially if there are significant portions of the cycle can be optimized (C ++ repeatedly create a class, whether in C # StringBuilder string operation can be optimized)?
       A: There can optimize the part, but the effect is not improved significantly modified, so intact.
(3) whether it will call a timeout for systems and networks? ? How to deal with
       A: No timeout has been resolved.
Readability
code readability how? Is there enough comments?
       A: The code is not very complex, slightly annotation, and later supplemented with some critical comments.
Testability
of code need to update or create a new unit test? You can also have checklists developed for specific areas (such as databases, web pages, multi-threading, etc.).
       A: No.

- Checklist Template quoted from the "Building of the law - modern software engineering."

       1.3 according to the findings of a review of the use github Fork, Clone individual projects and other operations on the companion source code modification cooperation.

       (1) knot the other side of the warehouse project originally Fork, Clone, Push, Pull request, Merge pull request log data as follows.

       (2) using the other junction git clone command to the local repository for easy viewing modified.

       (3) using the fork function will bear the other warehouse diverted to my personal warehouse.

       (4) using the Pull request inspection request author combined

       (5) the original author to use Merge pull request merge the code I submitted.

       (6) The log data after merging the author.

II. Northwest Normal epidemic prevention and control statistical information system development

2.1 Requirements Analysis statements.

    Design and development of a line with the requirements epidemic prevention and control information system needs of our school, so that it has the following features:

  • (1) all kinds of school staff and students can gather information about the epidemic;

  • (2) each of the two departments responsible for epidemic prevention and control work of the department staff can view summary epidemic and provide advanced query features a combination of multi-attribute query and visualization of statistical functions;

  • (3) prevention and control of a designated person in charge of the school Login "Northwest Normal epidemic prevention and control statistical information" subsystem, you can browse a list of all persons reporting aggregated data, use [] advanced query data can be combined screening system to graphically display each college has students reporting and non-reporting statistics and key data statistics of the epidemic, [export] can query EXCEL file list;

  • (4) human-machine interface requirements GUI interface (WEB page, APP page can be);

  • (5) additional functions: the timing of completing the alert.

       For our team to understand the point of view, needs analysis is the analysis of two customer edge mold can demand its meticulous, viable technology. According to overall demand, we found that the project requires three types of people, the first group of people only have to fill function, the second class can be aggregated to view their range, while the third is a class of people is the equivalent of "all" the people . So in the database we will be all kinds of roles designed for a table, the epidemic information designed for a table, that is, two tables.

       On the first function , requiring all students can gather information about the epidemic / faculty. We will be abstracted as the first category, it should be specifically designed to fill out a form containing some personal information about the epidemic and submit it to the background. In addition to viewing should not have to modify (except to fill out the outside) and other functions.

       On the second function , requiring two departments responsible for epidemic prevention and control of this epidemic can view the personnel department summary, and capable of multi-attribute combinations query and visualization of statistical functions. This role is what we demand of abstraction of the second class, the class can not be the role of additions and deletions to other functions that can only look at the summary and data visualization, the equivalent of a real-life look at a summary of such personnel role, considering the cover and other phenomena, the role does not have permission to delete the increase.

       On the third function , requires school officials to log subsystem, you can browse a list of all persons reporting summary data, the data can be combined filter queries to graphically display each school has students reporting and non-reporting statistics and key statistics epidemic case, the query [export] EXCEL file list. This role is a third role, which in addition to additions and deletions to change search and other functions, but also can export tables and data visualization.

       On the fourth function , interactive interface requires a GUI, this is not difficult to achieve, can be varied such as app and web pages to achieve.

       On additional functions , this function, my companions and I discussed quite a few times, because a variety of forms, I think this feature is not necessary, from my point of view, if enough attention to something, then the possibility is actually quite forgotten small, and basically everyone has a cell phone, the phone's most basic function is to alarm, set their own alarm clocks to facilitate the developers also reminded himself. And my teammates are considered no one is perfect, or choose to fill in a form to remind personnel. So we conceived a variety of methods, for example, micro-channel has become a popular communications software, to do with the micro-channel public number regularly reminded every day to fill, and so on. Finally, we choose is to use e-mail alert manner, the timing to send the user a reminder to fill.

2.2 software design specification.

   2.2.1 software background

       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.

       Collection, statistics and troubleshooting information about the epidemic prevention and control mechanism for effective cooperation, our school has 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 for remote reporting of information by our university enterprise micro-channel service hall.

   2.2.2 Software Architecture Design

       (1) Design three registration login function, and each level of user limit functions make use of.

       (2) system has the registration module, login module, reporting module, query module, export module, reminding module composed of six large pieces.

       (3) Interface Design
               1) External Interface
                   User interface: at the interface design, simple, easy to operate principle, projecting important information.
                   Software and hardware interface: The system has a GUI interface, taking into account the simple, easy to manage, the main hardware interface device is a PC, mouse, keyboard. The software interfaces with the main windows platform as the basic platform.
               2) the association between the independent and each other within each module, implemented mainly by calling a method of connecting the various parts.

       (4) Data Structure Design

               Structural design two tables: a user information table and epidemic information table.

   2.2.3 Software Functional Description

  • (1) information may be collected epidemic;

  • (2) each of the two roles can view a summary of the department staff epidemic and provide advanced query features a combination of multi-attribute query and visualization of statistical functions;

  • (3) three roles, you can browse a list of all persons reporting aggregated data, use [] advanced query data can be combined screening system to graphically display the college students have been reporting and non-reporting statistics and key data statistics of the epidemic, [export] can query EXCEL file list;

  • (4) human-machine interface requirements GUI interface (WEB page, APP page can be);

  • (5) furnished reminder timer.

2.3 software

  Define user classes (User), declare private variables private serial number (id), the name (username), password (Password), user type (type), and packaging each attribute method: set (), get (), because the properties private, not directly accessible, for example, can not be directly provided on the outside id, the id value may be set by setId method, obtaining getId id value.

  Definition information category (virus), declare private variables School (college), class (myclass), reporting date (startdate), name (username), telephone (tel), province (province), city (city), district (areas ), students (ischinesestudent), Wuhan students (iswuhanstudent), Hubei students (ishubeistudent), 14 touch any (is14contact), in Wuhan (isinwuhan), Hubei (isinhubei), back to school today (istodayformother), suspected (islikevirus), diagnosis (isconfirmvirus).

  beans class Javabean class, config class configuration, mapper for the dao class, service service groups, each responsible for only a duty, a complete calculation of each method, program logic is simple, the class has a higher readability. When designing an interface, the interface to each allocated a certain proportion of the design methods to reduce code redundancy. And high-level module does not rely on low-level modules.

2.4 The core function code display

    /** * 将数据写入到excel中 */
    public static void makeExcel(List<List<String>> result,String[] tittle) {
        try {
            // 创建一个workbook对应一个excel文件
            HSSFWorkbook workbook = new HSSFWorkbook();
            // 在workbook中创建一个sheet对应excel中的sheet
            HSSFSheet sheet = workbook.createSheet("病例日期表");
            // 在sheet表中添加表头第0行,旧版本poi对sheet的行列有限制
            HSSFRow row = sheet.createRow(0);
            // 创建单元格,设置表头
            HSSFCell cell = null;
            for (int i = 0; i < tittle.length; i++) {
                cell = row.createCell(i);
                cell.setCellValue(tittle[i]);
            }
            // 写入数据
            for (int i = 0; i < result.size(); i++) {
                List<String> oneData = result.get(i);
                HSSFRow row1 = sheet.createRow(i + 1);
                //创建单元格设值
                for (int j = 0; j < oneData.size(); j++) {
                    row1.createCell(j).setCellValue(oneData.get(j));
                }
            }
            //将文件保存到指定的位置
            FileOutputStream fos = new FileOutputStream("D:\\result.xls");
            workbook.write(fos);
            System.out.println("写入成功");
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }



2.5 running function interface screenshot.

    basic skills

  • Sign up role

  • Three landing roles

  • Student / faculty reporting function

  • Each of the two departments responsible for epidemic prevention and control of this epidemic can view the personnel department summary, advanced query features a combination of multi-attribute query and visualization of statistical functions;

  • School officials login subsystem, you can browse a list of all persons reporting aggregated data, use [] advanced query data can be combined screening,

  • Delete function

  • Add Features

  • The system provides a graphical display of each college students have been reporting and non-reporting statistics and key data statistics of the epidemic,

  • [Export] can query EXCEL file list;

(4) human-machine interface GUI interface requirements

        WEB page

    Additional features

  • Regular reporting remind

  • Is sometimes identified as spam, it is uncomfortable

2.6 Description of the process knot, QQ screenshot

        The cooperation projects, and his teammates had some good cooperation in the period, clear division of labor, methodical, although the half-way out of some dispute, but finally a good agreement.

2.7 twinning operations PSP.

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

2.8 Summary of experience

       The two have worked really can bring the effect of 1 + 1> 2 do? For this problem through this cooperation, I think the same thing two people collaborate to make, respectively, than doing it alone is certainly much better effect of. Through this twinning, I think it is more good than harm, there is a presence of his teammates, the equivalent of more than a pair of eyes and a different way of thinking, problem-solving point of view and methods can be diverse, multi-angle of, for example, I and his teammates Some dispute and discussion of the design of additional functions there between. For at their own shortcomings also reflect a good contrast for easy upgrade to make up their own in the future. And developed the project should also be more than one person to be rigorous, some work can also be a division of labor, greatly reducing the burden on the individual. The drawbacks is that the views are not uniform, and the distribution of stylized acting, time inconsistency, and so on.

Guess you like

Origin www.cnblogs.com/hackerZT-7/p/12544280.html