Use Case: Reading a Meter *********************************************************************** Short Description ----------------------------------------------------------------------- A meter is read and the read values are stored in system. Actor(s) ----------------------------------------------------------------------- Meter Reader Trigger(s) ----------------------------------------------------------------------- A read-meter form is requested from portal. Result(s) ----------------------------------------------------------------------- The new meter values are stored in database. Incoming Data ----------------------------------------------------------------------- Meter ID, meter value, date and time of reading Outgoing Data ----------------------------------------------------------------------- - Message about successful reading - Log message Precondition(s) ----------------------------------------------------------------------- Postcondition(s) ----------------------------------------------------------------------- Invariant(s) ----------------------------------------------------------------------- Essential Steps ----------------------------------------------------------------------- * Authenticate meter reader * Get meter id, meter value, datetime * Check input values: * Does the meter id exist? * If not, ask and add a new one. * value >= old value? * Add new reading in database * Output success message Open Issues ----------------------------------------------------------------------- Meter data input can also be performed by some automatic system: - automatic meters send their data automatically (how does these data look like and where is it stored?) - a smartphone/tablet app might deliver the data by photograph/OCR These input devices need an API to deliver data or they require some API to be able to input data into the system. Remarks ----------------------------------------------------------------------- .. raw:: latex \pagebreak[2]