Afzal Badshah, PhD

System Modeling in Software Engineering​

System modelling is a critical process in software engineering and various other fields that involves creating simplified, abstract representations of complex systems. The primary purpose of system modelling is to understand, analyze, and communicate the structure, behaviour, and interactions of a system.

  • System modelling is the process of developing abstract models of a system, with each model presenting a different view or perspective of that system
  • System modelling may represent a system using graphical notation,
    e.g. the Unified Modeling Language (UML).

Graphical Modeling

Graphical modelling is a method of representing information, systems, or processes using visual elements such as diagrams, charts, graphs, and symbols. It is a way to convey complex concepts, relationships, and structures in a more intuitive and visual format.

The following graphical representations (SE Diagrams) are used for system modelling in software engineering.

  1. Activity Diagrams: These diagrams depict the activities and processes involved in a system or data processing, showing the flow of tasks and their relationships.
  2. Use Case Diagrams: Use case diagrams illustrate the interactions and relationships between a system and its external environment, typically representing actors and the actions they can perform.
  3. Sequence Diagrams: Sequence diagrams are used to display interactions and sequences of messages between actors, objects, or system components over time, illustrating how various parts of a system work together.
  4. Class Diagrams: Class diagrams provide a visual representation of object classes within a system and the relationships (associations) between these classes, helping to model the structure of a system.
  5. State Diagrams: State diagrams depict how a system responds to internal and external events, displaying the different states a system or object can be in and the transitions between these states.

System Models in Software Engineering

From the system perspective, there are four types of models

Context Models

Context Model for ATM System

Context Model for Hospital

Interaction Models

Receptionist interaction with the system (use case)
Sequence Diagram for Interaction

Structural Models

Structural model (class diagram) for patient management system
Class Diagram

Behavioural Models

Activity Diagram for Behavioral Model

These four types of models are crucial in software engineering and system development as they provide a structured way to understand, design, and communicate various aspects of a system, such as its environment (context models), interactions (interaction models), structure (structural models), and behaviour (behavioural models). They serve as valuable tools for system analysis, design, and documentation.

Model-driven engineering

Model-driven engineering (MDE) is an approach to software development where models rather than programs are the principal outputs of the development process. Proponents of MDE argue that this raises the level of abstraction in software engineering so that engineers no longer have to be concerned with programming language details or the specifics of execution platforms.

Self Assessment

1 / 21
Exit mobile version