Page 42 -
P. 42
Chapter 1 Exercises 25
IEEE Software, March/April 2002. This is a special issue of the magazine devoted to the
development of Web-based software. This area has changed very quickly so some articles are a little
dated but most are still relevant. (IEEE Software, 19 (2), 2002.)
http://www2.computer.org/portal/web/software.
‘A View of 20th and 21st Century Software Engineering’. A backward and forward look at software
engineering from one of the first and most distinguished software engineers. Barry Boehm identifies
timeless software engineering principles but also suggests that some commonly used practices are
obsolete. (B. Boehm, Proc. 28th Software Engineering Conf., Shanghai. 2006.)
http://doi.ieeecomputersociety.org/10.1145/1134285.1134288.
‘Software Engineering Ethics’. Special issue of IEEE Computer, with a number of papers on the topic.
(IEEE Computer, 42 (6), June 2009.)
E XERCISES
1.1. Explain why professional software is not just the programs that are developed for a customer.
1.2. What is the most important difference between generic software product development and
custom software development? What might this mean in practice for users of generic software
products?
1.3. What are the four important attributes that all professional software should have? Suggest
four other attributes that may sometimes be significant.
1.4. Apart from the challenges of heterogeneity, business and social change, and trust and
security, identify other problems and challenges that software engineering is likely to face in
the 21st century (Hint: think about the environment).
1.5. Based on your own knowledge of some of the application types discussed in section 1.1.2,
explain, with examples, why different application types require specialized software
engineering techniques to support their design and development.
1.6. Explain why there are fundamental ideas of software engineering that apply to all types of
software systems.
1.7. Explain how the universal use of the Web has changed software systems.
1.8. Discuss whether professional engineers should be certified in the same way as doctors or
lawyers.
1.9. For each of the clauses in the ACM/IEEE Code of Ethics shown in Figure 1.3, suggest an
appropriate example that illustrates that clause.
1.10. To help counter terrorism, many countries are planning or have developed computer systems
that track large numbers of their citizens and their actions. Clearly this has privacy
implications. Discuss the ethics of working on the development of this type of system.