2022年软件开发规范 .pdf
程序编制规范一 命名规范1.窗口: W_XX_XXXX(W_ 系统简写 _功能名称 )例:药库入库处理窗口为W_YK_RKCL,药库主窗口命名为W_YK_MAIN 注 : 1.BSHIS2.2中 主 窗 口 继 承 于W_MAIN_FRAME,MDI窗 口 一 般 继 承 于W_SHEET_FRAME 2.系统简写名称参照各产品的子系统设置规范。2. 菜单: M_ XX_XXXX(W_系统简写 _功能名称 ) 例:药库系统主菜单M_YK_MAIN 注: BSHIS2.2 中主菜单继承于M_MAIN_FRAME3.变量3.1变量的类型对象类型前缀备注整型数字Int I_ 界面中右对齐Long L_ 界面中右对齐浮点型数字Double D_ 界面中右对齐Decimal Dc_ 界面中右对齐日期Date D_ 界面中左对齐或居中格式一般为:yyyy.mm.dd Datetime Dt_ Yyyy.mm.dd hh:mm:ss Time T_ HH:MM:SS 类实例可视Vu_ 非可视U_ 字符串String S_ 界面中左对齐或居中结构体Struct Str_ 布尔型Boolean B_ 居中3.2变量的范围:前缀含义G 全局S 共享I 实例L 局部A 参数3.3变量命名: 变量范围 +变量类型 +_+变量名称名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 例:全局的日期为Gd_today,门诊号参数As_mzhm 注: BSHIS2.2公共全局类名:Uo_support: :U_supporclass BSHIS2.2全局参数结构名:Base_info: :Base_info BSHIS2.2窗口数据传输变量结构:S_Exchange:S_Exchange 4.函数公用全局函数 : GF_XXXX(GF+_+ 函数名称 ) 子系统使用的公共函数: GF_XX_XXXX(GF+_+ 系统简称 +_+ 函数名称 ) 窗口函数 : WF_XXXX(WF+_+ 函数名称 ) 类成员函数 : uf_ XXXX( 函数名称 ) 全局扩展函数 : GE_XXXX(GE+_+ 函数名称 ) 局部扩展函数 : LE_ XXXX(LE+_+函数名称 ) 5.数据窗口下拉式数据窗口: DD_XXXX 一般数据窗口 : D_XX_XXXX(D+_+ 系统简写 +_+ 数据窗口名称 ) 6.类U_XXXX( 非可视类 ) VU_XXXX(可视类)7.对象前缀标识符对象控件名称举例proj_工程设计对象 (project object)w_窗口对象 (window object)m_菜单对象 (menu object)d_数据窗口对象 (datawindow object)u_可 视 用户 对 象 (visiable user object)n_不 可 视 用 户 对 象 (invisiable user object)q_查询对象 (query object)pl_数 据 管道 对 象 (data pipeline object)f_函数对象 (function object)s_结构对象 (struct object)dw_数据窗口控件 (datawindow control)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - uo_用户对象控件 (userobject control)cb_命令按钮控件 (commandbutton)cbx_复选框控件 (checkbox)ddlb_下拉式列表框 (dropdown listbox)ddplb_下拉式列图片表框(dropdown picture listbox)lb_列表框 (listbox)plb_图片列表框 (picture listbox)sle_单行编辑框 (singlelineedit)mle_多行编辑框 (multilineedit)em_编辑框 (editmask)rte_重点文本编辑框(richtextedit)rb_单选按钮 (radiobutton)pb_图片按钮 (picturebutton)vsb_垂直滚动条 (vscroollvar)hsb_水平滚动条 (hscrollbar)tr_事物对象 (transaction)ole_OLE 对象 (olecontrol)p_图片 (picture)gr_图形 (graph)tab_标签表 (tab)tabpage_标签页表 (tabpage)lv_列表视图 (listview)tv_树视图 (treeview)st_静态文本 (statictext)ln_线(line)oval_椭圆 (oval)r_矩形 (rectangle)rr_圆角矩形 (round rectangle)gb_组框 (group box)po_PowerBuilder对象8.库( PBL)XX_XXXX: 系统简写 +_+ 库名 XX_MAIN:主库 ( 主窗口,主菜单及本系统的私有维护) XX_PUBLIC:本系统的公用部份 XX_XXXX: 业务功能 1 XX_XXXX: 业务功能 2 。 。 。 。 。 。9.应用应用名一般与系统的简称同名名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 10.表与视图表:XX_XXXX(系统简写 +_+ 表名拼音缩写 ). 例 : 住院系统的费用库(ZY_FYMX) 视图 :V_XX_XXXX(V+_+系统简写_+ 视图名 ). 例 : 门诊系统的收费汇总视图(V_MZ_SFHZ) 11.字段名字段名一般是字段中文名称拼音的首字母缩写, 一般为4个字母 . 如 : 药品序号(YPXH) 12.主外键主键 :PK_XXXX_XXXX(PK+_+表名 +_+ 列名 ) 外键 :FK_XXXX_XXXX(FK+_+表名 +_+ 列名 ) 13.索引IDX_XXXX_XXXX(IDX+_+表名 +_+ 索引名 ) 14.触发器TR_XXXX_XXXX_XXXX(TR+_+所属表名 +_+ 作用表名 +_+ 触发器名 ). 15.存储过程PR_XX_XXXX(PR+_+系统简写 +_+ 存储过程名 ) 二 界面规范1 用程序主窗口采用MDI 方式,应具有Miscohelp提示。覆盖整个屏幕,应有菜单、工具条、 显示状态栏; 菜单各项对应打开的窗口为SHEET 类型, 覆盖整个工作区,不用菜单、工具条、显示状态栏;应提示信息、出错信息、确认信息、与用户的交互提示而弹出的窗口用RESPONSE 类型的窗口,其他的弹出窗口一律用POPUP 类型的窗口,并显示在屏幕中央;所有窗口的标题显示相应的功能说明1、显示模式默认800*600显示方式,有特殊要求的应用程序除外。2、功能窗体初始位置居中,纵横尺寸比例应采用7:4,不应覆盖菜单栏、工具栏和提示栏。窗体最好覆盖整个工作区。3、窗体中各控件安排均匀,分布合理,整个窗体应清晰,整洁,稳重。4、窗体内字体采用中文系统(SYSTEM) 字体或宋体9 号字,12 号字,题头可选楷体,不准用斜体字型。5、窗体统一采用黑色字体,如有特殊要求,可选用红色或蓝色字体,但特殊色彩字体不宜过多,同一窗体色彩不能超过三种。6、色调的运用方面,一般采用黑,白,灰。窗体底一般用灰色,字体用黑色,数据窗口底或列表及编辑框用白色。禁止使用大片其他颜色区。如有特别需要,可用其他名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - 颜色和图标做细小的点缀。7、应用程序中所有按扭统一尺寸,统一颜色,统一采用中文系统字体。位置应于窗体右侧或下侧,在右侧的按扭的右上角为起始点,在下侧的按扭以右下角为起始点。尺寸限制在400*90左右。8、数据窗口尽量不用GRID 格式,背景颜色一般用白色(TABLUES 列表格式)与灰色 (Freeform 录入格式)列头应与每列对齐, 列头用 3D 格式,灰色,字体可用SYSTEM和宋体 9 号两种,高度比字体稍大。9、数值型的数据显示或录入必须右对齐,日期型可居中或左对齐,字符串型必须左对齐(包括以下拉数据窗口形式显示的列)。10、菜单及按扭的快捷键位置放于汉字后,统一采用英文单词的首字母或第一个汉字的汉语拼单首字母,如遇到雷同现象,可自行修改。快捷键包以()。如窗体中只有两个按扭,可不采用快捷键,但应有默认ENTER 和 ESC 键,如超过两个按扭,应采用快捷键,部分见附表。11、日期变量输入和显示统一采用YYYY.MM.DD 的形式,例:1998.06.01 12、代码输入采用弹出式响应窗体,弹出式响应窗体实现动态跟随,可在窗体内输入输入码。13、窗体输入部分支持全屏幕编辑,含ENTER 键跳转。14、窗体控体布局顺序与TAB 键跳转顺序一致。15、所有窗体按ESC 可退出。16、输入部分避免采用滚动条。17、代码维护窗体和部分实现特殊业务的窗体采用响应窗体。18、各对象和控件的属性约定对象、控件或属性名称说明Font(字体 )宋体, Regular,12 ,BlankFrame Window包括主菜单、Controlmenu;不含Maximizebox和Miximizebox, 大 小 不 可 变 ,window颜 色 为Buttonface, client颜色为 AppWrkSpc ;状态为最大化。Sheet Window继承基类无须调整大小,一般不含菜单,通常宽度为3658 ,高度为 2060 ,其他与Frame Window相同Response Window除高宽根据需要确定外,其他与Sheet Window相同DataWindow数据源一般为SQLselecet,显示方式为对单条记录输名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 入输出为 Freeform,背景颜色为Buttonface;对多行记录输入输出为Tabular或 Grid,背景颜色为White ;Text Object: 3D raised(Tabular或 Grid)或None(Freeform), Center, Buttonface, 最 左 位 置 为(9,8),高度为 72,宽度根据需要设置;Column Object: 3D Lowered(Freeform)、Box(Tabuar)或 None(Grid),White ,最左位置为 (9,8),高度为 72,宽度根据需要设置;列的背景颜色可为Buttonface;Compute Field:与 Column Object相同。TabPicture on left,Show text, Show picture,Bold selected text,Center, ButtonFaceTabPage背景颜色和文字背景颜色:ButtonFace,文字颜色:WndtextDataWindowControlVscrollBar,Live Scrolling, 3D LoweredUserObjectControl3D Raised,ButtonFaceCommandButton高度为 100 ,宽度为398 或根据具体需要调整StaticTextNone ,背景颜色ButtonFace,高度 76 ;动态显示信息则边界为3D LoweredEditMask3D Lowered,背景颜色White ,高度 76DropDownPictureListBoxVscrollBar,3D Lowered,背景颜色WhiteGroupBox3D Lowered,背景颜色ButtonFaceCheckBox3D Lowered,背景颜色ButtonFace,高度 76RadioButtonRight Text , 3D Lowered,背景颜色ButtonFace,高度 76DropDownListBox与 DropDownPictureListBox相同如控件是从基类中继承的,则属性为标准属性,可根据调用函数来改变属性。19 功能键的约定功能键名称功能键约定说明退出系统ALT+F4退出主窗口及系统退 出sheet窗口CTRL+F4退出当前的子窗口(sheet窗口 )退出键ESC退出 response和 popup窗口、退出当前菜单到上层菜单帮助键F1打该系统的帮助文件确认键F2在数据保存时确认数据的合法性并保存数据,在查询数据时确认输入的条件实现确认按钮的功能名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 插入键F3用于在数据窗口中插入新的记录删除键F4用于在数据窗口中删除当前的记录查询键F5输入查询条件、刷新数据选页键F7、F8、ALT+1-9切换tabpage页, F7 向前、 F8 向后;ALT+1-9数字为指定的页码打印键F6打印更换用户F12从新登入更换用户翻页键Home、End、PageUp、PageDown用于翻页查看选取的记录,Home 翻到第一页,End 翻到最后一页, PageUp 翻到前一页, PageDown翻到下一页TAB 键TAB、Shift+Tab用于按 TabOrder向前或向后移动光标选择键Return用于选择菜单或选取数据时使用切换键Ctrl+Tab用于 MDI 方式下切换多个窗口页20一般按钮的属性按钮名称热键说明确认ALT_O 一般用于设置, 确定表示修改有效保存设置并关闭窗口,一般不用热键,用Enter键触发。取消ALT_C 一般用于设置, 表示修改无效并关闭窗口,一般不用热键,用 ESC 键触发。保存ALT_S 在窗口录入信息比较多时,在记录录入时需不断保存时采用。退出ALT_X 关闭窗口,一般不用热键,用ESC 键触发,查询ALT_Q 设置条件后从新检索数据。刷新ALT_F 直接从新检索数据。统计ALT_S 在从新检索数据过程中有增加ALT_A 记录增加删除ALT_D 记录删除修改ALT_M 记录修改三. 编码风格1Script程序的组成部分。程序头部分:对整段程序的处理说明的注册;变量声明部分:对全局、局部、实例、共享变量的声明和变量注释说明;程序主体部分:一组能完成处理某个功能的Script语句,并对语句进行必要的注释说明,各部分之间应有空行分开。例:/ 当前行号,总行数/* 变量说明 */long ll_CurRow,ll_RowCount2事件程序头部分格式/*名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - /事件名称: /* 例,窗口w_main的 open 事件 */功能说明: /* 说明该段程序完成的处理功能*/作者: * 时间: 1999/10/25;修改: * 时间: 1999/12/01/*用户自定义事件:/*/事件名称: /* 例,窗口w_main的 open 事件 */功能说明: /* 说明该段程序完成的处理功能*/事件参数: /* 传递该事件的参数列表及相对应的说明*/事件返回: /* 事件返回的值及相对应的说明*/作者: * 时间: 1999/10/25;修改: * 时间: 1999/12/01/*3函数程序头部分格式/*/函数名称: /* 例,窗口w_main的 open 事件 */功能说明: /* 说明该段程序完成的处理功能*/函数参数: /* 传递该函数的参数列表及相对应的说明*/函数返回: /* 函数返回的值及相对应的说明*/调用事例: /* 函数在程序段中调用的实例说明*/作者: * 时间: 1999/10/25;修改: * 时间: 1999/12/01/*4编程代码时以缩进方式/循环体For i=1 To100If j 1Then/ 如果 This. Event ExcuteSomething( ) / 干什么 End IfNext5注意事项在程序中的数据库操作一律采用标准的SQL 语句。禁止使用数据库自动增加列的使用,该功能用程序完成。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -