Topic: experimental results on programming
Topic: information hiding
Topic: abstract data type
Topic: separate a module's interface specification from its implementation
Topic: identifying program modules
Topic: localized understanding
Topic: design for change
Topic: configuration management
Topic: hierarchical structures
Topic: software documentation
Topic: operating system kernel
| |
Reference
Parnas, D.L., Clements, P.C., Weiss, D.M.,
"The modular structure of complex systems",
IEEE Transactions on Software Engineering, SE-11, 3, March 1985, pp. 259-266.
Google
Other Reference
p. 319-336 in Hoffman, D.M., Weiss, D.M. (eds.), Software Fundamentals. Collected Papers of David L. Parnas, Boston: Addison-Wesley, 2001
Notes
Special issue on the 7th Inter Conf on Software Engineering
Quotations
320 ;;Quote: built an exact duplicate of the A-7E flight software; hard real-time program to process and display flight data; tight memory and time constraints
| 321 ;;Quote: information hiding minimizes the cost of software by estimating the likelihood of change; likely changes should be easily made
| 321 ;;Quote: restrict data structures to a module; all other modules must call access programs
| 322 ;;Quote: each module's structure should be simple enough to be understood fully
| 322 ;;Quote: change a module's implementation without knowledge of the implementation of other modules and without affecting the behavior of other modules
| 322 ;;Quote: except for interface changes, allow independent changes to individual modules; mix and match combinations of old and new versions
| 322 ;;Quote: module decomposition produces many small modules; software module guide for completeness, convincing arguments, software maintenance
| 323 ;;Quote: module decomposition into submodules without overlapping or missing responsibilities
| 323 ;;Quote: a software engineer should understand a module's responsibilities without understanding its internal design; should easily identify relevant modules without looking at their components
| 324 ;;Quote: for information hiding, describe module structure by the roles played, the secrets held, or the facilities provided
| 324+;;Quote: a module specification tells you how to use the module and what it must do
| 324 ;;Quote: module guide for the A-7 OFP flight software
| 324+;;Quote: the A-7E flight software consists of a hardware-hiding module (hardware interfaces), a behavior-hiding module, and a software decision module (performance-related decisions)
| 335 ;;Quote: secrets are more important than interfaces or roles; secrets clarify the responsibilities of a module
|
Related Topics
Topic: experimental results on programming (75 items)
Topic: information hiding (50 items)
Topic: abstract data type (64 items)
Topic: separate a module's interface specification from its implementation (86 items)
Topic: identifying program modules (26 items)
Topic: localized understanding (43 items)
Topic: design for change (76 items)
Topic: configuration management (25 items)
Topic: hierarchical structures (46 items)
Topic: software documentation (64 items)
Topic: operating system kernel (67 items)
|