Tribhuvan University
Institute of Science and Technology
2082
Bachelor Level / sixth-semester / Science
Computer Science and Information Technology( CSC364 )
Software Engineering
Full Marks: 60 + 20 + 20
Pass Marks: 24 + 8 + 8
Time: 3 Hours
Candidates are required to give their answers in their own words as far as practicable.
The figures in the margin indicate full marks.
Section A
Attempt any two questions.
What is software testing? Explain the software testing process in detail. Differentiate between development testing and release testing. How does Test-Driven Development (TDD) improve software quality? Explain with an example.
Explain architectural design decisions that must be made during the architectural design process. Describe the following architectural patterns with suitable diagrams:
What is project management? Explain different project management activities in detail. Discuss risk management process with suitable example showing how risks are identified, analyzed, and mitigated in a software project.
Section B
Attempt any eight questions.
What is requirements elicitation? Explain different requirements elicitation techniques used in requirements engineering process.
A software project is estimated to be 320 KLOC. Using the COCOMO model, calculate the effort (person-months) and development time (months) for:
Use the following formulas:
Differentiate between incremental development and integration and configuration model. Which model is suitable for large-scale enterprise systems and why?
Draw a context model and use case diagram for an Online Food Delivery System. Make necessary assumptions.
What is software quality management? Explain the relationship between quality management, quality assurance, and quality control with examples.
Explain the concept of Model-Driven Architecture (MDA). How does it help in system modeling? What are its advantages and disadvantages?
What do you understand by implementation issues in software development? Discuss reuse, configuration management, and host-target development as implementation issues.
Differentiate between corrective, adaptive, perfective, and preventive maintenance. Which type of maintenance consumes the most resources and why?
Write short notes on: