当前位置:网站首页>Elevator dispatching (pairing project) ④
Elevator dispatching (pairing project) ④
2022-07-04 10:52:00 【Painting and living~】
List of articles
One 、 software test
1.1 unit testing
In the development process , In order to reduce the logic error in the function, the program will bug Probability , We use JUnit3 Unit test the functions of some classes . The functions for unit testing include GetPeopleIn(), GetPeopleOut(), HasPeopleOut(), GetNearestPsg(), GetMaxFloorPsg() etc. . Here is one of the tests
public void testGetMaxFloorPsg()
{
EleController controller = new EleController();
Passenger passenger1 = new Passenger(100, 2, 6, 1, 1);
Passenger passenger2 = new Passenger(100, 1, 8, 2, 1);
Passenger passenger3 = new Passenger(40, 8, 1, 3, -1);
List<Passenger> passengers = new LinkedList<>();
passengers.add(passenger1);
passengers.add(passenger2);
passengers.add(passenger3);
controller.setPsgRequestList(passengers);
assertEquals(8, controller.getMaxFloorPsg(1, 1, 1));
passengers.remove(0);
controller.setPsgRequestList(passengers);
assertEquals(2, controller.getMaxFloorPsg(1, 1, 1));
passengers.remove(0);
controller.setPsgRequestList(passengers);
assertEquals(1, controller.getMaxFloorPsg(1, 1, 1));
}
The test results are shown in the figure
1.2 Black box testing
Here is 10 Test cases
The test case | describe |
---|---|
No input | The elevator operates normally |
weight 70 Starting floor 1 Terminal floor 10 | The elevator receives passengers normally |
weight 100*5 people | Elevator receives passengers normally in case of multiple requests |
weight 100*5 people The elevator 2 individual | Pick up passengers normally when there are many elevators |
weight 100*10 people | Unable to pick up passengers when overweight |
Starting floor -2 | The starting floor is illegal |
Terminal floor 21 | The terminal floor is illegal |
Starting floor 1 Terminal floor -1 | In the passenger carrying state, the elevator does not pick up passengers in the opposite direction of its own operation |
Starting floor 1 Key floors -1 | No passengers sstf The algorithm changes from uplink to downlink |
Change any legal elevator parameters | The elevator parameters can be changed and run smoothly |
Two 、 Performance comparison
Because passengers are randomly generated , The values are not necessarily consistent .
The evaluation standard is that the total number of people reaches 50 Number of people served per hour / The total number of
Bus:0.3
SSTF:0.48
LOOK:0.34
3、 ... and 、 Pairing project summary
2.1 The advantages of pair programming
Through pair programming , Developers can urge and encourage each other . meanwhile , The fields that two people are good at can also complement each other , When one of the developers encountered a difficult point , You can also ask another person , This saves development time , Improved development efficiency .
However , Pair programming also has some disadvantages . When the code styles of two developers are not unified , It's easy to find it difficult to understand each other's code , And then affect further development . meanwhile , If the content that a person is responsible for himself appears bug Not familiar enough , It will also lead to other bug.
2.2 Personal strengths and weaknesses
Deng Shengyu
advantage : Involved in Java Language project development , Familiar with the development process . Good code habits .
shortcoming : Procrastination is too serious , Delay the development process .
Cui Wenguang :
advantage : Strong ability to collect data . Good at communication , Fast programming speed, clear thinking , No drag .
shortcoming : Not familiar with multi-threaded development .
2.3 Pairing process
As the development period coincides with the winter vacation , Cuiwenguang and I cannot meet offline , Therefore, online communication is adopted to complete the project development . We are 1 month 27 Finish the discussion on the day , Determine and start the development process . Due to git I'm not familiar with , The initial progress was not submitted to the warehouse on time , Instead, it was used after the medium-term code volume gradually increased git Project management .
In pair development , I finished the definition of the first stage class , And basically completed the second stage bus Scheduling algorithm . Cuiwenguang has improved bus Scheduling algorithm , And completed sstf、look Scheduling algorithm and ui Interface development . meanwhile , I am right. ui The interface logic has been adjusted and improved , Unit test is carried out . Besides , We worked together to complete the writing of blogs and documents .
Because you can only communicate online , We can't provide the offline version of the pair photos they are discussing , So I took a screenshot of the online pairing discussion process and recorded it as follows .
2.4 Technical highlights and difficulties
Technical highlights
- Support real-time display of various information
- The algorithm is efficient
Technical key points
- Using multithreading technology , Prevent the process from crashing
- A lot of unit tests are used , Improve code robustness
Technical difficulties encountered
- Process creation problem
- Synchronization function problem
To be improved
- The interface is chaotic
- The function still needs to be improved
- The front end style can be further beautified
2.5 Other gains
Through this pairing project , I realized that procrastination is a terrible bad habit , It will seriously affect the progress of cooperative development . meanwhile , My ability to collect data has also been improved , Yes java Object oriented design 、 Multithreading 、 The understanding of unit testing has been deepened . On the whole , It has benefited me a lot .
边栏推荐
- Error C4996 ‘WSAAsyncSelect‘: Use WSAEventSelect() instead or define _ WINSOCK_ DEPRECATED_ NO_ WARN
- [advantages and disadvantages of outsourcing software development in 2022]
- BGP advanced experiment
- RHCE day 3
- Terms related to hacker technology
- Crawl Zhejiang industry and trade news page
- Write a program to judge whether the elements contained in a vector < int> container are 9.20: exactly the same as those in a list < int> container.
- Idea SSH channel configuration
- [Galaxy Kirin V10] [desktop] FTP common scene setup
- [Galaxy Kirin V10] [desktop] build NFS to realize disk sharing
猜你喜欢
Canoe - description of common database attributes
VLAN part of switching technology
Static comprehensive experiment ---hcip1
Learning XML DOM -- a typical model for parsing XML documents
Introduction to tree and binary tree
Hidden C2 tunnel -- use of icmpsh of ICMP
Canoe - the third simulation project - bus simulation - 3-1 project implementation
XMIND installation
[Galaxy Kirin V10] [desktop] can't be started or the screen is black
C language - stack
随机推荐
Discussion | has large AI become autonomous? Lecun, chief scientist of openai
Two way process republication + routing policy
Rhcsa learning practice
[Galaxy Kirin V10] [desktop] printer
Performance test method
Canoe - the second simulation project -xvihicle1 bus database design (operation)
Huge number multiplication (C language)
Canoe - the third simulation project - bus simulation-1 overview
Four characteristics and isolation levels of database transactions
Canoe-the second simulation project-xvehicle-1 bus database design (idea)
Software sharing: the best PDF document conversion tool and PDF Suite Enterprise version sharing | with sharing
Canoe - the third simulation project - bus simulation - 3-2 project implementation
Locust learning record I
Recursion and divide and conquer strategy
Learning XML DOM -- a typical model for parsing XML documents
Interview and lecture summary 1
Rhcsa day 9
[Galaxy Kirin V10] [desktop and server] FRP intranet penetration
Time complexity and space complexity
Locust installation