Establishing firm and precise requirements is an essential component of successful software de- velopment. This course covers a range of methods from the hard semi-formal approaches to softer methods, and some innovative techniques. Practical guidance is also includedAims:At the end of the course the student will have a breadth of knowledge about the range of require- ments methods, tools, and techniques. They will gain an appreciation of at least two methods, and obtain practical guidance on elicitation techniques.