-
Notifications
You must be signed in to change notification settings - Fork 234
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
[CS2113-T16-2] Elderly In Your Hood #39
base: master
Are you sure you want to change the base?
[CS2113-T16-2] Elderly In Your Hood #39
Conversation
Fix bug in new line not found of Scanner class
Add function of viewing and adding medical history
Add function to delete medical message
Add prompt for garbage collection
Update user guide
@@ -8,26 +8,192 @@ | |||
|
|||
{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.} | |||
|
|||
### Elderly risk categorisation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe this section should be further down instead of being the first section, as the first section is usually a brief introduction of the app/overview of architecture.
docs/DeveloperGuide.md
Outdated
@@ -8,26 +8,192 @@ | |||
|
|||
{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.} | |||
|
|||
### Elderly risk categorisation | |||
#### Implementation | |||
The elderly risk categorisation is an addition to the current `Elderly` class. It utilises |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since it is an addition to the Elderly class, the section on the Elderly class should probably be above this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Elderly
class is not described before this section, this can cause confusion.
docs/DeveloperGuide.md
Outdated
- `Doctor` — A class that contains information about a doctor | ||
|
||
Below is a UML class diagram for the elderly risk categorisation: | ||
 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
 | ||
|
||
|
||
#### How the classes interact with each other |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section is comprehensive and well written :)
UML Diagram of the interaction between classes is shown below : | ||
 | ||
|
||
#### Interaction of Classes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be good to add a sequence diagram here to summarise how the function works as the description is slightly lengthy.
docs/DeveloperGuide.md
Outdated
|
||
## Non-Functional Requirements | ||
|
||
{Give non-functional requirements} | ||
1. The product is not required to ensure that the dosage of medicine keyed are safe. | ||
2. The product should work on both 32-bit and 64-bit system. | ||
3. This version of product does not allow for addition of hospital and doctors. | ||
|
||
## Glossary |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general, the DG is well written but can be organised better (the introduction seems to be at the bottom instead of the top) and have a section for the overall architecture/flow of the app. Would also be good to have a table of contents for better navigability.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall, the DG is well-written with a lot of content included. There are some minor bugs with the class diagrams, and a table of content can be included for better navigability. Well done!
@@ -8,26 +8,192 @@ | |||
|
|||
{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.} | |||
|
|||
### Elderly risk categorisation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The sections should be numbered and a table of content with links should be included so readers can navigate easily.
@@ -8,26 +8,192 @@ | |||
|
|||
{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.} | |||
|
|||
### Elderly risk categorisation | |||
#### Implementation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There should be a blank line after the section header, same issue at line 48.
docs/DeveloperGuide.md
Outdated
- `Doctor` — A class that contains information about a doctor | ||
|
||
Below is a UML class diagram for the elderly risk categorisation: | ||
 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the elderly class, there should be two horizontal bars to indicate that there is no attribute and no method in this class
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The association were specified with multiplicity but name of the association is not specified
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The attribute data type and method return type are not specified
This information in both classes is then stored in `Elderly` class. | ||
|
||
UML Diagram of the interaction between classes is shown below : | ||
 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same issue with the previous class diagram. The relationships between Elderly
, Next-Of-Kin
, and Record
should be shown with arrows. Therefore, the attributes can be omitted.
docs/DeveloperGuide.md
Outdated
When using the `findbymed`, `findbydiet`, `findbyname` functions, they will take generate a set of | ||
medicine, diets and real names respectively. The function `checkSimilarities` in `ElderlyList.class` | ||
will then iterate through each item in the set and compare it with the query term. If there is a | ||
similarity score of `>=0.8`, the closest match will be printed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
perhaps you could show a diagram (sequence or class) to complement this explanation?
|
||
UML Diagram of the interaction between classes is shown below : | ||
 | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is correct UML notation, the first diagram used in the guide can be edited to match this notation (although some standardisation is needed e.g. in Elderly
members and visibility symbol have a space in between but not in the other classes)
|
||
#### Interaction of Classes | ||
`Elderly` class will interact with `Next-of-kin` class through the use of `addNok()` function. This function will | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unsure if this blank line is intended or not, but does not seem to serve any purpose and is quite abrupt
is used to view the details that are stored. | ||
|
||
#### Future Implementation and Considerations | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a short explanation of how exactly this can be implemented could be given (similar to proposed undo/redo feature in AB3 developer guide here)
docs/DeveloperGuide.md
Outdated
|
||
## Non-Functional Requirements | ||
|
||
{Give non-functional requirements} | ||
1. The product is not required to ensure that the dosage of medicine keyed are safe. | ||
2. The product should work on both 32-bit and 64-bit system. | ||
3. This version of product does not allow for addition of hospital and doctors. | ||
|
||
## Glossary |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding to the previous reviewer's feedback, your team could look into having more diagrams of different types such as sequence diagrams (currently only 2 diagrams that are both class diagrams) to show your UML and documentation skills.
The `Elderly` class interacts with two classes, which is `Next-of-Kin` class and `Record` class. As can | ||
be seen by the association between the three classes, the `Elderly` class stores `Next-of-Kin` and `Record` | ||
as ArrayLists in its attributes. | ||
- `Next-of-Kin` class stores the contact information of the Next-of-Kin, such as name, phone number, | ||
email, address and relationship to the Elderly | ||
- `Record` stores the details of the Elderly, such as the elderly phone number and address |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs/DeveloperGuide.md
Outdated
#### An example of AutoSuggestions | ||
Assuming we have an elderly that exist in the system called `John Tan`. We, as the user, remember | ||
that his name was `<SOMETHING> Tan`, and it was either `Josh` or `John`. We try `Josh` | ||
first. | ||
|
||
 | ||
|
||
Instead of just prompting that the system could not find `Josh Tan`, the search term went through | ||
the Levenshtein Distance logic and the name `John Tan` returned with a result of `0.9375`. As you | ||
can see, this was our intended result and showcases the intended solution to our problem. | ||
|
||
#### Potential Shortcomings of this function | ||
There may be two strings that have similar edit distance to each other but may not be related to | ||
each other. This will include words like `sitting` and `kitten` for example. This may give | ||
inaccurate suggestions. However, since this is **not a key function** and is only meant to be a | ||
complementary tool, **it will not be a major problem**. | ||
|
||
### Addition of Next-of-Kin and Record Classes | ||
#### Implementation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixes made on load to allow for inheritance when loading from json
Support fast-typing in adding elderly
Update size of diagram
# Conflicts: # docs/DeveloperGuide.md
Changes made to DG
Changes made to DG to prevent additional line
Change made to DG to add appendixes
Add more to PPP
Update ppp
Update dg manual test
Add more regex checker
Change the regex checker to allow useful invalid risk level
Edit minor bug with doctor
Changes made to DG to finish Appendix E and update table of contents
Update PPP
Our team intends to assist the elderly helpers by automating certain tasks for them.