一、课程概述
软件需求工程的目标是识别现实世界中待解决的问题、可改进的方面、可把握的机会,认知问题的范围,并明确刻画出要通过软件技术有效解决的目标问题,设计出解决方案,并分析和确认方案可行性和有效性。软件需求工程是软件工程专业系列核心课程之一,培养学生的软件问题定义与软件系统需求分析能力。课程主要介绍需求工程过程、需求抽取技术、需求建模与分析方法、需求文档化与验证等内容,结合需求工程案例介绍需求工程方法学。围绕各教学重点介绍本领域的最新研究进展,带领学生实践工业界采用的最新技术、过程、方法和工具。目的是为后续的软件设计、软件测试、软件演化与维护等软件工程活动提供上游输入。课程教学内容具有基础性、实践性和前沿性。
二、先修课程
在学习本课程之前应完成至少一门程序设计课程,了解软件已经成为各行各业重要的基础设施。
三、课程目标:
课程旨在让学生理解需求工程基本原理、建模技术、经典方法和最佳实践。学生通过这门课所能掌握的知识和技能如下:
1.了解软件需求工程在软件工程中的重要地位;了解软件需求工程活动的性质;
2.了解和应用软件需求工程的概念、方法、过程和工具;
3.掌握经典的需求工程方法,包括面向目标的方法、面向主体的方法、面向情景的方法、以及问题驱动的方法等;
4.熟悉非功能性需求的分析技术,以及形式化方法在需求分析中的作用;
5.学习需求工程领域当前最新研究成果和最佳实践,通过课堂讨论及课后作业,给学生提供软件需求工程的实践机会。
四、适用对象
软件工程专业高年级本科生和研究生。
五、授课方式:
授课与课程项目实践相结合的方式,教学方式采用“讲授-思考与交流-实践”三个环节的有机结合:
课程讲授:在软件需求工程理论知识的讲解中注重贯穿实际的软件系统分析案例,使学生真正理解这些理论知识,建立软件需求工程过程的系统化与工程化观念和质量意识,掌握软件需求工程的最新技术。
启发思考:注重鼓励和引导探索式学习,学生通过文献查阅以及与软件企业人员的接触交流,真正体会当前软件工程业界的真实案例和最佳实践。在教学过程中营造轻松活跃的课堂气氛,开展互动式的讨论,鼓励学生结合课程实践中的问题进行专题报告和软件演示。