Designing object-oriented software
Designing object-oriented software
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Using CRC cards: an informal approach to object-oriented development
Using CRC cards: an informal approach to object-oriented development
Hooking into object-oriented application frameworks
ICSE '97 Proceedings of the 19th international conference on Software engineering
The Unified Modeling Language user guide
The Unified Modeling Language user guide
Investigating Reading Techniques for Object-Oriented Framework Learning
IEEE Transactions on Software Engineering
Requirements for an Elucidative Programming Environment
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
Experience in Early and Late Software Engineering Project Courses
CSEET '02 Proceedings of the 15th Conference on Software Engineering Education and Training
Architecture of the San Francisco frameworks
IBM Systems Journal
A Peer-Review Based Approach to Teaching Object-Oriented Framework Development
CSEET '05 Proceedings of the 18th Conference on Software Engineering Education & Training
Java Persistence with Hibernate
Java Persistence with Hibernate
Identifying and addressing problems in object-oriented framework reuse
Empirical Software Engineering
Spring in Action
Guest editors' introduction to the 4th issue of Experimental Software and Toolkits (EST-4)
Science of Computer Programming
Hi-index | 0.00 |
Teaching systematic object-oriented software development to undergraduate students is difficult: Students need to develop a lot of complex skills. These include technical skills in object-oriented software development, but also social skills-for example, how to collaborate with other developers as part of a team working towards a large and complex software system. To acquire these skills, students need hands-on development experiences-for example, through team-oriented project courses. Designing such project courses is a challenge in itself: They must be both sufficiently challenging and achievable within the limited time available. In our special situation (large numbers of students supervised by small numbers of staff) an important further requirement is scalability: Different projects should be easily comparable while allowing for different tasks for different teams to reduce the risk of plagiarism. The solution that in our experience satisfies all these requirements is to use an application framework for an everyday application domain-for example, the business domain. Since 1997, we have been using Salespoint, a Java-based framework for creating business applications, that has been jointly developed and maintained in Dresden and Munich. In this paper, we briefly recollect the educational background and aims of the courses and present in some detail Salespoint (and its most recent revision, Salespoint2010): central notions like catalogs and stocks, the functionality it offers to users (application control, data management, and much more), a technical overview of its architecture, an example application built with Salespoint, and some lessons learned so far.