summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2025-07-16 08:51:18 +0100
committerJoe Carstairs <me@joeac.net>2025-07-16 08:51:28 +0100
commitd206a826750a751f43294de0df1ea41e96fb770f (patch)
tree99e867ee5924aa2bd986efcec908b7634f0b516a
parentda63bfc78cad40c2a96ea1c94d5907e3f4b9560d (diff)
add req-043, req-044, req-045, req-046, req-047, ass-010, edit req-012
-rw-r--r--requirements/assumptions/ass-010.md4
-rw-r--r--requirements/catalogue/req-012.md15
-rw-r--r--requirements/catalogue/req-043.md6
-rw-r--r--requirements/catalogue/req-044.md7
-rw-r--r--requirements/catalogue/req-045.md6
-rw-r--r--requirements/catalogue/req-046.md5
-rw-r--r--requirements/catalogue/req-047.md9
7 files changed, 52 insertions, 0 deletions
diff --git a/requirements/assumptions/ass-010.md b/requirements/assumptions/ass-010.md
new file mode 100644
index 0000000..5153a70
--- /dev/null
+++ b/requirements/assumptions/ass-010.md
@@ -0,0 +1,4 @@
+# ass-010
+
+If the user has Schist as a phone contact, then they know how to use the help
+interface as described in req-045.
diff --git a/requirements/catalogue/req-012.md b/requirements/catalogue/req-012.md
index b0db1eb..2cc9c8a 100644
--- a/requirements/catalogue/req-012.md
+++ b/requirements/catalogue/req-012.md
@@ -5,3 +5,18 @@ purchase of beer in cash when I have access to my phone is recorded as a beer
transaction.
Source: req-011
+
+Satisfied by: req-043, req-044, req-045, ass-010, req-046, req-047
+
+## Use case
+
+Trigger: The user buys a beer.
+
+1. If Schist is not in the user's phone contacts, go to req-013.
+2. If the user doesn't know how to form the right command, they use the help
+ interface until they do know how to form the right command.
+3. The user sends an SMS to Schist.
+4. If the command is invalid or incorrect, Schist sends help text to the user,
+ then go to step 3.
+5. Schist inserts a beer transaction into Schist's database.
+6. Schist sends an OK response to the user.
diff --git a/requirements/catalogue/req-043.md b/requirements/catalogue/req-043.md
new file mode 100644
index 0000000..9bc17b4
--- /dev/null
+++ b/requirements/catalogue/req-043.md
@@ -0,0 +1,6 @@
+# req-043
+
+As a user, I want Schist to normally be in my phone contacts, so that I can
+record a beer transaction in Schist by SMS.
+
+Source: req-012
diff --git a/requirements/catalogue/req-044.md b/requirements/catalogue/req-044.md
new file mode 100644
index 0000000..bd6eab5
--- /dev/null
+++ b/requirements/catalogue/req-044.md
@@ -0,0 +1,7 @@
+# req-044
+
+Any commands sent to Schist's SMS interface must be unambiguous. That is, it
+must be difficult to send a valid command which does not mean what the user
+intended to mean.
+
+Source: req-012
diff --git a/requirements/catalogue/req-045.md b/requirements/catalogue/req-045.md
new file mode 100644
index 0000000..1931a16
--- /dev/null
+++ b/requirements/catalogue/req-045.md
@@ -0,0 +1,6 @@
+# req-044
+
+Schist has an SMS help interface which helps the user construct the SMS command
+they want to construct.
+
+Source: req-012
diff --git a/requirements/catalogue/req-046.md b/requirements/catalogue/req-046.md
new file mode 100644
index 0000000..4b4c70a
--- /dev/null
+++ b/requirements/catalogue/req-046.md
@@ -0,0 +1,5 @@
+# req-046
+
+Schist must record the user's transactions.
+
+Source: req-012
diff --git a/requirements/catalogue/req-047.md b/requirements/catalogue/req-047.md
new file mode 100644
index 0000000..c084f9e
--- /dev/null
+++ b/requirements/catalogue/req-047.md
@@ -0,0 +1,9 @@
+# req-047
+
+Schist must have an SMS interface for inserting transactions, which follows the
+following procedure:
+
+1. If the command is not valid, send a response over SMS with help text which
+ the user can use to form a valid command.
+2. Insert the transaction.
+3. Send an OK response over SMS.