淡定银行ESBC系统项目说明书.docx

上传人:b****1 文档编号:13545932 上传时间:2023-06-15 格式:DOCX 页数:42 大小:2.77MB
下载 相关 举报
淡定银行ESBC系统项目说明书.docx_第1页
第1页 / 共42页
淡定银行ESBC系统项目说明书.docx_第2页
第2页 / 共42页
淡定银行ESBC系统项目说明书.docx_第3页
第3页 / 共42页
淡定银行ESBC系统项目说明书.docx_第4页
第4页 / 共42页
淡定银行ESBC系统项目说明书.docx_第5页
第5页 / 共42页
淡定银行ESBC系统项目说明书.docx_第6页
第6页 / 共42页
淡定银行ESBC系统项目说明书.docx_第7页
第7页 / 共42页
淡定银行ESBC系统项目说明书.docx_第8页
第8页 / 共42页
淡定银行ESBC系统项目说明书.docx_第9页
第9页 / 共42页
淡定银行ESBC系统项目说明书.docx_第10页
第10页 / 共42页
淡定银行ESBC系统项目说明书.docx_第11页
第11页 / 共42页
淡定银行ESBC系统项目说明书.docx_第12页
第12页 / 共42页
淡定银行ESBC系统项目说明书.docx_第13页
第13页 / 共42页
淡定银行ESBC系统项目说明书.docx_第14页
第14页 / 共42页
淡定银行ESBC系统项目说明书.docx_第15页
第15页 / 共42页
淡定银行ESBC系统项目说明书.docx_第16页
第16页 / 共42页
淡定银行ESBC系统项目说明书.docx_第17页
第17页 / 共42页
淡定银行ESBC系统项目说明书.docx_第18页
第18页 / 共42页
淡定银行ESBC系统项目说明书.docx_第19页
第19页 / 共42页
淡定银行ESBC系统项目说明书.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

淡定银行ESBC系统项目说明书.docx

《淡定银行ESBC系统项目说明书.docx》由会员分享,可在线阅读,更多相关《淡定银行ESBC系统项目说明书.docx(42页珍藏版)》请在冰点文库上搜索。

淡定银行ESBC系统项目说明书.docx

淡定银行ESBC系统项目说明书

 

上海第二工业大学

淡定银行(ESBC)系统项目说明书

 

班级:

09计商A1

组员:

日期:

2011年11月20日

 

一、前言

1、团队介绍

团队合作和团队分工在一个项目制作过程中是非常重要的,我们小组正是秉承这样的一个原则来进行任务和角色的分配,以及大家一起去解决各个环节中可能存在的问题,一起去面对它和解决它。

以姚涛为组长的这个团队,将银行系统按照所需人物角色进行分配任务:

●吴丽萍主要负责个人网上银行客户部分,包括网上银行所需要的大部分基本功能。

●邵冰沁负责银行经理部分,包括员工管理和客户高级权限的管理。

●黄新皓负责结算员部分,统计银行的资金在某个时间段流出和流入的金额。

●孙铭洁则负责出纳员部分,主要包括客户柜台操作的一些功能。

(姚涛协作)

2、logo说明

图1-1logo标志

中国淡定银行的行标,其整体标志是以圆形的外框和两个古代齐国的刀币组合而成,圆形代表钱币,体现出金融业的行业特征圆形也象征着和谐,就像一个地球统一在一起,也象征着淡定,圆形的事物容易让人联想到很多美好的东西。

圆形里面是两个齐国的刀币,两边对称,体现出银行与客户之间平等互信的依存关系。

以“断”强化“续”,以“分”形成“合”,是银行与客户的共存基础。

设计手法的巧妙应用,强化了标志的语言表达力,而圆形与古钱币形的运用则充分体现了现代气息。

3、关于ESBC

图1-2淡定银行卡系列

ESBC全称EmotionStabilityBankofChina,EmotionStability是淡定的英文拼写,无论在何种情况之下都要保持淡定。

淡定形容一种态度。

遇事沉稳中又积极果断,老练里却又重视有佳,淡定形容一种勇气,行事要放松自如,从容冷静,投资理财中我们最需要的就是这种精神,不能盲目的跟风,需要根据实际情况,进行投资理财活动,淡定的面对一切突发情况。

