传统的软件工程方法_第1页
传统的软件工程方法_第2页
传统的软件工程方法_第3页
传统的软件工程方法_第4页
传统的软件工程方法_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、传统的软件工程方法传统的软件工程方法第四章 软件设计&41 软件设计的目标和任务软件设计的目标和任务&42 软件的设计基础软件的设计基础&43 模块的独立性模块的独立性&44 结构设计中的图形工具结构设计中的图形工具&45 概要设计的方法概要设计的方法&46 详细设计的描述方法详细设计的描述方法&47 软件设计说明书软件设计说明书&48 本章重点本章重点 结构化设计方法(SD) 国际上应用最广,技术上比较完善的系统设计方法。4.5 概要设计的方法概要设计的方法 结构化设计方法(SD)是以数据流图为基础的,它定义了把数据流图变换成软

2、件结构的不同映射方法,所以这种方法也称为面向数据流的设计方法。 面向数据流设计方法的任务: 映射 DFD 软件系统的结构 软件系统 软件结构的 逻辑模型 初始结构描述4.5 概要设计的方法概要设计的方法451 数据流图类型数据流图类型变换变换型型特点:特点:具有较明显的输入、变换具有较明显的输入、变换(或称主加工或称主加工)和和输出界面的数据流图,即该类数据流图可明显输出界面的数据流图,即该类数据流图可明显的分为输入、主加工和输出三部分。的分为输入、主加工和输出三部分。汇款单汇款单合格的合格的汇款单汇款单核准后的核准后的汇款单汇款单格式格式检查检查计算计算汇率汇率收收据据打印打印收据收据输入输

3、入主加工主加工输出输出物理输入物理输入物理输出物理输出451 数据流图类型数据流图类型事务事务型型特点:特点:某个加工将它的输入分离成一串发散的某个加工将它的输入分离成一串发散的数据流,形成许多活动路径,并根据输入的值选择其数据流,形成许多活动路径,并根据输入的值选择其中的一条路径。中的一条路径。事务中心事务中心检查合法性分房处理退房处理分房单退房单住户要求调房处理调房单活动活动路径路径T T事务中心事务中心传入传入变换变换传出传出大型系统大型系统DFD中中,变换型和事变换型和事务型务型往往共存:(1)(1)区分输入、变换中心、输出部分,在区分输入、变换中心、输出部分,在 DFD DFD 上标

4、上标明分界线。明分界线。4.5.2 变换分析设计方法变换分析设计方法输入边界:从物理输入端开始,一步步的向系统内移动,输入边界:从物理输入端开始,一步步的向系统内移动,直到某个数据流不能被看作是系统的输入为止,则这个直到某个数据流不能被看作是系统的输入为止,则这个数据流的前一个数据流就是系统的逻辑输入(离物理输数据流的前一个数据流就是系统的逻辑输入(离物理输入最远,而仍被看作系统的输入的那个数据流)。入最远,而仍被看作系统的输入的那个数据流)。输出边界:从物理输出端开始,一步步的向系统内移动,输出边界:从物理输出端开始,一步步的向系统内移动,同样可以找到逻辑输出(离物理输出最远,而仍被看作同样

5、可以找到逻辑输出(离物理输出最远,而仍被看作系统的输出的那个数据流)。系统的输出的那个数据流)。主加工:逻辑输入与逻辑输出之间的部分。主加工:逻辑输入与逻辑输出之间的部分。B BC CA AD DE EQ QP PR RW WU UV Va ab bc ce ed dr rp pu uw wv v变换中心变换中心输入输入部分部分输出输出部分部分(2)第一级分解(建立初始SC框架) 设计顶层和第一层模块变换分析设计方法步骤:变换分析设计方法步骤:M MC CM MT TM MA AM ME E第一层第一层顶层顶层c,ec,ec,ec,eu,wu,wu,wu,w传送信息第一级分解后的第一级分解后的

