Review questions and topics for Exam 2 CSC4350 Spring 2024
Chapter 5
1. What perspectives should be used for developing models of a software system?
2. What UML diagram types do you need to represent the essential features of a system?
3. What is described in a context model?
4. How are activity diagrams used in describing the context of use of a system?
5. What are the principal components of a textual use-case description?
6. What is illustrated in a UML sequence diagram?
7. How is generalization used to simplify the models of a system with many similar objects?
8. What is the basic assumption that underlies event-driven modelling?
9. What are the claimed benefits of model-driven engineering?
Chapter 6
1. What are the advantages of explicitly designing and documenting a software architecture?
2. What are the two ways in which an architectural model of a system may be used?
3. List 4 fundamental questions that should be addressed in architectural design? (Any 4 from these)
4. What are the fundamental architectural views proposed in Krutchen’s 4+ 1 model?
5. What is the fundamental characteristic of a repository architecture?
6. What is the most important advantage of a client-server architecture?
7. Briefly describe pipe and filter architecture?
8. What are transaction-processing applications?
9. What are the principal functions of the 4 layers in a generic information system architecture?
Chapter 7
1. What are the 5 key activities in an object-oriented design process?
2. What are 3 approaches that may be used to identify object classes?
3. Why is it important to specify the interfaces of components that are being developed by a software
engineering team?
4. How do design patterns contribute to reuse?
5. What are the 4 levels at which software reuse is possible?
6. What are essential tools in a software development platform?
Other areas to study:
Given a set of software components and a description of interactions, draw a complete UML sequence
diagram.
Given a narrative use case, draw a correct UML use case diagram or sequence diagram.