学习报告课程名称:题目名称:学生姓名:学号:课程成绩:二零一六年六月现代软件工程银行管理系统目录0444444455677789999901前言系统的背景及开发意义(1)系统背景介绍随着计算机的飞速发展及应用领域的扩大,特别是计算机网络和电子商务的发展,极大的改变了商业银行传统的经营模式。能够为客户提供方便、快捷、安全的服务,也能够有效的降低银行的营运成本,这是银行存储系统追求的目标。目前,对于现代化银行运营的要求是客户可以实现方便安全的业务交易,银行职员可以进行高效合理的工作管理,实现银行业务电子化。(2)系统开发的意义方便用户快速的进行存款、取款、修改密码以及完成一些转账的交易,大大提高办公效率,能够及时、准确、有效的帮用户办理各种繁琐的手续,也减缓了银行工作人员的压力。系统的开发环境及工具(1)系统开发的环境硬件:Windows2000服务器、希捷ST9500420AS(500GB/7200转/分)硬盘、2GB(DDR31333MHz)内存软件:Windows10旗舰版64位SP1(DirectX11)(2)系统开发的工具系统采用MicrosoftVisualStudio2010、SQLServer2008数据库开发工具、C/S结构。下面对开发中采用的工具进行说明:①MicrosoftVisualStudio2010简介是目前最流行的平台应用程序的,VisualStudio2010版本()的界面被重新设计和组织,变得更加简单明了。并且支持开发面向的。除了,它还支持??和数据库。②SQLServer2008数据库简介SQLServer2008在的数据平台上发布,可以组织管理任何数据。可以将各种文档的数据直接存储到数据库中。可以对数据进行多种操作。这个平台具有可信任、高效、智能三大特点。③C/S结构简介C/S结构,即客户机和结构。它是软件,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯。C/S结构构相对于B/S架构而言有许多优点:a.响应速度快b.软件设计可以更好的满足用户个性化的需求c.数据处理能力强大d.系统安全性更有保障2系统需求分析系统功能需求分析用户分析需求描述本系统包括储户子系统、业务员子系统两个用户子系统(1)储户储户子系统具有开户、存款、取款、查询的功能。①开户:输入姓名、联系方式、地址进行注册开户②存款:选择金额、存款类型③取款:选择金额④查询:通过业务员进行查询(2)业务员业务员子系统具有登录、添加用户、代用户实现存款、取款、查询的功能。①登录:输入员工号、登录密码、选择业务员登录角色②添加用户:业务员在系统管理中添加储户信息③存款:提交存款信息、核对信息、信息输入系统、打印存单④取款:提交取款信息、核对信息、信息输入系统、打印存单⑤储户查询:业务员进入查询模块输入查询条件进行查询系统功能分析建模本系统采用数据流图的模型工具建模。(1)数据流图(DFD)的介绍数据流图简称DFD图,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,它只反映系统必须完成的逻辑功能,是一种功能模型。(2)数据流图的建立①建立系统顶层数据流图:根据银行管理系统需求分析可知银行管理系统的顶层数据流图是银行管理系统与储户、管理员两个外部实体进行数据交换,如图。图银行管理系统顶层图②数据流图分解:银行管理系统按功能划分为储户子系统、业务员子系统两个部分,如图。储户通过开户模块可以进行注册,通过存款模块可以选择存款类型进行存款,通过取款模块可以进行取款,通过业务员可以查询个人信息;业务员登录后可以帮助储户实现存取款,以及查询。图银行管理系统0层图③数据流图功能分解,如图图银行管理系统1层图系统数据需求分析系统数据信息描述本系统的数据信息有存款信息、取款信息、清单信息、转账单信息。(1)存款信息:姓名、卡号、交易时间、存入金额/姓名、存单号、存入金额、存款年限(2)取款信息:姓名、卡号/存单号、密码、取款时间、取款金额、身份证号(3)清单信息:姓名、交易时间、取款金额、存款金额、余额(4)转账单信息:转入卡号、转出卡号、密码、金额系统数据分析建模(1)实体-关系模型建立实体-关系模型简记E-R图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述数据结构的概念模式。①储户实体关系:储户实体具有姓名、住址、身份证号码等属性;存款关系具有金额、存款类型、到期日期、存款日期等属性;取款关系具有金额、取款日期等属性。储户和管理员之间具有存款、取款和查询的联系,和系统有打印清单的联系。②管理员实体关系:管理员实体具有员工号、姓名等属性;存款关系具有金额、存款类型、到期日期、存款日期等属性;取款关系具有金额、取款日期等属性。管理员和系统之间具有存款、取款和查询联系。实体E-R图见图。图实体E-R图其他需求分析(1)系统性能需求分析①数据精确度需求:在精度需求上,根据实际需要,数据在输入、输出及传输的过程中要满足各种精度的需求根据关键字精度的不同。②响应时间需求:无论是客户端和服务端,当用户进行操作时,系统反应的时间应在5秒以内。系统应能及时反映各种非正常情况,避免用户出现长时间等待甚至系统无响应。③用户使用性需求:界面设计易于操作,在用户使用时在客户端服务器端进行验证,并提示用户输入正确数据和正确的操作系统。④安全保密性需求:每个储户都有权限设置,对储户的信息进行加密设置。⑤操作性需求:支持Windows2000及以上的操作系统,设计连接SQLServer数据库。(2)系统输入/输出需求分析符合精度的设定,数据的输入输出都应该为数字、字母及汉字,不应该含有字符形式。(3)系统错误处理需求分析①数据库存储空间不够,引起数据库访问变慢等问题需要对磁盘进行扩展和维护。②执行程序非正常退出,响应确实,修改源代码前应备份。③数据库没启动引起访问问题,须启动数据库服务器。3系统总体设计整体架构设计本系统采用C/S结构(客户机/结构)作为设计模型。其中包括储户子系统、业务员子系统两部分。根据现在所掌握的计算机技术,选择SQLServer2008作为后台数据库开发工具,SQL查询语言进行数据库的操作访问;选择VisualStudio2010作为应用程序开发工具,WinForm窗体应用程序搭建系统运行模块。银行管理系统主要实现储户线上操作和业务员管理协助的功能,本系统包括开户、存款、取款、查询、用户管理、储户信息六个功能模块。系统总体结构设计银行管理系统分为用户操作结构设计,业务员操作结构设计,系统输出结构设计三个部分。(1)系统的主要功能如下:①实现储户开户登记②办理定期存款帐③办理定期存款手续④理活期取款帐?⑤实现利息计算⑥输出明细表⑦查看帐户信息(2)银行管理系统的功能模块结构图:图银行管理系统功能模块结构图系统数据库设计本系统的数据库名称是,里面包含5个表,依次分别是储户信息表、银行卡信息表、存款信息表、取款信息表、业务员信息表,下面将对这些表格一一介绍。(1)储户信息表储户信息表设计有身份证号、姓名、出生日期、性别、开户地点、开户日期、开户业务员员工号共7个字段。表储户信息表字段类型列名备注IDNumbevarchar身份证号IDNamevarchar姓名IDBirthdavarchar出生日期IDSexvarchar性别AccountOpeningSitevarchar开户地点AccountOpeningDatevarchar开户日期StaffNumbervarchar员工号(2)银行卡信息表银行卡信息表设计有银行卡号、银行卡密码、身份证号、姓名、余额、交易时间、员工号共7个字段。其中身份证号与存款信息表中的身份证号对应,姓名与存款信息表中姓名对应。表银行卡信息表字段类型列名备注CardNumberint银行卡号CardPasswordint银行卡密码IDNumbervarchar身份证号与存款信息表中的身份证号对应IDNamevarchar姓名与存款信息表中的姓名对应CurrentBalancedouble余额TransactionDatetimevarchar交易时间StaffNumbervarchar员工号(3)存款信息表存款信息表设计有存单号、存单密码、身份证号、姓名、存入金额、存款类型、交易时间、存款业务员员工号共8个字段。其中身份证号和姓名与取款信息表中的对应。表存款信息表字段类型列名备注SlipNumbervarchar存单号SlipPasswordint存单密码IDNumbervarchar身份证号与取款信息表中的身份证号对应IDNamevarchar姓名与取款信息表中的姓名对应IncomeAmountdouble存入金额DepositTypevarchar存款类型TranscationDatetimevarchar交易时间StaffNumbervarchar员工号(4)取款信息表取款信息表包括6个字段,分别为银行卡号、存入金额、支出金额、余额、交易时间、取款业务员员工号。其中银行卡号与银行卡信息表中的银行卡号对应。表取款信息表字段类型列名备注CardNumberint银行卡号与银行卡号信息表中的银行卡号对应IncomeAmountint存入金额PaymentAmountdouble支出金额CurrentBalancedouble余额TranscationTimevarchar交易时间StaffNumbervarchar员工号(5)业务员信息表业务员信息包括2个字段,分别为员工号和员工名。表业务员信息表字段类型列名备注StaffNumbervarchar员工号StaffNamevarchar员工名4系统详细设计及编码实现银行管理系统有用户操作,业务员操作,系统输出三个功能模块。用户操作模块的设计与实现用户操作模块的功能(1)存款模块功能:用户插入银行卡,输入密码,点击存款按钮,放入需要存储的现金。(2)取款模块功能:用户插入银行卡,输入密码,点击取款按钮,选择或输入需要取的金额。(3)转账模块功能:用户插入银行卡,输入密码,点击转账按钮,输入需要转账的账户,选择转账金额。(4)查询模块功能:用户插入银行卡,输入密码,点击查询按钮。用户操作模块的算法设计根据功能需求分析和结构设计来实现用户操作模块算法,算法用程序流程图表示,如图图用户操作模块程序流图业务员操作模块设计与实现存款取款转账查询提交存款信息提交取款信息提交转账信息提交用户查询表用户操作业务员操作模块的功能(1)开户:输入储户信息,提交用户申请表。(2)存款:插入储户银行卡,储户输入密码,点击存款按钮,放入需要存储的现金。(3)取款:插入储户银行卡,储户输入密码,点击取款按钮,选择或输入需要取的金额。(4)查询:插入储户银行卡,储户输入密码,点击查询按钮。业务员操作模块的算法设计根据功能需求分析和结构设计来实现业务员操作模块算法,算法用程序流程图表示,如图图业务员操作模块程序流程图系统输出模块设计与实现系统输出模块的功能(1)计算利息:根据储户存款和存款类型计算利息,打印清单。(2)保存新用户信息:输入新用户信息,进行保存。(3)更新用户信息:选择需要更新的用户信息,更改信息,进行保存。(4)打印存单:打印用户存单信息。系统输出模块的算法根据功能需求分析和结构设计来实现系统输出模块算法,算法用程序流程图表示,如图图系统输出模块程序流程图5系统测试测试的目的及技术本系统采用测试技术有黑盒测试技术和白盒测试技术,采用的测试步骤有单元测试、集成测试和确认测试。(1)测试的目的系统测试其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案,尽可能彻底地检查出程序中的错误,提高软件系统的可靠性。(2)测试的技术①黑盒测试技术黑盒测试是通过使用整个软件或某种软件功能来严格地测试,在测试时只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。②白盒测试技术白盒测试是通过程序的源代码进行测试而不