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.

26 Chapter 2 ■ The tasks of software development<br />

detailed design, the code, annotation within the code (termed comments), test schedules,<br />

test results and the project plan.<br />

The documentation is typically large and costly (in people’s time) to produce. Also,<br />

because it is additional to the product itself, there is a tendency to ignore it or skimp<br />

on it.<br />

Project management<br />

Someone needs to create and maintain plans, resolve problems, allocate work to people<br />

and check that it has been completed.<br />

Database design<br />

Many systems use a database to store in<strong>for</strong>mation. Designing the database is a whole<br />

subject in its own right and is not normally considered to be part of software engineering.<br />

Consequently, we don’t tackle this topic within this book.<br />

SELF-TEST QUESTION<br />

2.1 Which stages of software development, if any, can be omitted if the<br />

required software is only a small program?<br />

We will see that, in dividing the work into a series of distinct activities, it may<br />

appear that the work is carried out strictly in sequence. However, it is usual, particularly<br />

on large projects, <strong>for</strong> many activities to take place in parallel. In particular, this<br />

happens once the large-scale (or architectural) design is complete. It is at this stage<br />

that the major software components have been identified. Work on developing the<br />

components can now proceed in parallel, often undertaken by different individuals.<br />

2.3 ● Process models<br />

We have seen (Chapter 1) that software systems are often large and complex. There is<br />

a clear need to be organized when embarking on a development. What do you need<br />

when you set about a software project? You need:<br />

■ a set of methods and tools<br />

■ an overall plan or strategy.<br />

The plan of action is known as a process model. It is a plan of what steps are going to<br />

be taken as the development proceeds. This term is derived as follows: a process is a step<br />

or a series of steps; a process model is a model in the sense that it is a representation of

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

Saved successfully!

Ooh no, something went wrong!