Guide to topics discussed in class:
ReqIntro-Alexander.pdf
(in SVN, and text on reserve in Steacie). These slides will introduce you to “soft” topics in RE.MSR uses a combination of ideas from Z, B, Event-B and Parnas function tables for the mathematical specification of systems. The suggested text uses Z for part of the course.
We discuss the paper by Baber, Parnas and Vilkomer (it is in Slides/SVN).
Abstract: We describe our experience applying tabular mathematical approaches to software specifications. Our purpose is to show alternative approaches to writing tabular specifications and to help practitioners who want to apply such methods by allowing them to pick the best one for their problem. The object for the case study is software used by Dell Products for testing the functionality of the keyboards on notebook computers. Starting from informal documents, we developed a variety of tabular representations of finite state machine specifications and tabular trace specifications. We found that the discipline required by these methods raised issues that had never been considered and resulted in documents that were both more complete and much clearer. The various tabular representations are compared from a user’s point of view, i.e., clarity, consistency, unambiguity, completeness, suitability, etc Keywords: software, tabular specifications, finite state machine, traces, trace specifications.
Required: Watch a video recording of Precise Documentation: The Key to Better Software, David Lorge Parnas. The slides from this talk are on the SVN.
The suggested text discusses how UML models are used in requirements engineering. We discuss use cases/diagrams, class diagrams, statecharts (XOR and parallel composition) and sequence charts. UML does not have the formality of MSR; we discuss the pros and cons. We also distinguish between the use of UML in design as opposed to requirements. See slides and UML resources on this website. See the fully worked out requirements example involving the train transportation system on the SVN.
This is covered in the slides in the SVN: Readings/ReqIntro-Alexander.pdf (based on the text in Steacie: Discovering Requirements (Alexander et.al). Stakeholders. Goals vs. Requirements. Context, interaction and scope. Scenarios. Priorities. Hazard/risk analysis. In Scenarios we reviewed how to use Use Cases and the include and extend relations.