Educational software development processes, used in course projects, must exercise practices and artifacts comparable to similar industry-level processes, while achieving acceptable productivity and quality, and, at the same time, complying with constraints on available student time. Here, we discuss our experience with a specific model-driven development process, applied in a time-constrained software engineering course. The course projects are developed in iterations, each delivering a subset of the product functions. These, specified as use cases, undergo a sequence of model transformations, until they become tested code. Transformation steps are verified using standardized quality gates (inspections, tests, and audits), which serve three purposes: teaching verification, validation and quality assurance; helping to assess and grade projects; and providing feedback for process improvement. Size, effort and defect data is recorded in standardized reports. Collected data show that the quality gates proved effective to ensure compliance with the prescribed process, and that using a balanced reusable framework is necessary to achieve satisfactory productivity and quality.
['Wilson Pádua']
Using Model-Driven Development in Time-Constrained Course Projects