软件工程学详细设计课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件工程学详细设计课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 工程学 详细 设计 课件
- 资源描述:
-
1、软件工程学详细设计软件工程学详细设计第一页,编辑于星期三:十七点 三十八分。1.构造程序设计 构造程序设计的特点:程序中使用三种根本控制构造 程序应当单入口、单出口 GOTO语句的限制使用 详细设计的结果根本上决定了最终的程序代码的质量,因此其目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂,为使过程描述清晰易读、正确、可靠,须采用构造程序设计技术。第二页,编辑于星期三:十七点 三十八分。2.人机界面设计 人机界面设计是接口设计的一个重要组成局部。对人机界面的评价在很大程度上是由人的主观因素决定,所以,使用基于原型的系统化的设计策略是成功地设计人机界面的
2、关键。1、应该考虑的设计问题1系统响应时间 系统响应时间指从用户完成某个控制动作到软件给出预期响应之间的这段时间。长度 易变性第三页,编辑于星期三:十七点 三十八分。2用户帮助实施2.人机界面设计 集成的帮助实施 附加的帮助实施3出错信息处理 信息应该用用户可以理解的术语描述问题 信息应该提供有助于从错误中恢复的建立性意见 信息应该指出错误可能导致的负面后果 信息应该伴随着听觉或视觉上的提示 信息不能带有职责色彩4命令交互 窗口菜单交互方式 命令行交互方式第四页,编辑于星期三:十七点 三十八分。2、人机界面设计过程2.人机界面设计 保持一致性 提供有意义的反响 在执行有较大破坏性的动作之前要求
3、确认 允许取消绝大多数操作 减少在两次操作之间必须记忆的信息量 提高对话、鼠标移动和思考的效率 允许用户犯错误 按功能对动作分类设计屏幕布局 提供对工作内容敏感的帮助实施 用简单动词或动词短语作命令名 人机界面设计是一个迭代的过程,即通常先创立设计模型,再用原型实现这个设计模型,并由用户试用和评估,然后根据用户的意见进展修改,直至满意为止。3、人机界面设计指南1一般交互指南第五页,编辑于星期三:十七点 三十八分。2.人机界面设计 只显示与当前工作有关的信息 用便于用户迅速吸取信息的方式来显示 使用一致的标记、标准的缩写和可预知的颜色 允许用户保持可视化的语境 产生有意义的出错信息 使用大小写、
4、缩进和文本分组来帮助理解 使用窗口分隔不同类型的信息 使用模拟方式显示信息 高效率地使用显示屏2信息显示指南3数据输入指南 尽量减少用户的输入动作 保持信息显示和数据输入之间的一致性 允许用户自定义输入 交互应该是灵活的 使在当前动作语境中不使用的命令不起作用 让用户控制交互 对所有输入动作提供帮助 消除冗余的输入第六页,编辑于星期三:十七点 三十八分。3.过程设计的工具 1、程序流程图(Program Flow Chart)5种根本控制构造:描述模块程序处理过程的工具就是过程设计的工具,利用这些工具指明控制流程、处理功能、数据组织及其实现细节,从而在编码阶段可以直接地将其描述翻译成程序代码。
5、(1)顺序构造(sequential structure)(2)选择构造(selective structure)ABPBAFT(3)先判定型循环构造(while-loop structure)TPSF第七页,编辑于星期三:十七点 三十八分。(4)后判定型循环构造(until-loop structure)FSTP(5)多情况选择(case structure)TA1FP=1TA2FP=2TAnFP=n3.过程设计的工具 任何复杂的程序流程图都应由以上5种根本构造组合而成。ISO 认可的规定符号:P.125 图 优点:对控制流程的描述直观清晰,易于使用,能随意表达任何程序的逻辑构造。缺点:不易
6、反映逐步求精的过程,往往反映的是最后结果;不受约束地画控制流线,导致在编码阶段造成非构造 化的程序构造;不易表示数据构造。第八页,编辑于星期三:十七点 三十八分。SequentialABPFTABSelectivePFTBDo-While PSWhileDo-Until PSUntilCaseP12nA1A2AnCall subroutineA3.过程设计的工具 Nassi&Shneiderman 1973年提出,又称为N-S Charts;Chapin 1974年作扩大,故也称为Chapin charts.2、盒图(Box Diagram)第九页,编辑于星期三:十七点 三十八分。x4TFDo
7、-Until x5ighfkx1TFbDo-Until x6ajx21cDo-While x323dek:3.过程设计的工具例1:盒图的特点:没有箭头,不允许随意转移控制;每个矩形框(Case中条件取值例外)都是一个功能域(即一个特定构造的作用域),构造表示明确;局部及全程数据的作用域易见;易表现嵌套关系(embedded structure)以及模块的层次构造。第十页,编辑于星期三:十七点 三十八分。3.过程设计的工具盒图的优点:程序构造清晰易懂 易养成良好的设计风格盒图的缺点:当嵌套层数增加时,会增加作图的困难且降低清晰性。例2:求一组数的最大值T盒图表示MAX=A(I)MAX A(I)F
8、FOR I=2 TO NMAX=A(1)NMAX=A(1)I=2I=I+1MAX=A(I)I NMAXA(I)程序流程图表示YYN第十一页,编辑于星期三:十七点 三十八分。ABSequential While PS Until PSLoopsPABTHENELSESelectiveP=A1A2CaseAn12nStatement IndexdefDefinition3.过程设计的工具PAD(Problem Analysis Diagram):日立公司,19733、PAD图第十二页,编辑于星期三:十七点 三十八分。x4TFDo-Until x5ighfkx1TFbDo-Until x6ajx21
9、cDo-While x323dek:3.过程设计的工具例1:N-S图与PAD的转换开始 结束ajUntil x5Until x6x1x4ghbfkidefx2de123While x3ck第十三页,编辑于星期三:十七点 三十八分。3.过程设计的工具例2:求一组数的最大值或:MAX A(I)FOR I=1,N MAX=A(1)MAX=A(I)MAX A(N)WHILE N 30行李重量W 30免费国内乘客外国乘客头等舱其他舱残疾乘客正常乘客(W-30)2(W-30)4残疾乘客正常乘客(W-30)3(W-30)6头等舱其他舱残疾乘客正常乘客(W-30)4(W-30)8残疾乘客正常乘客(W-30)6
10、(W-30)12用判定树表示计算行李费的算法3.过程设计的工具第十八页,编辑于星期三:十七点 三十八分。3.过程设计的工具判定表与判定树的优点:判定表简洁无二义地表示处理规那么 判定树是判定表的变种,简单、明了,易于掌握判定表与判定树的缺乏:不能反映重复和顺序的处理特性 中选择条件较多时,其简洁性下降 作判定树时,对分支次序的不同将形成不同的判定树 判定表与判定树并不适用于作为一种通用的设计工具,通常将之用于辅助测试第十九页,编辑于星期三:十七点 三十八分。PROCEDURE spell_check IS BEGIN Split document into single words Look
11、up words in dictionary Display words which are not in dictionary Create a new dictionary END spell_checkExternal statementsInternalstatements3.过程设计的工具 PDL又称 Pseudocode,是一种用于描述模块算法设计和处理的语言。例1:5、PDL(Program Design Language)PDL的外(部)语法:符合一般程序设计语言常用的语法规那么,具有严格的关键字。PDL的内(部)语法:用一些简单句子、短语符号等自然语言描述程序执行的功能。第二
12、十页,编辑于星期三:十七点 三十八分。3.过程设计的工具PDL应具备以下特点:有数据说明,例如:TYPE number IS STRING LENGTH (12)TYPE table IS INSTANCE OF symbol_table 有模块定义与调用机制,例如:PROCEDURE INTERFACE pseudocode lines END 调用时可用:PERFORM USING Sequential:自然语言的顺序描述抽象类型 有固定的外语法(keyword);内语法用自然语言描述。Selective:IF CASE of WHEN SELECT ELSE WHEN SELECT EN
13、DIF ENDCASE Loops:WHILE FOR TO REPEAT UNTIL ENDWHILE ENDFOR ENDREP第二十一页,编辑于星期三:十七点 三十八分。PDL的的缺点缺点:不够直观、清晰。:不够直观、清晰。3.过程设计的工具PDL的优点:可以作为注释插入到源程序中 书写方便 易于实现由PDL到源程序代码的自动转换例2:Input array AMAX=A(1)FOR I=2 TO N IF MAX A(I)THEN set MAX=A(I)ENDIFENDFORPRINT MAX第二十二页,编辑于星期三:十七点 三十八分。4.面向数据构造的设计方法 与SD的由DFD导出
14、构造设计不同,面向数据构造的设计方法是以数据构造(data structure)为根底设计每个模块的处理过程。两种设计方法的异同:出发点不同 目标不同 面向数据流设计适合总体设计,面向数据构造设计适合详细设计 都遵循构造程序设计,采用自顶向下、逐步求精的策略第二十三页,编辑于星期三:十七点 三十八分。1、Jackson DiagramJD的优点:便于表示层次构造,是自顶向下分解的有力工具 形象直观可读性好 既能表示数据构造也能表示程序构造4.面向数据构造的设计方法ABCD顺序结构ABoCo选择结构AB*重复结构第二十四页,编辑于星期三:十七点 三十八分。4.面向数据构造的设计方法ABCBCA=
展开阅读全文