java银行系统
- 格式:doc
- 大小:99.00 KB
- 文档页数:14
兴业银行的java笔试
兴业银行的Java笔试可能会包含以下内容:
1. 基础知识考察:考察Java语言的基础知识,包括数据类型、变量、运算符、流程控制等。
2. 面向对象:考察Java的面向对象特性,包括类、对象、继承、封装、多态等。
3. 异常处理:考察Java异常处理机制,包括如何捕获异常、
抛出异常、异常处理的方法等。
4. 集合框架:考察Java集合框架,包括ArrayList、LinkedList、HashMap等集合类的使用和特性。
5. 多线程:考察Java多线程编程,包括线程的创建、同步、
通信等。
6. IO操作:考察Java的IO操作,包括文件读写、字节流、字符流、序列化等。
7. 数据库操作:考察对数据库的操作,包括连接数据库、执行SQL语句、事务处理等。
8. 数据结构与算法:考察基本的数据结构和算法,包括数组、链表、栈、队列、排序、查找等。
9. 设计模式:考察常用的设计模式,如单例模式、工厂模式、观察者模式等。
这些只是一些可能出现的题目类型,具体的题目内容可能会根据招聘岗位的要求而有所不同。
建议你针对以上内容进行准备,并且熟悉兴业银行的业务特点和相关技术要求,以便更好地应对笔试题目。
java信贷项目业务流程
Java信贷项目业务流程是指在Java技术的支持下,实现信贷业务的流程。
下面将从以下几个方面进行详细介绍:
一、客户申请贷款
客户首先需要向银行提交贷款申请,银行会要求客户填写相关的个人信息和贷款金额等信息,然后提交给银行。
二、资料审核
银行会对客户提交的贷款申请进行资料审核,包括客户的个人信息、信用记录、收入情况等。
如果审核通过,银行会进一步进行风险评估,确定客户的信贷额度。
三、贷款审批
银行会根据客户的信用记录、收入情况、负债情况等进行综合评估,决定是否批准客户的贷款申请。
如果批准,银行会与客户签订贷款合同,并将贷款金额划入客户的账户。
四、贷款发放
贷款发放是指银行将贷款金额划入客户的账户。
在Java信贷项目中,贷款发放通常是通过系统自动完成的,系统会根据客户的贷款申请和审批结果,自动将贷款金额划入客户的账户。
五、还款管理
客户需要按照贷款合同约定的还款计划,按时还款。
银行会通过系统对客户的还款情况进行监控和管理,包括还款金额、还款日期、逾期情况等。
如果客户逾期还款,银行会对其进行催收。
六、贷后管理
贷后管理是指银行在贷款发放后,对客户的还款情况进行监控和管理。
在Java 信贷项目中,贷后管理通常是通过系统自动完成的,系统会对客户的还款情况进行监控和提醒,以保证贷款的正常回收。
以上就是Java信贷项目业务流程的介绍,该流程涉及到客户申请、资料审核、贷款审批、贷款发放、还款管理和贷后管理等环节,通过Java技术的支持,实现了信贷业务的自动化管理,提高了业务效率和质量。
java银行外包面试题面试题:Java银行外包一、Java基础1.解释Java的特点和优势。
2.什么是Java虚拟机(JVM)?3.请说明Java中的类和对象的区别。
4.Java中的继承和接口有什么区别?它们的应用场景有何不同?5.请解释Java中的多态性以及它的作用。
6.什么是异常处理?Java中的异常处理机制是如何工作的?7.请描述Java中的线程和进程的概念,并说明它们之间的关联。
二、面向对象设计1.请解释什么是面向对象编程(OOP)。
2.请说明封装、继承和多态的概念,并分别举例说明。
3.如何实现一个类的封装?4.请描述设计原则中的单一职责原则(SRP)和开放封闭原则(OCP)。
5.在Java中如何实现继承和多态?6.请解释什么是类的关联、聚合和组合,并给出实例说明。
三、数据结构和算法1.什么是数据结构?请列举几种常用的数据结构。
2.解释线性结构和非线性结构的区别,并举例说明。
3.请说明什么是算法的时间复杂度和空间复杂度,并列举几个常见的算法复杂度。
4.请解释什么是递归算法,并给出一个实例。
5.请解释什么是排序算法,并给出几个常见的排序算法的特点和使用场景。
四、数据库1.什么是数据库?请列举几种常见的关系型数据库和非关系型数据库。
2.请解释什么是SQL和NoSQL,并描述它们的特点和应用场景。
3.请解释关系型数据库中的表、行、列和主键的概念。
4.请解释关系型数据库中的四个基本操作:增加(INSERT)、查询(SELECT)、更新(UPDATE)和删除(DELETE)。
5.请说明什么是连接(JOIN)操作,并列举几种常见的连接操作。
6.请描述索引的作用和使用注意事项。
五、设计模式1.请解释什么是设计模式,设计模式的作用是什么?2.请列举几种常见的设计模式,并解释它们的应用场景和优点。
3.请描述工厂模式、观察者模式和单例模式的特点和使用场景。
4.请解释什么是MVC模式,并说明它在Java Web开发中的应用。
网上支付平台商户开发指南(JAVA版)中国邮政储蓄银行有限责任公司文档修改记录版本日期说明编写审核1.0 2009-11-1 形成初稿csii 陈宜1.6 2010-3-20 更新接口说明csii 陈宜2.0 2010-11-1 更新商户开发包,更新文档与接口说明csii目录1 概述 (5)1.1 文档说明 (5)1.2 版本说明 (5)1.3 阅读对象 (5)2 系统概述 (5)2.1 定义 (5)2.2 支付流程简述 (6)2.3 退货、查询及对帐文件下载流程 (7)2.4 对帐文件格式 (8)2.5 安全控制 (8)3 开发准备 (8)3.1 环境要求 (8)3.2 开发包文件清单 (9)3.3 商户数字证书安装步骤 (9)3.3.1 说明 (9)3.3.2 准备工作 (9)3.3.3 获得证书 (10)3.3.4 商户密钥容器文件—“psbc_merchant.jks” (10)3.3.5 商户密钥容器属性文件—“psbc_merchant.properties” (12)3.3.6 将密钥导入商户密钥容器文件—“psbc_merchant.jks” (12)3.3.7 修改密钥容器的密码 (14)3.3.8 导出商户证书 (14)3.3.9 将商户证书通过网上银行安全传递给银行 (16)3.4 商户数字证书私钥更新步骤 (16)3.4.1 删除旧的商户数字签名证书 (16)3.4.2 导入新的商户数字签名证书 (17)3.4.3 上传商户证书 (17)3.5 银行支付平台证书更新步骤 (17)3.5.1 删除银行支付平台证书 (17)3.5.2 导入银行支付平台证书 (17)4 签名及验签开发指引 (18)4.1 软件包接口说明 (18)4.1.1 签名方法 (18)4.1.2 验签方法 (19)4.2 签名及验签的调用 (19)4.3 应用部署 (19)5 交易接口描述 (19)5.1 基本交易要素 (20)5.1.1 输入要素 (20)5.1.2 交易提交URL (21)5.2 交易方式 (22)5.2.1 如何编写https页面交易接口 (22)5.2.2 如何编写https指令交易接口 (23)5.3 交易说明 (24)5.3.1 支付交易(IPER) (24)5.3.2 退货交易(IPSR) (29)5.3.3 单笔查询(IQSR) (30)5.3.4 多笔查询(BQSR) (31)5.3.5 下载对帐文件(IDFR) (33)6 上线步骤 (35)6.1 签订业务协议 (35)6.2 开户 (35)6.3 开通公司网银 (35)6.4 申请并下载公司网银证书 (35)6.5 开通银行支付平台 (36)6.6 申请并下载银行支付平台证书 (36)6.7 配置数字证书 (36)6.8 上传商户证书 (36)6.9 配置生产环境URL (36)6.10 试运行 (36)7 商户管理系统使用说明 (37)7.1 登录商户管理系统 (37)7.2 商户端证书公钥的上传 (39)7.3 支付功能的开通/关闭 (39)7.4 关联账户余额查询 (39)7.5 关联账户明细查询 (40)7.6 支付交易查询 (41)7.7 对账文件下载 (41)7.8 单笔退货 (42)7.9 批量退货 (42)7.10 批量退货结果文件下载 (43)8 结算说明 (43)1概述1.1 文档说明网上支付业务中,商户是进行商品售出的一方,客户是进行商品购买和货款支付的一方,邮政储蓄银行支付平台是为客户的购买行为进行支付的一方,以下简称银行支付平台。
Java将数字金额转换成中文大写形式import java.math.BigDecimal;import java.math.RoundingMode;public class ChineseMoneyUtils {/*** 中文数字*/final static private String[] CHINESE_NUMBER = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };/*** 中文数字单位*/final static private String[] CHINESE_NUMBER_UNIT = { "", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟" };/*** 人民币单位*/final static private String[] CHINESE_MONEY_UNIT = { "圆", "角", "分" };public static void main(String[] args) {String chineseMoney = toChineseMoney(new BigDecimal("320"));System.out.println("chineseMoney = " + chineseMoney);}/*** @param sourceMoney 要转换的数值,最多支持到亿* @return 结果*/public static String toChineseMoney(BigDecimal sourceMoney) {if (new BigDecimal("1000000000000").compareTo(sourceMoney) <= 0&& pareTo(sourceMoney) >= 0) {throw new RuntimeException("支持转换的金额范围为0~1万亿");}StringBuilder sb = new StringBuilder();// 整数部分BigDecimal intPart = sourceMoney.setScale(0, RoundingMode.DOWN);// 小数部分BigDecimal decimalPart = sourceMoney.subtract(intPart).multiply(newBigDecimal(100)).setScale(0,RoundingMode.DOWN);// 处理整数部分圆if (pareTo(BigDecimal.ZERO) > 0) {String intPartNumberString = intPart.toPlainString();int length = intPartNumberString.length();// 统计末尾的零,末尾零不做处理int zeroCount = 0;for (int i = length - 1; i >= 0; i--) {int number = Integer.parseInt(String.valueOf(intPartNumberString.charAt(i)));if (number == 0) {zeroCount++;} else {break;}}for (int i = 0; i < length; i++) {// 如果转换到末尾0,则停止转换if (i + zeroCount == length) {break;}int number = Integer.parseInt(String.valueOf(intPartNumberString.charAt(i)));// 获取中文数字String chineseNumber = CHINESE_NUMBER[number];// 获取中文数字单位String chineseNumberUnit = CHINESE_NUMBER_UNIT[length - i - 1];sb.append(chineseNumber).append(chineseNumberUnit);}// 统计完后加上金额单位sb.append(CHINESE_MONEY_UNIT[0]);} else {sb.append(CHINESE_NUMBER[0]).append(CHINESE_MONEY_UNIT[0]);}// 处理小数部分if (pareTo(new BigDecimal(10)) >= 0) {// 角String jiao = decimalPart.toPlainString();int number = Integer.parseInt(String.valueOf(jiao.charAt(0)));if (number != 0) {String chineseNumber = CHINESE_NUMBER[number];sb.append(chineseNumber).append(CHINESE_MONEY_UNIT[1]);}// 分String fen = decimalPart.toPlainString();number = Integer.parseInt(String.valueOf(fen.charAt(1)));if (number != 0) {String chineseNumber = CHINESE_NUMBER[number];sb.append(chineseNumber).append(CHINESE_MONEY_UNIT[2]);}} else if (pareTo(BigDecimal.ZERO) > 0) {// 分String fen = decimalPart.toPlainString();int number = Integer.parseInt(String.valueOf(fen.charAt(0)));if (number != 0) {String chineseNumber = CHINESE_NUMBER[number];sb.append(chineseNumber).append(CHINESE_MONEY_UNIT[2]);}} else {sb.append("整");}return sb.toString();}}。
银行或保险行业的java简历随着信息技术的快速发展,银行和保险行业也逐渐意识到了数字化转型的重要性。
作为一名Java开发工程师,我深知自己在这个行业中的重要性和责任。
下面是我精心准备的一份银行或保险行业的Java简历,希望能够给您留下深刻的印象。
个人信息:姓名:XXX性别:男出生日期:XXXX年X月X日联系电话:XXXXXXXXXXX电子邮箱:XXXXXXXXX教育背景:XXXX年-XXXX年 XXXX大学计算机科学与技术专业学士学位工作经历:XXXX年-至今 XXXX公司 Java开发工程师- 负责银行或保险行业的核心系统开发和维护,包括账户管理、支付结算、风险控制等模块。
- 参与需求分析、系统设计、编码和测试等工作,保证项目按时交付和质量达标。
- 与产品经理、测试人员和运维团队密切合作,解决系统问题和优化系统性能。
- 参与团队内部的技术分享和培训,提升团队整体技术水平。
项目经验:项目一:银行账户管理系统- 负责账户开户、销户、查询、修改等功能的开发。
- 使用Java、Spring、MyBatis等技术栈,保证系统的高性能和稳定性。
- 优化系统的数据库设计和查询性能,提升用户体验。
- 参与系统的需求分析和设计,确保系统满足业务需求。
项目二:保险理赔系统- 负责保险理赔流程的自动化开发。
- 使用Java、Spring Boot、微服务等技术,实现系统的高可用和可扩展性。
- 与保险公司合作,对接第三方数据接口,提高理赔效率。
- 参与系统的架构设计和性能优化,确保系统的稳定运行。
技术技能:- 熟练掌握Java编程语言,熟悉面向对象编程思想。
- 熟悉Spring、Spring Boot、MyBatis等开发框架和工具。
- 熟悉数据库设计和优化,熟练使用MySQL、Oracle等数据库。
- 熟悉分布式系统架构和微服务开发。
- 具备良好的问题解决能力和团队合作精神。
自我评价:作为一名Java开发工程师,我具备扎实的编程基础和丰富的项目经验。
java银行家舍入法
(实用版)
目录
1.银行家舍入法的概念和背景
2.银行家舍入法的算法原理
3.银行家舍入法的应用实例
4.银行家舍入法的优缺点
正文
1.银行家舍入法的概念和背景
银行家舍入法(Banker"s Rounding)是一种常用的数字舍入方法,主要应用于计算机科学和金融领域。
银行家舍入法的初衷是为了保证数据的稳定性和一致性,特别是在进行金融交易时,可以有效避免由于四舍五入误差导致的数据不一致问题。
2.银行家舍入法的算法原理
银行家舍入法的核心思想是:当小数点后第一位为 5 时,如果前一位数字为奇数,则向上进位;如果前一位数字为偶数,则直接舍去。
这种方法可以确保在连续的数字舍入过程中,不会出现因四舍五入导致的数据累积误差。
具体算法步骤如下:
(1)观察要舍入的数字的最后一位,判断其是否为 5;
(2)如果最后一位是 5,检查前一位数字,如果是奇数,则向上进位;如果是偶数,则直接舍去。
3.银行家舍入法的应用实例
银行家舍入法在金融领域有着广泛的应用,例如在计算贷款利息、股
票价格、货币兑换等场景中,采用银行家舍入法可以确保计算结果的准确性和一致性。
此外,在计算机科学领域,银行家舍入法也常用于数值计算、数据处理等场景。
4.银行家舍入法的优缺点
优点:
(1)能有效避免因四舍五入导致的数据累积误差;
(2)具有较高的计算精度,适用于对精度要求较高的场景;
(3)算法简单,易于实现和理解。
java银行简历Java 银行简历一、个人信息姓名:XXX性别:男出生日期:XXXX年XX月XX日联系电话:XXX-XXXXXXX电子邮件:*************二、教育背景1. 学历教育年份:XXXX年 - XXXX年学校名称:XXX大学专业:计算机科学与技术学位:学士学位2. 继续教育年份:XXXX年 - XXXX年培训机构:XXX教育培训公司课程名称:Java 开发与应用证书:Java 开发与应用证书三、技能专长1. 编程语言熟练掌握Java编程语言,包括面向对象编程、多线程编程、异常处理等方面的知识。
2. 开发框架熟悉Spring、Spring MVC和MyBatis等开发框架,能够独立进行项目的开发和维护。
3. 数据库熟悉SQL语言,能够使用关系型数据库(如MySQL)进行数据的增删改查操作。
4. 前端技术了解HTML、CSS和JavaScript等前端技术,能够制作简单的网页并实现与后端的数据交互。
5. 版本控制熟悉Git版本控制工具,能够进行代码的协同开发和版本管理。
四、工作经验1. 公司名称:XXX银行职位:Java开发工程师工作时间:XXXX年 - 至今主要职责:- 参与银行系统的需求分析和功能设计;- 负责实现与银行业务相关的模块开发;- 与团队成员合作,解决项目开发过程中的技术问题。
相关项目:- 项目一:银行账户管理系统项目描述:该系统用于管理客户的银行账户信息,包括开户、销户、查询余额等功能。
项目职责:负责账户开户和查询余额功能的实现。
使用技术:Java、Spring、Spring MVC、MyBatis、MySQL- 项目二:网银系统升级项目描述:对银行的网银系统进行功能升级和优化,提升用户体验。
项目职责:参与需求分析,负责账户转账和支付功能的开发。
使用技术:Java、Spring、Spring MVC、MyBatis、MySQL五、获奖荣誉- XXX编程大赛一等奖,XXXX年- XXX技术创新大赛三等奖,XXXX年- XXX优秀员工,XXXX年六、自我评价我热爱编程,对Java开发有着扎实的基础知识和丰富的项目经验。
银行家算法java代码银行家算法是一种用于避免死锁的算法,它可以保证系统在分配资源时不会陷入死锁状态。
在操作系统中,银行家算法被广泛应用于进程调度和资源管理中。
本文将介绍银行家算法的原理和实现,并提供Java代码示例。
一、银行家算法原理银行家算法是基于资源分配图的理论基础上发展而来的。
资源分配图是描述进程和资源之间关系的一种图形表示方法。
在资源分配图中,每个进程和每个资源都表示为一个节点,进程需要的资源和已经被占用的资源之间连接一条边。
银行家算法通过模拟进程请求和释放资源的过程来判断是否会出现死锁。
当一个进程请求某些资源时,如果系统能够满足其请求,则该进程可以继续执行;否则,该进程必须等待直到有足够的资源可用。
当一个进程释放掉已经占用的某些资源时,系统会将这些资源重新分配给其他需要它们的进程。
为了避免死锁,银行家算法采取了预防措施:在分配任何一个新任务之前,先检查该任务所需求各类资料是否超过了系统现有的资料总量,如果超过了,则不予分配。
否则,再检查该任务所需求各类资料是否超过了系统现有的未分配资料总量,如果超过了,则不予分配。
二、银行家算法实现银行家算法的实现需要考虑以下几个方面:1.资源分配图的表示方法:可以使用邻接矩阵或邻接表来表示资源分配图。
2.进程请求和释放资源的模拟:可以使用数组来存储进程占用和需要的资源数量,并通过对数组的修改来模拟进程请求和释放资源的过程。
3.死锁检测:可以使用安全序列或银行家算法来判断是否会出现死锁。
下面是一个基于银行家算法实现的简单Java代码示例:public class BankerAlgorithm {// 进程数private int n;// 资源数private int m;// 各进程已占用资源数量private int[][] allocation;// 各进程尚需资源数量private int[][] need;// 系统剩余可用资源数量private int[] available;/*** 构造函数* @param n 进程数* @param m 资源数* @param allocation 各进程已占用资源数量* @param need 各进程尚需资源数量* @param available 系统剩余可用资源数量*/public BankerAlgorithm(int n, int m, int[][] allocation, int[][] need, int[] available) {this.n = n;this.m = m;this.allocation = allocation;this.need = need;this.available = available;}/*** 模拟进程请求资源* @param pid 进程ID* @param request 请求的资源数量* @return 是否满足请求*/public boolean requestResources(int pid, int[] request) { // 检查请求是否超过进程所需的资源数量for (int i = 0; i < m; i++) {if (request[i] > need[pid][i]) {return false;}}// 检查请求是否超过系统剩余的资源数量for (int i = 0; i < m; i++) {if (request[i] > available[i]) {return false;}}// 模拟进程占用资源的过程for (int i = 0; i < m; i++) {available[i] -= request[i];allocation[pid][i] += request[i];need[pid][i] -= request[i];}return true;}/*** 模拟进程释放资源* @param pid 进程ID* @param release 释放的资源数量*/public void releaseResources(int pid, int[] release) { // 模拟进程释放资源的过程for (int i = 0; i < m; i++) {available[i] += release[i];allocation[pid][i] -= release[i];need[pid][i] += release[i];}}/*** 判断系统是否安全* @return 是否安全*/public boolean isSafe() {// 初始化工作数组int[] work = new int[m];for (int i = 0; i < m; i++) {work[i] = available[i];}boolean[] finish = new boolean[n]; for (int i = 0; i < n; i++) {finish[i] = false;}// 查找可用的进程int count = 0;while (count < n) {boolean found = false;for (int i = 0; i < n; i++) {if (!finish[i]) {boolean canRun = true;for (int j = 0; j < m; j++) { if (need[i][j] > work[j]) { canRun = false;break;}}if (canRun) {finish[i] = true;found = true;count++;for (int j = 0; j < m; j++) {work[j] += allocation[i][j];}}}}if (!found) {return false;}}return true;}}三、总结银行家算法是一种重要的避免死锁的算法,它可以在系统分配资源时避免出现死锁状态。
java银行账号校验规则
Java中,可以使用正则表达式来判断输入的账号是否符合银行账号的规则。
一般银行账号长度为10到20个字符,只能包含数字和字母,不允许包含
特殊字符。
此外,还可以通过特定的校验规则来验证账号的正确性。
一种常见的校验规则如下:
1. 从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。
2. 从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,将个位十位数字相加,即将其减去9),再求和。
3. 将奇数位总和加上偶数位总和,结果应该可以被10整除。
如果账号符合以上所有规则,那么可以认为这个账号是有效的。
文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 1文档来源为:从网络收集整理.word版本可编辑. 面向对象分析与设计
实验报告 (银行系统) 学 院: 医药信息工程学院 班 级: 外包13(2)班 学生姓名: 郑韬 学 号: 54 指导老师: 提交日期: 银行系统分析设计与建模 一、 引言 在经济飞速发展的今天,银行业早已经成为人类不可缺少的行业,无论是衣食住行还是存款理财,绝大多数都要经过银行使资金不断流通,银行的重要作用是不言而喻的,在科技高速发展的今天,甚至但是了网上银行,这让广大市民的各种金钱交易得到了更大多的方便,但同时,随着人们生活水平提高,人们对银行的要求也越来越高,银行需要的是不断增加新业务,新功能模块以满足广大市民的要求。
因此,不断优化银行系统已成为迫在眉睫的一项重要工作,一个强大的银行系统给人们,给银行带来的好处是无限的。本系统开发的目的就是为了优化银行的业务办理,提供一个基于互联网的安全系统,通过这个平台,人们可以更快地办理业务,银行人员可以减少工作量,提高工作效率。
二、 需求分析
1、 总体需求概述
银行系统是与生活紧密相关的一个机构,银行提供了存款、取款、转账、贷款等业务。在银行设立账户的人或机构通常被称为银行的储户。一个储户可以在银行开多个账户,储户可以存钱到账户中,也可以从自己的账户中取现,还可以将存款从一个账户转到另一个账户。储户还可以随时查询自己账户的情况,并查询以前所进行的存款、取款等交易记录。后台管理员可以对客户的账户进文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 2文档来源为:从网络收集整理.word版本可编辑. 行注销、删除、查询等管理,还有就是银行利息、汇率、手续费之类参数的设置,以及财务管理以及财务分析。
系统总体功能需求框图
系统功能需求描述:分模块 储蓄业务: (1)开户: 功能分解的一个模块,具体实现用户向银行提交申请材料,银行根据申请 材料的信息进行数据的录入,然后自动生成新的账号,让用户自行设置密码,最后保存到数据库。
(2)存款 功能分解的一个模块,具体实现银行从贷款发放至本息收回或信用结束的全过程对申请客户进行管理的操作,首先是输入正确的账号和密码,然后将钱存入(应该是银行工作人员进行资金识别,然后完成账户的存款额的修改操作),然后根据存款数修改用户存款额,最后打印凭条给客户。
(3)取款 功能分解的一个模块,具体实现用户在自己的账户中取款操作,首先是输入正确的账号和密码,然后输入取款额,然后系统自动判定取款额是否在总款额的范围内,如果不在,则给出取款额超量的提示,也就是取款操作失败;否则客户完成取款操作(银行工作人员将钱递交给客户,然后完成账户的存款额的修改操作),然后根据取款数修改用户存款额,最后打印凭条给客户。
(4)转账 功能分解后的一个模块,客户通过该功能实现同一银行内不同银行卡之间的转账,也可以实现不同银行卡间银行卡的转账功能。
(5)销户 功能分解的一个模块,具体实现用户向银行提交销户申请,银行接受申请后先查询账号余额,若有余额则告知客户取出余额,然后让客户确认销户申请,最后把销户信息保存到数据库。
贷款业务: (1) 客户受理
银行系统 储存业务
贷款业务
存款 助学贷款取款 转账 个人贷款 销户 开户 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
3文档来源为:从网络收集整理.word版本可编辑. 功能分解的一个模块,具体实现用户与银行建立信贷关系的操作,首先是客户输入名称,填写贷款原由,提供担保类型,打印建立信贷关系的申请书,客户填写业务申请,选择信贷业务类型,选择贷款品种,选择贷款方式,,填写申请贷款金额,贷款期限,贷款用途,选择还款方式,解析方式,填写还款计划,选择还款来源。选择浮动比率,然后银行工作人员保存客户填写资料,客户还要填写担保信息,填写抵押情况和抵押物情况,银行工作人员进行保存,最后,客户填写调查表,填写包收负责人,填写第一责任人,银行工作人员进行保存,提交上级负责人员。
(2) 客户调查 功能分解的一个模块,具体实现银行对客户信息的真实可靠性进行调查分析的操作,银行负责人对客户提交的授信历史,以及目前有效的授信内容和审批条件,以及授信使用情况明细,申请人在其他银行融资情况,以及对望担保明细情况等基本情况,通过人民银行信贷咨询系统查询的结果,申请人的历史信用记录,对申请人有逃废债和不良信用记录的应充分揭示,进行分析。
(3) 客户审批 功能分解的一个模块,具体实现银行相关工作人员对客户申请贷款进行审核批准的操作,客户申请由客户经理进行审批,审批不通过,退还客户;否则提交业务经营部经理进行审批,审批不通过,退还客户经理;否则提交银行行长处进行审批,审批不通过,则退还业务经营部经理;否则通知银行相关工作人员发放贷款给客户,并由专人通知客户贷款成功。
(4) 贷款发放 功能分解的一个模块,具体实现银行对客户发放贷款的操作,首选客户经理根据放贷管理,填写放贷业务申请,输入申请客户的姓名,双击业务项目,启动业务流程,等到房贷业务审批通过以后,填写放贷申请信息,银行客户经理发放贷款给申请的客户,并打印放款通知单。
(5) 贷后管理 功能分解的一个模块,具体实现银行对客户发放贷款的操作,首先银行相关人员根据本行业务及当地市场的实际情况,在相关制度指引下,制定各项贷后管理及操作实施细则,然后组织实施辖内个人信贷业务的风险监测,组织开展贷款催清工作,实施全面专项贷款检查,汇集风险监测,贷款检查,贷款清收等信息。收集整理相关个人信贷业务信息及数据,管理个人业务权利凭证和信贷档案资料,实施个人信贷业务客户的贷后服务工作,最后是对辖内贷后管理人员及服务人员进行业务培训,监督和知道。
2、 系统业务流程分析
系统范围与边界 该系统内有储蓄业务和贷款业务2大功能,这属于系统边界之内的元素,其中储蓄业务包括开户,销户,存款,取款,转账等功能,贷款业务包
系统边界 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 4文档来源为:从网络收集整理.word版本可编辑. 含助学贷款和个人贷款,其中还可以细分为:申请贷款,客户信用评估,贷款审批,贷款发放,贷后管理,用户贷款信息管理等功能,银行工作人员登录系统,数据库操作等也属于系统边界内的操作。而像打印回执凭证,用户签字确认,工作人员检验资料,审查资料等操作就属于系统边界之外的操作。 业务分析与业务流程图 2.业务分析与业务流程图 (一) 存款业务流程图: 取款业务流程图: (三)转账业务流程图: 三、 数据库表设计 Employee表: Account表: Customer表:
四、 系统总体设计
1、 静态结构模型设计 用例图 (描述参与者、用例说明、用例图) 一:储蓄业务: 1. 储蓄业务用例图 2.开户用例图: 用例描述需求:
用例名称:开户 用例标记号:102 参与者:客户,银行窗口人员 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 5文档来源为:从网络收集整理.word版本可编辑. 简要说明:客户提交个人信息,窗口人员进行操作开户 前置条件:无 基本事件流: 1.窗口人员输入客户个人信息。 2.生成新账号 3.客户设置密码并确认。 4.返回开户凭证
其他事件流:窗口人员可根据客户需求取消开户操作 异常事件流: 1.个人信息录入不规范,弹出窗口提示。 2.前后密码不一致,返回提示信息并语音播报
后置条件:无 注释:无 3.销户用例图: 储蓄业务图 用例描述需求:
用例名称:销户 用例标记号:103 参与者:客户,银行窗口人员 简要说明:客户提交账户信息,窗口人员核对后进行销户操作 前置条件:客户已经拥有账户。窗口人员并顺利登陆该账户。 基本事件流: 1窗口人员输入账户。 2.客户输入密码并确认。 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 6文档来源为:从网络收集整理.word版本可编辑. 3.查询账户余额并提现。 4.弹窗提示是否销户 5.客户进行销户确认 6.返回销户凭证 7.用例终止。
其他事件流:窗口人员可根据客户要求随时取消销户操作。 异常事件流: 1.密码错误,返回提示信息并语音播报
后置条件:无 注释:无 4.用户存款用例图: 用例描述需求:
用例名称:存款 用例标记号:104 参与者:客户,银行窗口人员 简要说明:客户提交账户信息,窗口人员进行操作并存款 前置条件:客户已拥有账户。 基本事件流: 1.客户输入密码并确认。 2.窗口人员进行存款操作并录入存款金额。 3.更新账户余额。 4.返回存款凭证。 5.用例终止。
其他事件流:窗口人员可根据客户需求取消存款操作 异常事件流: