Skip to content

Commit 0c737d7

Browse files
authored
Merge pull request #36 from getsquared/add-dg-requirements
Update DG Requirements
2 parents 082c801 + 6922649 commit 0c737d7

File tree

1 file changed

+44
-18
lines changed

1 file changed

+44
-18
lines changed

docs/DeveloperGuide.md

Lines changed: 44 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -274,42 +274,65 @@ _{Explain here how the data archiving feature will be implemented}_
274274

275275
**Target user profile**:
276276

277-
* has a need to manage a significant number of contacts
277+
* has a need to manage a significant number of clients for insurance policies
278+
* has a need to organise schedules with clients and their details in one place
279+
* has a need for reminders to keep in touch with clients
278280
* prefer desktop apps over other types
279281
* can type fast
280282
* prefers typing to mouse interactions
281283
* is reasonably comfortable using CLI apps
282284

283-
**Value proposition**: manage contacts faster than a typical mouse/GUI driven app
285+
**Value proposition**: conveniently manage client details and schedules faster than a typical mouse/GUI driven app
284286

285287

286288
### User stories
287289

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

290-
| Priority | As a …​ | I want to …​ | So that I can…​ |
291-
|----------|--------------------------------------------|------------------------------|------------------------------------------------------------------------|
292-
| `* * *` | new user | see usage instructions | refer to instructions when I forget how to use the App |
293-
| `* * *` | user | add a new person | |
294-
| `* * *` | user | delete a person | remove entries that I no longer need |
295-
| `* * *` | user | find a person by name | locate details of persons without having to go through the entire list |
296-
| `* *` | user | hide private contact details | minimize chance of someone else seeing them by accident |
297-
| `*` | user with many persons in the address book | sort persons by name | locate a person easily |
292+
| Priority | As a …​ | I want to …​ | So that I can…​ |
293+
|----------|-----------------|---------------------------------------------------------------|-----------------------------------------------------------------------|
294+
| `* * *` | insurance agent | see usage instructions | refer to instructions when I forget how to use the App |
295+
| `* * *` | insurance agent | add a new client contact details | keep track of the clients I have |
296+
| `* * *` | insurance agent | delete a client | remove clients that are leaving |
297+
| `* * *` | insurance agent | find a client by name | locate details of client without having to go through the entire list |
298+
| `* *` | insurance agent | view client information | know and check client details |
299+
| `* *` | insurance agent | check what schedules I have with clients on a particular date | keep track of what I have to do in a day |
300+
| `* *` | insurance agent | add the birthday of my clients | wish them happy birthday to keep in contact with them |
301+
| `* *` | insurance agent | delete policy details for a client | remove expired policies of the client |
302+
| `* *` | insurance agent | see when I last met a client | check in on a client that I have not met for a long time |
303+
| `* *` | insurance agent | mark that a schedule is completed | know that i fulfilled the appointment scheduled |
304+
| `*` | insurance agent | sort clients by priority | deal with client with higher priority status first |
298305

299306
*{More to be added}*
300307

301308
### Use cases
302309

303-
(For all use cases below, the **System** is the `AddressBook` and the **Actor** is the `user`, unless specified otherwise)
310+
(For all use cases below, the **System** is the `ClientCare` and the **Actor** is the `user`, unless specified otherwise)
304311

305-
**Use case: Delete a person**
312+
**Use case: Find a client by name**
306313

307314
**MSS**
308315

309-
1. User requests to list persons
310-
2. AddressBook shows a list of persons
311-
3. User requests to delete a specific person in the list
312-
4. AddressBook deletes the person
316+
1. User requests to find a specific client in the list by name
317+
2. ClientCare shows list of client that matches the name
318+
319+
Use case ends.
320+
321+
**Extensions**
322+
323+
* 2a. The list is empty as there is no matching name found.
324+
325+
Use case ends.
326+
327+
328+
**Use case: Delete a client**
329+
330+
**MSS**
331+
332+
1. User requests to list clients or find client by name
333+
2. ClientCare shows a list of clients
334+
3. User requests to delete a specific client in the list by index
335+
4. ClientCare deletes the client
313336

314337
Use case ends.
315338

@@ -321,7 +344,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
321344

322345
* 3a. The given index is invalid.
323346

324-
* 3a1. AddressBook shows an error message.
347+
* 3a1. ClientCare shows an error message.
325348

326349
Use case resumes at step 2.
327350

@@ -332,13 +355,16 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
332355
1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed.
333356
2. Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage.
334357
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.
358+
4. The system should respond to user input within 2 seconds.
335359

336360
*{More to be added}*
337361

338362
### Glossary
339363

364+
* **Client**: Customers or potential customers the insurance agent wants to keep in contact with
365+
* **Command Line Interface (CLI)**: A text-based interface to input commands to interact with the system
340366
* **Mainstream OS**: Windows, Linux, Unix, MacOS
341-
* **Private contact detail**: A contact detail that is not meant to be shared with others
367+
* **AddressBook**: The underlying system that ClientCare is built on. Interchangeable with ClientCare.
342368

343369
--------------------------------------------------------------------------------------------------------------------
344370

0 commit comments

Comments
 (0)