《哈尔滨工业大学软件工程课件》由会员分享,可在线阅读,更多相关《哈尔滨工业大学软件工程课件(51页珍藏版)》请在金锄头文库上搜索。
1、2020/9/7,(3) 完成第第二级分解,MA,变换中心,对逻辑输入的分解,C,E,B,A,D,逻辑输入模块的调用与执行过程,2020/9/7,2020/9/7,ME,变换中心,对输出的分解,W,U,V,MT,Q,P,R,e,C,p,r,U,w,对变换中心加工的分解,p,r,w,u,2020/9/7,(4) 获得完整的 SC 图,2020/9/7,运用变换分析方法建立系统的SC时需注意以下几点:,模块设计的次序时,应遵循对一个模块 的全部直接下属模块都设计完成后,再转向 另一个模块的下层模块的设计。,在设计下层模块时,应考虑模块的耦合 和内聚问题,以提高设计初始SC图的质量。,注意“黑盒”技
2、术的使用。,2020/9/7,主模块,A,B,C,A1,A2,A3,A11,A12,A13,2020/9/7,低,高,强,弱,内聚性,模块独立性,低,高,弱,强,耦合性,模块独立性,具有高内聚低耦合的模块 才是模块独立性比较强的模块。,2020/9/7,具有高内聚低耦合的模块 才是模块独立性比较强的模块。,模块A,模块D,模块C,模块B,非直接 耦合,通过参数表 传递数据 (数据耦合),通过参数表 传递数据结构 (数据耦合),具有松散型 的耦合类型,2020/9/7,请将上列给出的具有变换型的DFD图导出它的SC图,练习,2020/9/7,2、事务分析,-是将具有事务型的DFD图导出SC图,事
3、务中心,事务源,2020/9/7,主模块,给出H,取得A,L,M,N,A,G,H,B,E,C,F,D,2020/9/7,发送部分,请将下列给出的采购子系统 DFD 图转换成SC图,练习,加工名称: 2.1 按书号汇总缺书 2.2 按出版社汇总缺书 2.3 修改教材库存和待 购量,文件名称: F1 教材存量表 F2 缺书登记表 F5 待购教材表 F6 教材一览表 F7 进书登记表,2020/9/7,发送部分,采 购,按书号 汇总,缺书 登记表,统计缺书,登记进书,按出版社 汇总,打印 缺书单,修改 教材存量表,修改 教材待购量,统计 命令,登记 命令,待购 教材表,暂缺 书单,暂缺 书单,进书
4、通知,进书 通知,- 采购子系统的 SC 图 -,缺书登记表=班号+姓名+书号+数量,2020/9/7,三、软件模块结构的改进,一、 模块功能的完善化,2020/9/7,二、 消除重复功能,改善软件结构。,完全相似,局部相似,2020/9/7,X,Y,R1,R2,X,Y,R,R,相似模块的各种合并方案的示意图,2020/9/7,三、 模块的作用范围应在控制范围之内。,作用范围:是一个与条件判定 相关联的所有模块。,控制范围:包括模块本身及其 所有的从属模块(即供它调用 的模块)。,2020/9/7,模块的控制范围:包括模块本身及其所有的从 属模块(即供它调用的模块)。,2020/9/7,一个模
5、块的作用范围,是指受这个模块中的 判定所影响的模块 。,关于模块的作用范围/控制范围的关系示意图,G,D,B,C,控制 耦合,2020/9/7,Top,C,D,E,B2,B,D,G,C,理想的情况,应该使判定的作用范围和判定所在模块的控制范围 尽可能地吻合(即应使模块的作用范围尽可能地在控制范围之内)。,符合作用范围/控制范围的理想判定位置,D,C,G,B,A,对于一个理想 SC图 中的模块设计, 所有受到 一个判定影响的模块应该 都从属该判定所在的模块 ,最好位于作出判定的那 个模块本身及它的直接下 属模块。,2020/9/7,计算 实发工资,取得 工资数据,计时工人 实发工资,计薪工人 实
6、发工资,编外人员 实发工资,计时制 工资额,税收 扣款,薪金制 工资额,常规 扣款,编外人员 工资,编外人员 税款,编外人员 扣款,2020/9/7,四、 尽可能地减少高扇出结构,随着深度增大扇入。,2020/9/7,P,Q,2020/9/7,五、 模块的大小要适中。,50-100,2020/9/7,六、应设计出功能可预测的模块,但要避免过分受限制的模块。,A,2020/9/7,发送部分,请将下列给出的 DFD 图转换成SC图,作业,2020/9/7,发送部分,请完成下列描述的DFD图,导出它的SC图,练习,美国某大学共有200名教师,校方与工会刚刚签定一 项协议按照协议,所有年工资=$26,
7、000的教师工资将保 持不变,年工资$26,000的教师将增加工资, 所增加的 工资数按下述方法计算: 给每个由此教师所赡养的人(包括教师本人) 每年补 助$100,此外,教师满一年工龄的再多补助$50,但是增 加后的年工资总额不能多于$26,000。 教师的工资档案储存在行政办公室的磁带上, 档案 中有目前的年工资、赡养人数、雇用日期等信息。,2020/9/7,发送部分,请将上列给出的 DFD图导出它的SC图,作业,2020/9/7,第五章 详细设计描述的工具,5.1 详细设计阶段的目的与任务,详细设计的目的: 为软件结构图 (SC) 中的每一个模块确定采用的算法和模块内 数据结构,用某种选
8、定的表达工具给出清 晰的描述。,详细设计阶段的主要任务: 编写软件 的 “详细设计说明书”,c,2020/9/7,2020/9/7,详细设计阶段的主要任务,2020/9/7,描述工具,5.2 详细设计阶段的描述工具,2020/9/7,A,1、顺序型,一、程序流程图,B,几个连续的加工依次序排列,exp,A,B,2、选择型,由某个判断式的取值 决定选择两个加工中的一 个。,2020/9/7,3、当型循环型,当循环控制条件成立时,重复执行特定的加工。,4、直到型循环型,重复执行特定的加工,直到循环控制条件成立时。,2020/9/7,5、多情况选择型,列出多种加工 情况,根据控制变 量的取值,选择执
9、 行其一。,2020/9/7,2020/9/7,标准化程序流程图规定符号,2020/9/7,流程符号的使用规则,1、循环符号的使用,循环体,- 循环流程符号的使用,2020/9/7,2、判断有一个入口,但也允许有多个可选出口,- 多出口判断流程符号的使用,2020/9/7,请利用程序流程图描述下列问题的程序结构,练习,某汽车修配厂,有一个存有汽车零件的 仓库,其中存有若干种零件,请编写一个查 询程序,用于查询该库中某零件的库存量为 多少。,2020/9/7,顺序型,二、N-S 图,选择型,- Nassi and Shneideman,当型循环型,直到型循环型,多分支选择型,2020/9/7,2
10、020/9/7,三、PAD 图,直到型循环型,当型循环型,顺序型,选择型,多分支选择型循环型,- Problem Analysis Diagram,2020/9/7,举例,2020/9/7,练习,请为学生成绩管理系统中的学生成绩统计模块 设计程序结构。,2020/9/7,四、PDL,- Program Ddesign Language,PDL 是一种用于描述功能模块的算法设计和加工细节的语言。称为设计程序用语言。它是一种伪代码(Pseudo code),PDL,-关键词+自然语言,2020/9/7,(1)、数据说明:,格式: TYPE AS ,其功能是定义数据的类型和作用域,说明: 1. 变量
11、名:是一个模块内部使用的变量或模块间共用 的全局变量名。,2. 限定词1 :标明数据类型,3. 限定词2 :标明该变量的作用域,TYPE number AS STRING LENGTH (12),2020/9/7,(2)、程序块:,PDL的过程成分是由块结构构成的,而块将作为 一个单个的实体来执行。,BEGIN END,2020/9/7,(3)、子程序结构:,把 PDL 中的过程称为子程序。,PROCEDURE INTERFACE END,2020/9/7,(4)、基本控制结构:,IF THEN ; ELSE ; ENDIF,- 选择型结构,感谢亲观看此幻灯片,此课件部分内容来源于网络, 如有侵权请及时联系我们删除,谢谢配合!,