版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SD设计方法的主要思想: 认为一个程序、一组程序或一个系统,是由一组功能模块来构成的。 软件设计者首先必须无视程序、模块或过程的内部情况,而只对它们之间的关系进行分析。将系统看作是逻辑功能的抽象集合功能模块的集合。面向数据流的设计方法第1页/共37页结构化设计的优点:(1 1)减少设计复杂性。将对大目标的实现转化为一些小目标来实现。结构化设计是一种减少设计复杂性的技术。(2)结构独立。结构化设计将功能性程序划分成多个相对独立的程序模块。(3)单一的功能模块,易于进行软件修改,易于开发和维护。(4)加强了代码的可重用性。面向数据流的设计方法第2页/共37页描述工具: 结构化设计方法提出了一种图形
2、工具结构图。 结构图是精确表达程序结构的图形表示方法。它作为软件文档的一部分,清楚地反映出程序中模块之间的层次调用关系和联系。它不仅严格地定义了各个模块的名字、功能和接口,而且还集中反映了设计思想。面向数据流的设计方法第3页/共37页结构图的主要内容: 1、模块:方框表示,并用名字标识该模块。 2、模块的调用关系:用单向箭头或直线连接模块间的控制关系。 3、模块间的信息传递:用带注释的短箭头表示模块间传递的信息。 4、两个附加符号:弧形线表示循环调用,菱形表示选择调用。面向数据流的设计方法第4页/共37页查询成绩学生记录学号查询标志记录地址ABC模块间的控制关系及信息传递模块间选择调用模块间循
3、环调用MT1T3T2面向数据流的设计方法第5页/共37页系统结构图中有4种类型的模块: 1、传入模块、传入模块:从下属模块取得数据,经过某些处理,再将其送给上级模块。它传送的数据叫做逻辑输入数据流。2、传出模块、传出模块:从上级模块取得数据,进行某些处理后,传送给下属模块。它传送的数据流叫做逻辑输出数据流。3、变换模块、变换模块:从上级模块取得数据,进行特定处理后,送回原上级模块。它加工的数据流叫做变换数据流。4、协调模块、协调模块:对其下属模块进行控制和管理的模块。在一个好的系统结构图中,协调模块应在较高层出现。 面向数据流的设计方法第6页/共37页系统结构图中主要有4种类型的模块:传入模块
4、AA传出模块DD变换模块 BCY协调模块XXY面向数据流的设计方法第7页/共37页数据流图的类型数据流图的类型 SD方法是以数据流图为基础设计系统的模块结构的。不同类型的数据流图设计的过程以及所导出的初始的软件结构不同。不管系统的数据流图如何庞大和复杂,一般均可分为变换型、事务型和变换/事务混合型。面向数据流的设计方法第8页/共37页变换型(IPO型) 变换型的数据流图是一个线性结构,由输入、变换和输出三部分组成。信息沿输入通路进入系统,同时由外部形式变换成内部形式。进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。 面向数据流的设计方法第9页/共37页物理输入
5、物理输出输入流变换中心输出流逻辑输出逻辑输入变换型DFD图面向数据流的设计方法第10页/共37页 事务型 事务型的数据流图中,数据沿输入通路到达一个加工处理(如下图中的C),这个处理将输入分为许多相互平行的加工路径,并根据输入数据的类型,选择某一加工路径。其中C为事务处理中心,其任务是得到输入数据(输入数据又称为事务)、分析每个事务以确定它的类型、根据事务类型选取一条活动通路。面向数据流的设计方法第11页/共37页事务型DFD图面向数据流的设计方法C加工路径输入流事务处理中心加工路径加工路径第12页/共37页面向数据流设计方法的过程:1、精化DFD。去除数据流图中的数据存储等信息,对数据流图进
6、行精化。2、确定DFD类型,和逻辑输入、逻辑输出的界限,映射出变换结构的顶层合第一层;如果为事务型,确定事务中心和加工路径,映射出事务结构的顶层合第一层。3、分解上层模块,设计中下层模块结构。4、根据优化准则对软件结构求精。5、描述模块功能、接口及全局数据结构。6、复查,如有错转向2、修改完善,否则进入详细设计。面向数据流的设计方法第13页/共37页变换分析设计:1、确定DFD中的变换中心,逻辑输入、逻辑输出。 通常几股数据流的汇合处就是系统的加工中心,也可用以下方法确定加工中心:从物理输入(出)端开始,沿(逆)数据流方向向系统中心寻找,直到有这样的数据流,它不能再被看作是系统的输入(出)时,
7、则它的前一数据流就是系统的逻辑输入(出)。介于逻辑输入和逻辑输出间的加工就是加工中心。面向数据流的设计方法第14页/共37页2、设计软件结构的顶层和第一层变换结构。 顶层就是主模块的位置,其功能是完成对所有模块的控制,其名称就是系统名称; 第一层一般至少有输入、变换、输出三种功能模块。面向数据流的设计方法第15页/共37页3、设计中、下层模块。对第一层模块自顶向下逐层分解。输入模块下属模块的设计:为每个输入模块设计两个下属模块,一个接受数据,一个将数据转换成调用模块所需的信息。用类似的方法一直分解下去,直至物理输入端。输出模块下属模块的设计:为每个输出模块设计两个下属模块,一个将数据转换成下属
8、模块所需的信息,一个发送数据。用类似的方法一直分解下去,直至物理输出端。变换模块下属模块的设计:根据变换中心的组成情况,按照模块独立性原则,为每个基本加工建立一个功能模块。面向数据流的设计方法第16页/共37页4、设计优化:根据优化准则对初始结构进行细化和改进。 根据设计准则,对模块进行合并和调整,为每个物理输入和物理输出设计专门模块,以体现系统的外部接口。面向数据流的设计方法第17页/共37页A物理输入BCD物理输出G变换中心逻辑输出逻辑输入f1f2f3EFHf4f5f6f7f8f9f10f11变换型分析设计面向数据流的设计方法第18页/共37页变换型分析设计主模块Get f3将f3变换成f
9、7和f8Put f7Put f8 f3 f3 f7 f8 f8 f7Get f2BGet f1AFPut f9GPut f8HPut f8CDE f3 f5 f4 f4 f6 f7 f8 f5 f6 f2 f2 f1 f1 f2 f8 f10 f10 f11 f10 f11面向数据流的设计方法第19页/共37页事务分析设计:1、确定DFD中的事物中心和加工路径。 通常当DFD中的某个加工具有明显的将一个输入数据流分解成多个发散的输出数据流时,该加工就是系统的事务中心,从事务中心辐射出去的数据流就是各个加工路径。面向数据流的设计方法第20页/共37页2、设计软件结构的顶层和第一层事务结构。 顶层
10、就是主模块的位置,有两个功能,一是接收数据,二是根据事务类型调度相应的处理模块。因此事务型软件结构应包括两个部分,接收分支和发送分支。接收分支:负责接收数据,其设计方法与变换型DFD的输入部分相同。发送分支:通常包含一个调度模块,控制管理所有的下层事务处理模块。3、设计中、下层模块并优化。 具体过程同变换结构设计。面向数据流的设计方法第21页/共37页AB加工路径输入流事务处理中心事务分析设计CDf1面向数据流的设计方法第22页/共37页事务分析设计主模块Get f1调度 f1 f1BCD接收分支发送分支动作层细节层面向数据流的设计方法第23页/共37页举举 例例事务分析 举例第24页/共37
11、页结构结构图的形态特征:深度表示控制的层数。宽度表示控制的总分布。扇出是对由某一模块直接控制的模块数目的度量。扇入指出有多少个模块直接控制一个给定的模块。 如果一模块控制另一个模块便称前者“统帅”后者; 反之,称后者“从属”于前者。 面向数据流的设计方法第25页/共37页画结构图应注意的事项: 1、同一名字的模块在结构图中仅出现一次。 2、调用关系只能从上到下。 3、结构图不严格表示模块的调用次序,习惯上从左到右。有时为了减少连线的交叉,适当地调整同一层模块的左右位置,以保持结构图的清晰。面向数据流的设计方法第26页/共37页例1:高考录取统分子系统有如下功能:1)计算标准分:根据考生原始分计
12、算,得到标准分,存入考生分数文件;2)计算录取线:根据标准分、招生计划文件中的招生人数,计算录取线存入录取线文件。要求:对以上问题画出数据流图。 画出该子系统的软件结构图面向数据流的设计方法第27页/共37页例2:某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同情况处理:1)如果是报名的,则将报名数据负责给报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报名单交财务部门,财务人员开出发票给学生。2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。3)如果是
13、付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。要求:对以上问题画出数据流图。 画出该培训管理系统的软件结构图的主图。面向数据流的设计方法第28页/共37页 在实际的软件系统中,数据流图往往是变换型和事务型的混合体。综合设计方法: 一般以“变换分析”为主,“事务分析”为辅进行设计。即先找出子加工,设计出结构图的上层,然后根据数据流图的各个部分的结构特点适当地运用“变换分析” 或“事务分析”进行处理,可得到初始的结构图。综合设计第29页/共37页1、概要设计说明书(参考标准文档)2、详细设计说明书(参考标准文档)软件设计文档第30页/共37页其他设计方法 面向数据结构的设计方法是根据
14、数据结构设计程序处理过程的方法。 目前比较成熟的有 MAJackson提出的Jackson系统开发方法(JSD,Jackson System Development)和JDwarnier提出的程序逻辑构造方法LCP( Logical Construction of Programs )。 第31页/共37页Jackson方法方法(1) Jackson方法思想方法思想 面向数据结构的设计是根据某些过程,从一些面向数据结构的设计是根据某些过程,从一些数据结构数据结构中导出程序结构中导出程序结构,着重于问题域数据结构到问题解的程序结,着重于问题域数据结构到问题解的程序结构之间的转换,而不强调模块定义
15、。构之间的转换,而不强调模块定义。 首先要充分了解所涉及的数据结构,而且用工具清晰首先要充分了解所涉及的数据结构,而且用工具清晰地描述数据结构地描述数据结构; 然后按一定的步骤根据数据结构,导出解决问题的程然后按一定的步骤根据数据结构,导出解决问题的程序结构,完成设计。序结构,完成设计。其他设计方法第32页/共37页(2) Jackson图图 Jackson图表示的三种基本结构,由方框、连线和一些附加标记组成。标记“o”代表选择,标记“*”代表重复。连线可以理解为“包含”或“由组成”。ABCAB0C0AB*顺序选择重复其他设计方法第33页/共37页Jackson方法的步骤方法的步骤一般可以归纳为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防车辆调动方案范本
- 小公寓出售方案范本
- 合肥一体化泵站施工方案
- 药店财务规避方案范本
- 加油站检修工程施工方案
- 生态园塑胶跑道施工方案
- 学校办公楼建设施工方案
- 2026年九年级下册英语第一次月考试卷含答案
- 2025年新疆昌吉自治州政府采购评审专家考试真题含标准答案
- 2026年自考00586广告文案写作试题及答案
- 粽子的数学知识
- 2025届高考语文专项【语用新增题型】修改错别字名校最模拟题
- JJF(津) 65-2022 钢直尺检定仪校准规范
- 老年人与儿童火灾安全教育
- 父母房产赠予儿子合同范例
- 幼儿园年度业务活动开展情况总结
- 家装渠道合同协议书
- (高清版)JT∕T 1402-2022 交通运输行政执法基础装备配备及技术要求
- JTT495-2014 公路交通安全设施质量检验抽样方法
- 从班会课到成长课程德育教师的班会课微革命
- 《诚实守信,立身之本》主题班会课件
评论
0/150
提交评论