a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 154|回复: 3

[软件设计师] 2011软件水平考试软件设计师辅导资料(5)

[复制链接]
发表于 2012-8-2 09:08:23 | 显示全部楼层 |阅读模式
第三章 软件需求分析
# B1 Q. s/ h  y5 v3 L- g需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。3 P+ R  A( ?/ T
它有以下几难点:
3 G+ P# f. V- W6 J⑴ 问题的复杂性。由用用户需求涉及的因素繁多引起,如运行环境和系统功能
- I4 t% ]& T# x9 D1 e/ [- g. {6 O2 j; ~⑵ 交流障碍。需求分析涉及人员较多,这些人具备不同的背景知识,处于不同角度,扮演不同角色,造成相互之间交流困难。
3 [6 [: _+ ?# T! _5 G⑶ 不完备性和不一致性。用户对问题的陈述往往是不完备的,各方面的需求可能还存在矛盾,需求分析要消除矛盾,形成完备及一致的定义。
* E& X5 |5 p  z% p' Y& w6 P⑷ 需求易变性。
. U  U  i/ _3 X6 q* z! X' R* N近几年来已提出多种分析和说明方法,但都必须适用以下原则:1 v+ a% i; I# P  Y8 x
⒈ 必须能够表达和理解问题的数据域和功能域。数据域包括数据流(数据通过一个系统时的变化方式)数据内容和数据结构,功能域反映上述三方面的控制信息。7 k/ `9 ?" c/ i
⒉ 可以把一个复杂问题按功能进行分解并可逐层细化。7 {6 p& e; X5 X2 c$ b" D% o" \. }
⒊ 建模。可更好地理解软件系统的信息,功能,行为。也是软件设计的基础。
- C  F- E- L" Z6 R7 p0 n' s需求分析的任务:
+ L' U( W$ C7 j⒈ 问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。
' L( e( L5 m# S⒉ 分析与综合,导出软件的逻辑模型
, C1 L/ l) t% _⒊ 编写文档:包括编写“需求规格说明书”“初步用户使用手册”“确认测试计划”“修改完善软件开发计划”; t+ J' I4 o; j6 L  K4 }8 `
结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。8 x# U) M7 h& `4 k9 V
结构化(SA)分析步骤:
; l5 J7 ?; i$ A$ B/ q7 \1 i1 ~⑴了解当前系统的工作流程,获得当前系统的物理模型。
1 q0 J/ F( \- t, Z⑵抽象出当前系统的逻辑模型。
4 z% K2 k$ {& J6 T( ~⑶建立目标系统的逻辑模型。
6 i! v( n9 U- U" w9 [5 O5 k⑷作进一步补充和优化。3 k4 Q. K  q, i  t! O5 A/ \
数据流图(DFD)# c4 D6 m' H1 v' e5 G% w0 g
以图形的方式描述数据在系统中流动和处理的过程。只反映系统必须完成的逻辑功能,是一种功能模型。3 U0 M  c8 w. D8 k0 J
画数据流图的步骤:5 J! C: h# B$ G* h
⑴首先画系统的输入输出,即先画顶层数据流图。顶层图只包含一个加工,用以表示被开发的系统。" s4 F$ t2 E$ r. B
⑵画系统内部,即画下层数据流图。将层号从0号开始编号,采用自顶向下,由外向内的原则。画更下层数据流图时,则分解上层图中的加工,一般沿着输出入流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,一直进行到输出数据流。如果加工的内部还有数据流,则继续分解,直到每个加工足够简单,不能再分解为止。不能分解的加工称为基本加工。
回复

使用道具 举报

 楼主| 发表于 2012-8-2 09:08:24 | 显示全部楼层

2011软件水平考试软件设计师辅导资料(5)

⑶注意事项:' g, f" l3 S2 O3 w4 r
⒈命名。不能使用缺乏具体含义的名字,加工名应能反映出处理的功能。
# w( h/ c6 l1 l% Y  j0 v⒉画数据流而不是控制流。数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
1 j- e/ W6 e5 S! f4 @$ s⒊一般不画物质流。
/ e( o1 T5 m8 s, o) i5 D( y⒋每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果 。9 F" p, U# O1 c! V+ D7 t3 c% l8 N. O) A
⒌编号。某个加工分解成加一张数据流图时,上层图为父图,下层图为子图。子图应编号,子图上的所有加工也应编号,子图的编号应与父图的编号相对应。
  r$ G$ z  u3 ?+ Z$ ^% V, e⒍父图与子图的平衡。子图的输入输出数据流同父图相应加工的输入输出数据流必须一致9 Z. `3 S, U; v5 W7 A
⒎局部数据存储。当某数据流图书馆中的数据存储不是父图中相外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。
9 s  H: ^% @- A# c$ P, }8 z⒏提高数据流图的易理解性。
0 z7 \6 v  k9 ^: N5 h为使数据流图便于在计算机上输入和输出,给出了描述数据流图的另一套图形符号表示数据流,只能水平或垂直画% G$ c2 b" x% k7 Z, ~! ]
数据字典(DD)用来定义数据库流图中的各个成分的具体含义。有以下四类条目:数据流,数据项,数据存储,基本加工。
2 L' z3 e6 e& }: W; `⒈数据流条目,内容及举例如下:
; c; [4 v* s  n) v数据流名称:订单) p" j- ]% t4 \$ I! Z
别名:无
, x' D* r) q& B: U2 z, T7 f' [简述:顾客订货时填写的项目8 _' L0 v" C! o) i& G2 ]7 V0 U
来源:顾客
" z2 b  w# K5 g' g/ ^去向:加工1“检验订单”8 q6 l5 B5 @% h8 D5 }) l6 ~/ R5 e
数据流量:1000份/每周(单位时间内的传输次数)! h2 U# D# F9 |
组成:编号+订货日期+顾客编号+地址+电话+银行帐号+货物名称+规格+数量4 r9 C/ |8 S9 S7 m6 ~& B2 q3 X
⒉数据存储条目,内空及举例6 L5 F3 ?6 p# L+ N
数据存储名称:库存记录/ b+ Z. `0 f6 T( z, G
别名:无
/ G" ?! I5 s, T7 ]  M简述:存放库存所有可供货物的信息* \$ l0 T. _3 i0 Z6 h2 b6 d7 m
组成:货物名称+编号+生产厂家+单价+库存量
2 Z- ^! P' |3 y0 Z( v组织方式:索引文件,以货物编号为关键字2 C) J  r! H& Z4 u* E/ U/ A
查询要求:要求能立即查询/ O8 r+ C( r0 w5 P* |
⒊数据条目,内容及举例
* V5 p; X1 T8 h6 U数据项名称:货物编号
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-2 09:08:25 | 显示全部楼层

2011软件水平考试软件设计师辅导资料(5)

别名:G-No,G-num,Goods-No
$ x+ h6 x* h+ d( z& F* a8 `简述:本公司所有货物的编号) o4 n4 p# \) h0 r
类型:字符串& h3 M! u  n$ V- @
长度:10
+ N3 U1 a3 I2 f$ B5 `  P: H取值范围及含义:1 Q  z$ d9 q4 U# W6 a. j
第一位:进口/国产3 m- u' k, z* G0 K/ E6 S
第2-4位:类别4 t, J- y# q- X6 k! B' w& R+ @
第5-7位:规格% T% g+ _, R1 V. A: G( }
第8-10位:品名编号  ]. g* z# J) u
⒋加工条目,内容及举例- f0 i: a/ H+ l5 O9 ^5 D
加工名:查阅库存
) D* N, i8 j, P编号:1﹒2+ W7 w9 R6 s( M' Y# C% q
激发条件:接收到合格订单时. F, ]2 Y& O6 i& ]  }6 j
优先级:普通
$ t8 ^( Z. x' \" T5 w输入:合格合格订单
3 l; U7 W1 t6 y( v! g, N输出:可供货订单,缺货订单
$ K( n; X1 T! z0 X9 _; _. a5 d加工逻辑:根据库存记录5 T+ v8 P- `8 b5 ^5 W
IF 订单项目数量《该项目库存量临界值- T, l( z! c* ~% c" I: d% i* P
THEN 可供货处理, k1 t4 j; I* Y8 U  x
ELSE 此订单缺货,登录,待进货后再处理
2 r3 [$ I) [$ e/ EENDIF& R7 R' H8 \, Y. U8 V3 q- ~
数据字典的实现:* J" a2 x! K% d
⑴手工建立:数据字典的内容用卡片形式存放+ q4 _, S, b5 k" C% f) a
⑵利用计算机辅助建立并维护
. ?( I" o+ z% R6 V2 T6 N加工逻辑的描述:一般用结构化语言,判定表,判定树1 W( l" }- E' e2 U, g3 v4 z
结构化语言是介于自然语言和形式语言之间的一种半形式化语言。它的结构可分里层和内层
% G) ~2 L  F% c1 o. v! y* T⑴外层:用来描述控制结构,采用顺序,选择,重复三种基本结构。
5 m7 c+ [& e7 B; M: w①顺序结构:是一组祈使语句,选择语句,重复语句的顺序排列
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-2 09:08:26 | 显示全部楼层

2011软件水平考试软件设计师辅导资料(5)

②选择结构:一般用IF-THEN-ELASE-ENDIF,CASE-OF-ENDCASE等关键词。
& U7 Z0 n% Y. A③重复结构:一般用DO-WHILE-ENDDO,REPEAT-UNTIL等关键词。
4 [6 z. D2 M" x5 j7 D  P: k  W3 V⑵内层:一般采用祈使语句的自然语言短语,使用数据字典中的名词和有限的自定义词,其
$ @+ t7 Y- D2 H; ~  V. d: C动词含义要具体,尽量不使用形容词和副词来修饰。& l4 B2 ?9 x5 Y+ P# I7 n$ J
判定表由四个部分组成:条件定义 条件取值的组合$ }( S- D# Z: \/ q1 R# \$ c( F/ B
动作定义 在各种取值的组合下应执行的动作
! X5 C. e1 }2 ]/ _1 X例:加工逻辑描述为,如果申请者的年龄在21岁以下,要额外收费;如果申请者是21岁以上并是26岁以下的女性,适用于A类保险;如果申请者是26岁以下的已婚男性,或者是26岁以上的男性,适用于B类保险;如果申请者是21岁以下的女性或是26岁以下的单身C类保险。附此之外的其他申请者都适用于A类保险。
, d9 t8 M7 r- e; D7 k; L条件取值表
# O4 \& K- h4 r/ B* V, q9 {  }判定表能在什么条件下系统应做什么动作准确无误地表示出来,但不能描述循环的处理特性,循环处理还需结构化语言。  H( T" Q# h/ i- n
判定树,是判定表的变形,比判定表更直观,更易于理解和使用。, J$ E& d5 _& q% X
下面的判定树与所举例的判定表等价
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-2 21:36 , Processed in 0.288746 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表