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.
   37   38   39   40   41   42   43   44   45   46   47