随着计算机技术应用的深入,人们需要收集和处理的信息急剧增大,通过软件收集和处理数据成为必然。然而,软件的开发和预期效果,没有达到人们对软件高质量的要求。软件需求工程指应用工程化的方法、技术和规格来开发和管理系统需求,充分理解客户要求。软件需求工程的目标就是获取高质量的软件需求。与传统需求分析概念相比,软件需求工程突出了工程化的原则,强调以系统化、条理化和可重用的方法和技术进行软件需求相关活动,从而有利于提高与软件需求相关的一切活动及其过程的管理,降低了软件需求开发和管理的难度和成本。
本课程是软件工程专业系列核心课程之一,是软件工程课程体系的最前端课程,主要介绍需求的基本概念,需求的分类,需求工程的过程,需求获取的方法、步骤、技巧,需求建模技术,需求定义和验证的方法和技术,需求管理等内容。后续多门课程均已本课程为基础。学生需求工程能力具有了,对后续课程的理解和学习是一个基础,更增加学生就业时的多种能力——工程能力,文档能力,以及相关职业素养。
学习本课程,第一掌握理论知识基础,第二实际项目演练,第三阅读大量参考资料,第四阅读和分析相关案例及相关文档,第五,尝试规范地编写相关文档。对于理论知识,可以从教师课堂讲授、线上慕课、参考文献资料、网络视频等多途径获得,实验项目需要自己从生活或已有软件中发现问题从而进行提炼。实验效果的好坏需要进行评审,可以提请教师或相关专家,或行业专家评审,从而获得相应工程能力的训练。
能够按照软件需求工程的思想,阅读、理解、编写中小型应用型类系统软件需求规格说明文档,并进行验证。较好参与软件需求阶段的后续阶段工作。达到具有较好发现问题、分析问题和解决问题的工程能力,以及具有团队能力、表达能力、文档能力等职业能力。
预先掌握面向对象编程的思想对本课程的学习帮助会比较大。
如果有项目开发经验也有助于本课程的学习。
[1]李尤丰,张燕,洪蕾,李景仙.软件需求工程:理论与实践.北京:高等教育出版社,2019.
[2] 骆斌.需求工程-软件建模与分析[M],第2版.北京:高等教育出版社,2015.
[3]李尤丰,洪蕾.软件需求工程实验教程[M].南京:南大出版社,2015.
[4](美)Karl E.Wiegers.软件需求(第2版)[M].刘伟琴,刘洪涛译.北京:清华大学出版社,2004.
[5]IEEE recommended practice for software requirements specifications(IEEE Std 830-1998).
[6]计算机软件需求规格说明规范(GT/T 9538-2008)