Skip to content

Commit

Permalink
Merge pull request nus-cs2103-AY2122S1#74 from Yukun99/v1.1_Developer…
Browse files Browse the repository at this point in the history
…Guide

Chore: Fix DG and _config.yml
  • Loading branch information
HalphasX authored Oct 6, 2021
2 parents c021735 + 82f0e77 commit d3be33a
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 21 deletions.
44 changes: 24 additions & 20 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,18 @@ Refer to the guide [_Setting up and getting started_](SettingUp.md).
## Glossary

* **Autocomplete**: A functionality to complete a `Tag` or a `Command` without users typing the complete strings
* **Command structure**: The order in which parameters and command words must be written in order for the command to be correctly parsed
* **Command structure**: The order in which parameters and command words must be written in order for the command to be
correctly parsed
* **Dummy data**: Sample data used in testing or example data present on first launch of application
* **Group**: A container containing `Person` objects with shared traits that is created by the user
* **Key power features**: Essential features that will be used often when running the software application
* **Mainstream OS**: Windows, Linux, Unix, MacOS
* **Metadata**: Personal data about a `Person` object
* **Note**: A general description of each `Person` to record their activities, with last edit timestamp attached
* **Pin**: Fixing a `Person` to the top of the current list of `Person` objects or a `Group`
* **Subgroup**: A child of a `Group` used to store multiple persons based on a more specific category than `Group`. A **Subgroup** can be created by specifying the parent group of the **Subgroup**. A person in a **Subgroup** is automatically in the parent `Group` as well
* **Subgroup**: A child of a `Group` used to store multiple persons based on a more specific category than `Group`. A **
Subgroup** can be created by specifying the parent group of the **Subgroup**. A person in a **Subgroup** is
automatically in the parent `Group` as well
* **Tag**: A string descriptor attached to `Group` objects or `Person` objects
* **Ungrouped**: Used to describe a `Person` object with no grouping

Expand Down Expand Up @@ -212,13 +215,13 @@ _{Explain here how the data archiving feature will be implemented}_

### Product scope

**Target user profile**:

**Target user profile**: mentor professors
* has a need to manage a significant number of contacts
* prefer desktop apps over other types
* can type fast
* prefers typing to mouse interactions
* is reasonably comfortable using CLI apps
* has groups of contacts that have different needs

**Value proposition**: manage contacts faster than a typical mouse/GUI driven app

Expand Down Expand Up @@ -287,12 +290,10 @@ otherwise)

**Extensions**

* 2a. The list is empty.
Use case ends.
* 2a. The list is empty. Use case ends.

* 3a. The given index is invalid.
* 3a1. AddressBook shows an error message.
Use case resumes at step 2.
* 3a1. AddressBook shows an error message. Use case resumes at step 2.

**Use case: User types a command**

Expand All @@ -313,21 +314,24 @@ otherwise)

### Non-Functional Requirements

1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed.
2. Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage.
3. A user with above average typing speed for regular English text (i.e., not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse.
4. Installing a new update shall not in any way, modify or erase existing data and value from the previous version, and the new update should be compatible with the data produced earlier within the system.
5. Should be able to store notes in English language, and provisions shall be made to support all languages.
6. The system should be able to handle notes with at most 1000 lines without any noticeable decrease in performance, so that users can keep extensive notes on their mentees.
7. The user should not lose any data if the system exits prematurely.
8. The system should be able to reply to the prompt or command from the user within 3 seconds.
9. The system should be intuitive to use for a mentor professor.
10. Should ensure personal data privacy and security of data access.
11. Software testing will require the use of automated testing. The test will be deleted after successful implementation of the software system.
1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed.
2. Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage.
3. A user with above average typing speed for regular English text (i.e., not code, not system admin commands) should be
able to accomplish most of the tasks faster using commands than using the mouse.
4. Installing a new update shall not in any way, modify or erase existing data and value from the previous version, and
the new update should be compatible with the data produced earlier within the system.
5. Should be able to store notes in English language, and provisions shall be made to support all languages.
6. The system should be able to handle notes with at most 1000 lines without any noticeable decrease in performance, so
that users can keep extensive notes on their mentees.
7. The user should not lose any data if the system exits prematurely.
8. The system should be able to reply to the prompt or command from the user within 3 seconds.
9. The system should be intuitive to use for a mentor professor.
10. Should ensure personal data privacy and security of data access.
11. Software testing will require the use of automated testing. The test will be deleted after successful implementation
of the software system.

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


## **Appendix: Instructions for manual testing**

Given below are instructions to test the app manually.
Expand Down
2 changes: 1 addition & 1 deletion docs/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ header_pages:

markdown: kramdown

repository: " AY2122S1-CS2103T-W08-1/tp"
repository: "AY2122S1-CS2103T-W08-1/tp"
github_icon: "images/github-icon.png"

plugins:
Expand Down

0 comments on commit d3be33a

Please sign in to comment.