Teaching Empirical Research Methods in Software Engineering: An Editorial Introduction
针对当前实证软件工程领域研究指南完善但教学相关关注不足的缺口,该编者按导言通过阐述学科宏观背景为相关教学主题的编辑文集奠定定位基础。
2025-01-13 cs.SE
Teaching Survey Research in Software Engineering
本章基于国际教学与大规模调查经验,为软件工程中的调查研究教学提供教学大纲、学习目标、实践作业及各主题的可操作建议,并辅以在线教学资源。
2024-07-30 cs.SE
Teaching cloud computing: a software engineering perspective
这篇简短的论文从软件工程而非业务角度讨论了云计算教学的问题。它讨论了云软件工程高级课程可能涉及的主题。
2012-09-05 cs.DC cs.SE
Teaching Software Engineering with LLM and MCP Integration: From Classroom to Industry Practice
City University of Hong Kong(香港城市大学);HSBC(汇丰银行);Hong Kong Metropolitan University(香港都会大学)
本研究将LLM和MCP集成到软件工程协作教学模式中,通过嵌入驱动工具到教学、代码辅助和工程模拟,弥合传统教学与工业流程的差距,提升学生编程、问题解决和智能工具使用能力。
2026-06-18 cs.SE
To get good student ratings should you only teach programming courses? Investigation and implications of student evaluations of teaching in a software engineering context
学生评教是高校普遍采用的一种评价教学质量的方法。然而,以前的文献表明,在软件工程的学生倾向于评价某些主题高于其他:特别是学生倾向于重视编程和软件建设的软件设计,软件工程模型和方法,或软技能。我们假设,这些偏见也发挥了作用,从学生收集的SET反应。本研究的目的是探讨软件工程课程的主题如何影响SET度量。我们通过对收集到的SET数据进行多级回归分析来实现这一点,这些数据是在一个软件工程程序中收集的。我们分析了1295名学生的评价,从46个大学课程在芬兰大学。分析的结果证实,学生课程评价表现出类似的偏见,区分以往的软件工程教育研究。课程的类型可以预测更高的SET评级。在我们的数据集中,软件构造和编程课程获得了更高的SET评级相比,软件工程过程,模型和方法的课程。
2021-02-15 cs.SE
A Platform for Teaching Applied Distributed Software Development: The Ongoing Journey of the Helsinki Software Factory
在学生团队地理分布的项目课程中教授分布式软件开发(DSD)有几个好处。一个主要的好处是,与传统的课堂课程相比,学生可以体验到分布的影响和自己处理分布的机制,从而了解它们与软件开发的相关性。因此,他们可以学会在开始在行业中开发软件时更多地关注分发挑战和风险。然而,为这种项目课程提供可持续的环境是困难的。需要一个可以连接到不同的分布式团队的开发环境,并且需要建立一个进行此类课程的持续例程。本文概述了软件工厂的情况,这是一个支持分布式学生项目教学的平台,目前已经运行了三年多。我们描述了进行软件工厂项目的基本步骤,并描绘了过去工厂项目的经验。此外,我们提供了一个简短的概述相关的方法和未来的活动。
2013-12-18 cs.SE
Bridging Theory to Practice in Software Testing Teaching through Team-based Learning (TBL) and Open Source Software (OSS) Contribution
本研究提出结合TBL与OSS贡献的软件测试课程教学法,经四个学期超300名学生的实践验证,可有效促进理论到实践的转化,同时揭示了学生首次参与OSS贡献的挑战。
2024-04-16 cs.SE
No Free Lunch: Research Software Testing in Teaching
本研究探讨将科研软件测试集成到教学中对科研软件的影响,通过体内实验发现该方式能改善文档并减少依赖,但因精力投入大及学生代码知识产权不确定性,学生代码未能直接整合入科研软件。
2024-12-19 cs.SE
Teaching Software Ethics to Future Software Engineers
针对软件工程伦理教学的需求,研究开发了交互式场景化软件伦理测验,结合线上讲座与含测验、复盘的工作坊开展教学,验证了其参与度与效果,并分享经验资源以推动该领域发展。
2023-12-19 cs.SE
Educating Reflective Systems Developers at Scale: Towards productive feedback in a semi-capstone large-scale software engineering course
反馈在教育中至关重要。这篇创新实践论文报告了在半顶峰软件工程课程中提高反馈质量的经验教训,特别关注如何在项目工作期间大规模提供富有成效的反馈。学士学位水平的软件工程课程介绍由来自8个学习项目的约500名学生参加,分为72个项目团队。该课程旨在教育反射系统开发人员。教学人员包括29名助教,作为团队的主管和产品所有者。作为形成性项目组合评估的一部分,项目团队获得关于七个可交付成果的反馈。学生们对反馈不一致表示失望,他们在作业中没有说明的主题上得到批评,助教不愿意讨论反馈。本文提供了一个课程设计的描述,质量的反馈和经验教训的评估从三个主要的变化:修改作业和规则,重组教学人员和增加教学助理的培训。在讨论这些变化时,我们利用了对142名受访者的学生的调查,对18名受访者的教学助理的调查,学生参考组的会议记录和教学助理的经验报告以及文献和自己的经验。文章最后总结了三个可操作的经验教训,为大型半顶点课程。
2022-08-16 cs.SE
Teaching Software Testing and Debugging with the Serious Game Sojourner under Sabotage
本文提出了一款基于浏览器的严肃游戏 Sojourner under Sabotage,通过交互式叙事挑战让学生扮演船员使用 JUnit 框架进行单元测试与调试,有效提升了学生的参与度、测试覆盖率和调试技能。
2025-04-27 cs.SE
Teaching Literature Reviewing for Software Engineering Research
本章面向软件工程研究生教学,系统梳理文献综述流程、类型、实施与质量评估方法,以帮助教师开展二次研究训练。
2024-06-12 cs.SE
A New Teaching Model For The Subject Of Software Project Management
软件(SW)开发是一项非常艰巨的任务,需要一个熟练的项目领导才能取得成功。如果项目负责人技能不够,那么项目可能会失败。在软件工程的现实世界中,65%的软件项目未能达到[1]中的目标。主要原因是项目经理缺乏培训。这种极端的失败率可以通过以实际的方式向未来的项目经理教授软件项目管理(SPM)来降低,以便他们能够熟练地以更好的方式处理项目。本文旨在提出一种模式,用于教授SPM软件工程的学生,以减少项目的失败率。
2012-02-12 cs.SE
Exploring a multi_stage feedback teaching mode for graduate students of software engineering discipline based on project_driven competition
National University of Defense Technology(国防科技大学);Shanxi Supercomputing Center(山西超级计算中心);Taiyuan University of Technology(太原理工大学)
针对当前研究生软件工程课程教学重理论、轻实践、缺乏创新能力等问题,提出了一种基于竞赛项目驱动的软件工程研究生多阶段反馈式教学模式。该模式以竞赛项目为驱动,从软件工程课程任务的阶段分配与能力培养、竞赛案例设计与过程评价改进等方面给出了实施建议,通过该教学模式的实施,期望能激发学生学习的积极性和主动性,提高学生专业技能和综合能力的全面发展,满足社会对软件工程技术人才的需求。
2022-12-19 cs.AI cs.SE
Teaching Machine Learning to Software Engineers
Carleton University(卡尔顿大学)
针对软件工程课程缺乏AI/ML系统构建训练的问题,通过主题清单、课程映射和教师调查,提出将高优先级主题嵌入现有SE课程的指南。
2026-06-15 cs.SE
Teaching Theorizing in Software Engineering Research
本研究面向软件工程领域,提出12种理论建构中间产物并阐释其作用,将其应用于软件架构研究以验证效用,还给出了12周相关课程的建议架构,为该领域的理论建构教学提供支持。
2024-10-31 cs.SE
Teaching Practically Relevant Research Problem Formulation in Software Engineering with Lean Research Inception
Pontifical Catholic University of Rio de Janeiro(里约热内卢天主教大学);University of Vassouras(瓦索拉斯大学);Federal University of Cariri(卡拉里联邦大学)
本文通过案例研究展示Lean Research Inception如何帮助软件工程学生制定与实践相关的问题,提升学生在问题定义、清晰度和沟通能力方面的表现。
2026-03-20 cs.SE
Teaching Software Metrology: The Science of Measurement for Software Engineering
针对定量软件工程研究受测量不成熟、忽视理论制约且测量问题普遍被忽略的现状,本章回顾测量科学核心概念并应用于软件工程研究,配套练习与样本数据集助力实践。
2024-06-20 cs.SE
Role-playing software architecture styles
软件体系结构从定义到维护和演化是软件开发的一个复杂方面,因此,在教授和学习软件体系结构时,软件体系结构是一个具有挑战性的课题,许多研究工作都致力于设计教学方法,策略和工具。然而,大多数的研究关注的是知识本身以及如何将知识传递给学生,而不是学生本身的不同学习风格。主要依靠口头和书面交流的教学方法与某些学习风格非常一致。然而,学习风格的学生从身体活动或第一手经验中受益更多,需要服从对他们来说不那么自然的认知过程。在这项工作中,我们提出了一个创新的使用角色扮演作为教学策略的参考架构模型(即分层,管道和过滤器,客户端-服务器等)。这种不同软件架构的角色扮演,即学生扮演系统中特定组件的角色,旨在补充其他经典教学材料,例如亲自或录制的讲座,实验室作业或开发项目。在课堂上解决所有学习风格是确保我们支持和培养学生不同学习过程的关键,并为每个人提供一个公平的环境,以最好地发展他们作为软件架构师的能力。
2023-02-28 cs.SE
Teaching Concurrent Software Design: A Case Study Using Android
在本文中,我们将从以用户为中心的软件工程角度探讨各种并行和分布式计算主题。具体来说,在移动应用程序开发的背景下,我们研究的事件,定时器和异步活动的形式,以及相关的软件建模,架构和设计主题的交互式应用程序的基本构建块。
2017-05-08 cs.DC cs.SE
A Software Architecture Teacher's Dilemmas
教授软件架构课程的教师需要更加反思,以使学生有效地参与学习活动。在这篇反思性的文章中,作者确定了一些被称为教学困境的决定性时刻,教师在这些时刻反思选择及其后果,以便进行有意义的学习。这些情况被称为困境,因为它们为教师提供了两种选择。这些困境中的一部分来自软件体系结构作为一门学科的固有性质,而另一部分则来自学习者的背景知识。本文提出了一套原则和小教学方法,使教学和学习更有效地在这种情况下。
2021-01-23 cs.SE
More Programming Than Programming: Teaching Formal Methods in a Software Engineering Programme
软件正确性的形式化方法对软件工程的未来至关重要,因此必须成为软件工程教育的重要组成部分。不幸的是,正式的方法往往是抵制学生由于感知困难,不确定性和实际无关性。我们通过采用编程密集型方法重新开发了我们的软件正确性课程,使用求解器辅助语言Dafny通过自动评估提供即时形成反馈。我们重新开发的课程提高了学生的保留率,并获得了至少十年来该课程的最佳评价。
2022-05-02 cs.LO cs.SE
Qualitative Data Analysis in Software Engineering: Techniques and Teaching Insights
本章面向软件工程研究,系统介绍定性编码、编码指南设计与质量保证原则,并结合教学经验帮助研究者严谨分析代码注释、提交信息等定性资料。
2024-06-12 cs.SE
Teaching Mining Software Repositories
本章系统介绍软件仓库挖掘(MSR)的研究方法、伦理问题、教学资源与未来趋势,为教育者和学生提供从研究设计到数据分析的实践指导。
2025-01-03 cs.SE
Implications of MBTI in Software Engineering Education
有许多方法可以帮助理解个体差异及其对教学和学习的影响。教育工作者一直在使用迈尔斯-布里格斯类型指标(MBTI)来了解学习风格的差异,并制定适合不同个性风格的教学方法。受MBTI的启发,我们开发了一系列在软件工程课程中有效教学和学习的实践。我们的目标是达到每一个学生,但以不同的方式,通过设计各种教学方法。
2015-07-24 cs.CY cs.SE
Teaching Software Process Modeling
大多数大学课程都认为软件过程是软件工程(SE)的边缘。学生们被告知存在着大量的软件过程,从RUP到V形过程再到敏捷方法。此外,通常学生的编程任务的大小,无论是一个学生或一小群学生可以管理的工作。对于大公司来说,在反映组织结构、协调团队或与业务流程(如合同或销售)的接口方面,全面的流程是必不可少的,这些流程很复杂,很难在讲座中教授,因此通常超出了范围。我们体验了使用Java或C#的教程,或者为iPhone开发应用程序,以吸引学生更多的注意力,简单地说,因为这些对他们来说更有趣。那么,为什么学生应该把时间花在软件开发过程中呢?从我们的经验和与各种行业合作伙伴的讨论中,我们了解到,学生在接受第一份“真正”工作时往往会遇到麻烦,即使公司是以精益或敏捷的形式组织的。因此,我们建议将软件过程更明确地纳入SE课程。我们设计并实施了一门硕士课程,让学生学习为什么软件过程是必要的,以及如何分析,设计,实施和持续改进。在本文中,我们提出了我们的课程的结构,它的目标,以及相应的教学方法。我们评估课程并进一步讨论我们的经验,以便讲师和研究人员可以直接在自己的课程中使用我们的经验教训。
2013-12-18 cs.SE
Teaching Research Design in Software Engineering
本章面向软件工程教育,系统讲解实证软件工程中的研究范围界定、问题提出与方法选择,以帮助学生掌握严谨的研究设计基础技能。
2024-07-06 cs.SE
Systematic teaching of UML and behavioral diagrams
本文研究如何在不依赖模型解析器的情况下系统化教学和评估手绘 UML 图,重点介绍活动图及图像标注、热点查找等多样化练习题型。
2024-10-23 cs.SE
Teaching Software Engineering for AI-Enabled Systems
Carnegie Mellon University(卡内基梅隆大学)
软件工程师在构建智能系统时可以提供重要的专业知识,利用数十年的经验和方法来构建可扩展,响应和强大的系统,即使是在不可靠的组件上构建。具有人工智能或机器学习(ML)组件的系统提出了新的挑战,需要精心设计。我们设计了一门新课程,向具有ML背景的学生教授软件工程技能。我们特别超越了在人工条件下教授建模技术的传统ML课程,并在讲座和作业中专注于大型和不断变化的数据集,强大和可进化的基础设施以及考虑道德和公平的有目的的需求工程。我们描述了课程和我们的基础设施,并分享经验和第一次教授课程的所有材料。
2020-01-18 cs.AI cs.LG cs.SE
Patterns for Teaching Agile with Student Projects -- Team and Project Setup
针对当前敏捷软件开发教学文献缺乏可操作建议的问题,研究者基于高等教育教学经验,提出五种聚焦团队与项目设置阶段的教学模式,作为敏捷教学模式语言开发的起点。
2025-10-03 cs.SE
LLMs for Engineering: Teaching Models to Design High Powered Rockets
Tufa Labs(图法实验室)
本文提出RocketBench基准评估LLMs在高功率火箭设计中的能力,发现基线模型难以基于模拟结果迭代优化,但经强化学习增强的7B参数模型超越了SoTA模型与人类专家,证明RL训练的LLMs可有效解决复杂工程优化问题。
2025-04-29 cs.AI cs.SE
A Case-Study on Teaching Undergraduate-Level Software Engineering Course Using Inverted-Classroom, Large-Group, Real-Client and Studio-Based Instruction Model
我们提出了一个案例研究教学本科课程的软件工程(第二年和第五学期的学士学位课程在计算机科学)在一所州立大学(印度新德里)使用一种新的教学模式。我们的方法有四个主要元素:倒置或翻转课堂,基于工作室的学习,真实的客户端项目和部署,大型团队和同行评价。我们提出我们的动机和方法,遇到的挑战,教学效益,调查结果(积极和消极的)和建议。我们的动机是教软件工程使用主动学习(显着增加与教师和其他学生在课堂上的参与和协作),团队合作,理论与实践之间的平衡,传授在现实世界中遇到的技术和管理技能和基于问题的学习(通过一个密集的学期的项目)。我们进行详细的调查(匿名,可选和在线),并提出学生的反应结果。调查结果显示,几乎每一个学生(班级规模:89)的教学模式是新的,有趣的,并有积极的影响,除了满足课程的学习成果的动机。
2013-09-02 cs.CY cs.SE
Teaching Scrum with a focus on compliance assessment
本文介绍了计算机工程硕士SE课程中五个版本的教学经验,通过团队项目和Scrum应用的定性定量评估方法,培养学生的项目管理技能,并总结了敏捷项目时间预算和团队组成的经验教训。
2024-04-23 cs.SE
Teaching Action Research
本章阐述行动研究方法论的核心支柱及其教学方法,并结合学士、硕士、博士层级的教学案例与工业实践示例,回应软件工程研究的实证与转化挑战。
2024-08-05 cs.SE
Innovative Approaches to Teaching Quantum Computer Programming and Quantum Software Engineering
本文提出芬兰和西班牙大学讲师开发的量子计算教学创新策略,整合Docker、Qiskit、PennyLane和Ocean SDK等工具,通过从量子力学基础到动手实验的课程设计,解决量子编程教学难题。
2024-12-29 cs.SE physics.ed-ph quant-ph
Teaching an Online Multi-Institutional Research Level Software Engineering Course with Industry -- an Experience Report
IIIT Delhi, India(德里印度理工学院);IIIT Hyderabad, India(海得拉巴印度理工学院)
本文报告了通过两所机构合作在线教学软件工程中的AI课程,结合行业参与,为资源有限的机构提供研究级课程的经验。
2025-12-01 cs.AI cs.LG cs.SE
Beyond Surveys: Analyzing Software Development Artifacts to Assess Teaching Efforts
这篇创新实践论文提出了一种使用软件开发工件来衡量学生行为和课程设计变化的有效性的方法。有一个不断需要调整大学课程,以适应不断变化的要求和行业的转变。因此,作为一名教育工作者,至关重要的是要有办法,以确定课程设计变化的影响。在本文中,我们提出了我们的方法来分析软件存储库,以衡量学生在项目工作中的行为。我们评估这种方法在一个大学本科软件开发课程教学敏捷开发方法的案例研究。调查显示,对课程的积极态度和所采用的开发方法从Sunday到Kanban的变化。然而,调查无法用来确定学生调整工作流程的程度,以及他们是否按照课程目标这样做。因此,我们分析了学生的软件存储库数据,这些数据代表了教育工作者可以收集的信息,以揭示对学习成功和详细学生行为的见解。我们分析了在过去五门课程中创建的软件存储库,并评估了看板和Scrum使用之间的工作流程差异。
2019-03-20 cs.CY cs.SE
Applying User Experience and User-Centered Design Software Processes in Undergraduate Mobile Application Development Teaching
本文介绍一门融合 Scrum、极限编程、UX 与 UCD 的本科 Android 开发课程,通过理论与真实客户工作坊提升产品使用质量并获得多方认可。
2023-08-14 cs.SE
Code Shrew: Software platform for teaching programming through drawings and animations
在本文中,我们提出了代码Shrew,一个新的软件平台,伴随着一个交互式编程课程。它的目的是通过让用户创建自己的绘图和动画来教授计算机编程的基础知识。该程序设计语言具有基于Python的简单语法,并添加了一些新功能,可以使用面向对象代码轻松绘制和动画。编辑器的反应无缝,即时,提供了一个引人入胜的和互动的环境,实验和测试的想法。编程课程包括涵盖基本编程原则的课程,以及测试用户在课程中进步的技能的挑战。课程和挑战都利用了编辑的即时反馈,允许专注于边做边学。我们描述了软件和内容,它们背后的动机,以及它们与建构主义的联系。
2018-08-08 cs.CY cs.SE
Bridging the Research-Practice Gap in Requirements Engineering through Effective Teaching and Peer Learning
在本文中,我们介绍了研究实践差距的概念,因为它是在软件需求工程领域的看法。对这一差距的分析表明,研究与实践差距的两个主要原因是缺乏有效的沟通和大学课程中要求工程材料的覆盖面相对较低。我们讨论了软件需求工程(SRE)硕士课程的设计和交付,旨在克服一些问题,造成了研究实践的差距。通过鼓励学生在同伴学习环境中分享他们的经验,我们的目标是提高学生(其中许多人是当前的行业从业者)和研究人员(包括学术人员)之间的共同理解,以提高有效合作的潜力,同时发展入学学生的需求工程技能。学生在课程中的反馈进行了讨论,并为课程的未来发展和学习策略的方向。
2014-07-16 cs.CY cs.SE
The Framework For The Discipline Of Software Engineering in Connection to Information Technology Discipline
本文代表了初步的工作,在确定软件工程的学科基础,并发现之间的联系领域的软件工程和信息技术(IT)。我们的研究利用IEEE Transactions on软件工程(IEEE-TSE)、ACM Transactions on软件工程and Methodology(ACM-TOSEM)、Automated软件工程(ASE)、International Conference on软件工程(ICSE)以及其他软件工程领域的相关期刊出版物来解决我们的研究问题。我们探索了现有的框架,并描述了软件工程作为一门学科的必要性。我们进一步澄清了软件工程和计算机科学之间的区别。通过这些努力,我们有助于了解如何从IT研究的证据可以用来提高软件工程作为一门学科。
2022-10-27 cs.SE
The Essence Theory of Software Engineering - Large-Scale Classroom Experiences from 450+ Software Engineering BSc Students
软件工程作为一个行业在开发方法和实践方面是高度多样化的。从业者采用了无数的方法,并倾向于通过例如省略一些实践或规则来进一步定制它们。这种开发方法的多样性对软件工程教育提出了挑战,在教育和工业之间产生了差距。一般的理论,如软件工程的本质理论,可以帮助弥合这一差距,提出软件工程的学生与更高层次的框架,在此基础上建立一个软件工程方法和实际项目工作的理解。在本文中,我们研究本质在教育环境中,以评估其有用性的软件工程学生,同时也调查在这种情况下,它的采用的障碍。为此,我们观察了102个学生团队在一个学期的项目课程中在实际的软件工程项目中使用Essence。
2018-09-24 cs.SE
Are Educational Escape Rooms More Effective Than Traditional Lectures for Teaching Software Engineering? A Randomized Controlled Trial
通过随机对照试验(326名学生)比较教育逃生室与传统讲座在软件工程教学中的效果,发现逃生室能显著提升知识获取且学生感知积极。
2024-07-17 cs.CY cs.HC cs.SE
Teaching Empathy in Software Engineering Education in the Age of Artificial Intelligence
University of Calgary(卡尔加里大学);Federal Rural University of Pernambuco(伯南布哥联邦农村大学);University College London(伦敦大学学院);Radboud University(拉德堡德大学);University of Otago(奥塔哥大学);University of Hawaii at Manoa(夏威夷大学马诺阿分校)
本文探讨了在软件工程教育中融入同理心的教学实践,识别出五个类别,使学生能思考偏见、可访问性、问责制和社会影响。
2026-04-06 cs.CY cs.SE
Agile and Student-Centred Teaching of Agile/Scrum Concepts
本文介绍了以Agile/Scrum为核心的软件工程项目管理课程的教学改革经验,分析了适配大规模学生、兼顾真实性与可扩展性的混合式课程结构及在线评估方案。
2025-06-17 cs.SE
Experience in engineering of scientific software: The case of an optimization software for oil pipelines
科学和工程软件的开发通常是不同的,可能比传统的企业软件的开发更具挑战性。作者参与了学术界和工业界之间的一个技术转让项目,该项目侧重于石油管道泵送能源成本优化软件的工程、开发和测试。具有不同技能的专家(机械、电力和软件工程师)参与其中。考虑到软件的复杂性(复杂的底层优化模型)以及具有来自不同领域的专家,在软件系统的各个软件工程方面存在挑战(例如,要求和测试)。我们报告我们的观察和经验,在我们的技术转让项目中解决这些挑战,并旨在增加现有的经验和证据的科学和工程软件的工程。我们相信,我们的观察,经验和教训,可以为其他科学和工程软件系统的工程研究人员和从业人员有用。
2020-03-01 cs.SE
Software Engineering und Software Engineering Forschung im Zeitalter der Digitalisierung
正如科学记者约格什瓦尔所建议的那样,数字化不仅影响社会,还需要重新定义计算机科学和计算机科学家的位置。由于数字化的所有官方方面都是基于软件的,本文试图重新定义软件工程及其研究的作用。基于软件的产品、系统或服务正在影响生活的各个领域,是生活各个领域数字化的关键组成部分和核心创新驱动力。在科学上,软件工程作为一门驱动学科,在任何技术创新的发展中都有新的机遇和挑战。然而,这些机会绝不能被牺牲,以竞争文献计量数字为目的。
2020-02-25 cs.SE
Software Engineering at Google
我们对Google的关键软件工程实践进行了分类和描述。
2020-01-30 cs.SE
Hybrid Active Teaching Methodology for Learning Development: A Self-assessment Case Study Report in Computer Engineering
University of Luxembourg(卢森堡大学);Instituto Superior Manuel Teixeira Gomes(曼努埃尔·特谢拉·戈梅斯高等学院);Lusófona University(卢索福纳大学);Universidad Nacional de Rosario(罗萨里奥国立大学)
本研究通过案例研究强调主动教学法和跨学科课程在需求工程中的优势,采用以工件为中心的学习方法,73%学生获最高成绩,自我评估证实了学术卓越与学生参与。
2024-02-08 cs.CE cs.RO cs.SE
The Study and Approach of Software Re-Engineering
软件再工程的本质是改进或改造现有软件,使其能够被理解,控制和重用为新软件。需求,软件再工程的必要性大大增加。这些系统软件已经过时,不再用于架构,它们运行的平台稳定一致,它们支持开发和支持需求的变化。软件再工程是恢复和重用现有软件中固有的东西,将软件维护成本控制在最低限度,为未来软件开发奠定基础的重要手段。
2011-12-17 cs.SE
Flipping a Graduate-Level Software Engineering Foundations Course
创建一个研究生水平的软件工程广度课程是具有挑战性的。范围很广。学生们更喜欢动手而不是理论。企业越来越重视软技能。不断变化的软件技术要求教学大纲是技术不可知的,然而抽象技术会损害现实。教师必须平衡学习的广度和深度。在卡内基梅隆大学,我们设计了一门翻转课堂课程来解决这些权衡。该课程自2014年秋季起在硅谷校园开设。在本文中,我们描述了该课程的主要特点,并总结了我们的经验教训,同时设计,教学和维护它。我们发现,纯粹的翻转课堂格式是不是最佳的,以确保充分的知识转移,特别是在远程设置。我们最初低估了助教资源。我们逐渐补充视频讲座和动手现场会议与额外的现场组件:易于更换的背诵,专注于当前的技术和迷你讲座,解决理论和共同智慧的应用。我们亦为学生提供更多机会,与同学分享他们的成功经验。我们通过增加教学助理的数量,注重教学助理的招聘,并在教学团队中培养导师文化,实现了可扩展性。
2017-02-23 cs.CY cs.SE
What Practitioners Really Think About Continuous Software Engineering: A Taxonomy of Challenges
持续软件工程是一种协作式的软件开发环境,它提供了在短时间内持续开发和部署高质量软件项目的能力。针对持续软件工程实践尚不成熟,软件组织对采用持续软件工程犹豫不决的问题,本研究的目的是:(1)通过系统的文献综述(SLR)和问卷调查研究获得行业专家的见解,以探索持续软件工程的挑战;(2)使用模糊层次分析法(FAHP)对调查的挑战进行优先级排序。研究结果提供了一套软件组织所面临的关键挑战,同时采用持续软件工程和基于优先级的分类的持续软件工程的挑战。FAHP的应用是新颖的,在这个研究领域,因为它有助于解决从业者的连续软件工程的影响因素的不确定性。我们相信,这项研究的结果将作为一个知识体系,为现实世界的从业者和研究人员修改和开发新的战略,成功地实施持续软件工程的做法在软件行业。
2023-03-30 cs.SE
The Dangerous Dogmas of Software Engineering
为了使自己成为一门科学学科,软件工程学术界必须放弃其非经验主义的教条。教条是不顾证据而持有的信念。本文分析了四个软件工程教条的性质和有害影响:1)相信软件有“需求”; 2)软件工程任务分为分析,设计,编码和测试; 3)相信软件工程主要是设计“软件”系统; 4)相信软件工程有效地遵循方法。解构这些教条表明,它们都过于简化和过度合理化的软件工程实践方面,这掩盖了潜在的现象,误导了研究人员和从业者。基于证据的实践被分析为一种揭露和批判非经验教条的手段。这一分析结果在几个新的建议,以克服基于证据的实践的实际挑战。
2018-02-18 cs.SE
Towards Quantum Software Requirements Engineering
本文探讨量子软件需求工程与经典软件需求工程的差异,通过映射经典需求分类提出初步思考,并指出值得量子软件工程界关注的研究方向。
2023-09-23 cs.SE