Software Engendering 3

COM 3019 – SOFTWARE ENGINEERING

1

Don't use plagiarized sources. Get Your Custom Essay on
Software Engendering 3
Just from $13/Page
Order Essay

ASSIGNMENT 3

1. (a) A common approach to system testing is to test the system until the testing budget is

exhausted and then deliver the system to customers. Discuss the ethics of this approach

for systems that are delivered to external customers. (12mks)

(b) Some people argue that developers should not be involved in testing their own code

but that all testing should be the responsibility of a separate team. Give arguments for and

against testing by the developers themselves. (10mks)

(c) Explain why testing can only detect the presence of errors, not their absence. (10mks)

2. (a) Explain why you normally use several architectural patterns when designing the

architecture of a large system. Apart from the information about patterns that I have

discussed in this chapter, what additional information might be useful when designing

large systems? (8mks)

(b) Suggest architecture for a system (such as iTunes) that is used to sell and distribute

music on the Internet. What architectural patterns are the bases for this architecture?

(8mks)

(c) Using the UML graphical notation for object classes, design the following object

classes, identifying attributes and operations. Use your own experience to decide on the

attributes and operations that should be associated with these objects.

i. Telephone (5mks)

ii. A printer for a personal computer (5mks)

iii. A personal stereo system (5mks)

COM 3019 – SOFTWARE ENGINEERING

2

iv. A bank account (5mks)

v. A library catalogue (5mks)

3. (a) A small company has developed a specialized product that it configures specially for

each customer. New customers usually have specific requirements to be incorporated into

their system, and they pay for these to be developed. The company has an opportunity to

bid for a new contract, which would more than double its customer base. The new

customer also wishes to have some involvement in the configuration of the system.

Explain why, in these circumstances, it might be a good idea for the company owning the

software to make it open source. (10mks)

(b) Identify possible objects in the following systems and develop an object-oriented

design for them. You may make any reasonable assumptions about the systems when

deriving the design:

i. A group diary and time management system is intended to support the timetabling

of meetings and appointments across a group of co-workers. When an

appointment is to be made that involves a number of people, the system finds a

common slot in each of their diaries and arranges the appointment for that time. If

no common slots are available, it interacts with the user to rearrange his or her

personal diary to make room for the appointment. (5mks)

ii. A filling station (gas station) is to be set up for fully automated operation. Drivers

swipe their credit card through a reader connected to the pump; the card is

verified by communication with a credit company computer, and a fuel limit is

established. The driver may then take the fuel required. When fuel delivery is

COM 3019 – SOFTWARE ENGINEERING

3

complete and the pump hose is returned to its holster, the driver’s credit card

account is debited with the cost of the fuel taken. The credit card is returned after

debiting. If the card is invalid, the pump returns it before fuel is dispensed. (5mks)

(c) Some people argue that developers should not be involved in testing their own code

but that all testing should be the responsibility of a separate team. Give arguments for and

against testing by the developers themselves. (7mks)

Calculator

Calculate the price of your paper

Total price:$26
Our features

We've got everything to become your favourite writing service

Need a better grade?
We've got you covered.

Order your paper