integrated tools for collaborative software development

6
Integrated tools for collaborative software development Contact: [email protected] 2 Why tool integration is necessary Size and complexity in embedded systems software is growing quickly Collaboration is essential in product development Productivity increasing technologies and methods are needed to excel in software development Generally in software development, there is a need to link the development work products with each other Establishing and maintaining these links manually is laborious and error prone task Poor interoperability of development tools is one of the major problems in embedded systems development today Bundled tool-chains solve problem only partially and create dependency on the particular tool vendor 3 What are the advantages of integration? Allow for efficient change impact analysis and reporting facilities during different phases of the software development life cycle Enable traceability between development phases as well as between collaboration partner. Ensure consistency of the work products as the development progresses, and provide visibility beyond partner borders As a result, better efficiency and ultimately, cost savings can be achieved 4 ToolChain - Merlin Research begun within the Merlin project (2004-2007), which was an international research project coordinated by ITEA The main focus in Merlin project was to develop new and enhanced practices and technologies to improve the collaborative software development One focus of the project was collaboration enablers, meaning concepts and tool chains for inter-organizational collaboration Merlin project consortium consisted of universities, research centres and industrial partners from Finland, Sweden and the Netherlands Finland The Netherlands Sweden

Upload: others

Post on 12-Sep-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Integrated tools for collaborative software development

Integrated tools for collaborative softwaredevelopment

Contact: [email protected]

2

Why tool integration is necessary

• Size and complexity in embedded systems software is growing quickly• Collaboration is essential in product development• Productivity increasing technologies and methods are needed to

excel in software development• Generally in software development, there is a need to link the

development work products with each other• Establishing and maintaining these links manually is laborious and

error prone task• Poor interoperability of development tools is one of the major problems in

embedded systems development today• Bundled tool-chains solve problem only partially and create

dependency on the particular tool vendor

3

What are the advantages of integration?

• Allow for efficient change impact analysis and reporting facilities duringdifferent phases of the software development life cycle

• Enable traceability between development phases as well as betweencollaboration partner.

• Ensure consistency of the work products as the development progresses,and provide visibility beyond partner borders

• As a result, better efficiency and ultimately, cost savings can be achieved

4

ToolChain - Merlin

• Research begun within the Merlin project (2004-2007), which was an internationalresearch project coordinated by ITEA

• The main focus in Merlin project was to develop new and enhanced practices andtechnologies to improve the collaborative software development

• One focus of the project was collaboration enablers, meaning concepts and toolchains for inter-organizational collaboration

• Merlin project consortium consisted of universities, research centres and industrialpartners from Finland, Sweden and the Netherlands

FinlandThe NetherlandsSweden

Page 2: Integrated tools for collaborative software development

5

ToolChain - Merlin

• One of the main goals was to improve the traceability of information during theproduct development.

• Research process began with literature study of collaboration relatedtechnologies and problems

• Set of tools was selected based on industrial partners report of the tools theyuse (PM,RM,CM,TM)

• Eclipse chosen as integration framework• Traceability model created based on basic development workflow

• Requirement centered

6

ToolChain - Merlin

• Implementation work began from creating plugins for selected tools into Eclipse• See if tools that are built by different vendors can be integrated together• How can the tools be interfaced (API, JDBC/ODBC,…)?

• ‘Traceability’-view which brings together data from different plugins• Overview of project status• Work with different tools in common view (Eclipse)

• Ability to select from multiple tools was added later• Merlin version released as open source (link later).

7

ToolChain - Philips case

• Study with set of tools:• Philips Project Assist Tool (PM), DOORS (RM), Subversion (CM), Philips

SoftFab (TM)• Study of tools, and integration work begun well in advance before the execution of

the case• Trial carried out in OSIB project

• Goals: to improve traceability and visibility of the project progress• Results: solution facilitated development lifecycle artefact traceability and the

visibility of the project progress

8

ToolChain - TWINS

• TC development continued during TWINS ITEA project• Master’s thesis work ongoing

• TWINS project addresses challenges in HW / SW co-development• Focus (from TC viewpoint) :

• To improve testing facilities by adding new tools and methods for TC• Added support for test data gathering and analysis

• Provide workflow support in TC for guidance in different product lifecycleactivities

• How to use integrated tools and TC to accomplish certain activity• Project still ongoing

