0% found this document useful (0 votes)
52 views3 pages

Midterm Exam SE

The document outlines a midterm exam for a Software Engineering course, consisting of three sections: Software Fundamentals, Software Process and Models, and Software Design and Architecture, totaling 80 marks. Each section includes specific questions that require detailed explanations and examples, focusing on key concepts such as software as a product, software process models, design principles, and architectural design styles. The exam emphasizes clarity, completeness, and conciseness in responses.

Uploaded by

ayeshaaman388
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views3 pages

Midterm Exam SE

The document outlines a midterm exam for a Software Engineering course, consisting of three sections: Software Fundamentals, Software Process and Models, and Software Design and Architecture, totaling 80 marks. Each section includes specific questions that require detailed explanations and examples, focusing on key concepts such as software as a product, software process models, design principles, and architectural design styles. The exam emphasizes clarity, completeness, and conciseness in responses.

Uploaded by

ayeshaaman388
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Midterm Exam – Software Engineering

Total Marks: 80
Duration: 2.5 Hours
Instructions:
 Answer all questions.
 Provide detailed explanations with examples where necessary.
 Clarity, completeness, and conciseness will be considered in grading.

Section A: Software Fundamentals (20 Marks)


Q1. Software as a Product and Vehicle (10 Marks)
Explain the dual role of software as both a product and a vehicle for delivering a
product. Provide examples to illustrate your answer.
Q2. Myths in Software Engineering (10 Marks)
Discuss two software myths each from the perspectives of management,
customers, and practitioners. Explain why these myths persist and how they
can be addressed.
Section B: Software Process and Models (30 Marks)
Q3. Software Process Models (10 Marks)
Compare and contrast the Waterfall Model, Incremental Model, and Spiral
Model in terms of their strengths, weaknesses, and suitability for different types
of projects.
Q4. Umbrella Activities in Software Engineering (10 Marks)
Explain any four umbrella activities in software engineering and discuss their
significance in the software development lifecycle.
Q5. Capability Maturity Model (CMM) (10 Marks)
Explain the five levels of software process maturity according to the
Capability Maturity Model (CMM). How does an organization progress from an
initial level to the optimized level?
Section C: Software Design and Architecture (30 Marks)
Q6. Design Principles and Concepts (10 Marks)
Discuss the five key principles of software design (such as modularity,
cohesion, coupling, abstraction, and encapsulation). Explain their impact on
software maintainability and scalability.
Q7. Architectural Design Styles (10 Marks)
Refer to Figure 1 to answer questions a) until e).
a) Name the process shown in Figure 1.

b) State the purpose of the process.

c) Describe all the activities in the process, their purpose, their input,
and their output according to the order of the activities.
(Note: 1 mark for each relevant point)

d) Describe why you may have to design the system architecture before
the requirements specification is complete.

e) Identify the appropriate architectural model for the system described


below:

i. A system of automated banking machines, acting as distributed


kiosks that bank customers can use to deposit and withdraw cash from
their accounts.

ii. A weather forecasting application that analyzes tens of thousands of


data elements collected from various sensors; the sensors periodically
transmit new data values.
Q8. Component-Level Design (10 Marks)
What is component-level design? Discuss the object-oriented view and
conventional view of software components. How does cohesion and coupling
impact component-level design?

Bonus Question (Optional – 5 Marks Extra Credit)


"Software engineering is more about managing complexity than writing code."
Discuss this statement with relevant examples.

You might also like