第六章GIS软件工程的详细设计_第1页
第六章GIS软件工程的详细设计_第2页
第六章GIS软件工程的详细设计_第3页
第六章GIS软件工程的详细设计_第4页
第六章GIS软件工程的详细设计_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章GIS软件工程的详细设计GIS软件工程的详细设计详细设计1用户界面设计2

标准化设计3详细设计:又称为过程设计,其任务是根据总体设计方案确定的目标和阶段开发计划,紧密结合特定的硬件、基础软件和规范标准,进行子系统和数据库的详细设计,用于具体指导系统的开发。

详细设计的基本任务一.处理方式设计

1.数据结构设计

对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。

2.算法设计

用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。3.性能设计

确定为满足软件系统的性能需求所必需的算法和模块间的控制方式。二.物理设计对数据库进行物理设计,即确定数据库的物理结构。三.可靠性设计

简单说:使程序和文档中的错误尽量少。四.其他设计

(1)代码设计:为了提高数据的输入、分类、存储及检索等操作的效率,以及节约内存空间,对数据库中的某些数据项的值要进行代码设计。(2)输入/输出格式设计。

(3)人机对话设计:对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、内容及格式的具体设计。

五.编写详细设计说明书及评审

(1)引言:包括编写目的、背景、定义、参考资料。

(2)程序系统的组织结构。

(3)程序(标识符)设计说明:包括功能、性能、输入、输出、算法、流程逻辑、接口。对处理过程的算法和数据库的物理结构都要评审。详细设计方法详细设计的目标不仅是逻辑上正确地实现每个模块的功能,还应使设计出的处理过程清晰易读。结构化程序设计方法有以下几个基本要点。1.采用自顶向下、逐步求精的程序设计方法。2.使用三种基本控制结构构造程序。3.主程序员的组织形式。

过程设计语言(PDL)程序流程图判定表盒图(N-S图)PAD图详细设计的工具

程序流程图(PFG,ProgramFlowGraph)又称为程序框图,它是历史最悠久使用最广泛的描述软件设计的方法,然而它也是用得最混乱的一种方法。1程序流程图(3)先判定型循环结构(while-loopstructure)(1)顺序结构(sequentialstructure)(2)选择结构(selectivestructure)ABPBAFT(4)后判定型循环结构(until-loopstructure)TPSFFSTP(5)多情况选择(casestructure)TA1FP=1TA2FP=2…TAnFP=n1程序流程图1程序流程图例子程序流程图常用符号1程序流程图循环的标准符号注解的使用1程序流程图多出口判断1程序流程图主要优点:

对控制流程的描绘很直观,便于初学者掌握。主要缺点:

1.程序流程图本质不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。

2.程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。

3.程序流程图不易表示数据结构。1程序流程图2盒图(N_S图)出于要有一种不允许违背结构程序设计精神的图形工具的考虑,Nassi和Shneider-man提出了盒图,又称为N_S图。也叫做盒图。五种基本控制结构由五种图形构件表示。2盒图(N_S图)示例2盒图(N_S图)N-S图的嵌套定义形式2盒图(N_S图)x4TFDo-Untilx5ighfkx1TFbDo-Untilx6ajx21cDo-Whilex323dek:2盒图(N_S图)特点:①没有箭头,不允许随意转移控制;②每个矩形框(Case中条件取值例外)都是一个功能域(即一个特定结构的作用域),结构表示明确;③局部及全程数据的作用域易见;④易表现嵌套关系(embeddedstructure)以及模块的层次结构。2盒图(N_S图)PAD(ProblemAnalysisDiagram)3PAD图

PAD描述的示例3PAD图开始结束aj

Untilx5i

Untilx6bx1kfx4ghdefkx2de123

Whilex3cDef格式3PAD图N-S图与PAD的转换x4TFDo-Untilx5ighfkx1TFbDo-Untilx6ajx21cDo-While

