skip to main content
10.1145/2024445.2024466acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Problem-solution mapping for forward and reengineering on architectural level

Published: 05 September 2011 Publication History

Abstract

Software architectures play a key role for the development and evolution of software systems because they have to enable their quality properties such as scalability, flexibility, and security. Software architectural decisions represent a transition from problem space with quality goals and requirements on one side to solution space with technical solutions on the other side. Technical solutions are reusable elements for the work of the architect as for example patterns, styles, frameworks and building blocks. For long-term evolution of the systems, an explicit mapping between goals and solutions is helpful for expressing design knowledge and fundamental decisions. Such a mapping has to bridge between the fields of requirements engineering, software architectural design, and software quality thus enabling reuse. In this paper the Goal Solution Scheme is discussed, which maps quality goals and goal refinements to architectural principles and solutions. The paper extends the approach from the previously discussed forward engineering to re-engineering activities thus covering evolutionary development processes. The evaluation of the approach has been performed in several case studies and projects including a large industrial one.

References

[1]
M. R. Barbacci, R. Ellison, A. J. Lattanze, J. A. Stafford, C. B. Weinstock, and W. G. Wood. Quality attribute workshops (QAWs), third edition. Technical Report Carnegie Mellon University/SEI-2003-TR-016; ESC-TR-2003-016, Carnegie Mellon University, SEI, August 2003.
[2]
L. J. Bass, M. Klein, and F. Bachmann. Quality attribute design primitives and the attribute driven design method. In Revised Papers from the 4th International Workshop on Software Product-Family Engineering, pages 169--186. Springer, 2002.
[3]
P. Bengtsson, N. Lassing, J. Bosch, and H. van Vliet. Architecture-level modifiability analysis (ALMA). J. Syst. Softw., 69(1--2):129--147, 2004.
[4]
S. Bode, A. Fischer, W. E. Kühnhauser, and M. Riebisch. Software architectural design meets security engineering. In Proc. 16th Int. Conf. and Workshop on the Engineering of Computer Based Systems (ECBS 2009), pages 109--118. IEEE, 2009.
[5]
S. Bode, S. Lehnert, and M. Riebisch. Comprehensive model integration for dependency identification with EMFTrace. In Joint Proc. of the First Int. Workshop on Model-Driven Software Migration (MDSM 2011) and the Fifth Int. Workshop on Software Quality and Maintainability (SQM 2011), pages 17--20. CEUR-WS.org, Mar 2011.
[6]
S. Bode and M. Riebisch. Impact evaluation for quality-oriented architectural decisions regarding evolvability. In M. Babar and I. Gorton, editors, Proc. 4th European Conference on Software Architecture, ECSA 2010, pages 182--197. Springer, 2010.
[7]
S. Bode and M. Riebisch. Tracing the implementation of non-functional requirements. In N. Milanovic, editor, Non-Functional Properties in Service-Oriented Architecture: Requirements, Models and Methods, chapter 1, pages 1--23. IGI Global, 2011.
[8]
J. Bosch. Design and use of software architectures: Adopting and evolving a product-line approach. ACM Press/Addison-Wesley, 2000.
[9]
R. Brcina. Goal-Driven Detection and Correction of Quality Deficiencies in Software Systems for Evolvability (in German). PhD thesis, Ilmenau University of Technology, 2011. (submitted).
[10]
L. Chung, B. A. Nixon, E. Yu, and J. Mylopoulos. Non-functional Requirements in Software Engineering. Kluwer, 2000.
[11]
J. Cleland-Huang, R. Settimi, O. BenKhadra, E. Berezhanskaya, and S. Christina. Goal-centric traceability for managing non-functional requirements. In Proc. 27th Int. Conf. on Software Engineering, 2005 (ICSE '05), pages 362--371. IEEE, May 2005.
[12]
F. Deissenboeck, S. Wagner, M. Pizka, S. Teuchert, and J.-F. Girard. An activity-based quality model for maintainability. In Proc. 23rd Int. Conf. on Software Maintenance (ICSM 2007), pages 184--193. IEEE, 2007.
[13]
S. Demeyer, S. Ducasse, and O. Nierstrasz. Object-Oriented Reengineering Patterns. Square Bracket Associates, Kehrsatz, Switzerland, 2008.
[14]
A. Egyed. A scenario-driven approach to traceability. In Proc. 23rd Int. Conf. on Software Engineering, (ICSE'01), pages 123--132. IEEE, May 2001.
[15]
G. A. A. C. Filho, A. Zisman, and G. Spanoudakis. Traceability approach for i* and UML models. In Proc. of 2nd Int. Workshop on Software Engineering for Large-Scale Multi-Agent Systems (SELMAS'03), 2003.
[16]
M. Fowler. Improving the design of existing code. Addison Wesley, Longman, Inc., Amsterdam, 1999.
[17]
M. Galster, A. Eberlein, and M. Moussavi. Transition from requirements to architecture: A review and future perspective. In Seventh ACIS Int. Conf. on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing, 2006 (SNPD 2006), pages 9--16. IEEE, June 2006.
[18]
M. Galster, A. Eberlein, and M. Moussavi. Systematic selection of software architecture styles. IET Software, 4(5):349--360, Oct. 2010.
[19]
O. C. Z. Gotel and A. C. W. Finkelstein. An analysis of the requirements traceability problem. In Proc. First Int. Conf. on Requirements Engineering, pages 94--101. IEEE, April 1994.
[20]
C. Hofmeister, R. Nord, and D. Soni. Applied Software Architecture. Addison-Wesley Longman, 2000.
[21]
International Standardization Organisation. ISO/IEC 9126-1 International Standard. Software Engineering -- Product quality -- Part 1: Quality models, June 2001.
[22]
International Standardization Organisation. ISO/IEC 25010:2011 Systems and software engineering -- Systems and software Quality Requirements and Evaluation (SQuaRE) -- System and software quality models, 2011.
[23]
ITU-T. Recommendation ITU-T Z.151 User requirements notation (URN) -- Language definition, Nov 2008.
[24]
W. Jirapanthong and A. Zisman. Xtraque: traceability for product line systems. Software and Systems Modeling, 8(1):117--144, 2009.
[25]
R. Kazman, M. Klein, and P. Clements. ATAM: Method for Architecture Evaluation. Technical Report Carnegie Mellon University/SEI-2000-TR-004, Carnegie Mellon University/SEI, August 2000.
[26]
M. Lanza and R. Marinescu. Object-oriented Metrics in Practice. Springer, 2006.
[27]
P. Letelier. A framework for requirements traceability in UML-based projects. In Proceedings 1st Int. Workshop on Traceability in Emerging Forms of SE (TEFSE'02), pages 32--41, Edinburgh, UK, 2002.
[28]
R. Marinescu and D. Ratiu. Quantifying the quality of object-oriented design: the factor-strategy model. In Proc. 11th Working Conf. on Reverse Engineering, (WCRE 2004), pages 192--201. IEEE, 2004.
[29]
J. A. McCall, P. K. Richards, and G. F. Walters. Factors in software quality. Technical Report RADC TR-77-369, Rome Air Development Center, Rome, NY, USA, 1977.
[30]
T. Olsson and J. Grundy. Supporting traceability and inconsistency management between software artifacts. In Proc. of the IASTED International Conference on Software Engineering and Applications, 2002.
[31]
D. Parnas. On the criteria to be used in decomposing systems into modules. Commun. ACM, 15(12):1053--1058, 1972.
[32]
F. A. C. Pinheiro. Requirements traceability. In J. Leite and J. Doorn, editors, Perspectives on Software Requirements, chapter 5, pages 91--113. Kluwer, Norwell, MA, USA, 2004.
[33]
C. Potts and K. Takahashi. An active hypertext model for system requirements. In IWSSD '93: Proceedings of the 7th international workshop on Software specification and design, pages 62--68, Los Alamitos, CA, USA, Dec 1993. IEEE Computer Society Press.
[34]
B. Ramesh and M. Jarke. Toward reference models for requirements traceability. IEEE Trans. Softw. Eng., 27(1):58--93, 2001.
[35]
M. Riaz, M. Sulayman, and H. Naqvi. Architectural decay during continuous software evolution and impact of 'design for change' on software architectures. In D. Slezak, T.-h. Kim, A. Kiumi, T. Jiang, J. Verner, and S. Abrahao, editors, Advances in Software Engineering, volume 59 of Communications in Computer and Information Science, pages 119--126. Springer, 2009.
[36]
M. Riebisch, A. Pacholik, and S. Bode. Towards optimization of design decisions for embedded systems by exploiting dependency relationships. In Proceedings Dagstuhl-Workshop Modellbasierte Entwicklung eingebetteter Systeme IV (MBEES), pages 11--20. fortiss GmbH, February 2011.
[37]
M. Riebisch and S. Wohlfarth. Introducing impact analysis for architectural decisions. In Proceedings 14th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS2007), pages 381--390. IEEE, 2007.
[38]
G. Spanoudakis, A. d'Avila Garces, and A. Zisman. Revising rules to capture requirements traceability relations: A machine learning approach. In Proc. of the 15th Int. Conf. in Software Engineering and Knowledge Engineering (SEKE 2003), pages 570--577. Knowledge Systems Institute, Skokie, 2003.
[39]
G. Spanoudakis, A. Zisman, E. Perez-Minana, and P. Krause. Rule-based generation of requirements traceability relations. J. Syst. Softw., 72(2):105--127, 2004.
[40]
D. H. Stamatis. Failure Mode and Effect Analysis: FMEA from Theory to Execution. ASQ Quality Press, 2nd edition, 2003.
[41]
S. Wagner, F. Deissenboeck, and S. Winter. Managing quality requirements using activity-based quality models. In Proc. of the 6th Int. Workshop on Software Quality (WoSQ'08), pages 29--34. ACM, 2008.
[42]
E. S.-K. Yu. Modelling Strategic Relationships for Process Reengineering. PhD thesis, University of Toronto, Toronto, Ontario, Canada, 1995.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
IWPSE-EVOL '11: Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution
September 2011
140 pages
ISBN:9781450308489
DOI:10.1145/2024445
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 September 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. decision support
  2. quality goals
  3. reengineering
  4. reuse
  5. software architecture
  6. software evolution
  7. traceability

Qualifiers

  • Research-article

Conference

ESEC/FSE'11
Sponsor:

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 23 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media