A market-driven approach to teaching software components engineering
Authors: Flor N.V.; Lerch F.J.; Hong S-J.
Source: Annals of Software Engineering, Volume 6, Numbers 1-4, 1998 , pp. 223-251(29)
The emergence of software component standards and tools for creating software components is leading to an increasing number of software component developers. Traditional software engineering education, however, emphasizes methods for developing large software packages. It is not clear whether such methods are appropriate for developing components. New techniques may be needed to teach the skills necessary for component development. We identify two skills software developers need to successfully develop components, which are not emphasized in traditional software engineering education: (a) uncovering multiple-customer domain semantics; and (b) making explicit multiple-customer framework semantics. Both skills are multiple constraint satisfaction problems. We further argue that training students to produce and market components in a simulated software components marketplace rather than the more conventional classroom teaching + component homework assignments/projects is an effective way of teaching such skills. We then describe an environment we created called SofTrade that simulates a components market and allows students to acquire the necessary skills. We provide a detailed case study of how a student component-producer team used market feedback to determine domain and framework semantics. We end by discussing the importance of market-driven approaches for teaching software components engineering and how such approaches fit into existing software engineering curricula.
Document Type: Regular paper
Publication date: 1998-01-01