中山大学软件工程专业Java语言课作业

这是11年中山大学软件工程硕士研究生java必修课的大作业,授课老师是温武少~ 讨厌写java代码。代码写得不好~不过,需要的童鞋可以拿过去改改。 下载源代码!!!

下面是作业要求:

面向对象程序设计课程项目

基于JAVA银行管理系统设计(Case 2,3,4)

 

注意:如果发现全部或者部分copy程序,双方都将会被部分或者全部扣分。本课程是必修课,70分是通过线。

    系统将依据3-tier架构设计银行管理系统。要求所有的项目用JAVA语言编程。设计的系统将是简化的银行管理系统。 

 

项目二:银行管理系统Business Logic 设计 (中程检查:10月31日(40%);上交11月7日 (60%), 当堂运行+ftp上交)

 

    所有的用户输入都是由命令行输入。项目必须提供设计文档、测试和运行报告。在线提交程序源程序。 

 

1. 银行用户分类: 普通个人用户,个人贵宾用户(VIP),企业用户

   对所有的用户必须支持以下功能:开户、存款、取款、查询、转账、改密码、销户等七项工作。所有对账户的操作都要产生日志。 所有的数据都要永久化(存到硬盘)。系统重新启动时要能恢复数据。

(1)开户:调研银行管理系统需要存储的账户信息。

     开户时需要身份证号码,决定开的账户类型,存款的初始金额。银行生成用户的帐号,用户输入初始密码。系统给出开户的时间日志。

(2)存款:

   存款时需要给银行提供自己的账号,密码以及要存款的金额;银行系统反馈用户帐户的余额以及存款的日志。

(3)取款:

   取款时需要给银行提供自己的账号、密码以及要取的金额;系统判断是否有足够余额以供取款。取款后给出用户帐户的余额,产生取款日志。

(4)查询:

    查询时用户需要给银行提供自己的身份证、账号和密码;银行方面给出用户帐户的余额以及查询的日志。用户还可以查询一段时间所有的操作(流水)。

(5)转帐:(对不同用户转账有限制,请看账户类型说明)

    用户转帐时需要判断是否能够满足转账条件。如满足,需要给银行提供转出帐户的账号、身份证号码、密码和用户名称及转入帐户的帐号和用户名称,用户也需要提供转账金额。系统方面将产生转账日志、转出用户帐户的余额等信息。

(6)改密码:

用户到银行改密码时需要给银行提供身份证、帐号、以及密码,并且输入新的密码。系统方面将产生相关日志。

(7)销户:

用户到银行销户时需要给银行提供身份证、帐号以及密码,并且把帐户的余额全部取出。系统方面将产生相关日志。

 

不同类型用户的特别限制和权限:

(1) 所有的用户可开两种账户—活期和定期。用户的活期和定期账号之间可以转账。

(2) 普通用户不能产生透支。

(3) VIP用户的初始存款额(包括活期和定期)要求大于100万, 每月平均日余额要求不低于10万。如果连续2个月月平均日余额要低于10万, 将收取每月1000元的管理费。VIP用户将能够透支最多 10万元。 但要求透支的款项在规定的时间(30天)内归还。如不归还,账户将被冻结。

(4) 转账只能在个人用户之间进行,或在企业用户之间进行。

(5) 普通用户只能接收转账转入,不能转钱到别人的账户。但普通用户可以在他自己的账号内转账。VIP和企业用户容许转入、转出。

(6) 企业用户容许多个账号操作人。 我们指定其中的一到两个人作为账户超级用户,可以要求增加账户操作人。不同账户操作人必须使用不同密码。 

(7) 企业用户不容许透支。要求账面存款余额总数(包括所有的账户)不小于1万元。

 

2.   银行雇员分类: 前台操作员, 银行经理,银行业务总管、系统管理员。 他们各自的职责:

系统必须能存储所有的雇员信息(自己调研)。银行经理管理一个或多个前台操作员,同时他可以做所有的前台操作员操作。银行业务总管管理一个或多个银行经理,他可以做所有的银行前台操作员及银行经理的工作。

 

银行雇员操作:

(1) 前台操作员:对账户所有的操作。雇员本身所作的操作的日报,月报,季度报和年报(包括数据和日志)。前台操作员向一个银行经理报告。

(2) 银行经理:作为前台操作员的所有操作,部门操作的日报,月报,季度报和年报(包括数据和日志, 及每个成员的报告)。银行经理必须较容易查到他部门人员总数及具体情况。银行经理向银行业务总管报告。 

(3) 银行业务总管(包括个人账户和企业账户两类):作为前台操作员和部门经理的所有操作,整个银行相关业务操作的日报,月报,季度报和年报(包括数据和日志, 及每个成员的报告,每个部门的报告)。银行业务总管应较容易查到他所管人员总数及具体情况。

(4) 系统管理员:雇员管理。 产生整个银行的总报表和总日志(日报,月报,季度报和年报)。

 

3. (加分 20%) 银行系统网络接口

  提供外面银行在线操作要求(必须提供通过网络提供各种操作需要的信息)。在线操作必须产生专用的日志。

 

项目三:银行管理系统后台数据库及接口设计(上交11月21日,当堂运行+ftp上交)

    数据存储采用数据库(建议用MYSQL.把business logic 层修改以支持数据库。

项目四: 银行管理系统UI设计(开放设计,上交11月28日,当堂运行+ftp上交)

所用的用户输入和输出采用GUI。

 

说明: 项目总成绩计算:项目1: 20%

                       项目2: 50%

                       项目3: 15%

                       项目4: 15% 

更多说明:

1.运行报告主要是指:系统所实现的所有功能的运行截图;

2.所谓“冻结”的意思是:只能查询余额,不能进行存款、取款的操作;不要求实现“解冻”,也就是这个账号一旦被冻结,这辈子就“冻”死了;

3.所谓“日报”:只要在txt文件下,随便输出几行文本,知道今天做了哪些事就可以了;月报、年报类似;

4.所有的定期与活期,分别使用各自固定的利率就可以:例如所有定期的利率为3%,所有活期的利率为2%;

5.银行业务总管(包括个人账户和企业账户两类)的意思是:银行业务总管只需要两个:一个“个人账户业务总管”,一个“企业账户业务总管”;

6.前台操作员向一个银行经理报告:意思是银行经理能查到他部门人员的日报,月报,季度报和年报;银行经理向银行业务总管报告的含义类似。

//////////////////////

copyright blog.ykyi.net