二、系统功能分析

1、产品前景

淡定银行系统是一款拥有后台数据库且基于JSP网页较为完善的系统,通过网络将各个客户端连接起来,可以为银行内部职员提供一体化的客户管理、业务办理、业务查询功能,并为银行客户提供网上银行功能,以便通过浏览器进行查询等操作。

2、功能介绍

淡定银行系统包含两个部分,其一,客户可以通过网络来登录自己的账号进行一系列的基本操作,其二,银行后台拥有一套完善的包含客户管理和员工管理的管理平台。

客户可以持本人有效身份证件到我行进行柜台注册,并示意开通个人网上银行功能或者自己在个人电脑上通过网络进行网上银行注册,注册卡号并输入密码,客户可以在柜台通过与职员面对面的来存款取款,转账汇款,查询记录,也可以在个人电脑上通过网络登录个人网上银行进行一系列的操作,但不能进行存款和取款。

银行普通职员可以在注册客户向银行经理提出网上银行开通批准,并且可以存款和取款,修改密码和更新信息。

经理可以进行更高级的客户管理权限,还可以进行员工管理,结算员有查看财务报表的功能,并打印出来,交与银行经理查看。

淡定银行系统已经基本实现一般银行里的功能,其中的诸多问题在团队合作部分已经得到解决,也寻求过老师的帮助并得到了解决。

此系统目前还不完善,有待进一步的改进。

3、角色分配

(1)银行客户

客户通过在浏览器上输入网址,便可以浏览我行的主页。

右边有个人网上的一个链接,点进去便可以输入账号和密码登入个人网上银行界面。

客户先必须在柜台操作之后获得账号和网上银行的登录密码(默认和卡号密码一样)才能在登录进去网上银行进行一系列的操作。

客户也可以通过网络自己输入卡号等相关信息注册网上银行,注:

网上银行的登录密码可以和卡号的登录密码不一致。

流程图如下所示:

图2-1客户网上银行操作流程

(2)普通职员

普通职员可以选择自己的单选按钮进行登录,如果柜台有客户拿着身份证来进行注册的话,那就根据客户提供的信息注册新的客户,然后在进行相关客户的一系列的操作,如果有新的客户则直接对客户账号和密码进行验证,如果登录成功则对此账户进行相关的操作。

流程图如下:

图2-2银行普通职员操作流程

(3)银行经理

银行经理登录过后课对员工和客户进行管理,但是客户普通的操作的属于结算员的,而银行经理则拥有更加高级的权限,批准开户和对账户进行注销操作。

另外,如果职员离职,则银行经理需要把职员的状态进行修改,然后离职员工就不能登录后台管理系统。

图2-3银行经理操作流程

(4)结算员

结算员是银行的统计人员,是专门负责银行的现金流动的统计工作,把某一个时间段的银行的存钱取钱的差值统计出来,然后便可以知道银行在这个时间段里有多少现金的流动量,可以保证银行内部在任一时刻都能保证有足够的现金来供客户进行取款。

结算员在统计出现金流动之后要把财务报表打印出来交给银行经理,并需要对资金流动和时间上的关系进行分析。

图2-4银行结算员操作流程

三、系统设计分析

1、物理设计CDM图

图3-1数据库CDM图

说明:

CDM是用来自动生成创建sql数据库的代码,可以在页面里直接操作,比较直观,比在查询分析器或企业管理去里写代码方便的多,CDM图在实质上和E-R图是差不多的,只不过两者的表现形式不一样,前者更为直观,方便使用者操作。

在画CDM图式我们考虑到了增加几个键也就是列来规定它的权限,比如登录权限,或者是状态之类的,虽然这些值只是用1或者0来表示,来实现的功能是很强大的,就像计算机内部的二进制一样,都很强大。

2、数据库E-R图

图3-2数据库E-R图

3、数据库表结构

客户(客户编号,姓名,昵称,身份证号,性别,手机,家庭地址,邮编,星级,锁定键)

账户(账户编号,账号,账户余额,密码,开户日期,账户状态,备注,锁定键,网银密码)

客户账户关系(客户编号,账户编号,备注)

