Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

SOE 202:

SOFTWARE REQUIREMENTS ENGINEERING

DECOMPOSING SYSTEM MODELS

MARCH, 2024
Decomposing System Models
• Decomposing system models is a crucial process in systems
engineering that involves breaking down complex systems
into smaller, more manageable parts.
• Its essence is to get better understanding, analysis, and
design of robust solutions/systems.
• It involves identifying subsystems and their relationships.
• Decomposing system models involves abstracting away
unnecessary details and representing the system through
different views, each emphasizing specific aspects.
System Model Decomposition by Dr. Caesar Nwandu 2
Steps in Decomposition of System Models
1. Identify Components: Identify the major components or
subsystems of the system.
2. Define Interfaces: Specify the interfaces between
subsystems, including inputs, outputs, and communication
protocols.
3. Refine Subsystems: Break down each subsystem further into
smaller, more detailed components if necessary.
4. Establish Relationships: Define relationships and
dependencies between components to ensure coherence and
functionality.

System Model Decomposition by Dr. Caesar Nwandu 3


Decomposition Techniques
1. Functional Decomposition: Break down the system based
on its functions or capabilities.
2. Hierarchical Decomposition: Organize components into a
hierarchical structure, with higher-level components
composed of lower-level ones.
3. Modular Decomposition: Group related components into
modules based on common characteristics or
functionality.

System Model Decomposition by Dr. Caesar Nwandu 4


Abstraction
• Abstraction is a key aspect of decomposition process.
• It is the process of simplifying complex systems by focusing
on essential characteristics while ignoring unnecessary
details.
• It allows us to create models that capture the key features
and behaviors of a system without delving into every minute
aspect.

System Model Decomposition by Dr. Caesar Nwandu 5


Levels of Abstraction
1. Conceptual Level: This level focuses on high-level ideas
and concepts, providing an overview of the system
without delving into specific details.
2. Functional Level: At this level, the system's functions and
their interactions are identified, without concern for
implementation details.
3. Implementation Level: This level deals with the detailed
implementation of system components, including
algorithms, data structures, and hardware.
System Model Decomposition by Dr. Caesar Nwandu 6
Steps in Abstraction
i. Identify Key Elements: This involves determining the
critical components, behaviors, and relationships within
the system.
ii. Eliminate Unnecessary Details: This refers to the
removal of non-essential or irrelevant details that do not
contribute to the core understanding of the system.
iii. Create Abstract Models: This involves developing models
that represent the system's essential features, without
getting into trivial details.
System Model Decomposition by Dr. Caesar Nwandu 7
Purpose/Benefits of Abstraction
a. Simplifies Complexity: Abstraction reduces the complexity of
the system by hiding unnecessary details.
b. Enhances Understanding: Abstraction helps in understanding
the system by focusing on essential features.
c. Encourages Modularity: Abstraction promotes modularity by
breaking the system into manageable components.
d. Promotes Communication: Abstraction enhances effective
communication among stakeholders using unambiguous
terms.
System Model Decomposition by Dr. Caesar Nwandu 8
System Views
• System views form another key aspect of decomposition process.
• They refer to the various perspectives or representations through
which a system can be analyzed, described, and understood.
• They provide different perspectives of the system.
• Each view highlights specific aspects relevant to stakeholders or stages
of the development process.
• System views include:
1. Structural View
2. Behavioral View
3. Functional View
4. Process View
5. Deployment View
6. Conceptual View
System Model Decomposition by Dr. Caesar Nwandu 9
System Views
1. Structural View: Focuses on the components of the system and
their relationships. It includes components such as modules,
classes, or subsystems and emphasizes how they are organized.
2. Behavioral View: Describes the dynamic aspects of the system,
focusing on how components interact as well as how the system
responses to stimuli. This view often includes state diagrams,
activity diagrams, or sequence diagrams.
3. Functional View: Emphasizes the functions or capabilities of the
system. It outlines what the system is supposed to do without
detailing how it achieves those functions. Use cases, functional
diagrams, or feature lists are examples of this view.
System Model Decomposition by Dr. Caesar Nwandu 10
System Views
4. Process View: Concentrates on the processes or tasks
performed by the system. It may include flowcharts, activity
diagrams, or process models to represent the sequence and
dependencies of activities.
5. Deployment View: Describes how the system is deployed in a
physical environment, including hardware, network
configurations, and distribution of components.
6. Conceptual View: Provides a high-level, abstract representation
of the system, often using conceptual models or diagrams to
convey the fundamental ideas and concepts.
System Model Decomposition by Dr. Caesar Nwandu 11
Integration of Abstraction and Different System
Views
• Abstraction is often applied within each system view to
simplify and highlight key elements.
• Different system views complement each other, collectively
providing a comprehensive understanding of the system
from various angles.
• Stakeholders can focus on the views that are most relevant
to their roles and concerns, ensuring that the system is
effectively communicated and meets the needs of diverse
users.
System Model Decomposition by Dr. Caesar Nwandu 12
Review Questions

System Model Decomposition by Dr. Caesar Nwandu 13

You might also like