A rational design process: How and why to fake it

@article{Parnas1986ARD,
  title={A rational design process: How and why to fake it},
  author={D. Parnas and P. Clements},
  journal={IEEE Transactions on Software Engineering},
  year={1986},
  volume={SE-12},
  pages={251-257}
}
Many have sought a software design process that allows a program to be derived systematically from a precise statement of requirements. It is proposed that, although designing a real product in that way will not be successful, it is possible to produce documentation that makes it appear that the software was designed by such a process. The ideal process and the documentation that it requires are described. The authors explain why one should attempt to design according to the ideal process and… Expand
A software design framework or how to support real designers
TLDR
An integrated set of representation forms is proposed that can be used with an opportunistic design strategy and realisation of this set of notations through the experimental GOOSE system is described. Expand
The Two Paradigms of Software Design
TLDR
An Alternative Design Paradigm is synthesized, which views software development as an amethodical, improvisational, emotional process of simultaneously framing the problem and building artifacts to address it. Expand
Document based rational software development
  • D. Parnas
  • Computer Science
  • Knowl. Based Syst.
  • 2009
TLDR
A set of documents that can serve as a ''knowledge base'' for more rational software development, each of these documents can be viewed as a place where the decisions made in one phase of a software development can be recorded for those who work in the next phase. Expand
‘Design models’ from software design methods
TLDR
The use of what is termed the D-matrix as a means of describing ‘software design models’ is introduced, and the forms of the models that are developed by following the procedures of a number of well-established software design methods are explored. Expand
A survey of architecture design rationale
TLDR
It is found that practitioners recognize the importance of documenting design rationale and frequently use them to reason about their design choices, however, they have indicated barriers to the use and documentation of design rationale. Expand
A Survey of the Use and Documentation of Architecture Design Rationale
TLDR
It is concluded that much research is needed to develop methodology and tool support for design rationale capture and usage and that practitioners recognize the importance of documenting design rationale and frequently use them to reason about their design choices. Expand
REQUIREMENTS ENGINEERING FOR WEB-BASED INFORMATION SYSTEMS DEVELOPMENT: AN EMPIRICAL STUDY
No system is perfect in so far as requirements are always the subject of ongoing negotiation, and there will generally be a subset of the requirements that get pushed aside. This is especially trueExpand
Enhancing the usability of usability design tools: The case of information requirements specification
TLDR
The development of a tool for information requirements specification (IRS), designed to support the application of a particular IRS methodology, the Sub-Goal Template scheme, and the use of a notation embodied within that methodology are reported. Expand
The Paradox of "Structured" Methods for Software Requirements Management: A Case Study of an e-Government Development Project
This chapter outlines the alternative perspectives of “rationalism” and “improvisation” within information systems development and describes the major shortcomings of each. It then discusses howExpand
Sustainable software design
TLDR
The concept of sustainability for software design is introduced, and its integration into the existing catalog of design quality attributes is called for. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 22 REFERENCES
Designing Software for Ease of Extension and Contraction
  • D. Parnas
  • Computer Science
  • IEEE Transactions on Software Engineering
  • 1979
TLDR
It is shown that the identification of minimal subsets and minimal extensions can lead to software that can be tailored to the needs of a broad variety of users. Expand
The Modular Structure of Complex Systems
TLDR
This paper shows how the software design technique known as information hiding, or abstraction, can be supplemented by a hierarchically structured document, which it is called a module guide, intended to allow both designers and maintainers to identify easily the parts of the software that they must understand, without reading irrelevant details. Expand
Active design reviews: principles and practices
TLDR
An improved technique for reviewing designs is described, based on the following ideas, drawn from the application of active design reviews to the Naval Research Laboratory's Software Cost Reduction Project. Expand
Specifying Software Requirements for Complex Systems: New Techniques and Their Application
TLDR
The purpose of the paper is to introduce the A-7 document as a model of a disciplined approach to requirements specification and the document is available to anyone who wishes to see a fully worked-out example of the approach. Expand
An Experiment in Software Engineering: The Architecture Research Facility as a Case Study
TLDR
The Architecture Research Facility was developed utilizing several software engineering techniques in order to discover their usefulness in actual software system developments, and many of these techniques' strengths and weaknesses are highlighted. Expand
A Standard Organization for Specifying Abstract Interfaces.
Abstract : NRL's Software Cost Reduction project is demonstrating the feasibility of applying advanced software engineering techniques to complex real time systems to simplify maintenance. ToExpand
A-7E Software Module Guide.
TLDR
The basic organization of NRL's version of the A-7E onboard flight software is described, a structure in which modules have been designed in accordance with the Information Hiding Principle. Expand
A procedure for designing abstract interfaces for device interface modules
TLDR
A design approach based on the abstract interface principle is discussed, solutions to interesting problems encountered in the A-7 re-design are presented and a fully worked out example of the design approach is provided. Expand
Interface Specifications for the SCR (A-7E) Extended Computer Module.
TLDR
The Extended Computer is part of NRL's Software Cost Reduction (SCR) project, to demonstrate the feasibility of applying advanced software engineering techniques to complex real-time systems in order to simplify maintenance. Expand
On the Design and Development of Program Families
  • D. Parnas
  • Computer Science
  • IEEE Transactions on Software Engineering
  • 1976
TLDR
A conventional approach called "sequential development" is compared to "stepwise refinement" and "specification of information hiding modules" and it is demonstrated that the two methods are based on the same concepts but bring complementary advantages. Expand
...
1
2
3
...