Chapter 5 - System Modeling Flashcards

1
Q

System Modeling

A

System modeling is the process of developing the abstract of the
system.

Each model represents different views/ perspective of the system.

System modeling helps system analysts to communicate with the
customers/ client about the system functionality which in turn helps
to gather clear picture of their requirement and needs.

System modeling is basically helpful for the identification and
validation of the requirements of the new system by finding the
limitation and scope of existing system.

System models are also used during the design process which helps
the design engineer to understand the implementation process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

There are many types of models to represent the system from different perspectives. Some are as follow:

A

Contextual model

Interaction model

Structural model

Behavioral model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Context Models

A

explicitly depicts the boundary between the software system and its external environment:

Context models represents the operational environment of the system.

Represent what lies outside the system boundaries.

The environment of the system contains social and organizational concerns which directly or indirectly effects the position of system boundaries.

Context models should be developed early in the process to reduce the system costs and the time needed for understanding the system requirements and design.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Interaction Models

A

Modeling interaction helps to identify the user requirements.

Modeling system-to-system interaction helps to identify the communication problems that may arises.

Modeling component interaction helps to understand if a proposed system could deliver the required system performance or not.

E.g. of interaction Models are USE Case Diagram and Sequence Diagram.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Structural Models:

A

Structural Models shows the organization of a system in terms of the components that make up the system and their relationships.

We create the Structural models when we are discussing and designing the system architecture.

Structural Models may be static or dynamic in nature, showing the structure of the system design or showing the organization of the system when its executing.

eg: Class diagram

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

class Diagrams

A

Class diagrams are used for modeling the static structure.
They are used when developing an object-oriented system model to show the classes in a system and the associations between these classes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Behavioral models

A

Behavioral models are models of the dynamic behavior of a system as it is executing.

They show what happens or what is supposed to happen when a system responds to a stimulus from its environment.

Stimuli might be of two types
Data
Events

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Data – Driven Modeling

A

Most of the business systems are data-processing systems that are primarily driven by data.
They are controlled by the data input to the system, with relatively little external event processing.
Data driven models show the sequence of actions involved in processing input data and generating an associated output.

Eg: DFD 0 of ATM system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Event Driven Modeling

A

Event-driven modeling is an approach in software engineering that designs systems based on events and their interactions.

It focuses on the flow of the program being determined by events triggered by various sources.

Events can be triggered by user actions, system events, or messages from other components.

Sample Example: Traffic Signal Control System:

Events: Vehicle presence detected by sensors, Timer events for signal state control.
Event handlers: Actions triggered when events occur.
System responds to events by changing the state of the traffic lights.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Benefits of Event-Driven Modeling:

A

Allows for loose coupling between components, making the system more modular and flexible.

Enables efficient handling of asynchronous events and concurrent processes.

Simplifies complex systems by breaking them down into manageable event-driven components.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Event-driven modeling can be applied to an ATM

A

Event-driven modeling can also be applied to an ATM (Automated Teller Machine) system.

Here’s an example of how event-driven modeling can be used in an ATM machine:

Events in an ATM Machine:

    • User inserts their ATM card.
    • User enters their PIN.
    • User selects a transaction type (e.g., withdraw cash, deposit, balance inquiry, etc.).
    • User enters transaction details (e.g., withdrawal amount, deposit amount).
    • User requests a receipt.
    • User requests to end the session.

Event Handlers and Actions:

  1. When the user inserts their ATM card, the system verifies the card and prompts the user to enter their PIN.
  2. After the user enters their PIN, the system authenticates it and presents a menu of available transaction types.
  3. When the user selects a transaction type, the system executes the corresponding action (e.g., deducting the withdrawal amount from the account balance).
  4. If the user requests a receipt, the system prints the transaction details on the receipt.
  5. If the user requests to end the session, the system terminates the session and returns the ATM card.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Benefits of Event-Driven Modeling in ATM Machines:

A

Enables a user-friendly and interactive experience by responding to user actions promptly.

Allows for flexibility to handle various transaction types and user inputs.

