软件需求分析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第三章软件需求分析需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。它有以下几难点:⑴问题的复杂性。由用用户需求涉及的因素繁多引起,如运行环境和系统功能⑵交流障碍。需求分析涉及人员较多,这些人具备不同的背景知识,处于不同角度,扮演不同角色,造成相互之间交流困难。⑶不完备性和不一致性。用户对问题的陈述往往是不完备的,各方面的需求可能还存在矛盾,需求分析要消除矛盾,形成完备及一致的定义。⑷需求易变性。近几年来已提出多种分析和说明方法,但都必须适用以下原则:⒈必须能够表达和理解问题的数据域和功能域。数据域包括数据流(数据通过一个系统时的变化方式)数据内容和数据结构,功能域反映上述三方面的控制信息。⒉可以把一个复杂问题按功能进行分解并可逐层细化。⒊建模。可更好地理解软件系统的信息,功能,行为。也是软件设计的基础。需求分析的任务:⒈问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。⒉分析与综合,导出软件的逻辑模型⒊编写文档:包括编写需求规格说明书初步用户使用手册确认测试计划修改完善软件开发计划结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。结构化(SA)分析步骤:⑴了解当前系统的工作流程,获得当前系统的物理模型。⑵抽象出当前系统的逻辑模型。⑶建立目标系统的逻辑模型。⑷作进一步补充和优化。数据流图(DFD)以图形的方式描述数据在系统中流动和处理的过程。只反映系统必须完成的逻辑功能,是一种功能模型。画数据流图的步骤:⑴首先画系统的输入输出,即先画顶层数据流图。顶层图只包含一个加工,用以表示被开发的系统。⑵画系统内部,即画下层数据流图。将层号从0号开始编号,采用自顶向下,由外向内的原则。画更下层数据流图时,则分解上层图中的加工,一般沿着输出入流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,一直进行到输出数据流。如果加工的内部还有数据流,则继续分解,直到每个加工足够简单,不能再分解为止。不能分解的加工称为基本加工。⑶注意事项:⒈命名。不能使用缺乏具体含义的名字,加工名应能反映出处理的功能。⒉画数据流而不是控制流。数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。⒊一般不画物质流。⒋每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。⒌编号。某个加工分解成加一张数据流图时,上层图为父图,下层图为子图。子图应编号,子图上的所有加工也应编号,子图的编号应与父图的编号相对应。⒍父图与子图的平衡。子图的输入输出数据流同父图相应加工的输入输出数据流必须一致⒎局部数据存储。当某数据流图书馆中的数据存储不是父图中相外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。⒏提高数据流图的易理解性。为使数据流图便于在计算机上输入和输出,给出了描述数据流图的另一套图形符号表示数据流,只能水平或垂直画数据字典(DD)用来定义数据库流图中的各个成分的具体含义。有以下四类条目:数据流,数据项,数据存储,基本加工。⒈数据流条目,内容及举例如下:数据流名称:订单别名:无简述:顾客订货时填写的项目来源:顾客去向:加工1检验订单数据流量:1000份/每周(单位时间内的传输次数)组成:编号+订货日期+顾客编号+地址+电话+银行帐号+货物名称+规格+数量⒉数据存储条目,内空及举例数据存储名称:库存记录别名:无简述:存放库存所有可供货物的信息组成:货物名称+编号+生产厂家+单价+库存量组织方式:索引文件,以货物编号为关键字查询要求:要求能立即查询⒊数据条目,内容及举例数据项名称:货物编号别名:G-No,G-num,Goods-No简述:本公司所有货物的编号类型:字符串长度:10取值范围及含义:第一位:进口/国产第2-4位:类别第5-7位:规格第8-10位:品名编号⒋加工条目,内容及举例加工名:查阅库存编号:1﹒2激发条件:接收到合格订单时优先级:普通输入:合格合格订单输出:可供货订单,缺货订单加工逻辑:根据库存记录IF订单项目数量该项目库存量临界值THEN可供货处理ELSE此订单缺货,登录,待进货后再处理ENDIF数据字典的实现:⑴手工建立:数据字典的内容用卡片形式存放⑵利用计算机辅助建立并维护加工逻辑的描述:一般用结构化语言,判定表,判定树结构化语言是介于自然语言和形式语言之间的一种半形式化语言。它的结构可分里层和内层⑴外层:用来描述控制结构,采用顺序,选择,重复三种基本结构。①顺序结构:是一组祈使语句,选择语句,重复语句的顺序排列②选择结构:一般用IF-THEN-ELASE-ENDIF,CASE-OF-ENDCASE等关键词。③重复结构:一般用DO-WHILE-ENDDO,REPEAT-UNTIL等关键词。⑵内层:一般采用祈使语句的自然语言短语,使用数据字典中的名词和有限的自定义词,其动词含义要具体,尽量不使用形容词和副词来修饰。判定表由四个部分组成:条件定义条件取值的组合动作定义在各种取值的组合下应执行的动作例:加工逻辑描述为,如果申请者的年龄在21岁以下,要额外收费;如果申请者是21岁以上并是26岁以下的女性,适用于A类保险;如果申请者是26岁以下的已婚男性,或者是26岁以上的男性,适用于B类保险;如果申请者是21岁以下的女性或是26岁以下的单身C类保险。附此之外的其他申请者都适用于A类保险。条件取值表判定表能在什么条件下系统应做什么动作准确无误地表示出来,但不能描述循环的处理特性,循环处理还需结构化语言。判定树,是判定表的变形,比判定表更直观,更易于理解和使用。下面的判定树与所举例的判定表等价

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功