Object-Oriented Approach for Requirements Specification
Abstract
Although the software engineering community knows well the deficiencies of natural language documentation, it remains the predominant way of software requirements specification. The desired properties of software requirements that are hard to be reached with natural language specifications are unambiguity and traceability. This issue has been solved through several approaches, yet still most software projects rely on natural language requirements. This research aims at capitalizing on recent developments of programming language-based approaches to requirements with the purpose of devising a unified approach enriched with tools and methodology. This approach is based on the object-oriented technology as follows: the development process is seamless from the requirements specification to implementation and verification. An object-oriented language, Eiffel, is used as a requirements notation. It provides means of system modeling without using specific notation, which often becomes a barrier in formal methods adoption. The specification, design, implementation and tests are developed incrementally using the mechanisms of inheritance and refinement and relying on the notion of contracts.
Origin : Files produced by the author(s)