This article describes a software design method based on the principles of separation of concerns and information hiding. The principle of separation of concerns is used to structure the design documentation, and information hiding is used to guide the internal design of the software. Separation of concerns requires that design information be divided into clearly distinct and relatively independent documents. The design documents are the main products of the initial design phase, and are carefully structured to (i) expose open issues, (ii) express design decisions, and (iii) ensure that information is recorded in a way that allows it to be readily retrieved later. Information hiding is used to design software that is easy to change. We have applied many elements of the design method to the development of the No. 2 Service Evaluation System (SES), a multiprocessor data acquisition and transaction system. Our experiences in applying the design method are described, and some examples are included.
[1]
David Lorge Parnas,et al.
A procedure for designing abstract interfaces for device interface modules
,
1981,
ICSE '81.
[2]
David Lorge Parnas,et al.
Review of David L. Parnas' "Designing Software for Ease of Extension and Contraction"
,
2004
.
[3]
Kathryn L. Heninger.
Specifying Software Requirements for Complex Systems: New Techniques and Their Application
,
2001,
IEEE Transactions on Software Engineering.
[4]
Bill Curtis,et al.
The effects of symbology and spatial arrangement on the comprehension of software specifications
,
1981,
ICSE '81.
[5]
David Lorge Parnas,et al.
On the Design and Development of Program Families
,
2001,
IEEE Transactions on Software Engineering.
[6]
D. L. Parnas,et al.
On the criteria to be used in decomposing systems into modules
,
1972,
Software Pioneers.