Skip to main content

Tracing Non-Functional Requirements

  • Chapter
  • First Online:
Software and Systems Traceability

Abstract

Non-functional requirements, describing quality concerns such as performance, security, and availability, often exhibit complex interdependencies and trade-offs and have broad-reaching impacts across the architectural design of a software intensive system. This creates significant challenges for tracing NFRs, as traceability links can quickly proliferate and the traceability effort can be costly and impractical. As a result, many organizations do not even attempt to trace NFRs; however this means that functional changes are often implemented with very little understanding of how system qualities are affected by the change. The challenge, from a traceability perspective, is to develop effective techniques which simplify the task of creating and maintaining NFR-related traceability links, while still providing effective support for critical tasks such as impact analysis, requirements validation, and architectural preservation. In this chapter we first describe and evaluate existing methods for tracing NFRs and then propose a new pattern-based approach which leverages software architectural techniques to achieve NFR traceability. We illustrate our approach with examples from the mobile phone case study.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  • Antón, A.I.: Goal Identification and Refinement in the Specification of Software-Based Information Systems. Georgia Institute of Technology, Atlanta, GA (1997).

    Google Scholar 

  • Antoniol, G., Canfora, G., Casazza, G., De Lucia, A., Merlo, E.: Recovering traceability links between code and documentation. IEEE Trans. Softw. Eng. 28(10), 970–983 (2002).

    Article  Google Scholar 

  • Aplin, J.: Primary flight computers for the Boeing 777. Microprocess. Microsy. 20(8), 473–478 (1997).

    Article  Google Scholar 

  • Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison Wesley, Boston, MA (2003).

    Google Scholar 

  • Booch, G., Jacobson, I., Rumbaugh, J.: Unified Modelling Language Specification, version 1.3. (2000).

    Google Scholar 

  • Burge, J.E., Brown, D.C.: Software engineering using RATionale. J. Syst. Softw. 81(3), 395–413 (2008).

    Article  Google Scholar 

  • C4ISR Architecture Working Group: C4ISR Architecture Framework, Version 2.0. Washington, DC: Department of Defense, 1997, http://www.afcea.org/education/courses/archfwk2.pdf.

  • Capilla, R., Nava, F., Pérez, S., Dueñas, J.C.: A web-based tool for managing architectural design decisions. SIGSOFT Softw. Eng. Notes. 31 (2006). http://dl.acm.org/citation.cfm?id=1163514.1178644.

  • Castro, J., Kolp, M., Mylopoulos, J.: Towards requirements-driven information systems engineering: The Tropos project. Inf. Syst. 27(6), 365–389 (2002).

    Article  MATH  Google Scholar 

  • CDC UP | Practices Guides on Requirements Traceability, http://www2.cdc.gov/cdcup/library/practices_guides/CDC_UP_Requirements_Traceability_Practice_Guide.pdf.

  • Chromium projects, Design documents, http://www.chromium.org/developers/design-documents.

  • Chung, L.: Non-functional Requirements in Software Engineering. Kluwer Academic, Boston, MA (2000).

    MATH  Google Scholar 

  • Cleland-Huang, J., Schmelzer, D.: Dynamically tracing non-functional requirements through design pattern invariants. In: Workshop on Traceability in Emerging Forms of Software Engineering in Conjunction with ASE 2003 IEEE International Conference on Automated Software Engineering. Montreal, Canada (2003).

    Google Scholar 

  • Cleland-Huang, J., Settimi, R., Khadra, O.B., Berezhanskaya, E., Christina, S.: Goal-centric traceability for managing non-functional requirements. In: Roman, G., Griswold, W.G., Nuseibeh, B. (eds.) Proceedings of the 27th International Conference on Software Engineering (ICSE 2005), 15–21 May 2005, St. Louis, MO, USA, pp. 362–371, ACM, New York, NY (2005).

    Chapter  Google Scholar 

  • Cysneiros, L.M., Leite, J.C.S.D.P.: Nonfunctional requirements: From elicitation to conceptual models. IEEE Trans. Softw. Eng. 30(5), 328–350 (2004).

    Article  Google Scholar 

  • Davis, A.M.: Software Requirements – Objects, Functions, and States. Prentice Hall, Englewood Cliffs, NJ (1993).

    Google Scholar 

  • Dutoit, A.H., McCall, R., Mistrik, I., Paech, B.: Rationale Management in Software Engineering. Springer-Verlag New York, Inc., Secaucus, NJ (2006).

    Book  Google Scholar 

  • Egyed, A., Grünbacher, P.: Supporting software understanding with automated requirements traceability. Int. J. Softw. Eng. Know. Eng. 15(5), 783–810 (2005).

    Article  Google Scholar 

  • Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object Oriented Software. Addison Wesley, Reading, MA (1995).

    Google Scholar 

  • Gan, B.T., Moreira, A., Araújo, J., Clements, P.: Early aspects: Aspect-oriented requirements engineering and architecture design—workshop report. In: Gan, B.T., Clements, P., Moreira, A., Araújo, J. (eds.) Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design. pp. 3–14. Lancaster, UK (2004). http://doc.utwente.nl/56986/1/00000112.pdf.

  • Gross, D., Yu, E.S.K.: From non-functional requirements to design through patterns. Requirements Eng. 6(1), 18–36 (2001).

    Article  MathSciNet  MATH  Google Scholar 

  • Grundy, J.C.: Aspect-oriented requirements engineering for component-based software systems. In: Proceedings of the 4th IEEE International Symposium on Requirements Engineering. pp. 84–91. IEEE Computer Society, Washington, DC (1999).

    Google Scholar 

  • Gurp, J.V., Brinkkemper, S., Bosch, J.: Design preservation over subsequent releases of a software product: a case study of Baan ERP: Practice articles. J. Softw. Maint. Evol. 17, 277–306 (2005).

    Article  Google Scholar 

  • Hofmeister, C., Nord, R., Soni, D.: Applied Software Architecture. Addison-Wesley Longman Publishing Co., Inc., Boston, MA (2000).

    Google Scholar 

  • Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture, pp. 109–120. IEEE Computer Society, Washington, DC (2005).

    Google Scholar 

  • Kassab, M., Ormandjieva, O.: Towards an aspect oriented software development model with tractability mechanism. In: Proceedings of Workshop on Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design. Bonn, Germany (2006). http://trese.cs.utwente.nl/workshops/early-aspects-Traceability-AOSD2006/.

  • Kazman, R., Klein, M., Clements, P.: ATAM: A Method for Architecture Evaluation. Software Engineering Institute, Pittsburgh, PA (2000).

    Google Scholar 

  • Kruchten, P.: An Ontology of Architectural Design Decisions in Software Intensive Systems. In 2nd Groningen Workshop on Software Variability. Citeseer. pp. 54–61 (2004). http://www.kruchten.com/inside/citations/Kruchten2004_DesignDecisions.pdf.

  • Kruchten, P.: The 4+1 View Model of Architecture. IEEE Softw. 12, 42–50 (1995).

    Article  Google Scholar 

  • Lamsweerde, A.V., Letier, E.: From Object Orientation to Goal Orientation: A Paradigm Shift for Requirements Engineering. Springer, Berlin (2004).

    Google Scholar 

  • Mirakhorli, M., Cleland-Huang, J.: A decision-centric approach for tracing reliability concerns in embedded software systems. In: Proceedings of the Workshop on Embedded Software Reliability (ESR), ISSRE10. San Jose, CA, USA (2010).

    Google Scholar 

  • Mirakhorli, M., Cleland-Huang, J.: Tracing architectural concerns in high assurance systems (NIER Track). In: Proceedings of the 33th International Conference on Software Engineering, New Ideas and Emerging Results Track, ICSE. Waikiki, Honolulu, HI, USA (2011a).

    Google Scholar 

  • Mirakhorli, M., Cleland-Huang, J.: Transforming trace information in architectural documents into re-usable and effective traceability links. In: Proceedings of the 6th Workshop on Sharing and Reusing Architectural Knowledge. Waikiki, Honolulu, HI, USA (2011b).

    Google Scholar 

  • Mirakhorli, M., Cleland-Huang, J.: Using tactic traceability information models to reduce the risk of architectural degradation during system maintenance. In: Proceedings of the 27th International Conference on Software Maintenance. Williamsburg, VA, USA (ICSM) (2011c).

    Google Scholar 

  • NASA’s Robots, http://prime.jsc.nasa.gov/ROV/nlinks.html.

  • Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes. 17(4), 40–52 (1992).

    Article  Google Scholar 

  • Ramesh, B., Edwards, M.: Issues in the development of a requirements traceability model. In: Proceedings of IEEE International Symposium on Requirements Engineering, pp. 256–259 (1993). http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=324849%26;tag=1.

  • Ramesh, B., Jarke, M.: Toward reference models of requirements traceability. IEEE Trans. Softw. Eng. 27(1), 58–93 (2001).

    Article  Google Scholar 

  • Rashid, A., Moreira, A., Araújo, J.: Modularisation and composition of aspectual requirements. In: Proceedings of the 2nd International Conference on Aspect-Oriented Software Development. pp. 11–20. ACM, New York, NY (2003).

    Google Scholar 

  • Rashid, A., Sawyer, P., Moreira, A.M.D., Araújo, J.A.: Early aspects: A model for aspect-oriented requirements engineering. In: Proceedings of the 10th Anniversary IEEE Joint International Conference on Requirements Engineering. pp. 199–202. IEEE Computer Society, Washington, DC (2002).

    Google Scholar 

  • Rummler, A., Pohl, C., Grammel, B.: Improving traceability through AOSD. In: Proceedings of the Third Workshop on Models and Aspects, Handling Crosscutting Concerns in MDSD at the 21st European Conference on Object-Oriented Programming. Berlin, Germany. pp. 9–10 (2007) (Forschungsberichte der Fakultät IV, Elektrotechnik und Informatik, Bericht Nr. 6, 2007).

    Google Scholar 

  • Salazar-Zárate, G., Botella, P., Dahanayake, A.: Introducing non-functional requirements in UML. In: Favre, L. (ed.) UML and the Unified Process. pp. 116–128. IGI Publishing, Hershey, PA, USA (2003).

    Google Scholar 

  • Sheyner, O., Haines, J., Jha, S., Lippmann, R., Wing, J.M.: Automated generation and analysis of attack graphs. 2002 IEEE Symposium on Security and Privacy (SSP '02). pp. 273–284. IEEE, Washington – Brussels – Tokyo (2002).

    Google Scholar 

  • Siewiorek, D.P., Narasimhan, P.: Fault-tolerant architectures for space and avionics applications (2005). http://ic-www.arc.nasa.gov/projects/ishem/Papers/Siewiorek_Fault_Tol.pdf.

  • Sommerville, I.: Software Engineering, 7th edn. Pearson Addison Wesley, Boston, MA (2004).

    Google Scholar 

  • Tang, A., Avgeriou, P., Jansen, A., Capilla, R., Babar, M.A.: A comparative study of architecture knowledge management tools. J. Syst. Softw. 83(3), 352–370 (2010).

    Article  Google Scholar 

  • Tang, A., Jin, Y., Han, J.: A rationale-based architecture model for design traceability and reasoning. J. Syst. Softw. 80(6), 918–934 (2007).

    Article  Google Scholar 

  • Tekinerdogan, B., Hofmann, C., Aksit, M.: Modeling traceability of concerns for synchronizing architectural views. J. Object Technol. 6(7), 7–25 (2007).

    Article  Google Scholar 

  • TekinerdoÄŸan, B., Hofmann, C., AkÅŸit, M., Bakker, J.: Metamodel for tracing concerns across the life cycle. In: Proceedings of the 10th International Conference on Early Aspects: Current Challenges and Future Directions, pp. 175–194. Springer, Berlin, Heidelberg (2007).

    Google Scholar 

  • Tryggeseth, E., Nytro, I.: Dynamic traceability links supported by a system architecture description. In: Proceedings International Conference on Software Maintenance, pp. 180–187. Bari, Italy (1997).

    Google Scholar 

  • Tyree, J., Akerman, A.: Architecture decisions: Demystifying architecture. IEEE Softw. 22(2), 19–27 (2005).

    Article  Google Scholar 

  • van Vliet, H.: Software architecture knowledge management. In: Proceedings of 19th Australian Conference on Software Engineering, 2008, ASWEC 2008, pp. 24–31 (2008).

    Google Scholar 

  • Wiegers, K.E.: Software Requirements. Microsoft Press, Redmond, WA (1999).

    Google Scholar 

  • Yu, E.S.K.: Towards modeling and reasoning support for early-phase requirements engineering. In Proceedings of the 3rd IEEE International Symposium on Requirements Engineering (RE'97), pp. 226–235 (1997).

    Google Scholar 

  • Zhu, L., Gorton, I.: UML profiles for design decisions and non-functional requirements. Proceedings of the 2nd Workshop on SHAring and Reusing Architectural Knowledge Architecture, Rationale, and Design Intent, pp. 8–15. IEEE Computer Society, Washington, DC (2007).

    Google Scholar 

Download references

Acknowledgments

The work described in this chapter related to Goal Centric Traceability and Architectural Centric Traceability has been partially funded by the National Science Foundation under grants CCF-0810924 and CCF-0447594.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mehdi Mirakhorli .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag London Limited

About this chapter

Cite this chapter

Mirakhorli, M., Cleland-Huang, J. (2012). Tracing Non-Functional Requirements. In: Cleland-Huang, J., Gotel, O., Zisman, A. (eds) Software and Systems Traceability. Springer, London. https://doi.org/10.1007/978-1-4471-2239-5_14

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-2239-5_14

  • Published:

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-4471-2238-8

  • Online ISBN: 978-1-4471-2239-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics