21.08.2013 Views

Software Engineering for Students A Programming Approach

Software Engineering for Students A Programming Approach

Software Engineering for Students A Programming Approach

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

286 Chapter 20 ■ Groups<br />

Of course walkthroughs do mean that the individual has to be relaxed about presenting<br />

their work to colleagues.<br />

20.4 ● Inspections<br />

These are similar to structured walkthroughs – a group of people meet to review a piece<br />

of work. But they are different from walkthroughs in several respects. Checklists are used<br />

to ensure that no relevant considerations are ignored. Errors that are discovered are classified<br />

according to type and carefully recorded on <strong>for</strong>ms. Statistics on errors are computed,<br />

<strong>for</strong> example in terms of errors per 1,000 lines of code. Thus inspections are not<br />

just well organized, they are completely <strong>for</strong>mal. In addition management is in<strong>for</strong>med of<br />

the results of inspections, though usually they do not attend the meeting. Thus inspections<br />

are potentially more threatening to the programmer than walkthroughs.<br />

There are other, minor, differences between inspections and walkthroughs.<br />

Normally there are only four members in an inspection team:<br />

■ the moderator, who co-ordinates activities<br />

■ the person who designed the program component being inspected<br />

■ the programmer<br />

■ the tester – a person who acts as someone who will be responsible <strong>for</strong> testing the<br />

component.<br />

The essence of inspections is that the study of products is carried out under close<br />

management supervision. Thus inspections are overtly a mechanism <strong>for</strong> increased control<br />

over programmers’ work, similar to the way that quality control is carried out on a<br />

factory floor. Some programmers might feel threatened in this situation and become<br />

defensive, perhaps trying to hide their mistakes. Perhaps this makes the discovery of<br />

errors more painful, and programming a less enjoyable activity.<br />

From an organizational point of view, keeping records of faults discovered during<br />

inspections provides in<strong>for</strong>mation to predict the quality of the software being written.<br />

Also, by highlighting common mistakes it can be used to improve programmers selfawareness<br />

and thereby improve their skills.<br />

20.5 ● Pair programming<br />

Here two people sit down together, looking at the same computer screen, and carry out<br />

programming, including writing and applying tests.<br />

The people have different roles. One has the use of the keyboard and mouse. They<br />

are thinking and working on the implementation of the current piece of code (usually<br />

a particular method). They are thinking on a small scale and locally. The other person<br />

does two things:<br />

■ observe, looking <strong>for</strong> errors<br />

■ think more strategically.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!