设计规范JSHINETSPITSStdDesignV10Word文件下载.docx
《设计规范JSHINETSPITSStdDesignV10Word文件下载.docx》由会员分享,可在线阅读,更多相关《设计规范JSHINETSPITSStdDesignV10Word文件下载.docx(33页珍藏版)》请在冰点文库上搜索。
3界面设计规范6
3.1界面设计原则6
3.2界面资源设计8
3.3界面容错性设计13
3.4界面响应设计13
3.5界面术语设计14
4模块设计规范15
4.1说明15
4.2设计模式15
4.3概要/详细设计说明书16
5类设计规范18
5.1说明18
5.2包18
5.3接口18
5.4类18
5.5类图18
5.6协作图(序列图)19
5.7活动图19
5.8应交文档20
1.总体设计规范
1.1说明
【1.1.1】总体设计可选(因为总体设计中的很多内容已经在方案书或者需求分析书中反映),一个项目是否需要写总体设计在立项时根据项目类别的不同决定,但其中的接口设计、通用功能设计、目录结构、开发规范部分内容必须给出(可以给出单独文档)。
【1.1.2】总体设计是回答“系统怎么做”的问题。
【1.1.3】总体设计在系统设计过程中起着承上启下的作用,一方面总体设计是对需求分析的整合,从整个系统的高度描述各子系统或者模块之间的关系;
另一方面总体设计给出了系统将采用的环境(硬件、网络、系统软件)、系统构架、技术指标和拟采用的技术路线,是下一步模块设计中必须考虑的约束条件。
【1.1.4】个系统的总体设计一般只有一份,形成《总体设计书》。
1.2总体设计书
【1.2.1】总体设计书主要包括以下内容:
Ø
系统架构
⏹网络构架:
用网络拓扑图的方式描述整个系统的网络构架(intranet/extranet/internet)和数据传输的物理条件,说明可能存在的主机和网络瓶颈,分析主机和网络方面的风险;
⏹应用构架:
分层描述整个软件系统的逻辑结构,一般包括系统层、平台层、业务逻辑层、表示层等,各层采用的系统软件和第三方软件、平台依赖性以及开发技术;
分析软件系统构架方面的风险;
⏹模块构成:
将整个系统划分成若干个模块,再由不同的模块组成不同的子系统,如果系统较小,可以没有子系统;
⏹界面框架设计:
设计主要界面的原型,一般分成登录界面、模块选择界面、主界面三层。
接口设计
⏹外部接口:
包括用户界面、软件接口与硬件接口;
⏹内部接口(模块之间的接口):
描述模块之间调用的具体实现方法,给出模块之间调用的接口以及应该注意的各种约束和规则,如果两两模块之间调用的方法基本类似,可以举一个实际的例子加以说明,其他接口类似;
接口设计难以用某一种特定的图形表示,可以用UML构件图结合表格的方式描述,参见“附6”;
⏹数据接口:
描述子系统之间或者模块之间的数据流和调用关系,可以视情况用一个或者一组图进行描述,建议采用UML的方式表示,参见“附13”;
数据结构设计
⏹逻辑结构设计:
应用模块的逻辑架构;
⏹物理结构设计:
包括系统环境、数据库设计规范、数据库安全性设计、优化策略、管理和维护等内容,也可以提交单独文档;
⏹数据结构与程序的关系:
在程序设计时需要注意的问题。
开发规范
⏹通用功能设计:
包括系统中可能会用到的通用组件、通用类、通用数据库对象、通用界面框架等等及其详细说明,能够采用公司组件库的尽量采用组件,并且对哪些地方怎样使用公司的哪些组件进行明确说明;
⏹开发约定:
制定项目开发过程中的各类约定和规范,在本规范的基础上根据项目的实际情况进行扩展和补充,可以单独成文《项目开发约定》,参见“附14”;
⏹技术架构:
在公司统一技术架构的基础上根据项目实际情况进行扩展,但总体上必须和公司的技术架构保持一致,公司统一的技术架构参见“附22”;
⏹目录结构:
给出整个系统的目录结构,一般细化到模块一级,模块以下的目录结构在模块设计中描述;
目录规范参见“附15”;
⏹配置说明:
◆环境说明:
开发环境、运行环境和测试环境的详细说明(主机、系统软件、工具包以及版本号);
◆配置文件:
系统中包含的配置文件以及各个配置文件的具体作用、存放目录以及维护方法。
风险分析:
⏹风险识别与评估:
首先描述用户提出的技术指标和性能要求,分析采用当前技术路线时存在的风险,给出拟采用的解决方法;
⏹风险对策:
如风险管理计划、风险控制策略等。
维护设计:
说明为方便维护工作的设施,如维护模块等。
附录
其他需要项目团队成员遵守的约定、编码表、标准化等。
1.3项目开发约定
【1.3.1】《项目开发约定》主要包括以下内容:
项目开发约定:
规定项目团队中各种角色之间的分工、职责和关系。
参见“附14”;
模块设计约定/数据库约定/编程约定:
在对应规范的基础上结合项目实际情况进行扩展;
业务约定:
各类通用的功能、通用业务规则、通用类或处理方法、项目开发约定等。
在总体设计阶段可能难以考虑十分齐全,可以在项目进展过程中不断补充和完善。
2.数据库设计规范
【2.1】数据库设计相对比较复杂,并且不同的数据库也有很大的差别,难以制定统一的规范,这里给出公司常用的Oracle数据库的推荐规范,供设计人员参考,具体可由项目经理/开发经理根据实际情况进行扩充和完善。
【2.2】数据库设计的SQL语句范例参见附19。
【2.2】取系统时间,统一用数据库时间
【范例】
selectsysdatefromdual
【2.3】表空间管理应该注意以下几点:
用户表空间、索引表空间、临时表空间对应的数据文件分开不同的磁盘存放,以平衡I/O;
用户表空间和临时表空间采用managementlocal方式管理,提高运算效率;
临时表空间使用关键字tempfile创建,提高效率。
【2.4】数据库对象(表、列、视图、存储过程等等)全部采用英文(可以是能表达含义的缩写),并采用驼峰命名法。
【2.5】五类数据库约束:
主键(pk——primarykey)、外键(fk——foreignkey)、唯一键(uk——uniquekey)、非空键(nn——notnull)和检查键(ck——check),非空键和检查键可以不进行命名,前三者必须进行命名,命名采用前缀+表名后半部分的方式,如果出现重复,用1,2,3…区别。
表名约束名
t_funeral_body_infopk_body_info
t_ash_block_layerpk_block_layer
fk_block_layer1
fk_block_layer2
uk_block_layer
【说明】
由于主键和唯一键在创建时,Oracle自动创建唯一索引,考虑数据库性能需将索引表空间和数据表空间分开,因此在主键和唯一键的创建语句中需加上”usingindextablespaceindx”。
【2.6】建议各项目建立统一的数据字典表对表(中英文名)和列(中英文名、数据类型、数据长度)进行维护(也可以采用comment关键字存入Oracle数据库本身的数据字典表)。
将表和列的信息作为记录保存到表t_table_dict和t_column_dict中去,以利于界面数据库表和字段的选择,建议表名和字段名采用大写。
【2.7】为了提高数据库性能,便于管理和备份,不同的产品(模块)建立不同的数据库用户,数据库用户名作为表名的前缀。
办公自动化模块:
oa/oa,表名前缀:
t_oa
档案管理模块:
archive/archive,表名前缀:
t_archive
【2.8】模块之间的相互调用通过授权(推荐)和建同义词的方式进行。
办公自动化模块需要调用档案管理模块t_archive_paper_file表,则
connectarchive/archive
grantselectont_archive_paper_filetopublic;
createpublicsynonymt_archive_paper_filefort_archive_paper_file;
【2.9】为了实现对编码表的统一维护,通用编码表加上表名前缀:
t_code,各模块专用的编码表放在各自的用户下,第二级前缀为_code,编码至少包括两个字段(code和name),名字必须一致。
createtablet_code_unit(
codevarchar2(4)constraintpk_code_unitprimarykey
usingindextablespaceindx,
namevarchar2(40)notnull
);
【2.10】各模块的临时表加上第二级前缀_temp,所有表的备份表(表中所有记录的完整备份),在表名的后面加后缀_bak;
【2.11】不需要在界面上出现的流水号尽量采用序列号。
selects_sequence.nextvalfromdual
【2.12】考虑到程序处理的方便性和系统的可移植性,尽量不要采用CLOB/BLOB类型的字段,建议采用保存文本文件的方式代替;
【2.13】日期类型字段没有特殊情况必须采用date类型,而不要采用varchar类型;
所有字符类型都用varchar2表示;
【2.14】数字类型字段统一采用number类型,而不要用integer、long等类型,能够确定数字型长度的尽量写上;
【2.15】当一个业务表中包含CLOB/BLOB类型字段时,需将该字段单独放在另外一个表中保存,通过主键关联;
【2.16】一个用户下的表最好控制在200个之内,一个表中的字段最好控制在50个之内。
3.界面设计规范
3.1界面设计原则
3.1.1直观原则
【3.1.1.1】界面直观、对用户透明:
用户接触软件后对界面上对应的功能一目了然、不需要多少培训就可以方便使用本应用系统,网站内容必须是容易找。
【3.1.1.2】一般来说,超过3级链接用户寻找起来就有些困难了,界面层次尽量控制在两级之内。
【3.1.1.3】用户界面应当由用户来控制应用如何工作、如何响应,而不是由开发者按自己的意愿把操作流程强加给用户。
【3.1.1.4】界面设计必须经过确认才能完成。
【3.1.1.5】界面上的语言尽量通俗易懂,详细设计请参考后面“界面术语规范”。
3.1.2一致性原则
【3.1.2.1】在界面设计中应该保持界面的一致性。
【3.1.2.2】一致性既包括使用标准的控件,也指使用相同的信息表现方法,如在字体、标签风格、颜色、术语、显示错误信息等方面确保一致。
【3.1.2.3】公司的系列产品要保持一致的界面风格,背景色、字体、菜单排列方式、图标、安装过程、按钮用语等应该大体一致:
统一的对齐方法:
⏹左对齐:
一般文字、单个数字、日期等
⏹右对齐:
数字、时间、日期加时间。
统一的字体和颜色:
⏹中文:
FontName=“宋体”,FontSize=9;
⏹英文:
FontName=“MSSansSerif”,FontSize=10;
⏹显示的缺省颜色为黑色;
⏹极为重要的提示信息的显示可采用红色(需经项目负责人批准);
⏹同一窗口中不要用超过三种颜色;
⏹其他特殊字体(包括粗体,斜体和下划线)和颜色的选用需经项目负责人批准。
底色缺省采用灰色;
统一的控件样式;
统一的界面布局方式;
统一的图标。
3.1.3合理化原则
【3.1.3.1】在一个窗口内部所有控件的布局和信息组织的合理化原则就是:
使用户的工作量减小,工作效率提高。
如:
如何才能让用户用最少的步骤,完成一项操作。
【3.1.3.2】合理化原则需要注意以下几点:
在一个窗口中按tab键,移动聚焦的顺序不能杂乱无章,tab
的顺序是先从上至下,再从左至右;
一屏中首先应输入的和重要信息的控件在tab顺序中应当靠前,位置也应放在窗口上较醒目的位置;
错误使用容易引起界面退出或关闭的按钮不应该放在易点位置。
横排开头或最后与竖排最后为易点位置;
对可能造成数据无法恢复的操作必须提供确认信息,给用户放弃选择的机会;
非法的输入或操作应有足够的提示说明;
对运行过程中出现问题而引起错误的地方要有提示,让用户明白错误出处,避免形成无限期的等待;
提示、警告、或错误说明应该清楚、明了、恰当。
3.1.4鼠标键盘对应原则
【3.1.4.1】应遵循的是“可不用鼠标”的原则:
应用中的功能只用键盘也应当可以完成,即设计的应用中还应加入一些必要的按钮和菜单项。
3.1.5美观与协调性原则
【3.1.5.1】界面设计中必须突出美观与协调性,虽然每一个人对美观的理解不一样,但一些通用的规范性原则是可以借鉴的。
例如:
用符号突出特别重要的内容,不要过多,保持页面的简洁;
布局界面元素(WEB界面是指HTML元素)后界面不应有很大的空缺位置;
字体的大小要与界面的大小比例协调,通常使用的字体中宋体9-12较为美观,很少使用超过12号的字体;
前景与背景色搭配合理协调,反差不宜太大,最好少用深色,如大红、大绿等。
常用色考虑使用Windows界面色调;
如果使用其他颜色,主色要柔和,具有亲和力与磁力,坚决杜绝刺目的颜色;
大型系统常用的主色有“#E1E1E1”、“#EFEFEF”、“#C0C0C0”等;
界面风格要保持一致,字的大小、颜色、字体要相同,除非是需要艺术处理或有特殊要求的地方;
如果窗体支持最小化和最大化或放大时,窗体上的界面元素也要随着窗体而缩放;
切忌只放大窗体而忽略界面元素的缩放;
对于含有按钮的界面一般不应该支持缩放,即右上角只有关闭功能;
通常父窗体支持缩放时,子窗体没有必要缩放;
如果能给用户提供自定义界面风格则更好,由用户自己选择颜色、字体等。
3.1.6舒适性原则
【3.1.6.1】界面舒适性设计,就是使用户可以更加舒适地工作。
主要体现为色彩:
红色:
热烈,刺眼,易产生焦虑心情。
蓝色:
平静,科技,舒适。
明色:
干净,明亮,但对眼睛较多刺激,长时间工作易引起疲劳。
暗色:
安静,大气,对眼睛较少刺激。
3.2界面资源设计
3.2.1启动封面设计
【3.2.1.1】应使软件启动封面最终为高清晰度的图像,如软件启动封面需在不同的平台、操作系统上使用将考虑转换不同的格式,并且对选用的色彩不宜超过256色。
【3.2.1.2】软件启动封面大小多为主流显示器分辨率的1/6大。
如果是系列软件将考虑整体设计的统一和延续性。
【3.2.1.3】软件启动封面的上面应该醒目的标注制作或支持的公司标志、产品商标,软件名称,版本号,网址,版权声明,序列号等信息,以树立软件形象,方便使用者或购买者在软件启动的时候得到提示。
【3.2.1.4】插图宜使用具有独立版权的,象征性强的,识别性高的,视觉传达效果好的图形,若使用摄影也应该进行数位处理,以形成该软件的个性化特征。
【3.2.1.5】尽量少用滚动条,除非信息量很大。
3.2.2界面框架设计
【3.2.2.1】合理布置控件位置,一定要整齐。
【3.2.2.2】除主窗口、浏览、报表预览等窗口外,一般窗口不要太大。
【3.2.2.3】主窗口不能有太多的功能控件,需要进行合理分类,避免控件的罗列和堆积。
【3.2.2.4】窗口尽量少(关于窗口、消息框、输入对话框等除外),将相关信息最好放在一个窗口。
【3.2.2.5】窗口中信息量大可采用Tab页方式,信息量小采用Group方式。
【3.2.2.6】窗口布局要合理,不宜过于密集,也不能过于空旷,合理的利用空间,左右边距必须相等。
【3.2.2.7】窗体位置:
屏幕正中(由代码控制)。
【3.2.2.8】具有返回值的窗口,最好设计成对话框模式(模式窗口)。
【3.2.2.9】模式窗口在一个应用中定义为统一规格,建议以下三种规格:
_LargeDialogType:
(width*0.73,height*0.75)主要用于信息办理操作,功能较多的界面;
_xMediumDialogType:
(width*0.58,height*0.58)主要用于比较多的信息录入、保存、修改、修改等单一操作界面;
_MediumDialogType:
(width*0.48,height*0.52)主要用于少量的信息录入、保存、修改等单一操作界面;
_SmallDialogType:
(width*0.38,height*0.39)主要用于消息显示界面。
其中:
width、height是指屏幕的宽度和高度,适应各种分辨率的变化。
【3.2.2.10】窗口中完成同一功能或任务的元素放在集中位置,减少鼠标移动的距离。
【3.2.2.11】按功能将界面划分局域块,用Frame框括起来,并要有功能说明或标题。
【3.2.2.12】界面要支持键盘自动浏览按钮功能,即按Tab键的自动切换功能;
首先应输入的和重要信息的控件在Tab顺序中应当靠前,位置也应放在窗口上较醒目的位置。
【3.2.2.13】同一界面上的控件数最好不要超过10个,多于10个时可以考虑使用分页界面显示。
【3.2.2.14】专业性强的软件要使用相关的专业术语,通用性界面则提倡使用通用性词眼。
【3.2.2.15】父窗体或主窗体的中心位置应该在对角线焦点附近;
子窗体位置应该在主窗体的左上角或正中;
多个子窗体弹出时应该依次向右下方偏移,以显示窗体出标题为宜。
【3.2.2.16】窗体长宽接近黄金点比例,切忌长宽比例失调、或宽度超过长度。
宽度和长度的比例是B:
A=A:
(A+B),即1:
1.618或0.618:
1。
【3.2.2.17】右键快捷菜单采用与菜单相同的准则。
【3.2.2.18】界面框架的设计必须能够适应用户的分辨率变化(至少应该实现1024*768和800*600两种分辨率)。
【3.2.2.19】任何时候,不要忘记网页的标题是否被正确设置。
3.2.3界面导航设计
【3.2.3.1】界面导航一定要清晰。
【3.2.3.2】功能应容易发现,便于理解,给一些友好的提示。
【3.2.3.3】所有的超链接应清晰无误地向读者标识出来,所有导航性质的设置,像图像按钮,都要有清晰的标识,让人看得明白。
【3.2.3.4】文本链接一定要和页面的其他文字有所区分,给读者清楚的导向。
【3.2.3.5】读者进入目的页的点击次数,不能超过三次。
3.2.4按钮设计
【3.2.4.1】软件按钮设计应该具有交互性,即应该有3到6种状态效果:
点击时状态;
鼠标放在上面但未点击的状态;
点击前鼠标未放在上面时的状态;
点击后鼠标未放在上面时的状态;
不能点击时状态;
独立自动变化的状态。
【3.2.4.2】按钮应具备简洁的图示效果,应能够让使用者产生功能关联反应。
【3.2.4.3】完成相同或相近功能的按钮集中归类放置,或用Frame框起来,群组内按钮应该风格统一,功能差异大的按钮应该有所区别。
【3.2.4.4】常用按钮要支持快捷方式。
【3.2.4.5】一个窗体中不允许有两个相同标题的按钮。
【3.2.4.6】默认按钮要支持Enter及选操作,即按Enter后自动执行默认按钮对应操作。
【3.2.4.7】可写控件检测到非法输入后应给出说明并能自动获得焦点。
【3.2.4.8】重要的命令按钮与使用较频繁的按钮要放在界面上注目的位置。
【3.2.4.9】与正在进行的操作无关的按钮应该加以屏蔽(用灰色显示,没法使用该按钮)。
【3.2.4.10】按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置。
按钮的标准规格为:
80px×
23px。
(参考组件库的按钮规格标准)
【3.2.4.11】按钮的排列要与界面的大小和空间要协调。
如果按钮过多,可以采用菜单方式显示不常操作的按钮。
【3.2.4.12】避免空旷的界面上放置很大的按钮。
【3.2.4.13】无任何链接内容的不做成按钮的形式。
3.2.5选择框设计
【3.2.5.1】选择框包括复选框、单选框和选项框等。
【3.2.5.2】在WEB应用,传统的select框无法用DIV盖住,因此建议采用组件库提供的select组件。
【3.2.5.3】复选框和选项框按选择几率的高底而先后排列。
【3.2.5.4】复选框和选项框要有默认选项,并支持Tab选择。
【3.2.5.5】选项数相同时多用选项框而不用下拉列表框。
【3.2.5.6】界面空间较小时使用下拉框而不用选项框。
【3.2.5.7】选项数较少时使用选项框,相反使用下拉列表框。
3.2.6面板设计
【3.2.6.1】软件面板设计应该具有缩放功能。
【3.2.6.2】面板应该对功能区间划分清晰,应该和对话框,弹出框等风格匹配,尽量节省空间,切换方便。
3.2.7菜单设计
【3.2.7.1】菜单设计一般有选中状态和未选中状态,左边应为名称,右边应为快捷键,如果有下级菜单应该有下级箭头符号。
【3.2.7.2】不同功能区间应该用线条分隔。
【3.2.7.3】常用菜单要有命令快捷方式。
【3.2.7.4】菜单通常采用“常用--主要--次要--工具--帮助”的位置排列,符合流行的Windows风格。
【3.2.7.5】主菜单数目不应太多,最好为单排布置。
【3.2.7.6】主菜单的宽度要接近,字数不应多于四个,每个菜单的字数能相同最好。
【3.2.7.7】一组菜单的使用有先后要求或有向导作用时,应该按先后次序排列。
【3.2.7.8】没有顺序要求的菜单项按使用频率和重要性排列,常用的放在开头,不常用的靠后放置;
重要的放在开头,次要的放在后边。
【3.2.7.9】菜单前的图标能直观的代表要完成的操作,图标不宜太大,与字高保持一直最好。
【3.2.7.10】菜单深度一般要求最多控制在三层以内。
【3.2.7.11】如果菜单选项较多,应该采用加长菜单的长度而减少深度的原则排列。
【3.2.7.12】对与进行的操作无关的菜单要用屏蔽的方式加以处理,如果采用动态加载方式(即只有需要的菜单才显示)最好。
【3.2.7.13】尽量不要使用右建菜单。
如果要使用,也必须存在显式的操作方式与之对应,这样符合界面的“所见及所用”的原则。
3.2.8工具栏设计
【3.2.8.1】工具栏要求可以根据用户的要求自己选择定制。
【3.2.8.2】相同或相近功能的工具栏放在一起。
【3.2.8.3】工具栏中的每一个按钮要有及时提示信息。
【3.2.8.4】一条工具栏的长度最长不能超出屏幕宽度。
【3.2.8.5】工具栏的图标能直观的代表要完成的操作。
【3.