需求工程对软件工程的成功占有至关重要的地位,软件越来越深入到各行各业,成为各行业创新发展的途径,需求工程作为跨行业的桥梁凸显了其重要性。需求工程方法和技术将在创新性软件的设计、在促进不同产业的转型发展、以及在软件加强性产品的创意设计等上体现其重要的价值。目前,需求工程能力的培养在我国的软件工程教育体系并没有得到足够的重视。本报告将针对软件问题的本质,阐述需求工程的认识论特征、需求工程的学科交叉性、以及它对软件工程的决定性作用,探讨需求工程人才培养的目的和要求,培养内容的设置,以及需求工程人才的能力培养等问题,阐述需求工程教育的挑战。
随着信息系统与软件产品规模的急剧扩大,软件体系结构已经成为软件工程领域的热点及关键技术。各学校都陆续开设了软件体系结构课程。但是由于学生缺乏大型软件的经验和认知,课程的抽象度高,课程百花齐放,缺乏统一的规范和要求。本报告分析软件体系结构课程的现状,研讨研究生软件体系结构课程的培养定位,强化对系统的复杂性、性能、演化、抽象层次、复用、折中等计算学科的核心概念的理解,从培养学生抽象思维能力、面向全局观的系统分析与设计能力、运用知识求解实际问题能力与创新能力出发,探讨培养内容的设置,以及相关的教学方法。
加强企业软件工程管理能力是提升软件研发效能、改善软件研发质量的重要手段。课程结合软件工程本质难题来讨论软件工程管理的必要性,围绕项目管理与过程管理两条线索详细讲解软件工程管理关键知识,培养学生综合运用所学知识进行软件工程管理的能力。在经典软件工程管理知识内容外,课程引入了当前产业界主流的敏捷软件开发、DevOps、典型企业的具体实践等内容。报告分享该课程的设计思路,并和大家一起探讨面临的挑战。
云计算、大数据、人工智能等新兴计算模式和服务背后的支撑系统几乎都采用或依赖于分布式系统及相关技术,凸显了其重要性。然而,分布式系统的理论方法、设计思想、关键技术等都仍处于快速发展、不断变革之中,因此,相关的教学内容、方法、手段等都需要与时俱进,跟上分布式系统领域的变化,不但包含经典理论同时也要体现前沿成果。本报告将以上海交通大学软件学院分布式系统课程的建设思考与教学实践为案例,分享在此过程中面临的挑战与困难,收获的经验与教训,以及未来的努力方向。
软件安全是当今计算机系统安全的重要组成部分,涵盖了大量新近发展出的问题,思路,技术,和工具等。本报告探讨如何系统地介绍软件安全相关知识,分析软件安全的本质,关联经典的攻击和防御技术,并有针对性地引导学生阅读研究论文,尽力使学生不仅掌握软件安全的基础理论,还能1)应用所学构造攻防实例,提高动手能力;2)按照一定的问题线索,发现新问题或提出合适的解决方法,为其进一步从事软件安全的学术研究或工程应用打好基础。
软件工程基础理论系列课程的主要关注点是如何基于数学(形式化)方法为软件的设计、分析、验证及维护提供可靠的理论支撑;同时能够更加深入的理解软件行为特征。基础理论的学习是软件工程教育的重要环节。它能够提高学习者抽象思维以及逻辑思考能力,更好的掌握软件分析、设计、测试能力。本报告主要讲述研究生软件工程理论基础课程的目标、内容设置、课程重难点、考核方式等。
软件工程基础理论系列课程的主要关注点是如何基于数学(形式化)方法为软件的设计、分析、验证及维护提供可靠的理论支撑;同时能够更加深入的理解软件行为特征。基础理论的学习是软件工程教育的重要环节。它能够提高学习者抽象思维以及逻辑思考能力,更好的掌握软件分析、设计、测试能力。本报告主要讲述研究生软件工程理论基础课程的目标、内容设置、课程重难点、考核方式等。
软件分析与测试是软件学科的重要分支,也一直是软件学院教学的一个重点。软件质量是贯穿软件整个生命周期的关键指标,程序分析和软件测试是保障软件质量的主要技术手段。《软件分析与测试》课程主要讲解软件质量模型、程序分析和软件测试的方法和技术、软件分析和测试工具以及若干应用案例分析,并配合课程实验,力图使学生掌握软件质量概念、软件分析和测试的理论知识和实践能力。报告主要讨论了如何在一门课的教学时间内,尽量覆盖软件分析与测试的教学内容。并结合当前企业的软件研发情况,模拟实际项目进行实训。希望对大家有所启发。
大规模领域软件系统是指企业或社会信息化过程中,特别是互联网技术大规模应用以来,网络和软件技术与各行各业创新业务应用深度融合、综合集成的大型软件系统。本报告介绍《大规模领域软件系统》课程指南编写的基本考虑,以及该课程教学实践的一些初步体会,包括课程单元设计,以案例为中心的教学内容组织,课程作业设计及教学效果等。
CCF软件工程专委主任
南京大学
国防科技大学
北京航空航天大学