《Java软件项目(BS架构)开发》9“申请开户”与“联系我们”的实现
- 格式:ppt
- 大小:958.04 KB
- 文档页数:17


一、报告概述尊敬的领导:为了更好地满足我单位信息化建设的需求,提高工作效率,确保信息安全,现向贵单位申请开通XX系统账号。
以下为详细申请报告。
二、申请背景随着信息技术的飞速发展,我单位在业务处理、数据管理、内部沟通等方面对信息系统的依赖程度越来越高。
为了实现业务流程的优化、提高工作效率、保障数据安全,我单位决定引进XX系统,并计划为相关岗位员工开通系统账号。
三、系统简介XX系统是一款集成了信息管理、业务处理、数据统计、权限控制等功能于一体的综合性管理系统。
该系统具有以下特点:1. 功能全面:涵盖了单位内部大部分业务流程,能够满足不同部门、不同岗位的需求。
2. 操作简便:界面友好,操作流程清晰,易于学习和使用。
3. 安全可靠:采用多重安全防护措施,确保系统运行稳定和数据安全。
4. 数据统计:能够实时生成各类报表,为领导决策提供数据支持。
四、申请理由1. 提高工作效率:通过XX系统,可以实现对业务流程的自动化管理,减少人工操作,提高工作效率。
2. 保障数据安全:系统具备完善的安全机制,可以有效防止数据泄露和恶意攻击。
3. 促进信息共享:系统支持信息共享,有利于各部门之间的协同工作。
4. 降低运营成本:通过优化业务流程,降低人力成本和管理成本。
五、申请账号类型及数量根据我单位各部门的实际需求,本次申请账号类型如下:1. 管理员账号:用于系统维护和权限管理,共计2个。
2. 业务操作员账号:用于日常业务处理,共计30个。
3. 数据统计员账号:用于数据统计和分析,共计5个。
六、账号开通流程1. 提交申请:各部门负责人根据岗位需求,填写《系统账号开通申请表》。
2. 审核批准:由信息技术部门对申请表进行审核,确保账号开通的合理性。
3. 账号分配:信息技术部门根据审核结果,为申请者分配账号。
4. 账号激活:申请者收到账号信息后,按照要求进行账号激活。
5. 培训指导:信息技术部门为申请者提供系统操作培训,确保其能够熟练使用系统。
Java语言编写实现银行账号开户、存款、取款、查询和转账源代码详解需求分析1.ATM柜员机系统保存所有开户用户的信息(银行卡号、密码、真实姓名、家庭地址、联系电话、卡内金额),限制最大开户数1002.用户通过开户能实现自助开户,银行卡号随机数生成5位整数,卡内金额默认为0,其他信息由客户在控制台上输入,要求银行卡号不能重复3.用户可以选择存款选项办理存款业务要求存款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行存款业务的办理,业务办理完毕后显示该客户目前的卡内余额信息并提示办理成功4.用户可以选择取款选择办理取款要求取款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行取款业务的办理,输入存款金额后,显示目前卡内余额信息并提示办理成功5.用户可以选择查询余额选择办理查询业务要求取款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行查询业务的办理,登录信息验证成功后显示该用户的详细信息6.用户可以选择转账选项办理查询业务[本系统只支持本地行内转账] 要求取款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行转账业务的办理,用户输入的转账帐号必须是已经在我行合法开户的用户,合法的转账帐号显示该用户姓名,输入转账金额,完成转账功能显示自己的卡内余额并提示业务办理成功7.用户选择退出,结束本次业务办理8.该项目中的相关逻辑判断请自行斟酌1.将用户的卡号、密码、姓名、手机号码、家庭住址和卡上余额属性封装成对象,代码如下package com.zsrt.test;import java.util.*;public class BankAccount{private int cardNum;private String passWord;private String name;private String address;private long telephone;private float money;public int getCardNum() {return cardNum;}public void setCardNum(int cardNum) {this.cardNum = cardNum;}public String getPassWord() {return passWord;}public void setPassWord(String passWord) { this.passWord = passWord;}public String getName() {return name;}public void setName(String name) { = name;}public String getAddress() {return address;}public void setAddress(String address) { this.address = address;}public long getTelephone() {return telephone;}public void setTelephone(long telephone) {this.telephone = telephone;}public float getMoney() {return money;}public void setMoney(float money) {this.money = money;}}2.建立测试类Junit Test文件package com.zsrt.test;import static org.junit.Assert.*;import java.util.*;import java.text.DecimalFormat;import org.junit.Before;import org.junit.Test;public class ATMTest {Scanner sn=new Scanner(System.in);List<BankAccount> clientList=new ArrayList<BankAccount>(); //采用动态数组来存放用户的信息DecimalFormat df=new DecimalFormat("0.00");//格式化输出余额@Beforepublic void setUp() throws Exception {}@Testpublic void test() {System.out.println("\t\t\t**********************⊙***********************");System.out.println("\t\t\t**");System.out.println("\t\t\t**");System.out.println("\t\t\t* ⊙欢迎进入中国银行*");System.out.println("\t\t\t**");System.out.println("\t\t\t**");System.out.println("\t\t\t*********************⊙************************");while(true){System.out.println("\t\t\t请选择您要办理的手续:");System.out.println("\t\t\t\t1.开户");System.out.println("\t\t\t\t2.存款");System.out.println("\t\t\t\t3.取款");System.out.println("\t\t\t\t4.查询余额");System.out.println("\t\t\t\t5.转账");System.out.println("\t\t\t\t6.退出");System.out.println("\t\t\t请输入您要办理的项目");int num=sn.nextInt();if(num==1){openAccount();}else if(num==2){saveMoney();}else if(num==3){takeMoney();}else if(num==4){checkMoney();}else if(num==5){transferMoney();}else if(num==6){System.out.println("退出");break;}else{System.out.println("请输入正确的选项!!!");}}}public class BankAccount{private int cardNum;private String passWord;private String name;private String address;private long telephone;private double money;public int getCardNum() {return cardNum;}public void setCardNum(int cardNum) { this.cardNum = cardNum;}public String getPassWord() {return passWord;}public void setPassWord(String passWord) { this.passWord = passWord;}public String getName() {return name;}public void setName(String name) { = name;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public long getTelephone() {return telephone;}public void setTelephone(long telephone) {this.telephone = telephone;}public double getMoney() {return money;}public void setMoney(double money) {this.money = money;}}public void openAccount(){//开户函数BankAccount account=new BankAccount();int cardNum=(int)(Math.random()*90000+10000);account.setCardNum(cardNum);System.out.println("系统已为您随机分配一个卡号"+cardNum);System.out.println("请为您的账户设置密码:");String passWord=sn.next();account.setPassWord(passWord);System.out.println("请输入您的姓名:");String name=sn.next();account.setName(name);System.out.println("请输入您的地址");String address=sn.next();account.setAddress(address);System.out.println("请输入您的联系电话:");long telephone=sn.nextLong();account.setTelephone(telephone);if(clientList.isEmpty()){clientList.add(account);System.out.println("开户成功!"+"您的卡号是:"+account.getCardNum());}else{BankAccountaccount_1=checkCardNum(account.getCardNum());//卡号应是唯一的,若已在clientList中则表示卡号重复,需要重新开户,否则可以将account对象添加到clientList中if(account_1==null){account.setMoney(0);clientList.add(account);System.out.println("开户成功!您的卡号是:"+account.getCardNum());}}//end}public void saveMoney(){ //存款函数BankAccount account=login();//每次操作前需要先登录if(account==null){System.out.println("账号或密码有误,登录失败!");}else{System.out.println("登录成功!请输入您的存款金额:");double money=sn.nextFloat();account.setMoney(money+account.getMoney());String str=df.format(account.getMoney());System.out.println("存款成功!您现在的卡上余额为:"+str);}}public void takeMoney(){ //取款函数BankAccount account=login();if(account==null){System.out.println("您输入的账号或密码有误,登录失败!");}else{System.out.println("登录成功!请输入您的取款金额:");double money=sn.nextFloat();if(account.getMoney()<money){System.out.println("您的卡上余额不足"+money+",取款失败!");}else{account.setMoney(account.getMoney()-money);String str=df.format(account.getMoney());System.out.println("存款成功!您现在的卡上余额为:"+str);}}}public void checkMoney(){// 查询余额函数BankAccount account=login();if(account==null){System.out.println("您输入的账号不存在或密码有误,登录失败!");}else{String str=df.format(account.getMoney());System.out.println("查询余额成功!您现在的卡上余额为:"+str);}}public void transferMoney(){ //转账函数BankAccount account=login();if(account==null){System.out.println("您输入的账号不存在或密码有误,登录失败!");}else{System.out.println("请输入你要转账的卡号:");int cardNum=sn.nextInt();BankAccount account_1=checkCardNum(cardNum);if(account_1!=null){System.out.println("您要转账的客户的姓名为:"+account_1.getName());System.out.println("请输入您的转账金额:");double money=sn.nextFloat();if(money>account.getMoney()){System.out.println("您的卡上余额不足"+money+",转账失败!");}else{account.setMoney(account.getMoney()-money);account_1.setMoney(money+account_1.getMoney());String str=df.format(account.getMoney());System.out.println("转账成功!您现在的卡上余额是:"+str);}}else{System.out.println("您输入的卡号在本行不存在,转账失败!");}}}public BankAccount checkCardNum(int cardNum){//查询卡号在clientList中是否存在clientList,若找到则返回其中的account对象,否则返回nullBankAccount account=null;for(BankAccount account_1: clientList){ //遍历clientList 列表if(account_1.getCardNum()==cardNum){account=account_1;break;}else{account=null;}}//endreturn account;}public BankAccount login(){ //登录函数如果客户输入的卡号和密码与存入clientList中找到的account对象的卡号和密码相同才表示登录成功BankAccount account_1=null;System.out.println("请输入您的卡号:");int cardNum=sn.nextInt();BankAccount account=checkCardNum(cardNum);System.out.println("请输入您的密码:");String passWord=sn.next();if(account!=null && account.getPassWord().equals(passWord)){account_1=account;}else{account_1=null;}return account_1; }}。
B/S结构和C/S结构软件的区别一、简单的说:B/S是浏览器服务器模式,比如E-mail. C/S是客户端服务器模式,比如QQ.二、具体的说:1、软件本身:1)编写程序要求不同:C/S意思是客户端的程序编写,而B/S是服务器端的编写, B/S必须有多年的C/S经验才能编写的.2)管理信息系统不同:(硬件环境的要求和操作、)传统的管理信息系统一般采用C/S架构(客户机/服务器,Client/Server)方式来完成。
一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务,在这一架构中,业务逻辑位于客户端,每完成一项事务,都要频繁地访问数据库,使得网络上数据流量非常大,对于慢速连接的用户,甚至无法使用。
而B/S架构实际上是三层架构,建立在广域网之上的, 不必是专门的网络硬件环境,例如电话上网, 租用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行。
在这种架构中,业务逻辑放置于中间件服务器上,大量的数据流也位于中间件和数据库之间,而客户机只是简单地发出请求,中间件接受请求后进行事务处理并将处理的结果返回给客户机,这一类型的客户机也称之为“廋客户”3)信息流不同传统的C/S架构的软件需要针对不同的操作系统开发不同版本的软件,面对众多的操作系统和软件快速的升级换代,软件系统的改进和升级越来越频繁。
并且C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低。
用户使用起来很不方便。
而采用Java语言实现的B/S架构的软件产品真正做到了“一次编写处处运行(Write Once, Run Anywhere)”, 所有的客户端只是浏览器,所有的操作都和上网浏览网页类似。
信息流向可变化, B-B B-C B-G等信息、流向的变化, 更象交易中心。
2、成本不同:二次开发、维护需要人财物)传统的C/S架构的软件需要针对不同的操作系统开发不同版本的软件,而面对众多的操作系统和软件快速的升级换代,程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是需要再做一个全新的系统,需要大量的人、财、物的投入,并且时间周期漫长。
毕业设计(论文)B/S架构的OA系统的设计与实现学院:管理与经济学院专业:姓名:指导老师: 信息管理与信息系统黄朝翔学号:职称:0608241037 李玉敏讲师中国·珠海二○一○年五月北京理工大学珠海学院毕业论文诚信承诺书本人郑重承诺:我所呈交的毕业论文《办公自动化系统的设计与实现》是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,论文使用的数据真实可靠.承诺人签名:黄朝翔日期:2010 年5 月20 日摘要办公自动化(OA: OFFICE AUTOMATION)就是采用Internet/Intranet技术,基于工作流的概念,使企业内部人员方便快捷地共享信息,高效地协同工作;改变过去复杂、低效的手工办公方式,实现迅速、全方位的信息采集、信息处理,为企业的管理和决策提供科学的依据.一个企业实现办公自动化的程度也是衡量其实现现代化管理的标准.本系统采用当今业界主流J2EE架构,基于B/S模式进行开发。
系统由文档管理、条目管理、项目管理、论坛、邮件管理、系统管理等六大模块组成。
采用组件技术和 Web 技术相结合,灵活的表单定义和树形菜单呈现、强大的工作流引擎、采用最新的flex技术以web图形化方式进行项目管理,针对企业办公中存在的信息不畅、管理不协调、效率低下的问题,用信息化手段提供了强有力的网络化支持,并把协同办公的理念、知识管理的思想带入日常办公管理,全面提升企业信息化程度。
关键词:办公自动化B/S架构工作流J2EE技术ABSTRACTOffice automation (OA: OFFICE AUTOMA TION) is the use of Internet / Intranet technology, based on the concept of workflow,so that internal staff to quickly and easily share information,work together efficiently;change the complex,inefficient manual office practices,and achieve rapid, comprehensive information gathering,information processing,enterprise management and scientific basis for decision—making. Implementation of an enterprise is also a measure of the degree of office automation to modernize management of its standards。