Exercise

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.

Answers