kyhjonathan / pe

0 stars 0 forks source link

No UML Class Diagram present in the DG #10

Open kyhjonathan opened 5 months ago

kyhjonathan commented 5 months ago

There is an absence of Class diagrams in the developer guide. Addition of class diagrams for each class, showing the inheritance, methods and class variables should be added for developers to understand the structure of the individual classes better.

soc-pe-bot commented 5 months ago

Team's Response

Thank you for your suggestion. We do acknowledge that class diagrams may be useful to further aid in the explanation of the structure of our individual classes. However for v2.1, we did not believe that class diagrams were necessary and of higher priority in the DG. This is due to the fact that the design of the application is fairly simple and easily explained in words, which we have done in our DG. E.g. the explanation of the relation between command and commandcreator, where we included and explained their association and their class attributes and methods in words. Many of the other classes also share this sentiment, where their structure could be explained in a straightforward sentence, etc ExpenseList holds multiple Expenses, SavingList holds multiple Savings.

The only feature which we believed to have necessitated a class diagram was the Recurring Expenses Feature. Given that RecurringExpenseLists holds multiple ExpenseList and still uses RecurringExpenseList, we believed that this feature necessitated a class diagram to show the associations between the RecurringExpenseLists, ExpenseList , RecurringExpenseList and Expense class, which we have created in section 3.7.7.

If you were to view our code, you would notice that there were many methods used from different classes for a single feature. Hence, our priority in v2.1 was to explain this part clearly as seen in our Implementation section, where all features clearly show a sequence diagram to clarify the potentially hard to follow code flow. As such, class diagrams, which we did not see as a higher priority than sequence diagrams were not a huge focus. Therefore, we have classified this as NotInScope and classified the Severity under Medium.

Items for the Tester to Verify

:question: Issue response

Team chose [response.NotInScope]

Reason for disagreement: I believe that this definitely should be in scope, as class diagrams are essential in DG to aid developers to understand how the classes and methods work with each other.

Regardless of how "simple" (which can be very subjective) the code may be such that one can read the code and understand or merely through explanation of the class through plain words, the DG should serve as a document that aids readers in understanding how the code works and should utilise any means in order to make understand code much easier.

The fact that there is absolutely no evidence of any class diagrams in the DG hinders the readers very much, causing them to use much more effort in order to understand the developments of the code.

However I can agree that severity changes to medium, because even though it does hinder readers by quite a margin, they still will be able to understand the code eventually without the aid of class diagrams, just that they would have to put in much more effort in doing so.


## :question: Issue severity Team chose [`severity.Medium`] Originally [`severity.High`] - [ ] I disagree **Reason for disagreement:** [replace this with your explanation]