CSC440 Software Engineering
Fall 2018
Assignment #1

Assigned: August 27
Due Date: September 7

Read Chapter 1.
  1. By making reference to the distribution of software costs (section 1.1, figure 1.1 and/or slides), explain why it is appropriate to consider software to be more than the programs that can be executed by end-users of a system.
  2. What are the four important attributes which all software products should have? (See Chapter 1 Figures.) Suggest four other attributes that may sometimes be significant.
  3. What is the difference between a software process model (Section 1.1.6 of 7th or 8th edition, or 2.1 of 9th or 10th edition) and a software process? Suggest two ways in which a software process model might be helpful in identifying possible process improvements.
  4. Software engineering methods became widely used only when Computer-aided software engineering (CASE) software development tools became available to support them. Suggest five types of method support that can be provided by software development tools (ch. 1 of 7th or 8th edition, or ch. 2 p. 37 of 9th edition, or ch. 2 p. 39 of 10th edition).
  5. Apart from the challenges of heterogeneity, rapid delivery and trust, identify other problems and challenges that software engineering is likely to face in the 21st century.
  6. For each of the clauses in the ACM/IEEE Code of Ethics shown in Figure 1.6 of the 7th or 8th edition (or Figure 1.3 of the 9th or 10th edition), suggest an appropriate example that illustrates that clause.
  7. Consider one of the software engineering horror stories (e.g. Therac-25, Ariane 5, ...) and imagine you are a member of the development team. There would probably be many things you would want to change about the project. Specify (at least) one of the things that you would do differently, and relate it to (at least) one of the things that went wrong.


The assignment should be done individually.

[Back to the Assignments Index]