summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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.