diff --git a/src/sa/model/index.md b/src/sa/model/index.md
index a61125e..c70cb2b 100644
--- a/src/sa/model/index.md
+++ b/src/sa/model/index.md
@@ -2,7 +2,7 @@ lecture:
Software Architecture
---
title:
-Smarthut.sm
+SmartHut.sm
---
author:
Claudio Maggioni
@@ -50,7 +50,7 @@ Hint: to choose a meaningful project look at the rest of the modeling tasks whic
}
-Project Name: Smarthut.sm
+Project Name: SmartHut.sm
Project Type: Website / Web application / IoT
@@ -63,7 +63,7 @@ Vision Statement:
Who:
wish to manage such equipment from a unified web interface and API;
The:
- Smarthut.sm application;
+ SmartHut.sm application;
Is:
A website and REST API enabled engine;
That:
@@ -74,7 +74,7 @@ Vision Statement:
Aims to perform most features implemented by competitors and more, allowing for ease of expandability in terms of features and supported devices.
-Additional Information: This project is from the Spring semester 2020 edition of _Software Atelier 4: Software engineering project_. The original project does not support any actual smart home device, and instead mocks device state and readouts in its backend. This poses as a potential opportunity to expand the existing architecture of the project to include device support as well. More information on the project can be found [here](https://maggioni.xyz/portfolio/smarthut.html). Source code of the existing project can be found [here](https://git.maggioni.xyz/smarthut).
+Additional Information: This project is from the Spring semester 2020 edition of _Software Atelier 4: Software engineering project_. The original project does not support any actual smart home device, and instead mocks device state and readouts in its backend. This poses as a potential opportunity to expand the existing architecture of the project to include device support as well. More information on the project can be found [here](https://maggioni.xyz/portfolio/SmartHut.html). Source code of the existing project can be found [here](https://git.maggioni.xyz/SmartHut).
# Ex - Architectural Decision Records
@@ -143,6 +143,7 @@ Exceed: >6 scenarios using challenging qualities
}
+
+
+## Scenario \#1: Live *device refresh* parameter
+
+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.
+
+```puml
+@startuml
+
+skinparam componentStyle rectangle
+skinparam monochrome true
+skinparam shadowing false
+
+rectangle "When user deploys instance of SmartHut" {
+
+rectangle "User (Admin of its own instance)" as Source
+rectangle "System not restarted" as Measure
+
+Source -> [System] : "Changes devies refresh timeout"
+
+[System] -> [Measure] : "No restarts required"
+
+}
+
+@enduml
+```
+
+## Scenario \#2: Time to market for first MVP
+
+Quality: _Time to market_
+
+Scenario: The first MVP aimed at gathering feedback from power users shall be shipped in less than 3 months.
+
+```puml
+@startuml
+
+skinparam componentStyle rectangle
+skinparam monochrome true
+skinparam shadowing false
+
+rectangle "Development" {
+
+rectangle "SmartHut team" as Source
+rectangle "max 3 months" as Measure
+
+Source -> [System] : "Develops"
+
+[System] -> [Measure] : "first MVP ready"
+
+}
+
+@enduml
+```
+
+## Scenario \#3: Authorized access to camera live stream
+
+Quality: _Authorization_
+
+Scenario: Access to camera live streams shall be granted only to users explicity authorized by the user owning the camera.
+
+```puml
+@startuml
+
+skinparam componentStyle rectangle
+skinparam monochrome true
+skinparam shadowing false
+
+rectangle "Normal operation" {
+
+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"
+}
+@enduml
+```
+
+```puml
+@startuml
+
+skinparam componentStyle rectangle
+skinparam monochrome true
+skinparam shadowing false
+
+rectangle "Normal operation" {
+
+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"
+}
+
+@enduml
+```
+
+## Scenario \#4: State change of devices is processed within two seconds
+
+Quality: _Performance (latency)_
+
+Scenario: When a user changes the state of a smart device from the UI (e.g. switches on a light bulb), the change shall be applied to the smart device (e.g. light turns on) within 2 seconds
+
+```puml
+@startuml
+
+skinparam componentStyle rectangle
+skinparam monochrome true
+skinparam shadowing false
+
+rectangle "Normal operation" {
+
+rectangle "User" as Source
+rectangle "max 2 seconds" as Measure
+
+Source -> [System] : "Requests device state change from UI"
+[System] -> [Measure] : "Smart device changes state"
+}
+@enduml
+```
+
+
+## Scenario \#5: State change of device is
+
+Quality: _Usability_
+
+Scenario: During user testing, at least 75% of users, with no prior training, should be able to define a device automation workflow within 20 minutes.
+
+```puml
+@startuml
+
+skinparam componentStyle rectangle
+skinparam monochrome true
+skinparam shadowing false
+
+rectangle "User testing" {
+
+rectangle "Untrained user" as Source
+rectangle "max 20 minutes" as Measure
+
+Source -> [System] : "Define device automation flow"
+[System] -> [Measure] : "Comply to user desire"
+}
+@enduml
+```
# Ex - Quality Attribute Tradeoff