A scoped approach to traceability management

Traceability is the ability to describe and follow the life of a software artifact and a means for modeling the relations between software artifacts in an explicit way. Traceability has been successfully applied in many software engineering communities and has recently been adopted to document the transition among requirements, architecture and implementation. We present an approach to customize traceability to the situation at hand. Instead of automating tracing, or representing all possible traces, we scope the traces to be maintained to the activities stakeholders must carry out. We define core traceability paths, consisting of essential traceability links required to support the activities. We illustrate the approach through two examples: product derivation in software product lines, and release planning in software process management. By using a running software product line example, we explain why the core traceability paths identified are needed when navigating from feature to structural models and from family to product level and backward between models used in software product derivation. A feasibility study in release planning carried out in an industrial setting further illustrates the use of core traceability paths during production and measures the increase in performance of the development processes supported by our approach. These examples show that our approach can be successfully used to support both product and process traceability in a pragmatic yet efficient way.

[1]  Svein O. Hallsteinsen,et al.  Patterns in Product Family Architecture Design , 2003, PFE.

[2]  Roel Wieringa,et al.  Second International Workshop on From SofTware Requirements to Architectures (STRAW'03) , 2004, SOEN.

[3]  G. Engels,et al.  HANDBOOK OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING , 2002 .

[4]  Matthias Jarke,et al.  Media-assisted product and process traceability in supply chain engineering , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

[5]  P. Lago,et al.  Explicit assumptions enrich architectural models , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[6]  Jacky Estublier,et al.  Supporting reuse and configuration for large scale software process models , 1996, Proceedings 10th International Software Process Workshop.

[7]  Rob C. van Ommering Building product populations with software components , 2002, ICSE '02.

[8]  Rob C. van Ommering Building Product Populations with Software , 2002 .

[9]  S. K. Chang,et al.  Handbook of Software Engineering And Knowledge Engineering: Recent Advances , 2005 .

[10]  Barry W. Boehm,et al.  Bridging models across the software lifecycle , 2003, J. Syst. Softw..

[11]  Walter F. Tichy,et al.  Proceedings 25th International Conference on Software Engineering , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[12]  Data, documentation, and decision tables , 1966, CACM.

[13]  Jeremy Dick,et al.  Automating the Generation and Sequencing of Test Cases from Model-Based Specifications , 1993, FME.

[14]  Olly Gotel,et al.  An analysis of the requirements traceability problem , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[15]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[16]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[17]  Klaus Pohl,et al.  Adapting traceability environments to project-specific needs , 1998, CACM.

[18]  Alexander Egyed,et al.  A Scenario-Driven Approach to Trace Dependency Analysis , 2003, IEEE Trans. Software Eng..

[19]  Michael Rovatsos,et al.  Handbook of Software Engineering and Knowledge Engineering , 2005 .

[20]  Wilhelm Schäfer,et al.  Proceedings of the 5th European Software Engineering Conference , 1995 .

[21]  Andrea Zisman,et al.  Supporting product line development through traceability , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[22]  Oussama Ben Khadra,et al.  Goal-centric traceability for managing non-functional requirements , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[23]  H. P Nii,et al.  Blackboard Systems , 1986 .

[24]  Richard N. Taylor,et al.  An end-to-end industrial software traceability tool , 2007, ESEC-FSE '07.

[25]  Mark Neal,et al.  Why and how of requirements tracing , 1994, IEEE Software.

[26]  Mari Matinlassi,et al.  Comparison of software product line architecture design methods: COPA, FAST, FORM, KobrA and QADA , 2004, Proceedings. 26th International Conference on Software Engineering.

[27]  Philippe Kruchten,et al.  Building up and Exploiting Architectural Knowledge , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[28]  D. Corkill Blackboard Systems , 1991 .

[29]  Matthias Jarke,et al.  Toward Reference Models of Requirements Traceability , 2001, IEEE Trans. Software Eng..

[30]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[31]  Ilka Philippow,et al.  A Traceability Link Model for the Unified Process , 2007, Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing (SNPD 2007).

[32]  Dov M. Gabbay,et al.  Inconsistency Handling in Multperspective Specifications , 1994, IEEE Trans. Software Eng..

[33]  Kyo Chul Kang,et al.  Feature-based approach to object-oriented engineering of applications for reuse , 2000, Softw. Pract. Exp..

[34]  Jan Bosch,et al.  Representing Variability in Software Product Lines: A Case Study , 2002, SPLC.

[35]  Bashar Nuseibeh,et al.  Weaving Together Requirements and Architectures , 2001, Computer.

[36]  Gerald Kotonya,et al.  Software Requirements Engineering , 1999 .

[37]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[38]  Ian Sommerville,et al.  Requirements Engineering: Processes and Techniques , 1998 .

[39]  Barbara Paech,et al.  Component-based product line engineering with UML , 2001, Addison Wesley object technology series.

[40]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[41]  Hassan Gomaa Designing Software Product Lines with UML 2.0: From Use Cases to Pattern-Based Software Architectures , 2006, ICSR.

[42]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction , 1998 .

[43]  Dov M. Gabbay,et al.  Inconsistency Handling in Multi-Perspective Specifications , 1993, ESEC.

[44]  Nenad Medvidovic,et al.  Reconciling software requirements and architectures with intermediate models , 2004, Software & Systems Modeling.

[45]  Philippe Kruchten,et al.  Architecture blueprints—the “4+1” view model of software architecture , 1995, TRI-Ada '95.

[46]  Kyo Chul Kang,et al.  Featured-based approach to object-oriented engineering of applications for reuse , 2000 .

[47]  Sidney C. Bailin,et al.  Software Requirements Engineerings, 2nd Edition , 1997 .

[48]  Sidney C. Bailin,et al.  Software requirements engineering , 2011 .

[49]  Klaus Schmid,et al.  Requirements management for product lines: extending professional tools , 2006, 10th International Software Product Line Conference (SPLC'06).

[50]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[51]  Philippe Kruchten,et al.  What Is the Rational Unified Process ? , 2001 .

[52]  Mansour Zand,et al.  Proceedings of the 1995 Symposium on Software reusability , 1995 .

[53]  Mary M. Lay,et al.  Collaborative Writing in Industry: Investigations in Theory and Practice , 1991 .

[54]  Philippe Krutchen,et al.  Architectural blueprints--the '4+1' view model of software architecture , 1995 .

[55]  J. Rigaux,et al.  Software Product Lines : State of the art , 2004 .

[56]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[57]  Klaus Schmid,et al.  PuLSE: a methodology to develop software product lines , 1999, SSR '99.