62 程序设计综合型实验.docx
《62 程序设计综合型实验.docx》由会员分享,可在线阅读,更多相关《62 程序设计综合型实验.docx(12页珍藏版)》请在冰点文库上搜索。
62程序设计综合型实验
第2章
程序设计综合型实验指导
综合型实验要求在本章提供的基本架构的基础上,以小组为单位,每组均设计一套相对完整的银行业务管理系统。
实验的目的是为了让学生综合应用课本上所学的知识,通过一系列指定功能模块的设计,巩固系统中所使用的技术,锻炼学生进行实际应用开发的能力。
2.1综合型实验完成方式
综合型实验的题目由老师事先指定,要求学生分组完成指定的内容,并在完成基本功能的基础上,根据小组人员情况,进行适当的功能扩展。
2.1.1综合型实验完成方式
综合型实验要求实行组长负责制,组内成员以分工合作的方式,共同完成银行业务管理系统的设计。
学期开始由学习委员负责分组,每组学生一般由4到6人组成。
教师在实验的不同阶段,要及时检查各小组的进展情况,指出存在的问题和解决办法,而不是等所有功能全部完成后才开始检查和验收。
实验分为以下三个阶段进行。
1、架构分析阶段
该阶段要求各小组首先看懂本章提供的架构和源代码,并要求在提交的文档中,用Visio画出所提供的架构的系统整体架构图和系统功能模块图。
2、需求分析和功能描述阶段
该阶段要求各小组参考架构中的功能,画出自己小组准备实现的系统功能模块图,介绍所提供的每个模块的功能和界面。
要求在最终提交的文档中,包含系统总体功能介绍、模块功能描述、操作方式以及对应的界面截图。
3、代码实现和文档修改阶段
该阶段由各小组完成本组所有模块功能的代码实现,并修改对应的文档介绍,使其和实际实现的代码相符。
2.1.2综合型实验考核要求
学期期末验收综合型实验成果时,要求每小组提交一份文档报告和系统源程序。
在学期结束前,所有小组统一在课堂上演示综合型实验设计成果,并介绍本小组设计的亮点。
其他学生则根据小组任务完成情况和课堂演示情况,对在课堂上演示的小组集体打分,作为老师对最终成绩评定的参考依据。
综合型实验成绩评定标准为:
如果小组实现了系统规定的基本功能,演示时不出现错误,则小组成绩为良好。
如果在完成基本功能的基础上,又实现了扩展的功能,并运行正确,则小组成绩为优秀。
2.2银行业务管理系统功能要求
为了让学生们顺利完成综合型实验的内容,本章提供了一套要求完成的银行业务管理系统的基本架构源程序。
在基本架构中,提供了一些功能界面和部分代码。
但是,架构中并没有全部实现所有功能,提供的代码也不完整。
例如代码中故意没有对可能出现的异常进行必要的异常捕获,没有进行合法性验证、有些功能只提供了界面而没有提供代码实现等。
这样做的目的是为了让学生在此基础上完善程序功能,避免简单地通过粘贴代码完成实验。
要求各小组在进行实际功能设计前,首先理解架构提供的界面和代码,并实现架构中提供的功能,不允许直接在提供的源程序内直接修改。
本节主要介绍系统基本要求以及提供的架构运行界面。
要求各小组在理解并实现了基本架构所示功能的基础上,再重新设计自己的系统,最终每小组提交一份完整的银行业务管理系统源程序和对应的文档。
2.2.1数据库结构基本要求
数据库要求使用SQLServer2005或SQLServer2008。
数据库名规定为Bank.mdf,要求各小组重新创建数据库结构,不允许直接使用架构中的数据库。
表2-1~表2-5列出了基本架构提供的数据库Bank.mdf中对应的表名和表结构描述。
表2-1业务员编号密码对照表(LoginInfo)
列名
数据类型
允许Null
说明
编号
nchar(5)
N
主健
密码
nvarchar(20)
N
表2-2客户帐号信息表(AccountInfo)
列名
数据类型
允许Null
说明
帐号
nchar(6)
N
主健
身份证号
nchar(18)
N
姓名
nvarchar(20)
N
密码
nvarchar(20)
N
存款类型
nvarchar(8)
N
表2-3客户存款信息表(MoneyInfo)
列名
数据类型
允许Null
说明
Id
int
N
主健,自动增量
帐号
nchar(6)
N
发生时间
datetime
N
发生类别
nvarchar(8)
N
开户、存款、取款、结算利息
发生金额
float
N
余额
float
N
表2-4业务员信息表(EmployeeInfo)
列名
数据类型
允许Null
说明
编号
nchar(5)
N
主健
姓名
nvarchar(20)
N
性别
nchar
(1)
N
参加工作日期
datetime
Y
联系电话
nvarchar(11)
Y
身份证号
nchar(18)
N
照片
varbinary(MAX)
N
表2-5各种存款利率表(RateInfo)
列名
数据类型
允许Null
说明
类别
nvarchar(20)
N
主健
利率
float
N
2.2.2系统总体功能要求
要求系统至少要实现存款取款、汇总查询、职员管理、其他功能、利率设置和帮助等模块功能。
各小组在设计系统时,必须将各模块实现的功能分别放在解决方案的对应文件夹下。
图像资源文件的添加办法是:
先将图像文件添加到项目的images文件夹下,然后再鼠标右击项目名,选择【属性】,在属性窗口中选择【资源】,将图像文件添加到资源中。
源程序文件创建办法是:
先在项目目录下创建文件,然后再将其拖放到对应的文件夹下。
images文件夹和common文件夹名称及文件夹下对应的文件功能要求如下。
1、图像资源
图像资源保存在images文件夹下,具体文件请参看源程序。
2、公用模块
系统公用模块保存在Common文件夹下,该文件夹下包含如下文件:
(1)BaseForm.cs:
子功能操作窗体的基类。
(2)BasePanelForm.cs:
子功能操作面板的基类。
(3)DataOperation.cs:
与数据库有关的操作,其中的方法均为静态方法。
(4)Enums.cs:
系统中使用的所有枚举类型的定义。
(5)MainForm.cs:
主窗体。
其他文件夹及文件夹下的文件在对应的模块中介绍。
3、系统登录界面及主界面
系统运行后,要求首先显示如图2-1所示登录界面,界面中根据操作员选择的编号,显示该操作员对应的照片。
图2-1登录界面
与该部分有关的代码在LoginForm.cs和DataOperation.cs中,具体内容请参看源程序。
当操作员输入密码并验证成功后,登录界面消失,进入如图2-2所示的主界面。
图2-2主界面
主界面提供的子功能由存款取款、汇总查询、职员管理、其他功能、利率设置和帮助等模块组成。
当操作员单击主菜单的子功能模块名称时,在界面右下方显示对应模块的详细功能。
主界面默认直接进入存款取款子功能,左方显示登录人员的姓名和照片,右方以表格的形式显示发生的所有存款取款业务信息。
与主界面有关的代码在MainForm.cs中,具体内容请参看源程序。
2.2.3存款取款模块基本要求
存款取款业务要求至少提供活期存款、定期存款和零存整取三种类型。
1、活期存款规定
活期存款100元起存,利率可调整,默认为0.03%,每次存款时直接进行利息结算。
每次存款时的利息结算方式为:
本次利息=本次存款金额×利率
2、定期存款规定
定期存款要求一次性存款、一次性取款,100元起存,利率可调整,期限规定为只提供1年、3年和5年三种定期。
三种到期利率默认分别为0.1%、0.3%和0.5%,如果到期后客户没有取款,超出存款期限部分的利率按0.03%计算。
如果客户提前取款,取款时利率全部按0.02%计算。
利息结算方式为:
到期利息=定期利率×存款金额
超期利息=(存款金额+到期利息)×超期利率
3、零存整取规定
零存整取要求每月都必须存固定的金额,5元起存,一次取款,利率可调整。
存款期限规定为只提供1年、3年和5年三种,到期利率默认分别为0.05%、0.1%和0.3%,如果到期后客户没有取款,超出存款期限部分的利率按0.025%计算。
如果客户没有按规定存款,取款时利率全部按0.015%计算。
利息结算方式为:
到期利息=到期利率×每月固定金额×月数
超期利息=(总存款金额+到期利息)×超期利率
4、模块功能要求
存款取款模块包括开户、存款、取款和结算利息功能。
要求与该模块相关的文件保存在money文件夹下,该文件夹下包含如下文件:
(1)Custom.cs:
所有存款类型的基类。
(2)CustomChecking.cs:
活期存款处理类,该类继承自Custom.cs。
(3)CustomFixed.cs:
定期存款处理类,该类继承自Custom.cs。
(4)CustomSporadic.cs:
零存整取处理类,该类继承自Custom.cs。
(5)MoneyManageForm.cs:
存款取款模块类,该类继承自BaseForm.cs。
(6)NewAccountForm.cs:
开户界面类,该类继承自BasePanelForm.cs。
(7)DepositForm.cs:
存款界面类,该类继承自BasePanelForm.cs。
(8)WithdrawForm.cs:
取款界面类,该类继承自BasePanelForm.cs。
(9)ShowCustomForm.cs:
以表格形式显示所有存取款发生的业务信息。
在提供的参考架构中,只实现了活期存款业务功能,定期存款和零存整取的开户、存款和取款业务由各小组自己实现。
图2-3所示为操作员单击【开户】按钮时显示的界面示例。
图2-3开户界面
操作员输入开户信息,并单击【开户】按钮后,系统将开户信息及自动计算的利息保存到数据库中,然后显示如图2-4所示的界面。
图2-4开户完成后显示的界面
图2-5所示为操作员单击【存款】按钮时显示的界面示例。
图2-5存款界面
操作员输入存款信息,并单击【确定】按钮后,系统将存款信息及利息保存到数据库中,然后显示如图2-6所示的界面。
图2-6存款完成后显示的界面
图2-7所示为操作员单击【取款】按钮时显示的界面示例。
图2-7取款界面
操作员输入取款信息,并单击【确定】按钮后,系统将取款信息保存到数据库中,然后显示如图2-8所示的界面。
图2-8取款完成后显示的界面
2.2.4汇总查询模块基本要求
汇总查询模块要求至少实现当日汇总和存款查询功能。
要求与该模块相关的文件保存在query文件夹下。
1、当日汇总
当日汇总功能显示当日发生的所有金额收入和支出情况。
2、存款查询
存款查询功能要求按身份证号查询该客户的所有类型的存款信息,并将其身份证号、姓名、性别、帐号、存款类型和余额以表格的形式显示出来。
该模块没有提供示例代码,要求小组在看懂存款取款模块架构的基础上,自己实现本模块指定的功能。
2.2.5职员管理模块基本要求
职员管理模块要求至少实现职员基本信息管理以及工资调整功能,与该模块相关的文件保存在employee文件夹下,该文件夹下包含如下文件:
(1)EmployeeManageForm.cs:
职员管理模块的基类,该类继承自BaseForm.cs。
(2)BasicInfoForm.cs:
基本信息管理界面,要求在此界面中实现基本信息的添加、修改、删除、导入导出照片等功能。
(3)PayForm.cs:
职员工资调整类,该类继承自BasePanelForm.cs。
该模块只提供了部分示例代码,要求小组在已经提供的代码的基础上,自己实现本模块指定的功能。
2.2.6其他功能模块基本要求
其他功能模块要求至少实现更改操作员密码和更改客户密码功能,与该模块相关的文件保存在other文件夹下。
1、更改操作员密码
允许操作员修改自己的登录密码。
2、更改客户密码
允许操作员修改指定客户的取款密码。
其他功能模块架构中没有提供示例代码,要求小组在看懂存款取款模块架构的基础上,自己实现本模块指定的功能。
2.2.7利率设置模块基本要求
利率设置模块要求实现各种存款类型的利率修改功能。
该模块没有提供示例代码,需要小组自己实现本模块的功能。
2.2.8银行业务管理系统功能扩展要求
小组完成规定的功能后,如果时间允许,还可以进一步扩展系统功能,例如教育助学贷款服务、企业服务、银行挂失服务等。
具体功能请各小组先查找相关资料,然后再逐步实现。