| 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 | |