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.

Exercises 19<br />

•<br />

Exercises<br />

These exercises ask you to carry out an analysis and come to some conclusion about a situation.<br />

Often there is no unique “right answer”. Sometimes you will have to make reasonable<br />

assumptions or conjectures. The aim of the exercises is to clarify your understanding of the<br />

goals of software engineering and some of the problems that lie in the path of achieving<br />

these goals.<br />

1.1 Write down a list of all of the different items of software that you know about, then<br />

categorize them within types.<br />

1.2 What are your own personal goals when you develop a piece of software? Why? Do<br />

you need to re-examine these?<br />

1.3 Is software expensive? What criteria did you use in arriving at your conclusion?<br />

1.4 Is programming/software development easy? Justify your answer.<br />

1.5 The evidence suggests that there are enormous differences between programmers in<br />

terms of productivity. Why do you think this is? Does it matter that there are differences?<br />

1.6 For each of the applications described in Appendix A assess the importance of the<br />

various goals identified in this chapter. For each application, rank the goals in order.<br />

1.7 What would you expect the relative costs of hardware and software development to<br />

be in each of the cases above?<br />

1.8 How do you personally feel about software maintenance? Would you enjoy doing it?<br />

1.9 Think of an example of a program in which the aims of minimizing run time and memory<br />

occupancy are mutually contradictory. Think of an example where these two are<br />

in harmony.<br />

1.10 Analyze the conflicts and consistencies between the various goals of software<br />

engineering.<br />

1.11 In addition to the goals described in this chapter, are there any other goals that software<br />

engineering should strive <strong>for</strong>? What about making sure that it is fun to do it? What<br />

about exercising creativity and individuality?

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

Saved successfully!

Ooh no, something went wrong!