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
6
Embed
Integrated tools for collaborative software development
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Integrated tools for collaborative softwaredevelopment
• 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
• 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
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
• 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
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
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