Hi Shawn,
This assignment had be second guessing a lot of work that I had previously done, especially in assignment 2. It obviously builds upon the domain class diagram quite significantly. I knew this would happen eventually, but the problem I keep facing is whether I completed the domain class diagram correctly in the first place. It sounds like you are feeling the same pain as I did in this area.
I have some experience in introductory and intermediate object oriented programming (Java) so far, so this knowledge was easily applied to creating the design class diagram. And as was in your situation, I think that the creating the design class diagram helped me better understand a few concepts in object oriented programming. It makes me wonder why this specific diagram wasn’t introduced at all during my object oriented courses. Once could argue that for each assignment in my programming class, we could have created a design class diagram as well. To be honest, I think it would have helped in creating the actual program. Definitely something to bring to table when filling out a course evaluation in the future.
I agree that they sequence diagrams are very helpful in determining interactions for the system and user. I actually enjoyed making these. The only problem I faced was making the multi-layer design. I wasn’t sure if we have to develop the diagrams using 2 layers or 3 layers or how they wanted it. I find at the end of the day a lot of documentation and programming comes down to just making a decision and running with it. I found using this mantra helped me move along during these assignments and feel more confident in my answers.
I also feel that these diagrams are getting more important as we move along. Not just for creating the system in itself but also for determining how the system will handle queries. R. Muthukrishnan and H. Shanmugasundaram provide some good examples of how a system will handle a query using domain class diagrams, which really puts the process into perspective for someone who doesn’t fully understand the entire system [1].
[1] R. Muthukrishnan, H. Shanmugasundaram, “Retrieving UML class diagram using ontology,” IUP Journal of Computer Sciences, vol. 9, no. 4, pp. 7-20, Oct, 2015.
Shawn and Benjamin, I couldn't agree more that the design class diagram was very useful in helping me to understand how object oriented programming comes together. I've done some object oriented programming in other classes and while I could do the assignments, I didn't quite understand the reasoning of the value in doing it that way, nor could I mentally picture exactly how it all came together. This diagram was instrumental in clarifying how it all works. I wish they had asked us to make these diagrams for each of the assignments. It would be extra work but it really would help visualize how it's supposed to work!
This assignment was really tough, but I have to say it was one of the best for helping me start to see everything come together. I did however, have to jump back and forth between the sequence diagrams to the design class and continually make updates. I'd start working on one, then realize I missed something in another and then vice versa until I was complete. Just the act of doing that with diagrams helped me realize how much time savings and value there can be going through the systems analysis and design process. If I had just jumped into the coding of this system, I would have made so many mistakes and had to repeat things. So it's a great lesson to have done these assignments to better understand their value. I'd love to get some experience working on a real programming team at a company that does systems analysis and design work before getting right down to the coding.
One more thing I'll add though, is the challenge of using the tools when making a sequence diagram. Despite knowing their value, I became very frustrated with the making of the sequence diagram. It was so hard to go back and add new things into the middle of the diagram if I had made a mistake and missed it. So it felt very inflexible like "get it right, or waste tons of time correcting". This might just be a lack of professional skills with the program, but hard to know. Either way, it was a good experience. Best of luck to both of you!
The Landing is a social site for Athabasca University staff, students and invited guests. It is a space where they can share, communicate and connect with anyone or everyone.
Unless you are logged in, you will only be able to see the fraction of posts on the site that have been made public. Right now you are not logged in.
If you have an Athabasca University login ID, use your standard username and password to access this site.
We welcome comments on public posts from members of the public. Please note, however, that all comments made on public posts must be moderated by their owners before they become visible on the site. The owner of the post (and no one else) has to do that.
If you want the full range of features and you have a login ID, log in using the links at the top of the page or at https://landing.athabascau.ca/login (logins are secure and encrypted)
Posts made here are the responsibility of their owners and may not reflect the views of Athabasca University.