From 8ad9db31c73d73c0418506bb595bc7245eb2ad14 Mon Sep 17 00:00:00 2001 From: Claudio Maggioni Date: Tue, 7 Mar 2023 15:21:34 +0100 Subject: [PATCH] exercise 2 (quality attribute scenarios) complete, please check --- src/sa/model/index.md | 58 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 53 insertions(+), 5 deletions(-) diff --git a/src/sa/model/index.md b/src/sa/model/index.md index c70cb2b..ea40744 100644 --- a/src/sa/model/index.md +++ b/src/sa/model/index.md @@ -176,7 +176,7 @@ Source -> [System] : "Boot" Quality: _Configurability_ -Scenario: When deploying its own instance of the Smartt software, the user shall be able to change the refresh timeout for checking device status without restarting the software. +Scenario: When deploying its own instance of the SmartHut software, the user shall be able to change the refresh timeout for checking device status without restarting the software. ```puml @startuml @@ -245,7 +245,7 @@ rectangle "Alice" as Source rectangle "Access granted" as Measure Source -> [System] : "Shares camera live stream with Bob" -[System] -> [Measure] : "Bob wants to watch camera live stream" +[System] -> [Measure] : "Bob attempts to watch camera live stream" } @enduml ``` @@ -263,7 +263,7 @@ rectangle "Alice" as BSource rectangle "Access denied" as BMeasure BSource -> [System] : "Shares camera live stream with Bob" -[System] -> [BMeasure] : "Eve wants to watch camera live stream" +[System] -> [BMeasure] : "Eve attempts to watch camera live stream" } @enduml @@ -294,7 +294,7 @@ Source -> [System] : "Requests device state change from UI" ``` -## Scenario \#5: State change of device is +## Scenario \#5: First time users are proficient at defining automations Quality: _Usability_ @@ -310,7 +310,7 @@ skinparam shadowing false rectangle "User testing" { rectangle "Untrained user" as Source -rectangle "max 20 minutes" as Measure +rectangle "less than 20 minutes in 75% of cases" as Measure Source -> [System] : "Define device automation flow" [System] -> [Measure] : "Comply to user desire" @@ -318,6 +318,54 @@ Source -> [System] : "Define device automation flow" @enduml ``` +## Scenario \#6: Docker compatibility + +Quality: _Portability_ + +Scenario: Power users shall be able to install their own SmartHut instance if they have a functioning docker and docker-compose installation. + +```puml +@startuml + +skinparam componentStyle rectangle +skinparam monochrome true +skinparam shadowing false + +rectangle "Deployment (personal instance of power user)" { + +rectangle "User with docker install" as Source +rectangle "Correctly and without additional tweaking" as Measure + +Source -> [System] : "Installs (via docker-compose specification)" +[System] -> [Measure] : "Is initialized and starts" +} +@enduml +``` + +## Scenario \#7: System is resilient w.r.t. unresponsive devices + +Quality: _Resilience_ + +Scenario: The SmartHut UI is able to notify if a smart device becomes unresponsive without crashing and within 1 minute from the onset of the malfunction. + +```puml +@startuml + +skinparam componentStyle rectangle +skinparam monochrome true +skinparam shadowing false + +rectangle "Normal operation" { + +rectangle "Smart device" as Source +rectangle "Without crashing and within 1 minute" as Measure + +Source -> [System] : "Becomes unresponsive" +[System] -> [Measure] : "Copes with failure and notifies user" +} +@enduml +``` + # Ex - Quality Attribute Tradeoff {.instructions