6、SCM MC CM MA1A1c ce eu,wu,wc,pc,pM MA2A2Q QP PR RM ME1E1M ME2E2e ep pr rr rw,uw,uw w第一级分解后的第一级分解后的SC(另一种画法另一种画法)(3)第二级分解(分解SC各分支)自顶向下分解,设计出每个分支的中、下层模块变换分析设计方法步骤:变换分析设计方法步骤:输入分支的分解(1)M MA AC CB BA Ab ba ac cE ED Dd de ec,ec,e输入分支的分解(2)M MA AGet CGet Cb ba ac cRead DRead Dd de ec,ec,eB to CB to Cb bc

7、cd de ea ab bGet EGet EGet BGet BD to ED to EA to BA to BRead DRead D输出分支的分解MEMEW WWrite VWrite Vu uu uw,uw,uv vv vv vPut UPut UU to VU to VMEMEU UWrite WWrite Ww ww wu uw,uw,uV V(1)(1)(2)(2)M MT TP PQ QR Re ec,pc,pr ru,wu,wp pr r中心加工分支的分解中心加工分支的分解 任何情况下都可使用变换分析方法设计软件结构,但如数据流具有明显的事务特点时(有一个明显的事务中),以采

8、用事务分析方法为宜。4.5.3 事务分析设计方法事务分析设计方法(1)在DFD上确定事务中心、接收 部分和发送部分。(2)画出SC框架,把DFD上的三部分 分别映射为事务控制模块、接收 模块和动作发送模块。(3)分解细化接收分支和发送分支, 完成初始SC。事务分析设计方法步骤:事务分析设计方法步骤:T T事务事务中心中心传入传入变换变换传出传出接收接收部分部分发发送送部部分分事务型事务型DFD的划分的划分事务控制事务控制接收接收顶层顶层发送发送第一层第一层事务型事务型SC的上层结构的上层结构 (1)事务控制事务控制事务事务分析分析发送发送N-S图事务型事务型SC的上层结构的上层结构 (2)P

9、PT T 2 2T T 1 1T T i iA A 2 2D D 2 2A A 1 1D D 1 1A A 3 3A A j jD D k k事务层事务层操作层操作层细节层细节层处理层处理层动作分支的典型结构动作分支的典型结构A AC1C1C2C2C3C3B BD DG GE EJ JF FK KL Lc c1 1c c2 2b b2 2b b1 1b b3 3b ba ac c3 3d dg gf fj jh he ek kl lm m练习:从下DFD导出初始SC将初始SC根据模块独立性原则进行精化,对模块进行合并、分解修改、调整,得到高内聚、低耦合模块,得到易于实现、易于测试和易于维护的软

10、件结构,产生设计文档的最终SC。4.5.4 设计优化设计优化(1)模块功能的完善化(2)消除重复功能(3)作用范围应在控制范围内(4)减少高扇出争取高扇入(5)模块大小适中(6)降低模块接口的复杂性(7)模块功能可预测改进软件结构的指导原则改进软件结构的指导原则完整的模块应包括三部分:(1)执行规定功能部分(2)出错处理部分(3)需返回给调用者数据时, 返回是否正确结束标志。(1) 模块功能的完善化模块功能的完善化A AC CB BC CAABBC C改进前改进前改进后改进后(2)消除重复功能消除重复功能模块的控制范围(控制域) :包括模块本身和其下属模块的集合。(3) 作用范围在控制范围内作

11、用范围在控制范围内模块的作用范围(作用域):A AF FB BC CE EM MD DG G模块的作用范围和控制范围模块的作用范围和控制范围作用范围作用范围/控制范围原则控制范围原则:判定位置违反了作用范围判定位置违反了作用范围/控制范围原则控制范围原则TOPTOPA AB BC CD DG GE E条件条件判定判定G D B CG D B C符合作用范围符合作用范围/控制范围原则,控制范围原则,但判定位置太高但判定位置太高TOPTOPA AB BC CD DG GE E条件条件判定判定TOP B D GTOP B D GTOP B CTOP B C符合作用范围符合作用范围/控制范围原则,控制

12、范围原则,判定位置适中判定位置适中TOPTOPA AG GC CD DB BE E条件条件判定判定B D GB D GB CB C符合作用范围符合作用范围/控制范围的理控制范围的理想判定位置想判定位置TOPTOPA AG GE EB BD DC C条件条件判定判定D GD GD ED E修改模块结构方法:修改模块结构方法:模块过大:可理解程度下降模块过小:开销大于有效操作 系统接口复杂(5) 模块大小适中模块大小适中接口传递信息应简单且接口传递信息应简单且和模块功能一致。和模块功能一致。(6)降低模块接口的复杂性降低模块接口的复杂性例:求一元二次方程的根例:求一元二次方程的根设求根模块调用形式

