《软件需求分析(Software Requirements Analysis)》教学大纲
制定时间:2025 03月
一、课程基本信息
(一)适用专业:本科软件工程
(二)课程代码:3ZN1085A
(三)学分/课内学时:3学分/48学时
(四)课程类别:专业教育
(五)课程性质:必修/理论课
(六)先修课程:C语言程序设计与应用、Web前端技术基础、数据结构、面向对象的程序设计方法
(七)后续课程:移动应用开发技术、软件质量保证与测试、软件设计与体系结构、工业软件应用开发技术、人机交互技术、企业级应用开发技术、毕业设计等
二、课程教学目标
本课程讲解软件工程领域的需求发现与获取技术,需求的描述、分析、建模和确认技术;软件工程中的需求评审、验证和管理,使学生能够运用多种技术获取和组织需求,使用需求建模方法与技术进行需求的分析与建模,编写规范的软件需求规格说明书。
通过学习本课程,学生既能清楚地理解软件开发的思路,又能掌握软件开发的前期规划能力,可以准确地分析软件开发需要的信息。课程目标及能力要求具体如下:
知识贡献:使学生掌握软件需求分析方法和技能,能够对实施的项目进行高质量的需求分析,从而提高学生的软件需求分析和软件开发能力。
素质贡献:通过对软件需求的学习,学生能够有效的应用软件需求工程的基本原理和方法,结合具体的开发项目,做出正确的需求分析和规范的需求分析文档等;提高学生独立完成软件项目需求分析过程的能力。
(一)具体目标
目标1:使学生掌握软件需求工程的基本概念和方法,认识需求工程包含的工作任务,理解需求获取、需求分析、原型设计、概要设计和详细设计等方面的基本理论。对于国内软件开发需求的现状有较为清晰的认识。
目标2:通过对软件需求的学习,学生能够有效的应用软件需求工程的基本原理和方法,结合具体的开发项目,做出正确的需求分析、业务优化和编制规范的需求分析文档等。使学生建立软件工程项目管理的观念,初步理解项目管理的原理和决策方法,提高学生独立完成软件项目需求分析过程的能力,掌握国产化软件开发流程,具有科技报国的家国情怀和使命担当。
(二)课程目标与毕业要求的对应关系
毕业要求 |
毕业要求指标点 |
课程目标 |
教学单元 |
评价方式 |
2.问题分析:能够应用数学、自然科学和工程科学的基本原理,识别、表达、并通过文献研究分析复杂工程问题,以获得有效结论。 |
2.4:能够正确表达一个工程问题的解决方案,能够表达工程问题的解决方案或实验步骤以便实施; |
目标1 |
需求分析入门 |
非标大作业 |
3.设计/开发解决方案:能够设计针对复杂软件工程问题的解决方案,设计满足特定需求的软件系统、可复用模块或组件,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。 |
3.1:能够根据复杂软件工程问题的需求确定基本思路和方案能够根据软件工程知识和数学知识给出复杂软件工程设计的基本思路和解决方案; |
目标2 |
需求获取及调研 |
实验 非标大作业 平时作业 |
4.研究:能够基于科学原理并采用科学方法对复杂软件工程问题进行研究,包括建立软件模型、设计实验、分析与解释数据、并通过信息综合得到合理有效的结论。 |
4.2:能够理解系统软件的设计思路和基本原理并能够运用相应原理采用科学方法解决具体问题理解操作系统、数据库管理系统等复杂软件系统的设计原理,并采用科学方法进行实验以解决具体复杂软件工程问题,具备初步工程研究能力; |
目标1 |
需求分析原理及方法 |
实验 非标大作业 平时作业 |
4.3:能够建立软件模型、设计实验、分析与解释数据、并通过信息综合得到合理有效的结论能够建立适当的软件模型并完成实验,通过分析与解释数据、信息综合得到合理有效的结论; |
目标2 |
需求分析原理及方法 |
实验 |
5.使用现代工具:能够针对复杂软件工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,利用形式化方法完成复杂软件系统的分析、预测、模拟、设计、验证、确认、实现、应用和维护,并能够理解其局限性。 |
5.1:能够开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具完成复杂软件工程需求分析、预测、模拟,能够自行开发或选择恰当的软件工程工具和技术,利用适当的资源,对复杂软件工程问题进行需求分析、前景预测、功能或界面模拟; |
目标2 |
设计工程:详细设计 实验:需求分析工具基础 |
实验 非标大作业 平时作业 |
5.2:能够使用恰当的工具和技术对软件体系架构和设计模式进行选 择,并完成软件设计,并理解选择的局限性了解软件体系架构和设计模式的局限性,了解常见软件工具和技术的局限性,能够根据复杂软 件工程问题进行选择,并进行设计; |
目标2 |
设计工程:概要设计 实验:需求分析工具基础 |
实验 非标大作业 |
11.项目管理:理解并掌握复杂软件工程项目管理原理与经济决策方法,并能在多学科环境中应用,具有一定的软件项目管理能力。 |
11.2:能够在多学科环境中根据复杂软件工程项目特征选择恰当的项目管理方法和决策方法。 |
目标2 |
需求分析入门 实验:软件规格说明书的编写 |
实验 非标大作业 |
三、教学内容与方法
(一)教学内容及要求
序 号 |
教学单元 |
教学内容 (知识点) |
学习产出要求 |
推荐学时 |
推荐教学方式 |
支撑 教学目标 |
备注 |
1 |
需求分析入门 |
1.课程简介 2.认识管理软件 3.需求工程基础知识 4.需求工程与软件工程 5.需求分析师所具备的素质 |
1. 了解管理软件的概念、发展和分裂; 理解需求工程在软件项目中的重要性; 2.理解软件需求分析的概念和任务; 3.掌握软件需求工程的基础知识:知识体系和基础原理 4.理解描述需求问题的思想。 |
2 |
讲授 |
目标1 |
|
2 |
需求获取与调研 |
1.需求调研的基本概念和重要性 2.需求收集方式与方法 3.需求调研资料(需求信息)的记录与整理 4.需求调研的实施 |
1.了解需求调研的重要性; 2.理解需求收集方式与需求信息的分类; 3.掌握需求信息的记录和整理方法; 4.理解需求调研的实施过程。 |
2 |
讲授 |
目标2 |
|
3 |
需求分析原理及方法 |
1.需求分析的定义和作用 2.需求分析之现状分析 3.需求分析之访谈记录分析 4.需求分析之表单分析 |
1.理解需求分析的定义和作用; 2.掌握基于现状构成图的需求分析方法; 3.掌握访谈记录的分析方法; 4.掌握表单的分析方法。 |
2 |
讲授 |
目标1 目标2 |
|
4 |
设计工程:概要设计 |
1.概要设计的定义及相关基本概念 2.架构的概要设计 3.功能的概要设计 4.数据的概要设计 |
1.理解工程分解的思想 2.初步掌握架构、功能和数据的概要设计方法 3. 了解概要规格书的内容组成 |
2 |
讲授 |
目标2 |
|
5 |
设计工程:详细设计 |
1.详细设计的定义及相关概念 2.架构的详细设计 3.功能的详细设计 4.数据的详细设计 |
1.理解工程分解的思想 2.初步掌握架构、功能和数据的概要设计方法 3. 了解概要规格书的内容组成 |
2 |
讲授 |
目标2 |
|
6 |
需求整理 |
系统规划 1 系统规划的工作内容 2 需求确定 3 整理需求 4 系统蓝图设计 数据建模 1 认识数据建模 2 实体关系 3 范式 4 数据库设计 面向对象的需求建模方法 1 面向对象的需求建模方法(OMT)要素介绍 2 状态转移图 3 序列图 |
系统规划 1 掌握系统规划的工作内容 2 以业务流程图为主的蓝图设计 数据建模 3 理解实体和关系元素 4 掌握数据建模过程中范式规范 5 掌握数据库设计方法 面向对象的需求建模方法 6掌握状态转移图和序列图画法 |
2 |
讲授 |
|
|
7 |
功能设计 |
功能设计基础 1 功能建模、逻辑、优化 场景设计 2 理解功能场景 3 理解用例和角色关系 数据流设计 4 理解数据流 5 理解数据流分层思路 |
功能设计基础 1 掌握功能构成模型设计、删改查基础功能逻辑、优化方法 场景设计 2 掌握功能场景设计 3 掌握用例图绘制 数据流设计 4掌握数据流设计和数据流程图绘制 |
2 |
讲授 |
|
|
8 |
实战项目设计 |
1学生自拟项目 2 对学生自拟项目进行分析讲解 |
1 发现自拟项目设计的不足并改进 |
2 |
讲授 讨论 |
|
|
8 |
原型设计 |
1 原型设计概念 2 界面设计基础与过程 3 界面优化 4 原型说明书 |
1 理解原型设计的目的 2 掌握界面设计基础和过程 3 掌握界面优化方法 4 掌握原型说明书编写和优化 |
4 |
讲授 |
|
|
|
|
|
|
|
|
|
|
9 |
实验:需求分析工具基础 |
1.需求分析图形绘制工具 2 原型设计工具 |
掌握应用软件绘制需求分析中各种图形的方法,掌握原型设计工具 |
6 |
讲授、演示 |
目标2 |
工具练习 |
11 |
实验:项目需求获取与调研 |
1. 收集关于项目的背景和客户情况 2. 收集用户群体的资料 3.制定需求获取计划和策略 4.分析项目范围和前景 |
掌握需求信息的收集和分析方法,能够大致分析和判断项目的前景和范围 |
4 |
讲授、演示 |
目标2 |
|
12 |
实验:项目需求分析 |
1. 分析案例项目的业务目标、现状和范围 2. 分析用户任务,绘制各类图形,说明功能需求和非功能需求 |
1. 掌握针对业务的需求分析方法 2. 掌握针对用户的需求分析方法 |
4 |
讲授、演示 |
目标2 |
|
14 |
实验:原型设计 |
|
|
6 |
讲授、演示 |
目标2 |
|
13 |
实验:项目设计工程 |
1 对某一简单系统进行架构、功能和数据的概要、详细设计 2.基于前期实验形成的文档编写软件规格书 3.按照内容、格式要求撰写完整的软件规格说明书。 |
掌握设计工程的应用方法初步为业务进行概要设计和详细设计。 能够针对一个简单的管理信息系统,采用需求分析的理论与方法的实践,完成需求分析并按照内容、格式要求撰写完整的软件规格说明书。 |
4 |
讲授、演示 |
目标2,3 |
|
|
|
|
|
|
|
|
|
(二)教学方法
1.课堂讲授
(1)采用启发式教学,激发学生主动学习的兴趣,培养学生独立思考、分析问题和解决问题的能力,引导学生主动通过自学和工程实践提升对于理论知识的理解。
(2)在教学内容上,系统讲授软件需求工程的基本理论和技术,指导学生完成对需求调研与获取、需求分析、概要设计和详细设计等内容的学习,使学生能够系统掌握软件需求分析的专业知识。
(3)在教学过程中采用电子教案,多媒体教学与传统板书、教具教学相结合,提高课堂教学信息量,增强教学的直观性。
(4)理论教学与工程实践相结合,采用案例式教学,将学生经常使用的软件设计成具体的工程案例用于课堂练习,引导学生掌握软件需求工程的思维方法和实践能力。
2.实验教学
实验教学是软件需求分析课程中重要的实践环节,目的是培养学生运用实验方法掌握软件需求分析的实践技能。通过侧重点不同的设计性实验以及最后的综合性实验,使得学生逐步构建起软件需求分析的完整工程实践能力。课程必做实验5个,各实验按照实验指导书的要求学生独立或分组完成,并提交实验报告。
鼓励学生选择自己熟悉的软件产品作为综合性实验的需求分析对象。
四、考核及成绩评定
(一)考核内容及成绩构成
课程考核以考核学生能力培养目标的达成为主要目的,以检查学生对各知识点的掌握程度和应用能力为重要内容,包括平时作业、实验和试卷考核两个部分,试卷考核方式:考查。各课程目标的考核内容、成绩评定方式、目标分值建议如下:
课程目标 |
考核内容 |
成绩评定方式 |
成绩占总评分比例 |
目标成绩占当次考核比例 |
学生当次考核平均得分 |
目标达成情况计算公式 |
目标1:使学生掌握软件需求工程的基本概念和方法,认识需求工程包含的工作任务,理解需求获取、需求分析、原型设计、概要设计和详细设计等方面的基本理论。对于国内软件开发需求的现状有较为清晰的认识。 |
软件需求分析的基本原理和概念 |
平时作业 |
5% |
50% |
C1 |
|
软件需求分析的基本原理、软件需求工程的基本概念 |
非标大作业 |
25% |
50% |
A1 |
掌握需求分析调研的基本方法 |
实验 |
10% |
25% |
B2 |
目标2:通过对软件需求的学习,学生能够有效的应用软件需求工程的基本原理和方法,结合具体的开发项目,做出正确的需求分析、业务优化和编制规范的需求分析文档等。使学生建立软件工程项目管理的观念,初步理解项目管理的原理和决策方法,提高学生独立完成软件项目需求分析过程的能力,掌握国产化软件开发流程,具有科技报国的家国情怀和使命担当。 |
掌握需求分析方法 |
平时作业 |
5% |
50% |
C2 |
|
针对某项目从信息收集到需求分析、到设计的工程过程 |
实验 |
30% |
75% |
B2 |
需求模型、需求分析工具的应用、 软件需求的开发和管理过程相关内容 |
非标大作业 |
25% |
50% |
A2 |
总评成绩(100%)=平时作业(10%)+平时实验(40%)+非标大作业(50%) |
100% |
—— |
—— |
|
(二)平时考核成绩评定
1.实验:平时必做实验4次+1次实验工具使用培训,4次实验包括3次设计性实验、1次综合性实验,实验工具使用培训不形成实验报告。支撑目标1和2,共占总评分40%。对应目标的评分标准如下:
对应目标 |
目标1:使学生掌握软件需求工程的基本概念和方法,认识需求工程包含的工作任务,理解需求获取、需求分析、原型设计、概要设计和详细设计等方面的基本理论。对于国内软件开发需求的现状有较为清晰的认识。 |
目标2:通过对软件需求的学习,学生能够有效的应用软件需求工程的基本原理和方法,结合具体的开发项目,做出正确的需求分析、业务优化和编制规范的需求分析文档等。使学生建立软件工程项目管理的观念,初步理解项目管理的原理和决策方法,提高学生独立完成软件项目需求分析过程的能力,掌握国产化软件开发流程,具有科技报国的家国情怀和使命担当。 |
考查点 |
实验报告 |
实验报告 |
成绩比例 |
10% |
30% |
评分标准 |
100% 至 90% |
能够完全理解软件需求工程的概念和各阶段任务;熟练掌握软件需求工程的理论并能运用到实验中。完全掌握需求获取、需求分析、需求定义、需求建模等方面的知识和技巧;能够准确地分析复杂软件系统的需求。 |
能够熟练运用自然语言描述法、场景技术、用例法等方法描述软件需求;获取的需求完整、准确、无二义性;能够有效地指导开发高质量的软件;能够根据实验任务书的要求,完成软件系统的需求分析,并撰写格式规范,需求描述清晰和准确的软件需求规格说明书。综合性实验的报告能够完全体现对于大复杂软件系统需求分析和评估的专业性和准确性,报告能够反映成员工作量,前后描述逻辑合理;所有需求均具有可行性和可验证性 |
89.9% 至 80% |
能够较好地理解软件需求工程的概念和各阶段任务;掌握软件需求工程的理论并能运用到实验中。较好地掌握需求获取、需求分析、需求定义、需求建模等方面的知识和技巧;能够较准确地分析复杂软件系统的需求。 |
能够较好地运用自然语言描述法、场景技术、用例法等方法描述软件需求;获取的需求比较完整和准确;能够比较有效地指导开发高质量的软件;能够根据实验任务书的要求,完成软件系统的需求分析,并撰写格式比较规范,需求描述比较清晰和准确的软件需求规格说明书; |
79.9 至 70% |
基本理解软件需求工程的概念和各阶段任务;能够将软件需求工程的主要理论运用到实验中。基本掌握需求获取、需求分析、需求定义、需求建模等方面的知识和技巧;基本能够分析简单软件系统的需求。 |
基本能够运用自然语言描述法、场景技术、用例法等方法描述软件需求;获取的需求基本完整;基本能够指导软件开发。能够根据实验任务书的要求,完成软件系统的需求分析,并撰写格式基本规范,需求描述基本清晰和准确的软件需求规格说明书。 |
69.9% 至 60% |
基本理解软件需求工程的概念和各阶段任务;但不能将软件需求工程的主要理论运用到实验中。基本掌握需求获取、需求分析、需求定义、需求建模等方面的知识和技巧;能够分析简单软件系统的部分需求。 |
仅能运用自然语言描述法、等基本方法描述软件需求;仅能获取部分需求;能够指导部分软件功能的开发。仅能根据实验任务书的要求,部分完成软件系统的需求分析,撰写的软件需求规格说明书格式存在一定错误,部分需求描述不清晰不准确。 |
59.9%至 0 |
不能理解软件需求工程的概念和各阶段任务;不能将软件需求工程的主要理论运用到实验中。不能掌握需求获取、需求分析、需求定义、需求建模等方面的知识和技巧;不能分析简单软件系统的需求。 |
无法运用自然语言描述法、场景技术、用例法等任何一种方法描述软件需求;不能获取准确和完整的软件需求;不能有效指导软件的开发。不能根据实验任务书的要求,完成软件系统的需求分析;撰写的软件需求规格说明书格式存在严重错误,需求描述不清晰不准确。 |
2.平时作业:支撑目目标1、目标2,共占总评分10%,目标1占5%、目标2占5%。对应目标的评分标准如下:
对应目标 |
目标1:使学生掌握软件需求工程的基本概念和方法,认识需求工程包含的工作任务,理解需求获取、需求分析、概要设计和详细设计等方面的基本理论。 |
目标2:通过对软件需求的学习,学生能够有效的应用软件需求工程的基本原理和方法,结合具体的开发项目,做出正确的需求分析、业务优化和编制规范的需求分析文档等;提高学生沟通表达能力,建立学生在软件开发中的独立自主意识。 |
考查点 |
软件需求工程的基本概念和方法的理解 |
分析、解决问题的能力 |
成绩比例 |
5% |
5% |
评分标准 |
100% 至 90% |
对于软件需求工程理解清晰,对于概念与方法的学习可以灵活应用。 |
可以熟练软件需求工程中的知识,在具体的实例中分析、解决问题的能力强。 |
89.9% 至 80% |
理解软件需求工程过程,对于概念与方法的学习可以消化吸收,并用于具体的问题中。 |
对软件开发组织中的管理知识有了解,在具体的实例中能够进行分析,完成实验要求。 |
79.9 至 70% |
理解软件需求工程过程,可以将管理过程中概念与方法加以运用。 |
对软件需求工程知识有了解,能够按照实例要求完成。 |
69.9% 至 60% |
理解软件需求工程过程,可以将每个管理过程中概念与方法区别清楚。 |
对软件需求工程知识理解不清晰,混淆相关概念,不能很好的完成实例分析。 |
59.9%至 0 |
对于软件需求工程过程理解不清楚,对于概念与方法不理解。 |
对软件需求工程知识有不了解,无法进行实例分析分析。 |
五、参考学习资料
(一)推荐教材1:杨长春.软件需求分析实战[M],2020,清华大学出版社,2020.
(二)推荐教材2:李鸿君.大话软件工程:需求分析与软件设计[M].清华大学出版社,2020.
(三)推荐教材3:韩雪燕,李楠,陈尘.软件需求分析和设计实践指南[M].清华大学出版社,2021.
(四)参考资料1:《UML面向对象需求分析与建模教程》,邹盛荣,科学出版社,2015,第1版,ISBN:9787030444677.
(五)参考资料2:《UML软件建模技术——基于IBM RSA工具》,高科华,清华大学出版社,2017,第1版,ISBN:9787302454465.
(六)参考资料3:《Axure RP7:网站和APP原型制作从入门到精通》,金乌,人民邮电出版社,2017,第1版,ISBN:9787115384034.