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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Preface<br />

What is software engineering?<br />

<strong>Software</strong> engineering is about the creation of large pieces of software that consist of<br />

thousands of lines of code and involve many person months of human ef<strong>for</strong>t.<br />

One of the attractions of software engineering is that there is no one single best<br />

method <strong>for</strong> doing it, but instead a whole variety of different approaches. Consequently<br />

the software engineer needs a knowledge of many different techniques and tools. This<br />

diversity is one of the delights of software engineering, and this book celebrates this by<br />

presenting the range of current techniques and tools.<br />

We shall see that some software engineering methods are well-defined while others<br />

are ill-defined. And the processes of software development are always under debate.<br />

Challenge and creativity<br />

<strong>Software</strong> engineering is about imagination and creativity – the process of creating something<br />

apparently tangible from nothing. <strong>Software</strong> engineering methods have not yet<br />

been completely analyzed and systematized. Thus there is still great scope <strong>for</strong> using<br />

imagination and creativity. The exercise of skill and flair is one of the joys of software<br />

engineering.<br />

Who is this book <strong>for</strong>?<br />

Ideally you, the reader, will have savored the joy of devising an elegant solution to a programming<br />

problem. You will also have experienced the intense frustration of trying to find<br />

an elusive bug – and the satisfaction of subsequently tracking it down and eliminating it.<br />

This book is <strong>for</strong> people who have experienced the pleasures of writing programs and<br />

who want to see how things change in the scale up to large programs and software systems.<br />

This book provides an introduction to software engineering <strong>for</strong> students in undergraduate<br />

programs in Computer Science, Computer Studies, In<strong>for</strong>mation Technology,<br />

xix

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

Saved successfully!

Ooh no, something went wrong!