A rational design process: How and why to fake it
IEEE Transactions on Software Engineering
Functional documents for computer systems
Science of Computer Programming
A technique for software module specification with examples
Communications of the ACM
On the criteria to be used in decomposing systems into modules
Communications of the ACM
The structure of the “THE”-multiprogramming system
Communications of the ACM
Software fundamentals: collected papers by David L. Parnas
Software fundamentals: collected papers by David L. Parnas
A Discipline of Programming
A Reference Model for Requirements and Specifications
IEEE Software
A procedure for designing abstract interfaces for device interface modules
ICSE '81 Proceedings of the 5th international conference on Software engineering
Response to undesired events in software systems
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Disciplined Methods of Software Specification: A Case Study
ITCC '05 Proceedings of the International Conference on Information Technology: Coding and Computing (ITCC'05) - Volume II - Volume 02
Specification of Software Component Requirements Using the Trace Function Method
ICSEA '06 Proceedings of the International Conference on Software Engineering Advances
Specifying Software Requirements for Complex Systems: New Techniques and Their Application
IEEE Transactions on Software Engineering
Designing Software for Ease of Extension and Contraction
IEEE Transactions on Software Engineering
The Modular Structure of Complex Systems
IEEE Transactions on Software Engineering
Defining the meaning of tabular mathematical expressions
Science of Computer Programming
The use of mathematics in software quality assurance
Frontiers of Computer Science in China
Software engineering: multi-person development of multi-version programs
Dependable and Historic Computing
Hi-index | 0.00 |
This paper discusses the importance of requirements documents and the reasons that the requirements documentation methods commonly applied in industrial software development are inadequate. The use of functional methods and tabular expressions for producing precise requirements documentation is explained and illustrated. This includes: • An explanation of the two-variable model, common in mechanical and electrical engineering showing how it can be used to documenting computer system requirements. • An explanation of the reason that the two variables method, though theoretically useful for software systems, is not practical for them. • A description of a four-variable model that is practical for software requirements documentation. • A way of structuring the requirements document to make the requirements easier to specify and review. • A discussion of the concept of mode and an explanation of how modes and mode classes can be used in requirements documentation. Finally we explain how a well-structured requirements document can be used to organize the software so that it will be easy to maintain and there will be clear traceability between code and requirements.