Supports concurrent processing of multiple ATM transactions.

Facilitates the integration of external systems (e.g., bank networks) through event-driven interactions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

State Transition Diagram

A

State Transition Diagram are also known as Dynamic models. As the name suggests, it is a type of diagram that is used to represent different transition (changing) states of a System. It is generally used to graphically represent all possible transition states a system can have and model such systems. It is very essential and important and right for object-oriented modeling from the beginning. The System consists of various states that are being represented using various symbols in the state transition diagram. You can see the symbols and their description given below :

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Types of state

A

Type of State - Description
Initial State - In a System, it represents Starting state.
Final State - In a System, it represents Ending state.
Simple State - In a System, it represents a Simple state with no substructure.
Composite State - In a System, it represents a Composite state with two or more parallel or concurrent states out of which only one state will be active at a time and other states will be inactive.

When the customer inserts the bank or credit card in the ATM’s card reader, the entry action i.e readcard is performed by the ATM machine. If the card is not valid then the machine will perform exit action. After the card is being read successfully, the ATM machine will ask for Pin. Then the customer enters the pin and ATM machine then reads pin. If the pin entered is not valid then machine will perform exit action. If the pin entered is valid, then the machine further process towards transaction. After successful transaction, machine undergoes the exit action i.e., ejectcard that discharges the customer’s card.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Model-Driven Architecture (MDA)

A

Model-Driven Architecture (MDA)

Model-Driven Architecture (MDA) is an approach in software engineering that focuses on using models to drive the development and design of software systems. It emphasizes the separation of business logic and application functionality from the underlying implementation details. Here’s an overview of Model-Driven Architecture:
Key Concepts of Model-Driven Architecture:

Platform-Independent Model (PIM): A PIM represents the system from a platform-independent perspective, focusing on the business logic and functionality of the application without considering implementation details. It serves as an abstract representation of the system’s requirements and behavior.
Platform-Specific Model (PSM): A PSM represents the system from a platform-specific perspective, considering the technical aspects and implementation details specific to a particular platform or technology. It serves as a refined model that specifies how the PIM will be implemented on a specific platform.
Transformation: Transformation refers to the process of translating or converting models from one level of abstraction to another. In MDA, transformations are used to generate platform-specific models (PSMs) from platform-independent models (PIMs) and to generate code from PSMs.

Automated Code Generation: MDA promotes the automatic generation of code from platform-specific models (PSMs). This reduces manual coding efforts and helps maintain consistency between models and the resulting code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Benefits of Model-Driven Architecture:

A

Separation of concerns:
MDA separates the business logic and requirements from the implementation details, enabling better maintainability and modularity.

Higher productivity:
Code generation and model transformations automate repetitive tasks, reducing manual effort and speeding up the development process.

Platform independence: MDA allows for the creation of platform-independent models that can be transformed to different target platforms, facilitating cross-platform development.
Consistency and accuracy: Models serve as a single source of truth, ensuring consistency between different artifacts and reducing the likelihood of errors or inconsistencies.

17
Q

Tools and Standards:

Several tools and standards support the adoption of Model-Driven Archi

A

Several tools and standards support the adoption of Model-Driven Architecture. These include:

Unified Modeling Language (UML):
UML is a standard modeling language used to visualize, design, and document software systems. It provides a set of notations and diagrams to represent various aspects of a system.

Model Transformation Languages:
Languages such as Query/View/Transformation (QVT) and Atlas Transformation Language (ATL) are used to define and execute transformations between different models.

Model-Driven Engineering (MDE) Tools:
Tools like Eclipse Modeling Framework (EMF) and IBM Rational Software Architect (RSA) provide support for modeling, model transformations, and code generation based on MDA principles.

Domain-Specific Modeling Languages (DSML):
DSMLs enable the creation of specialized modeling languages tailored to specific domains, allowing for more expressive and domain-specific modeling.

Model-Driven Architecture (MDA) promotes the use of models to drive the software development process, facilitating separation of concerns, automating code generation, and improving productivity.
It provides a structured approach to system design and can be supported by various tools and standards in the industry.