Podcast
Questions and Answers
What is the primary purpose of system modeling?
What is the primary purpose of system modeling?
Which perspective focuses on the organization and structure of data in a system?
Which perspective focuses on the organization and structure of data in a system?
Which UML diagram type best illustrates the interactions between a system and external actors?
Which UML diagram type best illustrates the interactions between a system and external actors?
How should models be treated during discussions about a system?
How should models be treated during discussions about a system?
Signup and view all the answers
What does Model-Driven Engineering prioritize over traditional programming?
What does Model-Driven Engineering prioritize over traditional programming?
Signup and view all the answers
What type of UML diagram represents how a system behaves in response to internal and external events?
What type of UML diagram represents how a system behaves in response to internal and external events?
Signup and view all the answers
Which of the following is not a purpose of graphical models in system modeling?
Which of the following is not a purpose of graphical models in system modeling?
Signup and view all the answers
Which UML diagram type is specifically used for detailing the object classes and their associations in a system?
Which UML diagram type is specifically used for detailing the object classes and their associations in a system?
Signup and view all the answers
What aspect is neglected in certain critiques of architectural models?
What aspect is neglected in certain critiques of architectural models?
Signup and view all the answers
What is one benefit of using explicit architecture in system design?
What is one benefit of using explicit architecture in system design?
Signup and view all the answers
In what way does architecture in the small differ from architecture in the large?
In what way does architecture in the small differ from architecture in the large?
Signup and view all the answers
What is a potential implication of system structure on its operation?
What is a potential implication of system structure on its operation?
Signup and view all the answers
How does a high-level architectural view benefit communication with stakeholders?
How does a high-level architectural view benefit communication with stakeholders?
Signup and view all the answers
What does large-scale reuse in architecture promote?
What does large-scale reuse in architecture promote?
Signup and view all the answers
What is a key aspect of architectural models in system design?
What is a key aspect of architectural models in system design?
Signup and view all the answers
What role do architectural models play in project planning?
What role do architectural models play in project planning?
Signup and view all the answers
What is the primary purpose of architectural design in system development?
What is the primary purpose of architectural design in system development?
Signup and view all the answers
Which architectural decision aims to optimize performance in system design?
Which architectural decision aims to optimize performance in system design?
Signup and view all the answers
What characteristic does using fine-grain components most positively influence?
What characteristic does using fine-grain components most positively influence?
Signup and view all the answers
In which layer should critical assets be located according to security best practices?
In which layer should critical assets be located according to security best practices?
Signup and view all the answers
What aspect of system architecture is most likely to be affected by decisions on availability?
What aspect of system architecture is most likely to be affected by decisions on availability?
Signup and view all the answers
What is a primary advantage of model-driven engineering?
What is a primary advantage of model-driven engineering?
Signup and view all the answers
What is a common requirement before determining the appropriate architecture for a system?
What is a common requirement before determining the appropriate architecture for a system?
Signup and view all the answers
Which of the following is not a type of model in model-driven engineering?
Which of the following is not a type of model in model-driven engineering?
Signup and view all the answers
Why is it important to present multiple views of the software architecture?
Why is it important to present multiple views of the software architecture?
Signup and view all the answers
What is a potential disadvantage of generating code from models?
What is a potential disadvantage of generating code from models?
Signup and view all the answers
What does a Platform Independent Model (PIM) represent?
What does a Platform Independent Model (PIM) represent?
Signup and view all the answers
Which architectural decision could conflict with the goal of maintaining high performance?
Which architectural decision could conflict with the goal of maintaining high performance?
Signup and view all the answers
In which context is Model-Driven Architecture (MDA) considered less suitable?
In which context is Model-Driven Architecture (MDA) considered less suitable?
Signup and view all the answers
What is a possible drawback of developing translators for new platforms in model-driven engineering?
What is a possible drawback of developing translators for new platforms in model-driven engineering?
Signup and view all the answers
What does a Computation Independent Model (CIM) focus on?
What does a Computation Independent Model (CIM) focus on?
Signup and view all the answers
What characterizes a Platform Specific Model (PSM)?
What characterizes a Platform Specific Model (PSM)?
Signup and view all the answers
Which view in the 4 + 1 View Model focuses on the key abstractions of the system?
Which view in the 4 + 1 View Model focuses on the key abstractions of the system?
Signup and view all the answers
What does the process view in the 4 + 1 View Model represent?
What does the process view in the 4 + 1 View Model represent?
Signup and view all the answers
Which architectural pattern includes a layer of security that governs access to lower layers?
Which architectural pattern includes a layer of security that governs access to lower layers?
Signup and view all the answers
What is the main purpose of architectural patterns?
What is the main purpose of architectural patterns?
Signup and view all the answers
What is one limitation of the Unified Modeling Language (UML) in system architecture description?
What is one limitation of the Unified Modeling Language (UML) in system architecture description?
Signup and view all the answers
When is the repository model of data sharing most commonly used?
When is the repository model of data sharing most commonly used?
Signup and view all the answers
Which view in the 4 + 1 View Model defines how software components are distributed across hardware?
Which view in the 4 + 1 View Model defines how software components are distributed across hardware?
Signup and view all the answers
What characterizes the development view in the 4 + 1 View Model?
What characterizes the development view in the 4 + 1 View Model?
Signup and view all the answers
What limitation does MDE/MDA face in terms of organizational practices?
What limitation does MDE/MDA face in terms of organizational practices?
Signup and view all the answers
What do context models illustrate regarding a system?
What do context models illustrate regarding a system?
Signup and view all the answers
Which diagrams are commonly used for modeling interactions within systems?
Which diagrams are commonly used for modeling interactions within systems?
Signup and view all the answers
What is a primary purpose of use case modeling?
What is a primary purpose of use case modeling?
Signup and view all the answers
What challenge does model-driven architecture (MDA) present to long-lifetime systems?
What challenge does model-driven architecture (MDA) present to long-lifetime systems?
Signup and view all the answers
What do process models reveal compared to context models?
What do process models reveal compared to context models?
Signup and view all the answers
In what form are use cases typically represented?
In what form are use cases typically represented?
Signup and view all the answers
What aspect of systems do interaction models help to identify?
What aspect of systems do interaction models help to identify?
Signup and view all the answers
Study Notes
Week 8 System Modeling and MDE
- System modeling is the process of creating abstract models of a system.
- Each model provides a different perspective of the system.
- Models are often presented using graphical notations, primarily the Unified Modeling Language (UML).
- System models are crucial for communicating system functionality to customers and for analysis by analysts.
System Perspectives
- External Perspective: Models the context and environment of the system.
- Internal Perspective: Models interactions within and between system components and its environment.
- Structural Perspective: Models the system's organization and data structure.
- Behavioral Perspective: Models how the system reacts to events.
Uses of Graphical Models
- Support discussion by facilitating feedback on existing or proposed systems, even if models are incomplete or incorrect.
- Documenting systems, acting as an accurate representation but not necessarily complete.
- Generating system implementation details.
UML Diagram Types
- Activity Diagrams: Illustrate activities (processes) within a system.
- Use Case Diagrams: Show interactions between a system and its environment.
- Sequence Diagrams: Depict interactions between actors and system components or actors to each other.
- Class Diagrams: Represent object classes and relationships within the system.
- State Diagrams: Illustrate how a system reacts to internal and external events.
Model-driven Engineering (MDE)
- Develops software from models rather than explicit programming code.
- Software automatically generated from models running on hardware or software platforms.
- Aims to raise the level of abstraction, reducing reliance on programming language details and execution program specifics.
Pros and Cons of MDE
- Pros: Allows for higher-level system abstraction, adaptable implementations across platforms, and potentially cheaper system adaptation.
- Cons: Models are not always optimal for implementation, and savings from generated code may be offset by the cost of developing translators.
Model Driven Architecture (MDA)
- A precursor to more general model-driven engineering (MDE).
- Uses a subset of UML models to describe a system.
- Models at varying levels of abstraction are created, with platform-independent models at higher levels.
- In principle, a working program can be generated without manual intervention.
4 Types of Models in MDA
- Computation-Independent Model (CIM): Focuses on domain abstractions, sometimes termed domain models.
- Platform-Independent Model (PIM): Models system operations for use across all potential implementations.
- Multiple Platform-Specific Models (PSMs): Transformations of the PIM for use on specific platforms (e.g. Java or .NET).
Adoption of MDA
- MDA is not easily consistent with agile methods, demanding modeling and planning.
- Specialized tool support for conversions and adaptation is needed for wide adoption.
- Limited tool availability and modifications required for organizational use are challenges.
Context and Interaction Models
- Context models illustrate the operational environment of a system, encompassing elements outside the system's boundaries.
- System boundaries are positioned by social and organizational considerations.
- Context models distinguish a system's context from how the system is used.
- Architectural models show relationships within the system and with external systems.
Process Perspective
- Process models detail how the system being developed is used within a wider business process.
- UML activity diagrams illustrate business process models.
Interation Models
- These models are important for identifying user needs, recognizing communication hurdles, and understanding system interaction structure.
- Use cases and sequence diagrams are common tools use in system modelling.
Structural Models
- Architectural structures (arrangements) of systems show components and relationships.
- Static models show the structure of the system at design.
- Dynamic models depict the system structure during system operation.
Class Diagrams
- A useful tool for object-oriented system design, revealing classes and their relationships.
- A class represents a general definition of an object, showing how different components in a system connect through these classes.
Behavior Models
- These model dynamic behavior of the system during operation.
- Models show what happens when a system reacts to changes in its environment, including responses to data and events.
Data-Driven Modeling
- Business systems that are primarily driven by data are often modelled using data-driven models.
- These models highlight ordered sequences of actions for processing input data and creating output in these systems
Event-driven Modeling
- Real-time systems frequently employ event-driven modeling where minimal data processing exists.
- Systems respond to internal and external stimuli (events), often represented using state machine models.
- State machine modeling illustrates the system's behavior with a finite number of states, transitioning between them based on external and internal events or stimuli.
Architectural Design Overview
- Architectural design determines a system's structure and overall organization.
- This is the bridge between the process of requirements engineering and the design process.
- Architectural representations use tools such as informal block diagrams to model system components and their relationships.
Architectural Views and Design Decisions
- Architectural design involves decisions about system structure, component interactions, and distribution.
- Multiple different views (e.g. logical, physical, development and process) are commonly employed.
- The architecture should align with functional requirements to determine the best structure.
System Characteristics in Architecture
- Factors such as performance, security, safety, availability and maintainability influence architectural decisions.
- Decisions regarding architecture should take these non-functional considerations into account.
Architectural Views
- Logical view identifies high-level abstractions in the system as objects or classes.
- Process view shows the interacting processes in the system and their communication during operation.
- Development view illustrates how the system is structured for software development.
- Physical view shows the system's hardware and how components are distributed across processors.
- Use cases or scenarios also play an important role in supplementing these 4 views.
Architectural Patterns
- Architectural Patterns are pre-defined, tried and tested structural models.
- Model–View–Controller (MVC) is a pattern for separating presentation, interaction, and data.
- Layer Architecture is a pattern that organizes system functionality into layers, with dependencies structured vertically.
- Repository Architecture is a pattern for managing data where information is maintained in a central repository.
- Client-Server Architecture distributes data and processing among interacting components (clients and servers).
- Pipe and Filter Architecture separates processing steps into individual, independent components for data analysis.
Additional Notes: (General points)
- UML is a common notation used
- ADLs are also used in system modeling
- The choice between models depends on the specifics of the system being modeled
- Multiple views are typically needed to fully understand a software system
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
This quiz evaluates your understanding of system modeling, including concepts of UML diagrams, model-driven engineering, and architectural perspectives. Test your knowledge on the purposes of graphical models and the implications of system structure in design discussions.