Abstract
A central tenet of software architecture design is to base this on a formulation of desired quality attributes, such as buildability, performance, and availability of the target system. Thus there is a need for architectural evaluation—ensuring the architecture’s support for desired quality attributes—and a variety of evaluation techniques have been developed, described, and used. Architectural prototyping is an experimental approach that creates executable ‘skeleton’ systems to investigate architectural qualities of a future system. Architectural prototyping is a learning vehicle for exploring an architectural design space as well as an evaluation technique. The contribution of this paper is to explore the evaluation aspect of architectural prototypes from an analytical standpoint. We present an analysis and discussion of architectural prototyping in the context of two well-established quality frameworks. Our analysis concludes that architectural prototyping is a viable evaluation technique that may evaluate architectural quality attributes and especially valuable in cases where the balance between opposing qualities must be assessed.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Bardram, J.E., Christensen, H.B., Hansen, K.M.: Architectural Prototyping: An Approach for Grounding Architectural Design and Learning. In: Proceedings of the 4th Working IEEE/IFIP Conference on Software Architecture, Oslo, Norway, pp. 15–24 (2004)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2003)
Coutaz, J.: PAC, an object-oriented model for dialog design. In: Proceedings of IFIP INTERAC 1987, pp. 431–436 (1987)
Dromey, R.G.: Cornering the chimera. IEEE Software 13(1), 33–43 (1996)
Dromey, R.G.: Software quality—prevention versus cure? Software Quality Journal 11, 197–210 (2003)
Eugster, P.T., Felber, P., Guerraoui, R., Kermarrec, A.-M.: The many faces of publish/subscribe. ACM Computing Surveys 35(2), 114–131 (2003)
Fagan, M.E.: Design and code inspections to reduce errors in program developement. IBM Systems Journal 15(3) (1976)
Floyd, C.: A systematic look at prototyping. In: Budde, R., Kuhlenkamp, K., Mathiassen, L., Züllighoven, H. (eds.) Approaches to Prototyping, pp. 1–18. Springer, Heidelberg (1984)
Garvin, D.A.: What does ”product quality” really mean? Sloan Management Review 26(1), 25–43 (1984)
Gromey, R.G.: A model for software product quality. IEEE Transactions on Software Engineering 21(2), 146–162 (1995)
Hansen, K., Wells, L., Maier, T.: HAZOP Analysis of UML-Based Software Architecture Descriptions of Safety-Critical Systems. In: Proceedings of NWUML 2004 (2004)
IEC. Functional Safety of Electrical/ Electronic/ Programmable Electronic Safety-Related Systems, 1st edition, 1998-2000. International Standard IEC 61508, Parts 1-7
Ingstrup, M., Hansen, K.M.: Palpable Assemblies: Dynamic Service Composition in Ubiquitous Computing. To appear in Proceedings of Software Engineering and Knowledge Engingeering, SEKE 2005 (2005)
ISO/IEC. Software engineering – Product quality – Part 1: Quality model, ISO/IEC 9126-1:2001 (2001)
ISO/IEC. Software engineering – Product quality – Part 2: External metrics, ISO/IEC 9126-2:2001 (2001)
ISO/IEC. Software engineering – Product quality – Part 3: Internal metrics, ISO/IEC 9126-3:2001 (2001)
ISO/IEC. Software engineering – Product quality – Part 3: Quality in use metrics, ISO/IEC 9126-3:2001 (2001)
John, B.E., Bass, L.: Usability and software architecture. Behavior & Information Technology 20(5), 329–338 (2001)
Kitchenham, B., Pfleeger, S.L.: Software quality: The elusive target. IEEE Software, 12–21 (1996)
Krasner, G., Pope, S.: A cookbook for using the Model-View-Controller user interface paradigm in Smalltalk-80. Journal of Object-Oriented Programming 1(3), 26–49 (1988)
Lauesen, S., Younessi, H.: Is software quality visible in code? IEEE Software, 69–73 (July/August 1998)
Michael, C.C., Voas, J.: The ability of directed tests to predict software quality. Annals of Software Engineering 4, 31–64 (1997)
Osterweil, L., Clarke, L.A., DeMillo, R.A., Feldman, S.I., McKeeman, B., Miller, E.F., Salasin, J.: Strategic directions in software quality. ACM Computing Surveys 28(4), 738–750 (1996)
6th Framework Programme, Information Society Technologies, Disappearing Computer II, project 002057 PalCom: Palpable Computing – A new perspective on Ambient Computing, http://www.ist-palcom.org
Perry, D., Wolf, A.: Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes 17(4), 40–52 (1992)
Rational Software. Rational Unified Process: Best Practices for Software Development Teams (1998), http://www.rational.com/media/whitepapers/rup_bestpractices.pdf
Rosqvist, T., Koskela, M., Harju, H.: Software Quality Evaluation Based on Expert Judgement. Software Quality Journal 11, 39–55 (2003)
Svahnberg, M., Wohlin, C.: An Investigation of a Method for Identifying a Software Architecture Candidate with Respect to Quality Attributes. Empirical Software Engineering 10, 149–181 (2005)
Wong, B., Jeffrey, R.: A Framework for Software Quality Evaluation. In: Peled, D.A., Vardi, M.Y. (eds.) FORTE 2002. LNCS, vol. 2529, pp. 103–118. Springer, Heidelberg (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bardram, J.E., Christensen, H.B., Corry, A.V., Hansen, K.M., Ingstrup, M. (2005). Exploring Quality Attributes Using Architectural Prototyping. In: Reussner, R., Mayer, J., Stafford, J.A., Overhage, S., Becker, S., Schroeder, P.J. (eds) Quality of Software Architectures and Software Quality. QoSA SOQUA 2005 2005. Lecture Notes in Computer Science, vol 3712. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11558569_12
Download citation
DOI: https://doi.org/10.1007/11558569_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29033-9
Online ISBN: 978-3-540-32056-2
eBook Packages: Computer ScienceComputer Science (R0)