Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

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