INSTRUCTIONS: Answer Question ONE and any other TWO

QUESTION ONE (Compulsory)
a) Define the term software engineering (1 mark)
b) Many software process models have been proposed to support software development.
One of the first models to be proposed is the Waterfall model. Draw the Waterfall
model with its different phases. (4 marks)
c) Software management is a very important activity when developing software systems.
In the 1960s and 1970s many software projects fail due to bad use of project
management techniques. Identify three aspects that should be taken into
consideration when managing a software project. (3 marks)
d) Distinguish between Unit testing, Integration testing and User Acceptance testing
(6 marks)
e) Discuss the importance of the following activities in software engineering (4 marks)
i) Project Management:
ii) Risk management:
iii) Configuration Management:
iv) Quality management:
f) Discuss four characteristics of good software (4 Marks)
g) Assume that you are a software engineer practicing in a software development firm.
Assume further that your team mates have been undertaking some unethical practices
during their course of duty. Discuss four issues of professional responsibility that you
would advise them to follow. (8 Marks)
a) Discuss briefly the view that Open Source Software has decreased the productivity of
developers and the quality of the systems produced. (4 marks)
b) Discuss the relevance of the three principles of User Interface design known as
“Minimal Surprise”, “Recovery”, and “Consistency” and give an example of how
each would be applied in the design of a simple word processor. (9 marks)
c) Consider the following requirements for a mobile handset device called
HandyWeather that displays the weather forecast for various locations around the
 HandyWeather gives the weather forecast for cities around the world for a period
of five days
 HandyWeather uses a satellite system to determine the weather in a chosen city
 The time to display the forecast for all five days should take no longer than 1
minute after a location has been chosen
 Users choose cities from a menu of options organised by continents, countries,
and states
 HandyWeather has a five lines display showing the weather for each different day
in a different line. The weather is displayed in ascending order for the days (i.e.
day 1 is on the top line, day 5 is on the bottom line)
 HandyWeather should display accurate weather forecast
 The internal battery of HandyWeather can last for 2 hours. After 2 hours,
HandyWeather needs to be recharged
i) Based on the list of requirements above, which ones are considered nonfunctional requirements? (4 marks)
ii) Based on the list of requirements above, which ones are considered functional
requirements? (3 marks)
a) After taking part in a series of successful software projects, you have recently been
appointed a project manager within a software engineering organisation. Your first
project in this position will be to build a large web-based application. The team has
had experience of doing this type of work before. In all of the previous projects,
requirements have been thoroughly documented by the customers.The above scenario
is an outline specification for a software project. What software process model would
you choose and why? (4 marks)
b) Discuss the role that CASE tools play throughout the software life cycle phases.
(3 marks)
c) Give one example of a static validation and verification technique and one example of
a dynamic validation and verification technique. (4 marks)
d) Describe the three major components in MVC architecture. (3 marks)
e) Define a critical system and describe three types of critical systems (6 Marks)
a) Lehman’s Law of increasing complexity states: “As an evolving program changes, its
structure tends to become more complex. Extra resources must be devoted to
preserving and simplifying the structure.” Discuss the empirical evidence that
supports the validity of this law and the implications that this law has for the software
maintenance team supporting a legacy software system in a critical business
environment. (6 marks)
b) With the help of a well labeled diagram, discuss the component-based (CBSE)
approach to software development. (10 Marks)
c) Software system applications are present in many situations of our lives. List 4
different types of software system applications. (4 marks)
a) A software architecture describes a high-level design view of a software system.
What are the advantages of explicitly describing the architecture independently
from the implementation? [2 marks]
b) Pipe-and-filer architectures treat a task as a series of processing steps, such that
the output of one step forms the input of the next step. Give an example of a pipeand-filter system and describe the advantages and disadvantages of this style?
[4 marks]
c) Differentiate between coupling and cohesion . [4 marks]
d) An architectural description language (ADL) is a general purpose language for
describing software architectures.
i) What kinds of basic components and basic connectors would you expect an ADL
to provide? (2 marks)
ii) What advantages are there in using an ADL? [4 marks]
e) Poor user interface design is the reason why so many software systems are never
used. State and explain four human factors that you would take into consideration
when designing a user interface. (4 Marks)

(Visited 96 times, 1 visits today)
Share this:

Written by