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

下载本文档

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

文档简介

第一部分

传统的软件工程方法第二章系统分析

第三章需求分析

第四章软件设计

第五章软件测试传统的软件工程方法全文共58页,当前为第1页。第四章软件设计4·1软件设计的目标和任务4·2软件的设计基础4·3模块的独立性4·4结构设计中的图形工具4·5概要设计的方法4·6详细设计的描述方法4·7《软件设计说明书》4·8本章重点传统的软件工程方法全文共58页,当前为第2页。结构化设计方法(SD)国际上应用最广,技术上比较完善的系统设计方法。4.5概要设计的方法结构化设计方法(SD)是以数据流图为基础的,它定义了把数据流图变换成软件结构的不同映射方法,所以这种方法也称为面向数据流的设计方法。传统的软件工程方法全文共58页,当前为第3页。

面向数据流设计方法的任务:

映射

DFD软件系统的结构软件系统软件结构的逻辑模型初始结构描述4.5概要设计的方法传统的软件工程方法全文共58页,当前为第4页。4·5·1数据流图类型—变换型特点: 具有较明显的输入、变换(或称主加工)和输出界面的数据流图,即该类数据流图可明显的分为输入、主加工和输出三部分。汇款单合格的汇款单核准后的汇款单格式检查计算汇率收据打印收据输入主加工输出物理输入物理输出传统的软件工程方法全文共58页,当前为第5页。4·5·1数据流图类型—事务型特点: 某个加工将它的输入分离成一串发散的数据流,形成许多活动路径,并根据输入的值选择其中的一条路径。事务中心检查合法性分房处理退房处理分房单退房单住户要求调房处理调房单活动路径传统的软件工程方法全文共58页,当前为第6页。T事务中心传入变换传出大型系统DFD中,变换型和事务型往往共存:传统的软件工程方法全文共58页,当前为第7页。(1)区分输入、变换中心、输出部分,在DFD上标明分界线。4.5.2变换分析设计方法输入边界:从物理输入端开始,一步步的向系统内移动,直到某个数据流不能被看作是系统的输入为止,则这个数据流的前一个数据流就是系统的逻辑输入(离物理输入最远,而仍被看作系统的输入的那个数据流)。输出边界:从物理输出端开始,一步步的向系统内移动,同样可以找到逻辑输出(离物理输出最远,而仍被看作系统的输出的那个数据流)。主加工:逻辑输入与逻辑输出之间的部分。传统的软件工程方法全文共58页,当前为第8页。BCADEQPRWUVabcedrpuwv变换中心输入部分输出部分传统的软件工程方法全文共58页,当前为第9页。(2)第一级分解(建立初始SC框架)设计顶层和第一层模块变换分析设计方法步骤:传统的软件工程方法全文共58页,当前为第10页。MCMTMAME第一层顶层c,ec,eu,wu,w传送信息第一级分解后的SC传统的软件工程方法全文共58页,当前为第11页。MCMA1ceu,wc,pMA2QPRME1ME2eprrw,uw第一级分解后的SC(另一种画法)传统的软件工程方法全文共58页,当前为第12页。(3)第二级分解(分解SC各分支)自顶向下分解,设计出每个分支的中、下层模块变换分析设计方法步骤:传统的软件工程方法全文共58页,当前为第13页。输入分支的分解

(1)MACBAbacEDdec,e传统的软件工程方法全文共58页,当前为第14页。输入分支的分解

(2)MAGetCbacReadDdec,eBtoCbcdeabGetEGetBDtoEAtoBReadD传统的软件工程方法全文共58页,当前为第15页。输出分支的分解MEWWriteVuuw,uvvvPutUUtoVMEUWriteWwwuw,uV(1)(2)传统的软件工程方法全文共58页,当前为第16页。MTPQRec,pru,wpr中心加工分支的分解传统的软件工程方法全文共58页,当前为第17页。 任何情况下都可使用变换分析方法设计软件结构,但如数据流具有明显的事务特点时(有一个明显的事务中),以采用事务分析方法为宜。4.5.3事务分析设计方法传统的软件工程方法全文共58页,当前为第18页。(1)在DFD上确定事务中心、接收部分和发送部分。(2)画出SC框架,把DFD上的三部分分别映射为事务控制模块、接收模块和动作发送模块。(3)分解细化接收分支和发送分支,完成初始SC。事务分析设计方法步骤:传统的软件工程方法全文共58页,当前为第19页。T事务中心传入变换传出接收部分发送部分事务型DFD的划分传统的软件工程方法全文共58页,当前为第20页。事务控制接收顶层发送第一层事务型SC的上层结构(1)传统的软件工程方法全文共58页,当前为第21页。事务控制事务分析发送N-S图事务型SC的上层结构(2)传统的软件工程方法全文共58页,当前为第22页。PT2T1TiA2D2A1D1A3AjDk事务层操作层细节层处理层动作分支的典型结构传统的软件工程方法全文共58页,当前为第23页。AC1C2C3BDGEJFKLc1c2b2b1b3bac3dgfjheklm练习:从下DFD导出初始SC传统的软件工程方法全文共58页,当前为第24页。 将初始SC根据模块独立性原则进行精化,对模块进行合并、分解修改、调整,得到高内聚、低耦合模块,得到易于实现、易于测试和易于维护的软件结构,产生设计文档的最终SC。4.5.4设计优化传统的软件工程方法全文共58页,当前为第25页。(1)模块功能的完善化(2)消除重复功能(3)作用范围应在控制范围内(4)减少高扇出争取高扇入(5)模块大小适中(6)降低模块接口的复杂性(7)模块功能可预测改进软件结构的指导原则传统的软件工程方法全文共58页,当前为第26页。完整的模块应包括三部分:(1)执行规定功能部分(2)出错处理部分(3)需返回给调用者数据时,返回是否正确结束标志。(1)模块功能的完善化传统的软件工程方法全文共58页,当前为第27页。ACBCA′B′C改进前改进后(2)消除重复功能传统的软件工程方法全文共58页,当前为第28页。模块的控制范围(控制域): 包括模块本身和其下属模块的集合。(3)作用范围在控制范围内模块的作用范围(作用域):

