Skip to Main content Skip to Navigation
Theses

Seamless Object-Oriented Requirements

Alexandr Naumchev 1
1 IRIT-SM@RT - Smart Modeling for softw@re Research and Technology
IRIT - Institut de recherche en informatique de Toulouse
Abstract : The constantly changing customers' and users' needs require fast response from software teams. This creates strong demand for seamlessness of the software processes. Continuous integration, delivery and deployment, also known as DevOps, made a huge progress in making software processes responsive to change. This progress had little effect on software requirements, however. Specifying requirements still relies on the natural language, which has an enormous expressive power, but inhibits requirements' traceability, verifiability, reusability and understandability. Promoting the problematic qualities without inhibiting the expressiveness too much introduces a challenge. Bertrand Meyer, in his multirequirements method, accepts the challenge and proposes to express individual requirements on three layers: declarative subset of an object-oriented programming language, natural language and a graphical notation. This approach has motivated and inspired the work on the present thesis. While multirequirements focus on traceability and understandability, the Seamless Object-Oriented Requirements approach presented in the dissertation takes care of verifiability, reusability and understandability. The dissertation explores the Martin Glinz' hypothesis that software requirements should be objects to support seamlessness. The exploration confirms the hypothesis and results in a collection of tool-supported methods for specifying, validating, verifying and reusing object-oriented requirements. The most significant reusable technical contribution of the dissertation is a ready-to-use Eiffel library of template classes that capture recurring software requirement patterns. Concrete seamless object-oriented requirements inherit from these templates and become clients of the specified software. Object-oriented software construction becomes the method for requirements specification, validation and reuse; Design by Contract becomes the method for verifying correctness of implementations against the requirements. The dissertation reflects on several experiments and shows that the new approach promotes requirements' verifiability, reusability and understandability while keeping expressiveness at an acceptable level. The experiments rely on several examples, some of which are used as benchmarks in the requirements literature. Each experiment illustrates a problem through an example, proposes a general solution, and shows how the solution fixes the problem. While the experimentation relies on Eiffel and its advanced tool support, such as automated proving and testing, each idea underpinning the approach scales conceptually to any statically typed object-oriented programming language with genericity and elementary support for contracts.
Document type :
Theses
Complete list of metadatas

Cited literature [119 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-02872242
Contributor : Abes Star :  Contact
Submitted on : Wednesday, June 17, 2020 - 4:41:27 PM
Last modification on : Thursday, June 18, 2020 - 3:37:13 AM

File

2019TOU30132B.pdf
Version validated by the jury (STAR)

Identifiers

  • HAL Id : tel-02872242, version 1

Citation

Alexandr Naumchev. Seamless Object-Oriented Requirements. Software Engineering [cs.SE]. Université Paul Sabatier - Toulouse III, 2019. English. ⟨NNT : 2019TOU30132⟩. ⟨tel-02872242⟩

Share

Metrics

Record views

69

Files downloads

69