职员(职员编号,姓名,性别,用户名,密码,权限类型,锁定键,状态)

账户类型(账户类型编号,项目,利率)

操作记录(账号编号,时间,入账金额,出账金额,余额)

四、产品实现流程

1、个人网上银行

⏹首页展示及介绍

中国淡定银行的首页没有秉承一款以来银行网站严谨的设计风格,而是以非专业化的设计手法,大图片的转换和新闻发布式的结合给人一种简单气派的感觉,网站底下的链接和淘宝网站等购物网站的友情链接如出一辙,目的在于给客户一种亲切感。

网站的右侧是客户登录和注册等连接,醒目的按钮也方便用户使用,下面是滚动式的新闻窗口,这样的设计也给网站的总体加了分,滚动式的新闻不仅能把新闻放到新闻框里,还能给增加网站的美观性,再下面就是中国淡定银行在各国分行门户网站的链接,暗示中国淡定银行是一家走向国际化的银行,下面是中国淡定银行淡定系列银行卡的图片转换图,能看到中国淡定银行这个系列银行卡的样式,真正体现这是一个银行的门户网站。

图4-1-1ESBC银行首页

⏹登录

说明:

用户登录,若数据库已有该用户信息,则直接登录用户主页,若没有该用户或密码错误,则报错。

⏹同一账户不能同时登录。

说明:

在数据库中的account(账户)表中有一Aislocked属性,在登陆时判断该属性的值,若为0则可以登陆,若为1则不能登陆。

在登陆账户的同时设置该属性为1,所以当该账户已登陆时,其他人在别的地方就不能同时登陆。

⏹已注册的账户在银行经理未批准的情况下是不能登录的。

说明:

和以上方法类似,数据库account表中有一属性Astatue,其值若为0则表明银行经理未进行批准操作,而只有银行经理有这个权限,若为1,则说明账户可以使用,若为2,则说明账户处于冻结状态或者是销户状态。

图4-1-2个人网上银行登录界面

图4-1-3个人网上银行注册页面

图4-1-4各种登录错误页面

a.查看账户信息

⏹登录成功后所显示欢迎信息与登录帐号相配

说明:

在登陆处理的页面中将获取的帐号赋值给一个session值,在登陆后的所有网页中都可以调用这个值。

在此功能上就是将数据库中该帐号的信息选择出来,并选择用户名输出。

⏹查询该账户信息

说明:

调用session值,将数据库中该帐号的信息选择出来,并选择需要显示的客户信息进行输出。

图4-1-5个人网上银行登录成功欢迎页面

图4-1-6个人网上银行账户信息页面

图4-1-7个人网上银行修改网银密码页面

b.行内转账汇款

⏹账户之间转账

说明:

用户之间转账,

步骤是1.在转账处理页面中获取收款帐号和汇款帐号以及汇款金额。

2.将数据库中与收款帐号和汇款帐号相符合的信息选择出来。

3.将页面获取的收款帐号与登陆帐号进行比较,若与登陆帐号相同,则报错:

收款人账号不能与登陆账号相同,否则,就进行步骤4。

4.将页面获取的汇款帐号与登陆帐号进行比较,若与登陆帐号相同,则进行步骤5,否则,就报错:

您不能使用非登陆账号进行转账。

5.将汇款帐号在数据库中所剩余额与汇款金额相减,若大于0,则将汇款帐号余额减去汇款金额,将收款帐号余额加上汇款金额,输出:

汇款成功;若小于0,则输出:

余额不足。

转账成功后,将转账记录插入操作记录表中。

图4-1-8个人网上银行转账汇款操作页面

c.查看余额

⏹余额查询

在账户表中获取与登陆帐号相同帐号的余额并输出

图4-1-9个人网上银行余额查询页面

d.查看交易明细

⏹明细查询

按时间查询交易记录,在页面上获取开始时间和截止时间,在记录表中时间在该范围内的操作记录选择出来并在页面上输出。

图4-1-10个人网上银行交易明细查询页面

e.查看利率

图4-1-11利率查询页面

图4-1-12个人网上银行退出提示页面

2、银行系统管理页面

(1)各种权限职员进行登录

图4-2-1银行内部职员后台管理系统登录页面

详细说明:

淡定银行分三种权限的职员:

