系统运行和维护系统规划系统设计系统实施系统分析开发设计初步调查可行性研究审批系统评价系统维护总体设计详细设计审计审查编程调试系统转换验收详细调查逻辑设计阶段回答的中心问题成果系统分析“做什么”明确系统功能逻辑模型系统设计“怎么做”如何实现系统说明书规定的系统功能物理模型任务总体设计:子系统划分或模块设计详细设计:代码、数据库、I/O、处理设计目标工作质量好工作效率高可靠性高可扩充性和可维护性好性价比高系统设计的任务与目标子系统划分或模块设计系统流图层次的转换数据流图与模块结构书上实例:订单登记窗体验证顾客身份挑选饭菜窗体计算订单费用检查顾客信用记录订单处理订单交易窗体产生确认信息窗体数据库管理系统顾客ID验证结果饭菜信息订购数量在线信用验证消费额订单细节在线交易服务订单细节付款信息订单ID模块及其层次分解模块,就是可以组合、分解和更换的单元,是组成系统、易于处理的基本单位。系统中的任何一个处理功能都可以看作是一个模块。结构化设计就是根据模块设计的原则把数据流程图转化为结构图(即系统的控制结构图或模块结构图),而结构图是描述系统功能层次和功能模块关系的图,通常为树形结构。9结构化设计方法变换分析法事务分析法混合结构分析方法101.变换分析法(transformanalysis)①简况变换分析法也称为数据流方法(dataflowmethod)或以变换为中心的设计方法(transform-centereddesign),是一种面向过程的结构化设计方法。该方法是1974年由Yourdon和Constantine等人提出的,也称之为Yourdon方法。111.变换分析法(transformanalysis)变换分析法是建立在模块化、自顶向下逐步求精和结构化程序设计基础之上的,其实质是从系统分析中所构造的业务系统过程模型(即DFD)来导出软件的总体结构。也就是说,该方法是从处理过程的角度建立了问题结构与软件结构之间的对应关系。121.变换分析法(transformanalysis)变换分析法通常用于将底层的DFD转换成系统模块结构图。适合于变换分析的DFD是一个线性的顺序结构,由输入臂、输出臂和变换中心3部分组成。其中变换中心使系统数据发生本质的变化,输入臂将物理输入变换成逻辑输入,而输出臂将逻辑输出变换成物理输出。变换中心型DFD的特点:线状结构;可明显地分成输入、中心加工、输出三部分。变换中心输入路径输出路径例如:输入信息物理输入格式检查处理显示正确信息结果物理输出数据变换中心输出臂逻辑输入逻辑输出输入臂1314输入臂、输出臂和变换中心输入臂(afferent):在DFD中将物理输入转换成逻辑输入的部分。物理输入指驻留在文件中的记录或数据项,物理输入包括数据的输入介质和设备等。物理输入在处理之前首先必须去掉其物理特征,然后对其进行编辑、检验、排序、格式转换等。输出臂(efferent):在DFD中将逻辑输出转换成物理输出的部分。系统所产生的非结构化的、未格式化的输出数据(逻辑输出)需要转化成用户要求的格式、表现形式和介质(物理输出)提供给用户。变换中心(centraltransform):在DFD中除输入臂和输出臂之外的、包含系统主要本质处理的部分称之为变换中心。确定方法(1)确定逻辑输入——离物理输入端最远的,但仍可被看作系统输入的那个数据流。方法:从物理输入端开始,一步步向系统的中间移动,直至达到这样一个数据流:它已不能再被看作为系统的输入,则其前一个数据流就是系统的逻辑输入。输入信息物理输入格式检查处理显示正确信息结果物理输出数据变换中心输出臂逻辑输入逻辑输出输入臂(2)确定逻辑输出——离物理输出端最远的,但仍可被看作系统输出的那个数据流方法:从物理输出端开始,一步步向系统的中间反方向移动,直至达到这样一个数据流:它已不能再被看作为系统的输出,则其后一个数据流就是系统的逻辑输出。输入信息物理输入格式检查处理显示正确信息结果物理输出数据变换中心输出臂逻辑输入逻辑输出输入臂(3)对系统的每一股输入和输出,都用上面的方法找出相应的逻辑输入、输出(4)确定主加工——位于逻辑输入和逻辑输出之间的加工,就是系统的主加工。(5)注意:有的系统只有输入和输出两部分,没有主加工根据经验,几股数据流的汇合处往往是系统的主加工每个人都可以有自己的看法,找出来的主加工可能也不同,但一般不会相差太远。191.变换分析法(transformanalysis)实例:将如图所示的抽象的数据流程图转换为结构图201.变换分析法(transformanalysis)首先,识别上述DFD中的输入臂、输出臂和变换中心。识别方法有两种:第一种方法是先确定输入臂和输出臂,剩下的就是变换中心;第二种方法是先识别变换中心,向变换中心提供输入的部分即为输入臂,接受变换中心处理结果的部分即为输出臂。确定一个处理泡泡是否属于变换中心,可以根据数据流经过该处理泡泡处理后有无发生本质变化,如果发生了本质变化,则该泡泡就属于变换中心,否则就不属于变换中心。211.变换分析法(transformanalysis)由于处理D的输入d和k分别来自处理B和处理C,而其输出中只有一个e;处理E将一个输入e变成f和h,因此,可以断定DFD中的输入臂、输出臂和变换中心。如下图所示。处理中心输入臂输出臂221.变换分析法(transformanalysis)其次,构造初步的结构图。关键是确定主控模块(最高模块)主控模块的功能主要是协调控制、进行决策。主控模块的确定有两种方法:雇佣(hiring-a-boss)和提升(promoting-a-boss)。以雇佣方法构造结构图时,假想一个主控模块,然后将输入臂、输出臂和变换中心3部分依次悬挂,将每一个处理变成一个模块,即可得到一个初步的结构图,如图所示。231.变换分析法(transformanalysis)如果变换中心中有一个处理主要是完成协调、控制、决策等工作,则可以将该处理提升为一个主控模块,其构造结构化的过程与雇佣的方法基本类似。241.变换分析法(transformanalysis)再次,修改和完善结构图。得到初步结构图后,应对结构化中各模块按结构化设计的原则进一步修改和完善。注意:导出的结构图可以不唯一。2526主控模块d,k—e输出f输出hf—g输出gh—j输出jg—i输出i获得d获得bb—d获得aa—b获得k获得cc—ke—f,habadd,kcegbbdckkef,hfhfggiihjj123654ABCDEFGH练习:变换分析设计方法1123654ABCDEFGH输入主加工输出SYSTEM输入处理主加工输出处理GETCGETBMAKEBINTOCGETAMAKEAINTOBMAKECINTOD&EPUTEPUTDMAKEEINTOGPUTGMAKEDINTOFPUTFMAKEGINTOHPUTHSYSTEMGETCMAKECINTOD&EPUTEPUTDGETBMAKEBINTOCMAKEEINTOGPUTGMAKEDINTOFPUTFGETAMAKEAINTOBMAKEGINTOHPUTH123654ABCDEFGH输入主加工输出C练习:变换分析设计方法1SYSTEMGETCMAKECINTOD&EPUTEPUTDGETBMAKEBINTOCMAKEEINTOGPUTGMAKEDINTOFPUTFGETAMAKEAINTOBMAKEGINTOHPUTH123654ABCDEFGH输入主加工输出练习:变换分析设计方法1SYSTEMGETCMAKECINTOD&EPUTEPUTDGETBMAKEBINTOCMAKEEINTOGPUTGMAKEDINTOFPUTFEGGDFFGETAMAKEAINTOBMAKEGINTOHPUTHAABGHHBBCCD&ECED123654ABCDEFGH输入主加工输出练习:变换分析设计方法1SYSTEMGETCMAKECINTOD&EPUTEPUTDGETBMAKEBINTOCMAKEEINTOGPUTGMAKEDINTOFPUTFEGGDFFGETAMAKEAINTOBMAKEGINTOHPUTHAABGHHBBCCD&ECED123654ABCDEFGH输入主加工输出练习:变换分析设计方法1SYSTEMGETCMAKECINTOD&EPUTEPUTDGETBMAKEBINTOCMAKEEINTOGPUTGMAKEDINTOFPUTFEGGDFFGETAMAKEAINTOBMAKEGINTOHPUTHAABGHHBBCCD&ECED123654ABCDEFGH输入主加工输出练习:变换分析设计方法1格式检查产生收据计算汇费记账汇款单合格的汇款单处理后的汇款单收据明细账业务数据练习:变换分析设计方法2格式检查产生收据计算汇费记账汇款单合格的汇款单处理后的汇款单收据明细账业务数据变换中心输出输入汇款处理系统取得合格汇款单计算汇费记账输出处理后的汇款单输入汇款单格式检查产生收据打印收据合格的汇款单处理后的汇款单业务数据汇款单合格的汇款单汇款单处理后的汇款单收据收据处理后的汇款单业务数据合格的汇款单格式检查产生收据计算汇费记账汇款单合格的汇款单处理后的汇款单收据明细账业务数据变换中心输出输入371.变换分析法(transformanalysis)变换分析方法的步骤:第一步,构造数据流程图DFD第二步,识别DFD中的输入臂、输出臂和变换中心第三步,构造初步结构图第四步,按照软件设计原则,修改初步结构图,最终获得软件总体结构图。381.变换分析法(transformanalysis)②变换分析方法的步骤:第一步,构造数据流程图DFD第二步,识别DFD中的输入臂、输出臂和变换中心第三步,构造初步结构图第四步,按照软件设计原则,修改初步结构图,最终获得软件总体结构图。[转“实例”]392.事务分析法事务分析是一种特殊的系统设计方法,作为结构化设计(SD)的一种补充技术,它尤其适用于导出处理事务的结构图。事务分析法是以事务为中心的转换方法,通常用于将高层的数据流程图(DFD)转换为系统的模块结构图,能把一个大的、复杂的系统分解成若干较小的、简单的子系统。402.事务分析法①事务广义的事务是指能够触发某些行动的一组数据、控制、信号或事件,狭义的事务是系统中的一组可以分解为几种类型的数据,每种类型的事务完成系统中特定的功能或处理。如商业信息系统中增加客户、删除旧客户、改变客户地址、向客户发送帐单就是一组事务,每一种进入系统的事务将携带一标签(tag),如ADD、DELETE等,根据此标签,系统将确定每一种事务需要什么处理。412.事务分析法②事务中心适合于事务分析的数据流程图中有一个事务处理中心,事务中心将输入分为许多相互平行的加工路径,可根据输入的属性,选择某一加工路径。事务中心型数据流程图如图所示。处理1处理2处理3422.事务分析法事务中心完成以下任务:1.接收事务(即输入数据);2.分析每个事务并确定它的类型;3.根据事务类型选取一条活动通路。事务中心型DFD的特点:束状结构;一个数据处理将它的输入分解成一束平行的数据流,然后对后面的处理选择执行。事务中心处理1接受事务处理2处理3432.事务分析法对于数据文件的维护程序,输入的事务可以分为以下几种类型:1.增加事务(addtransaction,向文件中添加新的数据记录);2.修改事务(changetransaction,修改当前记录的值);3.删除事务(deletetransaction,从文件中删除旧的数据记录)。例1:事务分析举例-DFD图书管理要求无效输入要求类型处理P1.1新书入库P1.2入库单罚款单P1.5注销图书还书P1.4目录文件借书单还书单注销单P1.3借书借书文件罚款单事务中心事务分析举例修改目录文件操作层修改借书文件……细节层打印罚款单…………图书处理系统取得图书处理要求新书入库注销图书借书还书图书管