基于c的windows程序设计项目(编辑修改稿)内容摘要:

以便缩短行宽。 以上的列在实现时可视情况和习惯加以删减。 2) . 当码表的列较多且也行较多时,可将上述的标识列和常用的信息存于一个表,将其 它的信息另表存储。 3)、 业务数据表 1) . 设有 „录入人 ‟和 „录入日期 ‟列,由系统自动记录。 2) . 记录单据的表中设置 “自动单据号 ”,由两个字符开始以区分单据类型,后跟一数 字序列表示序号。 „自 动单据号 ‟由系统自动生成,作为主表的主键,不允许用户修改。 当有对应的纸质单据时,设置 “单据号 ”用于记录纸质单据的单据号。 3) . 明细表中设有行序号,自动记录行的录入顺序。 4) . 设置 “存档标记 ”列,用于抽取数据到决策数据库时的更新标记。 插入新行或修改 已有行时设置该标记;数据抽取后清除该标记。 5) . 对于用于查询过滤条件的列,不可为空,以免行 “丢失 ”。 6) . 对于数值列,不可为空, “0”作为默认值。 7) . 对于必要的 “冗余 ”列,如客户名称,应有相应的程序保 持各 “冗余 ”列的同一性 ,以免出现异议。 8) . 设置 “过程状态 ”列和 “记录状态 ”列。 过程状态列用于记录如创建、审核、记账、冲红等状态;记录状态用于记录如有效、删除等状态。 四 、数据库命名规范 1. 实体(表)的命名 1) 表以名词或名词短语命名,确定表名是采用复数还是单数形式,此外给表的别名定义简单规则(比方说,如果表名是一个单词,别名就取单词的前 4 个字母;如果表名是两个单词,就各取两个单词的前两个字母组成 4 个字母长的别名;如果表的名字由 3 个单词组成,从头两个单词中各取一个然后从最后一 个单词中再取出两个字母,结果还是组成 4 字母长的别名,其余依次类推) 对工作用表来说,表名可以加上前缀 WORK_ 后面附上采用该表的应用程序的名字。 在命名过程当中,根据语义拼凑缩写即可。 注意:将字段名称会统一成大写或者小写中的一种,故中间加上下划线。 2) 如果表或者是字段的名称仅有一个单词,那么建议不使用缩写,而是用完整的单词。 3) 所有的存储值列表的表前面加上前缀 Z 目的是将这些值列表类排序在数据库最后。 4) 所有的冗余类的命名 (主要是累计表 )前面加上前缀 X 冗余类是为了提高数据库效率,非规范化数据 库的时候加入的字段或者表 5) 关联类通过用下划线连接两个基本类之后,再加前缀 R的方式命名 ,后面按照字母顺序罗列两个表名或者表名的缩写。 关联表用于保存多对多关系。 如果被关联的表名大于 10 个字母,必须将原来的表名的进行缩写。 如果没有其他原因,建议都使用缩写。 举例:表 Object 与自身存在多对多的关系 ,则保存多对多关系的表命名为:R_Object; 表 Depart和 Employee。 存在多对多的关系;则关联表命名为 R_Dept_Emp 2. 属性(列)的命名 1) 采用有意义的列名 表内的列要针对键采用一 整套设计规则。 每一个表都将有一个自动 ID 作为主健 ,逻辑上的主健作为第一组候选主健来定义; A、如果是数据库自动生成的编码,统一命名为: ID B、如果是自定义的逻辑上的编码则用缩写加 “ID”的方法命名,即 “XXXX_ID” C、如果键是数字类型,你可以用 _NO 作为后缀; D、如果是字符类型则可以采用 _CODE 后缀 E、对列名应该采用标准的前缀和后缀。 2) 所有的属性加上有关类型的后缀 注意,如果还需要其它的后缀,都放在类型后缀之前。 注 : 数据类型是文本的字段,类型后缀 TX 可以不写。 有些类型比较明显的字段,可以不写类型后缀。 3) 采用前缀命名 给每个表的列名都采用统一的前缀,那么在编写 SQL表达式的时候会得到大大的简化。 这样做也确实有缺点,比如破坏了自动表连接工具的作用,后者把公共列名同某些数据库联系起来。 3. 视图的命名 1) 视图以 V作为前缀,其他命名规则和表的命名类似; 2) 命名应尽量体现各视图的功能。 4. 触发器的命名(尽量不使用) 触发器以 TR 作为前缀,触发器名为相应的表名加上后缀, Insert 触发器加39。 _I39。 , Delete 触发器加 39。 _D39。 , Update 触发器加 39。 _U39。 ,如: TR_Customer_I, TR_Customer_D, TR_Customer_U。 5. 存储过程名 存储过程应以 39。 UP_39。 开头,和系统的存储过程区分,后续部分主要以动宾形式构成,并用下划线分割各个组成部分。 如增加代理商的帐户的存储过程为39。 UP_Ins_Agent_Account39。 6. 变量名 变量名采用小写,若属于词组形式,用下划线分隔每个单词,如 @my_err_no。 7. 命名中其他注意事项 1) 以上命名都不得超过 30 个字符的系统限制。 变量名的长度限制为 29(不包括标识字符 @)。 2) 数据对象、变量 的命名都采用英文字符,禁止使用中文命名。 绝对不要在对象名的字符之间留空格。 3) 小心保留词,要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突 4) 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。 假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了。 案例 学生管理系统的数据库设计 数据库设计的合理是否,与数据库的完整性、安全性、程序运行的效率和程序设计的复杂程度等有着十分密切的关系。 数据库设计的内容包括数据库管理系统的选择、数据实体的确定和数据库 的具体实现。 根据本系统数据的特性和流量规模,考虑到安全性等因素,确定采用目前比较流行的 sql server 数据库管理系统对本图书馆管理信息系统提供支持。 根据本 系统 的内容和特性,确定本系统只设计一个数据库 STUinFO 一、 ER 模型 二、 企业规则: 每个学生必须有所属的班级 课程计划中的课程必须是已经存在的课程 考试成绩中的学号必须在学生表中存在 考试成绩中的课程必须在教学计划中存在 每个学生每学期同一考试类型的课程成绩记录只 能有一个。 若学生存在考试成绩,则不能删除该学生的基本档案信息 若课程表中的课程已经在课程计划中存在,则不能删除 学号原则上不能修改 n n 1 n 1 1 n n 1 班级 学生 课程 教学计划 考试成绩 班级 _学生 班级 _计划 课程 _计划 学生 成绩 1 课程 _成绩 课程表中课程编号改变时、课程计划表、成绩表中的课程编号要相应的改变 三、 数据库的逻辑结构: 主键及关系说明: 班级表: 存储班级的信息。 提供“班级编号”主键,按年级 +专业 +序号编码,并且主键是课程计划和学生表引用的外键; 学生表: 存储学生的信息。 学号为主键,并且引用了班级表的主键;主键是学生表引用的外键; 课程表: 存储所有课程信息 课程 编号为主键,主键是课程计划表引用的外键 课程计划表: 存储每个班级的课程计划 主键为课程编号、班级编号,班级编号引用了班级表的主键,课程编号引用了课程表的主键 成绩表 存储每个学生的考试成绩 主键为课程编号、学号、学期、考试类别,学号引用了学生表的主键,课程编号引用了课程表的主键。 四、 表设计 数据库对应的表设计如下图(字段采用英文表示),表设计的字段请参考概念设计部分原始数据的形式。 StudentsInFo ClassInfo: CourseInfo: CoursePlan ExamInfo: StudentStatus: UserMessage: 五、存 储过程 与触发器的 设计: (略) 第三章 界面设计 一、设计原则 设计一个友好的用户界面应遵循以下原则: 1.用户针对性原则 用户针对性原则指的是在明确用户类型的前提下有针对性地设计人机界面。 明确用户类型是指界定使用系统的用户 (最终用户 ),它是人机界面设计的首要环节。 根据用户经验、能力和要求的不同,可以将其分为偶然型用户、生疏型用户、熟练型用户和专家型用户等类型。 对于前两类用户,要求系 统给出 更多的支持和帮助,指导用户完成其工作。 而对于熟练型用户特别是专家型用户,要求系统有更高的运行效率,使用更灵活,而提示或帮助可以减少。 2.尽量减少用户的工作 在分派人机系统各个体所应完成的任务时,应该让计算机更积极、更主动、更勤劳,做更多的工作,而让人更轻松、更方便,尽可能少做工作。 人机界面越完美、形象、易用,用户就能以更少的脑力及体能完成所应完成的工作。 3.应用程序与人机界面相分离 应用程序与人机界面相分离的思想类似于数据库管理系统中数据和应用程序的分离。 数据的存储、查询、管理可由专用软件即数据 库管理系统完成,应用程序不再考虑系统中与数据管理相关的细节工作,而将精力集中于应用功能的实现上。 在人机交互系统中,也同样可以把人机界面的功能,包括人机界面的布局、显示、用户操作等由专门的用户界面管理系统完成,应用程序不再管理人机交互功能,也不与人机界面编码混杂在一起。 应用程序设计者致力于应用功能的开发,界面设计者致力于界面开发。 人机界面和应用程序的分离可使应用程序简单化和专用化。 4.人机界面一致性 人机界面的一致性主要是指输入和输出方面的一致性,具体是指在应用程序的不同部分,甚至是在不同应用程序之 间,要具有相似的界面外观和布局,具有相似的人机交互方式及相似的信息显示格式等。 一致性原则有助于用户学习和掌握系统操作,减少用户的学习量和记忆量。 人机交互系统的反馈是指用户从计算机方得到的信息,它表示计算机对用户的操作所作的反应。 如果系统没有反馈,用户就无法判断其操作是否为计算机所接受、操作是否正确、操作的效果如何。 反馈信息可以以多种方式呈现,如响铃提示出错,高亮度提示选择等。 如果执行某个功能或命令需要较长的时间时,则应给出相应的提示信息。 6.尽量减少用户记忆 用户在操 作计算机时,总需要一定量的存于大脑中的知识和经验即记忆的提取。 一个界面良好的系统应该尽量减少用户的记忆要求。 对话、多窗口显示、帮助等形式都可减少用户的记忆要求。 7.及时的出错处理及帮助功能 系统应该能够对可能出现的错误进行检测和处理。 出错信息包含出错位置、出错原因及修改出错建议等方面的内容,出错信息应清楚、易理解。 良好的系统还应能预防错误的发生,例如应该具备保护功能,防止因用户的误操作而破坏系统的运行状态和信息存储。 此外,系统应提供帮助功能,帮助用户学习使用系统。 帮助信息应该在用户出现操作困难时随 时提供。 帮助信息可以是综合性的内容介绍,也可以是与系统当前状态相关的针对性信息。 8.使用图形 图形具有直观、形象、信息量大等优点,使用图形作为人机界面可使用户操作及信息反馈可视、逼真。 二、 界面规范 1. 窗体控件布局 1) 控件间距 窗体控件布局合理,绝对不能显得拥挤;拥挤的窗体控件布局让人难以理解,因而难以使用。 让人看上去,不能太拥挤,也不能太松散。 控件对窗体的覆盖率以不高于 75%为宜。 控件间隔(垂直):组与组之间间隔 15,组内控件间间间隔 10。 控件间隔(水平):组与组之间间隔 15, 组内控件间间间隔 10。 注:控件间间隔应该根据窗体的覆盖率灵活进行调整,但以大于 10 为宜; 而且在整个系统内,采用统一的控件间隔。 可以通过调整窗体大小达到一致,即使在窗体大小不变的情况下,宁可留空部分区域,也不要破坏控件间的间隔。 2) 控件对齐 控件水平排列成一行时,采用水平中对齐 , 控件间隔按要求基本保持一致。 行与行之间间隔相同,靠窗体边界距离应大于行间间隔。 当窗体中有多个编辑区域时,以视觉效果和效率来分组组织这些区域。 3) .文字对齐 界面文字(包括数字和英文字母),一般情况下都应垂直右对齐,并 且使用中文全角标点符号。 4) .窗口缩放 窗体不可避免地会进行最小化、最大化等改变窗体大小的缩放操作,为了使窗体界面不出现混乱,应该在窗体布局设计时考虑相应的解决方法: ( 1)固定窗口大小,不允许改变大小,也不允许最大化、最小化的操作,避免窗体界面出现混乱; ( 2)使用控件的 Dock( Fill、 Top、 Left等)属性,结合 Panel、 GroupBox等控件进行设计,使窗体在缩放的时候,控件能自动进行大小调整。 ( 3)通过程序自行控制。 在窗口大小改变的时候,捕捉窗体的 Resize或 SizeChanged事件进行相应处理。 2. 界面配色 1) 如果使用经过设计的系列界面,则必须统一色调,针对软件类型以及用户工作环境选择恰当色调。 注:如安全软件可以选取黄色。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。