银行经理,普通职员,和结算员。

他们分别登录跳转不同的页面,进行各自权限的功能。

登录页面可以识别两个输入框是否输入值,输入的值是否正确,同时,我们在职员表中加入一列权限,用来防止用户进行第二次登录。

管理员登录验证中将单选按钮的值(1,2,3)传递给下一个页面,然后从数据表中取出权限值进行匹配,然后跳转到不同的页面进行职员管理。

图4-2-2各种特殊功能界面

(2)银行经理

a.员工管理

银行经理可以对员工进行管理,修改其职位状态,包括离职和在职,还可以对员工的账号登陆密码进行修改。

图4-2-3银行经理登录成功页面

图4-2-4银行经理员工管理页面

图4-2-5员工登录密码修改页面

b.客户状态

图4-2-6客户信息查看页面

c.账户状态

客户在注册之后,银行经理可以根据实际情况,对账户的权限进行批准,然后客户才可以进行网上银行登录,再者,客户可以直接对账户进行销户操作,这样账户就作废不能再登录,只有银行经理更改账户状态的值才可以激活账户。

图4-2-7账户状态查看页面

图4-2-8修改客户状态页面

d.修改利率

银行经理可以根据国家的宏观调控情况对银行利率进行修改。

图4-2-9修改利率页面

(3)银行出纳员

a.柜台注册

图4-3-1客户柜台注册页面

 

b.客户验证

柜台每来一个客户都要对其身份进行验证,让客户提供账号和密码,如果匹配才能对此账户进行一系列的操作。

图4-3-2客户操作验证页面

 

c.查询余额

图4-3-3客户查询余额页面

d.存款取款

客户可以在柜台进行存款取款业务,提供现金交与我行的出纳员,然后出纳员点清数目,在后台管理系统中输入相对应的钱数,对客户的账户进行存款业务,客户也可以根据账户里的余额,来进行取款操作,和出纳员说明要去多少钱,然后从出纳员那你取得现金,出纳员则在账户下执行相应的操作。

图4-3-4客户存款取款页面

e.转账汇款

客户在柜台可以根据需求对我行内部的其他账户进行转账汇款操作,将收款人的姓名和账号信息提供给出纳员,然后在根据余额进行转账操作,如果余额不足则不能进行转账操作。

图4-3-5客户转账汇款页面

f.查询记录

客户也可以向出纳员提出查询以往所有交易记录的权力。

图4-3-6客户查询记录页面

g.更新信息

如果客户的信息发生变动,希望客户根据实际情况,向出纳员提出更改账户信息,以免我行在特殊情况下不能及时联系到本人。

图4-3-7客户更新信息页面

(4)结算员

结算员可以查看某一个时间段银行的现金流入流出数量,记录表中有转账汇款的记录,而转账汇款是没有现金流出本银行的,而存款和取款是会产生现金的流入和流出的。

图4-4-1结算员查看财务报表页面

五、相关代码及注释(部分)

1、银行客户登陆判断。

Login_ok.jsp

//从客户表中查询传递的值是否正确

StringisCorrect="select*fromAccountTwhereaname='"+name+"'andapassword='"+password+"'";

try{

ResultSetresult=stmt.executeQuery(isCorrect);

if(!

result.next())

{

response.sendRedirect("passerror.jsp");//账号或密码错误,转入错误页面

}

//如果查询后有记录,说明登录验证成功。

else

{

Stringas=result.getString("Astatue");

Stringau=result.getString("Aislocked");

charb=as.charAt(0);

//验证状态(Astatue)是否为1(可使用状态),反之跳转错误页面

if(b=='1')

{

chara=au.charAt(0);

//验证锁定键(Aisliocked)是否为0,为0则允许登录,反之提示已登录

if(a=='0')

{

Stringchangeauthority="updateAccountTsetAislocked='1'whereaname='"+name+"'";

change.executeUpdate(changeauthority);

response.sendRedirect("userindex.jsp");

}

else

{

response.sendRedirect("lockpass.jsp");

}

}

elseif(b=='0'){

response.sendRedirect("lockerror.jsp");}

elseif(b=='2'){

response.sendRedirect("lockxiao.jsp");

}

}

}

2、银行职员登陆验证

