Landing : Athabascau University

COMP 361 - Reflection on Assignment 4

  • Public
By Xing Li August 16, 2019 - 8:49am

(net time : 580 min)

             This assignment is the most difficult one for me up till now. It is not to say that it takes more time than other assignments, but to describe the level of my uncertainty about whether I’m doing right. From my programming experience, I prefer to write SQL string and extract the data from database directly from controller classes. However, in this assignment I have to fight against my inclination and insert an intermediate domain class and a data access class. I don’t have experience of writing codes with a team of more than five programmers, so it’s hard for me to judge whether it’s practical to implement those complicated layers. I totally agree with the design principle of “less coupling, more cohesion,” and I’ve applied it in most of my programs. Yet I’m still conservative to adopt what I designed in this assignment. I feel that it’s over-decoupled with this single use case of booking reservation, although it might be necessary when more use cases are put together. But anyway, it’s just a feeling as I’m even not sure whether I understand the stuff correctly. I hope my tutor can give me some advices on my assignments.

            When I’m writing codes, I actually follow the similar design steps. I write down the main program for each use case first and breakdown the activities into multiple steps. Whenever an individual module is needed, a class will be created, and a calling method will be placed in the main program. Here my main program is playing the role of controller class and each module can be mapped to different classes. In Netbean IDE, the written codes can be easily converted to a design class diagram when VisualDiagram is integrated. I think this might be a right direction as it can save the time to draw those diagrams.

            By the way, some classes in the domain model class diagram are not included in the design class diagram because I think they are irrelevant to the use case to create a reservation. I put them on the second page.