x323dek:3PAD图PAD特点:①结构清晰,层次分明,易读;②支持逐步求精的设计思想;③容易将PAD自动转换为高级语言源程序。3PAD图判定表&判定树(DecisionTable&Tree)表示复杂的条件(input)组合与应做动作(output)之间的对应关系。

4判定表&判定树西南科技大学(1)年交易额在5万或5万以下,则不给予折扣;(2)对于年交易额在5万以上时:如果无欠款,则给予15%的折扣;如果有欠款,而且与本公司的交易关系在20年以上,则折扣为10%;如果有欠款,而且与本公司交易关系在20年以下,则折扣为5%。

订货折扣逻辑描述如下:4判定表&判定树订货处理优惠待遇年交易额5万以上年交易额5万或以下无欠款有欠款交易20年以上交易20年以下15%10%5%0%判定树4判定表&判定树条件及行动12345678条件组合C1:交易额5万以上C2:无欠款C3:交易20年以上行动A1:折扣率15%A2:折扣率10%A3:折扣率5%A4:折扣率0%YYYYNNNNYYNNYYNNYNYNYNYN判断表4判定表&判定树PDL是一种用于描述功能模块的算法设计和加工细节的语言。称为设计程序用语言。它是一种伪码。伪码的语法规则分为“外语法”和“内语法”。PDL具有严格的关键字外语法,用于定义控制结构和数据结构,同时表示实际操作和条件的内语法可使用自然语言的词汇。5过程设计语言(PDL)PDL(ProgramDesignLanguage)又称Pseudocode1)顺序结构采用自然语言描述顺序结构:处理S1

处理S2…

处理Sn

程序结构

用PDL表示的程序结构一般有下列几种结构。5过程设计语言(PDL)a.IF-ELSEIF条件

处理S1或ELSE处理SENDIFb.IF-ORIF-ELSE结构:

IF条件1

处理S1ORIF条件2

. . .ELSE

处理Sn

ENDIF2)选择结构5过程设计语言(PDL)c.CASE结构:

CASEOFCASE(1)

处理S1CASE(2)

处理S2…ELSE处理Sn

ENDCASE5过程设计语言(PDL)

3)重复结构

(1)FOR结构:

FORi=1TOn

循环体

ENDFOR(2)WHILE结构:

WHILE条件循环体

ENDWHILE(3)UNTIL结构:

REPEAT

循环体

UNTIL条件5过程设计语言(PDL)

4)扩充结构

a模块定义:

PROCEDURE模块名(参数)…RETURNENDb模块调用:

CALL模块名(参数)c数据定义:

DECLARE属性变量名,…5过程设计语言(PDL)属性有:字符、整型、实型、双精度、指针、数组及结构等类型。

d输入/输出:

GET(输入变量表)PUT(输出变量表)3.PDL应用示例现以××系统主控模块详细设计为例,说明如何用PDL来描述。

PROCEDURE

MainMod()

清屏;5过程设计语言(PDL)显示××系统用户界面;

PUT(“请输入用户口令:”);

GET(password);IFpassword<>系统口令提示警告信息;退出运行

ENDIF

显示本系统主菜单;

WHILE(true)

接收用户选择ABC;

IFABC=“退出”5过程设计语言(PDL)

Break;ENDIF

调用相应下层模块完成用户选择功能;

ENDWHILE;

清屏;

RETURNEND5过程设计语言(PDL)PDL有以下优点:

(1)提供的机制较图形全面,为保证详细设计与编码的质量创造了有利条件。(2)可作为注释嵌入在源程序中一起作为程序的文档,并可同高级程序设计语言一样进行编辑、修改,有利于软件的维护。(3)可自动生成程序代码,提高软件生产率。目前已有PDL多种版本(如PDL/pascal,PDL/C,PDL/Ada等),为自动生成相应代码提供了便利条件。5过程设计语言(PDL)PDL的缺点1.不如图形工具形象直观;2.描述复杂的条件组合与动作间的对应关系时,不如判定表清晰简单。5过程设计语言(PDL)用户界面好比商品的包装、橱窗的布置,给用户一个直观的印象。因此,用户界面设计的好坏,影响到用户对系统的态度,决定了系统能否被用户接受,进而影响到系统的应用和推广。友好的用户界面,是GIS成功的条件之一。用户界面设计原则:

1操作简单、自动化程度高,尽可能减少用户的操作,如提供列表框选择代替数据输入;2.在同一系统中,界面应始终保持同一种形式和风格,如菜单选择、命令输入、数据显示和其他功能;术语、符号等标准化,如GIS中的放大、缩小、漫游等按钮都有固定的符号,尽可能采用标准的或通用的符号;3.提供操作提示和联机帮助功能,在对话框中提供操作提示,系统有帮助菜单并有详细内容;操作提示4.快速的系统相应和低的系统成本;5.对操作错误提供错误信息,不会因用户的操作错误出现死机现象,具有容错能力;

6.提供系统运行信息和响应信息,系统在处理运行过程中,应改变鼠标的显示形式,如处理时间超过10秒,应显示进程条,运行结束后应有响应信息,如屏幕显示发生变化,或显示处理结束窗口;7.用户可以根据需要制定和修改界面方式,允许用户对界面的显示形式进行修改,如放大、缩小窗口;8.关键操作要有强调和警告,能保证有关程序和数据的安全性,当涉及删除图层等操作时,需要出现一个确认窗口,窗口提示“是否确认删除?”等信息以及“是”、“否”和“取消”三个按钮,只有当用户明确回答这个问题以后,才能继续工作;警告对话窗口负责传送一条警告,它提醒用户注意一些危险操作(如可能丢失数据等),并提供“忽略”和“停止”两个按钮;9.允许动作的可逆性(提供undo功能),对大多数操作应允许恢复(UNDO);10.按功能分类组织界面上的活动,对菜单项、按钮等按照功能进行组织分割;11.提供缺省选择,需要用户进行选择时,以最有可能的选择作为缺省选择。12提高对话、移动和思考的效率。应该尽量减少用户击键的次数,设计屏幕布局时应该考虑尽量减少鼠标移动的距离,应该尽量避免出现用户问“这是什么意思?”的情况。13允许犯错误。系统应该能保护自己不受严重错误的破坏。

14高效率地使用显示屏。当使用多窗口时,应该有足够的空间使得每个窗口至少都能显示出一部分。此外,屏幕大小应该选得和应用系统的类型相配套(这实际上是一个系统工程问题)。

15数据输入控制(1)尽量减少用户的输入动作。(2)保持信息显示和数据输入之间的一致性。(3)允许用户自定义输入。(4)交互应该是灵活的,并且可调整成用户最喜欢的输入方式。(5)使在当前动作语境中不适用的命令不起作用。(6)让用户控制交互流。(7)对所有输入动作都提供帮助(8)消除冗余的输入。GIS软件的基本界面样式1基于命令行的GIS界面2基于窗口的界面3菜单驱动的GIS界面4基于对话框的界面5采用数据流图的GIS用户界面不可用的按钮是disable而不是notvisibe。完成相同或相近功能的按钮用GoupBox框起来,常用按钮要支持快捷方式。完成同一功能或任务的元素放在集中位置,减少鼠标移动的距离。

按功能将界面划分局域块,用GoupBox框括起来,并要有功能说明或标题。界面要支持键盘自动浏览按钮功能,即按Tab键的自动切换功能。1.易用性

默认按钮要支持Enter选定及鼠标选择操作,即按Enter后自动执行默认按钮对应操作。

可写控件检测到非法输入后应给出说明并能自动获得焦点。

Tab键的顺序与控件排列顺序要一致,总体遵守从上到下,同时行间从左到右的方式。

复选框和选项框要有默认选项,并支持Tab键选择。

界面空间较小时使用下拉框而不用选项框。

选项数较少时使用选项框,相反使用下拉列表框。

