User Tools

Site Tools


start

CSE4312

Fall 2011: CSE4312 – Software Requirements Engineering

← Please read the forum regularly for course updates.

Lecture Times

  • Tuesdays & Thursdays 4pm-5.30pm in CB120

Learning outcome

Students should be able to

  • Discover what problem must be solved and why
  • Elicit Goals and Requirements from Stakeholders (in the Problem Domain)
  • Evaluate/Analyze the elicited data for consistency and correctness
  • 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 UML models and mathematically specified models for validating requirements (especially for safety/mission-critical software).

A work-intensive project will allow students to apply their knowledge to a non-trivial example.

In addition

  • you will be a temporal logic model checker using the for doing mathematical requirements analysis and verification (either PAT2. See Chapter 17 in the suggested text.
  • 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

List of books on reserve at Steacie

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 available in Steacie 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 from Amazon. (Reviews of books on requirements engineering). Some material we will cover:

  • 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.
start.txt · Last modified: 2011/12/07 17:44 by jonathan