信息系统的详细设计.ppt

上传人:本田雅阁 文档编号:3471011 上传时间:2019-08-31 格式:PPT 页数:68 大小:829.57KB
返回 下载 相关 举报
信息系统的详细设计.ppt_第1页
第1页 / 共68页
信息系统的详细设计.ppt_第2页
第2页 / 共68页
信息系统的详细设计.ppt_第3页
第3页 / 共68页
信息系统的详细设计.ppt_第4页
第4页 / 共68页
信息系统的详细设计.ppt_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《信息系统的详细设计.ppt》由会员分享,可在线阅读,更多相关《信息系统的详细设计.ppt(68页珍藏版)》请在三一文库上搜索。

1、第7章 详细设计,详细设计的基本任务 详细设计过程 详细设计内容 结构程序设计 人机界面设计 过程设计的工具 程序复杂度的定量度量 详细设计优化 小结,详细设计的基本任务,确定应该怎样具体的实现系统?; 设计程序的”蓝图”,但不是编程序; 详细设计的结果决定了最终的程序代码的质量; 结构化程序设计是详细设计的逻辑基础;,详细设计的基本任务,详细设计也是采用细化的方法把每个功能模块分解为一系列的处理步骤; 详细设计须遵循的原则: 模块的逻辑描述正确可靠,清晰易读; 采用结构化程序设计方法,改善控制结构,降低程序复杂度,提高程度的可读性、可测试性和可维护性。,详细设计过程,Step1:确定每个模块

2、的算法; Step2:确定每个模块的数据组织; Step3:为每个模块设计一组测试用例; Step4:编写详细设计说明书。,详细设计内容,程序描述 功能 性能 输入项 输出项 算法 接口,存储分配 注释设计 限制条件,结构化程序设计,自顶向下,逐步求精; 有限制的使用GOTO语句; 单入口,单出口; 采用”顺序”,”选择”,”循环”3种基本的控制结构来详细设计软件模块的结构,过程设计的工具,程序流程图 盒图 PAD图 判定表 判定树 PDL语言,均要掌握,程序流程图,历史悠久,为最广泛的人所熟悉; 描绘直观,便于初学者掌握; 总的趋势越来越多的人不使用它;,程序流程图,主要缺点 它本质上不是逐

3、步求精的工具; 它使得程序员过早的考虑程序的控制结构,而忽略程序的全局结构; 箭头符号代表控制流,不受程序员控制,有随意性; 它不表示数据结构;,盒 图,也称为N-S图 它的主要特点 功能域明确; 作用域明确; 不能任意转移; 易确定作用域; 易表现嵌套关系; 比较直观、易于绘制; 有助于程序员养成结构化的设计思想;,缺点: 算法复杂,画图困难,影响清晰性,灵活性差。,A,调用子程序,盒 图,盒 图,N-S图的嵌套定义形式,PAD图,PAD图是问题分析图(problem analysis diagram)的英文缩写。 它用二维树型结构的图来表示程序结构,便于将它翻译为程序代码。 它还允许递归使

4、用。,PAD图,def,分支,PAD图,对应于增量型循环结构 for i := n1 to n2 step n3 do 在PAD中有相应的循环控制结构,PAD图,P1,P2,P3,P4,P5,C,P2,P6,P7,P8,C,UNTIL C2,UNTIL C3,P9,P10,def,PAD图,它的主要优点: 符合结构化程序设计要求; 结构清晰,层次分明,易读,易懂,易记; 既可表示程序逻辑,又可表示数据结构; 容易将PAD自动转换为高级语言源程序; 支持自顶向下、逐步求精的方法。,自上而下,从左向右顺序执行,判定表,表示复杂的条件组合与应做动作之间的对应关系; 判定表并不适用于作为一种通用的设计