专业性强的软件要使用相关的专业术语,通用性界面则提倡使用通用性词语。2.规范性

通常界面设计都按Windows界面的规范来设计。

小型软件可以不提供工具栏。

常用菜单要有命令快捷方式。

完成相同或相近功能的菜单用横线隔开放在同一位置。

菜单前的图标能直观的代表要完成的操作。

菜单深度一般要求最多控制在三层以内。

工具栏要求可以根据用户的要求自己选择定制。

相同或相近功能的工具栏放在一起。

工具栏中的每一个按钮要有及时提示信息。工具栏太多时可以考虑使用工具厢。

状态条要能显示用户切实需要的信息,常用的有:目前的操作、系统状态、用户位置、用户信息、提示信息、错误信息,如果某一操作需要的时间较长,应该显示进度条和进程提示。滚动条的长度要根据显示信息的长度或宽度能及时变换,以利于用户了解显示信息的位置和百分比。

菜单和工具条要有清楚的界限;

菜单要求凸出显示,这样在移走工具条时仍有立体感。

菜单和状态条中通常使用5号字体。工具条一般比菜单要宽,但不要宽的太多,否则看起来很不协调。

右键快捷菜单采用与菜单相同的准则。

3.帮助设施

操作时要提供及时调用系统帮助的功能。常用的热键是F1。

帮助要有即时针对性,在界面上调用帮助时应该能够及时定位到与该操作相对的帮助位置。

用户可以用关键词在帮助索引中搜索所要的帮助,当然也应该提供帮助主题词。

在帮助中应该提供我们的技术支持方式,一旦用户难以自己解决可以方便的寻求新的帮助方式。4.合理性屏幕对角线相交的位置是用户直视的地方,正上方四分之一处为易吸引用户注意力的位置,在放置窗体时要注意利用这两个位置。父窗体或主窗体的中心位置应该在对角线焦点附近。子窗体位置应该在主窗体的左上角或正中。多个子窗体弹出时应该依次向右下方偏移,以显示窗体出标题为宜。重要的命令按钮与使用较频繁的按钮要放在界面上注目的位置。错误使用容易引起界面退出或关闭的按钮不应该放在易点位置。横排开头或最后与竖排最后为最佳位置。

5.美观与协调性统一色调,针对软件类型以及用户工作环境选择恰当色调。长宽比或宽长比接近黄金点比例,切忌长宽比例失调。布局要合理,不宜过于密集,也不能过于空旷,合理的利用空间。相邻或同组的按钮大小相同,同界面上所有的按钮高度相同。按钮的大小要与界面的大小和空间要协调。

大型系统常用的主色有“#E1E1E1”、“#EFEFEF”、“#C0C0C0”等。鼠标光标样式统一,尽量使用系统标准。如果窗体支持最小化和最大化或放大时,窗体上的控件也要随着窗体而缩放;切忌只放大窗体而忽略控件的缩放。对于含有按钮的界面一般不应该支持缩放,即右上角只有关闭功能。

红色的色感温暖,性格刚烈而外向,是一种对人刺激性很强的色。红色容易引起人的注意,也容易使人兴奋、激动、紧张、冲动、还是一种容易造成人视觉疲劳的色。

1、在红色中加入少量的黄,会使其热力强盛,趋于躁动、不安。

2、在红色中加入少量的蓝,会使其热性减弱,趋于文雅、柔和。

3、在红色中加入少量的黑,会使其性格变的沉稳,趋于厚重、朴实。

4、在红中加入少量的白,会使其性格变的温柔,趋于含蓄、羞涩、娇嫩。

黄色的性格冷漠、高傲、敏感、具有扩张和不安宁的视觉印象。黄色是各种色彩中,最为娇气的一种色。只要在纯黄色中混入少量的其它色,其色相感和色性格均会发生较大程度的变化。

1、在黄色中加入少量的蓝,会使其转化为一种鲜嫩的绿色。其高傲的性格也随之消失,趋于一种平和、潮润的感觉。

