Chapter 5-1 to 5-3 Discussion Questions

  1. Should you make models in different ways to show to different kinds of stakeholders? (Like a simple diagram for users, but a formal mathematical model for the developers and teaser)
  2. Is a sequence diagram always better than a use case diagram for interaction modeling (Since it gives interaction between objects including use cases and has better UML diagrams)?
  3. Give an example of the situations when generalization or  aggregation were preferred to the class diagrams. How many models on average have to be described in requirements? 
  4. Why is UML a universally used modeling language for all types of system design? Are there other widely used and accepted modeling languages?
  5. How do models with flexible notation avoid ambiguity?
  6. What is the difference between user stories and use case modeling? Can they be interchangeable?
  7. In the process of generalization, how does one deal with items that fit in more than one category? Say, an interdisciplinary question that involves both Mathematics and History?
  8. I’m unclear on a lot of the sequence diagram (fig 5.7 on pg 148). Can we go over that?
  9. How does generalization factor into sequence diagrams and use cases?
  10. What are the separate uses for case and sequence diagrams?
  11. When is model-driven engineering useful and not useful?
  12. What are some of the most popular and useful software in creating UMLs?
  13. Do software developers change the class designs throughout their project or do they stick to their class design for their simplicity?
  14. What are the differences between Generalization and aggregation?
  15. For large systems, would you choose to separate UML to make it more easy to read and follow?
  16. Using the stick man to show interaction with a user seems like it would make a UML diagram very complicated to read (especially if it is a bigger diagram). Why would you choose to include it anyways?
  17. Why is a process model (like the one in figure 5.2 of the book) grouped in with context models?
  18. Which models would you recommend we use when creating initial descriptions/documents of our system?
  19. What is the difference between generalization (inheritance) and aggregation?
  20.  How can using context models or relying in other systems to retrieve information help you avoid duplicating data? (the book states this as an advantage on page 141)
  21. What do the broken lines (- – – – ) in the sequence diagram mean? Could you do an example of making a sequence diagram?
  22. It seems to me that structural models are just like database models. Are structural models applicable to modeling structures of a program system as well?
  23. What do the numbers and asterisks mean in the class diagram on slides 27 and 34?
  24.  What are some examples of system boundaries, especially ones that might be relevant to our projects?
Scroll to Top