Assignment 1

Handouts from the lecture can be found here.

Software Engineering Spring 2006

Requirements Engineering

Normally, requirements engineering begins with a feasibility study or market analysis, and interviewing (potential) users about their needs. We do not have time to start from scratch. Therefore you get an input document, which is the assignment to the Methods of Programming course. Your task is to reshape part of this document into a well-organized requirements specification.

Leave out:
So the requirements should cover the functionality of part 2 and part 3 in one document. You should be able to identify which functionality is required in part 2, in order to decide if you must test the functionality in assignment 2. All functionality must be tested in assignment 3.

Organisation, following Sommerville Figure 5.17(6th ed.) / 6.17 (7th ed.)

  1. Preface
  2. Introduction (the "strategic objective" of the system is to satisfy the teacher of Methods of Programming)
  3. Glossary
  4. User Requirements definition - Omitted. This doucment would normally be produced before your input document.
  5. System architecture - Omitted. The architecture is small, and use of libraries is left to MP.
  6. System Requirements Specification. This is the core of your work.
  7. System models. Draw a small data-flow model.
  8. System evolution. Here you are allowed to speculate about possible extensions. Don't make too much of this.
  9. Appendices. Probably not needed. The overview of the mathematics of ray-tracing and perhaps the PPM and XML formats would otherwise go here.
  10. Index.


Since this is a rather small system, learning to use a specialized CASE tool does not pay off. You are free to use the tools you want.