Model-Based Requirements Engineering with AutoRAID



Similar documents
A Model-Based Approach To Requirements Analysis

A CONCEPTUAL MODEL FOR REQUIREMENTS ENGINEERING AND MANAGEMENT FOR CHANGE-INTENSIVE SOFTWARE

The SPES Methodology Modeling- and Analysis Techniques

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

Requirements Traceability. Mirka Palo

13 Model-based Requirements Engineering Framework for Systems Lifecycle Support

Do you know? "7 Practices" for a Reliable Requirements Management. by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd.

A System for Seamless Abstraction Layers for Model-based Development of Embedded Software

How To Write An Electronic Health Record

VDM vs. Programming Language Extensions or their Integration

An Integrated Quality Assurance Framework for Specifying Business Information Systems

Towards Collaborative Requirements Engineering Tool for ERP product customization

SysML Modelling Language explained

Combining Structural and Functional Test Case Generation

Task-Model Driven Design of Adaptable Educational Hypermedia

Bidirectional Tracing of Requirements in Embedded Software Development

To introduce software process models To describe three generic process models and when they may be used

SCADE System Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System

Software Engineering from an Engineering Perspective: SWEBOK as a Study Object

A Pattern-Based Method for Identifying and Analyzing Laws

TUM INSTITUT FÜR INFORMATIK. A comparison of service-oriented development approaches. Michael Meisinger, Sabine Rittmann

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24

This is an author-deposited version published in : Eprints ID : 15447

Reusable Knowledge-based Components for Building Software. Applications: A Knowledge Modelling Approach

How To Develop Software

Development of Tool Extensions with MOFLON

Scenario-driven Testing of Security-related Domain-specific Language Models

Software Development Methodologies

Functional Validation of SAP Implementation

1 Business Modeling. 1.1 Event-driven Process Chain (EPC) Seite 2

11 Tips to make the requirements definition process more effective and results more usable

Advanced Volume Rendering Techniques for Medical Applications

Tools for Forging the Functional Architecture

Overview. Software engineering and the design process for interactive systems. Standards and guidelines as design rules

UML TUTORIALS THE USE CASE MODEL

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

COSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring For the 1 st Quiz

The Role of Requirements Traceability in System Development

Safe Automotive software architecture (SAFE) WP3 Deliverable D3.6.b: Safety Code Generator Specification

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Clarifying a vision on certification of MDA tools

Software Development Workflow in Robotics

Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue

WHITE PAPER. SharePoint Permissions. Management. Centralized permissions management with SPDocKit ADIS JUGO

Software Development for Multiple OEMs Using Tool Configured Middleware for CAN Communication

TESSY Automated dynamic module/unit and. CTE Classification Tree Editor. integration testing of embedded applications. for test case specifications

Optimizing the User Experience of a Social Content Management Software for Casual Users

Development of AUTOSAR Software Components within Model-Based Design

Seamless Method- and Model-based Software and Systems Engineering

The Usability Engineering Repository (UsER)

Rose/Architect: a tool to visualize architecture

Software Requirements, Third Edition

Service-Centric Integration Architecture for Enterprise Software Systems

Requirements Management with Enterprise Architect

DO-254 Requirements Traceability

Requirements Engineering: A Roadmap

D6.1: Service management tools implementation and maturity baseline assessment framework

How To Write A Diagram

Processing Requirements by Software Configuration Management

Name of pattern types 1 Process control patterns 2 Logic architectural patterns 3 Organizational patterns 4 Analytic patterns 5 Design patterns 6

A terminology model approach for defining and managing statistical metadata

ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises

Model-Driven Software Development for Robotics: an overview

Increasing Development Knowledge with EPFC

i-questionnaire A Software Service Tool for Data

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

ReqXChanger Closing the Gap between Requirements and Modelling

Model-based Testing of Automotive Systems

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.

Process Models and Metrics

Model-based Testing of Automotive Systems

Agile Software Engineering Practice to Improve Project Success

BUILDING OLAP TOOLS OVER LARGE DATABASES

Requirements Management

Solution Documentation for Custom Development

Introduction to Software Engineering. 8. Software Quality

Efficient Management of Tests and Defects in Variant-Rich Systems with pure::variants and IBM Rational ClearQuest

Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework

Model-based Testing of Automotive Systems

Attack Taxonomies and Ontologies

Agile Test-based Modeling

JOURNAL OF OBJECT TECHNOLOGY

Information Technology Security Evaluation Criteria. ITSEC Joint Interpretation Library (ITSEC JIL)

Transcription:

Model-Based Requirements Engineering with AutoRAID Bernhard Schätz, Andreas Fleischmann, Eva Geisberger, Markus Pister Fakultät für Informatik, Technische Universität München Boltzmannstr. 3, 85748 Garching, Germany {fleischa geisberg pister schaetz}@in.tum.de Abstract: While software design is increasingly based on models, requirements engineering is generally performed using structured text; as a consequence, only a weakly structured connection to design is possible. Model-based requirements engineering can bridge this gap. With AutoRAID we introduce a tool prototype supporting a structured and integrated requirements model, and operations for refinement and structuring leading from textual requirements to the design model. Introduction The core issue of model based requirements engineering is the introduction of a common conceptual model for requirements and design elements combined with step-wise formalization of requirements in the development process. Such a gradual, tool-based transition from requirements analysis to design reduces the gap between these phases. We introduce the tool AutoRAID for that transition, based on a review-like process. Due to their generally informal nature, ensuring the quality of requirements demands different techniques then applied when assuring the quality of design specifications. Standards like IEEE 233-998 [IE98a] define criteria for requirements specifications to ensure quality in the early phases of development. Here, we address five quality defects by means of constructive and analytic quality assurance: Inconsistency: By breaking down requirements into a detailed model with linked elements, inconsistencies are removed (e.g., when detailing scenarios of a system based on its interface). Ambiguity: By using a detailed model for the requirements, expressing the requirements in terms of this model successively leads to elimination of ambiguities (e.g., when classifying and detailing the steps of a scenario). Intraceability: By linking the detailed requirements on the fly to elements of the design, traceability is automatically ensured (e.g., when motivating a mode of the system out of a mode constraint). Infeasibility, Verifiability: Through the restriction imposed by formalization, a design-like precision of description is enforced, reducing the risk of infeasibility and verifiability (e.g., when specifying the interactions performed during a scenario). While generally manually performed, review- or form-based approaches are used; here we present a model-based and tool-supported approach, based on a review-like process. Model-based requirements engineering uses a formal model of requirements focusing on their classification, implicitly present in approaches [IE98b]. Thus, it fits into a struc-

SubRequ irem en ts Associated Requirements 0.. 0.. DataElement DataType SubComponents Modal Functional Architectural Data 0..* 0. Scenario 0... Sequence 0.. Component ControlState Transition Port 2..* 2 Pattern 2 Condition 0..2 Channel Event State Figure : Simplified Conceptual Model for Analysis and Design tured development process when tool-supported structuring and classification mechanisms as used in a review process [DP04] are offered to domain experts. Besides those structuring steps (e.g., identifying the steps of a use case), analytical techniques applied in an inspection are mechanized (e.g., each functionality must allocated to a component). In the following, we present those techniques as implemented in AutoRAID [AR04]: Structured requirements model: Introducing domain-specific classes of requirements (e.g. architectural requirements, modal requirements, use case scenarios). Integration of textual requirements: Integrating textual requirements into the model and offering pragmatic mechanisms for their use. Tool-based support for classifying and structuring: Mechanizing the step-wise structuring (e.g. identification of actuators in functional requirements). Connection to design-oriented model elements: Linking classes of requirements and classes of design (e.g. modal requirements to control states). The model of design is taken from the AutoFOCUS [Sch04], targeting reactive systems. 2 The AutoRAID Conceptual Model State-of-the-art requirements tools generally use a rather simple conceptual model to define requirements specifications, basically supporting only the concept `Requirement as well as the relations `sub-requirement and `associated requirement. In contrast as shown in a simplified version in Figure AutoRAID uses a more complex model, built around the notion of a (informal) specification element. As explained in Section 3, our approach consists of the activities Structuring, Classification, Formalizing and Analysis. To support them, the model offers specific elements and associations described below. 2. Structured Requirements A major step during requirements engineering as found in DOORS or Requiste Pro consists of breaking down requirements into sub-requirements. AutoRAID uses the con-

cept (corresponding to a single requirement) and associations SubRequirements and AssociatedRequirements. elements have the usually attributes (e.g., unique identifier, creator, priority). Requirements can be broken up into sub-requirements forming a hierarchy that allows back-tracing the requirements to their goals. 2.2 Classified Requirements As suggested in [IE98b], specifications can be classified as: Architectural requirements, describing the structure of a system. Components, interfaces and channels are captured with these requirements. Modal requirements, describing the operating modes of the application. Different states or modes of the system and its components are defined here. Data type requirements, describing data types that can be used for communication within the system and with the environment. Functional Requirements, defined in terms of uses cases described by representative sequences of observations about the system and its interactions with its environment. 2.3 Integrated Requirements Since a major functionality of AutoRAID is the easy transition from an informal to model-based description of the system, the model shown in Figure shows a tight integration of concepts for both kinds. For each classified informal concept (e.g., architectural specification) there is a model-based concept (e.g., component, channel, port) associated with it. The dashed associations show the connections between the respective concepts. These links from the requirements to a structured models support analysis and completion of the specification as well as traceability between analysis and design. 3 Tool Support Figure 2 shows the user interface of AutoRAID. The model browser (left hand side of Figure 2) shows the tree of the requirements analysis (Analysis) as well as of the designoriented model (Component Car); it shows generic s (Requirements) as well as classified s (Use Cases, Constraints). The work area (right hand side) shows the formalization step (see Subsection 3.3) of an Event (front layer); this communication event itself is a part of a Scenario (second layer), which in turn is a part of a Functional (background layer). AutoRAID assumes a review-based development process, with the steps defined in the following subsection. 3. Generation and Import of Requirements The tool AutoRAID allows to manually create or import requirements. During creation, a requirement is automatically assigned a unique ID; the user adds attributes like title, status, priority, etc. When creating requirements from an imported document, a `selectand-create functionality allows to conveniently define a requirement. To support trac-

Figure 2: Definition of Event in Scenario Standard Display Interaction ing, the link between text and requirement displayed in the source text. For documentation purposes, a structured document can be generated from the refined requirements. 3.2 Structuring Requirements To support a hierarchical structuring of a requirement specification, any kind of specification can be structured hierarchically. The possibilities in AutoRAID are: A can be linked to one or more s, to identify common SubRequirements or correlated requirements. Out of an existing a new is created and linked to it as a SubRequirement, to break up a compound specification into its sub-specifications. AutoRAID offers a convenient `select-and-create functionality, to easily identify a part of a to become a separate sub-specification; this functionality reuses the selected part of the original description to create the new and establishes a SubRequirement relation between them. 3.3 Classifying and Formalizing Requirements By classification, generic requirements are grouped according their category; specifications are broken down into sub-specifications until they are detailed enough to fit one of the categories (architectural, modal, data, functional). To enforce more preciseness, categorized specifications are further detailed. E.g., a Functional can be

structured in form of a Scenario identifying its steps. These steps are again classified, e.g., as communication Event s with sender, receiver, and signal. Using a form-like, text-based description, at this level a specification is already formalized, requiring the strictness and preciseness of a detailed conceptual model. These specification elements can be displayed in a graphical fashion; e.g., a scenario is alternatively displayed as a sequence diagram. Thus, AutoRAID allows giving a detailed description of the system from the requirements point of view, adding, e.g., rationales to document development decisions; or, from the design point of view, focusing on a compact and comprehensible description. By using shared elements, design elements can be easily traced back to motivating elements of the requirements model. 3.4 Analyzing Requirements AutoRAID supports the step-wise analysis in a review-based and constructive fashion using the strictness of model-based formalization step implicitly to analyze a specification. Additionally, using the structured, model-based specification incrementally developed from weakly structured specifications, analysis techniques in form of consistency conditions can be applied to detected possible weaknesses of the model, e.g., Each business requirement is refined by at least on application requirement or Each application requirement is classified or refined by a application requirement. Consistency analysis is performed automatically, presenting those specification and model elements that do not meet the consistency conditions. 4 Conclusion AutoRAID covers structuring, classification and analysis of requirements, capturing the decision process through forward and backward tracing, supporting the incremental transformation of an informal specification to a model-based design. Current research issues address the inclusion of additional classifications (e.g., work flows) and the treatment of product lines. Furthermore, the applicability of the AutoRAID approach is investigated in real-world case studies in the automotive (chassis electronics) and the aviation domain (flight control). 5 Bibliography [AR04] Website of AutoRAID, http://wwwbroy.in.tum.de/~autoraid/ [DP04] Denger, C. Paech, B. An Integrated Quality Assurance Approach for Use Case Based Requirements. In: Rumpe, B. Hesse, W. (eds). Modellierung 2004. Springer, 2004. [IE98a] Software Engineering Committee of the IEEE Computer Society. IEEE Guide for Developing System Requirements s. IEEE Standard 233-998. IEEE CS. [IE98b] Software Engineering Committee of the IEEE Computer Society. IEEE Guide for Software Requirements s (ANSI). IEEE Standard 830-998. IEEE CS [Sch04] Schätz, B.: Mastering the Complexity of Embedded Systems. In: Formal Techniques for Embedded Distributed Systems, Kordon F., Lemoine, M. (eds.). Kluwer, 2004.