《软件需求工程》教学大纲
课程名称:
| 软件需求工程
|
|
|
课程编号:
| 436012
|
|
|
适用专业:
| 软件工程
|
|
|
课程类别:
| 专业必修课
|
|
|
课程学分:
| 3
|
|
|
总学时:
| 54
|
|
|
其中:理论学时
| 30
|
|
|
实验学时
| 24
|
|
|
先修课程:
| C语言程序设计、面向对象程序设计、数据库原理、软件工程
|
一、课程的性质、目的与任务
软件需求作为软件工程的一个阶段,在软件项目开发中起着至关重要的作用。软件项目要取得成功,最重要的莫过于了解所要开发的软件需要解决哪些问题,这就是软件需求所要解决的问题,因此,软件需求为软件项目的成功奠定了基础。本课程是提升软件工程专业学生能力和水平的重要教学内容。
通过本课程的学习,要求学生达到:
1.了解需求工程的作用与地位;
2.掌握需求工程的常用方法;
3.掌握获取需求的常用方法;
4.了解需求管理的内容和方法;
5.学会软件规格需求说明书的撰写;
6.了解软件工程各领域的发展动向,成为具有独立工作能力的高素质高水平的软件人才。
二、课程教学基本内容与要求
工科专业基础课和专业课具有同样的特点,即课程知识内容可分为两类:第一类为“概念原理的知识”,即一门学科经由探究过程而获致的基本结论——概念原理的体系;第二类为“过程方法的知识”,即关于一门学科的探究过程与探究方法的知识。同时,概念原理的知识和过程方法的知识具有内在的统一性,课程选择就不能把二者人为地割裂开来。为此,本课程内容共分4个部分,前两个部分为“概念原理的知识”,后两部分为“过程方法的知识”,每个部分都具有明确的目的。
第一部分软件需求初步知识和体验
第二部分软件需求理论知识与方法
第三部分软件需求分析实践与文档写作
第四部分软件需求管理初步
第一部分:软件需求初步知识和体验
(一)基本教学内容
第1章软件需求基础知识
第2章客户眼中的需求
第3章需求工程的推荐方法
第4章需求分析员
(二)基本要求
教学目的:通过课堂理论教学和对关于常用软件的体验和理解,使学生建立软件需求的初步知识,掌握优质需求过程与优质需求,了解需求的开发过程。
教学重点:软件需求的定义与初步知识
教学难点:软件需求的定义。
第二部分:软件需求理论知识与方法
(一)基本教学内容
第5章确定产品前景与项目范围
第6章获取客户的需求
第7章聆听客户的需求
第8章理解用户需求
第9章遵守规则
第10章编写需求文档
(二)基本要求
教学目的:通过课堂及实验教学、课后的阅读和理解,使学生建立关于软件需求的基础理论与实践知识,了解软件需求基本方法。使学生能从程序设计看软件功能需求。要求学生结合已有的C语言程序设计等知识,对程序设计描述进行分析,提炼出软件功能需求和非功能需求,并以比较规范的语言进行描述。
教学重点:软件开发过程及需求工程对软件开发的影响、需求获取中的注意事项。
教学难点:软件需求关联图,用例法,事件-响应表。
第三部分:软件需求分析实践与文档写作
(一)基本教学内容
第11章一图胜千言
第12章软件质量属性
第13章通过制作原型减少项目风险
第14章设定需求优先级
(二)基本要求
教学目的:通过课堂及实验教学及课后的实践与应用,使学生初步掌握软件需求文档的写作方法,重点掌握业务需求和用户需求的编写方法。
教学重点:如何进行需求描述。
教学难点:数据流图、实体关系图、状态转换图、质量属性、性能需求。
第四部分软件需求管理初步
(一)基本教学内容
第15章需求确认
第16章需求开发面临的特殊难题
第17章超越需求开发
第18章需求管理的原则和实践
第19章变更管理
第20章需求链中的联系链
第21章需求管理工具
第22章改进需求过程
第23章软件需求与风险管理
(二)基本要求
教学目的:本部分为提高部分,通过课堂教学和课后阅读,使学生对软件工程中的需求管理具有初步的了解,并能结合课堂教学,针对小型软件(网站)设计开展用户需求分析实验,在模拟性工程实践中,理解需求获取阶段、需求分析阶段的需求工程基础理论与实践方法。
教学重点:需求管理的概念、原则和方法,需求与项目管理的联系。
教学难点:软件维护需求、软件包解决方案中的需求分析、需求变更管理、软件过程改进的基本原则。第1部分:
软件需求初步知识和体验
三、课程各章节学时分配
序号
| 内容
| 理论学时
| 实验学时
|
1
| 基本的软件需求
客户的需求观
| 1
|
|
2
| 需求工程的推荐方法
| 2
| 2
|
3
| 改进需求过程
| 2
| 2
|
4
| 软件需求与风险管理
| 2
| 2
|
5
| 建立项目视图与范围
| 2
| 2
|
6
| 寻找客户的需求
| 1
|
|
7
| 聆听客户的需求
| 1
| 2
|
8
| 编写需求文档
| 2
| 2
|
9
| 需求的图形化分析
| 2
| 6
|
10
| 软件的质量属性
| 1
|
|
11
| 通过原型法减少项目风险
| 2
|
|
12
| 设定需求优先级
| 1
|
|
13
| 需求质量验证
| 2
| 2
|
14
| 需求开发向设计规划的转化
| 2
| 2
|
15
| 需求管理的原则与实现
| 1
|
|
16
| 管理变更请求
| 2
|
|
17
| 需求链中的联系链
| 2
|
|
18
| 需求管理工具
| 2
| 2
|
合计
| 30
| 24
|
四、本课程课外学习与修学指导
针对《软件需求工程》的课程特点,为加强实践环节,提高学生学习的主动性,可将学生分组进行项目实践,提高学生的团队合作能力。让学生利用课外时间相对独立完成一个模拟的科研项目,这些项目都是从实际项目中提炼出来的,具有典型性、客观性和启发性,教师采用点拔方式或共同探究的方式进行指导。项目完成后,教师要求学生写专题论文,启发他们的思维,表达他们的见解,鼓励学生在本课程的学习中学会联系相关课程(如网络、数据结构、数据库等)的知识去思考和解决问题。教师应准备若干来自工程实践的技术文档,让学生学习、模仿软件工程文档的格式和用语,练习写作,再布置作业,通过课外阅读和写作练习,逐步建立需求工程的思想意识。
五、本课程考核方式及成绩评定标准
考核方式:闭卷考试
成绩评定方法:本课程的考核是平时成绩、实验成绩和期终考试成绩相结合。具体比例为:上课出勤、作业占20%,实验占20%,期末考试成绩占60%。
其中期未考试总分100分,基础题占50%,中等难度题占35%,较难题占15%。考试题型主要有:选择题、填空题、判断题、简答题、分析题等。
六、教材及参考书
教材:《软件需求》(第2版),(美)Karl E.Wiegers著,刘伟琴、刘洪涛译,清华大学出版社,2004年11月
主要参考书:
[1] 软件需求管理用例方法,蒋慧等译,中国电力出版社,2004,5
[2] 掌握软件需求过程,Suzanne Robertson著,人民邮电出版社,2003,2
[3] 实用软件需求,Benjamin L.Kovitz著,机械工业出版社,2004,9
[4] 需求分析,David C.Itay著,清华大学出版社,2003,12
[5] 软件需求,Lauesen著,电子工业出版社,2006,9
大纲撰写人:颜富强、谢小婷
大纲审阅人:罗如为
教学副主任:易叶青
编写日期:2012.6