Job source program code: Https://github.com/R-81/subway
instructions for working with the program: by Enter the command parameters to solve the route (only support-b,-c), according to the parameters of the route, the program will not end, at this time, you can enter the name of the railway line (for example, metro lines) to export all the station name on this route.
1) time required for each module development
|
Personal Software Process Stages |
Time |
Planning |
Plan |
|
· Estimate |
· Estimate how long this task will take |
25K |
Development |
Development |
|
· Analysis |
· Demand analysis (including learning new technologies) |
1h |
· Design Spec |
· Creating a design Document |
0h |
· Design Review |
· Design Review (and colleagues review design documents) |
0h |
· Coding Standard |
· Code specification (to develop appropriate specifications for current development) |
0h |
· Design |
· Specific design |
2h |
· Coding |
· Specific code |
8h |
· Code Review |
· Code review |
0h |
· Test |
· Test (self-test, modify code, commit changes) |
8h |
Reporting |
Report |
|
· Test Report |
· Test report |
1h |
· Size Measurement |
· Computational effort |
0h |
· Postmortem & Process Improvement Plan |
· Summarize afterwards and propose process improvement plan |
1h |
|
Total |
21h |
2) Improvement Program
For the-C path Soso has been improved, specifically to mark the searched lines, in the next search to save the search for these marked lines, can reduce the number of redundant search, but the transfer station on multiple lines can still be effectively searched.
3) file storage format and justification
The file storage format I used is the name of the line Route name subway station. Line is to distinguish between the route name and the subway station name, and the string immediately following line is the route name. For the loop route, you need to add a repeating starting point at the end of the line station name to achieve the effect of connecting the ring.
4) Program Correctness demonstration
The program reads the line information and the site information from the file, through the processing after depositing the appropriate data structure, through the different parameters, chooses the breadth first search as the main algorithm, the different search way carries on the path search. After many tests and corrections, can achieve the effect of the job requirements.
5) Learn and comprehend
Feel this time because of their own in the writing code before the full thinking, resulting in the test phase repeatedly modified many times, wasted a lot of time, the next time should be considered more carefully in the design phase, which will save time.
6) Performance Analysis diagram
7) Test Cases
-C Apple Park Terminal 2nd
-B Apple Park, terminal 2nd
Apple Orchard, Terminal C 2nd
-B apple Orchard, terminal 2nd
-B Zhi Chun Road Beijing West railway station
-C-Chun Road Beijing West railway station
-B four Megumi Gaobeidian
-B Shihui
Metro line One
Subway Hachijo Line
First Assignment--subway