2011年软件水平考试软件设计师(5)

需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。

它有以下几难点:

⑴ 问题的复杂性。由用用户需求涉及的因素繁多引起,如运行环境和系统功能

⑵ 交流障碍。需求分析涉及人员较多,这些人具备不同的背景知识,处于不同角度,扮演不同角色,造成相互之间交流困难。

⑶ 不完备性和不一致性。用户对问题的陈述往往是不完备的,各方面的需求可能还存在矛盾,需求分析要消除矛盾,形成完备及一致的定义。

⑷ 需求易变性。

近几年来已提出多种分析和说明方法,但都必须适用以下原则:

⒈ 必须能够表达和理解问题的数据域和功能域。数据域包括数据流(数据通过一个系统时的变化方式)数据内容和数据结构,功能域反映上述三方面的控制信息。

⒉ 可以把一个复杂问题按功能进行分解并可逐层细化。

⒊ 建模。可更好地理解软件系统的信息,功能,行为。也是软件设计的基础。

需求分析的任务:

⒈ 问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。

⒉ 分析与综合,导出软件的逻辑模型

⒊ 编写文档:包括编写"需求规格说明书""初步用户使用手册""确认测试计划""修改完善软件开发计划"

结构化分析:简称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类保险。

条件取值表

判定表能在什么条件下系统应做什么动作准确无误地表示出来,但不能描述循环的处理特性,循环处理还需结构化语言。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值