Use the following to guide your reading from Chapter 1: Introduction to Software Engineering in Software Engineering (Sommerville 2016):

  1. What are the reasons for most software failures and the ways in which they manifest?
  2. How must personal software development change to software engineering when the program will be used by others, developed by teams, and maintained through its lifetime?
  3. Define the essential attributes of acceptability; dependability, security, and safety; efficiency, and maintainability.
  4. How are quality, schedule, and budget balanced by the software engineers?
  5. What varying degrees of software engineering are needed based upon the type of software being developed?
  6. What are the four fundamental activities common to all software development processes?
  7. What is the difference between software engineering and computer science and software engineering and systems engineering?
  8. How do heterogeneity, business and social change, security and trust, and scale affect different types of software?
  9. What are the eight principles of the Software Engineering Code of Ethics and Professional Practice.