Requirement engineering and modelling
Requirements engineering is currently identified as one of the weak points of the software development lifecycle. Many space project reviews identify weakness in the software requirements in the early development. This leads to an incomplete development, followed by difficulties in system integration and costly software reengineering.
The importance of having consolidated software requirements at avionics level [Requirement Baseline] makes desirable the use of modellisation techniques that help the specifiers to achieve complete and consistent requirements. At software level [Technical Specification], the modellisation assists with the verification of the requirements and, more and more, with the code design and generation.
The modellisation covers:
Another aspect of requirements engineering is the traceability and versioning of the requirements. This activity is not specific to requirements. It is offered by many commercial tools such as DOORS or IRQA. It is also implemented in the DOBERTSEE software engineering environment.
The main objective of the "Dependant On-Board Embedded Real-Time Software Engineering Environment [DOBERTSEE]/Low-Cost On-Board Software Development Toolkit project has been to produce an affordable, integrated Software Engineering Environment (SEE) that is fully compliant with ECSS-E40 standard process model for developing Dependable On-Board Real Time software (DOBERT). The DOBERTSEE process model is document centric. Each document is expressed in CASEML, an XML-based description language.
The SEE has been a valuable experiment intended to deliver a light layer of software engineering ‘glue’ using affordable technologies, while in the same time easing the integration of existing CASE tools. It has been based on CASEML and RCl/Tk.
Natural Language Analysis
Software engineering history shows a continuous trend to formalise as early as possible in the life cycle. After assembler, high level languages, design methods, modelling methods and formal methods, the next step to formalise is the natural language.
LEXIOR (LEXical analysis for Improvement of Requirements) include a database of best practice rules for writing requirements specifications, as well as a lexical analysis and parsing engine for pre-processing , content verification and interactive writing and editing according to a set of predefined best practices.
In the future, the progress in natural language science, in particular in the semantic web, will allow the definition of ontologies for software requirements, which is basically a structured organisation of the knowledge related to the particular domain subject to software requirements.
Last update: 20 March 2007