Skip to main content
Log in

Object-oriented design: A goal-driven and pattern-based approach

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

Abstract

In recent years, the influences of design patterns on software quality have attracted increasing attention in the area of software engineering, as design patterns encapsulate valuable knowledge to resolve design problems, and more importantly to improve the design quality. One of the key challenges in object-oriented design is how to apply appropriate design patterns during the system development. In this paper, design pattern is analyzed from different perspectives to see how it can facilitate design activities, handle non-functional requirement, solve design problems and resolve design conflicts. Based on the analysis, various kinds of applicability of design patterns are explored and integrated with a goal-driven approach to guiding developers to construct the object-oriented design model in a systematic manner. There are three benefits to the proposed approach: making it easy to meet requirements, helping resolve design conflicts, and facilitating improvement of the design quality.

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.

Similar content being viewed by others

References

  1. Alexander C., Ishikawa S., Silverstein M. (1977). A Pattern Language: Towns, Buildings, Construction. Oxford University Press, New York

    Google Scholar 

  2. Boehm B., In H. (1996). Identifying quality-requirement conflicts. IEEE Softw. 13(2): 25–35

    Article  Google Scholar 

  3. Bruegge B., Dutoit A.H. (2000). Object-oriented software engineering. Prentice-Hall International, Englewood Cliffs

    Google Scholar 

  4. Budinsky F.J., Finnie M.A., Yu P.S. (1996). Automatic code generation from design patterns. IBM Syst. J. 35(2): 151–171

    Article  Google Scholar 

  5. Chung L., Cooper K., Yi A. (2003). Developing adaptable software architectures using design patterns: an NFR approach. Comput. Stand. Interfaces 23: 253–260

    Article  Google Scholar 

  6. Chung L., Nixon B.A., Yu E., Mylopoulos J. (2000). Non-functional requirements in software engineering. Kluwer, Dordrecht

    MATH  Google Scholar 

  7. Cinneide, M.O., Nixon, P.: A methodology for the automated introduction of design patterns. In: Proceedings of the International Conference on Software Maintenance, pp. 463–472 (1999)

  8. Dardenne A., van Lamsweerde A., Fickas S. (1993). Goal-directed requirements acquisition. Sci. Comput. Program. 20: 3–50

    Article  MATH  Google Scholar 

  9. Ebert C. (1998). Putting requirement management into praxis: dealing with nonfunctional requirements. Inf. Softw. Technol. 40: 175–185

    Article  Google Scholar 

  10. Eden, A.H., Yehudai, A., Gil, J.: Precise specification and automatic application of design patterns. In: Proceedings of the 12th International Conference on Automated Software Engineering, pp. 143 –152 (1997)

  11. Fowler M. (2003). Pattern. IEEE Softw. 20(2): 56–57

    Article  MathSciNet  Google Scholar 

  12. Francalanci C., Fuggetta A. (1997). Integrating conflicting requirements in process modeling: a survey and research directions. Inf. Softw. Technol. 39: 205–216

    Article  Google Scholar 

  13. France R., Ghosh S., Song E., Kim D.K. (2003). A metamodeling approach to pattern-based model refactoring. IEEE Softw. 20(5): 52–58

    Article  Google Scholar 

  14. France R.B., Kim D.K., Ghosh S., Song E. (2004). A UML-based pattern specification technique. IEEE Trans. Softw. Eng. 30(3): 193–206

    Article  Google Scholar 

  15. Rumbaugh J., Booch G., Jacobson I. (1999). The Unified Modeling Language User Guide. Addison Wesley Longman, Reading

    Google Scholar 

  16. Gamma E., Helm R., Johnson R., Vlissides J. (1994). Design Patterns: Elements of Reusable Software. Addison-Wesley, Reading

    Google Scholar 

  17. Graves, A.R., Czarnecki, C.: Design patterns for behavior-based robotics. IEEE Trans. Syst. Man cybern. Part A Syst. Hum. 30(1) (2000)

  18. Gross, D., Yu, E.: From non-functional requirements to design through patterns. In: Requirements Engineering, vol. 6, pp. 18–36. Springer, Heidelberg (2001)

  19. Hsueh, N.L.: A systematic approach for application of design patterns. In: IEEE International Conference on Informatics, Cybernetics, and Systems (ICICS), pp. 1877–1883 (2003)

  20. Huston B. (2001). The effects of design pattern application on metric scores. J Syst. Softw. 58: 261–269

    Article  Google Scholar 

  21. Jacobson I., Booch G., Rumbaugh J. (1999). The Unified Software Development Process. Addison-Wesley, Reading

    Google Scholar 

  22. Jeon, S.U., Lee, J.S., Bae D.H.: An automated refactoring approach to design pattern-based program transformations in java programs. In: Proceedings of Ninth Asia-Pacific Conference of Software Engineering, pp. 337–345 (2002)

  23. Khriss I., Keller R.K., Hamid I.A. (2000). Pattern-based refinement schemas for design knowledge transfer. Knowl. Based Syst. 13: 403–415

    Article  Google Scholar 

  24. Lee J and Xue (Hsueh) N.L. (1999). Analyzing user requirements by use cases: A goal-driven approach. IEEE Softw. 16(4): 92–101

    Article  Google Scholar 

  25. Lee, J., Xue (Hsueh), N.L., Kuo, J.Y.: Structuring requirement specifications with goals. Inf. Softw. Technol. 121–135 (2001)

  26. Lee J., Kuo J.Y. (1998). New approach to requirements trade-off analysis for complex systems. IEEE Trans. Knowl. Data Eng. 10(4): 551–562

    Article  Google Scholar 

  27. Monroe R.T., Kompanek A., Melton R., Garlan D. (1997). Architectural styles, design patterns, and objects. IEEE Softw. 14(1): 43–52

    Article  Google Scholar 

  28. Potts C., Takahashi K., Lansky Anton A.I. (1994). Inquiry-based requirements analysis. IEEE Softw. 11(2): 21–32

    Article  Google Scholar 

  29. Robinson, W.N., Fickas, S.: Supporting multi-perspective requirements engineering. In: Proceedings of First International Conference on Requirement Engineering, pp. 206–215 (1994)

  30. Schmidt, D., Stal, M., Rohbert, H., Buschmann, F.: Pattern- oriented software architecture. Patterns for Concurrent and Networked Objects, vol. 2. Wiley, New York (2000)

    Google Scholar 

  31. Tahvildari, L., Kontogiannis, K.: A software transformation framework for quality-driven object-oriented re-engineering. In: Proceedings of the International Conference on Software Maintenance (ICSM02) (2002)

  32. Uhl A. (2003). Model Driven Arcitecture is Ready for Prime Time. IEEE Softw. 20(5): 70–72

    Article  Google Scholar 

  33. van Lamsweerde, A., Darimont, R., Massonet, P.: Goal-directed elaboration of requirements for a meeting scheduler problems and lessons learnt. Technical Report RR-94–10, Universite Catholique de Louvain, Departement d’Informatique, B-1348 Louvain-la-Neuve, Belgium (1994)

  34. Winn T., Calder P. (2002). Is this a pattern. IEEE Softw. 19(1): 59–66

    Article  Google Scholar 

  35. Zhu J., Jossman P. (1998). Application of design patterns for object-oriented modeling of power systems. IEEE Trans. Power Syst. 14(2): 532–537

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nien-Lin Hsueh.

Additional information

Communicated by Prof. Franck Barbier.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hsueh, NL., Kuo, JY. & Lin, CC. Object-oriented design: A goal-driven and pattern-based approach. Softw Syst Model 8, 67–84 (2009). https://doi.org/10.1007/s10270-007-0063-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-007-0063-y

Keywords

Navigation