S4-G1 / management

1 stars 0 forks source link

Monitor Production #7

Open Bokaiii opened 3 years ago

Bokaiii commented 3 years ago

REQUIREMENT
--

ID Requirement
R02 Monitor Production

DESIRED OUTCOME --
As an end-user I want to be able to see relevant live data from the machine. Live data includes amount produced, humidity logging, temperature logging, etc.

ACCEPTANCE CRITERIA --
A story can cover multiple requirements and aims to describe the desired outcome that meets the expectations of the requirement(s). The acceptance criteria are the agreed measure to prove the story is functionally complete and indirectly proving the requirements are met.

Test Case ID S4G1_TST_xx
Requirement(s) R02
Preconditions The brewing process is currently running and the amount to produce is set to x
Test Steps Check if the fetched amount to produce is x in the API endpoint ____
Expected Output The fetched amount matches the set amount
Test Case ID S4G1_TST_xx
Requirement(s) R02
Preconditions The brewing process is currently running
Test Steps Check if the OPC-UA Client can post information to the API
Expected Output Status Code 200 OK
Test Case ID S4G1_TST_xx
Requirement(s) R02
Preconditions The brewing process is currently running
Test Steps Check if the OPC-UA Client can fetch information from the simulator via Subscriptions
Expected Output The OPC-UA Client receives data

DEFINITION OF DONE

The Definition of Done describes the different steps to be completed to ensure the product/solution increment is completed.

SOLUTION DESCRIPTION

The solution description describes how we expect to implement a solution that satisfies the desired outcome of the user story.

The live data will be displayed on a dashboard, which is a web application. The data is fetched from the database using a HTTP GET request to the relevant API endpoint.

GET /batches/{identifier} will return the following:

{
    "speed": 189,
    "started_dt": "2021-01-17T14:14:48.392470+00:00",
    "amount_to_produce": 100,
    "recipe_id": "Pilsner",
    "finished_dt": "2021-01-17T14:15:20.135025+00:00",
    "oee": 29.295000000000005,
    "identifier": 7
  }

To start a new batch, the following HTTP request is sent to the API from dashboard. POST /batches/

{
    "speed": 189,
    "amount_to_produce": 100,
    "recipe_id": "Pilsner"
}

This returns a batch id the data is linked to. During the production, the OPC-UA Client sends data to the Data_Over_Time API Endpoint. This PUT request also updates the batch table with the latest data-set. PUT /batches/{identifier}

{
  "speed": 0,
  "started_dt": "2021-03-26T11:37:43.013Z",
  "amount_to_produce": 0,
  "recipe_id": "string",
  "finished_dt": "2021-03-26T11:37:43.013Z",
  "oee": 0
}
nymann commented 3 years ago

Both acceptance criteria looks fine, consider adding test criteria for the OPC-UA client