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.
Similar content being viewed by others
References
Alexander C., Ishikawa S., Silverstein M. (1977). A Pattern Language: Towns, Buildings, Construction. Oxford University Press, New York
Boehm B., In H. (1996). Identifying quality-requirement conflicts. IEEE Softw. 13(2): 25–35
Bruegge B., Dutoit A.H. (2000). Object-oriented software engineering. Prentice-Hall International, Englewood Cliffs
Budinsky F.J., Finnie M.A., Yu P.S. (1996). Automatic code generation from design patterns. IBM Syst. J. 35(2): 151–171
Chung L., Cooper K., Yi A. (2003). Developing adaptable software architectures using design patterns: an NFR approach. Comput. Stand. Interfaces 23: 253–260
Chung L., Nixon B.A., Yu E., Mylopoulos J. (2000). Non-functional requirements in software engineering. Kluwer, Dordrecht
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)
Dardenne A., van Lamsweerde A., Fickas S. (1993). Goal-directed requirements acquisition. Sci. Comput. Program. 20: 3–50
Ebert C. (1998). Putting requirement management into praxis: dealing with nonfunctional requirements. Inf. Softw. Technol. 40: 175–185
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)
Fowler M. (2003). Pattern. IEEE Softw. 20(2): 56–57
Francalanci C., Fuggetta A. (1997). Integrating conflicting requirements in process modeling: a survey and research directions. Inf. Softw. Technol. 39: 205–216
France R., Ghosh S., Song E., Kim D.K. (2003). A metamodeling approach to pattern-based model refactoring. IEEE Softw. 20(5): 52–58
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
Rumbaugh J., Booch G., Jacobson I. (1999). The Unified Modeling Language User Guide. Addison Wesley Longman, Reading
Gamma E., Helm R., Johnson R., Vlissides J. (1994). Design Patterns: Elements of Reusable Software. Addison-Wesley, Reading
Graves, A.R., Czarnecki, C.: Design patterns for behavior-based robotics. IEEE Trans. Syst. Man cybern. Part A Syst. Hum. 30(1) (2000)
Gross, D., Yu, E.: From non-functional requirements to design through patterns. In: Requirements Engineering, vol. 6, pp. 18–36. Springer, Heidelberg (2001)
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)
Huston B. (2001). The effects of design pattern application on metric scores. J Syst. Softw. 58: 261–269
Jacobson I., Booch G., Rumbaugh J. (1999). The Unified Software Development Process. Addison-Wesley, Reading
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)
Khriss I., Keller R.K., Hamid I.A. (2000). Pattern-based refinement schemas for design knowledge transfer. Knowl. Based Syst. 13: 403–415
Lee J and Xue (Hsueh) N.L. (1999). Analyzing user requirements by use cases: A goal-driven approach. IEEE Softw. 16(4): 92–101
Lee, J., Xue (Hsueh), N.L., Kuo, J.Y.: Structuring requirement specifications with goals. Inf. Softw. Technol. 121–135 (2001)
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
Monroe R.T., Kompanek A., Melton R., Garlan D. (1997). Architectural styles, design patterns, and objects. IEEE Softw. 14(1): 43–52
Potts C., Takahashi K., Lansky Anton A.I. (1994). Inquiry-based requirements analysis. IEEE Softw. 11(2): 21–32
Robinson, W.N., Fickas, S.: Supporting multi-perspective requirements engineering. In: Proceedings of First International Conference on Requirement Engineering, pp. 206–215 (1994)
Schmidt, D., Stal, M., Rohbert, H., Buschmann, F.: Pattern- oriented software architecture. Patterns for Concurrent and Networked Objects, vol. 2. Wiley, New York (2000)
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)
Uhl A. (2003). Model Driven Arcitecture is Ready for Prime Time. IEEE Softw. 20(5): 70–72
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)
Winn T., Calder P. (2002). Is this a pattern. IEEE Softw. 19(1): 59–66
Zhu J., Jossman P. (1998). Application of design patterns for object-oriented modeling of power systems. IEEE Trans. Power Syst. 14(2): 532–537
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Franck Barbier.
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-007-0063-y