project |
content |
Course class blog link |
|
This job requires link |
|
My course learning objectives |
(1) to learn and master the basic theoretical knowledge about software engineering (2) enhance the ability of individual independent practice (3) enhance their professional competence |
This job helped me achieve learning objectives in what areas |
How to (1) learn to write and publish blog (2) study found that more knowledge and a good way to enhance their skills through blog Park (3) can be carried out on the technical knowledge and professional exchange with like-minded friends through the blog Park How (4) learn to use Github |
Knot the other school number - Name |
201771010115- Loss of Effectiveness |
The blog knot the other job link |
https://www.cnblogs.com/LZM7343/p/12584530.html |
Github links to other nodes warehouse project |
https://github.com/LZM-1/shiyaner |
The project's Github repository link address |
|
1 , experimental purposes and requirements
They (1) experience in software development cooperation, practice pair programming (Pair programming).
(2) method of operation control Github collaborative development programs.
2 , experimental and step
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;
Task 2: twenty-two free pair, colorectal other side "of software engineering experiment two individual events," the project results to evaluate specific requirements are as follows:
(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 time required completed" and "practical completion the time required to "explore differences in analysis and data of two reasons, to publish content to the above comments blog comments area.
(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.
1. Summary section
1) comply with the code requirements and specifications it?
Code is more in line with the needs and specifications.
2) whether the code design thoughtful?
Code design consideration is more comprehensive.
How 3) code readability?
Higher code readability, the code is almost always more important to clear comments.
4) the code easier to maintain it?
Currently the code easier to maintain, because the higher the code robustness.
Each row in the implementation 5) code and check it, huh?
I first twinning partner was cloned into the source code on my local machine, after a detailed reading the code, and the code has been run.
2. Design Specification
Whether 1) designed to comply with known design patterns or items commonly used mode?
Follow common patterns on the other side of the knot design as a whole.
2) There is no hard-coded or strings / numbers, etc. exist?
Present in the entire code and hard-coded strings, numbers less.
3) code is not dependent on a particular platform, whether it will affect the future of transplantation (such as Win32 to Win64)?
Platform-dependent code is for smaller, portable strong.
4) developers write new code functionality can be achieved with existing Library / SDK / Framework in? Similar functionality exists in this project can call without having to re-implement all?
Developers write new code to existing SDK functions can be used to achieve similar functionality not found in this project can be called.
5) There is no unused code can be cleared?
There are some useless code exists, developers will code their comments together and made a detailed functional annotation.
3. Code Specification
Modify the code in line with standard parts and style it?
Modify part of the code more in line with standards.
4. DETAILED code portion
1) There is no error processing? For external function call, check the return value or exception handling?
There are errors on the part of the treatment for external function call, checking the return value and part of the anomalies in the process.
2) parameters passed with no errors, the length of the string length of characters or bytes (a double-byte may be mono), the count is zero or 1 to start counting?
No error parameters are passed, the string length is the length of the character, based on a start counting.
How 3) boundary conditions are treated? How default branch switch statement is handled? Is it possible to loop an infinite loop?
For the cycle to do a check, it can not be an infinite loop.
4) There is no use assertion (Assert) to ensure that we really believe that the same conditions are met?
Part of a use assertions to ensure that we really believe that the same conditions are met.
5) use of resources, is where to apply for release on where? Whether there may be a leak of resources (memory, files, various GUI resources, database access connections, etc.)? Is there room for optimization?
There is a little problem on the database access, which is still not fully resolved, there is no space to do optimization.
6) There is no data structure elements with less?
Less elements with no data structure.
5. Effectiveness
Effectiveness 1) code (Performance) How? What is the worst case?
The effectiveness of the code is not bad, the worst may be connected to the database anomalies occur.
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)?
Optimization of the partial cycle presence portion.
3) calls for system and network whether timeout? How to deal with?
A temporary situation calling system and network timeout does not appear.
6. readability
How to code readability? Is there enough comments?
Code readability well enough to comment fully clear.
7. testability
If the code needs to be updated or create a new unit test?
Code needs to update, supplement and perfect.
Students basic information query functions to achieve:
Registration functions to achieve:
Student Information Query functions to achieve:
(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 request, Merge pull request other operations.
Task 3: using 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 our school epidemic prevention and control requirements, 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 points features: reporting the timing reminder
1. Demand Analysis
Under the new coronavirus pneumonia epidemic (2019-nCoV) infection, in order to effectively coordinate the collection, investigation and statistical information about the epidemic prevention and control mechanism, combined with our teachers and students daily epidemic reporting system experience, we decided to design and development a fulfills our demand for epidemic prevention and control work faculty / student epidemic reporting system to achieve the basic situation of our school all categories of personnel, information gathering activities of the regions and the trajectory and health.
2. Functional Design
- basic skills
Students can log in to the health of the individual during the epidemic fill and submit, there is a data file that can be saved daily student immunization status information, an administrator can log administrator interface to view each student the basic situation of the day, where regional and state of health, you can also check the date of the health and non-health number where the number of students and some students from different areas of statistics, and statistics show histogram. Students can register for the first time on their own personal account, in order to reduce the work measure backstage staff, the students will fill in some of the key information when registering for a personal account for verification (such as student number, phone number, login password), when students submit the form data can be submitted the day before the echo, it can automatically obtain local time and save it. Administrators can view student information in the information Shihai modify, delete, when a student Shihai missed the submission time students can add information in the database.
- Additional features
Regular reporting reminders.
3. Design and Implementation
The following figure is all the classes I have built, Discnum responsible for statistical areas in which students, Discshop primarily responsible for the day health statistics student, LoginDialog responsible for login, UserAddDialog responsible for student registration, ShowEditor responsible for the student after login Home , UserAddDialog responsible for day students epidemic reporting and submission, UserQurryEditor administrator is responsible for the day to see the health of students.
Construction of the database
Table keeper Administrator
Student Information table user
4. Test Run
(1) Registration Interface
(2) the login screen
(3) Home
(4) fill in a form
(5) administrator to view student information
(6) Statistics
5. Paste feel more satisfied or unique code snippet, code control with a garden blog to display.
1 system time:
Import Classes in java.util *;.
Import the java.text *;.
Public class the TestDate {
public static void main (String [] args) {
Calendar Calendar.getInstance CA = ();
int year = ca.get ( Calendar.YEAR); // Gets Year
int month = ca.get (Calendar.MONTH); // get the month
int day = ca.get (Calendar.DATE); // get the date
int minute = ca.get (Calendar. MINUTE); // sub
int hour = ca.get (Calendar.HOUR); // h
int second = ca.get (Calendar.SECOND); // seconds
int = ca.get a WeekOfYear (the Calendar.DAY_OF_WEEK);
}
6. The junction of the process described
Due to Loss of Effectiveness between me and the students have been learning in other disciplines of teamwork in team experience, and cooperation, get along very well, so when we learn the teamwork again chosen as a partner to each other. Before the official launch of this design, we have to do this task a general analysis and rational allocation of tasks, and then they officially launched the learning tasks in the learning process of cooperation we can timely exchange and encounter problems when timely feedback, and work together to solve a lot of problems, here is our cooperation and exchange process of recording:
7. Summary
To develop the project, I realized through this junction to the importance of teamwork, as well as their own lack of ability in terms of programming, the most important thing is to appreciate the cooperation of the two can really bring the effect of 1 + 1> 2, I procrastination is a very serious person, from the beginning of the junction of two people groping for cooperative learning made me change my bad habits before, in a timely manner to carry out the task of learning, but also realized the importance of personal capacity building, and AC, to the back of the two men working together to solve the problems encountered, and then to come to the final outcome, I appreciate the efforts and the twinning of happiness and success, then this I would like to thank my partner in Loss of Effectiveness students the twinning cooperation and patience helped me infinitely tolerant of me, but in the future will continue to strive to do better next time.
8. Display PSP
PSP | SUMMARY | Plan time (min) required to complete a total of | The actual time required to complete a total of (min) |
---|---|---|---|
Planning | plan | 20 | 15 |
Estimate | It estimated that the task requires much time and planning generally work steps | 10 | 15 |
Development | Develop | 168 | 270 |
Analysis | Needs analysis (including learning new technologies) | 10 | 70 |
Design Spec | Generate design documents | 0 | 30 |
Design Review | Design review (and colleagues reviewed the design documents) | 0 | 0 |
Codeing Standard | Code specifications (development of appropriate norms for the current development) | 5 | 25 |
Design | Specific design | 20 | 23 |
Coding | Specific coding | 200 | 259 |
Code Review | Code Review | 30 | 50 |
Test | Test (self-test, modify the code, submit modifications) | 20 | 30 |
Reporting | report | 40 | 35 |
Test Report | testing report | 20 | 30 |
Size Measurement | Computing workload | 5 | 8 |
Postmortem & Process Improvement Plan | Later summarized, and process improvement plan | 15 | 13 |