m1oojv / pe

0 stars 0 forks source link

Missing cases in activity diagram #30

Open m1oojv opened 8 months ago

m1oojv commented 8 months ago

Screenshot 2023-11-17 at 5.23.15 PM.png

Does not accounbt for user invalid input in activity diagram

nus-se-bot commented 7 months ago

Team's Response

Hi tester. This activity diagram illustrates what happens when MediSync attempts to save the data as a JSON file after the app is closed or when the exit command is successfully run. There are no user inputs involved in this.

Items for the Tester to Verify

:question: Issue response

Team chose [response.Rejected]

Reason for disagreement: Dear Team,

While I understand that the current activity diagram is focused on the process of saving data as a JSON file upon application closure or exit command, I must emphasize the importance of addressing the scenario of invalid user input, especially concerning the data file. This aspect is crucial for a comprehensive understanding of the system, particularly in light of the Non-Functional Requirement (NFR) to support data for almost 1000 contacts.

  1. Completeness of Documentation for Future Developers: Future developers using these diagrams to understand or modify the system would benefit from a complete picture of how the application handles various scenarios, including user errors. The omission of how the system responds to invalid JSON data files leaves a gap in the understanding of the application's robustness and error handling.

  2. Significance of Data Integrity: Given that MediSync is designed to handle significant amounts of critical data, it's vital for the activity diagram to reflect scenarios where data integrity could be at risk. Including the handling of invalid user input in the diagram is not just a matter of technical completeness but also underscores the application's reliability and resilience.

  3. Implications for Application Maintenance: Understanding the system's response to invalid inputs is essential for maintaining the application, especially when supporting a large volume of data. Future developers need to be aware of all pathways the application might take, including error scenarios, to effectively maintain and enhance the system.

  4. Adhering to Best Practices in Documentation: Comprehensive documentation, including activity diagrams, should ideally cover all aspects of the system's behavior. This includes normal operations as well as exceptions and error handling. By including these scenarios in the diagram, the documentation will adhere to best practices and provide a more accurate and useful guide to the system.

Given these considerations, I recommend revisiting the activity diagram to include the scenario of invalid JSON data input. Doing so will enhance the diagram's utility as a tool for understanding the application's full range of behaviors and ensure that future developers have all the necessary information for effective system maintenance and enhancement.

Additionally, I'd like to highlight the guidance provided by the professor regarding the handling of bugs. A rejection of a bug should be reserved for cases where the bug is deemed irrelevant or unnecessary to address, both in the current context and in the foreseeable future. However, in this instance, the issue at hand is directly relevant and necessary to address. The absence of the representation of how the system handles invalid JSON data file input in the activity diagram is a significant oversight, particularly considering the potential implications for data integrity and system reliability.

This issue is relevant not only for current developers but also for future maintenance and enhancement of the application. Ensuring that the documentation accurately reflects all aspects of the system's behavior, including its response to errors, is crucial for effective software development and maintenance. It's important to provide a clear and comprehensive guide to how the system behaves under various scenarios, including error conditions.

Considering this perspective, the issue should not be dismissed as inconsequential or irrelevant. Instead, it should be acknowledged as a genuine area for improvement, in line with the goal of enhancing user experience and interface intuitiveness.

Screenshot 2023-11-22 at 2.05.19 PM.png