Integrated tools for collaborative software development
Transcript of 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
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
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
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
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
22
Questions?Thank you!