The importance of projects in software engineering courses is well known. Both synthetic and real-life projects have various advantages and disadvantages. Our aim was to create a framework where students can develop projects which reflect some of the complexities of real-life, involving many concurrent, interacting, asynchronous processes, each in a different stage of development, with wide temporal differences among them - some occurring within millisconds of each other and others executing sporadically over much longer periods. In this project, which was carried out in different arrangements in several software engineering courses in three universities, the students developed both the sub- and super-structures required, with varying degrees of success. The projects were performed in parallel with and subsequent to one-semester courses in software engineering. The development was performed in accordance with the principles established in the lectures. The sub-structure consists of a discrete-time event simulator and a message passing mechanism. It can support many different super-structures. The super-structure we created was an e-business community simulator where a manufacturer, its trading partners and the transactions among them were simulated. In this paper we summarize the project and our experiences during the development. A literature search for similar projects for software engineering education did not yield any hits. However several reported industrial projects for virtual supply chain management were examined. Our project on the other hand was tailored for implementation by student groups in one semester with the primary purpose of getting experience in complex, multi-group software development rather than immediate industrial use of the software.
AYGÜN, BİROL (2004) "A Platform for Software Engineering Course Projects," Turkish Journal of Electrical Engineering and Computer Sciences: Vol. 12: No. 2, Article 3. Available at: https://journals.tubitak.gov.tr/elektrik/vol12/iss2/3