Computer Science and Information Systems 2013 Volume 10, Issue 4, Pages: 1499-1524
https://doi.org/10.2298/CSIS121210062N
Full text ( 986 KB)
Cited by
Requirements-level language and tools for capturing software system essence
Nowakowski Wiktor (Warsaw University of Technology, Warsaw, Poland)
Śmiałek Michał (Warsaw University of Technology, Warsaw, Poland)
Ambroziewicz Albert (Infovide-Matrix S.A., Warsaw, Poland)
Straszak Tomasz (Warsaw University of Technology, Warsaw, Poland)
Creation of an unambiguous requirements specification with precise domain
vocabulary is crucial for capturing the essence of any software system,
either when developing a new system or when recovering knowledge from a
legacy one. Software specifications usually maintain noun notions and include
them in central vocabularies. Verb or adjective phrases are easily forgotten
and their definitions buried inside imprecise paragraphs of text. This paper
proposes a model-based language for comprehensive treatment of domain
knowledge, expressed through constrained natural language phrases that are
grouped by nouns and include verbs, adjectives and prepositions. In this
language, vocabularies can be formulated to describe behavioural
characteristics of a given problem domain. What is important, these
characteristics can be linked from within other specifications similarly to a
wiki. The application logic can be formulated through sequences of imperative
subject-predicate sentences containing only links to the phrases in the
vocabulary. The paper presents an advanced tooling framework to capture
application logic specifications making them available for automated
transformations down to code. The tools were validated through a controlled
experiment.
Keywords: requirements engineering, use cases, domain engineering, model-driven software development, model transformation, application logic, metamodel, formal languages