Assignment 1

Handouts from the lecture can be found here.

Software Engineering Spring 2009

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.

The following information in the input document must not be included in the requirements specification.
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 3. All functionality must be tested in assignment 4.

Organisation, following Sommerville Figure 6.17

  1. Preface (formalities: what is this document?)
  2. Introduction (what is a ray-tracer and why would you want one, other than to pass 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. In real life, the chapters in the input document that outline the mathematics of ray-tracing and the PPM and XML formats would go here.
  10. Index.

Issues

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.

Administrative