13、为:设求根模块调用形式为:(1) (1) QUADQUADROOT(TBLROOT(TBL,X)X) 传递系数的数组传递系数的数组 存放根的数组存放根的数组(2) (2) QUADQUADROOT(A,B,C,ROOT1, ROOT2)ROOT(A,B,C,ROOT1, ROOT2) A,B,C A,B,C为方程系数为方程系数 ROOT1,ROOT2ROOT1,ROOT2是两个根是两个根模块看成黑盒子,相同输入产生相同输出,其功能为可预测的。模块带有内部状态其功能可能是不可预测的。难理解、难测试、难维护。(7) 模块功能可预测模块功能可预测详细设计工具:(1) 图形工具(2) 表格工具(3)

14、语言工具4.6 详细设计的描述方法详细设计的描述方法详细设计给出软件模块结构中各个模块详细设计给出软件模块结构中各个模块的内部实现过程描述。的内部实现过程描述。1. 1. 程序流程图程序流程图2. 2. 盒图盒图( (N-SN-S图图) )3. 3. 问题分析图问题分析图( (PAD)PAD)4. 4. 过程设计语言过程设计语言( (PDL)(PDL)(伪码伪码) )5. 5. 判定表判定表程序设计工具程序设计工具用方框图代替传统的流程图描述五种基本控制结构的图形构件(1) 顺序型ABC2. 盒图盒图(N-S图图)ABF条件条件TAFT条件条件then 部分部分then 部分部分else部分部

15、分If then else If then(2) 选择型选择型( If then else)A1值值1 1A2An.条件条件值值2 2值值n n(3)多分支选择型多分支选择型(CASE型型)(4) WHILE重复型重复型 (5) UNTIL重复型重复型S(循环体)循环体)DO-WHILE PS(循环体)循环体)REPEAT UNTIL P( (先测试循环先测试循环) )( (后测试循环后测试循环) )循环条件循环条件A1A2An.(6) 并行结构并行结构ACBFX6TA:D( (调用结构调用结构) )(7) 移出标记移出标记 (Problem Analysis Diagram)基本控制结构:(

16、1)(1)顺序结构顺序结构 (2) (2)选择结构选择结构 ABCABTF条条件件3. 问题分析图问题分析图(PAD)WHILE CSUNTIL CS(先测试循环)(后测试循环)等价的等价的PASCALPASCAL语言:语言:REPEAT C UNTIL S等价的等价的PASCALPASCAL语言:语言:WHILE C DO S(3)重复结构重复结构A1A1值值1 1值值2 2值值n n A2A2AnAn. . . . . . .条件条件(4) 多分支选择型多分支选择型(CASE型型)47概要设计说明书概要设计说明书11 1 前言前言 1.1 1.1 目的目的 1.2 1.2 范围范围 1.3

17、 1.3 定义、缩写词、略语定义、缩写词、略语 1.4 1.4 参考资料参考资料2 2 任务概述任务概述( (项目概述项目概述) ) 2.1 2.1 目标目标 2.2 2.2 运行环境运行环境 2.3 2.3 需求概述需求概述 2.4 2.4 条件与限制条件与限制47概要设计说明书概要设计说明书23 3 总体设计总体设计 3.1 3.1 处理流程处理流程 3.2 3.2 总体结构和模块外部设计总体结构和模块外部设计 3.3 3.3 功能分配功能分配 3.4 3.4 参考资料参考资料4 4 接口设计接口设计 4.1 4.1 外部接口外部接口 4.2 4.2 内部接口内部接口47概要设计说明书概要设计说明书45 5 数据结构设计数据结构设计 5.1 5.1 逻辑结构设计逻辑结构设计 5.2 5.2 物理结构设计物理结构设计 5.3 5.3 数据结构与程序设计数据结构与程序设计6 6 运行设计运行设计 6.1 6.1 运行模块的组合运行模块的组

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论