Tribhuvan University
Bachelor of Science in Computer Science and Information Technology
Semester 6 · TU Board 2082
Course Title: Software Engineering (CSC364)
Full Marks: 60Pass Marks: 24Time: 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.
Group A
Attempt any two questions.(2 × 10 = 20)
- 1.10
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.
- 2.10
Explain architectural design decisions that must be made during the architectural design process. Describe the following architectural patterns with suitable diagrams:
- a) Model-View-Controller (MVC) architecture
- b) Client-Server architecture
- c) Pipe and Filter architecture
- 3.10
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.
Group B
Attempt any eight questions.(8 × 5 = 40)
- 4.5
What is requirements elicitation? Explain different requirements elicitation techniques used in requirements engineering process.
Answer comingAlso asked in 2081, 2077
- 5.5
A software project is estimated to be 320 KLOC. Using the COCOMO model, calculate the effort (person-months) and development time (months) for:
- a) Organic mode
- b) Embedded mode
Use the following formulas:
- Organic: Effort = 2.4(KLOC)^1.05, Time = 2.5(Effort)^0.38
- Embedded: Effort = 3.6(KLOC)^1.20, Time = 2.5(Effort)^0.32
- 6.5
Differentiate between incremental development and integration and configuration model. Which model is suitable for large-scale enterprise systems and why?
- 7.5
Draw a context model and use case diagram for an Online Food Delivery System. Make necessary assumptions.
- 8.5
What is software quality management? Explain the relationship between quality management, quality assurance, and quality control with examples.
Answer comingAlso asked in 2079, 2077
- 9.5
Explain the concept of Model-Driven Architecture (MDA). How does it help in system modeling? What are its advantages and disadvantages?
- 10.5
What do you understand by implementation issues in software development? Discuss reuse, configuration management, and host-target development as implementation issues.
- 11.5
Differentiate between corrective, adaptive, perfective, and preventive maintenance. Which type of maintenance consumes the most resources and why?
- 12.5
Write short notes on:
- a) Open-source development
- b) Agile project management
— The End —