首页> 外文期刊>SIGCSE bulletin >Four Roles of Instructor in Software Engineering Projects
【24h】

Four Roles of Instructor in Software Engineering Projects

机译:教师在软件工程项目中的四个角色

获取原文
获取原文并翻译 | 示例

摘要

As a practice-oriented discipline, Software Engineering (SE) is most effectively taught by using a variety of hands-on experiences. Team-based projects where students can practice their technical and soft skills are a key feature of many software engineering courses aimed to prepare students for the realities of industrial software development. Current research indicates that projects offered in SE courses should have a close connection to the real world, be large scale and complex. On the one hand, students should be able to relate to the requirements and understand them without spending much time acquiring domain knowledge. On the other hand, students should be exposed to changing and evolving requirements, which is one of the main challenges of real-world software projects. Software projects should be large enough and have enough features to engage all members of the student team while enabling them to practice some degree of specialization and experience the advantages and challenges of teamwork. Software projects should be rich enough to allow students practice all previously acquired SE concepts, bring together knowledge from other specialized CS disciplines, and apply a number of modern tools and technologies. One of the most effective ways to learn SE is to expose students to an environment that resembles an industrial setting as much as possible. As a part of an academic program, SE courses can achieve this objective by offering students a balanced combination of three components: teamwork involving up-to-date technology grounded in a solid theoretical foundation. Instructors in SE courses are uniquely positioned to help maintain this balance by simultaneously playing four roles described below. As a customer who contracts a student team to implement a particular project, the instructor may provide a verbal or written description of the project. It is the students' responsibility to conduct the requirements elicitation interviews and to prepare formal requirements specification for subsequent validation with the customer and possible adjustment. The instructor may act as a customer during the acceptance testing throughout the project to make sure that the team is on the right track at every iteration of the project. The instructor acting as a customer can also act as a proxy if the project has been offered by an industrial partner, or some other department or organization on campus. As an architect initially specifying the overall structure of the solution, the instructor can help students choose the right software architecture. This is a very important choice that has to be made early because it impacts the overall flow of the project. Later architectural changes can be extremely costly and can significantly jeopardize meeting the deadlines. Most likely, students do not have experience in making such architectural decisions and, therefore, it is crucial for the instructor to provide some guidance in this important process. As a team manager concerned with risk management, the instructor needs to pay attention that the team efforts are not jeopardized due to a potential lack of students' soft skills and that these skills are built up as the project progresses. Although it is the students' responsibility to create all artifacts emerging from the project, the instructor can help the team adhere to the schedule by providing feedback based on the inspection of all produced artifacts. In this respect, the roles of the team manager and the customer may somewhat overlap because the same person will be providing feedback to the team from the technical point of view (artifact inspection), as well as from the customer point of view (verification of product implementation at each iteration). In addition to the traditional role of giving lectures, the instructor needs to be a mentor offering guidance to each team and individual students addressing their specific needs and answering questions unique to their projects and the respo
机译:作为面向实践的学科,软件工程(SE)可以通过使用各种动手经验来最有效地进行教授。基于团队的项目可以让学生练习其技术和软技能,这是许多软件工程课程的主要功能,旨在为学生提供工业软件开发的现实知识。当前的研究表明,SE课程中提供的项目应该与现实世界紧密联系,规模庞大且复杂。一方面,学生应该能够与需求相关并理解需求,而无需花费大量时间来获取领域知识。另一方面,学生应该适应不断变化和不断变化的要求,这是现实世界软件项目的主要挑战之一。软件项目应足够大,并具有足够的功能以吸引学生团队的所有成员,同时使他们能够练习一定程度的专业知识并体验团队合作的优势和挑战。软件项目应足够丰富,以允许学生练习以前获得的所有SE概念,将其他专业CS学科的知识融合在一起并应用多种现代工具和技术。学习SE的最有效方法之一是让学生尽可能地接触类似于工业环境的环境。作为学术计划的一部分,SE课程可以通过为学生提供三个组成部分的平衡组合来实现此目标:团队合作涉及扎实的理论基础,涉及最新技术。 SE课程的讲师处于独特的位置,可以通过同时扮演以下四个角色来帮助保持这种平衡。作为与学生团队签约以实施特定项目的客户,讲师可以提供该项目的口头或书面说明。学生有责任进行需求启发访谈,并准备正式的需求规格说明,以便随后与客户确认并进行可能的调整。指导员可以在整个项目的验收测试期间充当客户,以确保团队在项目的每次迭代中都处在正确的轨道上。如果项目是由工业合作伙伴或校园中的其他部门或组织提供的,则充当客户的讲师也可以充当代理人。作为最初指定解决方案总体结构的架构师,讲师可以帮助学生选择正确的软件体系结构。这是一个非常重要的选择,必须尽早进行,因为它会影响项目的整体流程。以后的体系结构更改可能会付出巨大的代价,并且可能会严重威胁到截止日期。学生很可能没有做出此类架构决策的经验,因此,对于教师而言,在此重要过程中提供一些指导至关重要。作为负责风险管理的团队管理者,讲师需要注意,由于潜在缺乏学生的软技能,团队工作不会受到危害,并且随着项目的进展,这些技能会逐渐建立。尽管创建项目中出现的所有工件是学生的责任,但教师可以通过检查所有产生的工件来提供反馈,从而帮助团队遵守进度。在这方面,团队经理和客户的角色可能会有些重叠,因为同一个人将从技术角度(工件检查)以及从客户角度(验证对象)向团队提供反馈。每次迭代的产品实施)。除了传统的授课职责外,讲师还需要成为一名导师,为每个团队和个别学生提供指导,以解决他们的特定需求,并回答其项目和回购协议所特有的问题。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号