In my Software Engineering class (cse 216) so far, we’ve focused mainly on the design aspect of things. My group as a whole probably has dozens of diagrams of how our software’s classes will interact in many different situations. One such diagram is called a sequence diagram, and takes a specific use case and then maps out the function calls and returns from each class.
This sequence diagram took the case of a teacher creating an online test for our web courses. It shows how the user gives multiple commands to different aspects of our system and how those aspects react.
Another diagram is the class diagram. This kind of diagram shows how each class would interact in a much broader scope. it doesn’t focus on what methods are called, but rather the more abstract relation between the classes. For instance, this would show that 1 teacher teaches many students.
Each of these diagrams, and the many more that we’ve been making, will help us when we’re coding. It really helps to show us how to modularize our code as efficiently as possible without it being too confusing to work with. Now that we’re actually starting to get a working product together, these help immensely with connecting the work of different groups. We can know exactly what classes and method calls we need from other groups so we won’t need to wait for them to finish their code before we can start ours.