Tribhuwan University

Institute of Science and Technology

2081

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.
Explain process model for software prototype development with a neat diagram focusing on its different stages.[10]

Prototyping Process Model for Software Development

Prototyping Model is a software development approach where a working prototype (an early approximate version) of the system is built, tested, and refined based on user feedback until the final product meets the requirements.


Why Prototyping?

  • Used when requirements are not clearly understood at the beginning
  • Helps developers and users visualize the system early
  • Reduces misunderstanding between client and developer
  • Allows early detection of errors and missing features

Neat Diagram

Prototyping Process Model for Software Development


Stages of the Prototyping Model

A. Communication (Requirement Gathering)

  • Developer meets the client to gather initial requirements
  • A general idea of the system's scope and objectives is understood
  • Complete details may not be available at this stage

B. Quick Design (Quick Plan)

  • A quick design of the system is prepared focusing on aspects visible to the user (e.g., input/output formats, interface layout)
  • This design is not detailed — it is just a blueprint for building the prototype

C. Modeling / Building the Prototype

  • A working model (prototype) is constructed based on the quick design
  • It represents only a limited functionality of the actual system
  • The prototype is built quickly, not focusing on code quality or optimization

D. Deployment / Delivery to Customer

  • The prototype is delivered to the customer for evaluation
  • The user interacts with the prototype to understand the proposed system

E. User Evaluation & Feedback

  • The customer evaluates the prototype and provides feedback
  • They suggest changes, additions, or removal of features
  • If the customer is not satisfied, the process loops back to Quick Design with refined requirements
  • This cycle repeats until the user approves the prototype

F. Final System Development & Delivery

  • Once the prototype is approved, the final system is engineered with proper coding standards, testing, and documentation
  • The final product is delivered with full functionality, performance, and quality

Advantages

  • Better requirement understanding through user involvement
  • Reduces risk of building the wrong system
  • Quick feedback helps in early error detection
  • Useful for systems with unclear or changing requirements

Disadvantages

  • Customer may think the prototype is the final product
  • Excessive iteration can delay the project
  • Poor prototype code may be carried into the final system (leading to poor quality)
  • Developers may make poor design decisions to build prototypes quickly

Conclusion

The Prototyping Model is ideal when customer requirements are vague or evolving. By building and refining prototypes iteratively based on user feedback, it ensures that the final product closely matches user expectations, resulting in higher customer satisfaction.

2.
Why architecture patterns are important? Explain Model-View-Controller, layered and repository architecture.[10]
3.
Explain key activities performed during Unit testing, component testing and system testing.[10]
Section B

Short Answers Questions

Attempt any Eight questions.
[8*5=40]
4.
Explain the process of software configuration management. [5]
5.
Explain software review process. [5]
6.
Describe different factors affecting software pricing. [5]
7.
Draw sequence diagram for online food ordering system where the user can choose foods of various restaurants and pay online. The system also provides discount of 10% if the total amount paid is more than Rs. 3000. The user if cancels the order within 30 minutes will be approved else the paid amount will not be refunded. [5]
8.
Briefly explain requirement engineering process. [5]
9.
What are the basic principles of agile methods? Explain. [5]
10.
List various attributes of good software and explain them. [5]
11.
Describe Model-driven architecture. What type of abstract system models are produced by it? [5]
12.
Write short notes on: a) open-source development b) Test driven development [5]