• Keine Ergebnisse gefunden

Design and Implementation ofa Rationale-Based AnalysisTool(RAT)Design and Realizationof a Tool for Linking SourceCodeand Rationale Knowledge

N/A
N/A
Protected

Academic year: 2022

Aktie "Design and Implementation ofa Rationale-Based AnalysisTool(RAT)Design and Realizationof a Tool for Linking SourceCodeand Rationale Knowledge"

Copied!
44
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Design and Implementation of a Rationale-Based Analysis

Tool (RAT)

Diploma thesis from Timo Wolf

Design and Realization

of a Tool for Linking Source Code

and Rationale Knowledge

Diploma thesis from Marc Mährländer

(2)

Content

• Introduction

– What is Rationale?

– Problem – Solution

– Scope of the works

• Rationale Support

• RAT

• SourceQuest (JBuilder plug-in)

• Demonstration

(3)

What is Rationale?

• The why behind a decision

– Discussion that leads to a solution – Alternative solutions

– The criteria the alternatives have been evaluated against.

– Trade-offs made by the stakeholders

• Rationale contains useful information

• Historically, often called Design Rationale

(4)

Problem Statement

• During all phases of development, many issues have to be solved

– Normally, only the selected solution is visible in the work products

– Useful rationale information get lost

• Discussion process is not structured

– Face-to-face meetings, e-mail, bboards, ...

– Not integrated into today‘s development tools

• Natural documentation problem

– Designing and implementing is the interesting part, documentation is without a great personal benefit

(5)

Solution

• Full integration of rationale into the complete development process

– All development tools need integrated support for rationale

– Creation of a direct effort for the developers,

because of a structured and integrated discussion process

– Developers coming after, profit from the rationale information

Focusing on issues, and making the discussion process transparent and explicit, improves the quality of the decisions made by the developers.

Focusing on issues, and making the discussion process transparent and explicit, improves the quality of the decisions made by the developers.

(6)

Issue-based Life Cycle Model

• Complete life cycle model for software development based on issues

– Rationale is not only integrated into the development process

– Rationale becomes the structuring element of a software project

• Each project starts with a set of issues

– Issues can be mapped to certain phases of the process

– The status of issues can then be used to track and control the status of each activity

(7)

Scope of the Works

Requirement Elicitation/

Analysis

System Design

Object Design

Implementation Rationale Management

...

...

Development support services

RAT JBuilder/

SourceQuestRationale Manager

Awareness Support

Notification Service

...

Development tools

Development activities

Rationale Support

(8)

Scope of Marc‘s Work

• Integrating rationale support into a source code editor (called SourceQuest)

• Providing a component to store references between different kinds of objects

(LinkingService)

– Links rationale information to model objects.

• Providing a Rationale Manager software

(9)

Rationale Support

(10)

Content

• Introduction

• Rationale Support

– Requirements for Rationale support – Rationale Model

– Actors

– Rationale Manager

• RAT

• SourceQuest (JBuilder plug-in)

• Demonstration

(11)

Requirements for Rationale Support

• Create and navigate references between model objects and rationale information

– A model object may have different representations

(12)

Model Objects

Model Object Model Object

Class

Class PackagePackage Use CaseUse Case ...

Concrete Representation

Concrete Representation

Java Source File

Java Source File

UML Class UML Class

0..*

(13)

Requirements for Rationale Support

• Create and navigate references between model objects and rationale information

– A model object may have different representations

• Restructuring of captured rationale information

– Remove elements

– Combining and dividing issues – Create missing references

• Querying the rationale information

(14)

Rationale Model

Issue Issue

Option Option

0..*

Criterion Criterion

Comment Comment

responds-to

is relevant

assessment

(15)

Actors

• Developer

– Creates rationale information related to model objects

– Uses rationale information

– Rationale integration supports his main tasks

• Rationale Maintainer

– Restructures rationale information – Identifies missing rationale

(16)

Rationale Manager

• Supports the user tasks of the Rationale Maintainer

– Displaying issues – Restructuring issues

– Querying and searching rationale information

• Provides a UI to access rationale information, which can be integrated into development

tools.

(17)

Rationale Manager

(18)

Rationale Manager

(19)

Design and Implementation of a Rationale-Based Analysis Tool

(RAT)

Diploma thesis from Timo Wolf

(20)

Content

• Introduction

• Rationale Support

• RAT

– Analysis activities – Goals

– Constraints

– Components RAT has to deal with – Architecture

– Evaluation

– Future Directions

• SourceQuest (JBuilder plug-in)

• Demonstration

(21)

Analysis activities

Define use case

Define participating

objects

Review model Define interactions

Define objects

types

Define attributes

Define associations

Consolidate model

(22)

Goals

• RAT supports developers during analysis activities

• Enables developers to define use cases, sequence diagrams and classes

• No assumption about any specific order

– e.g., instances may be created before classes

• Sequence diagrams must be easy to draw

– e.g., not like Together or Rose, where it takes a lot of effort to redraw and layout

• RAT supports rationale management

• RAT supports multiple concurrent users

(23)

Constraints

• Software Engineering Prakitkum

• Must integrate with other tools in the practical course

– REQuest

– SourceQuest

– Rationale-Manager

– All tools must share the same issue repository – All tools must provide a consistent interface

• Must be portable across OS

– (Mac OS X, Windows, Linux)

(24)

Components RAT has to deal with

• Use Cases

(25)

RAT‘s Use Cases

– Use cases – Actors

– Services

– Flow steps (actor step, system step)

UML use case diagram

(26)

Components RAT has to deal with

• Classes

(27)

RAT‘s Class Model

Tree view

UML Class Diagram

Detailed element

interaction window

(28)

Components RAT has to deal with

• Sequence Diagrams

(29)

RAT‘s Sequence Diagrams

UML sequence diagram

(30)

RAT‘s Sequence Diagrams

Sharing objects and messages among multiple diagrams

(31)

Components RAT has to deal with

• Rationale Management

(32)

Rationale in RAT

•Defining issues to all elements of RAT

•Issue highlighting in RAT

•Navigation from elements to issues

Visualisation of issues by using the Rationale-Manager of SourceQuest

(33)

Relations among RAT‘s models

Class Object

Operation

Message Actor

Service

FlowStep SDModel

UseCase

0..1 0..1

0..*

0..1

0..1 0..*

0..1 0..1

0..*

0..1

0..1 0..1

0..1 0..*

1 0..*

0..*

2

(34)

Architecture

• Central repository architecture (server)

• Repository is used for models and issues

• Concurrent distributed client applications

• Separation of the linking repository

• Implementation in Java

– Platform independence

• Event-driven control flow (using Java Remote

Method Invocation, RMI)

(35)

Hardware/Software Mapping

:Webserver REQuest :central repository

ElementStore

LinkingService :SourceQuest user computer

SourceQuest

:RAT user computer

Rationale Manager

RAT Application

(36)

Evaluation

• How much of it works ?

– All basic functionality works

• What needs to be improved ?

– Performance for low bandwidth connections – Some sequence diagram functionalities,

e.g., hiding messages.

• What is missing ?

– User management system

(37)

Future Directions

• Evaluation of RAT in the practical course

• Full REQuest integration

• Integration with the Chair's User Management

• Automatic diagram layout functionality

• Integrating RAT with rationale-based system

and object design tools (to be developed)

(38)

SourceQuest

JBuilder Rationale Plug-In

(39)

Content

• Introduction

• Rationale Support

• RAT

• SourceQuest (JBuilder plug-in)

– Requirements – User Interface – Evaluation

• Demonstration

(40)

Requirements

• Users must become aware of existing issues related to the class they are working on

• Users must be able to create new issues related to the current class

• Users must be able to browse issues related to their current class

• As easy to use as possible

• Smooth integration of rationale support into

JBuilder

(41)

User Interface I

(42)

User Interface II

(43)

User Interface III

(44)

Evaluation

• Must be evaluated in real projects

• First project

– usability?, developers acceptance?,

understandability of the rationale model?, what kind of training is necessary?, can all rationale information be expressed?, is decision quality increased

• Second project

– Evaluate the value of rationale information

– is rationale information used?, can it be found?, is time for working in decreased?, is quality

increased?

Referenzen

ÄHNLICHE DOKUMENTE

In view of these factors, the Basel Committee proposed a New Capital Adequacy Framework (hereafter referred to as the “Basel II”) in June 1999 incorporating three major elements

The STAR-FIB study programme aims to deter- mine the age- and sex-specific prevalence of silent atrial fibrillation and to develop a clinical prediction model to identify patients

The SWiss Atorvastatin and Interferon Beta- 1b trial in Multiple Sclerosis (SWABIMS) evaluates the efficacy, safety and tolerability of atorvastatin 40 mg per os daily and

The fact that many surgical techniques or technologies were introduced into the field of spine surgery without randomised trials or prospective cohort comparisons makes obvious an

The focus of the study is perception of undergraduate level students at Fontys University of Applied Sciences School of ICT towards online project-based learning, by examining

A N N can be used for solving different types (linear, nonlinear, discrete, combinatorial) of optimization problems, for linear algebra problems, for estimation,

The relatively slow response times (or lags) of some individual components (e.g. groundwater) to change creates the possibility that they may act to buffer the

In the 1990s, IBM introduced the term Object-Oriented User Interfaces (OOUI) to describe a new kind of direct manipulation model-world interfaces: "An object- oriented user