Skip to main content
Log in

Reconciling software requirements and architectures with intermediate models

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Little guidance and few methods are available for the refinement of software requirements into an architecture satisfying those requirements. Part of the challenge stems from the fact that requirements and architectures use different terms and concepts to capture the model elements relevant to each. In this paper we will present CBSP, a lightweight approach intended to provide a systematic way of reconciling requirements and architectures using intermediate models. CBSP leverages a simple set of architectural concepts (components, connectors, overall systems, and their properties) to recast and refine the requirements into an intermediate model facilitating their mapping to architectures. Furthermore, the intermediate CBSP model eases capturing and maintaining arbitrarily complex relationships between requirements and architectural model elements, as well as among CBSP model elements. We have applied CBSP within the context of different requirements and architecture definition techniques. We leverage that experience in this paper to demonstrate the CBSP method and tool support using a large-scale example.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Batory D, O’Malley S (1992) The Design and Implementation of Hierarchical Software Systems with Reusable Components. ACM Transactions on Software Engineering and Methodology (TOSEM) 1(4): 355–398

    Article  Google Scholar 

  2. Bauer FL, Moller B, Partsch H, Pepper P (1989) Formal Program Construction by Transformations-Computer-Aided, Intuition-Guided Programming. IEEE Transactions on Software Engineering 15(2): 165–180

    Article  Google Scholar 

  3. Boehm BW, Egyed A, Kwan J, Port D, Shah A, Madachy R (1998) Using the WinWin Spiral Model: A Case Study. IEEE Computer 7: 33–44

    Article  Google Scholar 

  4. Boehm BW, Grünbacher P, Briggs RO (2001) Developing Groupware for Requirements Negotiation: Lessons Learned. IEEE Software 18(3): 46–55

    Article  Google Scholar 

  5. Brandozzi M, Perry DE (2001) Transforming Goal-Oriented Requirement Specifications into Architecture Prescriptions. In: Workshop “From Software Requirements to Architectures” (STRAW’01) at ICSE 2001

  6. Briggs RO, Grünbacher P (2002) EasyWinWin: Managing Complexity in Requirements Negotiation with GSS. In: 35th Annual Hawaii International Conference on System Sciences (HICSS’02) – Volume 1. Big Island, Hawaii

  7. de Bruin H, van Vliet H, Baida Z (2002) Documenting and Analyzing a Context-Sensitive Design Space. In: Working IFIP/IEEE Conference on Software Architecture (WICSA 3). Montreal

  8. Chung L, Gross D, Yu E (1999) Architectural Design to Meet Stakeholder Requirements. In: Donohue P (ed.): Software Architecture, Kluwer Academic Publishers, pp. 545–564

  9. Chung L, Nixon BA, Yu E, Mylopoulos J (2000) Non-Functional Requirements in Software Engineering. Kluwer

  10. Dardenne A, Fickas S, van Lamsweerde A (1993) Goal-Directed Concept Acquisition in Requirement Elicitation. In: 6th Int. Workshop on Software Specification and Design (IWSSD 6)

  11. Egyed A, Grünbacher P (2002) Automating Requirements Traceability: Beyond the Record & Replay Paradigm. In: 17th Int’l Conf. Automated Software Engineering. IEEE CS, Edinburgh

  12. Egyed A, Medvidovic N, Gacek C (2000) A Component-Based Perspective of Software Mismatch Detection and Resolution. IEE Software Engineering 147(6): 225–236

    Article  Google Scholar 

  13. Egyed AF, Boehm BW (1999) Comparing Software System Requirements Negotiation Patterns. Systems Engineering Journal 6(1): 1–14

    Article  Google Scholar 

  14. Fielding RT (2000) Architectural Styles and the Design of Network-based Software Architectures. University of California, Irvine

  15. Franch X, Maiden NAM (2003) Modeling Component Dependencies to Inform their Selection. In: 2nd International Conference on COTS-Based Software Systems, Springer

  16. Gacek C (1998) Detecting Architectural Mismatches During Systems Composition. In: Center for Software Engineering, University of Southern California, Los Angeles, CA 90089

  17. Gieszl LR (1992) Traceability for Integration. In: 2nd International Conference on Systems Integration (ICSI 92)

  18. Gotel O, Finkelstein A (1995) Contribution structures. In: Second IEEE International Symposium on Requirements Engineering, York, England

  19. Gotel OCZ, Finkelstein ACW (1994) An Analysis of the Requirements Traceability Problem. In: 1st International Conference on Requirements Engineering

  20. Grünbacher P, Briggs RO (2001) Surfacing Tacit Knowledge in Requirements Negotiation: Experiences using EasyWinWin. In: 34th Hawaii International Conference on System Sciences

  21. Grünbacher P, Egyed A, Medvidovic N (2001) Reconciling Software Requirements and Architectures: The CBSP Approach. In: 5th IEEE International Symposium on Requirements Engineering, IEEE CS

  22. Hall JG, Jackson M, Laney RC, Nuseibeh B, Rapanotti L (2002) Relating Software Requirements and Architectures using Problem Frames. In: IEEE International Requirements Engineering Conference (RE’02), Essen, Germany

  23. IEEE-610 (1990) IEEE Standard Glossary of Software Engineering Terminology. The Institute of Electrical and Electronics Engineers

  24. IEEE-1320 (1999) IEEE Standards Software Engineering: IEEE Standard for Functional Modeling Language – Syntax and Semantics for IDEF0. The Institute of Electrical and Electronics Engineers

  25. Kazman R, Barbacci M, Klein M, Carrière SJ, Woods SG (1999) Experience with Performing Architecture Tradeoff Analysis. In: International Conference on Software Engineering. Los Angeles, CA

  26. Kunz W, Rittel H (1970) Issues as elements of information systems. Center for Planning and Development Research, Univ. of California, Berkeley

  27. Lamsweerde Av, Darimont R, Letier E (1998) Managing Conflicts in Goal-Driven Requirements Engineering. IEEE Transactions on Software Engineering 24(11): 908–926

    Article  Google Scholar 

  28. Liu J, Traynor O, Krieg-Bruckner B (1992) Knowledge-Based Transformational Programming. In: 4th International Conference on Software Engineering and Knowledge Engineering

  29. Medvidovic N, Egyed AF, Grünbacher P (2003) Stemming Architectural Erosion by Coupling Architectural Discovery and Recovery. In: STRAW’03: Second International SofTware Requirements to Architectures Workshop at ICSE 2003 Portland, Oregon. http://se.uwaterloo.ca/∼straw03/

  30. Medvidovic N, Rosenblum DS, Taylor RN (1999) A Language and Environment for Architecture-Based Software Development and Evolution. In: International Conference on Software Engineering. Los Angeles, CA

  31. Medvidovic N, Taylor RN (2000) A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering 26(1): 70–93

    Article  Google Scholar 

  32. Mehta N, Medvidovic N (2003) Composing Architectural Styles from Architectural Primitives: Proceedings. In: ESEC/FSE, Helsinki

  33. Mehta NR, Medvidovic N, Phadke S (2000) Towards a Taxonomy of Software Connectors. In: 22nd International Conference on Software Engineering, Limerick, Ireland

  34. Mikic-Rakic M, Mehta NR, Medvidovic N (2002) Architectural style requirements for self-healing systems. In: Proceedings of the Workshop on Self-Healing Systems, Charleston, South Carolina

  35. Mullery G (1979) CORE: A Method for Controlled Requirements Specification. In: 4th International Conference on Software Engineering, Munich, Germany

  36. Nuseibeh B (2001) Weaving Together Requirements and Architectures. IEEE Computer 34(3): 115–117

    Article  Google Scholar 

  37. Nuseibeh B, Easterbrook S (2000) Requirements Engineering: A Roadmap. In: The Future of Software Engineering, Special Issue 22nd International Conference on Software Engineering, ACM-IEEE

  38. Nuseibeh B, Kramer J, Finkelstein A (1994) A Framework for Expressing the Relationships Between Multiple Views in Requirements Specification. IEEE Transactions on Software Engineering 20(10): 760–773

    Article  Google Scholar 

  39. Partsch H, Steinbruggen R (1983) Program Transformation Systems. ACM Computing Surveys 15(3): 199–236

    Article  MathSciNet  Google Scholar 

  40. Perry DE, Wolf AL (1992) Foundations for the Study of Software Architectures. Software Engineering Notes

  41. Potts C, Burns G (1988) Recording the reasons for design decisions. In 10th International Conference on Software Engineering, IEEE Comp. Soc. Press

  42. Radice R, Roth N, O’Hara A Jr, Ciarfella W (1985) A Programming Process Architecture. IBM Systems Journal 24(2): 79–90

    Article  Google Scholar 

  43. Ramesh B, Jarke M (2001) Toward Reference Models for Requirements Traceability. IEEE Transactions on Software Engineering 27(4): 58–93

    Article  Google Scholar 

  44. Robertson S, Robertson J (1999) Mastering the Requirements Process, Addison-Wesley

  45. Shaw M, Clements P (1997) A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems. In: COMPSAC, 21st Int’l Computer Software and Applications Conference

  46. Shaw M, Garlan D (1996) Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall

    Google Scholar 

  47. Siegel S, Castellan NJ (1988) Nonparametric Statistics for the Behavioral Sciences, McGraw-Hill, New York

  48. Sommerville I, Sawyer P, Viller S (1998) Viewpoints for requirements elicitation: A practical approach. In: Third IEEE Internation Conference on Requirements Engineering (ICRE 98), Colorado Springs, IEEE CS Press

  49. Tracz W (1995) DSSA (Domain-Specific Software Architecture) Pedagogical Example. ACM SIGSOFT Software Engineering Notes

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Paul Grünbacher, Alexander Egyed or Nenad Medvidovic.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Grünbacher, P., Egyed, A. & Medvidovic, N. Reconciling software requirements and architectures with intermediate models. Softw Syst Model 3, 235–253 (2004). https://doi.org/10.1007/s10270-003-0038-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-003-0038-6

Keywords

Navigation