kev-intq / pe

0 stars 0 forks source link

DG Storage diagram error #8

Open kev-intq opened 2 years ago

kev-intq commented 2 years ago

The arrow indicated should be extended from OUTSIDE the storage component, and not within.

dgerrr.png

nus-se-script commented 2 years ago

Team's Response

No details provided by team.

The 'Original' Bug

[The team marked this bug as a duplicate of the following bug]

Storage UML diagram error

Note from the teaching team: This bug was reported during the Part II (Evaluating Documents) stage of the PE. You may reject this bug if it is not related to the quality of documentation.


image.png

Storage interface has an unlabelled arrow pointing towards it.


[original: nus-cs2103-AY2122S2/pe-interim#1087] [original labels: severity.Low type.DocumentationBug]

Their Response to the 'Original' Bug

[This is the team's response to the above 'original' bug]

The arrow is trying to indicate that it is coming from somewhere else, outside of the storage class.

image.png

There is an imaginary class called HiddenOutside representing details outside of storage, the PlantUML limitation does not let us handle this.

Items for the Tester to Verify

:question: Issue duplicate status

Team chose to mark this issue as a duplicate of another issue (as explained in the Team's response above)

Reason for disagreement: [replace this with your explanation]


:question: Issue response

Team chose [response.Rejected]

Reason for disagreement: There is no PlantUML limitation that forces the arrow to be inside the box.

For the response you have given, you need to declare the HiddenOutside class OUTSIDE of the Storage package in the puml file.

Code:


@startuml !include style.puml skinparam arrowThickness 1.1 skinparam arrowColor STORAGE_COLOR skinparam classBackgroundColor STORAGE_COLOR

package Storage{

package "UserPrefs Storage" #F4F6F6{ Class "<>\nUserPrefsStorage" as UserPrefsStorage Class JsonUserPrefsStorage }

Class "<>\nStorage" as Storage Class StorageManager Class JsonAdaptedTag

package "BuyerAddressBook Storage" #F4F6F6{ Class "<>\nBuyerAddressBookStorage" as BuyerAddressBookStorage Class JsonBuyerAddressBookStorage Class JsonSerializableBuyerAddressBook Class JsonAdaptedBuyer }

package "SellerAddressBook Storage" #F4F6F6{ Class "<>\nSellerAddressBookStorage" as SellerAddressBookStorage Class JsonSellerAddressBookStorage Class JsonSerializableSellerAddressBook Class JsonAdaptedSeller }

StorageManager .up.|> Storage StorageManager -up-> "1" UserPrefsStorage StorageManager -up-> "1" BuyerAddressBookStorage StorageManager -up-> "1" SellerAddressBookStorage

Storage -up-|> UserPrefsStorage Storage -right-|> BuyerAddressBookStorage Storage -left-|> SellerAddressBookStorage

JsonUserPrefsStorage .down.|> UserPrefsStorage JsonBuyerAddressBookStorage .up.|> BuyerAddressBookStorage JsonBuyerAddressBookStorage ..> JsonSerializableBuyerAddressBook JsonSerializableBuyerAddressBook --> "" JsonAdaptedBuyer JsonAdaptedBuyer --> "" JsonAdaptedTag

JsonSellerAddressBookStorage .up.|> SellerAddressBookStorage JsonSellerAddressBookStorage ..> JsonSerializableSellerAddressBook JsonSerializableSellerAddressBook --> "" JsonAdaptedSeller JsonAdaptedSeller --> "" JsonAdaptedTag }

Class HiddenOutside #FFFFFF HiddenOutside ..> Storage

@enduml


This will give the following correct image

sdfsd.png