Tutorial 4 EKT 420 SOFTWARE ENGINEERING SEMESTER II 2012/2013

Tutorial 4 EKT 420 SOFTWARE ENGINEERING SEMESTER II 2012/2013

1.  Why do you think it is important for software developers to focus on the target users of the proposed software?

It is important for software developers to focus on the target users when you design a software because it may

·  reduce training and support costs

·  reduce time to learn the system

·  greater efficiency of use

·  reduce costs by only developing features that are needed

·  reduced costs associated with changing the system later

·  better prioritizing of work for iterative development

·  greater attractiveness of the system, so users will be more willing to buy and use it

2.  What are aspects of usability you need to consider when you design a user interface?

o  Learnability

§  The speed with which a new user can become proficient with the system.

o  Efficiency of use

§  How fast an expert user can do their work.

o  Error handling

§  The extent to which it prevents the user from making errors, detects errors, and helps to correct errors.

o  Acceptability.

§  The extent to which users like the system.

3.  What factors have to be taken into account in the design of a menu-based interface for ‘walk-up’ systems such as bank ATMs? Write a critical commentary on the interface of an ATM that you use. Factors to be taken into account when designing 'walk up and use' systems are:

• System users may be infirm, or disabled so will not be able to respond quickly to requests.

• Users may not be able to speak the native language of the country where the machine is installed.

• System users may be completely unfamiliar with technology and may make almost any kind of error in using the machine. The interface must minimize the number of possible errors and must be resilient to any possible error.

• Some system users are likely to be intimidated by many options. On the other hand, as users gain familiarity with the system, they may expect to use it for a wider range of banking services.

• Different people may understand the meaning of icons in different ways.

• If the system has navigation options, users are almost certain to become lost.

• Most users will want to use the system for very simple functions (e.g. withdraw cash from an ATM) and will want to do this as quickly as possible.

There are many different ATM interfaces so each must be considered

separately. Problems that I have found are:

When is it possible to cancel a transaction?

What happens when I do so?

What will I have to re-input if I restart the transaction?

There is not usually any way of saying give me the maximum amount of

money I may withdraw today.

Some machines only support single transactions - there is no way of saying I

will be making several transactions and the same validation process is

applicable to all of them.

4.  Using your knowledge of how an ATM is used, develop a set of use cases that could serve as a basis for understanding the requirements for an ATM system. There are a variety of different types of ATM so, obviously, there is not a definitive set of use cases that could be produced. However, I would expect to see use cases covering the principal functions such as withdraw cash, display balance, print statement, change PIN and interbank money transfer . The use case description should describe the actors involved, the inputs and outputs, normal operation and exceptions.

usecase pic2 JPG