Skip to main content
Log in

A Framework for Design Tradeoffs

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Designs almost always require tradeoffs between competing design choices to meet system requirements. We present a framework for evaluating design choices with respect to meeting competing requirements. Specifically, we develop a model to estimate the performance of a UML design subject to changing levels of security and fault-tolerance. This analysis gives us a way to identify design solutions that are infeasible. Multi-criteria decision making techniques are applied to evaluate the remaining feasible alternatives. The method is illustrated with two examples: a small sensor network and a system for controlling traffic lights.

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

  • Alsaadi, A. 2004. A performance analysis approach based on the uml class diagram. In Proceedings of the 4th International Workshop on Software and Performance, January 14–16, Redwood Shores, CA, pp. 254–260.

  • Andrews, A., Runeson, P., and France R. 2004. Requirements Tradeoffs During UML Design. Proceedings 11th International Conference on Engineering of Computer Based Systems, (ECBS 2004), Brno, Czech Republic, May 24–27, pp. 282–291.

  • Avritzer, A., Kondek, J., Liu, D., and Weyuker, E.J. 2002. Software performance testing based on workload characterization. In Proceedings of the 3rd International Workshop on Software and Performance, July 24–26, Rome Italy, pp. 17–24.

  • Balsamo, S., Marco, A.D., and Inverardi, P. 2004. “Model-based Performance Prediction in Software Development: A Survey. IEEE Transactions on Software Engineering, 30(5):295–310.

    Article  Google Scholar 

  • Bass, L., Clements, P., and Kazman, R. 1998. Software Architecture in Practice, Addison Wesley Longman Inc., Massachusetts, U.S.A.

    Google Scholar 

  • Berander, P. and Andrews, A. 2005. In Engineering and Managing Software Requirements, Springer Verlag.

  • Berling, T. and Runeson, P. 2000. Application of factorial design to validation of system performance. In Proceedings 7th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS), Edinburgh, Scotland, UK, April 3–7, pp. 318–326.

  • Berling, T. and Runeson, P. 2003. Efficient Evaluation of Multi-Factor Dependent System Performance using Fractional Factorial Design. IEEE Transactions on Software Engineering 29(9): 769–781.

    Article  Google Scholar 

  • Boehm, B., Bose, P., Horowitz, E., and Lee, M. 1994. Software requirements as negotiated win conditions. In Proceedings 1st International Conference on Requirements Engineering, pp. 74–83, Colorado Springs, CO.

  • Bogetoft, P. and Pruzan, P. 1991. Planning with Multiple Critera, North-Holland, New York.

    Google Scholar 

  • Darimont, R., Delor, E., Massonet, P. and van Lamsweerde, A. 1997. GRAIL/KAOS: and environment for goal driven requirements engineering. In Proceedings 19th International Conference on Software Engineering, May 17–23, pp. 612–613.

  • Easton, A. 1973. Complex Managerial Decisions Involving Multiple Objectives, Wiley.

  • Feather. M. 2002. A quantitative risk-based model for reasoning over critical system properties. In Proceedings International Workshop on Requirements for High Assurance Systems, pp. 11–18, Essen, Germany.

  • Feather, M., Conford, Dunphy, J., and Hicks. H. 2002. A quantitative risk model for early lifecycle decision making. In Proceedings Integrated Design and Process Technology (IDPT-2002), June 23–28, Pasadena, CA, Society for Design and Process Science.

  • Feather, M. and Conford, S. 2003. Quantitative Risk-based Requirements Reasoning. Requirements Engineering Journal, Springer Verlag, 8(4): 248–265.

  • Fowler, M. and Scott, K. 1999. UML Distilled—A Brief Guide to the Standard Object Modeling Language, Addison-Wesley, 2nd edition.

  • France, R. and Georg, G. 2002. Modeling Fault Tolerant Concerns Using Aspects, Technical Report 02-102, Computer Science Department, Colorado State University.

  • Georg, G., France, R., and Ray, I. 2002. An Aspect-based Approach to Modeling Security Concerns, Technical Report 03–111, Computer Science Department, Colorado State University, 2003; also in In Proceedings of the Workshop on Critical System Development with UML, Dresden, Germany.

  • Gray, J., Bapty, T., Neema, S., Tuck, J. 2002. Handling Crosscutting Constraints in Domain-specific Modeling. Communications of the ACM 44(10): 87–93.

    Google Scholar 

  • Grochow, J.M. 1972. A Utility Theoretic Approach to Evaluation of a Time-Sharing System. In W. Freiberge (ed.), Statistical Computer Performance Evaluation, Academic Press.

  • Johansson, E., Wartenberg, F. Proposal and evaluation for organizing and using available data for software performance estimations in embedded platform development. In Proceedings 10th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2004), May 25–28, pp. 156–163, 2004.

  • Kao, Y. 1990. Quality Function Deployment, Productivity Press, Cambridge, MA.

    Google Scholar 

  • Karlsson, J., 1997. Ryan, K. A Cost-value Approach for Prioritizing Requirements. IEEE Software 14(5): 67–74.

    Article  Google Scholar 

  • Kazman, R., Klein, M., and Clements, P. 2000. ATAM: Method for Architecture Evaluation. Technical Report CMU/SEI-2000-TR-004, Carnegie Mellon University—Software Engineering Institute.

  • Keeney, R. and Raiffa, H. 1976. Decisions with Multiple Objectives: Preferences and Value Tradeoffs, John Wiley & Sons, New York.

    Google Scholar 

  • Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., and Irwin, J. 1997. Aspect-oriented Programming. In Proceedings of the European Conference on Object-oriented Programming (ECOOP 97), pp. 220–242, Lecture Notes in Computer Science, Vol. 1241.

  • Kleijnen, J.P.C. 1980. Computers and Profits: Quantifying Financial Benefits of Information, Addison-Wesley.

  • Liu, X.F. and Yen, J. 1996. “An analytic framework for specifying and analyzing imprecise requirements. In Proceedings International Conference on Software Engineering (ICSE 18), March 25–30, Berlin, Germany, pp. 60–69.

  • McKinnon, A.D., Dorow, K., Damania, T. et. al. 2003. A Configurable Middleware Framework with Multiple Quality of Service Properties for Small Embedded Systems. Second IEEE International Symposium on Network Computing and Applications, April 16–18, pp. 197–204.

  • McKinnon, A.D. 2003. Supporting Fine-grained Configurability with Multiple Quality of Service Properties in Middleware for Embedded Systems, Ph.D. dissertation, Washington State University.

  • Mylopoulos, J., Chung, L., Liao, S., Wang, H., and Yu. E. 2001. Exploring Alternatives during Requirements Analysis. IEEE Software 18(1): 92–96.

    Article  Google Scholar 

  • OECD Road Research Group. 1981. Traffic Control in Saturated Situations, OECD.

  • Panda, D.P. 1999. An Integrated Video Sensor Design for Traffic Management and Control. Third International Multiconference on Circuits, Systems, Communications, and Computers (IMACS IEEE CSCC), July 4–8, Athens, Greece, pp. 176–185.

  • Petriu, D. and Woodside, M. 2002. Analysing software requirements specifications for performance. In Proceedings of the 3rd International Workshop on Software and Performance, July 24–26, Rome Italy, pp. 1–9.

  • Saaty, T. 1980. The Analytic Hierarchy Process, McGraw-Hill.

  • Svahnberg, M., Wohlin, C., Lundberg, L., and Mattson, M. 2003. A Quality-Driven Decision Support Method for Identifying Software Architecture Candidates. International Journal of Software Engineering and Knowledge Engineering 13(5): 547–573.

    Article  Google Scholar 

  • Shepperd, M. and Cartwright, M. 2001. Predicting with Sparse Data. IEEE Transactions on Software Engineering 27(11): 987–999.

    Google Scholar 

  • Smith, C.U. and Williams, L.G. 2002. Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software, Addison-Wesley, Pearson Education.

    Google Scholar 

  • Tavladakis, K., Voulgaris, N.C. 1999. Development of an autonomous adaptive traffic control system. In Proceedings of European Symposium on Intelligent Techniques, June 3–4, Crete, Greece.

  • von Mayrhauser, A. 1990. Software Engineering: Methods and Management, Academic Press.

  • Yen, J. and Tiao, W.A. 1997. “Systematic tradeoff analysis for conflicting imprecise requirements. In Proceedings third IEEE Symposium on Requirements Engineering, January 6–10, IEEE CS Press, pp. 87–96.

  • Zeleny, M. 1976. The Attribute-Dynamic Attitude Model (ADAM). Management Science, 23(1): 12–26.

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Anneliese Andrews.

