The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.05 - Sept.-Oct. (2008 vol.34)
pp: 685-699
Jane Cleland-Huang , DePaul University, Chicago
Will Marrero , DePaul University, Chicago
Brian Berenbach , Siemens Corporate Research, Inc., Princeton
ABSTRACT
Successful software development involves the elicitation, implementation, and management of critical systemic requirements related to qualities such as security, usability, and performance. Unfortunately, even when such qualities are carefully incorporated into the initial design and implemented code, there are no guarantees that they will be consistently maintained throughout the lifetime of the software system. Even though it is well known that system qualities tend to erode as functional and environmental changes are introduced; existing regression testing techniques are primarily designed to test the impact of change upon system functionality rather than to evaluate how it might affect qualities such as performance, usability, or portability. The concept of using goal-centric traceability to establish relationships between a set of strategically placed assessment models and system goals is introduced. This paper describes the process, algorithms, and techniques for utilizing goal models to establish executable traces between goals and assessment models, detect change impact points through the use of automated traceability techniques, propagate impact events, and assess the impact of change upon systemic qualities. The approach is illustrated through two case studies respectively representing a small business application and a safety-critical real-time system.
INDEX TERMS
Management, Maintenance management
CITATION
Jane Cleland-Huang, Will Marrero, Brian Berenbach, "Goal-Centric Traceability: Using Virtual Plumblines to Maintain Critical Systemic Qualities", IEEE Transactions on Software Engineering, vol.34, no. 5, pp. 685-699, Sept.-Oct. 2008, doi:10.1109/TSE.2008.45
REFERENCES
[1] G. Abowd, L. Bass, P. Clements, R. Kazman, L. Northrop, and A. Zaremski, “Recommended Best Industrial Practice for Software Architecture Evaluation,” Technical Report CMU/SEI-96-TR-025 ESC-TR-96-025, Software Eng. Inst., Pittsburgh, 1997.
[2] I.F. Alexander, “Misuse Cases: Use Cases with Hostile Intent,” IEEE Software, vol. 20, no. 1, pp. 58-66, Jan./Feb. 2003.
[3] V. Ambriola, R. Conradi, and A. Fuggetta, “Assessing Process-Centered Software Engineering Environments,” ACM Trans. Software Eng. Methodology, vol. 6, no. 3, pp. 283-328, 1997.
[4] G. Antoniol, G. Canfora, G. Casazza, A. De Lucia, and E. Merlo, “Recovering Traceability Links between Code and Documentation,” IEEE Trans. Software Eng., vol. 28, no. 10, pp. 970-983, Oct. 2002.
[5] P. Bengtsson, N. Lassing, J. Bosch, and H. van Vliet, “Architecture Level Modifiability Analysis (ALMA),” J. Systems and Software, no.60, pp. 129-147, 2004.
[6] L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, second ed. Addison-Wesley, 2003.
[7] B. Boehm, R. Brown, H. Kaspar, M. Lipow, G. McLeod, and M. Merritt, Characteristics of Software Quality. TRW Series of Software Technology, TRW Systems and Energy, Inc., also published by North Holland, 1978, 1973.
[8] B. Berenbach, M. Koehler, and T. Novatin, “The Design and Implementation of an Object-Oriented Power Plant Training Simulator,” Simulators VIII, SCS Simulation Series, vol. 24, no. 1, Apr. 1991.
[9] B. Berenbach and J.E. Swanke, “A Generic Operation System Interface for VMS,” Proc. Digital Equipment Corp. User Soc., pp.661-662, Dec. 1984.
[10] J. Castro, P. Giorgini, S. Kethers, and J. Mylopoulos, “A Requirements-Driven Methodology for Agent-Oriented Software,” Agent-Oriented Methodologies, B. Henderson-Sellers and P.Giorgini, eds., Idea Group, 2005.
[11] Charlotte Dept. Transportation, N.C., http://www. charmeck. org/Departments/Transportation Home.htm, 2008.
[12] L. Chung, B. Nixon, E. Yu, and J. Mylopoulos, Non-Functional Requirements in Software Engineering. Kluwer Academic, 2000.
[13] L. Chung, “Representing and Using Nonfunctional Requirements: A Process Oriented Approach,” PhD dissertation, also Technical Report DKBSTR-91-1, Dept. of Computer Science, Univ. of Toronto, June 1993.
[14] L. Chung and B. Nixon, “Dealing with Nonfunctional Requirements: Three Experimental Studies of a Process-Oriented Approach,” Proc. 17th Int'l Conf. Software Eng., pp. 24-28, Apr. 1995.
[15] J. Cleland-Huang, C.K. Chang, H. Kim, and A. Balakrishnan, “Requirements-Based Dynamic Metrics in Object-Oriented Systems,” Proc. Fifth IEEE Int'l Symp. Requirements Eng., pp. 212-221, 2001.
[16] J. Cleland-Huang, C.K. Chang, H. Hu, K. Javvaji, G. Sethi, and J. Xia, “Automating Speculative Queries through Event-Based Requirements Traceability,” Proc. IEEE Joint Int'l Conf. Requirements Eng., pp. 289-298, Sept. 2001.
[17] J. Cleland-Huang, C.K. Chang, and J. Wise, “Automating Performance Related Impact Analysis through Event Based Traceability,” Requirements Eng. J., vol. 8, no. 3, pp. 171-182, Aug. 2003.
[18] J. Cleland-Huang, C.K. Chang, and M. Christensen, “Robust Requirements Traceability for Handling Evolutionary Change,” IEEE Trans. Software Eng., vol. 29, no. 9, pp. 796-810, Sept. 2003.
[19] J. Cleland-Huang, “Toward Improved Traceability of Non-Functional Requirements,” Proc. Third Int'l Workshop Traceability in Emerging Forms of Software Eng., in conjunction with ASE '05, Nov. 2005.
[20] J. Cleland-Huang, R. Settimi, O. BenKhadra, E. Berezhan, and S. Christina, “Goal Centric Traceability for Managing Non-Functional Requirements,” Proc. 27th Int'l Conf. Software Eng., pp. 362-371, May 2005.
[21] T.H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein, Introduction to Algorithms, second ed. McGraw Hill, 2001.
[22] B. Crone, “Getting It Done,” SIM News, A Semi-Annual Report on L-3 MAPPS Power Systems and Simulation Activities, no. 22, pp.6-8, Feb. 2006.
[23] L.M. Cysneiros and J.C. Sampaio do Prado Leite, “Nonfunctional Requirements: From Elicitation to Conceptual Models,” IEEE Trans. Software Eng., vol. 30, no. 5, pp. 328-350, May 2004.
[24] A. Dardenne, A. Van Lamsweerde, and S. Fickas, “Goal-Directed Requirements Acquisition,” Science of Computer Programming, 1993.
[25] J. Fletcher and J. Cleland-Huang, “Softgoal Traceability Patterns,” Proc. IEEE Int'l Symp. Software Reliability Eng., pp. 363-374, 2006.
[26] J. Fletcher and J. Cleland-Huang, “Utilizing Softgoal Traceability Patterns to Monitor Design Goals,” Proc. ACM Int'l Symp. Grand Challenges of Traceability, pp. 82-86, Mar. 2007.
[27] J.H. Hayes, A. Dekhtyar, and S.K. Sundaram, “Advancing Candidate Link Generation for Requirements Tracing: The Study of Methods,” IEEE Trans. Software Eng., vol. 32, no. 1, pp. 4-19, Jan. 2006.
[28] E. Hull, K. Jackson, and J. Dick, Requirements Engineering. Springer Verlag, 2002.
[29] IEEE Standard Glossary of Software Eng. Terminology, Std 610.12 Std 610.12-1990(R2002), 1990.
[30] SE Tools Taxonomy—Requirements Traceability Tools, Int'l Council on Systems Eng., http://www.incose.org/tools/tool taxreqtrace_tools.html , 2008.
[31] R. Jain, The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling. Wiley-Interscience, Apr. 1991.
[32] KAOS Tutorial, http://www.objectiver.com/download/documents KAOSTutorial.pdf, CEDITI, Sept. 2003.
[33] R. Kazman, G. Abowd, L. Bass, and P. Clements, “Scenario-Based Analysis of Software Architecture,” IEEE Software, vol. 13, no. 6, pp. 47-55, Nov. 1996.
[34] R. Kazman, M. Klein, and P. Clements, “ATAM: Method for Architecture Evaluation,” CMU/SEI Technical Report CMU/SEI-2000-TR-004, ADA382629, Software Eng. Inst., Carnegie Mellon Univ., http://www.sei.cmu.edu/publications/documents/ 00. reports00tr004.html, 2000.
[35] N.G. Leveson and C.S. Turner, “Investigation of the Therac-25 Accidents,” Computer, vol. 26, no. 7, pp. 18-41, July 1993.
[36] J. Lin, C.C. Lin, J. Cleland-Huang, R. Settimi, J. Amaya, G. Bedford, B. Berenbach, O. Ben Khadra, C. Duan, and X. Zou, “Poirot: A Distributed Tool Supporting Enterprise-Wide Traceability,” Proc. 14th IEEE Int'l Requirements Eng. Conf., pp. 356-357, Sept. 2006.
[37] N. Maiden, “What Has Requirements Research Ever Done for Us? Goal-Modeling Techniques,” IEEE Software, vol. 22, no. 4, pp. 104-105, July/Aug. 2005.
[38] A. Marcus, J.I. Maletic, and A. Sergeyev, “Recovery of Traceability Links between Software Documentation and Source code,” Int'l J. Software Eng. and Knowledge Eng., vol. 15, no. 4, pp. 811-836, Oct. 2005.
[39] B. Nuseibeh, “Weaving Together Requirements and Architecture,” Computer, vol. 34, no. 3, pp. 115-117, Mar. 2001.
[40] D.L. Parnas, J. Schouwen, and S.P. Kwan, “Evaluation of Safety-Critical Software,” Comm. ACM, vol. 6, no. 33, pp. 636-648, June 1990.
[41] D.K. Peters and D.L. Parnas, “Requirements-Based Monitors for Real-Time Systems,” IEEE Trans. Software Eng., vol. 28, no. 2, pp.146-158, Feb. 2002.
[42] K. Pohl, K. Weidenhaupt, R. Domges, P. Haumer, M. Jarke, and R. Klamma, “PRIME—Toward Process-Integrated Modeling Environments,” ACM Trans. Software Eng. and Methodology, vol. 8, no. 4, pp. 343-410, Oct. 1999.
[43] G. Regev and A. Wegmann, “Where Goals Come From: The Underlying Principles of Goal-Oriented Requirements Engineering,” Proc. 13th IEEE Int'l Requirements Eng. Conf., pp. 353-362, 2005.
[44] S. Robertson and J. Robertson, Mastering the Requirements Process. Addison-Wesley, 1999.
[45] W.N. Robinson, “Requirements Monitoring for Enterprise Systems,” Requirements Eng. J., vol. 11, pp. 17-41, 2006.
[46] K. Saleh and A. Al-Zarouni, “Capturing Non-Functional Software Requirements Using the User Requirements Notation,” Proc. Int'l Conf. Innovations in Information Technology, Oct. 2004.
[47] O. Sheyner, J. Haines, S. Jha, R. Lippmann, and J.M. Wing, “Automated Generation and Analysis of Attack Graphs,” Proc. IEEE Symp. Security and Privacy, pp. 273-284, May 2002.
[48] A. Seffah, N. Kececi, and M. Donyaee, “QUIM: A Framework for Quantifying Usability Metrics in Software Quality Models,” Proc. Second Asia-Pacific Conf. Quality Software, p. 0311, 2001.
[49] C. Smith and L. Williams, “Performance Solutions: A Practical Guide to Creating Responsive,” Scalable Software, Addison-Wesley, 2002.
[50] K.J. Soo Hoo, “How Much Is Enough? A Risk-Management Approach to Computer Security,” PhD dissertation, Graduate School of Eng., Stanford Univ., 2000.
[51] H. Thane, “Monitoring, Testing, and Debugging of Distributed Real-Time System,” doctoral dissertation, Royal Inst. of Technology, Stockholm, http://www.mrtc.mdh.se/publications0242.pdf , 2002.
[52] J.J. Tsai and S.J. Yang, Monitoring and Debugging of Distributed Real-Time Systems. IEEE CS Press, 1995.
[53] A. van Lamsweerde, “Goal Oriented Requirements: A Guided Tour,” Proc. Fifth IEEE Int'l Symp. Requirements Eng., p. 249, 2001.
[54] A. van Lamsweerde, “Goal Oriented RE: Roundtrip from Research to Practice,” Proc. 12th IEEE Int'l Requirements Eng. Conf., pp. 4-7, 2004.
[55] E.J. Weyuker, “On Testing Non-Testable Programs,” Computer, vol. 25, no. 4, pp. 465-470, Apr. 1982.
[56] K. Winbladh, T.A. Alspaugh, H. Ziv, and D.J. Richardson, “An Automated Approach for Goal-Driven, Specification-Based Testing,” Proc. 21st IEEE/ACM Int'l Conf. Automated Software Eng., pp.289-292, 2006.
[57] E.S.K. Yu and J. Mylopoulos, “Understanding 'Why' in Software Process Modelling, Analysis, and Design,” Proc. 16th Int'l Conf. Software Eng., pp. 159-168, May 1994.
[58] L. Liu and E. Yu, “Designing Information Systems in Social Context: A Goal and Scenario Modelling Approach,” Information Systems, vol. 29, no. 2, pp. 187-203, 2004.
[59] X. Zou, R. Settimi, and J. Cleland-Huang, “Phrasing in Dynamic Requirements Trace Retrieval,” Proc. Int'l Computer Software and Applications Conf., pp. 265-272, Sept. 2006.
18 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool