Formal requirements engineering: learning from the students
- Resource Type
- Conference
- Authors
- Gibson, J.P.
- Source
- Proceedings 2000 Australian Software Engineering Conference Software engineering Software Engineering Conference, 2000. Proceedings. 2000 Australian. :171-180 2000
- Subject
- Computing and Processing
Education
Software engineering
Programming
Mathematics
Computer science
Specification languages
Context modeling
Erbium
Unified modeling language
- Language
Formal methods are becoming increasingly important in many areas of software development and should be incorporated in the teaching of software engineering. Requirements capture is, in our opinion, the hardest stage of development for students to learn and for lecturers to teach. The paper reports on our experience in teaching requirements engineering using formal methods, where we advocate a multiple methods approach in which students get to evaluate a large range of specification languages: students are more likely to learn the principles of good requirements engineering rather than become experts in one particular (formal) method. The need for formality is introduced step-by-step, where new concepts are identified by the students through the use of case studies. These concepts are then formalised in the most appropriate language or notation. Students are encouraged to question the need for formality-each requirements engineering method is a compromise and the use of formal models needs to be placed within the context of the choices that a requirements engineer has to make.