课程概述

随着计算机技术应用的深入,人们需要收集和处理的信息急剧增大,通过软件收集和处理数据成为必然。然而,软件的开发和预期效果,没有达到人们对软件高质量的要求。软件需求工程指应用工程化的方法、技术和规格来开发和管理系统需求,充分理解客户要求。软件需求工程的目标就是获取高质量的软件需求。与传统需求分析概念相比,软件需求工程突出了工程化的原则,强调以系统化、条理化和可重用的方法和技术进行软件需求相关活动,从而有利于提高与软件需求相关的一切活动及其过程的管理,降低了软件需求开发和管理的难度和成本。

本课程是软件工程专业系列核心课程之一,是软件工程课程体系的最前端课程,主要介绍需求的基本概念,需求的分类,需求工程的过程,需求获取的方法、步骤、技巧,需求建模技术,需求定义和验证的方法和技术,需求管理等内容。后续多门课程均已本课程为基础。学生需求工程能力具有了,对后续课程的理解和学习是一个基础,更增加学生就业时的多种能力——工程能力,文档能力,以及相关职业素养。

学习本课程,第一掌握理论知识基础,第二实际项目演练,第三尝试规范地编写相关文档。对于理论知识,可以从教师课堂讲授、线上慕课、参考文献资料、网络视频等多途径获得,实验项目需要自己从生活或已有软件中发现问题从而进行提炼。实验效果的好坏需要进行评审,可以提请教师或相关专家,或行业专家评审,从而获得相应工程能力的训练。

 



证书要求

本课程暂无证书。

预备知识

预先掌握面向对象编程的思想对本课程的学习帮助会比较大。

如果有项目开发经验也有助于本课程的学习。

授课大纲

1 软件需求基础

1.1 什么是需求?

1.2 软件需求的分类

1.3 软件需求工程的过程

1.4 作业及自学内容说明

第一章 单元测试

软件需求工程基础-作业1

2 软件需求获取

2.1 需求获取基本概念

2.2 需求获取的过程

2.3 业务需求

2.4 边界

2.5 前景和范围文档的编写

2.6 涉众与硬数据

2.7 补充:需求获取的常见困难及解决办法-自学

2.8 面谈法获取需求

2.9 原型法获取需求

2.10 其他方法获取需求-自学

2.11 需求组织——用例说明书的编写

2.12 作业要求说明

第二章单元测验

前景和范围文档-作业2

用例使用说明文档-作业3

3 软件需求分析

3.1 需求分析概述

3.2 需求分析方法

3.3 需求分析案例

3.4 其他需求分析

第三章 单元测验

需求各模型的建立-作业4

4 软件需求文档化

4.1 软件需求规格说明文档

4.2 软件需求规格说明文档模板的选择与裁剪

4.3 文档模板内容撰写的说明-自学

4.4 文档的写作

4.5 案例示范

第4章单元测验

软件需求规格说明文档-作业5

5 软件需求验证

5.1 需求的验证及验证过程

5.2 需求验证的方法及特点

第五章单元测试

6 软件需求管理

6.1 需求管理概述

6.2 需求基线

6.3 需求跟踪

6.4 控制需求变更

第六章 单元测试

参考资料

[1]邹盛荣,周塔,顾爱华,彭昱静.UML面向对象需求分析与建模教程:基于UML2.5标准(第2版).北京:科学出版社,2019.

[2]李尤丰,张燕,洪蕾,李景仙.软件需求工程:理论与实践.北京:高等教育出版社,2019.

[3]骆斌.需求工程-软件建模与分析[M],第2版.北京:高等教育出版社,2015.

[4]张劲峰.需求工程-实验指导书(自编).绵阳,西南科技大学,2018.

[5]李尤丰,洪蕾.软件需求工程实验教程[M].南京:南大出版社,2015.

[6](美)Karl E.Wiegers.软件需求(第2版)[M].刘伟琴,刘洪涛译.北京:清华大学出版社,2004.

[7]IEEE recommended practice for software requirements specifications(IEEE Std 830-1998).

[8]计算机软件需求规格说明规范(GT/T 9538-2008)


常见问题
  1. 本课程配备理论教材《UML面向对象需求分析与建模教程》,科学出版社2019年1月出版,ISBN978-7-03-056914-1,供大家参考。

  2. 课程实验的开展,可以参考教材《需求工程-实验指导书(自编)》。

  3. 单元测验有些题慕课里没有提及,这是设计题目时特意安排的,目的是希望学习者学会主动查阅资料,扩大知识面。