nus-cs2103-AY2324S2 / pe-dev-response

0 stars 0 forks source link

Complicated Diagram in DG #1129

Open nus-se-script opened 6 months ago

nus-se-script commented 6 months ago

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

The above diagram seems complicated with many arrows, any way you can shirk it down and make it more readable?


[original: nus-cs2103-AY2324S2/pe-interim#1437] [original labels: type.DocumentationBug severity.VeryLow]

Bandov commented 5 months ago

Team's Response

The primary reason for not oversimplifying a diagram like this relates to the level of detail required to understand the interactions between different parts of the UI, logic, and model layers.

Understanding Relationships: The diagram shows the relationships between various UI components, like NavBar, DisplaySection, and CommandSection, as well as their interactions with the Logic and Model components. Simplifying might obscure these relationships, making it harder for developers to understand how different parts of the application communicate with each other. Implementation Details: Detailed diagrams provide the necessary information to implement the UI correctly. The complexity arises from our commitment to providing a thorough representation of the system. Developers might miss out on the nuances of implementation if the diagram is too simple. Inheritance and Polymorphism: Some components are abstract (like UiPart), and others inherit from them (like NavBarButton). Simplification could remove this hierarchical structure, leading to a lack of understanding of object-oriented principles in the UI's implementation. Maintainability: A detailed diagram can also help in maintaining the code in the future. If another developer or a future team member needs to modify or extend the UI, a detailed diagram provides a quick and comprehensive understanding of how the system works. Accuracy in Logic and Model Interaction: Finally, and perhaps most importantly, the diagram illustrates how the UI layer interacts with the application logic and underlying data model. Simplifying the diagram could lead to misunderstandings about how data flows through the application, which could result in bugs or inefficient designs.

Standardized Notation: The use of standard UML (Unified Modeling Language) notation ensures that the diagram adheres to industry conventions, making it recognizable and understandable to professionals in the field. The primary audience for this diagram is developers who are expected to at least be able to develop such an app and therefore should be somewhat accustomed to interpreting complex diagrams and who require this level of detail for accurate implementation and troubleshooting.

In conclusion, while a simplified diagram might be easier to digest at a glance, the loss of detail can lead to misinterpretation and problems in implementation and future maintenance.

Duplicate status (if any):

--