Tribhuwan University

Institute of Science and Technology

Model

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 requirement engineering process? What are the advantages and disadvantages model?[10]

Requirements Engineering Process

Requirements Engineering is a systematic process of defining, documenting, and maintaining the requirements for a software system. It bridges the gap between stakeholder needs and the final software product.


The Requirements Engineering Process

The RE process consists of the following key activities:

a) Feasibility Study

  • Determines whether the proposed system is worthwhile and technically/economically viable
  • Answers: "Can we build it? Should we build it?"

b) Requirements Elicitation and Analysis

  • Gathering requirements from stakeholders through interviews, observations, questionnaires, brainstorming, and prototyping
  • Analyzing requirements for conflicts, overlaps, and ambiguities

c) Requirements Specification

  • Documenting the requirements in a clear, structured format
  • Produces the Software Requirements Specification (SRS) document
  • Can be written in natural language, structured language, or formal notation

d) Requirements Validation

  • Checking that requirements are complete, consistent, and realistic
  • Techniques include reviews, prototyping, test-case generation, and walkthroughs

e) Requirements Management

  • Handling changes to requirements throughout the project lifecycle
  • Involves traceability, version control, and impact analysis

Advantages of the Requirements Engineering Process Model

  • Provides a systematic and structured approach to gathering requirements
  • Reduces ambiguity and misunderstanding between developers and stakeholders
  • Early detection of errors and conflicts saves cost and time later
  • Produces a clear SRS document that acts as a contract between parties
  • Improves communication among all project stakeholders
  • Enables better project planning and estimation
  • Supports traceability — each requirement can be tracked through development

Disadvantages of the Requirements Engineering Process Model

  • Can be time-consuming and expensive, especially for large projects
  • Requirements may change frequently, making documentation outdated quickly
  • Over-documentation can lead to rigidity and slow down development
  • Stakeholders may find it difficult to express their needs clearly at early stages
  • Conflicts between stakeholders can be hard to resolve
  • Requires skilled analysts who understand both business and technical domains
  • May give a false sense of completeness — some requirements are only discovered during development

Conclusion

The Requirements Engineering process is essential for building the right software. Despite its disadvantages like cost and rigidity, its advantages of clarity, early error detection, and structured communication make it a critical phase in software development. A well-executed RE process significantly reduces the risk of project failure.

2.
Briefly explain layered architecture, repository architecture, pipe and filter architecture.[10]
3.
Explain data driven modeling and event driven modeling with an example of your own.[10]
Section B

Short Answers Questions

Attempt any Eight questions.
[8*5=40]
4.
Highlight on ACM/IEEE software engineering ethics. [5]
5.
Differentiate between black box testing and white box testing. Explain the importance of white box testing. [5]
6.
Explain the process of software quality process. [5]
7.
Write short notes on: a. COCOMO b. Design Pattern [5]
8.
Highlight on the process of release management with respect to software configuration management. [5]
9.
Draw a class diagram for online movie management system where the customer after registering in the system can book the ticket according to the date, hall number, seat number and movie name. The payment has to be made online. Customer will get e-ticket after payment. The customer can also rank the movie after watching in the system. [5]
10.
Differentiate between functional and non functional requirement with two examples in each. [5]
11.
Briefly explain Agile software development. [5]
12.
List different types of testing. Explain component testing and integration testing. [5]