《软件需求分析》教学大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件需求分析》教学大纲
01.课程说明
课程名称:软件需求分析
总学时:32
先修课程:软件工程导论、数据库原理与设计、信息系统基础
02.课程性质、目的和任务
软件开发一般包括可行性分析、需求分析、软件设计、软件开发、软件测试、软件实施、软件服务等步骤。需求分析是软件开发的一个步骤,主要作用是充当软件研发与客户之间的桥梁,包括对客户的信息化需求进行分析,将客户不规范的、随意的需求,转换成规范的、严谨的、结构化的需求,并进行系统规划、软件开发设计、软件变更设计等。
通过本课程的学习,要求学会如何进行软件的需求分析,如何搜集用户需求,如何设计软件界面、功能、数据库,学会如何编写需求文档,学会建立正确的需求分析的思维方式,深刻理解管理软件是为管理服务的。
03.教学内容
第1章需求分析入门(2学时)
(一)主要内容:
什么是管理软件,什么是好软件,需求分析包括的主要工作内容,如何成为需求分析师,快速原型开发模型。
(二)教学重点:
深刻理解什么是好软件,为设计好软件打下坚实的基础。(★★★★★)了解管理软件常用的实施方式,不同方式的优缺点。(★)
了解企业管理工作包括哪些内容。(★)
了解成为一个好的需求分析师的条件。(★)
理解“快速原型”开发模型。(★★)
(三)课后思考题:
1.你觉得学校的管理工作包括哪些内容?
2.如果让你策划一款软件系统管理你们的学校,你觉得可以包括哪些功能?
3.根据好软件的特点,分析一下腾讯的微信App。
4.评价一下你在学校中看到过的某管理软件(如学生选课系统、图书管借书系统等)。
5.结合需求分析师的性格要求,分析一下自己的性格特点。
第2章需求获取(4学时)
(一)主要内容:
获取需求的七种方法:观察法、体验法、问卷调查法、访谈法、单据分析法、报表分析法、需求调研会法。
(二)教学重点:
需求调研的七种方法,理解调研过程中需要将这些方法结合运用(★)如何制作调查问卷(★★★★)
如何准备调研访谈(★★)
访谈过程如何进行(★★)
如何收集单据(★★★)
如何分析单据(★★★★★)
生成报表的触发条件(★)
如何分析报表(★★★★★)
报表对功能设计的影响(★★★★★)
(三)课后思考题:
1.编写一份调查问卷,了解学校是如何管理学生宿舍的。
2.为了给学校图书馆开发图书管理系统,你要对图书管理员进行一次访谈。展望一下你会如何安排这次访谈。
3.回忆一下你最近填写的某张单据(如某申请表、请假单),说说其中的管理思想。
4.找一张与你相关的单据,分析这个单据的流动路径、每个字段的因果关系。
5.分析一下你最近的成绩报告单,你觉得其中蕴含了哪些软件功能需求?
6.假设学校要求学生每次上课都要打卡,然后根据打卡记录生成学生的上课考勤报表(统计每节课的迟到、旷课人数)。这是个需要大量计算的报表,分析一下要做出这个报表需要哪些软件功能?如何提高报表效率?
第3章系统规划(4学时)
(一)主要内容:
如何分析需求、控制需求、挖掘需求、整理需求,以及如何对整个组织的信息化管理体系进行蓝图设计。
(二)教学重点:
如何将用户的需求具体化、结构化(★★★★★)
如何识别超出项目范围的需求(★★★)
如何识别错误的需求(★★)
需求调研报告的编写方式(★★★★)
如何绘制业务流程图(★★)
如何规划软件边界(★★★)
如何规划工作方式(★★★★★)
让用户重复劳动产生的原因(★)
信息孤岛形成的原因,常用处理方式(★★★★)
(三)课后思考题:
1.学校需要开发一款管理学生档案信息的软件。对于学生基本信息的编辑权限,客户提出了这个需求:学生的基本信息由班主任录入,如果班主任请假,领导又催得急的话,学工处王老师处理。——用正确的方式重新描述本需求。
2.假设需要开发一款软件用于学校宿舍的床位分配,根据你的想法提出关于床位分配的需求。注意需求描述要尽量明确、精准、没有二义性,且一般非IT人员能够看得懂。
3.根据学校图书馆借书、还书的管理要求,画出业务流程图。
4.假设你到学校图书馆借书,图书管理员通过软件处理借书事宜。描述一下处理借书的工作场景。
5.观察在学习、生活中使用到的一些软件,请举一个信息孤岛的例子,并说明(或猜想)其形成的原因,有什么解决方法。
第4章数据建模(4学时)
(一)主要内容:
如何进行数据库设计。包括实体关系、范式、表、字段、表的关系、数据字典等的相关概念及用法,以及如何优化数据库。
(二)教学重点:
数据建模的工作内容(★)
现实世界中的三种实体关系(★)
设计表的注意点(★★★★)
特殊的表(★★)
表与表的关系(★★★★★)
字段的数据类型(★★)
如何编写数据字典(★★★★★)
数据建模不是孤立的(★★)
数据建模要考虑可扩展性(★★★)
数据建模不要教条主义(★★)
(三)课后思考题:
1.观察在学习、生活中使用到的一些软件,请举一个信息孤岛的例子,并说明(或猜想)其形成的原因,有什么解决方法。
2.如果要给学校图书馆开发一款图书管理软件,你觉得包括哪些实体?
3.这些实体有什么关系?
4.这款图书管理软件需要哪些表?表跟表之间有什么关系?使用Visio画出数据模型。
5.图书与书架是什么关系?如果要求保存图书的放置历史,这个关系变成什么关系?试画出两种不同的数据模型。
6.一个存放图书基本信息的表(如图书编号、书号、作者、定价等)可能包括哪些字段?使用Word写出它的数据字典。
第5章功能设计(4学时)
(一)主要内容:
如何编写需求用例,如何进行功能建模,管理软件中有哪些常用的功能逻辑,以及如何从灵活、可重用、高效方面优化功能。
(二)教学重点:
工作场景的撰写方式(★★)
如何进行功能划分(★★★)
常用的基础功能逻辑(★)
什么是工作流(★)
如何画工作流图(★★★★★)
常见的功能逻辑案例(★★)
如何提高软件功能的灵活性(★★★★★)
如何提高软件功能的可重用性(★★★★)