Mangaelogin_ok.jsp

<%

StringisCorrect="selectSaccount,Spassword,Srighttype,Sislocked,SstatusfromStaffTwhereSaccount='"+username+"'andSpassword='"+password+"'andSrighttype='"+type+"'";

try{

ResultSetresult=stmt.executeQuery(isCorrect);

if(!

result.next())

{

response.sendRedirect("manageerror.jsp");//账号或密码错误,转入错误页面

}

//如果查询后有记录,说明登录验证成功。

//验证锁定键是否为0,若为0则允许登录,若为1则不允许登录跳入错误页面

else{

Stringstaff=result.getString("Sstatus");

chars=staff.charAt(0);

//判断职员是否出于离职状态,1为在职,0为离职

if(s=='1'){

Stringau=result.getString(4);

chara=au.charAt(0);

if(a=='0')

{

//锁定键为0,则在登录的同时将0更改为1然后在进行登录

Stringchangeauthority="updateStaffTsetSislocked='1'whereSaccount='"+username+"'";

change.executeUpdate(changeauthority);

//验证权限,不同权限的职员跳转不同的管理页面

chart=type.charAt(0);

switch(t){

case'1':

{

response.sendRedirect("ceoindex.html");

break;

}

case'2':

{

response.sendRedirect("manageindex.html");

break;

}

case'3':

{

response.sendRedirect("jiesuanindex.html");

break;

}

}

}

else{

response.sendRedirect("C.jsp");

}

}

out.print("你的状态出于离职,请不要使用此账号登陆管理系统");

}%>

Change.Jsp

//在用户退出的时候讲锁定键再改回1,这样下次本人登陆就没有问题了

Stringmanagename=(String)session.getAttribute("managesession");

Statementchange=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

Stringchangeauthority="updateStaffTsetSislocked='0'whereSaccount='"+managename+"'";

change.executeUpdate(changeauthority);

change.close();

conn.close();

response.sendRedirect("managelogin.jsp");//改过之后跳转登陆首页

%>

3、客户网上银行转账

//获得请求的参数。

Stringuser1=request.getParameter("text1");

Stringusernum1=request.getParameter("text2");

Stringuser2=request.getParameter("text3");

Stringusernum2=request.getParameter("text4");

Stringmoney=request.getParameter("text5");

Stringa="updateAccountTsetarest=arest+"+money+"whereaname='"+usernum1+"'";

Stringb="updateAccountTsetarest=arest-"+money+"whereaname='"+usernum2+"'";

Stringc="select*fromAccountTwhereaname='"+usernum1+"'";

Stringd="select*fromAccountTwhereaname='"+usernum2+"'";

Connectionconn=null;

ResultSetcc=null,dd=null;

try{

//连接数据库

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();

Stringurl="jdbc:

sqlserver:

//localhost:

1433;DatabaseName=bank";

Stringuser="sa";

Stringpass="123456";

conn=java.sql.DriverManager.getConnection(url,user,pass);

cc=stm.executeQuery(c);

Stringclientname=(String)session.getAttribute("clientsession");

//将输入的收款人与登陆账号进行比对,不允许相同

if(usernum1.equals(clientname))

{

out.print("收款人账号不能与登陆账号相同!

");

}

else

{

if(usernum2.equals(clientname))

{

while(cc.next())

{

dd=stm1.executeQuery(d);

while(dd.next())

{

floatn=dd.getFloat(4);

intm=Integer.parseInt(money);

//如果余额充足则进行转账,反之则打印错误信息

if(n-m>=0)

{

stmt.executeUpdate(a);

stm2.executeUpdate(b);

response.sendRedirect("tab/ok.jsp");

//下面的代码是将转账的信息插入记录表里

Stringe="selectaidfromAccountTwhereaname='"+usernum1+"'";

Stringf="selectaidfromAccountTwhereaname='"+usernum2+"'";

ResultSetresulte=stm3.executeQuery(e);

ResultSetresultf=stm4.executeQuery(f);

while(resulte.next()&&resultf.next())

{

Stringee=resulte.getString("aid");

Stringff=resultf.getString("aid");

Strings="selectarestfromaccounttwhereaid='"+ee+"'";

Strin

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2