第七章详细设计.docx
- 文档编号:10657539
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:29
- 大小:78.79KB
第七章详细设计.docx
《第七章详细设计.docx》由会员分享,可在线阅读,更多相关《第七章详细设计.docx(29页珍藏版)》请在冰豆网上搜索。
第七章详细设计
第七章详细设计
上一章已讨论了信息系统的总体设计,它的主要任务是对系统的总体结构进行设计,对系统各组成部分的规格、形式作出决定,但不涉及具体的物理细节。
这是整个系统设计工作的第一阶段。
信息系统详细设计的任务是在系统总体设计的指导下,对系统各组成部分进行细致、具体的物理设计,使系统总体设计阶段所作的各种决定具体化。
它是整个系统设计工作的第二阶段。
在信息系统详细设计阶段,主要完成如下工作:
代码设计、数据库设计、模块的功能与性能设计、人机界面设计、输入输出设计等,本章将介绍详细设计阶段任务、工具和方法。
7.1总体设计与模块设计的衔接
系统设计就是根据目标系统的逻辑模型建立目标系统的物理模型,以及根据目标系统逻辑功能的要求,考虑实际情况,详细地确定目标系统的结构和具体的实施方案。
系统设计的目的是在保证实现逻辑模型的基础上,尽可能提高目标系统的简单性、可变性、一致性、完整性、可靠性、经济性、系统的运行效率和安全性。
一个软件系统具有层次性(系统的各组成部分的管辖范围)和过程性(处理动作的顺序)特征。
在系统总体设计阶段,主要关心的是系统的层次结构,到了详细设计阶段时,需要考虑系统的过程性,即“先干什么,后干什么”,以及系统各组成部分是如何联系在一起的。
信息系统是一个人机系统,计算机在人的参与下高效率完成大量的处理工作。
在目前的实际应用中,总要有某种意义上的人工干预,这种干预总是在系统的关键部分,即控制与决策部分。
若这部分也让计算机自动处理,就会降低效率,提高费用,甚至不可能处理。
因此,在信息系统的关键部分,少量的手工操作是不可避免的。
在进行信息系统的详细设计时首先就要分清哪些工作由计算机来做,哪些工作是由手工完成。
从而确定模块的实现方式,并据此把模块分成不同类型,再按照不同类型用不同的方法来设计其实现方案。
每个模块均有各自要完成的任务。
这个任务是适于用计算机处理还是适于用人工处理,在设计时就必须作出选择。
由于计算机处理和人工处理各有特点,如何合理分工、扬长避短、充分发挥组织现有的人、机资源的作用,使信息系统的功能得到最好的实现,这是设计人员必须解决的问题。
因此,在进行模块实现的计算机处理与人工处理划分时应了解这两种处理过程的不同特点,结合模块实现的人机处理划分原则进行选择。
模块实现的计算机处理与人工处理划分一般原则是:
(1)对复杂的计算、大量重复的数学运算,如统计、汇总、分配等;对结构化程度高的数据处理,如数据传送、存储、分类、检索、编制单证报表等,应由计算机处理。
(2)各种管理模型、高层次的数学模型,如运筹学、数理统计、预测等处理,数据量大、算法复杂,适用于计算机处理。
(3)对与数据格式不固定,例外情况较多及需要经验来判断的工作,目前没有成熟的技术可以应用或者代价太高,适合于人工处理。
(4)决策性问题,先由计算机处理提供尽可能多的资料,来辅助与支持人进行最后的决策。
7.2模块的功能与性能设计
总体设计将系统分解成许多模块,并决定了每个模块的外部特征、功能和界面,描述了模块之间的调用关系以及模块之间的传递数据。
但是,它没有详细地表达各功能模块的输入数据、处理过程和输出数据之间的逻辑关系,程序设计人员无法据此编写程序代码。
因此还要进一步对各功能模块的处理过程,以及处理过程中的各种输入和输出数据,进行详细设计,这是系统详细设计阶段的重要任务。
7.2.1处理过程设计
处理过程设计的主要内容是通过一种合适的表达方法来描述每个模块的功能实现过程。
要求表达方法简明、准确,任何程序员都能据此进行系统程序设计,也能够的自如地编制系统所需的程序模块。
处理过程设计的描述工具较多,下面介绍几种常用的工具。
1.IPO图
IPO(Input-Process-Output,IPO)是用于描述某个特定模块内部的处理过程和输入输出关系的图。
IPO是配合HIPO详细说明每个模块的输入、输出数据和数据加工的重要工具。
常用的IPO图的基本内容如表7.1所示。
表7.1IPO图的基本内容
系统名称:
模块名称:
模块编号:
模块描述:
被调用模块:
调用模块:
输入参数:
输入说明:
输出参数:
输出说明:
变量说明:
使用的文件或数据库:
处理说明:
备注
设计人:
设计日期:
IPO图的主体是处理说明部分,该部分可采用流程图、N—S图、问题分析图和过程设计语言
等工具进行描述,几种方法各有其长处和不同的适用范围,在实际工作中究竟采用哪一种工
具,需视具体的情况和设计者的习惯而定,我们将在下节介绍这几种方法,选用的基本原则
是能准确而简明的描述模块执行的细节。
在IPO图中,输入、输出数据来源于数据词典。
变量说明是指模块内部定义的变量,与系统
的其他部分无关,仅由本模块定义、存贮和使用。
备注是对本模块有关问题作必要的说明。
开发人员不仅可以利用IPO图进行模块设计,而且还可以利用它评价总体设计。
用户和管理
人员可利用IPO图编写、修改和维护程序。
因而,IPO图是系统设计阶段的一种重要文档资料。
2.流程图
流程图(flowchart)即程序框图,又称程序流程图。
它是用统一规定的标准符号描述程序执行
具体步骤的图形表示,是使用历史最久、流行最广的一种描述工具。
流程图包括三种基本成分:
(1)处理,用方框表示。
(2)判断条件,用菱形框表示。
(3)控制流,用箭头表示。
流程图表示的优点是直观形象,便于理解和掌握。
但从结构化程序设计的角度看,流程图不是
理想的表达工具,其缺点之一是表示控制的箭头过于灵活,若使用得当,流程图简单易懂,反
之,流程图可能非常难懂,而且无法维护;缺点之二是它只描述执行过程而不能描述有关数据。
使用图7.1所示的几种基本结构绘制的流程图,称为结构化流程图。
3.问题分析图
问题分析图(ProblemAnalysisDiagram,PAD)由日本日立公司二村良彦等人于1979年提出,是一种支持结构化程序设计的图形工具。
PAD也只有三种基本结构,如图7.2所示。
PAD图不仅逻辑结构清晰、图形标准,而且更重要的是它能引导人们使用结构化的程序设计方法,从而有利于提高程序的设计质量。
以PAD图为基础,按照机械的变换规则,就可以写成结构化的程序。
4.NS图
1983年,美国的I.Nassi和B.Sheiderman共同提出了一种不用GOTO语句、不需要流向线的结构化流程图,又称为盒图,它具有图7.3所示的基本结构。
在NS图中,每个处理步骤用一个盒子表示,盒子可以嵌套。
盒子只能从上头进入,从下头走
出,除此之外别无其它出入口,所以盒图限制了随意的控制转移,保证了程序的良好结构。
NS图的优点在于:
首先,它强制设计人员按结构程序设计方法进行思考和描述其方案,由NS图得到的程序必定是结构化的;其次,图像直观,容易理解设计意图,为编程、复查、测试、维护带来方便;最后,简单易学。
5.过程设计语言
过程设计语言(ProcedureDesignLanguage,PDL)是用来描述模块内部具体算法
的非正式且比较灵活的语言,其外层语法是确定的,而内存语法不确定。
外层语
法描述控制结构,用类似一般编程语言的保留字,所以是确定的。
内层语法不确
定,可以按系统的具体情况和不同层次灵活选用,实际上可以采用任意自然语句
来描述具体操作。
由于PDL与程序很相似,所以也称为伪程序或伪代码。
但它仅仅
是对算法的一种描述,是不可执行的。
与PAD等图形工具相比,PDL具有以下优点:
(1)同自然语言(英语)很接近,易于理解。
(2)易于被计算机处理并存储。
(3)可以从它自动产生程序。
它的不足之处在于它不如图形描述直观,对英语使用的准确性要求较高。
7.2.2处理过程设计原则
在进行模块的处理过程设计时,除了要满足某个具体模块的功能、输入和输出方
面的基本要求以外,还应考虑以下几个方面:
(1)模块间的接口要符合通信的要求。
(2)考虑将来实现时所用计算机语言的特点。
(3)考虑数据处理的特点。
(4)估计计算机执行时间不能超出要求。
(5)考虑程序运行所占的存贮空间。
(6)使程序调试跟踪方便。
(7)估计编程和上机调试的工作量。
在设计中还应重视数学模型求解过程的设计。
对于信息系统中常用的数学模型和方法,
通常都有较为成熟的算法,系统设计阶段应着重考虑这些算法所选定的高级语言的实
现问题。
7.3代码设计
任何信息系统中,信息的表示方法都是系统的基础。
任何信息都是通道一定的编码方式以代码的形式输入并储存在计算机中的。
一个信息系统如果有比较科学的、严谨的代码体系,可以使系统的质量得到很大的提高。
所谓代码,就是用来表征客观事物的实体类别和属性的一个或一组易于计算机识别和处理的特定符号,它可以是字符、数字、某些特殊符号或它们的组合。
7.3.1编码的目的
(1)标识作用
在现实世界中有很多事物如果不加标识是无法区分的,这时机器处理就十分困难。
所以能否将原来不能确定的事物,唯一地加以标识是编制代码的首要目的。
(2)统计和检索作用
按代码对事物进行排序、统计和检索,方便快捷,可以提高处理的精度。
(3)专用含义
当客观上需要采用一些专用符号时,代码可提供一定的专门含义,如数学运算的程序、分类对象的技术参数、性能指标等。
现代企业的编码系统已由简单的结构发展成为十分复杂的系统。
为了有效地推动计算机应用和防止标准化工作走弯路,国家十分重视制订统一编码标准的问题,并已颁布了一系列国家标准编码和行业标准编码。
在进行系统的代码设计时,应尽量采用相应的标准编码,需要企业自行编码的内容,也应该参照其他标准化分类和编码的形式来进行。
7.3.2代码的设计原则
合理的编码结构是信息系统是否具有生命力的一个重要因素,在代码设计时,应遵循以下原则。
(1)适用性
代码通常是由计算机进行存储和管理的数据,因此在设计时必须考虑要适应计算机处理。
(2)合理性
代码结构要与所描述的对象的分类体系相匹配。
(3)简单性
代码的设计要尽可能简单、明了,以便降低误码率,提高工作效率。
(4)系统性
是指代码可以分组,并有一定的分组规则,从而在整个系统中使代码具有通用性和一致性。
(5)稳定性
代码的定义和描述应具有相对稳定性,要避免过多的改动。
(6)可扩充性
必须留有一定的后备余量,以适应发展的需要。
(7)标准化
国际、国家和行业的有关标准是代码设计的重要依据,应尽量采用已标准化的编码,此外,系统内部使用的代码也应统一。
(8)便于识别和记忆
为了同时适合人和计算机,代码不仅要有逻辑含义,而且还应便于识别和记忆,对于一些容易混淆的字符和数字应少用。
7.3.3代码的种类
代码的种类是指代码的组合方式,典型代码的种类有以下几种:
(1)顺序码
顺序码又称系列码,它是一种用连续数字代表编码对象的码,例如,用1代表男性,2代表女性。
这类编码的优点是代码简短、易于管理、易于添加,对编码对象的顺序无特殊要求。
缺点是代码本身不给出有关编码的其他信息。
(2)区间码
区间码是把整个编码分成多个分组,形成多个区间,每个区间是一组,每组的码值和位置都代表一定意义。
典型的区间码是邮政编码。
区间码的优点是信息处理可靠,排序、分类、检索方便,但区间码有时会产生长码,码中还会产生多余码现象。
区间码又可分为以下各种类型:
1)多面码。
一个数据项可能具有多方面的特性。
如果在码的结构中,为这些特性各规定一个位置,就形成多面码。
2)上下关联区间码。
上下关联区间码由几个意义上相互有关的区间码组成,其结构一般由左向由排列。
3)十进制码。
此法相当于图书分类中沿用已久的十进制分类码,它是由上下关联区间码发展而成的。
如610.736,小数点左边的数字组合代表主要分类,小数点右边的指出子分类。
(3)自检码
自检码由原来的代码(本体部分)和一个附加码组成。
附加码用来检查代码的录入和转录过程中是否有差错,附加码又叫校验码,它和代码本体部分有某种唯一的关系,它是通过一定的数学算法得到的。
7.3.4代码的校验
代码作为代表事物名称或属性的符号是用户进行数据分类、统计、检索的一个重要接口,是用户输入计算机系统的重要内容之一,它的正确性直接影响到数据处理的质量。
为确保代码输入的正确性,人们利用在原有代码的基础上增加一个检验位的方法进行代码输入的校验,即通过事先规定的数学方法计算出校验位,使它成为代码的一个组成部分,当带有校验位的代码输入到计算机中时,计算机也利用同样的计算方法计算原代码的校验位,将其与输入的代码校验位进行比较,以检验是否正确。
利用增加校验位的方法校验代码可以检测出移位错(例如1234输入成1243)、双重移位错(例如1234输入成1432)、抄写错(例如1234输入成1235)及其他错误(包括以上两种或三种综合性错误等)。
产生校验位值的方法有多种,各具有不同有缺点。
通常根据使用设备的复杂程度或功能,以及应用要求的可靠性来决定采取哪种方法。
下面介绍比较常用的加权取余法。
假设原代码有n为:
C1C2C3…Cn
对应的权数因子为:
W1W2W3…Wn(权因子可以取自然数、几何级数或其他数列。
)
它们的乘积之和为:
S=W1C1+W2C2+W3C3+…+WnCn
对乘积之和取模,并算得余数:
R=SmodM
其中,R为余数,M为模数(通常选用11)。
将余数或模与余数之差作为校验码Cn+1,这样输入计算机的完整代码为C1C2C3…CnCn+1。
计算机利用以上方法计算前n位代码的校验位Bn+1,如果Cn+1=Bn+1则认为输入代码正确,否则认为输入代码有误。
7.4 人机界面设计
信息系统是由计算机硬件、软件和人共同构成的系统。
人与硬件、软件的交叉部分即构成人机
界面(Human-ComputerInterface,简称HCI),又称人机接口或用户界面。
更准确地说,人机界
面是由人、硬件和软件三者结合而成,缺一不可。
多数计算机系统工作一般经历如下过程。
(1)
(1) 通过系统运行提供软件形式的人机界面。
该界面向用户提供视觉形象、即显示和交互操作机
制。
(2)
(2) 用户应用知识、经验和人所固有的感知、思维、判断来获取人机界面信息,并决定所进行的
操作。
(3)计算机处理所接收的用户命令、数据等,并向用户回送响应信息或运行结果。
总之,人机界面是介于用户和计算机之间,是人与计算机之间传递、交换信息的媒介,是用户使
用计算机系统的综合操作环境。
通过人机界面,用户向计算机系统提供命令、数据等输入信息。
这些
信息经计算机系统处理后,又通过人机界面,把产生的输出信息回送给用户。
可见,人机界面的核心
内容包括显示风格和用户操作方式。
它集中体现了计算机系统的输入输出功能,以及用户对系统的各
个部件进行操作的控制功能。
人机界面的开发过程不仅需要计算机科学的理论和知识,而且需要认知心理学以及人机工程学、
语言学等学科的知识。
只有综合考虑人的认知及行为特性等因素,合理组织分配计算机系统所完成的
工作任务,充分发挥计算机硬件、软件资源的潜力,才能开发出一个功能性和使用性俱优的计算机应
用系统。
7.4.1用户的使用需求分析
用户需求包含功能需求和使用需求。
功能需求是用户要求系统所应具备的功用、性能,而使用需
求则是用户要求系统所应具备的可使用性、易使用性。
早期的系统较多强调功能性,而目前对大
量的非计算机专业用户而言,可使用性往往更重要。
这里我们以影响用户行为特性的因素为出发
点,讨论用户的使用需求分析。
(1)用户对计算机系统的要求
1)1) 让用户灵活地使用,不必以严格受限的方式使用系统。
为了完成人—机间的灵活对话,要求系
统提供对多种交互介质的支持,提供多种界面方式,用户可以根据任务需要及自己的特性,自由选择
交互方式。
2)2) 系统能区分不同类型的用户并适应他们,要求依赖于用户类型和任务类型,系统自动调节以适
3)3) 应
用户。
3)系统的行为及其效果对用户是透明的。
4)用户可以通过界面预测系统的行为。
5)系统能提供联机帮助功能,帮助信息的详细程度应适合用户的要求。
6)人—机交互应尽可能和人际通信相类似,要把人—机交互常用的例子、描述、分类、模拟和比较
等用于人—机交互中。
7)系统设计必须考虑到人使用计算机时的身体、心理要求,包括机房环境、条件、布局等,以使
用户能在没有精神压力的情况下使用计算机完成他们的工作。
(2)用户技能方面的使用需求
应该让系统去适应用户,对用户使用系统不提出特殊的身体、动作方面的要求,例如用户只要能
使用常用的交互设备(如键盘、鼠标器、光笔)等即能工作,而不应有任何特殊要求。
1)1) 用户只需有普通的语言通信技能就能进行简单的人—机交互。
目前人—机交互中使用的是易于
理解和掌握的准自然语言。
2)2) 要求有一致性的系统设计。
一致性系统的运行过程和运作方式很类似于人的思维方式和习惯,能
够使用户的操作经验、知识、技能推广到新的应用中。
3)3) 应该让用户能通过使用系统进行学习,提高技能。
最好把用户操作手册做成交互系统的—部分,
当用户需要时,有选择地进行指导性的解释。
4)系统提供演示及示例程序,为用户使用系统提供范例。
(3)用户习性方面的使用需求
1)1) 系统应该让在终端前工作的用户有耐心。
这一要求是和系统响应时间直接相关连的。
对用户操作
响应的良好设计将有助于提高用户的耐心和使用系统的信心。
2)2) 系统应该很好地对付易犯错误、健忘以及注意力不集中等习性。
良好的设计应设法减少用户错误的
发生,例如采用图形点击方式。
此外,必要的冗余长度、可恢复操作、良好的出错信息提示和出错处理等也
都是良好系统所必须具备的。
3)3) 应该减轻用户使用系统的压力。
系统应对不同用户提供不同的交互方式。
例如,对于偶然型和生疏
型用户可提供系统引导的交互方式,如问答式对话、菜单选择等。
对于熟练型或专家型用户提供用户引导
的交互方式,如命令语言、查询语言等。
而直接操纵图形的用户界面以其直观、形象化及与人们的思维方
式的一致性,更为各类用户所欢迎。
(4)用户经验、知识方面的使用需求
1)系统应能让未经专门训练的用户使用。
2)系统能对不同经验知识水平的用户做出不同反应,例如不同程序的响应信息、提示信息、出错信
息等。
3)提供同一系统,甚至不同系统间系统行为的一致性,建立起标准化的人—机界面。
4)系统必须适应用户在应用领域的知识变化,应该提供动态的自适应用户的系统设计。
总之,良好的人—机界面对用户在计算机领域及应用领域的知识、经验不应该有太高要求。
相反,
应该对用户在这两个领域的知识、经验变化提供适应性。
(5)用户对系统的期望方面的需求
1)用户界面应提供形象、生动、美观的布局显示和操作环境,以使整个系统对用户更具吸引力。
2)系统决不应该使用户失望,一次失败可能使用户对系统望而生畏。
良好的系统功能和人—机界面
会使用户乐意把计算机系统当成用户完成其任务的工具。
4)4) 系统处理问题应尽可能简单,并提供系统学习机制,帮助用户集中精力去完成其实际工作,减少
用户操作运行计算机系统的盲目性。
以上从针对影响用户行为特性的人文因素为出发点,分析了与其相关的用户使用需求。
它带有一般
性,而不局限于某个具体的应用系统。
但对不同的应用系统可能还会有特殊的使用需求,应该在应用系
统的分析与设计时予以考虑。
7.4.2人机界面的设计原则
设计一个友好的用户界面应遵循以下原则:
1.用户针对性原则
用户针对性原则指的是在明确用户类型的前提下有针对性地设计人机界面。
明确用户类型是指界定
使用系统的用户(最终用户),它是人机界面设计的首要环节。
根据用户经验、能力和要求的不同,可以
将其分为偶然型用户、生疏型用户、熟练型用户和专家型用户等类型。
对于前两类用户,要求系统给出
更多的支持和帮助,指导用户完成其工作。
而对于熟练型用户特别是专家型用户,要求系统有更高的运
行效率,使用更灵活,而提示或帮助可以减少。
2.尽量减少用户的工作
在分派人机系统各个体所应完成的任务时,应该让计算机更积极、更主动、更勤劳,做更多的工作,
而让人更轻松、更方便,尽可能少做工作。
人机界面越完美、形象、易用,用户就能以更少的脑力及体
能完成所应完成的工作。
3.应用程序与人机界面相分离
应用程序与人机界面相分离的思想类似于数据库管理系统中数据和应用程序的分离。
数据的存储、
查询、管理可由专用软件即数据库管理系统完成,应用程序不再考虑系统中与数据管理相关的细节工
作,而将精力集中于应用功能的实现上。
在人机交互系统中,也同样可以把人机界面的功能,包括人
机界面的布局、显示、用户操作等由专门的用户界面管理系统完成,应用程序不再管理人机交互功能,
也不与人机界面编码混杂在一起。
应用程序设计者致力于应用功能的开发,
界面设计者致力于界面开发。
人机界面和应用程序的分离可使应用程序简单化和专用化。
4.人机界面一致性
人机界面的一致性主要是指输入和输出方面的一致性,具体是指在应用程序的不同部分,甚至是在
不同应用程序之间,要具有相似的界面外观和布局,具有相似的人机交互方式及相似的信息显示格式等。
一致性原则有助于用户学习和掌握系统操作,减少用户的学习量和记忆量。
5.系统反馈及时性
人机交互系统的反馈是指用户从计算机方得到的信息,它表示计算机对用户的操作所作的反应。
如果系统没有反馈,用户就无法判断其操作是否为计算机所接受、操作是否正确、操作的效果如何。
反馈信息可以以多种方式呈现,如响铃提示出错,高亮度提示选择等。
如果执行某个功能或命令需
要较长的时间时,则应给出相应的提示信息。
6.尽量减少用户记忆
用户在操作计算机时,总需要一定量的存于大脑中的知识和经验即记忆的提取。
一个界面良好
的系统应该尽量减少用户的记忆要求。
对话、多窗口显示、帮助等形式都可减少用户的记忆要求。
7.及时的出错处理及帮助功能
系统应该能够对可能出现的错误进行检测和处理。
出错信息包含出错位置、出错原因及修改出错
建议等方面的内容,出错信息应清楚、易理解。
良好的系统还应能预防错误的发生,例如应该具备保
护功能,防止因用户的误操作而破坏系统的运行状态和信息存储。
此外,系统应提供帮助功能,帮助
用户学习使用系统。
帮助信息应该在用户出现操作困难时随时提供。
帮助信息可以是综合性的内容介
绍,也可以是与系统当前状态相关的针对性信息。
8.使用图形
图形具有直观、形象、信息量大等优点,使用图形作为人机界面可使用户操作及信息反馈可视、
逼真。
7.4.3图形用户界面
一般来说,用户都喜欢用点击设备(如操纵杆、轨迹球、光笔、触摸屏、鼠标等)来操作计算机系
统。
用户通过点击系统屏幕上的各种控件来完成系统信息输入(包括指令和数据)。
各种控件是用户与
计算机通信的接口,这些控件包括命令按钮、单选框、复选框、文本框、列表框、表格和网格、滑动
框、树形列表等。
通常来说,屏幕上
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第七章 详细设计 第七 详细 设计