Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add user stories and use case for adding contact #28

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 33 additions & 11 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ title: Developer Guide

## **Acknowledgements**

* {list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well}
* This project is based on the AddressBook-Level3 project created by the [SE-EDU initiative](https://se-education.org).

--------------------------------------------------------------------------------------------------------------------

Expand Down Expand Up @@ -275,20 +275,42 @@ _{Explain here how the data archiving feature will be implemented}_

Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*`

| Priority | As a …​ | I want to …​ | So that I can…​ |
| -------- | ------------------------------------------ | ------------------------------ | ---------------------------------------------------------------------- |
| `* * *` | new user | see usage instructions | refer to instructions when I forget how to use the App |
| `* * *` | user | add a new person | |
| `* * *` | user | delete a person | remove entries that I no longer need |
| `* * *` | user | find a person by name | locate details of persons without having to go through the entire list |
| `* *` | user | hide private contact details | minimize chance of someone else seeing them by accident |
| `*` | user with many persons in the address book | sort persons by name | locate a person easily |
| Priority | As a …​ | I want to …​ | So that I can…​ |
|----------|-----------------------------------|------------------------------------|-------------------------------------------------------------------------|
| `* * *` | administrator of a tuition centre | view all students' contact details | easily access everyone's details at one place?? |
| `* * *` | administrator of a tuition centre | add a new person | add new contacts for newly enrolled students |
| `* * *` | administrator of a tuition centre | delete a student | remove students that are no longer enrolled |
| `* * *` | administrator of a tuition centre | find a student by name | locate details of students without having to go through the entire list |
| `* *` | | | |
| `*` | new user | see what commands are available | refer to instructions when I forget how to use the App |
| `*` | administrator | add emergency contact to a student | quickly find out who to contact at once glance if the situation arises |

*{More to be added}*

### Use cases

(For all use cases below, the **System** is the `AddressBook` and the **Actor** is the `user`, unless specified otherwise)
(For all use cases below, the **System** is the `AddressBook` and the **Actor** is the `administrator`, unless specified otherwise)

**Use case: Add a person**

**MSS**

1. User requests to add a student
2. User provides the details of the student
3. AddressBook adds the person

Use case ends.

**Extensions**

* 2a. The format of the details provided are incorrect.
* 2a1. AddressBook requests input in correct format.

Use case resumes at step 2
* 2b. The student entered has already been added.
* 2b1. AddressBook indicates that there has already been an entry for the student.

Use case resumes at step 2

**Use case: Delete a person**

Expand Down Expand Up @@ -326,7 +348,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
### Glossary

* **Mainstream OS**: Windows, Linux, Unix, MacOS
* **Private contact detail**: A contact detail that is not meant to be shared with others
* **Administrator**: Tutors and admin staff at the tuition centre.

--------------------------------------------------------------------------------------------------------------------

Expand Down