2、在黄色中加入少量的红,则具有明显的橙色感觉,其性格也会从冷漠、高傲转化为一种有分寸感的热情、温暖。

3、在黄色中加入少量的黑,其色感和色性变化最大,成为一种具有明显橄榄绿的复色印象。其色性也变的成熟、随和。

4、在黄色中加入少量的白,其色感变的柔和,其性格中的冷漠、高傲被淡化,趋于含蓄,易于接近。

蓝色的色感冷嘲热讽,性格朴实而内向,是一种有助于人头脑冷嘲热讽静的色。蓝色的朴实、内向性格,常为那些性格活跃、具有较强扩张力的色彩,提供一个深远、广埔、平静的空间,成为衬托活跃色彩的友善而谦虚的朋友。蓝色还是一种在淡化后仍然似能保持较强个性的色。如果在蓝色中分别加入少量的红、黄、黑、橙、白等色,均不会对蓝色的性格构成较明显的影响力。

1、如果在蓝色中黄的成份较多,其性格趋于甜美、亮丽、芳香。

2、在蓝色中混入小量的白,可使蓝色的知觉趋于焦躁、无力。

绿色是具有黄色和蓝色两种成份的色。在绿色中,将黄色的扩张感和蓝色的收缩感相中庸,将黄色的温暖感与蓝色的寒冷感相抵消。这样使得绿色的性格最为平和、安稳。是一种柔顺、恬静、潢足、优美的色。

1、在绿色中黄的成份较多时,其性格就趋于活泼、友善,具有幼稚性。

2、在绿色中加入少量的黑,其性格就趋于庄重、老练、成熟。

3、在绿色中加入少量的白,其性格就趋于洁净、清爽、鲜嫩。

紫色的明度在有彩色的色料中是最低的。紫色的低明度给人一种沉闷、神秘的感觉。

1、在紫色中红的成份较多时,其知觉具有压抑感、威胁感。

2、在紫色中加入少量的黑,其感觉就趋于沉闷、伤感、恐怖。

3、在紫色中加入白,可使紫色沉闷的性格消失,变得优雅、娇气,并充满女性的魅力。

6.菜单菜单位置按照按功能来组织。菜单通常采用“常用--主要--次要--工具--帮助”的位置排列,符合流行的Windows风格。常用的有“文件”、“编辑”,“查看”等,几乎每个系统都有这些选项,当然要根据不同的系统有所取舍。下拉菜单要根据菜单选项的含义进行分组,并切按照一定的规则进行排列,用横线隔开。一组菜单的使用有先后要求或有向导作用时,应该按先后次序排列。

六、白色的色感光明,性格朴实、纯洁、快乐。白色具有圣洁的不容侵犯性。如果在白色中加入其它任何色,都会影响其纯洁性,使其性格变的含蓄。

1、在白色中混入少量的红,就成为淡淡的粉色,鲜嫩而充满诱惑。

2、在白色中混入少量的黄,则成为一种乳黄色,给人一种香腻的印象。

3、在白色中混入少量的蓝,给人感觉清冷、洁净。

4、在白色中混入少量的橙,有一种干燥的气氛。

5、在白色中混入少量的绿,给人一种稚嫩、柔和的感觉。

6、在白色中混入少量的紫,可诱导人联想到淡淡的芳香。

菜单前的图标不宜太大,与字高保持一直最好。主菜单的宽度要接近,字数不应多于四个,每个菜单的字数能相同最好。主菜单数目不应太多,最好为单排布置。没有顺序要求的菜单项按使用频率和重要性排列,常用的放在开头,不常用的靠后放置;重要的放在开头,次要的放在后边。7.独特性

a安装界面上应有单位介绍或产品介绍,并有自己的图标。

b主界面,最好是大多数界面上要有公司图标。

c登录界面上要有本产品的标志,同时包含公司图标。

d帮助菜单的“关于”中应有版权和产品信息。

e公司的系列产品要保持一直的界面风格,如背景

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论