5、工具,通常将之用于辅助测试 ; 要求将程序流程图中的多分支判断都改成两分支判断;,判定表,例: 航空行李托运费的算法 按规定:重量不超过30公斤的行李可免费托运。重量超过30公斤时,对超运部分,头等舱国内乘客收4元/公斤;其它舱位国内乘客收6元/公斤;外国乘客收费为国内乘客的2倍;残疾乘客的收费为正常乘客的1/2。,判定表,缺点: 含义不清楚; 数据元素多于两个时,判定表简洁性下降;,判定树,它是判定表的变种; 它的优点在于形式简单,含义明确; 它是一种常用的详细设计的工具;,判定树,缺点: 简洁性很差; 分支次序影响判定树的简洁度; 如把行李重量的判断作为最后一个分支,会怎样?,PDL语言,

6、它也称为伪码,它是一种“混杂”语言; 关键字有固定的语法,称为外语法; 处理用自然语言描述,称为内语法; 有数据说明; 有子程序定义与调用机制;,示例: 拼词检查程序,PROCEDURE spellcheck IS BEGIN -*1 split document into single words -*2 look up words in dictionary -*3 display words which are not in dictionary -*4 create a new dictionary END spellcheck,PROCEDURE spellcheck BEGIN -

7、* split document into single words LOOP get next word add word to word list in sortorder EXIT WHEN all words processed END LOOP -* look up words in dictionary LOOP get word from word list,IF word not in dictionary THEN -* display words not in dictionary display word prompt on user terminal IF user r

8、esponse says word OK THEN add word to good word list ELSE add word to bad word list ENDIF ENDIF EXIT WHEN all words processed END LOOP,-* create a new words dictionary dictionary : merge dictionary and good word list END spellcheck,各种工具的比较,程序复杂性定量度量,它可以用来衡量模块的设计质量。 它的价值:把程序的复杂度乘以适当的常数即可估算出软件中错误的数量以及

9、软件开发需要用的工作量。 经常使用的方法: McCable方法 Halstead方法,McCabe方法,根据程序控制流的复杂程度定量度量方法。 它分析的基础是流图(程序图)。 它的分析过程: 过程设计结果流图计算环路复杂度,流 图,圆表示结点,可代表一条或多条语句。 流图中的箭头称为边,代表控制流。 边必须终止于一个结点。 由边和结点围成的面积称为区域。 任何方法表示的过程设计结果都可以翻译为流图。,处理框和菱形判定框,包括图外面的那个区域,复合条件的计算,复合条件的含义。 把复合条件分解为若干个简单条件,注意每一个简单条件对应一个结点。 包含条件的点称为判定结点。,复合条件的计算,If a

10、or b then procedure x Else procedure y End if,a,b,x,y,end,顺序结构的结点可以合并,a,b,c,计算环形复杂度的3种方法,流图中的区域的个数等于环形复杂度。 公式V(G)=E-N+2,E代表流图中边的数目,N是结点数目。 公式V(G)=P+1,P是流图中判定结点的数目。,环形复杂度计算的例子,根据程序流程图计算,1,2,3,4,5,6,8,7,11,9,10,顺序结构可以和3合并,顺序结构可以和5合并,该段程序的正常出口,该段程序的正常出口,整个程序的正常出口,环形复杂度计算的例子,1,2,3,4,5,10,6,8,9,7,11,区域1,

11、区域2,区域3,区域4,区域个数:4(即复杂度) 判定个数:3(3+1=4) 边:11,节点:9 即:11-9+2=4,判定1,判定2,判定3,环形复杂度计算的例子,根据PDL伪码计算 图6.16,环形复杂度的用途,程序的分支增加,则环形复杂度也随之增加; 它是对程序结构的定量度量,同时也是对测试难度的定量度量; 一般,V(G)=10为宜。,基本结构的环形复杂度,顺序结构:1 双分支选择结构:2 While结构:2 Until结构:2 多分支选择结构:n(代表分支数),Halstead方法,它根据程序中运算符和操作数的总数来度量程序的复杂程度。 N=N1+N2,N为程序长度,N1为程序中运算符

