Ccs 3201 Software Engineering
Ccs 3201 Software Engineering
a) How would you define the terms software and software process? (4 Marks)
b) Why “engineering” in the term software engineering? (2 Marks)
c) In your view, what is the single most important goal of software engineering? (2 Marks)
d) Distinguish between the following. (2 Marks)
i. Prescriptive and Agile process models
ii. Upper-CASE and Lower-CASE tools
e) State and explain the five key components/stages of the generic software process
framework. (5 Marks)
f) Briefly distinguish between algebraic and model-based formal specification techniques.
(4 Marks)
g) How would you describe equivalence partitioning, a popular black-box testing strategy.
(4 Marks)
a) The first phase of architectural design involves system structuring. Outline two main
structure models, while giving some of their respective pros and cons. (6 Marks)
b) Component-level design is an important stage in software design
i. State and briefly discuss any two class-based component design principles, detailing
any heuristics that have been suggested as aids to achieve them. (4 Marks)
ii. State and briefly explain FOUR types of cohesion that a software designer may
come across in the component-level design exercise? (4 Marks)
c) Interface design is one of the core framework activities involved in user interface design.
Outline the FOUR steps involved in this activity. (4 Marks)
d) Juma has been commissioned as a software engineer to recommend an architectural design
for an upcoming software product. He knows that the subsystems will need to be loosely
coupled and that data interchange between the subsystems will be rare and therefore a non-
issue. What structural model would you recommend and why? (2 Marks)
a) Distinguish between
i. Verification and Validation (2 Marks)
ii. Smoke testing and regression testing (2 Marks)
iii. Alpha testing and beta testing (2 Marks)
b) List and describe the steps involved in a conventional software testing strategy?
(4 Marks)
c) Give at least two examples in which black-box testing might give the impression that
“everything is OK” while while box tests might uncover an error. Give at least two
examples in which white-box testing might give the impression that “everything is OK”
while black-box tests might uncover an error. (4 Marks)