From 04767d93c1ede0d7779e6b41e01871182c6b94aa Mon Sep 17 00:00:00 2001 From: Michael McCool Date: Wed, 20 Nov 2024 08:28:54 -0400 Subject: [PATCH] User Stories - Test PR (#306) * User Stories - Test PR - Proposed restructuring of requirements section to include Use Case Categories and User Stories - Uses two example user stories from TD TF, as discussed. - Old material is retained, for now. We need to land pending PRs to bring it up to date, then reorganize into user stories. * Update index.html * reorganized based on discussion * use subsections for use case categories * minor fixes and HTML repairs => Going to merge for now, after discussion in Usecases call Nov 20, but there is more restructuring to do with the rest of the requirements section. --- index.html | 235 ++++++++++++++++++++++++++++++++++------------------- 1 file changed, 153 insertions(+), 82 deletions(-) diff --git a/index.html b/index.html index 610013dc..9b42e7d2 100644 --- a/index.html +++ b/index.html @@ -8576,15 +8576,167 @@

Edge Computing

- + + + +
+

Use Case Categories

+

The following categories group Use Cases that share a common property. + In the definition of a User Story, use case categories can be cited as + motivations rather than (or in addition to) specific use cases.

+ +
+

Security Public Service

+

Provides a public service. Misuse can result in lack of support to other users.

+
    +
  • + Supporting Use Cases: +
      +
    • + [[[#UC-interactive-public-spaces-1]]] +
    • +
    • + [[[#UC-edge-computing-1]]] +
    • +
    • + [[[#UC-ar-virtual-guide-1]]] +
    • +
    +
  • +
+
+ +
+

Security Private Information

+

Handles personal or confidential information. Misuse could disclose privately identifiable information (PII) or sensitive business information.

+
    +
  • + Supporting Use Cases: +
      +
    • + [[[#UC-interactive-public-spaces-1]]] +
    • +
    • + [[[#UC-edge-computing-1]]] +
    • +
    • + [[[#UC-ar-virtual-guide-1]]] +
    • +
    +
  • +
+
+
+

Security Safety Critical

+

Misuse has the potential to cause personal injury.

+
    +
  • + Supporting Use Cases: +
      +
    • + [[[#UC-interactive-public-spaces-1]]] +
    • +
    • + [[[#UC-edge-computing-1]]] +
    • +
    • + [[[#UC-ar-virtual-guide-1]]] +
    • +
    +
  • +
+
+
+

Security Business Critical

+

Misuse has the potential to cause financial injury or damage to business operations or reputation.

+
    +
  • + Supporting Use Cases: +
      +
    • + [[[#UC-interactive-public-spaces-1]]] +
    • +
    • + [[[#UC-edge-computing-1]]] +
    • +
    • + [[[#UC-ar-virtual-guide-1]]] +
    • +
    +
  • +
+
+
+

TD Creation Simplification

+

Simplifying the process of TD construction is helpful to ease the task of TD writers and generators.

+
    +
  • + Supporting Use Cases: All. +
  • +
+
+
+

Requirements

+
+

User Stories

+

User stories provide a high-level summary of a requirement in the form of + a single sentence that describes a stakeholder (Who has the need), + a technical requirement (What they need; a capability or condition; features), + and a functional requirement (Why they need it; the purpose or motivation; use cases). + These are often stated in the form of a sentence: "As a Who I need What so that I can Why." + For clarity, the following user stories break out each part in a list. + Each user story will in addition identify one or more Use Case (or Use Case Categories) + that establishes the motivation for the identified capability. + Capabilities correspond to sets of features in other technical specifications. +

+

Define how user stories and features are linked. We can link back from + implemented features to user stories, but want to avoid unstable links e.g. to documents + maintained in github. If we have bidirectional links we need some mechanism to keep them + consistent.

+
+

Connection Oriented Protocols

+
Who (As a...):
Deployer of devices with connection oriented protocols.
+
What (I need...):

Reusable Connection descriptions in a TD.

+
+
Details:
For protocols that are based on an initial connection and then subsequent messages, + a Consumer can reuse the initial connection rather than opening a new connection each time.
+
+
Why (so that I can...):

Better describe connection oriented protocols such as MQTT and WebSockets.

+
+
Motivating Use Case:
Open Field Agriculture
+
+
+
+

+
+
+

Reusable Defaults per TD

+
Who (As a...):
Designer/Developer of TDs
+
What (I need...):
Reusable Connection descriptions in a TD
+
Why (so that I can...):

Simplify TDs in cases without usage of default terms or to avoid redundancy

+
+
Motivating Use Case Category:

TD Creation Simplification.

+
Details:

There are at least three sub-problems that motivate this feature:

+
  1. If the media type is common across forms but is not `application/json`, it otherwise needs to be repeated in each form.
  2. +
  3. If there are common protocol stack configurations such as different default verbs, baud rates, and endianness, they otherwise need to be repeated in each form.
  4. +
  5. Multiple bases are not otherwise possible, so each form repeats multiple bases. This is relevant (for example) when a TD has both local and public IP addresses.
  6. +
+
+
+
+
+
+
+

Functional Requirements

+

We will keep this and following subsection for now but should consider reorganizing them into user stories.

This section defines the properties required in an abstract Web of Things (WoT) architecture.

@@ -8917,87 +9069,6 @@

Security

mechanism commonly used in the web, such as Basic, Digest, Bearer and OAuth2.0.

--> -
-

Use Case Categories

-
-
Security Public Service
-

Provides a public service; misuse can result in lack of support to other users.

-
    -
  • - Supporting Use Cases: -
      -
    • - [[[#UC-interactive-public-spaces-1]]] -
    • -
    • - [[[#UC-edge-computing-1]]] -
    • -
    • - [[[#UC-ar-virtual-guide-1]]] -
    • -
    -
  • -
-
-
Security Private Information
-

Handles personal or confidential information. Misuse could disclose privately identifiable information (PII) or sensitive business information.

-
    -
  • - Supporting Use Cases: -
      -
    • - [[[#UC-interactive-public-spaces-1]]] -
    • -
    • - [[[#UC-edge-computing-1]]] -
    • -
    • - [[[#UC-ar-virtual-guide-1]]] -
    • -
    -
  • -
-
-
Security Safety Critical
-

Misuse has the potential to cause personal injury.

-
    -
  • - Supporting Use Cases: -
      -
    • - [[[#UC-interactive-public-spaces-1]]] -
    • -
    • - [[[#UC-edge-computing-1]]] -
    • -
    • - [[[#UC-ar-virtual-guide-1]]] -
    • -
    -
  • -
-
-
Security Business Critical
- Misuse has the potential to cause financial injury or damage to business operations or reputation.

-
    -
  • - Supporting Use Cases: -
      -
    • - [[[#UC-interactive-public-spaces-1]]] -
    • -
    • - [[[#UC-edge-computing-1]]] -
    • -
    • - [[[#UC-ar-virtual-guide-1]]] -
    • -
    -
  • -
-
-
-

Risks

Risks are defined in detail in the Security and Privacy Guidelines document.