EventMay2005
From Requirements Engineering Specialist Group
Past Event
An Audience with David Parnas
Slides for both tutorial and talk available below.
Date Wednesday 25 May 2005, 10.00 (tutorial) / 15.00 (lecture and questions)
Venue Room 311, Dept. of Computing (Huxley Building), Imperial College London
A chance to hear one of the big names in software engineering.
David Parnas is an early pioneer - icon to many - of software engineering who developed the concept of modular design, the foundation of object-oriented systems today. His double dictum of high cohesion within modules and loose coupling between modules is part of the bedrock on which encapsulation as a design technique is built.
David earned his Ph.D. at Carnegie Mellon University, and worked there as a professor for many years. He also taught at the University of North Carolina, the Technische Hochschule Darmstadt, and the University of Victoria. He then went to McMaster University in Hamilton, Ontario, Canada. He currently works at the University of Limerick in Limerick, Ireland. He also earned a professional engineering license in Canada and was one of the first to apply traditional engineering principles to software design.
Tutorial Abstract
Preparing Requirements Documents using the Four (Five) Variable Model
Unless you have a complete and precise description of a product's requirements, it is very unlikely that those requirements will be satisfied. An incomplete or inconsistent requirements document can actually mislead developers and introduce errors. A collection of statements in English, or some other natural language, cannot be checked for completeness and will not be precise. Even if you translate an informal requirements statement into a mathematical language, and show that the result is complete and unambiguous; the original may still be faulty.
This talk describes a sound procedure for documenting requirements - one that lets you know when your document is complete and consistent. The resulting documents can be reviewed by potential users and specialists and serve as input to tools that generate prototypes and monitors.
Distinguished Speaker Lecture Abstract
Document Driven Disciplined Development of Software
It is no accident that the branches of Engineering are called "disciplines". Every properly educated Engineer has learned that the design of quality products requires discipline and adherence to standard procedures. Engineers understand that they must produce a specified set of documents and perform a variety of analysis whose results must be included in the documents. Engineers who do these things are less likely to produce a defective product. In many jurisdictions, engineers who fail to follow the standard discipline may be considered to have been legally negligent. Software development should not be different but it is.
Document standards can help to support and enforce the appropriate discipline. We describe a set of documents that contain the information required for disciplined development. A developer who completes these documents properly will have performed the analysis necessary to assure that the product will be of high quality. This talk does not describe a "process". Discipline does not require that these documents be completed in any particular order - only that they are all eventually completed properly.