软件开发过程与质量保证4软件设计_002PPT格式课件下载.ppt
《软件开发过程与质量保证4软件设计_002PPT格式课件下载.ppt》由会员分享,可在线阅读,更多相关《软件开发过程与质量保证4软件设计_002PPT格式课件下载.ppt(49页珍藏版)》请在冰豆网上搜索。
1.1.1.1.分析过程分析过程分析过程分析过程2.2.2.2.分解结构分解结构分解结构分解结构v银行计算机储蓄系统的工作过程大致如下:
储户填银行计算机储蓄系统的工作过程大致如下:
储户填写的存款单或取款单由业务员键入系统,如果是存写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人相关信息,并印出存款收据给款则系统记录存款人相关信息,并印出存款收据给用户;
如果是取款,则系统首先核对储户密码,若用户;
如果是取款,则系统首先核对储户密码,若密码正确,则系统计算利率并印利息清单给储户。
密码正确,则系统计算利率并印利息清单给储户。
v结构化设计过程结构化设计过程从软件的需求规从软件的需求规格说明中弄清数格说明中弄清数据流加工的过程,据流加工的过程,修改数据流图,修改数据流图,明确新系统做什明确新系统做什么?
确定新系统么?
确定新系统的逻辑模型的逻辑模型四、结构化设计方法概述四、结构化设计方法概述四、结构化设计方法概述四、结构化设计方法概述v结构化设计思想结构化设计思想主要是在主要是在20世纪世纪70年代由年代由Constantine和和Yourdon等总结了一些优秀的程序设计实践而发展起来的。
等总结了一些优秀的程序设计实践而发展起来的。
其最大的好处就是极大的增加了代码的复用能力。
它的主要表示方法是一种分层次的结构图。
认为一个程序、一组程序或者一组系统无非是由一认为一个程序、一组程序或者一组系统无非是由一组功能操作来构成的,并进而吸取了结构化分析的组功能操作来构成的,并进而吸取了结构化分析的“黑盒子黑盒子”的概念。
的概念。
v结构化设计的目标结构化设计的目标将软件设计为结构互相独立、功能单一的模块,建将软件设计为结构互相独立、功能单一的模块,建立系统的模块结构图立系统的模块结构图v结构化设计模型结构化设计模型从分析模型到设计模型之间的对应关系从分析模型到设计模型之间的对应关系五、软件结构图五、软件结构图五、软件结构图五、软件结构图v软件结构图的组成软件结构图的组成传入模块传入模块从下属模块取得数据,经过某些处理,再将从下属模块取得数据,经过某些处理,再将其传送给上级模块。
它传送的数据流叫做逻辑输入数据其传送给上级模块。
它传送的数据流叫做逻辑输入数据流。
流。
传出模块传出模块从上级模块获得数据,进行某些处理,再将从上级模块获得数据,进行某些处理,再将其传送给下属模块。
它传送的数据流叫做逻辑输出数据其传送给下属模块。
它传送的数据流叫做逻辑输出数据流。
变换模块变换模块它从上级模块取得数据,进行特定的处理,它从上级模块取得数据,进行特定的处理,转换成其它形式,再传送回上级模块。
它加工的数据流转换成其它形式,再传送回上级模块。
它加工的数据流叫做变换数据流。
叫做变换数据流。
协调模块协调模块对所有下属模块进行协调和管理的模块。
对所有下属模块进行协调和管理的模块。
v软件结构图的类型软件结构图的类型软件结构图的类型源于数据流图的类型,根据不软件结构图的类型源于数据流图的类型,根据不同的数据流类型将会产生对应的软件结构图。
同的数据流类型将会产生对应的软件结构图。
数据流图的类型数据流图的类型变换型数据流图变换型数据流图事务性数据流图事务性数据流图对应的软件结构图对应的软件结构图变换型软件结构图变换型软件结构图事务性软件结构图事务性软件结构图1.1.1.1.软件结构图类型软件结构图类型软件结构图类型软件结构图类型(1111)变换型软件结构图)变换型软件结构图)变换型软件结构图)变换型软件结构图v变换型软件结构变换型软件结构变换型数据处理问题的工作过程大致分为三步,即取得数据,变换型数据处理问题的工作过程大致分为三步,即取得数据,变换数据和给出数据;
变换数据和给出数据;
相应于取得数据、变换数据、给出数据,变换型系统结构;
图由输入、中心变换和输出等三部分组成。
(2222)事务型软件结构图)事务型软件结构图)事务型软件结构图)事务型软件结构图v事务型系统结构事务型系统结构它接受一项事务,根据事务处理的特点和性质,选它接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。
择分派一个适当的处理单元,然后给出结果。
在事务型系统结构图中,事务中心模块按所接受的在事务型系统结构图中,事务中心模块按所接受的事务的类型,选择某一事务处理模块执行。
各事务事务的类型,选择某一事务处理模块执行。
各事务处理模块并列。
每个事务处理模块可能要调用若干处理模块并列。
每个事务处理模块可能要调用若干个操作模块,而操作模块又可能调用若干个细节模个操作模块,而操作模块又可能调用若干个细节模块。
块。
2.2.2.2.变换分析变换分析变换分析变换分析v变换分析步骤变换分析步骤重画数据流图;
重画数据流图;
区分有效区分有效(逻辑逻辑)输入、有效输入、有效(逻辑逻辑)输出和中心变换输出和中心变换部分;
部分;
进行一级分解,设计上层模块;
进行二级分解,设计输入、输出和中心变换部分进行二级分解,设计输入、输出和中心变换部分的中、下层模块。
的中、下层模块。
v进行变换分析时需注意的内容进行变换分析时需注意的内容在选择模块设计的次序时,必须对一个模块的全部在选择模块设计的次序时,必须对一个模块的全部直接下属模块都设计完成之后,才能转向另一个模直接下属模块都设计完成之后,才能转向另一个模块的下层模块的设计。
块的下层模块的设计。
在设计下层模块时,应考虑模块的耦合和内聚问题,在设计下层模块时,应考虑模块的耦合和内聚问题,以提高初始结构图的质量。
以提高初始结构图的质量。
使用使用“黑箱黑箱”技术技术在设计当前模块时,先把这个模块的所有下层模块定在设计当前模块时,先把这个模块的所有下层模块定义成义成“黑箱黑箱”,在设计中利用它们时,暂时不考虑其,在设计中利用它们时,暂时不考虑其内部结构和实现。
在这一步定义好的内部结构和实现。
在这一步定义好的“黑箱黑箱”,在下,在下一步就可以对它们进行设计和加工。
这样,又会导致一步就可以对它们进行设计和加工。
这样,又会导致更多的更多的“黑箱黑箱”。
最后,全部。
最后,全部“黑箱黑箱”的内容和结构的内容和结构应完全被确定。
应完全被确定。
在模块划分时,一个模块的直接下属模块一般在在模块划分时,一个模块的直接下属模块一般在5个个左右。
如果直接下属模块超过左右。
如果直接下属模块超过10个,可设中间层次。
个,可设中间层次。
如果出现了以下情况,就停止模块的功能分解:
当模块不能再细分为明显的子任务时;
当分解成用户提供的模块或程序库的子程序时;
当模块的界面是输入输出设备传送的信息时;
当模块不宜再分解得过小时。
变换分析是软件系统结构设计的主要方法。
例子例子1格式格式检查检查3产生产生收据收据2计算计算汇费汇费4记账记账汇款单汇款单合格的合格的汇款单汇款单处理后的处理后的汇款单汇款单收据收据明细账明细账变换中心变换中心输出输出输入输入业务业务数据数据练习练习练习练习汇款处理系统汇款处理系统取得合格取得合格汇款单汇款单计算计算汇费汇费记账记账输出处理后输出处理后的汇款单的汇款单输入汇款单输入汇款单格式检查格式检查产生收据产生收据打印收据打印收据合格的合格的汇款单汇款单处理后的处理后的汇款单汇款单合格的合格的汇款单汇款单业务数据业务数据处理后的处理后的汇款单汇款单汇款单汇款单合格的合格的汇款单汇款单汇款单汇款单处理后的处理后的汇款单汇款单收据收据收据收据业务数据业务数据3.3.3.3.事务分析事务分析事务分析事务分析v事务分析事务分析在很多软件应用中,存在某种作业数据流,它可以在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要引发一个或多个处理,这些处理能够完成该作业要求的功能。
这种数据流就叫做事务。
求的功能。
与变换分析一样,事务分析也是从分析数据流图开与变换分析一样,事务分析也是从分析数据流图开始,自顶向下,逐步分解,建立系统到结构图。
始,自顶向下,逐步分解,建立系统到结构图。
v事务分析具体步骤事务分析具体步骤识别事务源识别事务源利用数据流图和数据词典,从问题定义和需求分析的结果中,利用数据流图和数据词典,从问题定义和需求分析的结果中,找出各种需要处理的事务。
通常,事务来自物理输入装置。
有找出各种需要处理的事务。
有时,设计人员还必须区别系统的输入、中心加工和输出中产生时,设计人员还必须区别系统的输入、中心加工和输出中产生的事务。
的事务。
规定适当的事务型结构规定适当的事务型结构在确定了该数据流图具有事务型特征之后,根据模块划分理论,在确定了该数据流图具有事务型特征之后,根据模块划分理论,建立适当的事务型结构。
建立适当的事务型结构。
识别各种事务和它们定义的操作识别各种事务和它们定义的操作从问题定义和需求分析中找出的事务及其操作所必需的全部信从问题定义和需求分析中找出的事务及其操作所必需的全部信息,对于系统内部产生的事务,必须仔细地定义它们的操作。
息,对于系统内部产生的事务,必须仔细地定义它们的操作。
注意利用公用模块注意利用公用模块在事务分析的过程中,如果不同事务的一些中间模块可由具有在事务分析的过程中,如果不同事务的一些中间模块可由具有类似的语法和语义的若干个低层模块组成,则可以把这些低层类似的语法和语义的若干个低层模块组成,则可以把这些低层模块构造成公用模块。
模块构造成公用模块。
对每一事务,或对联系密切的一组事务,建立一个对每一事务,或对联系密切的一组事务,建立一个事务处理模块;
事务处理模块;
如果发现在系统中有类似的事务,可以把它们组成如果发现在系统中有类似的事务,可以把它们组成一个事务处理模块。
一个事务处理模块。
对事务处理模块规定它们全部的下层操作模块对事务处理模块规定它们全部的下层操作模块对操作模块规定它们的全部细节模块对操作模块规定它们的全部细节模块v一般,一个大型的软件系统是变换型结构和事务型一般,一个大型的软件系统是变换型结构和事务型结构的混合结构。
所以,我们通常利用以变换分析结构的混合结构。
所以,我们通常利用以变换分析为主,事务分析为辅的方式进行软件结构设计。
为主,事务分析为辅的方式进行软件结构设计。
例子例子v调整后的软件结构图调整后的软件结构图要求类要求类型处理型处理图书管理要求图书管理要求无效输入无效输入1.11.1新书入库新书入库1.21.2还还入库单入库单罚款单罚款单1.51.5注销图书注销图书1.31.3还书还书1.41.4目录文件目录文件借书单借书单书书单单注销单注销单借书借书借书文件借书文件罚款单罚款单事务事务中心中心图书处理系统图书处理系统取得图书取得图书处理要求处理要求修改目修改目录文件录文件操作层操作层细节层细节层新书入库新书入库注销图书注销图书借书借书还书还书打印罚打印罚款单款单修改借修改借书文件书