第三章软件需求分析.ppt
- 文档编号:18706708
- 上传时间:2023-10-13
- 格式:PPT
- 页数:79
- 大小:1.34MB
第三章软件需求分析.ppt
《第三章软件需求分析.ppt》由会员分享,可在线阅读,更多相关《第三章软件需求分析.ppt(79页珍藏版)》请在冰点文库上搜索。
第三章软件需求分析SoftwareRequirementsAnalysis,3.1需求分析概述3.2结构化分析方法3.3需求分析实例3.4软件需求规格说明书SRS3.5需求复审,目录,3.1软件需求分析概述3.1.1需求分析的任务与步骤3.1.2需求获取的常用方法3.1.3需求说明3.1.4分析建模3.2结构化分析方法分析模型描述工具数据流图DFD数据字典DD加工说明PSPECCFD&CSPECSTDER图3.3需求分析实例3.4软件需求规格说明书SRS3.5需求复审,3.1软件需求分析概述,3.1.1需求分析的任务和步骤3.1.2需求获取的常用方法3.1.3需求说明3.1.4分析建模模型,目录,3.1.1需求分析的任务/步骤,步骤:
获取需求提炼:
建立分析模型描述:
编写SRS需求规格说明书(SoftwareRequirementSpecification)4.验证,让用户和开发者共同明确将要开发的是什么样的系统,3.1.2需求获取的常用方法,收集资料原有系统的数据(帐册、报表。
)借鉴已有的类似软件产品联合分析小组用户代表、领域专家和系统分析员客户访谈&会议充分准备,寻找共同语言事先准备一些问题交流时循序渐进、逐步逼近每次访谈后及时分析、整理、汇总实地考察观察用户工作流程快速原型法,上一级,3.1.3需求说明,是需求分析应获取的内容,写SRS的依据功能需求分析用户要求实现的全部功能(分析建模DFD,DD)性能需求时间特性时间精确性(响应时间)存储容量及后援存储系统安全性外部接口需求1)用户接口(人机界面)2)硬件接口3)软件接口4)通信接口属性(可靠性,可用性,可维护性.)约束(精度,标准,语言,硬件平台,),上一级,注:
性能需求时间特性时间精确性(响应时间,更新时间,数据转换时间,数据传输时间存储容量及后援存储系统安全性例1:
“数据采集的频率为每秒采样100次”例2“应力分析程序必须在一分种内生成任何一个梁的应力报告,返回,注:
属性可靠性“机场雷达系统一个月内不能出现2次以上故障”可用性“任何时候,主机或备份机上的银行数据至少有一个可用”可维护性系统出错后可以允许的最大恢复时间系统运行日志是否允许对系统的修改警告出错处理需求,返回,3.1.4分析建模,分析方法的种类:
1)传统的分析方法:
面向数据流的结构化分析方法(SA)面向数据结构的Jackson方法(JSD)结构化数据系统开发方法(DSSD)2)面向对象的分析方法各种分析模型中均包括:
信息(或数据)模型功能模型行为模型,目录,3.2结构化分析方法(StructuredAnalysis),思想:
自顶向下,逐步细化(Top-DownStepwiseRefinement)适于数据处理类型软件的需求分析步骤:
自顶向下对系统进行功能分解,画出分层DFD由后相前定义系统的数据编制DD和PSPEC最终写出SRS,3.2.1结构化分析模型,DD数据词典(DataDictionary)系统所涉及各种数据对象的总和,数据流图(DataFlowdiagram)描述系统中数据的流动和变换,DFD图中每个功能的描述写在加工说明中,具有复杂数据结构的数据模型,描述ER中出现的每个数据对象的属性,系统在外部事件的作用下如何动作,各种状态的变迁,目录,3.2.2结构化分析描述工具,功能模型:
DFD和PSPEC行为模型:
CFD、CSPEC和STD数据模型:
DD,E-R图
(1)数据流图DFD
(2)数据字典DD(3)加工说明PSPEC(4)CFD和CSPEC(5)E-R图,
(1)数据流图,
(一)什么是数据流图DFD
(二)DFD的绘制步骤(三)DFD绘制的一般原则附3.1:
需求实例:
教材销售系统的DFD(四)数据流图的改进improvingDFD,
(一)什么是数据流图DFD,描述系统逻辑模型:
信息在系统中的流动和处理,数据源点和终点,加工,数据流向,数据文件或数据库,数据流上的数据名称,单向:
只读,双向:
读写,上一级,1审查并开发票,2开领书单,学生,学生,购书单,发票,领书单,无效书单,文件与加工之间用箭头线连接,单向表示只读或只写,双向表示有读有写每一图形符号都必须标上名字加工框还应加上编号同程序流程图的区别程序流程图表示程序的过程设计怎么干DFD用是软件需求分析工具,不表示程序的控制结构(选择/循环)干什么分层:
从高层到低层,分解前后的数据流必须一致,简单例学生购书,张秘书开购书证明,学生凭证明到教材科王会计开购书发票向李出纳员交纳书款,拿领书单到书库找保管员领书,B)去掉模型中非计算机本质的因素后得到的购书逻辑模型,人工操作,去掉,改进后的学生购买教材的系统模型,1审查并开发票,2开领书单,学生,学生,购书单,发票,领书单,无效书单,上一级,附加:
数据流图的基本图元素,附加符号表示数据流之间是AND关系(同时存在)表示数据流之间是OR关系表示数据流之间是XOR关系(互斥关系),数据A和B同时输入才能变换成数据C,数据A或B只要有一个输入就能变换成数据C,数据A或B只能输入一个才能变换成数据C,数据A变换产生数据B和C,数据A变换产生数据B或C至少一个,数据A变换产生数据B或C,
(二)DFD的绘制步骤,找出外部实体,确定系统边界从数据源出发,按系统的逻辑需求,逐步画出加工框,直至数据终点为了控制系统复杂度,DFD分层,自顶向下,逐步求精对DFD进行复审,上一级,分层DFD,顶层,0层,父图与子图编号规则顶层无编号0层:
1,2,31层:
1.11.22.12.小数点数代表层数,1层,上页,(三)DFD绘制的一般原则,每个加工必须有输入输出流两个加工之间可以有多股数据流每个数据流必须有一个合适的名字DFD描述的是数据流而不是控制流分解中的父子平衡局部文件注意分解速度“最多不要超过7个上层快些,下层慢些当每个加工都已足够简单时,分解就可结束,上一级,两个加工之间可以有几股数据流,例:
日报表和月报表这两个数据流相互间没有任何联系,也不是同时流出的。
每个数据流必须有一个合适的名字。
除了流向文件或从文件流出的数据流不必命名之外(有文件名足矣),,返回,数据流图中描述的是数据流而不是控制流。
例:
“取下一张卡片”是一个控制流而不是数据流,因为并没有任何数据沿着这个箭头流动,这个箭头应该从图中删去。
返回,父子平衡balance,平衡:
子图的所有输入(输出)数据流必须是父图中相应加工的输入(输出)例:
平衡,父图,子图4,例:
特殊平衡,例:
不平衡,返回,局部文件,例:
子图中的文件ALPHA完全局部于加工4根据“抽象”原则,父图只需画出加工和加工之间的联系,而不必画出各个加工内部的细节,所以父图中不必画文件ALPHA,数据流XXX、YYY也不必画出。
当文件被用作数据流图中某些加工之间的交界面时,才必须画出来,合理运用局部文件进行信息隐蔽,返回,附3.1实例1-1:
教材购销系统功能描述
(1)顶层DFD,这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能首先确定系统的输入和输出顶层数据流图,反映最主要业务处理流程,学生,教材购销系统,采购员,
(2)第一层DFD,1销售,2采购,采购员,学生,然后从输入端开始,根据业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图经过分析,业务处理的主要功能应当有销售、采购主要数据流输入的源点和输出终点是学生和书库保管员,(3)第二层DFD:
1销售子系统,(4)第二层DFD2采购子系统,目录,采购员,(四)数据流图的改进improvingDFD,应遵循DFD绘制的原则(见前)数据守恒;文件的使用;父图和子图的平衡,a)数据不守恒的情况,现象1:
防止无根之水!
加工用以产生输出的数据并未输入该加工项目项目名称时间运动员名单=队名+姓名+项目项目参加者=项目+姓名+运动员号原因:
某些数据流被遗漏了,返回,现象2:
出现没有必要的数据例:
加工“开发票”根据“订货单”和“价目”文件开出“发票”,如果这些数据的组成如下:
订货单=单位名+货名+货号+数量价目=货名+单价发票=单位名+货名+数量+单价+总计处理:
货号多余,删之,b)局部文件,只有流向文件DELTA的数据流而没有从该文件流出的数据流,即只有写文件的加工而没有读文件的加工,这说明一定是某些加工被遗漏了,返回,C)命名要合适,DFD中各成分的命名要“易理解”例:
计算总工作量好写发票好存储和打印提货单可以分解为两个加工处理订货单不具体,如何处理?
处理输入不具体,太空洞好的命名:
动词宾语,返回,
(2)数据字典DD,与DFD配合,给出DFD中所有数据的定义和属性DD的用途分析阶段的交流工具包含控制信息数据库设计的基础内容数据项(一个数据元素)数据流(包含多个数据项)数据文件或数据库定义数据的方法:
自顶向下分解数据表示方法:
表格公式法,例:
DD,发票,各班学生用书表,返回,发票(学号)姓名书号+单价数量总价书费合计,返回,公式法定义DD,存折户名帐号性质(印密)/存折由户名、帐号、性质和可选印密组成户名2字母20/户名为224个字母账号=账号码+“*”帐号码“00000001”.“99999999”/帐号位于199999999的区间性质普通用户|工资用户|结算用户帐户性质为普通用户、工资用户中一种印密“0”/默认无印密,上一级,(3)加工说明PSPEC,加工说明:
说明DFD中的每个加工,加工逻辑描述工具:
结构化语言、判定表、判定树,例3.1加工1的加工说明,把学生学号和姓名写到发票上,按购书单上的学生年级和系专业与班号,检索“各班学生用书表”文件,获得该生当年的书单DOFOR购书单上的每一个书号IF书单中无此书号THEN把书号写到出错通知上;ELSE按书号检索“教材存量表”,获得书的单价和库存量IF库存量购书单.数量THEN把书号写到出错通知上ELSE将书号、单价、数量、总价等写入发票;更新库存;并写回“教材总量表”;累计书费合计;ENDIFENDIF把书费合计写到发票上.,上一级,结构化语言例子,判定树_例:
学生升留级处理,总分超过600分,无论单科是否满分,若无单科不及格,则发升级通知书,若有单科不及格,则发升级通知书和重修单科通知书;若总分低于600分,若某单科满分,则发留级通知书,免修单科通知书,若无单科满分,则发留级通知书,升留级处理,总分=600,总分600,单科无不及格,发升级通知书,单科不及格,发升级通知书、重修通知书,单科有满分,发留级通知书、免修单科通知书,单科无满分,发留级通知书,判定表,例:
学生升留级处理的判定表,考试总分=600,单科满分,单科不及格,发升级通知书,发留级通知书,发单科免修,发单科重修,规则12345678,NNN,NNY,NYN,NYY,YNN,YNY,YYN,YYY,化简:
若表中有两条或更多的规则具有相同的动作,且其条件项之间存在某种关系,则可设法将其合并,例:
学生升留级处理的判定表的化简,考试总分=600,单科满分,单科不及格,发升级通知书,发留级通知书,发单科免修,发单科重修,规则1234,NN,NY,YN,YY,(4)CFD和CSPEC-引子,例显像管生产监测系统当一个显像管在一个流水线上经过光电管时,光电管就会根据其形状判断是哪种规格的显像管,由一个PLC计数器进行累计。
累计数据每30s传送给工控机一次。
工控机每隔半小时取出一个累计数据保存到数据库。
同时将半小时数据供大屏幕显示为了使管理人员及时了解各班生产数据,通过班数据处理将半小时数据汇总成一个班的8小时数据,光电管采集,计数传送,工控机处理,实时数据显示,班数据处理,只有数据流事件发生的条件?
事件或者控制信息发生后激活的那些加工?
对于由事件驱动而不是数据驱动,产生的是控制信息而不单是数据流以及必须依赖于时间的应用,只建立DFD是不够的,还需要使用控制流图建模。
CFD&CSPEC(ControlFlowDiagram)适合实时系统的分析类似DFD和PSPEC,和它们配合使用DFD表示数据流和对数据的加工CFD表示控制流和控制加工(系统行为模型),CFD和DFD的关系,数据条件,加工激活信号,控制输出,输入数据,加工模型,控制模型,CSPEC,输出数据,控制输入,PSPEC,DFD,CFD,CFD的符号表示,控制信息或事件,引用控制说明CSPEC,DFD和CFD例子,STD,是CSPEC常用的状态描述工具描述软件状态变迁符号表示矩形-系统状态箭头-状态转变方向规则表达式-事件/触发行为,状态1,状态2,事件/触发行为,STD例子,采集,PLC计数,传送,工控处理,实时翻屏,(5)E-R图,一对一联系(11)一对多联系(1N)多对多联系(MN),实体,属性,用于对复杂数据数据分析和建模,附录:
需求分析实例(完整版),实例1:
教材购销系统实例2:
家庭保安系统,实例1教材购销系统
(1)顶层DFD,这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能首先确定系统的输入和输出顶层数据流图,反映最主要业务处理流程,学生,教材购销系统,采购员,第一层DFD,1销售,2采购,采购员,学生,然后从输入端开始,根据业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图经过分析,业务处理的主要功能应当有销售、采购主要数据流输入的源点和输出终点是学生和书库保管员,第二层DFD1.销售子系统,第二层DFD2.采购子系统,目录,采购员,
(2)确定数据定义和加工策略,从数据的终点沿DFD向源点逆向回溯来定义数据和加工为DFD的每个数据逐一写定义为DFD的每个加工逐一加工说明最后都汇编进DD和PSPEC,领书单学号姓名书号数量用户调查得知发票学号姓名书号单价数量总价书费总计售书登记表领书单有效购书单学号姓名书号数量教材存量表书号单价数量暂缺书单学号姓名书号数量=补售书单缺书登记学号姓名书号数量,(3)DFD复审,父子平衡:
父图和子图的输入数据和输出数据应该保持一致例局部文件隐蔽与文件是否具有读写加工分解的速度不要太快每次加工分解一次最多=7应遵守加工编号规则顶层无图号第0层-图0:
1,2,3,第1层-图1:
1.1,1.2,.2.1,2.2,.数据守恒DFD各个加工之间的数据流应尽可能少否则重新分解DFD,In:
购书单,进书通知Out:
发票,领书单,实例2:
家庭保安系统,背景家庭保安市场正以每年40的速度增长。
我们希望建立一种基于微处理器的家庭保安系统,它能够识别异常事件并采取相应的防护措施。
这些异常事件应包括:
非法进入、火灾、水淹,等等。
一旦异常情形被相应的传感器探测出来,系统应自动用电话向监控中心报警。
此外,系统应允许户主对其行为实施程序式控制。
家庭保安系统的需求,开机后,显示当前工作状态,接收并处理用户指令一:
用户交互1)配置操作软件允许用户在安装时进行系统配置,并通过控制面板与用户进行信息交互,实施对传感器的监控1)指定每一传感器的种类和编号;2)设置开、关机密码;3)指定报警电话号码;4)指定报警延迟和电话重拨延迟时间(单位为秒)2)启停系统3)核对口令二:
异常处理传感器监测:
当软件系统接收到传感器发出的数据后,判别是否出现异常事件。
有异常,则在指定的延迟时间内拨报警电话号码,拨号操作将按照重拨延迟反复进行,直至电话接通。
然后软件系统负责报告时间、地点和异常事件的性质。
(1)家庭保安系统的顶级DFD,
(2)家庭保安系统的第1级DFD,传感器监测第1级DFD,(3)传感器监测子系统第2级DFD,(4)传感器监测子系统第3级DFD,3.4软件需求说明书SRS,IEEE830-1998和我国国家标准GB8567-2006,1引言
(1)编写目的
(2)范围(3)定义(4)参考资料2项目概述
(1)产品描述
(2)产品功能(3)用户特点(4)一般约束(5)假设和依据3具体需求3.1功能需求
(1)功能需求1(N)功能需求n3.2外部接口需求
(1)用户接口
(2)硬件接口(3)软件接口(4)通信接口3.3性能需求
(1)数据精确度
(2)时间特性(3)适应性3.4设计约束
(1)其他标准的约束
(2)硬件的限制3.5属性
(1)可用性
(2)安全性(3)可维护性(4)可转移/转换性(5)警告3.6其他需求
(1)数据库
(2)操作(3)场合适应性4附录,3.5需求分析评审,系统定义的目标是否与用户的要求一致;系统需求分析阶段提供的文档资料是否齐全;文档中的所有描述是否完整、清晰、准确反映用户要求;与所有其它系统成分的重要接口是否都已经描述;被开发项目的数据流与数据结构是否足够,确定;所有图表是否清楚,在不补充说明时能否理解;主要功能是否已包括在规定的软件范围之内,是否都已充分说明;,设计的约束条件或限制条件是否符合实际;开发的技术风险是什么;是否考虑过软件需求的其它方案;是否考虑过将来可能会提出的软件需求;是否详细制定了检验标准,它们能否对系统定义是否成功进行确认;,作业,1.画出银行取款的0层数据流图2.画出如下医院的“病员监视系统”的数据流图目前住院病人主要由护士到病房和病床前逐个护理,不仅需要大量的护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。
某医院打算开发一个以计算机为中心的患者监护系统,请画出分层DFD。
要求:
1)医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏,体温,血压,心电图等)2)定时记录病人情况以形成患者日志3)当某个病人的生理信号超出医生规定的安全范围时,向值班护士发出警告4)护士在需要时,还可以要求系统输出某个指定病人的病情报告,3.销售管理系统某企业销售管理系统的功能为:
1)接受顾客的订单,检验订单,若库存有货,进行供货处理,即修改库存,给仓库开备货单,并且将订单留底;若库存量不足,将缺货订单登入缺货记录。
2)根据缺货记录进行缺货统计,将缺货通知单发给采购部门,以便采购。
3)根据采购部门发来的进货通知单处理进货,并修改库存,并从缺货记录中取出缺货订单进行供货处理。
4)根据留底的订单记录进行销售统计(分别按顾客所在地区、销售日期、销售货物名称、顾客名称统计),打印统计表给经理。
根据上述的功能描述,画出分层数据流程图。
4用数据词典的公式法描述完整的存折信息5用判定树和判定表描述VIP客户问题:
若本次客户的的消费超过$1000,并且顾客信誉好,或者尽管其信誉不好,但他是超过10年的老客户,那么优先处理该客户的业务7.实践项目:
图书管理信息系统(或学生选课系统、或其他自选项目)的数据流图和数据词典,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 软件 需求 分析