Credit:Eli TamangEli Tamang

Tribhuwan University

Institute of Science and Technology

2082

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.
Illustrate the activities carried out within the software process model. List some techniques that can be used to improve the process.[10]

Activities in the Software Process Model and Techniques for Process Improvement

A software process model is a simplified representation of a software process, describing the sequence of activities carried out to develop a software product from inception to deployment and maintenance.


Activities Carried Out Within the Software Process Model

The four fundamental activities common to all software process models are:


A. Software Specification (Requirements Engineering)

  • Understanding and defining what services are required from the system
  • Identifying constraints on the system's operation and development
  • Sub-activities include:
    • Feasibility study – Is the system technically and financially feasible?
    • Requirements elicitation and analysis – Gathering requirements from stakeholders
    • Requirements specification – Documenting requirements in detail
    • Requirements validation – Checking requirements for consistency and completeness

B. Software Design and Implementation

  • Converting the specification into an executable system
  • Sub-activities include:
    • Architectural design – Identifying overall system structure and components
    • Interface design – Defining interfaces between components
    • Component design – Designing individual component functionality
    • Database design – Designing data structures
    • Coding/Implementation – Translating design into programming language

C. Software Validation (Verification & Validation)

  • Ensuring the system conforms to its specification and meets customer expectations
  • Sub-activities include:
    • Unit testing – Testing individual components
    • Integration testing – Testing combined components together
    • System testing – Testing the complete system as a whole
    • Acceptance testing – Testing with real customer data to confirm requirements are met

D. Software Evolution (Maintenance)

  • Modifying the software to adapt to changing customer and market requirements
  • Types of changes include:
    • Corrective – Fixing discovered errors
    • Adaptive – Adapting to new environments
    • Perfective – Adding new functionality or improving performance

Techniques to Improve the Software Process

  • Process measurement and metrics – Measuring attributes like time, cost, and defect rate to identify weaknesses
  • Process analysis – Analyzing the current process to identify bottlenecks and inefficiencies
  • Process change/optimization – Introducing changes to address identified problems
  • CMM/CMMI (Capability Maturity Model Integration) – Using maturity levels to guide process improvement systematically
  • Automation of process activities – Using CASE tools and CI/CD pipelines to reduce manual errors
  • Training and skill development – Improving team capabilities through regular training
  • Peer reviews and inspections – Conducting formal reviews to detect defects early
  • Adopting best practices – Using proven techniques like Agile, Lean, or Six Sigma
  • Feedback loops – Collecting feedback after each iteration to continuously refine the process

Conclusion

The software process involves four core activities — specification, design & implementation, validation, and evolution. By applying techniques such as process measurement, CMMI frameworks, automation, and continuous feedback, organizations can systematically improve their software development process for higher quality and efficiency.

2.
Develop use case diagram, class diagram, and sequence diagram of online entrance examination system. Make necessary assumptions.[10]
3.
Explain the test driven development. List its advantages and disadvantages.[10]
Section B

Short Answers Questions

Attempt any Eight questions.
[8*5=40]
4.
What are the different ways of software pricing? Explain. [5]
5.
Explain the concept of release testing with an example. [5]
6.
Why software quality assurance is a critical activity. Explain. [5]
7.
Describe software configuration management activities. [5]
8.
How do you think design patterns help in software development? Explain. [5]
9.
Explain different architectural views with a neat diagram. [5]
10.
What do you understand by the model driven architecture? Explain. [5]
11.
List different software engineering ethics and practices that needs to be followed by the practitioner. [5]
12.
Write short notes on: a) Non-functional requirement Write short notes on: b) Principles of agile [2.5+2.5]