Tribhuwan University

Institute of Science and Technology

2079

Bachelor Level / Third Year / Fifth Semester / Science

Bachelors in Information Technology (BIT302)

(Software Engineering)

Full Marks: 60

Pass Marks: 24

Time: 3 Hours

Candidates are required to give their answers in their own words as for as practicable.

The figures in the margin indicate full marks.

Section A

Long Answers Questions

Attempt any TWO questions.
[2*10=20]
1.
Describe event driven modeling. Explain the concept of event driven modeling with an example of your own.[10]

Event-Driven Modeling

Event-driven modeling is a system modeling approach that shows how a system responds to external and internal events by transitioning between different states based on stimuli received.


Concept of Event-Driven Modeling

Event-driven modeling focuses on how the system reacts to events — occurrences that trigger a change in the system's state. Unlike data-flow models that focus on data transformations, event-driven models emphasize the stimuli (events) and the system's responses to those stimuli.

Key Characteristics:

  • The system is always in some state, waiting for an event to occur
  • When an event (stimulus) is detected, the system transitions from one state to another
  • Each transition may trigger an action or produce a response
  • It is particularly useful for modeling real-time systems where timing and responsiveness are critical
  • The most common notation used is the State Machine Diagram (UML State Chart)

Components of an Event-Driven Model:

  • States — represent the condition of the system at a point in time
  • Events/Stimuli — triggers that cause state transitions
  • Transitions — movement from one state to another when an event occurs
  • Actions — operations performed during a transition or within a state

Example: ATM Machine System

Consider an ATM (Automated Teller Machine) system modeled using event-driven approach:

States: Idle → Card Inserted → PIN Verification → Transaction Selection → Processing → Dispensing Cash → Idle

State Machine Description (in words):

Current State Event (Stimulus) Next State Action
Idle Card inserted Card Inserted Read card data
Card Inserted PIN entered PIN Verification Validate PIN
PIN Verification PIN correct Transaction Selection Display menu
PIN Verification PIN incorrect (3 times) Idle Eject/retain card
Transaction Selection Withdrawal selected Processing Check balance
Processing Sufficient balance Dispensing Cash Dispense money
Dispensing Cash Cash taken Idle Eject card, print receipt

Diagram Description (State Chart):

  • The diagram starts with a filled circle (initial state) pointing to the Idle state
  • From Idle, an arrow labeled "card inserted" leads to Card Inserted state
  • From Card Inserted, an arrow labeled "PIN entered" leads to PIN Verification state
  • From PIN Verification, two arrows branch out:
    • "PIN correct"Transaction Selection
    • "PIN wrong 3 times"Idle (with action: retain card)
  • From Transaction Selection, arrow "withdrawal selected"Processing
  • From Processing, arrow "balance sufficient"Dispensing Cash
  • From Dispensing Cash, arrow "cash taken"Idle
  • A final state (circled dot) can be reached from any state via "cancel" event

Advantages of Event-Driven Modeling

  • Ideal for real-time and interactive systems
  • Clearly shows system behavior in response to stimuli
  • Easy to identify all possible states and transitions
  • Helps in detecting missing or unhandled events
  • Supports concurrent states using UML state chart notation

Conclusion

Event-driven modeling is essential for systems where the behavior depends on external stimuli rather than sequential data processing. It provides a clear, visual representation of how a system moves between states in response to events, making it invaluable for designing real-time, embedded, and interactive systems.

2.
What is pipe and filter architecture? Explain with an example. What are its advantages and disadvantages?[10]
3.
How can incremental development help in software production? Explain. What are its advantages and disadvantages?[10]
Section B

Short Answers Questions

Attempt any Eight questions.
[8*5=40]
4.
Define software. What are the attributes of good software? [5]
5.
Explain transaction procession system and language processing system. [5]
6.
Differentiate between structural model and dynamic model. Explain aggregation in UML. [5]
7.
List different types of risk. Explain the risk management process. [5]
8.
Draw Class diagram for online voting system where user can vote the candidates. The system also generates the final result with respective vote counts as well. The user has to register and will be eligible only after proper validation. [5]
9.
Explain different techniques that can be used for requirement elicitation. [5]
10.
Briefly explain waterfall model. When should we use water fall model? [5]
11.
Why test driven development approach is productive in software development? Explain. [5]
12.
Write short notes on: a. Software quality assurance b. Version management [5]
13.
What is version management? How is it carried Out? [5]