Alfred-Goh02 / pe

0 stars 0 forks source link

alt frame did not partition the paths #7

Open Alfred-Goh02 opened 1 week ago

Alfred-Goh02 commented 1 week ago

image.png The alt frame is not partitioned properly. It is confusing for the reader to determine whether updateExpenseBalance, changeBalancefromexpense etc. are part of the same path or different path. Should it be different, the conditions for the other paths are missing.

nus-se-script commented 1 week ago

Team's Response

We acknowledge that there is a slight deviation of the diagram labels from the UML standards, and that using the opt label instead of alt would be more appropriate. However, given that alt and opt represent similar things in terms of the code which it is representing (if blocks), we feel that it is reasonably inferrable to the reader that the frame would be an opt frame (execute only if the entry is an Expense or if category is specified), thus we feel that the inconvenience this brings to the user is quite minor and thus feel that the appropriate severity should be a low.

Items for the Tester to Verify

:question: Issue severity

Team chose [severity.Low] Originally [severity.Medium]

Reason for disagreement: It is not easily inferrable for the reader at all that the frame would be an opt frame. When first reading this, this look like an alt frame that the partition was not included, which makes it very confusing for the reader.

Additionally, if the alt frame was suppose to be an opt frame, and lets say the opt frame path was skipped as entry is not expense, why would program continue to check for category if entry is not an expense based on the activation bar? Not specifying whether something would be returned in the opt frame makes it even more confusing, shouldn't the activation bar be separated so in the case where the opt frame is skipped, it should return to the user straight away?

The activation bar is only valid when the frame is an alt frame, but it is not suppose to be, so a first time reader without clarification will find this confusing and not easily understood.

The correct way to draw this is instead change the condition of the opt frame to [entry is not Expense] and return it to the user straight away after that.