| | 10 | = Tracking System = |
| | 11 | |
| | 12 | == Model == |
| | 13 | |
| | 14 | * Store different positions and position-related additional data (e.g. speed, course, ...) of objects/object groups related to time (points/intervals) |
| | 15 | * Allow definition of object groups/subgroups and categories/subcategories |
| | 16 | * Distinguish between first, past, current and forecasted positions |
| | 17 | |
| | 18 | == View == |
| | 19 | |
| | 20 | * Display tracks of positions of objects or object groups over a (user-defined) time interval |
| | 21 | * Plot traces between positions |
| | 22 | * Use certain indicators for additional data (such as speed or course) to mark (selected) positions |
| | 23 | * Link additional information from the markers, e.g. free text, wiki-text, URLs |
| | 24 | |
| | 25 | == Controller == |
| | 26 | |
| | 27 | * CRUD functions for objects and groups/categories (RESTlike?) |
| | 28 | |
| | 29 | * Take up real-time position data of objects from external sources and update the database |
| | 30 | * Allow data transmission on multiple/parallel ways, e.g. HTTP, SMS, E-Mail, ...more? |
| | 31 | * Transmission should be as easy, available, reliable and '''energy-efficient''' as possible |
| | 32 | * Use derived/inherited data to minimize data transfer |
| | 33 | |
| | 34 | * Forecast object positions (and other object features) |
| | 35 | * Allow splitting of objects/groups into subdivisions |
| | 36 | |
| | 37 | == Other clients (e.g. on mobile devices) == |
| | 38 | |
| | 39 | * Capture real-time position data (and other information) of objects and send them to the server |
| | 40 | * Allow data transfer on multiple ways (even in parallel) |
| | 41 | |