




已阅读5页,还剩126页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章详细设计,6.1结构程序设计6.2人机界面设计6.3过程设计的工具6.4面向数据结构的设计方法6.5程序复杂程度的定量度量6.6小结习题,在软件的总体设计中,已经将系统划分为多个模块,并将它们按照一定的原则组装起来,同时确定了每个模块的功能及模块与模块之间的外部接口。详细设计是软件设计的第二阶段,目的是为软件结构图(SC图或HC图)中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。,详细设计,一、基本任务回答的关键问题:“怎样具体地实现这个系统”主要任务是设计出程序的“蓝图”,供程序员日后根据这个蓝图编写出实际的程序代码。注意:设计程序的蓝图,不是具体地编写程序。设计程序主要采用结构化的程序设计方法。,1、为每个模块进行详细的算法设计。2、为模块内的数据结构进行设计。3、对数据库进行物理设计,即确定数据库的物理结构。4、其他设计:根据软件系统的类型,还可以要进行以下设计:(1)代码设计。(2)输入/输出格式设计。(3)人机对话设计。5、编写详细设计说明书。6、评审。对处理过程的算法和数据库的物理结构都要评审。,详细设计,二、基本步骤确定模块如何实现编写详细设计说明书制定单元测试计划详细设计评审,6.1结构程序设计,1.什么是结构程序设计经典定义:如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。结构程序设计是尽可能少用GOTO语句的程序设计方法。最好仅在检测出错误时才使用GOTO语句,而且应该总是使用前向GOTO语句。,如果只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环这3种基本控制结构,则称为经典的结构程序设计;如果除了上述3种基本控制结构之外,还允许使用DO-CASE型多分支结构和DO-UNTIL型循环结构,则称为扩展的结构程序设计;如果再加上允许使用LEAVE(或BREAK)结构,则称为修正的结构程序设计。,三种基本的控制结构,其他常用的控制结构,结构程序设计,2.逐步求精的含义详细设计阶段逐步求精的含义:把一个模块的功能逐步分解细化为一系列具体的处理步骤或某种高级语言的语句。总体设计阶段逐步求精的含义:把一个复杂问题的解法分解和细化成一个由许多模块组成的层次结构的软件系统。,结构程序设计,3.结构程序设计技术的优越性(1)自顶向下逐步求精的方法符合人类解决复杂问题的普遍规律,因此可以显著提高软件开发工程的成功率和生产率。(2)用先全局后局部、先整体后细节、先抽象后具体的逐步求精过程开发出的程序有清晰的层次结构,因此容易阅读和理解。(3)不使用GOTO语句仅使用单入口单出口的控制结构,使得程序的静态结构和它的动态执行情况比较一致,易于阅读和理解。,结构程序设计,(4)控制结构有确定的逻辑模式,编写程序代码只限于很少几种直截了当的方式,因此源程序清晰流畅。(5)程序清晰和模块化使得在修改和重新设计一个软件时可以重用的代码量最大。(6)程序的逻辑结构清晰,有利于程序正确性证明。,6.2人机界面设计,人机界面(HumanComputerInterface,简称HCI)通常也称为用户界面界面设计主要包括三个方面:设计软件构件之间的接口设计模块和其他非人的信息生产者和消费者的界面设计人(如用户)和计算机间的界面,按照以为用户中心主义的观点,软件设计的核心内容,不是软件本身的功能、性能,也就是说,不是技术上的东西。软件设计的核心应该是用户,应该是这个软件能够为用户提供什么样的功能和怎样提供这些功能。软件是否成功,不是由技术专家使用专业的标准来评判,而是由用户来评判,由用户是否认可、是否喜欢来评判。,(1)人类感知基础用户都是提供自己的感官接收来自计算机的信息,然后通过自己的操作向计算机发出指令。在计算机向用户发出信息的方式中,目前最常用的有视觉信息、听觉信息和文字信息。视觉信息包括图形、颜色、动画、图像等等,我们在计算机屏幕上看到的绝大多数信息都是视觉信息。视觉信息的特点是信息量大,人可以快速地识别和反应。听觉信息主要是声音,包括音乐、声响等,它的主要特点是没有方向性,即使用户没有关注软件,也能够感知到。文字信息其实不是单独存在的,它可以存在与视觉信息里,就是屏幕上显示的文本。,软件设计应该以使用软件的人为中心,那么使用软件的人有什么特点呢?,(2)用户的特性:对于软件设计人员来说,必需树立这样几个基本观念:a、用户是懒惰的b、用户是笨的c、用户是容易出错的d、用户是健忘的。e、用户的注意力很容易涣散f、用户的脾气不好。,(3)任务的特殊要求在进行界面设计时,必需对软件所要完成的任务有准确的认识。有的任务是实时型任务,对每一项响应都有时间限制;有的任务是监察型任务,那么就要给用户提供方便的、易于观察的显示输出;有的任务是可中断的,比如用WORD打字,那么就要有两次启动之间的衔接问题;有的任务对可靠性要求很高,是不可错的,那么就要在容错设计上多下工夫,界面的设计原则,分析用户类型应用程序和界面分离一致性尽量减少用户工作提供反馈出错处理和帮助功能增加可视化图形表示,在有关界面设计的著作中,TheoMandel创造了三条黄金原则:置用户于控制之下减少用户的记忆负担保持界面一致,黄金规则:置用户于控制之下,Mandel定义的一组允许用户操作控制的原则:以不强迫用户进入不必要的或不希望的动作的方式来定义交互方式提供灵活的交互允许用户交互可以被中断和撤消当技能级别增加时可以使交互流水化并允许定制交互使用户隔离内部技术细节设计应允许用户和出现在屏幕上的对象直接交互,黄金规则:减少用户的记忆负担,Mandel定义了一组设计原则,使界面能够减少用户记忆负担:减少对短期记忆的要求建立有意义的缺省定义直觉性的捷径界面的视觉布局应该基于真实世界的隐喻以不断进展的方式揭示信息,缺省值,黄金规则:保持界面一致,允许用户将当前任务放入有意义的语境在应用系列内保持一致性如过去的交互模型已建立起了用户期望,除非有迫不得已的理由,不要改变它,在设计人机界面的过程中,几乎总会遇到下述4个问题:系统响应时间、用户帮助设施、出错信息处理和命令交互。不幸的是,许多设计者直到设计过程后期才开始考虑这些问题,这样做往往导致出现不必要的设计反复、项目延期和用户产生挫折感。最好在设计初期就把这些问题作为重要的设计问题来考虑,这时修改比较容易,代价也低。下面讨论这4个设计问题。,6.2.1设计问题,一般说来,系统响应时间指从用户完成某个控制动作(例如,按回车键或点击鼠标),到软件给出预期的响应(输出信息或做动作)之间的这段时间。系统响应时间有两个重要属性,分别是长度和易变性。易变性指系统响应时间相对于平均响应时间的偏差。用户响应时间应该适中,系统响应时间过长,用户就会感到不安和沮丧,而响应时间过短有时会造成用户加快操作节奏,从而导致错误。,1.系统响应时间,响应时间(系统延迟)系统闭合等级:极限闭合等级:15秒复杂闭合等级:415秒简单闭合等级:24秒最简单闭合等级:12秒瞬时响应:10的程序,应分成几个小程序处理,以降低出错率。缺点:有些控制结构不能区分,例如IF与LOOP,嵌套IF与CASE等;不能区分一个多行顺序结构与一个单行程序的复杂性。,McCabe环形复杂度的特点:,根据程序中可执行代码行的操作符和操作数的数量来计算程序的复杂性n1:程序中出现的不同操作符数目n2:程序中出现的不同操作数数目N1:程序中操作符出现的总数N2:程序中操作数出现的总数,6.5.2Halstead方法,(1)程序长度N=n1log2n1+n2log2n2(2)程序容量V=Nlog2(n1+n2)(3)语言级别L=(2n2)/(n1n2)(4)程序工作量E=V/L(5)程序编写时间T=E/SS:Stroud数(6)程序潜在错误的数量B=Nlog2(n1+n2)/3000,Halstead使用原始度量定义的算式,例:一程序对75个数据库项共访问1300次,对150个操作符使用1200次,潜在错误数为:B=(1300+1200)log2(75+150)/3000=6.5(即67个错误),Halstead认为程序中可能存在的错误与程序容量成正比,但存在不足和问题:(1)未忽略模块特性(2)忽略了非执行语句(3)代码和数据的二义性(4)未考虑数据类型的差异(5)未注意调用深度(6)未区别不同类型的运算符,Halstead复杂性度量方法是一种较科学的方法,详细设计说明书,引言程序系统的组织结构关键程序的设计说明,P141:3画出下列伪码程序的程序流程图和盒图STARTIFpTHENWHILEqDOfENDDOELSEBLOCKgnENDBLOCKENDIFSTOP,P141:4下图给出的程序流程图代表一个非结构化的程序,请问:(1)为什么说它是非结构化的?(2)设计一个等价的结构化程序。(3)在(2)题的设计中你使用附加的标志变量flag吗?若没用,请再设计一个使用flag的程序;若用了,再设计一个不用flag的程序,(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。,(2)使用附加的标志变量fl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 不定积分在解决实际问题中的应用教案
- 跨境电商与全球消费市场的发展前景
- 介词与冠词的使用区别及其在实际句子中的运用教案
- 小学生学科自信心的提升路径
- 音乐表演艺术考试试题及答案
- 低空经济中的科技创新与技术突破
- DB13T 1320.9-2010 中药材种子质量标准 第9部分:白芷
- 高端酒店式公寓租赁与管理协议
- 农业文化遗产景观的视觉美学对游客停留时间的影响
- 服装品牌销售排名表
- 揭阳惠来县纪委监委等部门属下事业单位招聘笔试真题2024
- 党课课件含讲稿:以作风建设新成效激发干事创业新作为
- 超市百货考试试题及答案
- 2025年北京市东城区九年级初三二模物理试卷(含答案)
- 现代控制理论知到智慧树期末考试答案题库2025年长安大学
- 2025年北京市平谷区九年级初三二模英语试卷(含答案)
- 脊柱感染的护理
- 【正版授权】 IEC 60512-99-002:2022/AMD1:2025 EN-FR Amendment 1 - Connectors for electrical and electronic equipment - Tests and measurements - Part 99-002: Endurance test schedules - Tes
- 苏州市昆山市惠民物业管理有限公司招聘考试真题2024
- 2025年南昌职教城教育投资发展有限公司招聘笔试参考题库附带答案详解
- 综合呈现2025年入团考试试题及答案
评论
0/150
提交评论