UNIVERSITY EXAMINATIONS: 2010/2011
THIRD YEAR STAGE EXAMINATION FOR THE DEGREE OF BACHELOR
OF SCIENCE IN INFORMATION TECHNOLOGY
BIT 4201 ADVANCED SOFTWARE ENGINEERING
DATE: JUNE 2011 TIME: 2 HOURS
INSTRUCTIONS: Answer question ONE and any other TWO questions
a) Give reasons why Formal Methods are not widely used? (3 Marks)
b) Using an example explain the CATWOE analysis (6 Marks)
c) Using an example define the term safety critical system (2 Marks)
d) Differentiate between Cardinality and Modality (4 Marks)
e) Define the term “coding standards” and explain why are they useful? (3 Marks)
f) Discuss the advantages of software development with reuse? (4 Marks)
g) Describe the Lehman’s laws as they relate to software evolution (8 Marks)
The following class diagram relates to an advertising agency that invoices their customers for the
screening on television of adverts that the agency has created for them.
When a customer wishes to make payment they initiate the following collaborations between objects:-
The Customer>PayInvoice method is triggered.
The PayInvoice method triggers the Invoice>CalculatePayment method.
The CalculatePayment method gets details of each Screening and triggers
Advert>FetchPrice to find out the price of each screening.
a) Represent the collaborations described above in a sequence diagram. (5 Marks)
b) Represent the collaborations above in a UML collaboration diagram. (5 Marks)
c) Why does UML support both sequence and communication diagrams? (5 Marks)
d) How should we cross-check sequence and communication diagrams against other UML models?
There have been many different approaches to the analysis and design of object oriented
systems. These approaches are often described as “hard”. This is in contrast to “soft” approaches such
as Soft Systems Methodology. A number of methodologists have suggested that “hard” and “soft”
approaches should be used together in a single “blended” development method.
a) What are the key features of Soft Systems Methodology and under what circumstances might it be
useful? (10 Marks)
b) Discuss, with examples, how hard and soft techniques might be applied together as a blended
development environment method. (10 Marks)
Most modern development methods are based on an object-oriented approach to systems development.
a) Describe the principal characteristics of an object-oriented software system. (5 Marks)
b) Why is it important for an object-oriented development method to be architecture-centric?
c) What does it mean for an object-oriented development method to be iterative and incremental?
d) What does it mean to say that a development method is “use case driven”? (5 Marks)
In the opinion of the Board of Directors, past IS projects have been over time, over budget and not
delivering what was required. You wish to avoid these problems.
a) Name and briefly describe FIVE methods that you could use to help to develop the best possible
estimate for the effort (time and cost) required for your project. (5 Marks)
b) Select TWO methods from your answer to part a) that you consider to be the most appropriate for
this project, and describe how you would use them to create an estimate. (10 Marks)
c) Describe the procedures that you would use to ensure that deliverables produced during your
project are according to what is required. (5 Marks)