12、出现的总次数,N2为操作数出现的总次数。 H=n1log2n1+n2log2n2 H代表预测程序长度; n1代表不同运算符的个数; n2代表不同操作数的个数;,Halstead方法,预测长度H和实际长度N很接近 Halstead还给出了预测程序中包含错误个数的公式: E = N*log2(n1+n2)/3000 实验证明,预测的错误数量与实际错误数量的误差在8%之内,人机界面设计,人机界面(Human Computer Interface,简称HCI)通常也称为用户界面; Theo Mandel创造了三条黄金原则: 置用户于控制之下 减少用户的记忆负担 保持界面一致,人机界面设计,人机界面应具

13、备的特性: 可使用性 灵活性 可靠性,人机界面设计,可使用性 使用的简单性; 术语标准化的一致性; 快速的系统响应和低的系统成本; 用户界面具有容错能力;,人机界面设计,灵活性 算法的可隐可显性; 用户可以根据需要制定和修改界面方式; 足够的响应信息; 界面具有一定的灵活性;,人机界面设计,可靠性 用户界面的复杂性; 用户界面的可靠性;,人机界面设计,人机界面的设计质量,直接影响用户对软件产品的评价。 设计问题 系统响应时间 用户帮助设施 出错信息处理 命令行交互,系统响应时间,它指从用户完成某个控制动作,到软件给出预期的响应之间的这段时间; 它有两个重要属性: 长度; 易变性;,用户帮助设施

14、,帮助是必须的。 帮助设施可分为两类: 集成; 附加;,出错信息处理,系统出现问题了给出的“坏消息”; 出错信息应该具备如下的属性: 信息用户应该可以理解; 信息有助于从错误中恢复; 信息应该反映错误导致的负面后果; 信息应该伴随着听觉和视觉上的提示; 信息不能带有指责色彩。,命令交互,在提供命令交互方式时,必须考虑下列问题: 是否每个菜单选项都有对应的命令? 采用何种命令形式? 学习和记忆难度有多大? 用户是否可以定制或缩写命令?,人机界面设计,数据输入界面设计 数据显示界面设计 控制界面设计,数据输入界面设计,它是系统的重要组成部分,容易出错,要求尽量简化用户的工作,并尽可能减少输入的出错

15、率。 注意减少用户的记忆负担,使界面具有预见性和一致性,防止用户输入出错。 一般可通过下面的方法来减少用户的输入工作量: 对共同的输入内容设置默认值; 使用代码缩写; 自动填入已输入过的内容或需要重复输入的内容; 如果输入内容是有限的备选集,则采用列表选择;,数据输入界面设计,数据输入对话设计的一般原则: 明确的输入; 明确的动作; 明确的取消; 确认删除; 提供反馈; 允许编辑; 提供复原; 提示输入的范围;,数据输入界面设计,数据显示界面设计,显示数据的基本原则: 只显示必须的数据; 在一起使用的数据应显示在一起; 显示出的数据应与用户的执行任务有关; 每一屏的数据量不超过屏幕的30%;,

16、数据显示界面设计,为了用户能够很容易地查找所要数据,可以用下面的方法安排显示结构: 以一种逻辑方式把数据分组; 安排数据要考虑是否有益于用户的使用; 列表组织数据; 图形化显示数据;,数据显示界面设计,数据显示界面设计,进行屏幕布局时,还需要考虑其他一些原则: 应尽量少使用代码和缩写; 如果安排了若干个显示画面,最好建立一个统一的格式; 提供明了的标题、栏题以及其他提示信息; 遵循用户的习惯; 采用颜色、字符大小、下划线或不同的字体等方式来强化重要数据。,数据显示界面设计,控制界面的设计,目的是让用户能够主动地控制计算机上软件系统的工作,使得用户能够很容易地访问计算机的各种设备。,详细设计优化,一般是对时间进行优化,可着手从下面几个方面展开: 精化软件结构; 选出最耗时的模块,仔细设计它们的处理算法,以提高效率; 使用高级程序语言编写程序; 在软件中孤立出那些大量占用处理机资源的模块; 用依赖机器的语言修改或重写那些模块。,小 结,详细设计的关键任务是什么? 结构化程序是详细设计的基本保证。 人机交互的重要性。 过程设计应该在数据设计、体系结构设计以及接口设计完成之后进行。 可选择3类共6种不同的工具。 环形复杂度的计算,以及合理的复杂度上限。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1