版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于C#的Windows程序设计项目实训指导书第一章 需求分析为了使组织的所有成员明确本次实训的软件开发的方向,首先要对项目的目标进行分析。要确定对目标系统的综合要求,并提出这些需求实现条件,以及需求应达到的标准,也就是解决要求所开发的信息系统做什么,做到什么程度。这些需求可以分为两大类:功能需求和非功能需求。 1功能需求 功能需求是最主要的需求。列举出所开发系统在功能上应做什么,然后逐步细化所有的系统功能,找出系统各元素之间的联系、接口特性和设计上的限制,分析它们是否满足功能要求,是否合理。功能需求主要是根据用户的信息需求。功能性需求是人们普遍关注的,但常常忽视对非功能性需求的分析。其实非功
2、能性需求并不是无关紧要的,它们的主要特点是涉及到的方面多而广,因而容易被忽略。 2非功能需求 1)性能需求:给出所开发信息系统的技术性能指标,包括存储容量限制、运行时间限制、传输速度要求、安全保密性等。 2)资源和环境需求:这是对信息系统运行时所处环境和资源的要求。例如在硬件方面,采用什么机型、有什么外部设备、数据通信接口等等;在软件方面,采用什么支持系统运行的系统软件,如采用什么操作系统、什么网络软件和什么数据库管理系统等;在使用方面,需要使用部门在制度上或者操作人员的技术水平上应具备什么样的条件等等。 3)可靠性需求:信息系统在运行时,各子系统失效的影响各不相同。在需求分析时,应对所开发软
3、件在投入运行后不发生故障的概率,按实际的运行环境提出要求。对于那些重要的子系统,或是运行失效会造成严重后果的模块,应当提出较高的可靠性要求,以期在开发的过程中采取必要的措施,使信息系统能够高度可靠地稳定运行,避免因运行事故而带来的损失。 4)安全保密要求:工作在不同环境的信息系统对其安全、保密的要求显然是不同的。应当把这方面的需求恰当地做出规定,以便对所开发的信息系统给予特殊的设计,使其在运行中安全保密方面的性能得到必要的保证。 5)用户界面需求:信息系统与用户界面的友好性是用户能够方便有效愉快地使用该系统的关键之一。从市场角度来看,具有友好用户界面的系统有很强的竞争力。因此,必须在需求分析时
4、,为用户界面细致地规定达到的要求。 6)成本消耗与开发进度需求:对信息系统项目开发的进度和各步骤的费用提出要求,作为开发管理的依据。 7)预先估计的可扩展性需求。这样,在开发过程中,可对系统将来可能的扩充与修改做准备。一旦需要时,就比较容易进行补充和修改。 3、可行性分析在系统项目的目标需求已经确定,对组织的基本情况又有所了解的情况下,就可以开始对项目进行可行性分析。可行性分析的意思是根据系统的环境、资源等条件,判断所提出的信息系统项目是否有必要、有可能开始进行,如果要进行,那么采用什么建设方案? 所谓可行性应该包括必要性和可能性两个方面。系统项目建设的可能性主要从技术、经济、社会意义等三个方
5、面去分析。技术可行性:这就是分析所提出的要求在现有技术条件下是否有可能实现经济可行性:包括对项目所需费用的预算和对项目效益的估算。社会可行性:分析各种社会因素对于项目的开展的制约作用。案例:学生管理系统的需求分析在高效,学籍管理工作是一项非常重要的工作,它负责对整个学校的班级、课程进行管理,对学生的档案资料、缴费情况及考试成绩进行记录。原有的旧的管理方法越来越不适应现在高校日渐增多的学生人数带来的高效率的需求。随着学校硬件水平的提高、信息化进程的加快,教务工作急切希望能够抛开原有繁琐的管理方式,希望本公司能够着眼于学校现状的实际需求开发一套能够系统化、科学、有效、易于掌握的管理软件。XXXXX
6、校学生有XXXXX人,现在学院已经基本实现了网路化管理,各部门已有计算机,原有的计算机管理系统可以实现简单的信息管理,现在需要一个网络化的学生信息管理平台,使用者可能包括系统管理员、学籍管理员、学生、部门管理人员及其他相关的管理人员,这些人员在计算机的应用、使用上不存在障碍,他们以往有使用过类似系统的经验,并且都在、计算机的操作和使用方面得到过相关的培训。新的学生信息管理系统要求能对学生的入校到学生 校学习经进行全过程的管理,包括学生入学,学生注册,学生成绩,学生学籍,学生各种档案的管理。根据业务的频繁程度,系统每天操作完成一个功能点应该在50 - 1000次之间。在开发过程中,可以分阶段完成
7、,第一期工程项目的基本功能要求:1、系统基本要求1)、对登陆系统的操作人员要有所区分,有根据学校规定限定的人员,如学生的档案管理、学生分班及班主任管理、学费管理、成绩管理、登录人员管理等5个部分有指定的人员;有具有全部权限的管理员;还有只能进行查询的操作人员。2)、学生档案管理学生档案管理包括学生档案的建立、修改、查询等内容。学生的档案包括学号、姓名、性别、班级、学制、专业、出生日期、家庭地址、联系电话、入学时间、简单的备注说明等内容,对学生的档案可以进行录入、查询、修改、删除及打印操作查询学生档案可以按学号、姓名、班级以及模糊查询,查询结果能打印输出打印学生档案时要求可以打印多个或单个学生档
8、案,也可以连续打印全部学生档案。其格式参见学籍管理部门提供的表格格式3)、班级管理班级管理包括班级的设置、修改、查询。班级的设置包括年级、班级名称、班级编号、班主任、所属系部、备注等。对班级的档案可以进行录入、查询、修改、删除及打印操作。查询可按年级、班级或专业等进行。支持打印班级设置信息,要求可以打印单个或多个班级信息,也可以连续打印全部班级信息。4)、缴费管理缴费管理主要来管理学生的缴费信息,可以根据年级、学制、学期不同来设置收费类型和收费标准,可以查询学生的缴费情况和欠款情况。缴费情况可以查询或打印,查询可以根据学生的缴费详细情况和学生的历史缴费情况进行分别查询。5)、课程管理课程管理主
9、要是设置课程的名称和使用教材,能够进行增加、删除和修改。针对不同年级、不同专业、学制对各个班级设置教学计划。6)、成绩管理可以根据学生所学课程录入学生成绩,包括正式考试、补考,能查询课程成绩、班级学期成绩、学生成绩。7)、安全管理为保证系统的安全,只有医生能够登录该系统,并且要求在进入操作之前,检查密码和姓名是否正确。软件应支持最多五十个终端的同时操作,并且保持系统的一次开机的连续稳定性在至少三个月。2、系统的基本数据单元如下:数据单元名称学生组成名称格式范围精度说明学号字符20年级+序列号姓名字符30学生的姓名性别字符1-0/1 /2= 未知/男/女身份证号字符18学制数字1班级字符20专业
10、字符20入学时间字符102007-12-12家庭地址字符60联系电话数字12联系电话邮编字符6备注学生的信息应通过数据库统一保存,并且可能有重名的学生数据单元名称班级信息组成名称格式范围精度说明班级名称字符50-班级编号字符10-年级字符-07班主任字符20-班主任姓名所属系部字符30备注字符60备注数据单元名称课程信息组成名称格式范围精度说明名称字符50-课程名称班级字符50-开设班级学期数字1课程开设学期,0不确定学时数字9位-备注课程信息作为教学计划数据单元名称成绩信息组成名称格式范围精度说明姓名字符50-学生姓名课程字符50-课程名称学期数字1课程开设学期,0不确定成绩数字9位-备注成
11、绩可以是100制,等级制、分正式考试、补考数据单元名称收费信息组成名称格式范围精度说明姓名字符50-学生姓名缴费项目字符50-课程名称应缴费用数字92课程开设学期,0不确定已缴费用数字9位2学期字符102007/2008(1)备注在同一学期同一个缴费项目只有一条记录。数据单元名称缴费记录组成名称格式范围精度说明姓名字符50-学生姓名缴费项目字符50-缴费日期字符10-2003/12/12缴费金额数字9位2备注字符50备注学生可以分次缴费3、其他客户程序硬件要求:具有 Pentium III 处理器且满足以下要求的计算机:最低 64 MB 内存最小 2.1 GB 硬盘服务器硬件需求:具有 Pen
12、tium III 处理器且满足以下要求的计算机:最低 256MB 内存最小 8 GB 硬盘支持软件客户程序软件: Windows 98/NT /2000或更高版本数据库服务器软件:Windows NT /2000 Server或更高版本SQL Server 2000第二章 系统分析与设计在对现行系统的调查和分析完成后,对系统各方面的情况都有了较深入的了解,也弄清楚了存在的问题和缺陷,结合对用户需求的分析,就可以明确新系统的基本任务和信息处理方式,即新系统的逻辑模型。系统逻辑模型从本质上说是规定系统应该做什么,包括新系统的业务流程、数据流程以及数据与功能的详细分析与描述。对现行系统的分析和修改一
13、般可以从下列方面进行:1现行系统在整体功能上存在什么问题 2业务流程中是否有缺少或多余的环节3数据流程中是否有不合理的数据流向、数据存储和冗余处理环节4数据处理的功能是否满足要求通过上述分析,对新系统的逻辑功能有了清楚的认识,就可以着手进行系统的逻辑设计。系统的逻辑设计采用一系列的图表和工具,在逻辑上表达新系统具有的各项功能,以及输入输出、信息流程、系统界面和环境等新系统概况。这些工具共同组成新系统的逻辑模型。在逻辑设计中,主要考虑下面三个方面:1分析系统目标根据详细调查对可行性分析报告中提出的系统目标重新考察,对项目的可行性和必要性进行重新考虑,并根据对系统建设的环境和条件的调查分析重新确定
14、系统目标。2新系统的业务流程分析原系统业务流程的不足,提出业务流程改造和重新设计的方法,建立新的业务流程,确定新系统流程中人机界面的划分。2新系统的数据流程数据流程是系统中信息处理的方法和过程的统一。分析原数据流程中的不适应新系统处理方法部分,通过数据流程的优化和改进,建立新的数据流程,确定新的数据流程中人机界面的划分。3新系统的逻辑结构把系统划分为不同的功能子系统,可以大大简化系统的设计工作。子系统划分完成以后,只要定义好子系统之间的连接关系,每一个子系统的设计、调试可以独立进行。一、业务流程的改造与设计业务流程是指为完成一定的目标或任务而进行的一系列时间上承继的业务活动序列,是企业或组织运
15、行的方式。在传统的企业管理中,组织或企业都已经形成了确定的流程和工作方式。而在信息技术条件下,由于信息的采集、处理、传递和使用的方式发生了变化,就要求改变原有流程中不适合计算机信息处理特点的工作方式,按现代信息处理的要求,重新组织业务运作过程,以事物发生的自然过程寻找解决问题的方法。二、系统总体设计1、设计目标 系统分析阶段要回答的中心问题是系统“做什么”,即明确系统功能,这个阶段的成果是得到系统的逻辑模型。系统设计要回答的中心问题是系统“怎么做”,即如何实现系统分析说明书规定的系统功能。系统设计包括总体设计和详细设计两大部分,系统总体设计是要根据系统分析的要求和组织的实际情况来对新系统的总体
16、结构形式和可利用的资源进行大致设计,它是一种宏观、总体上的设计和规划。总体设计的核心任务是完成系统模块结构设计。即在目标系统逻辑模型的基础上,把系统分解为若干功能单一、彼此相对独立的模块,形成系统的模块结构,包括系统模块的组成、模块的功能和模块间的相互关系系统总体设计主要任务是把系统的功能分解成许多基本的功能模块,确定它们之间的联系,规定它们的功能和处理流程;详细设计的主要任务是在系统初步设计的基础上,将设计方案进一步具体化、条理化和规范化。因此,系统研制人员在系统调查与分析阶段的任务是在逻辑上弄清楚系统“做什么”,在系统设计阶段的任务则是在物理上确定系统“怎么做”,所以系统设计阶段也称为系统
17、的物理设计阶段。具体来说,系统设计的主要任务可以概括如下。(1)模块结构设计1)将系统划分成模块;2)决定每个模块的功能;3)决定模块间的调用关系;4)决定模块间的接口,即模块问数据的传递。(2)系统物理配置方案设计设备配置、通信网络的选择和设计,以及DBMS的选择等。2、系统设计的原则从逻辑模型到物理模型的设计是一个由抽象到具体的过程,有时没有明确的界限,甚至可能有反复。经过系统设计,设计人员应该能为程序员提供经过评审的完整、清楚、准确、规范的系统设计文档,且对设计规范中不清楚的地方做出解释。系统设计总的原则是保证系统设计目标的实现,并在此基础上使技术资源的运用达到最佳。在进行系统设计过程中
18、,应遵循以下原则。(1)系统性原则系统是作为一个有机整体而存在的。因此,在系统设计中,要从整个系统的角度进行考虑,使系统有统一的信息代码、统一的数据组织方法、统一的设计规范和标准,以提高系统的设计质量。(2)经济性原则经济性原则是指在满足系统要求的前提下,尽可能减少系统的费用支出。一方面,在系统硬件投资上不能盲目追求技术上的先进,而应以满足系统应用需要为前提。另一方面,系统设计应避免不必要的复杂化,各模块应尽可能简洁,以便缩短处理流程,减少处理时间。(3)可靠性原则可靠性既是评价系统设计质量的一个重要指标,又是系统设计的一个基本出发点。只有设计出的系统是安全可靠的,才能在实际中发挥它应有的作用
19、。一个成功的管理信息系统必须具有较高的可靠性,如安全保密性、检错及纠错能力、抗病毒能力、系统恢复能力等。(4)简单性原则在系统达到预定目标、完成规定功能的前提下,应该尽量简单。具体来说,在设计过程中,要设法减少数据输入的次数和数量,提高系统中数据的共享性;要使操作简单化,使用户容易理解操作的步骤和要求,确保用户的主动地位;系统结构清晰合理,易于理解和维护。(5)灵活性原则系统对外界环境的变化要有很强的适应能力,系统容易修改和维护。因此系统设计人员要有一定的预见性,要从通用的角度考虑系统设计。案例 学生管理系统的系统分析本系统主要实现对学生基本档案和学生成绩的管理,学生入校后录入学生基本信息、由
20、学生信息管理员对学生信息进行编辑处理、学生成绩管理员对学生的考试成绩录入处理,同时对班级信息、课程信息进行管理,并实现相关数据的查找处理 。1、业务处理流程录入班级信息学生库课程库成绩库班级库录入学生信息录入成绩信息录入课程信息查询及报告生成3、总体结构功能描述(1)系统管理系统管理具有用户管理和退出系统的功能。对系统支持性数据作维护。可以添加,删除,修改用户信息,设置用户登陆密码,以及确认用户角色。学生档案管理学生档案管理包括学生档案的建立、修改、查询等内容。学生的档案包括学号、姓名、性别、班级、学制、专业、出生日期、家庭地址、联系电话、入学时间、简单的备注说明等内容,对学生的档案可以进行录
21、入、查询、修改、删除及打印操作查询学生档案可以按学号、姓名、班级以及模糊查询,查询结果能打印输出打印学生档案时要求可以打印多个或单个学生档案,也可以连续打印全部学生档案。其格式参见学籍管理部门提供的表格格式班级管理班级管理包括班级的设置、修改、查询。班级的设置包括年级、班级名称、班级编号、班主任、所属系部、备注等。对班级的档案可以进行录入、查询、修改、删除及打印操作。查询可按年级、班级或专业等进行。支持打印班级设置信息,要求可以打印单个或多个班级信息,也可以连续打印全部班级信息。课程管理课程管理主要是设置课程的名称和使用教材,能够进行增加、删除和修改。针对不同年级、不同专业、学制对各个班级设置
22、教学计划。成绩管理可以根据学生所学课程录入学生成绩,包括正式考试、补考,能查询课程成绩、班级学期成绩、学生成绩。(7)、系统管理为保证系统的安全,只有能够登录该系统,并且要求在进入操作之前,检查密码和姓名是否正确。(8)辅助功能:常用功能项有快捷键,打印有预览。第二章 数据库设计一、总体数据库的设计1、原则进行总体数据库设计时应遵循的基本原则是: 1)数据结构的合理性 数据结构的合理性要求指数据文件组织合理,数据元素归类和划分合理,以及对数据项进行合理描述。 2)数据存储的安全性 数据存储的安全性要求从存储总体结构上保证数据的安全性、一致性和完整性。一般来说,提高安全性的最有效措施是增加数据的
23、冗余,而数据的大量冗余往往为维护数据一致性带来困难。这是对不可调和的矛盾。对此应进行合理取舍,在尽量降低冗余的前提下,确保数据的安全性与可靠性。 3)维护和管理方便 无论设计什么样的存储结构,首先应保证对数据进行管理和维护上的方便,它是提高系统运行效率的基础。2、数据的分类数据主要分基础数据、中间数据、工作数据和暂存数据四大类。基础数据是指整个系统的输人数据、输出数据、代码、各种工作和技术标准、规范以及主要子系统的共享数据;中间数据是指在数据处理中需要保存的中间结果;工作数据是指为提高某项处理功能的效率而事先加工好的数据;暂存数据是指处理过程中需存储、在处理过程结束后即可消除的数据。3数据存储
24、规模设计数据存储规模设计中要考虑的因素主要包括: 现有数据量的存储规模 未来数据量的增长趋势 数据类型的划分数据存储规模设计就是要在分析的基础上,合理的组织数据的存储格式,选择合理的存储技术和设备对数据进行存储。 4数据的安全性和完整性设计在数据存储设计中,安全性保护是防止机密数据泄漏;防止无权者使用、改变或有意破坏他们无权使用的数据。完整性保护是保护数据结构不受损害,保证数据的正确性、有效性和一致性。数据库提供的主要保护数据安全的手段是对用户存取数据库的数据进行严格的控制。数据库的数据共享必然会带来数据库的安全性问题,如果数据库不能严格保证数据的安全性,就会严重制约它的应用,因此,数据库系统
25、中的数据共享不能是无条件的,而必须是在统一的严格的控制之下,只允许有合法使用权限的用户访问允许他存取的数据。数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一。5 数据库管理系统(DBMS)的选择在进行系统总体数据库设计时应遵循以下主要原则:(1)数据结构的合理性即数据文件的合理组织,数据元素的合理归类和划分,以及数据项的合理描述。(2)数据存储的安全性是指从总体存储结构上如何保证数据的安全性、一致性和完整性。一般来说,提高安全性的最有效措施之一是增加数据的冗余,而数据的大量冗余往往为维护数据一致性带来困难。这是一对不可调和的矛盾,对此,在总体数据库设计时就应进行合理取舍,在尽量降
26、低冗余的前提下,确保数据的安全性与可靠性。(3)维护和管理方便在进行总体数据库结构设计时,必须首先保证对数据进行管理和维护的方便性,这是提高系统运行效率的基础。二、数据处理与数据存贮的设计数据处理描述了各主要处理活动之间的关系,包括所有的数据处理活动和有关的输入/输出的描述。数据存贮设计则根据数据资源分布具体确定了数据存贮的逻辑方式。这一阶段的设计是下一步进行数据处理和存贮的详细设计的基础。系统设计人员根据这一结果选择具体的信息处理技术和数据库系统。1、数据处理功能/数据分析描述了功能划分和数据资源分布的关系,但在逻辑设计中对各功能间数据的传递关系还需要更细致的描述。数据处理描述了模块间关联的
27、方式和模块内部的功能和数据输入/输出关系,是逻辑设计的核心内容之一。这部分工作常用工具有系统流程图、HIPO图等2、数据存贮设计1)数据组织的规范化现代信息系统的数据处理都是采用关系数据库系统。关系数据库系统都是按关系方式组织的对于系统中处理的数据,必须按关系数据库的要求进行规范化处理。在关系的规范化表达中,数据是以二维表的方式组织的,一个表就是一个关系,每个数据项称为数据元素,为表中的一个字段。一个表中还必定义一个字段能唯一确定相关的元素,称为关键词。在对表的形式进行规范化以后,就可以按照关系规范化理论进行关系的规范化。关系规范化理论定义了五种规范化模式,称为范式(normal form)。
28、五种范式是包含的关系,即满足高一级范式的关系必然也满足低级范式的要求。 关系规范化的方法可以参考有关数据库方面的教材。一般来说,满足第三范式的关系即可满足信息处理的要求,就可以认为是比较规范的关系。2)整体关系结构的建立规范化以后的关系只是描述了单个事物的属性或者关于全局的某一方面的信息,对于事物之间的相互作用和联系,则需要通过表之间的关联来实现。数据库分析中的数据模型,一般采用实体-联系模型(E-R模型)转换而来。ER模型采用ER图来表示将ER模型转换成一般的数据模型(层次、网状或关系)时,必须遵循一定的转换规则。E-R模型转换为关系模型的规则如下: 每个实体对应一个关系模式。实体名作为关系
29、名,实体的属性作为对应关系的属性。 实体间的联系对应一个关系,联系名作为关系名。 实体和联系中关键字对应的属性在关系模式中仍为关键字。根据这些规则,很容易把实体和联系转换为关系数据模型三、 数据库结构原则 规定除数据库设计所遵循的范式外的一些适用原则,在遵循数据库设计范式的基础 ,合理地划分表,添加状态和控制字段等。 1、 辅助编码表 为了使辅助编码表能起到预期的效能,又不因过多的辅助编码表难以管理,故对辅助编码表的使用作如下规定: 1). 当某辅助编码表的编码允许用户添加时,应设计成“独立”的数据表;否则,将不允许用户添加编码的各辅助编码表合并成一个“通用”的辅助编码表。 2). “独立”的
30、辅助编码表与主表的列采用主-外约束保证列数据完整性。 3). “通用”的辅助编码表与各主表间没有约束关系,主表列的数据完整性由列说明的 “域”来保证。 4). “通用”的辅助编码表除编码和名称列外,还有一个标识列,用来标识合并前的各码表,该标识列+编码列作为该表的主键。 5). 对于“独立”的辅助编码表,用户只可添加新的编码和改变名称,并且不能改变一个编码所代表的意义;对于“通用”的辅助编码表,原则上不允许用户修改,或只有限地允许修改名称。2、 基本编码表 1). 基本编码表可以有如下的标识列:内编码、外编码、助记码、简称、全称。内编码(唯一编码)作为主键有程序自动生成,用户不可见;外编码(唯
31、一编码)由用户按某种 规则自行定义,用户可见;助记码为拼音缩,方便录入,不唯一,重码时由列表选择;简 称用于列表显示和报表,以便缩短行宽。以上的列在实现时可视情况和习惯加以删减。 2). 当码表的列较多且也行较多时,可将上述的标识列和常用的信息存于一个表,将其 它的信息另表存储。3)、 业务数据表 1). 设有录入人和录入日期列,由系统自动记录。 2). 记录单据的表中设置“自动单据号”,由两个字符开始以区分单据类型,后跟一数字序列表示序号。自动单据号由系统自动生成,作为主表的主键,不允许用户修改。当有对应的纸质单据时,设置“单据号”用于记录纸质单据的单据号。 3). 明细表中设有行序号,自动
32、记录行的录入顺序。 4). 设置“存档标记”列,用于抽取数据到决策数据库时的更新标记。插入新行或修改已有行时设置该标记;数据抽取后清除该标记。 5). 对于用于查询过滤条件的列,不可为空,以免行“丢失”。 6). 对于数值列,不可为空,“0”作为默认值。 7). 对于必要的“冗余”列,如客户名称,应有相应的程序保持各“冗余”列的同一性 ,以免出现异议。 8). 设置“过程状态”列和“记录状态”列。过程状态列用于记录如创建、审核、记账、冲红等状态;记录状态用于记录如有效、删除等状态。四、数据库命名规范1. 实体(表)的命名1) 表以名词或名词短语命名,确定表名是采用复数还是单数形式,此外给表的别
33、名定义简单规则(比方说,如果表名是一个单词,别名就取单词的前4 个字母;如果表名是两个单词,就各取两个单词的前两个字母组成4 个字母长的别名;如果表的名字由3 个单词组成,从头两个单词中各取一个然后从最后一个单词中再取出两个字母,结果还是组成4 字母长的别名,其余依次类推)对工作用表来说,表名可以加上前缀WORK_ 后面附上采用该表的应用程序的名字。在命名过程当中,根据语义拼凑缩写即可。注意:将字段名称会统一成大写或者小写中的一种,故中间加上下划线。2) 如果表或者是字段的名称仅有一个单词,那么建议不使用缩写,而是用完整的单词。3) 所有的存储值列表的表前面加上前缀Z目的是将这些值列表类排序在
34、数据库最后。4) 所有的冗余类的命名(主要是累计表)前面加上前缀X冗余类是为了提高数据库效率,非规范化数据库的时候加入的字段或者表5) 关联类通过用下划线连接两个基本类之后,再加前缀R的方式命名,后面按照字母顺序罗列两个表名或者表名的缩写。关联表用于保存多对多关系。如果被关联的表名大于10个字母,必须将原来的表名的进行缩写。如果没有其他原因,建议都使用缩写。举例:表Object与自身存在多对多的关系,则保存多对多关系的表命名为:R_Object;表 Depart和Employee;存在多对多的关系;则关联表命名为R_Dept_Emp2. 属性(列)的命名1) 采用有意义的列名表内的列要针对键采
35、用一整套设计规则。每一个表都将有一个自动ID作为主健,逻辑上的主健作为第一组候选主健来定义;A、如果是数据库自动生成的编码,统一命名为:IDB、如果是自定义的逻辑上的编码则用缩写加“ID”的方法命名,即“XXXX_ID”C、如果键是数字类型,你可以用_NO 作为后缀;D、如果是字符类型则可以采用_CODE 后缀E、对列名应该采用标准的前缀和后缀。2) 所有的属性加上有关类型的后缀注意,如果还需要其它的后缀,都放在类型后缀之前。注: 数据类型是文本的字段,类型后缀TX可以不写。有些类型比较明显的字段,可以不写类型后缀。3) 采用前缀命名给每个表的列名都采用统一的前缀,那么在编写SQL表达式的时候
36、会得到大大的简化。这样做也确实有缺点,比如破坏了自动表连接工具的作用,后者把公共列名同某些数据库联系起来。3. 视图的命名1) 视图以V作为前缀,其他命名规则和表的命名类似;2) 命名应尽量体现各视图的功能。4. 触发器的命名(尽量不使用)触发器以TR作为前缀,触发器名为相应的表名加上后缀,Insert触发器加_I,Delete触发器加_D,Update触发器加_U,如:TR_Customer_I,TR_Customer_D,TR_Customer_U。5. 存储过程名存储过程应以UP_开头,和系统的存储过程区分,后续部分主要以动宾形式构成,并用下划线分割各个组成部分。如增加代理商的帐户的存储
37、过程为UP_Ins_Agent_Account。6. 变量名变量名采用小写,若属于词组形式,用下划线分隔每个单词,如my_err_no。7. 命名中其他注意事项1) 以上命名都不得超过30个字符的系统限制。变量名的长度限制为29(不包括标识字符)。2) 数据对象、变量的命名都采用英文字符,禁止使用中文命名。绝对不要在对象名的字符之间留空格。3) 小心保留词,要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突4) 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了。案例 学生管理系统的数据库设计数
38、据库设计的合理是否,与数据库的完整性、安全性、程序运行的效率和程序设计的复杂程度等有着十分密切的关系。数据库设计的内容包括数据库管理系统的选择、数据实体的确定和数据库的具体实现。根据本系统数据的特性和流量规模,考虑到安全性等因素,确定采用目前比较流行的sql server 数据库管理系统对本图书馆管理信息系统提供支持。根据本系统的内容和特性,确定本系统只设计一个数据库STUinFO一、E-R模型nn1n11nn1班级学生课程教学计划考试成绩班级_学生班级_计划课程_计划学生-成绩1课程_成绩二、企业规则:1、每个学生必须有所属的班级2、课程计划中的课程必须是已经存在的课程3、考试成绩中的学号必
39、须在学生表中存在4、考试成绩中的课程必须在教学计划中存在5、每个学生每学期同一考试类型的课程成绩记录只能有一个。6、若学生存在考试成绩,则不能删除该学生的基本档案信息7、若课程表中的课程已经在课程计划中存在,则不能删除8、学号原则上不能修改9、课程表中课程编号改变时、课程计划表、成绩表中的课程编号要相应的改变三、数据库的逻辑结构:主键及关系说明:1、班级表:存储班级的信息。提供“班级编号”主键,按年级+专业+序号编码,并且主键是课程计划和学生表引用的外键;2、学生表:存储学生的信息。学号为主键,并且引用了班级表的主键;主键是学生表引用的外键;3、课程表:存储所有课程信息课程编号为主键,主键是课
40、程计划表引用的外键4、课程计划表: 存储每个班级的课程计划主键为课程编号、班级编号,班级编号引用了班级表的主键,课程编号引用了课程表的主键5、成绩表 存储每个学生的考试成绩主键为课程编号、学号、学期、考试类别,学号引用了学生表的主键,课程编号引用了课程表的主键。四、表设计数据库对应的表设计如下图(字段采用英文表示),表设计的字段请参考概念设计部分原始数据的形式。1、StudentsInFo2、ClassInfo:3、CourseInfo:4、CoursePlan5、ExamInfo:6、StudentStatus:7、UserMessage:五、存储过程与触发器的设计:(略)第三章 界面设计一
41、、设计原则设计一个友好的用户界面应遵循以下原则:1用户针对性原则用户针对性原则指的是在明确用户类型的前提下有针对性地设计人机界面。明确用户类型是指界定使用系统的用户(最终用户),它是人机界面设计的首要环节。根据用户经验、能力和要求的不同,可以将其分为偶然型用户、生疏型用户、熟练型用户和专家型用户等类型。对于前两类用户,要求系统给出更多的支持和帮助,指导用户完成其工作。而对于熟练型用户特别是专家型用户,要求系统有更高的运行效率,使用更灵活,而提示或帮助可以减少。2尽量减少用户的工作在分派人机系统各个体所应完成的任务时,应该让计算机更积极、更主动、更勤劳,做更多的工作,而让人更轻松、更方便,尽可能
42、少做工作。人机界面越完美、形象、易用,用户就能以更少的脑力及体能完成所应完成的工作。3应用程序与人机界面相分离应用程序与人机界面相分离的思想类似于数据库管理系统中数据和应用程序的分离。数据的存储、查询、管理可由专用软件即数据库管理系统完成,应用程序不再考虑系统中与数据管理相关的细节工作,而将精力集中于应用功能的实现上。在人机交互系统中,也同样可以把人机界面的功能,包括人机界面的布局、显示、用户操作等由专门的用户界面管理系统完成,应用程序不再管理人机交互功能,也不与人机界面编码混杂在一起。应用程序设计者致力于应用功能的开发,界面设计者致力于界面开发。人机界面和应用程序的分离可使应用程序简单化和专
43、用化。 4人机界面一致性人机界面的一致性主要是指输入和输出方面的一致性,具体是指在应用程序的不同部分,甚至是在不同应用程序之间,要具有相似的界面外观和布局,具有相似的人机交互方式及相似的信息显示格式等。一致性原则有助于用户学习和掌握系统操作,减少用户的学习量和记忆量。 5.系统反馈及时性人机交互系统的反馈是指用户从计算机方得到的信息,它表示计算机对用户的操作所作的反应。如果系统没有反馈,用户就无法判断其操作是否为计算机所接受、操作是否正确、操作的效果如何。反馈信息可以以多种方式呈现,如响铃提示出错,高亮度提示选择等。如果执行某个功能或命令需要较长的时间时,则应给出相应的提示信息。 6尽量减少用
44、户记忆用户在操作计算机时,总需要一定量的存于大脑中的知识和经验即记忆的提取。一个界面良好的系统应该尽量减少用户的记忆要求。对话、多窗口显示、帮助等形式都可减少用户的记忆要求。 7及时的出错处理及帮助功能系统应该能够对可能出现的错误进行检测和处理。出错信息包含出错位置、出错原因及修改出错建议等方面的内容,出错信息应清楚、易理解。良好的系统还应能预防错误的发生,例如应该具备保护功能,防止因用户的误操作而破坏系统的运行状态和信息存储。此外,系统应提供帮助功能,帮助用户学习使用系统。帮助信息应该在用户出现操作困难时随时提供。帮助信息可以是综合性的内容介绍,也可以是与系统当前状态相关的针对性信息。 8使
45、用图形图形具有直观、形象、信息量大等优点,使用图形作为人机界面可使用户操作及信息反馈可视、逼真。二、界面规范1.窗体控件布局1)控件间距窗体控件布局合理,绝对不能显得拥挤;拥挤的窗体控件布局让人难以理解,因而难以使用。让人看上去,不能太拥挤,也不能太松散。控件对窗体的覆盖率以不高于75%为宜。控件间隔(垂直):组与组之间间隔15,组内控件间间间隔10。控件间隔(水平):组与组之间间隔15,组内控件间间间隔10。注:控件间间隔应该根据窗体的覆盖率灵活进行调整,但以大于10为宜;而且在整个系统内,采用统一的控件间隔。可以通过调整窗体大小达到一致,即使在窗体大小不变的情况下,宁可留空部分区域,也不要
46、破坏控件间的间隔。2)控件对齐控件水平排列成一行时,采用水平中对齐, 控件间隔按要求基本保持一致。行与行之间间隔相同,靠窗体边界距离应大于行间间隔。当窗体中有多个编辑区域时,以视觉效果和效率来分组组织这些区域。3).文字对齐界面文字(包括数字和英文字母),一般情况下都应垂直右对齐,并且使用中文全角标点符号。4).窗口缩放窗体不可避免地会进行最小化、最大化等改变窗体大小的缩放操作,为了使窗体界面不出现混乱,应该在窗体布局设计时考虑相应的解决方法:(1)固定窗口大小,不允许改变大小,也不允许最大化、最小化的操作,避免窗体界面出现混乱;(2)使用控件的Dock(Fill、Top、Left等)属性,结
47、合Panel、GroupBox等控件进行设计,使窗体在缩放的时候,控件能自动进行大小调整。(3)通过程序自行控制。在窗口大小改变的时候,捕捉窗体的Resize或SizeChanged事件进行相应处理。2.界面配色1) 如果使用经过设计的系列界面,则必须统一色调,针对软件类型以及用户工作环境选择恰当色调。注:如安全软件可以选取黄色;绿色表现环保,蓝色表现时尚,紫色表现浪漫等;淡色背景可以使人舒适,暗色做背景使人不觉得累等。2) 如果不使用系列界面,采用标准界面则必须做到与操作系统统一。3) 遵循对比原则:在浅色背景上使用深色文字,深色背景上使用浅色文字。注:如蓝色文字以白色为背景容易识别,而在红
48、色背景下则不易分辨,原因是红色与蓝色的对比度不够,而蓝色和白色的对比度很大,容易识别。除非特殊场合,杜绝使用对比强烈,让人产生憎恶感的颜色。4) 整个界面色彩尽量不使用或少使用多种不同的颜色。3、控件风格1) 命名控件命名统一采用简写_控件名称的方式,其中简写由控件在系统中的默认英文名称的大写字母组成,如TextBox控件则简写为tb;控件名称一般根据控件的用途或者控件显示的内容进行命名,比如:LoginName,则整个控件可以命名为tb_LoginName。2) 系统中使用的控件,样式、前景色、背景色、功能、操作方式等尽量保持一致,并且符合系统的整体配色风格,避免给用户造成混乱感觉。3) 当
49、在某一特定条件下,某个控件用户不可用时,对控件Enabled属性设置为False而不是将Visible属性设为False。注:如用户显示文本的RichText控件有右键弹出菜单,则在系统内所有的RichText控件都应该一致地有右键弹出菜单。4.字体一般情况下,中文字体使用的宋体,字号大小9号;英文字体使用标准Microsoft Sans Serif字体。注:在系统中,一定使用标准字体,不考虑特殊字体(隶书、草书等特殊情况使用图片代替),以保证每个用户使用系统时显示都正常。5.交互信息在用户与计算机应用系统交互过程中,交互信息是极其重要的。它向用户提示有关系统的操作、运行状态、系统错误等各个方
50、面的信息,让用户更好地了解系统,更好地使用系统。注:本规范中的交互信息主要包括系统提示信息(提示需要让用户注意的问题)、询问信息(如是否继续某个操作)、警告信息(如提示某个安全问题)、错误信息(系统运行时出现的错误信息)等。系统中交互信息应遵循的原则有:1) 简洁易懂尽量使用简单易懂的表述,如口语化,杜绝使用生涩难懂的专业术语;注意断句,正确、合理的使用顿号、逗号等标点符号,内容有较大差别时,注意分段。2) 分类统一按照提示信息、询问信息、警告信息、错误信息等进行分类,对每种信息提供的方式及相关的窗体设计、布局进行统一,包括窗体标题,使用的提示图片、字体、字体颜色、字体大小等。注:如错误信息统
51、一使用弹出窗口,并使用错误标记,只留下确定按钮,统一窗口标题为系统错误,统一表述的语气及方式:系统出现错误:(错误内容)。请与系统管理员联系。3) 合理使用当用户的指令系统需要较长的时间进行处理时,系统应提供相应的提示信息,并在处理完成后给与用户适当提示,以提示处理已经完成。6.其他方面1) Tab键(TabIndex)按Tab激活控件的顺序一般按照从左至右、从上至下的顺序排列(注意设定TabIndex的值)。2) 快捷键、加速键以及辅助菜单(1)系统快捷键在菜单中进行描述,并在系统帮助中特别说明;避免使用与系统重复的快捷键(如Ctrl + Alt + Del)。(2)可接收动作控件(如菜单、
52、按钮)必须拥有加速键。加速键定义准则:为英文单词第一个字母,如果同一窗体重复则用第二个字母,以此类推;加速键使用统一的形式表示,如加下划线:文件(F),英文直接加下划线:Cancel;正确、合理使用缺省按键,支持回车及Esc按键。(3)辅助菜单必须在可视化窗体界面上拥有对应的按钮或者菜单选项。注:由于辅助菜单无法直接显示给用户,需要由用户点击鼠标右键或者别的动作才能调出来显示给用户,所以对应选项应该可以通过别的途径得到,例如界面上有相应控件或弹出右键菜单的按钮等。3) 鼠标光标、图标样式(1)鼠标光标样式统一,尽量使用系统标准样式,杜绝出现重复的情况。(2)图标按照系统的特点及系统的整体风格进
53、行设计,统一构图布局,统一色调、对比度、色阶等各方面;图标应能很清晰的表达意思,遵循常用标准,或者用户容易联想的到事物,杜绝出现生僻和令人不解的图片。第四章 系统实现一、模块的功能设计总体设计将系统分解成许多模块,并决定了每个模块的外部特征、功能和界面,描述了模块之间的调用关系以及模块之间的传递数据。但是,它没有详细地表达各功能模块的输入数据、处理过程和输出数据之间的逻辑关系,程序设计人员无法据此编写程序代码。因此还要进一步对各功能模块的处理过程,以及处理过程中的各种输入和输出数据,进行详细设计,这是系统详细设计阶段的重要任务。1、处理过程设计处理过程设计的主要内容是通过一种合适的表达方法来描
54、述每个模块的功能实现过程。要求表达方法简明、准确,任何程序员都能据此进行系统程序设计,也能够的自如地编制系统所需的程序模块。处理过程设计的描述工具较多,下面介绍几种常用的工具1)。 IPO(Input-Process-Output, IPO)是用于描述某个特定模块内部的处理过程和输入输出关系的图。IPO是配合HIPO详细说明每个模块的输入、输出数据和数据加工的重要工具。2)流程图流程图(flow chart)即程序框图,又称程序流程图。它是用统一规定的标准符号描述程序执行具体步骤的图形表示,是使用历史最久、流行最广的一种描述工具。二、编程C#代码的规范化1. 文件组织1) C# 源文件类名或文件名
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河北省石家庄市市属国有企业招聘(管理类知识)复习题及答案
- 2025年智能安防设备采购合同范本
- 2026年铁路局招聘考试面试试题及答案辽源
- 国家电网招聘考试面试考题及答案(2026年宁夏)
- 2025企业购销合同范本
- 中国隔爆型防爆扰性连接管项目投资可行性研究报告
- 中国办公设备用电磁铁项目投资可行性研究报告
- 2025标准房屋买卖合同范本
- 2025年下半年佛山市南海区建筑工程质量监督站招考专项编外工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 中国电磁炉蒸格项目投资可行性研究报告
- 2025年舞台灯光考试试卷及答案
- 2025-2030肿瘤早期筛查技术发展现状与产业化前景分析报告
- 2025年国家义务教育质量监测小学生心理健康测试试卷(答案+解析)
- 大型商超策划合同范本
- 企业文化建设框架模型
- 2025年高中生入团考试试题及答案
- 屋顶漏水原因及解决方法
- 风电设备维护保养实操指导手册
- 2025年科目一考试题库(+答案)2025年
- 2026水利部松辽水利委员会所属事业单位招聘工作人员7人备考考试题库附答案解析
- 幼儿园食品安全员培训资料及考试试题(含答案)
评论
0/150
提交评论