Nothing Special   »   [go: up one dir, main page]

skip to main content
article

Exploiting open-source projects to study software design

Published: 01 January 2007 Publication History

Abstract

This article presents an approach to using open-source tools and open-source projects to add realistic and practical examples to a course on software design in a professional master's program of software engineering. Students are encouraged to use object-oriented, open-source software projects available on the Internet, and to analyze their design attributes using open-source tools, to hopefully improve their designs using documented design patterns and other design strategies. The proposed approach provides a variety of realistic examples for study, which can vary from semester to semester, without the instructor having to prepare complicated realistic examples or to rely on over-simplified examples in textbooks. Because the course and the approach are relatively new, a quantifiable assessment of the pedagogical approach has not been presented. However, the argument is made that realistic examples provide for better learning, and evidence is provided to show the feasibility of the approach. The instructor's role is more of a mentor than a traditional teacher, as every open-source project is different from a design perspective.

References

[1]
Blake, M.B. (2005). Integrating large-scale group projects and software engineering approaches for early computer science courses. IEEE Transactions on Education, 48, 63-72.
[2]
Budgen, D. (2003). Software Design. 2nd ed. Harlow, England; Addison-Wesley, New York.
[3]
Fowler, M. (2003). Patterns {software patterns}. IEEE Software, 20, 56-57.
[4]
Fowler, M., and K. Beck (1999). Refactoring: Improving the Design of Existing code. Addison-Wesley, Reading, Mass.
[5]
Gamma, E. (1995). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, Mass.
[6]
Karahasanovic, A., and C. Holmboe (2006). Challenges of learning object-oriented analysis and design through a modeling-first approach. In A. Fjuk, A. Karahasanovic and J. Kaasbull (Eds.), Comprehensive Object-Oriented Learning: the Learner's Perspective. Informing Science Press, Santa Rosa, California, pp. 49-66.
[7]
Larman, C. (2005). Applying UML and Patterns: an Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd ed. Prentice Hall PTR, Upper Saddle River, N.J.
[8]
Martin, R.C. (2003). Agile Software Development: Principles, Patterns, and Practices. Prentice Hall, Upper Saddle River, N.J.
[9]
McCabe, T.J. (1976). A complexity measure. Software Engineering, IEEE Transactions, SE-2, 308-320.
[10]
Thomas, D. (2005). Agile programming: design to accommodate change. IEEE Software, 22, 14-16.

Cited By

View all
  • (2009)Exploiting web resources for teaching/learning best software design tipsACM SIGSOFT Software Engineering Notes10.1145/1640162.164016934:6(1-7)Online publication date: 3-Dec-2009
  • (2008)Towards Combining Ontologies and Model Weaving for the Evolution of Requirements ModelsInnovations for Requirement Analysis. From Stakeholders' Needs to Formal Designs10.1007/978-3-540-89778-1_9(85-102)Online publication date: 27-Nov-2008

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Informatics in education
Informatics in education  Volume 6, Issue 1
January 2007
246 pages

Publisher

Institute of Mathematics and Informatics

Lithuania

Publication History

Published: 01 January 2007

Author Tags

  1. UML notation
  2. constructivism
  3. open-source software
  4. open-source tools
  5. reverse engineering
  6. software design
  7. software design metrics
  8. software design patterns

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 28 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2009)Exploiting web resources for teaching/learning best software design tipsACM SIGSOFT Software Engineering Notes10.1145/1640162.164016934:6(1-7)Online publication date: 3-Dec-2009
  • (2008)Towards Combining Ontologies and Model Weaving for the Evolution of Requirements ModelsInnovations for Requirement Analysis. From Stakeholders' Needs to Formal Designs10.1007/978-3-540-89778-1_9(85-102)Online publication date: 27-Nov-2008

View Options

View options

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media