Quiz Chapter5 8 Group3
Quiz Chapter5 8 Group3
Quiz Chapter5 8 Group3
A02E
Quiz Chapter 5 – 8.
Chapter 5: System modeling
1. What perspectives may be used for system modelling?
7. How is generalization used to simplify the models of a system with many similar objects?
Generalization is used to simplify models of a system with many similar objects by
abstracting common characteristics into a superclass or higher-level abstraction. By
defining a general class with shared attributes and behaviors, specific classes can inherit
these properties, reducing redundancy and improving maintainability and scalability of the
system model.
8. What is the basic assumption that underlies event-driven modelling?
The basic assumption underlying event-driven modeling is that a system's behavior is
driven by external events or stimuli rather than following a predefined sequence of
operations. In event-driven modeling, the system responds to events such as user actions,
sensor inputs, or messages from other systems by triggering appropriate actions or
behaviors.
5. What do Gamma et al. suggest are the four essential elements of a design pattern?
Pattern name: A descriptive name that conveys the purpose and intent of the pattern.
Problem: A description of the design problem or challenge addressed by the pattern.
Solution: A description of the design solution or structure that can be applied to solve the
problem in a specific context.
Consequences: An explanation of the trade-offs, benefits, and implications of using the pattern
in terms of system qualities such as flexibility, extensibility, and performance.
6. How do design patterns contribute to reuse?
Design patterns contribute to reuse by encapsulating proven solutions to common design
problems in a reusable format. By applying design patterns, developers can leverage the expertise
and experience of others to address recurring challenges, avoiding the need to reinvent solutions
from scratch. This promotes efficiency, consistency, and maintainability in software development
by encouraging the reuse of established best practices and architectural principles.
Unit testing: Testing individual units or components of the software in isolation to ensure their
correctness and functionality.
Integration testing: Testing the interactions and interfaces between integrated components or
subsystems to verify their interoperability and compatibility.
System testing: Testing the complete and integrated software system as a whole to validate its
compliance with specified requirements and assess its overall quality and performance.