版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页)黄金白银开户系统的设计与实现──查询与管理员功能摘要:银行黄金白银开户系统查询模块的总体目标是:构建银行黄金白银理财产品的查询系统,能够查询黄金白银走势、持有的黄金白银数量、收益亏损状况,并做出一个对总持有的黄金白银详细的盈亏总计。而管理员模块则是对注册用户的审核、用户交易的查看以及对近期的黄金白银信息走势做到实时更新,凸现互联网优势。关键词:PHP;银行;黄金白银;查询模块;管理员模块;Abstract:TheoverallgoalofquerymoduleoftheGoldandSilveropenaccountbanksystemis:buildquerysystemofGoldandSilverbanksystem,tobeabletoquerythepriceofGoldandSilver,theamountofholdingsofgoldandsilver,therevenuelossesandatotalholdingsofGoldandSilverdetailsofthetotalprofitandloss.Theadministratormoduleisforregisteredusersofaudit,querytheusertransactionsandupdatetherecentpriceofGoldandSilver,showtheadvantageofInternet.Keywords:PHP;bank;goldandsilver;1引言1.1编写目的随着我国经济的发展和个人理财业务的发展,我国商业银行的理财产品种类不断地增多。炒金一直是个人理财市场的热点,备受投资者们的关注和青睐。近两年,国际黄金白银价格持续上涨。可以预见,随着国内贵金属投资领域的逐步开放,未来黄金白银需求的增长潜力是巨大的。在这个市场上,占据自己的一席之地的国内中小型商业银行,必须要顺应潮流,急需一套功能完备的网上银行贵金属理财系统,利用自身广泛的网络渠道与客户基础,以专业化的角度帮助广大群众理财投资。1.2项目背景项目委托单位:重庆师范大学计算机与信息科学学院2011级软件工程第二开发团队林子涵项目主管部门:安博教育西南基地项目规划:表1.2.1各年设计实验表阶段文档提交日期需求阶段需求分析文档11月10日分析设计软件设计文档12月10日测试软件测试文档1月10日2数据库设计2.1静态数据银行黄金白银系统处理程序中静态数据分离技术经过3个发展阶段。
1.静态数据作为应用程序的一部分直接保存在程序中,即静态数据与程序结合在一起。
2.静态数据从程序内部分离出来,形成独立的外部数据文件。静态数据文件与动态
数据文件相互独立,依靠特定程序分别进行参照或存取。
3.静态数据由外部数据文件存放方式转为数据库存放方式,将以前程序中静态数据对动态数据加工的某些控制关系抽象为静态表与动态表间关系。用户id;管理员id;用户身份;用户密码;用户银行卡号;用户个人信息;用户交易附加费;2.2动态数据输入数据:菜单选项,查询关键字,新建记录项。输出数据:由查询黄金白银走势确定的数据库记录集合或全部记录。内部生成的数据:中间查询结果。2.3数据库介绍数据库:Mysql其优点在于:它使用的核心线程是完全多线程,支持多处理器。有多种列类型:1、2、3、4、和8字节长度自有符号/无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、和ENUM类型。它通过一个高度优化的类库实现SQL函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞。全面支持SQL的GROUPBY和ORDERBY子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查询中混来自不同数据库的表。所有列都有缺省值。你可以用INSERT插入一个表列的子集,那些没用明确给定值的列设置为他们的决省值。可以工作在不同的平台上。支持C、C++、Java、Perl、PHP、Python和TCLAPI。体积小,速度快,总体拥有成本低。长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。2.4数据字典数据从程序内部分离出来,形成独立的外部数据文件。静态数据文件与动态数据文件相互独立,依靠特定程序分别进行参照或存取。静态数据由外部数据文件存放方式转为数据库存放方式,将以前程序中静态数据对动态数据加工的某些控制关系抽象为静态表与动态表间关系2.4.1数据项表2.4.1.1黄金白银走势表字段名称数据类型是否为空默认说明Info_datedate不为空无走势日期Info_goldFloat(10,2)不为空无黄金走势价格Info_silverFloat(10,2)不为空无白银走势价格表2.4.1.2交易查询视图表字段名称数据类型是否为空默认说明User_idbigint(18)不为空无用户idTrade_idInt(6)不为空000000交易流水号Trade_datedate不为空无交易时间Trade_typeset('gold','silver')不为空无交易种类Buy_or_sellset('buy','sell')不为空无买卖类型Trade_amountInt(10)不为空无交易数量Info_goldFloat(10,2)不为空无当日黄金价格Info_silverFloat(10,2)不为空无当日白银价格2.4.2数据结构表2.4.2.1交易查询信息表名称交易查询信息别名无用途联合查询的视图描述包含:用户id、交易流水号、交易日期、交易种类买卖种类、交易数量、当日金价、当日银价表2.4.2.2用户类型表名称用户类型别名无用途区别是管理员还是其他描述0:未审核1:未通过审核2:通过审核9:管理员3概要设计3.1功能划分本软件具有如下主要功能:用户注册功能用户查看黄金白银走势功能完善数据功能买卖黄金白银功能管理员审核功能管理员添加功能图3-1用例图图3-2用户E-R图图3-3管理员E-R图3.2功能描述表3.2.1查询功能表查询系统功能描述查询走势查询近期的黄金白银信息走势查询自己的交易信息(1)查询现在持有黄金白银数量,查询收益亏损状况。并做出一个对总持有的黄金白银盈亏总计。(2)查询指定的日期或者时间段内,自己所有进行的黄金白银的交易信息。图3-3查询模块功能结构图表3.2.2管理员功能表管理员系统功能描述审核用户对开户的用户进行身份审核查看用户管理员查看所有用户信息走势信息增、删、改、查黄金白银走势查看用户交易管理员可以查询用户交易信息管理员可以查询网站盈利图3-4管理员模块功能结构图4详细设计4.1用户时序图图4-1用户时序图4.2管理员时序图图4-2管理员时序图4.3类图图4-3类图用户类型分为4种,在数据库中用user_type区别:值为0:待审核用户,此类型用户不能进行交易。值为1:未通过审核用户,此类型用户信息审核不成功,需根据未通过审核原因进行信息的修改,修改信息后,用户类型再次变为待审核用户,此类型用户不能进行交易。值为2:已审核用户,此类用户能够进行交易。值为9:管理员,可以对注册用户进行审核,可以对黄金白银走势进行增删改查。4.4核心代码4.4.1管理员审核模块controller/user.inc中管理员审核用户信息的代码publicfunctionuser_info_check_admin_action(){$model=createModel("user");//var_dump($_POST["check_state"]);if($_POST["check_state"]){$params=array("user_id"=>$_POST["user_id"],"user_type"=>$_POST["check_state"],"checknote"=>$_POST["check_fail_reason"]//通过审核为无,未通过审核则有未通过原因);//var_dump($params);$model->setUTF();//$datas=$model->getUserInfo($params);//获取所有用户信息$model->updateUserType($params);//更新审核状态redirect("index.php?ctl=user&act=index_admin");//跳转到index_admin方法}else{$params=array("user_id"=>$_REQUEST["user_id"]);$model->setUTF();$datas=$model->getAuser($params);$this->display($datas,$this->ctlName,"user_info_check_admin");}}model/user.inc中控制不同功能的sql语句:constSetUTFSQL="setnamesutf8";//控制编码类型constGetAllUserSQL="select*fromuserwhereuser_type<>9orderbyuser_type";//查询不为管理员的所有用户constGetUserInfoSQL="select*fromuserwhereuser_id={user_id}";//选取用户的所有信息constUpdatepwdSQL="updateusersetuser_pwd={new_pwd}whereuser_id={user_id}";//修改admin密码constGetadminSQL="select*fromuserwhereuser_id={user_id}anduser_pwd={user_pwd}";//验证管理员旧密码是否正确constUpdateUserTypeSQL="updateusersetuser_type={user_type},checknote={checknote}whereuser_id={user_id}";view/user/index_admin.html中显示用户类型的状态,需要审核的显示为红色if($datas){ //若存在注册用户echo"<tableclass='d_table'border='1'(省略若干行)foreach($datasas$row){if($row["user_id"]){if($row["user_type"]==2)echo"(省略若干行)";//通过审核elseif($row["user_type"]==1)echo"(省略若干行)";//未通过审核elseif($row["user_type"]==0)echo"(省略若干行)";//请审核}}}else{ //若不存在注册用户echo"没有注册用户";}view/user/index_info_check_admin.html中检查是或否通过审核,如若选择未通过审核,则弹出textarea,输入未通过审核原因<scripttype="text/javascript"> functiontextareadisabledture(){ document.getElementById("check_fail_reason_div").style.display="none";document.getElementById("check_fail_reason").value="无"; }functiontextareadisabledfalse(){ document.getElementById("check_fail_reason_div").style.display="block"; }</script>...<formaction="index.php?ctl=user&act=user_info_check_admin"method="post"target="_self"><label>审核结果:</label><inputtype="text"value="<?phpecho$user["user_id"]?>"name="user_id"style="display:none;"/><inputtype="radio"value="2"name="check_state"onClick="textareadisabledture();"/>审核通过//链接上面的javascript<inputtype="radio"value="1"name="check_state"onClick="textareadisabledfalse();"/>审核未通过<br/><divstyle="display:none;"id="check_fail_reason_div"><textareastyle="width:300px;height:150px;"requiredplaceholder="请输入用户审核未通过原因:"id="check_fail_reason"name="check_fail_reason"></textarea><br/></div><inputtype="submit"value="提交"style="width:80px;margin-right:10px;height:30px;"/><inputtype="reset"value="重置"style="width:80px;margin-right:5px;height:30px;"/></form>图4-4管理员查看用户状态操作界面图4-5管理员审核用户信息界面4.4.2走势模块controller/query.inc中管理员可增删改查今日走势publicfunctioninfo_today_insert_admin_action()//添加、修改今日走势{$model=createModel("query");if($_REQUEST["info_gold_today"]&&$_REQUEST["info_silver_today"]){$params=array("info_gold"=>$_REQUEST["info_gold_today"],"info_silver"=>$_REQUEST["info_silver_today"],"info_date"=>date('Y-m-d',time())//获取今日年月日);$model->deleteInfo($params);//添加前删除已有的今日走势$model->insertInfo($params);redirect("index.php?ctl=query&act=info_admin");}else{$this->display(array(),$this->ctlName,"info_today_insert_admin");}}publicfunctioninfo_today_delete_admin_action()//删除今日走势{$model=createModel("query");$params["info_date"]=date('Y-m-d',time());$model->deleteInfo($params);redirect("index.php?ctl=query&act=info_admin");}检查输入:onKeyUp="this.value=this.value.replace(/[^(\d|\.)]/g,'');"model/query.inc:删除今日走势的sql语句:constDeleteInfoSQL="deletefrominfowhereinfo_date={info_date}";增加今日走势的sql语句:constInsertInfoSQL="insertintoinfo(info_date,info_gold,info_silver)values({info_date},{info_gold},{info_silver})";图4-6管理员查看黄金白银走势操作界面用户查看黄金白银走势:controller/query.inc中可分为查看所有走势、查看指定日期走势publicfunctioninfo_action()//查询黄金白银信息{$model=createModel("query");$datas[0]=$model->getAllInfo();$params=array("info_date"=>$_REQUEST["search_date"]);if($params["info_date"]){$datas[1]=$model->getInfoDate($params);//获取特定时间的信息$datas[1][1]=1;//初始化函数}else$datas[1][1]=0;//初始化函数$this->display($datas,$this->ctlName,"info");}图4-7用户查看黄金白银走势操作界面4.4.3查询模块controller/query.inc中用户、管理员查看交易记录:publicfunctioninfo_action()//查询黄金白银信息{$model=createModel("query");$datas[0]=$model->getAllInfo();$params=array("info_date"=>$_REQUEST["search_date"]);if($params["info_date"]){$datas[1]=$model->getInfoDate($params);//获取特定时间信息$datas[1][1]=1;//初始化函数}else$datas[1][1]=0;//初始化函数$this->display($datas,$this->ctlName,"info");}图4-15用户查看个人交易记录操作界面5测试5.1测试的目的依据需求文档、概要设计说明、详细设计说明,设计测试用例,对软件系统进行测试,目的是:为了发现程序中的错误而执行程序的过程,好的测试方案是能发现至今未发现的错误的测试方案,成功的测试是发现了至今尚未发现的错的。同时能找出软件功能与需求不一致的地方,由开发人员在进行修改与补充。5.2测试用例表5.2.1划分等价类输入条件合理等价类不合理等价类今日金价、今日银价1.正整数、小数2.字母、字符表5.2.1合理类测试用例测试数据期望结果覆盖范围10输入有效111.11输入有效1表5.2.2不合理类测试用例测试数据期望结果覆盖范围abc输入无效2~.~输入无效25.3具体测试为正整数、小数的时候可以输入的今日金价、今日银价。否则不能输入。6结束语踉踉跄跄地忙碌了三个月,我的毕业设计课题也终将告一段落。进入站点,也基本达到预期的效果,虚荣的成就感在没人的时候也总会冒上心头。但由于能力和时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陶瓷销售年终工作总结5篇
- 普通护士实习个人小结参考五篇
- 铺面房屋租赁5篇
- 豆制品深加工技改扩建项目可行性实施报告
- 滑雪场项目可行性研究报告
- 请遗骨协议书
- 三轮车事故协议书
- 山西焦煤就业协议书
- 酒店销售经理个人工作计划模板5篇
- 地下管廊机械施工合同
- 2024年福建省托育服务职业技能竞赛理论考试题库(含答案)
- 2024下半年江苏苏州城市学院招聘管理岗位工作人员27人历年(高频重点提升专题训练)共500题附带答案详解
- 家长会空白签到表
- 二年级乘除法口算题大全500题(可直接打印)
- 车辆技术管理机构设置及各岗位管理职责
- 针织学(双语)课件Chapter2
- Q∕CR 549.2-2016 铁路工程土工合成材料 第2部分:土工格栅
- 测量复核记录
- 建造节活动策划书
- sk239g报警器说明书
- 半导体芯片项目创业计划书(参考范文)
评论
0/150
提交评论