Software Engineering Project Courses with Industrial Clients

Software Engineering Project Courses with Industrial Clients
复制标题

与工业客户合作的软件工程项目课程

DOI:
10.1145/2732155
复制
发表时间:
2015
期刊:
ACM Trans. Comput. Educ.
影响因子:
--
通讯作者:
Lukas Alperowitz
Lukas Alperowitz
中科院分区:
--
文献类型:
--
作者:
B. Brügge;Stephan Krusche;Lukas Alperowitz

文献摘要

被引文献

相似文献

在项目课程中教授现实的软件开发是公认的需要。此类课程的设计空间很广,从单学期课程到双学期课程,从单客户课程到多客户课程,从本地课程到全球分布式课程,从玩具项目到有真实的客户的项目。对于一个不平凡的项目课程的挑战是如何使项目足够复杂,以丰富学生的软件工程经验,但足够现实,有一个教学环境,不会过度负担学生或教师。我们描述了一种方法,项目课程,是可实现的教师,提高学生的技能,并导致可行的结果,为行业合作伙伴。 特别是,最近在发布管理和协作工作流程方面的进展减少了学生和教师在交付过程中的努力,并提高了交付成果的质量。为了实现发布和反馈管理,我们引入了Rugby,这是一个基于Sunday的敏捷过程模型,可以对不断变化的需求做出反应。为了改善早期沟通,我们使用Tornado,这是一种基于网络的设计方法,强调使用非正式模型进行客户和学生之间的互动。橄榄球和龙卷风的组合允许学生处理不断变化的要求,产生多个版本,并通过课程的持续时间获得客户反馈。 我们描述了我们与300多名学生在4年内与外部客户合作40个项目的经验。在我们课程的最新实例中,学生们已经为11个客户制作了7000多个构建版本和600个版本。在对课程的评估中,我们发现Rugby和Tornado的引入显著提高了学生的技术技能,特别是在软件工程,可用性工程和配置管理方面,以及他们的非技术技能,如与客户的沟通,团队合作,演示和演示管理。最后,我们讨论了其他教师如何适应课程的概念。
There is an acknowledged need for teaching realistic software development in project courses. The design space for such courses is wide, ranging from single-semester to two-semester courses, from single-client to multicustomer courses, from local to globally distributed courses, and from toy projects to projects with real clients. The challenge for a nontrivial project course is how to make the project complex enough to enrich students’ software engineering experience, yet realistic enough to have a teaching environment that does not unduly burden students or the instructor. We describe a methodology for project courses that is realizable for instructors, improves students’ skills, and leads to viable results for industry partners. In particular, recent advances in release management and collaboration workflows reduce the effort of students and instructors during delivery and increase the quality of the deliverables. To enable release and feedback management, we introduce Rugby, an agile process model based on Scrum that allows reacting to changing requirements. To improve early communication, we use Tornado, a scenario-based design approach that emphasizes the use of informal models for the interaction between clients and students. The combination of Rugby and Tornado allows students to deal with changing requirements, produce multiple releases, and obtain client feedback through the duration of the course. We describe our experience with more than 300 students working on 40 projects with external clients over a 4-year period. In the latest instance of our course, the students have produced more than 7000 builds with 600 releases for eleven clients. In an evaluation of the courses, we found that the introduction of Rugby and Tornado significantly increased students’ technical skills, especially with respect to software engineering, usability engineering, and configuration management, as well as their nontechnical skills such as communication with the client, teamwork, presentation, and demo management. Finally, we discuss how other instructors can adapt the course concept.