Model_II
Software Engineering Model II
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:
- a) Model-View-Controller (MVC) architecture
- b) Client-Server architecture
- c) Pipe and Filter architecture
-
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:
- 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
-
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:
- a) Open-source development
- b) Agile project management