This is an old revision of the document!
CSE4312
Fall 2009: CSE4312 – Software Requirements Engineering ← Please read the forum regularly for course updates.
Lecture Times
- Tuesdays & Thursdays 4pm-5.30pm in CC 208, Calumet College
Learning outcome
Students should be able to
- Elicit Goals and Requirements from Stakeholders (in the Problem Domain)
- Develop/Write a precise, structured, consistent User Requirements Document
- Develop/Write a System Specification Document (in the Solution Domain)
- Formulate Acceptance Tests and Traceability matrices for showing that the implemented software product satisfies the User Requirements Document
- Models: use some modelling methods and tools for requirements analysis including Goal models, UML models and mathematically specified models for validating requirements (especially for safety/mission-critical software).
A work-intensive project (divided into 3 phases) will allow students to apply their knowledge to a non-trivial example.
In addition
- you will be using the Spin model checker for doing mathematical requirements analysis and verification.
- You will also need to know some of the UML diagrams (you may want to read UML distilled : a brief guide to the standard object, Martin Fowler, available from Steacie).
Suggested texts
Attendance at all lectures is obligatory as that is where the main material needed will be covered. If you Login at (see bottom of this page), you can access additional information such as notes and slides (on the SVN). There is no required textbook.
A suggested text is: Requirements Engineering: from system goals to UML models to software specifications, Axel van Lamsweerde Wiley, 2009 ISBN 0470012706 (paper, 682 pages). You may purchase this book through the York University Bookstore or from Amazon. (Reviews of books on requirements engineering). Highlights from the text (we will cover some, but not all of this, in class) include:
- A comprehensive introduction to the fundamentals of requirements engineering, including techniques for: requirements elicitation and reuse, risk analysis, conflict management, and requirements prioritization; requirements specification, inspection, validation, and verification; traceability management and change control.
- An in–depth treatment of system modelling for requirements engineering, including constructive techniques for modeling system goals, conceptual objects, responsibilities among system agents, operations, scenarios and intended behaviors, and countermeasures to anticipated hazards and threats.
- A variety of techniques for model–based evaluation of alternative options, model refinement checking, model animation, property verification, inductive model synthesis, and analysis of conflicts, hazards, and security threats.
- Use of standard UML notations wherever applicable. Most techniques are based on a solid formal framework, kept hidden throughout the major part of the book for wider accessibility.
- Numerous examples from running case studies in a variety of domains, including security– and safety–critical ones. Rich set of problems and exercises at the end of each chapter together with bibliographical notes for further study.