Sie sind auf Seite 1von 3

BCS The Chartered Institute for IT

BCS HIGHER EDUCATION QUALIFICATIONS


BCS Level 6 Professional Graduate Diploma in IT

SOFTWARE ENGINEERING 2

Thursday 28th March 2013 - Morning

Answer any THREE questions out of FIVE. All questions carry equal marks.
Time: THREE hours

Answer any Section A questions you attempt in Answer Book A


Answer any Section B questions you attempt in Answer Book B

The marks given in brackets are indicative of the weight given to each part of the question.

Calculators are NOT allowed in this examination.

Section A
Answer Section A questions in Answer Book A

A1. In your role as a software engineer, you have been given the task of
introducing software reuse for existing and new software development.

a) Write a report that gives an overview of software reuse and discusses


how various approaches to reuse might handle legacy software and new
application developments.
(17 marks)

b) Consider the problem of software quality and programmer productivity,


and explain whether a software crisis exists today. How has reuse
contributed to the problem or the solution? Justify your answer.
(8 marks)

A2. The managing director of a small financial services company recently


attended a UML development seminar and has asked you to:

a) Define and explain the differences between the following UML terms:

(i) Association, aggregation, and composition;


(ii) Invariant and pre- and post- conditions
(10 Marks)

Turn over]
b) Use the UML notation to demonstrate the modelling of a customer
account, and deposit and withdrawal services, paying particular attention
to such things as integrity constraints, and the dependency relationship.
(9 Marks)

c) Briefly discuss whether the continuing development of the UML as an


open standard will result in the creation of tools to facilitate reverse
engineering and, more significantly, to be able to automatically generate
production quality code from such designs. Justify your answer.
(6 Marks)

A3.
a) Distinguish between software process metrics and software product
metrics.
(5 Marks)

b) Write a brief overview of the various forms of software process metrics


available today, and discuss how they might be usefully employed from
the initial project stages, through to the commissioning of a new system.
Illustrate your answers with examples.
(10 Marks)

c) Explain what is meant by software product complexity, and demonstrate


how measures of module coupling, cohesion, and size can help the
engineer monitor the build quality of software.
(10 Marks)
Section B
Answer Section B questions in Answer Book B

B4.

a) Define what is meant by reverse engineering and re-engineering of a


software system, distinguish between these two processes, and explain how
these two processes are related.
(5 marks)

b) As a software engineer, you have been given the task of reverse engineering
and re-engineering a large legacy system written in languages which are no
longer widely used in modern development with out-of-date and incomplete
documentation.

Give an assessment of the problems likely to be encountered in this task.


Explain how you would go about the reverse engineering of this system.
Outline the techniques and tools that you could use, and the results that you
would expect to produce.
(15 marks)

c) The practice of re-factoring in agile development can be considered as a form


of continuous reverse and re-engineering. Discuss the validity of this claim.
(5 marks)

B5.

a) Explain how as a software project manager, you would estimate and measure
the software development productivity of your team.
(5 marks)

b) Outline five factors that as a software project manager you would need to
consider when selecting and building a project team to undertake a new
development project. In the case of each factor, discuss relevant issues that
need to be taken into consideration to lower any risks.
(15 marks)

c) A software cost estimation model is an empirical model derived from data


from many software projects. These have been widely used and evaluated.
Discuss the relevance of software cost estimation models to an agile software
project development team in terms of advantages and disadvantages.
(5 marks)

Das könnte Ihnen auch gefallen