一、课程设计的目的和要求1.1设计目标运用数据库设计理论设计一个较完善有意义的数据库。掌握目前流行的数据库管理系统MicrosoftSqlServer2000的使用与应用开发技术。为数据库开发相应的应用程序,构成完整的数据库应用系统。将设计在数据库管理系统上Oracle等一个或组合实现,开发工具可以选用VB、VC、java、html或其他程序设计语言。1.2基本要求采用面向对象的方法开发,按照软件工程课程中讲的有关数据库及其应用系统设计章节的内容,进行分析和设计,并按照面向对象的设计流程给出相应的分析设计文档。分析文档中应涉及到以下几个基本方面:需求分析与表达(oo分析,需求建模)、oo模型与关系模型的转换(映射方案、数据库结构、建库的sql语句)、完整性考虑(完整性约束、存储过程或触发器)、并发控制(数据并发问题,可加锁)、安全性考虑(数据库安全机制)、数据库备份与恢复、系统体系结构(c/s、b/s)、用户接口设计(操作界面设计)、程序功能设计、关键源程序等等。1.3课题选择银行储蓄管理系统二、银行储蓄可行性分析2.1基本要求2.1.1功能要求此系统所要完成的主要功能有两方面:储户填写存款单或取款单交给业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,完成后由系统打印存款单给储户。如果是取款,业务员把取款金额输入系统并要求储户输入密码以确认身份,核对密码正确无误后系统计算利息并印出利息清单给储户2.1.2性能要求为了满足储户的要求,系统必须要有高的运作速度,储户填写的表单输入到系统,系统必须能快速及时作出响应,迅速处理各项数据、信息,显示出所有必需信息并打印出各项清单,所以要求很高的信息量速度和大的主存容量;由于要存贮大量的数据和信息,也要有足够大的磁盘容量;另外,银行计算机储蓄系统必须有可靠的安全措施,以保证储户的存储安全。2.1.3接口要求业务员键入储户的资料要全部一直显示在屏幕上;储户键入密码到系统以核对;计算机与打印机有高速传输的连接接口,最后以纸张的形式打印出清单给储户。2.1.4输入要求业务员从存取款表单输入数据,要迅速精确,适当调整输入时间,不能让客户等太久,但也不能让业务员太过忙碌以免影响正确率,造成用户损失。2.1.5输出要求要求快速准确地打印出存款或取款清单给客户。2.2开发目标近期目标:第一年内在一个银行建立一个银行内部计算机储蓄系统,初步实现银行储蓄系统计算机化,并保证该银行能够按期望顺利完成工作。长期目标:希望在三至四年内,在国内银行中建立该计算机储蓄系统,促进银行间的互联合作,实现银行储蓄系统的计算机管理体制,提高银行储蓄系统的整体水平;并实现银行储蓄系统的高效性、方便性、实用性、互联性,给储蓄用户带来方便和益处,从而提高银行的信用度,提高银行公司的经济效益和社会效益。2.3限制条件2.3.1开发时间(只限于近期目标)预定为半年。2.3.2运行环境Windowsxp及以上操作系统、数据库:MicrosoftSQLServer2000。MicrosoftVisualBasic6.0中文版.2.3.3使用寿命该系统至少使用四年以上。2.3.4进行可行性研究的方法采用调查方法:通过对银行业务员和客户的调查以获得第一手资料,确定客户和实际应用中的需求;然后经过座谈或开会的形式和专家以及银行经理交谈,落实最后的问题定义。三、银行储蓄需求分析3.1编写目的本报告的目的是规范化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了本银行储蓄系统的软件开发过程,便于程序员与客户之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大范围的应用此文档进一步定制软件开发的细节问题,明确软件需求、安排项目规划与进度、组织软件开发与测试,便于用户与开发商协调工作。本文档面向的读者主要是项目委托单位的管理人员、设计人员和开发人员,希望能使本软件开发工作更具体。3.2背景软件名称:银行储蓄系统委托单位:银行开发单位:xxxxxxxxx主管:xxxxxx3.3定义·银行储蓄应用系统软件:基本元素为构成银行储蓄及相关行为所必须的各种部分。·媒体素材:是指传播教学信息的基本材料单元,可分为五大类:文本类素材、图形(图像)类素材、音频类素材、动画类素材、视频类素材。·需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。·需求分析:包括提炼,分析和仔细审查已收集到的需求,以确保所有的风险承担者都明其含义并找出其中的错误,遗憾或其它不足的地方。·模块的独立性:是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他的模块的接口是简单的.·SQLServer2000:Microsoft公司开发的一种功能强大的关系型数据库。·MicrosoftVisualBasic6.0中文版:Microsoft公司开司的一种功能强大的编程软件。3.4功能需求根据系统可行性分析及业务要求,及相关的功能、性能分析,可以对系统现有的需求进行需求建模,主要涉及到用例、用例图的建立,类图及联系的建立,以及数据结构的定义等。3.5用例分析根据银行储蓄管理系统的分析,可明确系统的功能需求主要涉及都以下的几个部分。参与人员:银行管理员、储户、系统用户用例:存款、取款、转账、查现、查看历史、修改密码(储户);开户、销户、挂失、解挂、修改密码(系统用户);增加用户、查看用户、删除用户、已批申请、待批申请(银行管理员)根据相应的用例分析,可以为系统功能建模(用例图):储户系统用户银行管理员取款修改账户密码存款查询余额查询历史查询用户待批申请删除用户修改系统密码增加用户已批申请转账销户开户挂失解挂简单用例流程分析:1.用户注册系统后,即成为系统用户,系统用户可凭借用户名、密码、等级进入系统。系统用户可实现开户、销户、挂失、解挂、修改系统密码等用例。2.系统用户只有使用账户、账户密码二次登陆后,才可以实现存款、取款、转账、查询余额、查询历史、修改账户密码等用例。3.银行管理人员登陆后,可以实现增加用户、删除用户、查看用户、查看已批申请、处理待办申请、修改系统密码等用例。4.系统的参与者(系统用户、储户、银行管理员)在实现用例时,系统会自动根据其权限给予适当的实现用例。3.6系统层次方框图由用例分析可知,系统的参与者有三种:系统用户、储户、银行管理员,由于角色不同,故参与者权限的分配也不同,根据功能描述的用例图可得到以下不同角色的层次方框图。(1)银行管理员(2)系统普通用户(3)储户银行管理员增加系统用户删除系统用户查看系统用户查看已批申请查看未批申请修改系统密码普通用户开户销户挂失解挂改密由于储蓄用户也是系统普通用户,故储户也拥有和系统普通用户一样的所有权限,在上面的层次方框图中,仅列出了储蓄用户特有的权限。3.7OO模型分析根据银行储蓄管理系统的用例分析,银行的参与者主要有三种:银行管理员、储户、系统用户,因为储户、银行管理员都实现了系统用户,故参与者用CommonUser角色实现;由于一个系统用户可拥有多个账号,每个账户可以对应一个系统用户,故账户用AccountUser角色实现;考虑到相关系统参与者的业务涉及范围,银行管理员可以操作账户申请以及账户的挂失、解挂等申请信息,故申请信息用MessageRegister实现申请信息记录;由于储户在相关业务操作的过程中,系统可为其记录相关的操作日志,用户实时可以查看历史记录,以了解储蓄详情和保障账户安全,故可以用MessageLogger来实现历史记录。有上述分析可知,在银行储蓄管理系统中,主要涉及到四个数据模型的建立,分别用CommonUser、AccountUser、MessageRegister、MessageLogger四个实体类实现。由于业务操作中,系统参与者之间的交互性,各个数据实体之间存在一定的相关性。一个系统用户CommonUser,可以对应多个账户AccountUser,一个账户AccountUser只能对应一个系统用户CommonUser;一个账户AccountUser可以对应多条历史记录信息MessageLogger,一条历史记录信息MessageLogger只能对应一个账户AccountUser;一个账户还可以对应多条申请记录信息MessageRegister,但一条申请记录信息MessageRegister只能对应一个账户AccountUser。3.8关系模型的分析由以上数据模型的分析,以及相关类和类之间的映射关系的确立,可以将上述的OO模型按照对应的映射方案,映射成对应的关系模型,并按照映射出的关系模型设计合理的数据库文件结构。关系模型的映射:根据数据模型分析,由于AccountUser与Commonuser间是多对一映射,故:AccountUser(account,apassword,address,phone,realname,deposit,state,cname);CommonUser(cname,cpassword,clevel);由于AccountUser与MessageLogger之间是一对多映射,故:储户存款取款转账查现历史改密MessageLogger(dealid,dealtype,dealtime,dealmoney,dealaccount);由于AccountUser与MessageRegister之间是一对多映射,故:MessageRegister(registerid,registertype,solvement,registertime,registeraccount)3.9数据描述根据关系模型,可以为本系统的建立数据库accont,其中有四张表,分别是系统用户表CommonUser、储户表AccountUser、储户操作日志表MessageLogger、储户申请信息表MessageRegister。由上面的数据表的结构描述,给出了银行储蓄管理系统的数据库的具体的见表的sql语句,如下:------创建数据库------createdatabaseaccountuseaccount-----系统用户表(可对应多个账户用户)------createtableCommonUser(cnamevarchar(10)primarykeynotnull,cpasswordvarchar(10)notnull,clevelvarchar(5)notnull)-----账户用户表(只对应一个系统用户)-------createtableAccountUser(accountvarchar(20)primarykeynotnull,apasswordvarchar(6)notnull,realnamevarchar(10),addressvarchar(20),phonevarchar(15),depositint,statevarchar(5)notnull,cnamevarchar(10)foreignkeyreferencesCommonUser(cname)ondeletecascade)------账户用户存取款日志表-------createtableMessageLogger(dealidintprimarykeynotnull,dealtypevarchar(10)notnull,dealmoneyint,dealtimesmalldatetime,dealaccountvarchar(20)foreignkeyreferencesAccountUser(account)ondeletecascade)------账户用户挂失、解挂申请表-------createtableMessageRegister(registeridintprimarykeynotnull,registertypevarchar(5)notnull,solvementvarchar(5)notnu