• No release plan for new TC

Page 3: Integrated tools for collaborative software development

9

ToolChain Project management

Test management

Version control

TestLink (Test Manag.)-Test cases-Test reports

Traceabilitydatabase

OSRMT (Requirement Manag.)-Requirements definition

Subversion (Change Manag.)-Code files status

Data from various tools is brought to theToolChain using plug-ins

Data is linked in traceability view and linkinformation is stored in the database

Project status is visible via ToolChain traceability-view: requirement’s taskcompletion, test case coverage, etc.

Probe Database-Test data storage

Performance Visualization Tool- Test data analysis

Probe Network- Test data gathering

Embedded platformE.g. Espotel Jive

ToolChainplug-ins

Traceability view:-Information visibility-Process support

TRAC-Task assignment-Task status

OSRMT (Requirement Manag.)-Requirements definitionOSRMT-Requirements definition

TestLink (Test Manag.)-Test cases-Test reports

TestLink-Test cases-Test reports

Subversion (Change Manag.)-Code files statusSubversion-Code files, UML diagrams, etc.

Requirement management

ToolChain / Eclipse platform

Architecture simulation & analysis

10

ToolChain – Supported tools

11

Screenshot of TC/Eclipse

12

ToolChain - Summary

• Merlin version of the ToolChain (TC) is available as open source fromhttp://sourceforge.net/projects/merlintoolchain/

• TC is a research prototype• Trial case in OSIB-project at Philips• Currently being evaluated in industrial case

• TC is built for Eclipse• TC integrates tools from four main areas: project management, requirements management,

version control and testing• Testing support includes test management, test data gathering and test data analysis

• TC keeps track of relationships between different ALM artefacts, e.g. identify code files forrequirement.

• Traceability information is stored in central database.• Project status can be inspected, for example by checking the requirements coverage;

requirement has test cases defined and the tests have completed successfully.• It is possible to create 100% open source ALM solution with the existing integrations.• TC can be customized: it is possible to implement Your own integrations to ToolChain

Page 4: Integrated tools for collaborative software development

13

Example workflow 1

• Define requirement (OSRMT)• Task creation (Trac)• Test case definition (TestLink)• Design, implementation (TC)

• Show how produced items are managed• System monitoring

• Manage test data• Analysis of test data

TRAC

Requirements

Tasks

Test cases

Test data Analysis

Documents

Subversion

OSRMT

TestLink

Perf. Vis.PROBE

14

Example workflow 1Step 1: Initial situation

Project contains only onerequirement, and notraceability information

15

Example workflow 1Step 2: New requirement

1.Create new requirementin OSRMT (Open SourceRequirement ManagementTool)

2.Requirement appears inToolChain

16

Example workflow 1Step 3: New tasks for the requirement

2.Ticket now appears inTRAC plugin (Eclipse)

1.New ticket in TRAC

Page 5: Integrated tools for collaborative software development

17

Example workflow 1Step 4: Traceability between tasks and requirement

1.Tasks are linked toSELECTED requirementby dragging the tasksfrom TRAC-plugin intotask field (in ‘Traceability’-view)

2.Requirements specification is now ready.‘Specify requirement’-ticket is closed inTRAC and work hours added.

18

Example workflow 1Step 5: Requirement implementation

1.New Java class is createdand added to Subversion-repository.

2.Code file is dragged frompackage explorer (SVN) to‘code files’-section in‘Traceability’-view. Thisforms a traceability linkbetween selectedrequirement and the codefile.

Working hours fordevelopment effort arewritten for the ticket inTRAC.

19

Example workflow 1Step 6: Requirement verification

1.Test case is created andassigned to tester inTestLink.

Test case is traced toselected requirement inTC.

2.Test case is executed(TestLink) and workinghours marked (TRAC).

3.Test case status: passed-> Requirement has beenvalidated.

20

Example workflow 2: System monitoring• Demonstrates test case which tests system performance• Generated test data is analyzed and analysis results are added to the test case• Workflow guidance provides steps necessary to complete the testing / analysis task

Page 6: Integrated tools for collaborative software development

21

Example workflow 2: System monitoring• Test case data is visualised in Performance Visualization tool by launching the tool

from TC for the data set• Analysis results are updated for test case into TestLink

22

Questions?Thank you!