| |
|
| |
2003 Prof. David L. Parnas Lecture Series
| Title |
SQRL Additional Information |
| Author | Prof. David Lorge Parnas | | Description |
This paper provides an introduction to the Software Quality Research Laboratory at the University of Limerick. |
| View this paper |
| Title |
Software Quality Research: Why,
What and How |
| Author | Prof. David Lorge Parnas | | Description |
The Professor David Lorge Parnas
Inaugural Lecture, discussing why software quality research
is important, what topics he will be studying and how
research at the Software Quality Research Laboratory
(SQRL) will be conducted. |
| View this paper |
| Title |
Requirements Documentation: A
Systematic Approach |
| Author |
Prof. David Lorge Parnas |
| Description |
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 mislead developers. 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. Documents produced by following this
procedure can be reviewed by potential users and specialists
and can serve as the input to tools that generate prototypes
and monitors. |
| View this paper |
| Title |
Decomposition of Software Into
Components |
| Author |
Prof. David Lorge Parnas |
| Description |
Most software products are too large to be completed by a single person in a short period.
To make the development manageable, the software must be divided into components
that can be developed (and later maintained) separately. Each component will be a work
assignment for a team or individual.
It is often thought that this decomposition is a management decision, determined
primarily by the talent available. This lecture explains that the decomposition is a
critical design decision to be made on the basis of simple technical criteria, which will
be stated and illustrated. The result is a very unconventional, but easily maintained,
design.
|
| View this paper |
| Title |
A Procedure for Interface Design |
| Author |
Prof. David Lorge Parnas |
| Description | Improperly designed interfaces can make modular programs almost indistinguishable
from monoliths. An interface encapsulates design decisions only if it need not be
changed when those design decisions are changed. This talk presents a principle for
interface design and a procedure for applying that principle. The principle and procedure
are illustrated with a variety of examples.
| | View this paper |
| Title |
Design Through Documentation:
The Path to Software Quality |
| Author |
Prof. David Lorge Parnas |
| Description |
In traditional engineering design,
preparation of a sequence of documents precedes the
actual construction. Each document is used for review
and analysis and, after revision, serves as input to
the next phase in the development. When errors are discovered
or changes are required, the design documents previously
approved are updated and reviewed again. Each new document
is reviewed against the previous documents. Whenever
a document is revised, those based on it are reviewed
and revised if necessary. In software design this approach
is rarely properly applied. Practitioners seem unable
or willing to write the precise documents that would
be required. Instead, they write vague statements that
cannot be subject to rigorous analysis and are of little
value to those making the next decisions. We will provide
precise definitions of a set of software documents and
how these documents can be produced as part of an improved
software development process. |
| View this paper |
| Title |
Software Inspections We Can Trust |
| Author |
Prof. David Lorge Parnas |
| Description | Software is devilishly hard to inspect. Serious errors can escape attention for years. Consequently,
many are hesitant to employ software in safety-critical applications and developers and users are finding
the correction of software errors to be an increasingly burdensome cost.
This talk describes a procedure for inspecting software that consistently finds subtle errors in software
that is believed to be correct. The procedure is based on four key principles:
* All reviewers actively use the code.
* Reviewers exploit the hierarchical structure of the code rather than proceeding sequentially through
the code.
* Reviewers focus on small sections of code, producing precise summaries that are used when
inspecting other sections. The summaries provide the links between the sections.
* Reviewers proceed systematically so that no case, and no section of the program, gets overlooked.
The inspectors produce and review mathematical documents. The mathematics allows them to check for
complete coverage; tabular notation allows the work to proceed systematically in small steps.
| | View this paper |
| Title |
Documentation Based Software Testing |
| Author |
Prof. David Lorge Parnas |
| Description |
Testing is sometimes viewed as
an add on step in software development - something you
do to demonstrate that the product is ready for use.
Test planning is often postponed until the development
is near its end. This results in incomplete testing,
ambiguous test results, and the release of products
of doubtful quality. After reviewing fundamental software
testing issues, we describe a document-driven testing
approach in which test plans and test result evaluation
are done with the aid of documentation prepared throughout
the design process. The policies about testing, and
response to test results are determined in advance and
high quality standards can be enforced on a project.
|
| View this paper |
|
|
| |
|
|