A rational design process: How and why to fake it
@article{Parnas1986ARD, title={A rational design process: How and why to fake it}, author={David Lorge Parnas and Paul C. 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…
83 Citations
A software design framework or how to support real designers
- Computer ScienceSoftw. Eng. J.
- 1995
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.
The Two Paradigms of Software Design
- Computer ScienceArXiv
- 2013
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.
A Survey of the Use and Documentation of Architecture Design Rationale
- Art5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05)
- 2005
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.
REQUIREMENTS ENGINEERING FOR WEB-BASED INFORMATION SYSTEMS DEVELOPMENT: AN EMPIRICAL STUDY
- Business
- 2018
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 true…
Enhancing the usability of usability design tools: The case of information requirements specification
- Computer ScienceINTERACT
- 1997
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.
The Paradox of "Structured" Methods for Software Requirements Management: A Case Study of an e-Government Development Project
- EconomicsISD
- 2009
This chapter outlines the alternative perspectives of “rationalism” and “improvisation” within information systems development and describes the major shortcomings of each. It then discusses how…
Sustainable software design
- Computer ScienceSIGSOFT FSE
- 2016
The concept of sustainability for software design is introduced, and its integration into the existing catalog of design quality attributes is called for.
References
SHOWING 1-10 OF 22 REFERENCES
Designing Software for Ease of Extension and Contraction
- Computer ScienceIEEE Transactions on Software Engineering
- 1979
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.
The Modular Structure of Complex Systems
- Computer ScienceIEEE Transactions on Software Engineering
- 1985
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.
Specifying Software Requirements for Complex Systems: New Techniques and Their Application
- Computer ScienceIEEE Transactions on Software Engineering
- 1980
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.
An Experiment in Software Engineering: The Architecture Research Facility as a Case Study
- Computer ScienceICSE
- 1979
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.
A Standard Organization for Specifying Abstract Interfaces.
- Computer Science, Engineering
- 1984
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. To…
A-7E Software Module Guide.
- Computer Science
- 1981
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.
A procedure for designing abstract interfaces for device interface modules
- Computer ScienceICSE '81
- 1981
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.
Interface Specifications for the SCR (A-7E) Extended Computer Module.
- Computer Science
- 1983
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.
On the Design and Development of Program Families
- Computer ScienceIEEE Transactions on Software Engineering
- 1976
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.