The mythical man-month (anniversary ed.)
The mythical man-month (anniversary ed.)
On the criteria to be used in decomposing systems into modules
Communications of the ACM
A procedure for designing abstract interfaces for device interface modules
ICSE '81 Proceedings of the 5th international conference on Software engineering
Designing software for ease of extension and contraction
ICSE '78 Proceedings of the 3rd international conference on Software engineering
Computer system reliability and nuclear war
Communications of the ACM
ICSE '87 Proceedings of the 9th international conference on Software Engineering
Validating the ADARTS software design method for real-time systems
TRI-Ada '91 Proceedings of the conference on TRI-Ada '91: today's accomplishments; tomorrow's expectations
Computer
ICSE '94 Proceedings of the 16th international conference on Software engineering
A software design method for Ada based real time systems
WADAS '89 Proceedings of the sixth Washington Ada symposium on Ada
Coping with Crosscutting Software Changes Using Information Transparency
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Use cases for distributed real-time software architectures
Engineering of distributed control systems
The secret history of information hiding
Software pioneers
Structured programming: a minor part of software engineering
Information Processing Letters - Special issue: Contribution to computing science
An overview of the PAISLey project-1984
ACM SIGSOFT Software Engineering Notes
Design snippets: partial design representations extracted from source code
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Semi-formal design of reliable mesh generation systems
Advances in Engineering Software
Re-engineering Xen internals for higher-assurance security
Information Security Tech. Report
Reusability of FEA software: A program family approach
SECSE '09 Proceedings of the 2009 ICSE Workshop on Software Engineering for Computational Science and Engineering
Internationalization of computer science education
Proceedings of the 41st ACM technical symposium on Computer science education
A component-based approach to verification and validation of formal software models
Architecting dependable systems IV
The graduate course advisor: a multi-phase rule-based expert system
PKWBS-W'84 Proceedings of the 1984 IEEE conference on Principles of knowledge-based systems
WSEAS Transactions on Computers
Revisiting information hiding: reflections on classical and nonclassical modularity
Proceedings of the 25th European conference on Object-oriented programming
Modularity analysis of use case implementations
Journal of Systems and Software
Software engineering: multi-person development of multi-version programs
Dependable and Historic Computing
Hi-index | 0.02 |
This paper discusses the organization of software that is inherently complex because there are very many arbitrary details that must be precisely right for the software to be correct. We show how the software design technique known as information hiding or abstraction can be supplemented by a hierarchically-structured document, which we call a module guide. The guide is intended to allow both designers and maintainers to identify easily the parts of the software that they must understand without reading irrelevant details about other parts of the software. The paper includes an extract from a software module guide to illustrate our proposals.