Additional information

Dr. Anneliese Amschler Andrews is Professor and Chair of the Department of Computer Science at the University of Denver. Before that she was the Huie Rogers Endowed Chair in Software Engineering at Washington State University. Dr. Andrews is the author of a text book and over 130 articles in the area of Software Engineering, particularly software testing and maintenance.

Dr. Andrews holds an MS and PhD from Duke University and a Dipl.-Inf. from the Technical University of Karlsruhe. She served as Editor-in-Chief of the IEEE Transactions on Software Engineering. She has also served on several other editorial boards including the IEEE Transactions on Reliability, the Empirical Software Engineering Journal, the Software Quality Journal, the Journal of Information Science and Technology, and the Journal of Software Maintenance. She was Director of the Colorado Advanced Software Institute from 1995 to 2002. CASI's mission was to support technology transfer research related to software through collaborations between industry and academia.

Ed Mancebo studied software engineering at Milwaukee School of Engineering and computer science at Washington State University. His masters thesis explored applying systematic decision making methods to software engineering problems. He is currently a software developer at Amazon.com.

Dr. Per Runeson is a professor in software engineering at Lund University, Sweden. His research interests include methods to facilitate, measure and manage aspects of software quality. He received a PhD from Lund University in 1998 and has industrial experience as a consulting expert. He is a member of the editorial board of Empirical Software Engineering and several program committees, and currently has a senior researcher position funded by the Swedish Research Council.

Robert France is currently a Full Professor in the Department of Computer Science at Colorado State University. His research interests are in the area of Software Engineering, in particular formal specification techniques, software modeling techniques, design patterns, and domain-specific modeling languages. He is an Editor-in-Chief of the Springer journal on Software and System Modeling (SoSyM), and is a Steering Committee member and past Steering Committee Chair of the MoDELS/UML conference series. He was also a member of the revision task forces for the UML 1.x standards.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Andrews, A., Mancebo, E., Runeson, P. et al. A Framework for Design Tradeoffs. Software Qual J 13, 377–405 (2005). https://doi.org/10.1007/s11219-005-4252-z

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-005-4252-z

Keywords

Navigation