《软件工程03需求分析.pptx》由会员分享,可在线阅读,更多相关《软件工程03需求分析.pptx(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、可行性研究可行性研究需求分析需求分析总体设计总体设计详细设计详细设计实实 现现 测试测试使用与维护使用与维护软件定义软件定义软件开发软件开发软件使用软件使用与维护与维护软件生命周期软件生命周期问题定义问题定义第1页/共50页 需求分析概述需求分析概述1.1.与可行性分析的区别与可行性分析的区别可行性分析只是粗略了解用户需求很多细节被忽略了2.2.需求分析的任务需求分析的任务准确的回答“系统必须做什么?”仍是回答“DO what”而不是“How to do”3.3.用户在需求分析中的作用用户在需求分析中的作用4.4.需求规格说明工作的艰巨性需求规格说明工作的艰巨性第2页/共50页一幅关于软件项目
2、需求的漫画第3页/共50页 一幅关于软件项目需求的漫画第4页/共50页 需求分析概述需求分析概述5.5.需求分析的困难需求分析的困难应用系统复杂,庞大片面性,不完全模糊性,不准确不一致性,歧义等等因此必须使用系统的方法、借助于一系列行之有效的技术和工具进行需求分析第5页/共50页 需求分析概述需求分析概述6.6.在需求分析阶段结束之前,系统分析员应该在需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书,所有分析方法都写出软件需求规格说明书,所有分析方法都应遵守下述准则:应遵守下述准则:1 必须理解并描述问题的信息域,建立数据模型2 必须定义软件应完成的功能,建立功能模型3 必须描述作为
3、外部事件的软件行为,建立行为模型4 必须对描述信息、功能和行为的模型进行分解,用 层次的方式展示细节第6页/共50页 第3 3章 需求分析 3.1 3.1 需求分析的任务3.2 3.2 获取需求的方法3.3 3.3 分析建模与规格说明3.4 3.4 数据模型:实体联系图3.5 3.5 数据规范化3.6 3.6 行为模型:状态转换图3.7 3.7 其他图形工具3.8 3.8 验证软件需求第7页/共50页3.1 3.1 需求分析的任务1.确定对系统的综合要求2.分析系统的数据要求3.导出系统的逻辑模型4.修正系统开发计划第8页/共50页3.1.1 3.1.1 确定系统的综合要求 1.1.功能需求
4、2.2.性能需求 3.3.可靠性和可用性需求 4.4.出错处理需求 5.5.接口需求 6.6.约束 7.7.逆向需求 8.8.将来可能提出的要求3.1 3.1 需求分析的任务需求分析的任务第9页/共50页3.1.2 3.1.2 分析系统的数据要求建立概念模型 E-R Diagram E-R Diagram形象描绘数据结构 Data Hierarchy,Warnier Diagram,IPOData Hierarchy,Warnier Diagram,IPO数据结构规范化3.1 3.1 需求分析的任务需求分析的任务第10页/共50页3.1.3 3.1.3 导出系统的逻辑模型数据流图(DFD),数
5、据字典(DD)实体-关系图(ERD)状态转换图(STD)主要的处理算法描述逻辑模型(IPO)3.1.4 3.1.4 修正系统开发计划准确地估计系统的成本及进度,修正以前我 们所制定的开发计划3.1 3.1 需求分析的任务需求分析的任务第11页/共50页 数据库中存放的是:职工的所属部门、职工号、姓名;数据库中存放的是:职工的所属部门、职工号、姓名;职工报销时应填写:所属部门、职工号、姓名、日期;职工报销时应填写:所属部门、职工号、姓名、日期;医疗费分类:内部门诊、外部门诊、住院费、子女医疗医疗费分类:内部门诊、外部门诊、住院费、子女医疗费费 该单位规定,每年每个职工的医疗费有一个限额该单位规定
6、,每年每个职工的医疗费有一个限额 (如(如 80 80 80 80元),限额在年初确定,其限额规则如下:元),限额在年初确定,其限额规则如下:案案例例某单位某单位医疗费医疗费管理系统管理系统1 1 1 1、每个职工一年内报销的医疗费不超过限额时,、每个职工一年内报销的医疗费不超过限额时,、每个职工一年内报销的医疗费不超过限额时,、每个职工一年内报销的医疗费不超过限额时,全部报销全部报销全部报销全部报销 ;2 2 2 2、超额,则超出部分只可报销、超额,则超出部分只可报销、超额,则超出部分只可报销、超额,则超出部分只可报销90%90%90%90%,其余,其余,其余,其余10%10%10%10%由
7、由由由 职工个人负担;职工个人负担;职工个人负担;职工个人负担;3 3 3 3、职工子女的医疗费也有限额(如、职工子女的医疗费也有限额(如、职工子女的医疗费也有限额(如、职工子女的医疗费也有限额(如 40 40 40 40元)。元)。元)。元)。第12页/共50页用户对系统的要求1 1、医疗费管理系统每天记录当天报销的若干职工或职工 子女的医疗费的类别、金额。2 2、在当天下班前让系统自动结帐、统计当天报销的医疗 费总额,供出纳员核对。3 3、每笔帐要保存备查,每天所报销的费用要和各个职工 已报销的金额累计起来,以便检查哪些职工已超额。4 4、系统还要配有适当的查询功能。5 5、年终结算后,下
8、一年度开始时要对数据库文件进行初 始化。6 6、当职工调离本单位,或在本单位内部门间调动,数据 库文件应能及时得到修改。请完成对上述系统的需求分析请完成对上述系统的需求分析第13页/共50页2023/3/30 该系统规模不太大,可以和用户单位的其该系统规模不太大,可以和用户单位的其该系统规模不太大,可以和用户单位的其该系统规模不太大,可以和用户单位的其它管理系统使用相同的计算机硬件设备、相同它管理系统使用相同的计算机硬件设备、相同它管理系统使用相同的计算机硬件设备、相同它管理系统使用相同的计算机硬件设备、相同的操作系统和相同的关系数据库管理系统。的操作系统和相同的关系数据库管理系统。的操作系统
9、和相同的关系数据库管理系统。的操作系统和相同的关系数据库管理系统。如果,可以使用汉化了的数据库管理系统,如果,可以使用汉化了的数据库管理系统,如果,可以使用汉化了的数据库管理系统,如果,可以使用汉化了的数据库管理系统,但在建立数据库结构时,凡是用英文名称来代但在建立数据库结构时,凡是用英文名称来代但在建立数据库结构时,凡是用英文名称来代但在建立数据库结构时,凡是用英文名称来代表字段名时,则必须在数据字典中予以说明。表字段名时,则必须在数据字典中予以说明。表字段名时,则必须在数据字典中予以说明。表字段名时,则必须在数据字典中予以说明。1 1、确定系统的环境要求、确定系统的环境要求第14页/共50
10、页2 2、系统性能要求、系统性能要求 1 1 1 1)数据不能随意更改)数据不能随意更改)数据不能随意更改)数据不能随意更改 2 2 2 2)保证数据的准确性)保证数据的准确性)保证数据的准确性)保证数据的准确性 由于医疗费管理系统涉及到会计经费问题,数据不能由于医疗费管理系统涉及到会计经费问题,数据不能由于医疗费管理系统涉及到会计经费问题,数据不能由于医疗费管理系统涉及到会计经费问题,数据不能随意更改但数据输入又难免会出错。因而在每输入一个职随意更改但数据输入又难免会出错。因而在每输入一个职随意更改但数据输入又难免会出错。因而在每输入一个职随意更改但数据输入又难免会出错。因而在每输入一个职工
11、的医疗费后,屏幕提示工的医疗费后,屏幕提示工的医疗费后,屏幕提示工的医疗费后,屏幕提示“数据有误吗?数据有误吗?数据有误吗?数据有误吗?”。若是在核对。若是在核对。若是在核对。若是在核对时时时时 有误,可及时更改,避免输入错误。有误,可及时更改,避免输入错误。有误,可及时更改,避免输入错误。有误,可及时更改,避免输入错误。一天报销结束时,在一天报销结束时,在一天报销结束时,在一天报销结束时,在 数据存档前,再让出纳员核对数据存档前,再让出纳员核对数据存档前,再让出纳员核对数据存档前,再让出纳员核对一下经费总额,若出纳员支一下经费总额,若出纳员支一下经费总额,若出纳员支一下经费总额,若出纳员支
12、出的金额总数有误时,应让计出的金额总数有误时,应让计出的金额总数有误时,应让计出的金额总数有误时,应让计算机显示每笔帐目,供仔细核对,此时再允许修改一次。算机显示每笔帐目,供仔细核对,此时再允许修改一次。算机显示每笔帐目,供仔细核对,此时再允许修改一次。算机显示每笔帐目,供仔细核对,此时再允许修改一次。当正式登帐后,数据就当正式登帐后,数据就当正式登帐后,数据就当正式登帐后,数据就 绝对不允许在修改了,由此保证财绝对不允许在修改了,由此保证财绝对不允许在修改了,由此保证财绝对不允许在修改了,由此保证财务制度的严格性,保证务制度的严格性,保证务制度的严格性,保证务制度的严格性,保证 数据的安全性
13、。数据的安全性。数据的安全性。数据的安全性。第15页/共50页2023/3/303 3、系统的功能要求、系统的功能要求(1 1 1 1)具有表格形式屏幕的输入格式)具有表格形式屏幕的输入格式)具有表格形式屏幕的输入格式)具有表格形式屏幕的输入格式(2 2 2 2)具有重复录入数据的功能)具有重复录入数据的功能)具有重复录入数据的功能)具有重复录入数据的功能 (3 3 3 3)具有查询和统计汇总的功能)具有查询和统计汇总的功能)具有查询和统计汇总的功能)具有查询和统计汇总的功能(4 4 4 4)职工的调入和调出以及对数据库的初始化)职工的调入和调出以及对数据库的初始化)职工的调入和调出以及对数据
14、库的初始化)职工的调入和调出以及对数据库的初始化第16页/共50页 第3 3章 需求分析 3.1 3.1 需求分析的任务需求分析的任务3.2 3.2 获取需求的方法获取需求的方法3.3 3.3 分析建模与规格说明分析建模与规格说明3.4 3.4 数据模型:实体联系图数据模型:实体联系图3.5 3.5 数据规范化数据规范化3.6 3.6 行为模型行为模型:状态转换图状态转换图3.7 3.7 其他图形工具其他图形工具3.8 3.8 验证软件需求验证软件需求第17页/共50页3.2 3.2 获取需求的方法1.访谈2.面向数据流自顶向下求精3.简易的应用规格说明技术4.快速建立软件原型第18页/共50
15、页3.2 3.2 获取需求的方法1.访谈正式访谈非正式访谈向被调查人员发调查表情景分析技术第19页/共50页3.2 3.2 获取需求的方法2.面向数据流自顶向下求精第20页/共50页3.2 3.2 获取需求的方法3.3.简易的应用规格说明技术分析需求的典型过程进行初步访谈,初步确定待解决的问题的范围和解决方案进行初步访谈,初步确定待解决的问题的范围和解决方案开发者和用户分别写出开发者和用户分别写出“产品需求产品需求”选定会议的时间和地点,选举协调人选定会议的时间和地点,选举协调人邀请开发者和用户双方组织的代表出席会议邀请开发者和用户双方组织的代表出席会议列出系统环境组成部分的对象、系统将产生的
16、对象、系统为完成自己的功能将列出系统环境组成部分的对象、系统将产生的对象、系统为完成自己的功能将使用的对象,列出操作这些对象或与这些对象交互的服务,列出约束条件和性使用的对象,列出操作这些对象或与这些对象交互的服务,列出约束条件和性能标准能标准共同创建一张组合列表共同创建一张组合列表起草完整的软件需求规格说明书起草完整的软件需求规格说明书第21页/共50页3.2 3.2 获取需求的方法4.4.快速建立软件原型快速建立软件原型的特性快速快速容易修改容易修改软件原型的分类在软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分在软件开发中,原型是软件的一个早期可运行的版本,它反映最终系
17、统的部分重要特性重要特性探索型探索型:目的是要弄清对目标系统的要求,确定所希望的特性,并探讨多种方:目的是要弄清对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性案的可行性实验型实验型:这种原型用于大规模开发和实现之前,考核方案是否合适,规格说明:这种原型用于大规模开发和实现之前,考核方案是否合适,规格说明是否可靠是否可靠进化型进化型:这种原型的目的不在于改进规格说明,而是将系统建造得易于变化,:这种原型的目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统在改进原型的过程中,逐步将原型进化成最终系统第22页/共50页3.2 3.2 获取需求的
18、方法4.4.快速建立软件原型原型的使用策略废弃策略(探索型、实验型)先构造一个功能简单且质量要求不高的模型系统,针对这个模型反复进行分析修改,形成比较好的设计据此设计出更加完整、准确、一致、可靠的最终系统系统构造完成后,原来的模型系统就被废弃不用追加策略(进化型)先构造一个功能简单而且质量要求不高的模型系统,作为最终系统的核心通过不断地扩充修改,逐步追加新要求,最后发展成为最终系统第23页/共50页3.2 3.2 获取需求的方法4.4.快速建立软件原型快速构建和修改原型的3种方法和工具第四代技术数据查询和报表语言、程序和应用系统生成器、高级的非过程语言可重用的软件构件使用一组已有的软件构件来装
19、配原型。软件构件可以是数据结构、数据库、软件体系结构构件(程序)、过程构件(模块)形式化规格说明和原型环境第24页/共50页第3 3章 需求分析 3.1 3.1 需求分析的任务需求分析的任务3.2 3.2 获取需求的方法获取需求的方法3.3 3.3 分析建模与规格说明分析建模与规格说明3.4 3.4 数据模型:实体联系图数据模型:实体联系图3.5 3.5 数据规范化数据规范化3.6 3.6 行为模型行为模型:状态转换图状态转换图3.7 3.7 其他图形工具其他图形工具3.8 3.8 验证软件需求验证软件需求第25页/共50页3.3 3.3 分析建模与规格说明3.3.1 3.3.1 分析建模 1
20、.为什么要建模?2.什么是模型?是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述模型由一组图形符号和组织这些符号的规则组成 3.结构化分析需建立哪三种模型?数据模型实体-关系图功能模型数据流图行为模型状态转换图第26页/共50页需求分析流程需求分析流程第27页/共50页3.3 3.3 分析建模与规格说明软件需求规格说明用自然语言完整、准确、具体描述系统的数据需求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求、将来可能提出来的需求。第28页/共50页 文档编号文档编号:版版 本本 号:号:文档名称:文档名称:项目名称:项目名称:项目负责人:项
21、目负责人:年年 月月 日日编写:编写:核对:核对:审核:审核:批准:批准:开发单位:开发单位:第29页/共50页3.3 3.3 分析建模与规格说明需求规格说明的内容 系统规格说明系统概貌 功能要求 性能要求 运行要求可能增加的要求 DFD IPO 数据要求DD Hierarchy 或 Warnier Diagram 用户系统描述 初步用户手册:从用户的观点考虑系统系统功能、性能 使用与步骤 等 修正的开发计划成本估计 资源使用计划 进度计划第30页/共50页3.3 3.3 分析建模与规格说明软件需求规格说明的简略大纲.引言A.系统参考文献B.整体描述C.软件项目约束.信息描述A.信息内容B.信
22、息流:1.数据流、2.控制流.功能描述A.功能分解B.功能描述:1.处理说明、2.限制、3.性能需求、4.设计约束、5.支撑图第31页/共50页3.3 3.3 分析建模与规格说明软件需求规格说明的简略大纲.功能描述C.控制描述:1.控制规格说明、2.设计约束.行为描述 A.系统状态 B.事件和动作.确认标准 A.性能范围 B.测试种类 C.预期的软件响应 D.特殊考虑.参考书目.附录第32页/共50页结构化分析方法(SA)结构化分析指导思想:“自顶而下,逐步求精”基本原理:“抽象”与“分解”使用工具数据流图、数据字典、E-R图、状态转换图分析步骤建立现行系统物理模型-抽象现行系统逻辑模型-建立
23、新系统逻辑模型-补充和优化(分解)第33页/共50页结构化分析方法(SA)结构化分析模型在模型的核心是数据词典,它描述了所有的在目标系统中使用的和生成的数据对象围绕着这个核心的有三种图实体-关系图(ERD):描述数据对象及数据对象之间的关系数据流图(DFD):描述数据在系统中如何被传送或变换,以及描述如何对数据流进行变换的功能(子功能)状态转换图(STD):描述系统对外部事件如何响应,如何动作因此,ERD用于数据建模,DFD用于功能建模,STD用于行为建模第34页/共50页课程内容提纲第3章:“需求分析”需求分析的任务获得需求的方法分析建模与规格说明结构化分析简介数据模型:实体-关系图功能模型
24、:数据流图行为模型:状态转换图其他图形工具第35页/共50页行为模型状态转换图状态系统对事件的响应做一个或一系列动作仅仅改变系统本身的状态即改变状态又做动作状态初态:一个终态:0支多个中间状态状态图可以表示系统循环运行过程,也可以表示系统单程生命期第36页/共50页行为模型状态转换图事件事件是在某个特定时刻发生的事情,它是对引起系统做动作或从一个状态转换的另一个状态的外界事件的抽象符号第37页/共50页行为模型状态转换图终态终态中间状态中间状态状态名称状态名称状态变量状态变量名字和值名字和值活动表活动表事件名事件名(enter,exit,do)(参数表参数表)/动作表达式动作表达式箭头上标出触
25、发转换的事件表达式,未箭头上标出触发转换的事件表达式,未标明表示自动触发转换。标明表示自动触发转换。事件表达式:事件说明事件表达式:事件说明守卫条件守卫条件/动作动作 表达式表达式事件说明:事件名(参数表)事件说明:事件名(参数表)守卫条件:布尔表达式守卫条件:布尔表达式动作表达式:一个过程表达式动作表达式:一个过程表达式状态转换状态转换初态初态第38页/共50页挂断电话挂断电话闲置闲置拿起听筒拿起听筒拨号音拨号音timer=0do/想拨号音想拨号音且增加且增加timer超时超时超时超时do/do/响蜂鸣音响蜂鸣音存储的信息存储的信息do/do/播放信息播放信息无效号码无效号码拨号拨号数字数字
26、接通中接通中do/do/试接通试接通有效号码有效号码已接通已接通振铃振铃do/do/振铃振铃受话人回话受话人回话通话通话断线断线受话人挂断电话受话人挂断电话信息播完信息播完占线占线忙音忙音do/do/响忙音响忙音挂断电话挂断电话数字数字图图3.4 3.4 电话系统的状态图电话系统的状态图第39页/共50页课程内容提纲第3章:“需求分析”需求分析的任务获得需求的方法分析建模与规格说明结构化分析简介数据模型:实体-关系图功能模型:数据流图行为模型:状态转换图其他图形工具第40页/共50页其他图形工具层次方框图层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构树形结构的顶层是一个单独的矩
27、形框,它代表完整的数据结构下面各层的矩形框代表这个数据的子集,最低层的各个框代表组成这个数据的实际数据元素(不可再分割)第41页/共50页 产品产品软件软件硬件硬件服务服务系统系统软件软件应用应用软件软件处理处理机机存储存储器器外部外部设备设备软件软件服务服务硬件硬件服务服务培训培训操作操作系统系统编译编译程序程序软件软件工具工具第42页/共50页其他图形工具Warnier图Warnier图是由法国科学家J.D.Warnier 提出的表示信息层次结构的另外一种图形工具在Warnier图中花括号用来区分数据结构的层次在一个花括号内的所有名字都属于同一类信息符号表示在其上、下方的名字中的一个名字名
28、字右边圆括号中的符号表示这个名字在信息类中重复出现的次数第43页/共50页软件产品软件产品系统软件系统软件 应用软件应用软件操作系统(操作系统(P1)编译程序(编译程序(P2)软件工具软件工具编译程序(编译程序(P3)图形生成程序(图形生成程序(P4)第44页/共50页其他图形工具IPO图IPO图是输入/处理/输出图的简称,它是由美国IBM公司发展完善起来的一种图形工具,可以方便地表示输入数据、数据处理和输出数据三者之间的关系。系统:系统:模块:模块:编号:编号:作者:作者:日期:日期:IPO图图被调用:被调用:输输 入:入:调调 用:用:输输 出:出:处处 理:理:局部数据元素:局部数据元素
29、:注注 释:释:第45页/共50页验证软件需求验证软件需求的途径与方法一致性:在所有需求中,任何一条需求不能和其他需求互相矛盾。(形式化描述)完整性:软件规格说明书必须包括用户需求的每一个功能或性能。(原型)现实性:指定的需求应是用现有的硬件技术和软件技术可以实现的。(仿真和模拟)有效性:软件需求确实能解决用户所面对的问题。(原型)第46页/共50页验证软件需求用于需求分析的软件工具PSLPSA系统用描述符从系统信息流、系统结构、数据结构、数据导出、系统规模、系统动态、系统性质和项目管理等八个方面描述信息系统。一旦用PSL对系统做了完整描述,就可以调用PSA产生一组分析报告,其中包括所有修改规格说明数据库的记录,用各种形式描述数据库信息的参照报告(包括图形形式的描述),关于项目管理信息的总结报告,以及评价数据库持性的分析报告。第47页/共50页本章结束 下一章节导读:“形式化说明技术”(课外自学内容)第48页/共50页课外作业自学内容形式化说明技术课外作业第1章 概述第3、6、7小题第2章 可行性分析第1、4小题第3章 需求分析第1、5小题第49页/共50页感谢您的观看!第50页/共50页
限制150内