指受该模块内一个条件判定影响的所有模块的集合。两者区别: 控制域是从结构方面考虑的作用域是从功能方面考虑的。传统的软件工程方法全文共58页,当前为第29页。AFBCEMDG:条件判定模块A的作用范围:

A、B、C、D、E、F模块的作用范围和控制范围传统的软件工程方法全文共58页,当前为第30页。 把一个条件判定的作用范围限制在判定所在模块的控制范围之内。(作用域是控制域的子集)作用范围/控制范围原则:传统的软件工程方法全文共58页,当前为第31页。判定位置违反了作用范围/控制范围原则TOPABCDGE条件判定判定的作用范围有一部分(模块C)越出了判定所在模块G的控制范围GDBC传统的软件工程方法全文共58页,当前为第32页。符合作用范围/控制范围原则,但判定位置太高TOPABCDGE条件判定TOPBDGTOPBC传统的软件工程方法全文共58页,当前为第33页。符合作用范围/控制范围原则,判定位置适中TOPAGCDBE条件判定BDGBC传统的软件工程方法全文共58页,当前为第34页。符合作用范围/控制范围的理想判定位置TOPAGEBDC条件判定DGDE传统的软件工程方法全文共58页,当前为第35页。(1)将包含条件判定的模块合并到它的调用模块中,使判定处于较高位置。(2)将接受判定影响的模块下移到控制范围内。(3)增加模块的重用性(4)减少高扇出,争取高扇入修改模块结构方法:传统的软件工程方法全文共58页,当前为第36页。模块过大:可理解程度下降模块过小:开销大于有效操作系统接口复杂(5)模块大小适中传统的软件工程方法全文共58页,当前为第37页。 接口传递信息应简单且和模块功能一致。(6)降低模块接口的复杂性传统的软件工程方法全文共58页,当前为第38页。例:求一元二次方程的根设求根模块调用形式为:(1)QUAD-ROOT(TBL,X)

传递系数的数组存放根的数组(2)QUAD-ROOT(A,B,C,ROOT1,ROOT2)

A,B,C为方程系数

ROOT1,ROOT2是两个根传统的软件工程方法全文共58页,当前为第39页。 模块看成黑盒子,相同输入产生相同输出,其功能为可预测的。 模块带有内部状态其功能可能是不可预测的。难理解、难测试、难维护。(7)模块功能可预测传统的软件工程方法全文共58页,当前为第40页。详细设计工具:(1)图形工具(2)表格工具(3)语言工具4.6详细设计的描述方法 详细设计给出软件模块结构中各个模块的内部实现过程描述。传统的软件工程方法全文共58页,当前为第41页。1.程序流程图2.盒图(N-S图)3.问题分析图(PAD)4.过程设计语言(PDL)(伪码)5.判定表程序设计工具传统的软件工程方法全文共58页,当前为第42页。 用方框图代替传统的流程图

描述五种基本控制结构的图形构件(1)顺序型ABC2.盒图(N-S图)传统的软件工程方法全文共58页,当前为第43页。ABF条件TAFT条件then–部分then–部分else–部分If–then–elseIf–then(2)选择型(If–then–else)传统的软件工程方法全文共58页,当前为第44页。A1值1A2An........条件值2值n(3)多分支选择型(CASE型)传统的软件工程方法全文共58页,当前为第45页。(4)

WHILE重复型(5)

UNTIL重复型S(循环体)DO-WHILEPS(循环体)REPEATUNTILP(先测试循环)(后测试循环)循环条件传统的软件工程方法全文共58页,当前为第46页。A1A2An....(6)并行结构传统的软件工程方法全文共58页,当前为第47页。ACBFX6TA:D(调用结构)(7)移出标记传统的软件工程方法全文共58页,当前为第48页。

(ProblemAnalysisDiagram)基本控制结构:(1)顺序结构(2)选择结构

ABCABTF条件3.问题分析图(PAD)传统的软件工程方法全文共58页,当前为第49页。WHILE

CSUNTIL

CS(先测试循环)(后测试循环)等价的PASCAL语言:REPEATCUNTILS等价的PASCAL语言:WHILECDOS(3)重复结构传统的软件工程方法全文共58页,当前为第50页。A1值1值2值nA2An......条件(4)多分支选择型(CASE型)传统的软件工程方法全文共58页,当前为第51页。4·7《概要设计说明书》-11前言1.1目的1.2范围1.3定义、缩写词、略语1.4参考资料2任务概述(项目概述)2.1目标2.2运行环境2.3需求概述2.4条件与限制传统的软件工程方法全文共58页,当前为第52页。4·7《概要设计说明书》-23总体设计3.1处理流程3.2总体结构和模块外部设计3.3功能分配3.4参考资料4接口设计4.1外部接口4.2内部接口传统的软件工程方法全文共58页,当前为第53页。4·7《概要设计说明书》-45数据结构设计5.1逻辑结构设计5.2物理结构设计5.3数据结构与程序设计6运行设计

温馨提示

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

评论

0/150

提交评论