Skip to content

Latest commit

 

History

History
101 lines (84 loc) · 6.79 KB

设计分析.md

File metadata and controls

101 lines (84 loc) · 6.79 KB

银行管理系统设计分析

前端功能需求

  1. 注册

    • 分为四类注册:客户注册、员工注册、管理员注册
    • 客户注册:输入身份证号、姓名、性别、年龄、电话、地址、二次密码、验证码
    • 员工注册:输入员工号、身份证号、姓名、性别、年龄、电话、地址、部门号、二次密码、验证码
    • 管理员注册:输入管理员号、身份证号、姓名、性别、年龄、电话、地址、二次密码、验证码
    • 管理员没有注册之前,不允许注册其他用户。只允许一名管理员
    • 注册时需要验证是否已经注册(查看主键),密码是否一致,验证码是否正确
  2. 登录

    • 分为四类登录:客户登录、员工登录、管理员登录
    • 客户登录:输入身份证号、密码、验证码
    • 员工登录:输入员工号、密码、验证码
    • 管理员登录:输入管理员号、密码、验证码
    • 登录时需要验证是否已经注册(查看主键),密码是否正确,验证码是否正确
  3. 注销

    • 注销应当在登录状态下进行
    • 分为三类注销:客户注销、员工注销
    • 客户注销:再次输入身份证号、密码、验证码,并提示是否注销
    • 员工注销:再次输入员工号、密码、验证码,并提示是否注销
    • 如果客户下有账户或者贷款记录,则不能注销
    • 如果员工下有关联客户,不能注销
    • 管理员一旦注册,则不允许注销
  4. 开通账户

    • 客户登录后,可以开通账户,开通账户有如下要求:
      • 账户请求进入队列,等待银行审核,如果无法为其分配员工,需要等待(一般不会出现这种情况)
      • 分配完员工,并确认所有信息后,账户开通
      • 一个客户在一家银行最多可以开通 3 个账户,一个账户只能属于一个客户
    • 开通账户时,
      • 客户需要选择账户类型(储蓄、信用卡、贷款)
      • 账户号自动生成
      • 对于储蓄账户,需要用户选择货币属性(默认 CHY)、利率(默认 0.01)、提款额度(默认 10000),开户时间自动生成,账户余额默认为 0
      • 对于信用卡账户,需要用户选择货币属性(默认 CHY)、透支额度(默认 50000),开户时间自动生成,账户余额默认为 0,当前透支金额默认为 0
      • 对于贷款账户,需要用户选择货币属性(默认 CHY)、利率(默认 0.05)、贷款额度(默认 100000),开户时间自动生成,账户余额默认为 0
    • 账户绑定的员工有下列要求:
      • 该员工不可绑定同部门的所有同事(可以使用身份证号判断)
      • 一个员工最多可以绑定 100 个账户
  5. 储蓄账户操作

    • 储蓄账户操作包括存款、取款、转账、查询
    • 存款:输入存款金额,存款金额必须为正数
    • 取款:输入取款金额,取款金额必须为正数,且不能超过提款额度和账户余额
    • 转账:输入转账金额、转账账户号,转账金额必须为正数,且不能超过提款额度和账户余额,转账账户号必须存在
    • 查询:查询账户余额、账户信息
  6. 信用卡账户操作

    • 信用卡账户操作包括存款、取款、转账、查询

    • 存款:输入存款金额,存款金额必须为正数

    • 取款:输入取款金额,取款金额必须为正数,且不能超过透支额度和账户余额

    • 转账:输入转账金额、转账账户号,转账金额必须为正数,且不能超过透支额度和账户余额,转账账户号必须存在

    • 查询:查询账户余额、账户信息、透支额度、当前透支金额

    • 透支:当账户余额不足时,可以透支,透支额度表示最多可以透支的金额。

      透支的操作如下:

      • 取钱或转账时:
        • 若取的金额小于余额:直接取、更新余额
        • 若取的金额大于余额:计算余额部分之外的剩余支出 A 与剩余额度 B(总额度 - 当前透支金额)
          • 若 A 小于或等于 B:取出所需,更新余额为 0,更新当前透支金额,由于 A 大于等于 0,所以保证了 B 大于等于 0,也就是当前透支额不会超过总额度
          • 若 A 大于 B:取钱失败
      • 存钱时:
        • 如果当前透支金额等于 0:直接存,更新余额
        • 如果当前透支金额大于 0:
          • 若存的金额小于等于当前透支金额:更新当前透支金额,相当于清除透支
          • 若存的金额大于当前透支金额:计算存的金额多于当前透支金额之外的部分,更新当前透支金额为 0,同时更新余额。

      可以看到,上述流程保证了:

      • 当前透支额不会超过总额度,也不会小于 0
      • 余额不会小于 0
  7. 借贷还贷操作

    • 借贷还贷操作包括借贷、还款、查询
    • 只有贷款账户才能借贷还贷。
    • 借贷:输入借款金额,借款金额必须为正数,且不能超过贷款额度。贷款需要对应贷款账户员工审核,审核完毕后,贷款金额会直接存入账户余额,贷款时间自动生成,贷款期限默认为 12 个月,利率默认为 0.05
    • 还款:输入还款金额,还款金额必须为正数,且不能超过当前需要还款的金额,还款时间自动生成,当前还款期数加 1,更新当前总还款金额
    • 查询:查询贷款金额、贷款期限、利率、当前还款期数、当前总还款金额
  8. 客户操作

    • 客户操作包括操作账户、修改自己的信息
    • 具体包括开通账户、存款、取款、转账、借贷、还款、查询账户信息
    • 客户在申请贷款账户之后可以申请贷款,申请时即生成一条贷款记录,状态为未发放,插入信息表。该贷款需要贷款账户绑定的员工审核;审核通过后,状态变为已发放未还款,审核不通过则状态变为已取消
  9. 员工操作

    • 员工操作包括查询绑定的账户信息、绑定账户中客户的信息、修改自己的信息
    • 绑定的账户若是贷款账户,还可以查询贷款信息
    • 客户申请贷款时,对应贷款账户的员工需要审核。若审核通过,则将记录写入贷款账户发放记录 lag 表,同时更新贷款状态为已发放未还款;若审核不通过,则更新贷款状态为已取消,不写入记录
  10. 管理员操作

    • 管理员操作包括创建/删除/修改/查询银行信息、创建/删除/修改/查询部门信息、查询客户信息、查询账户信息、查询贷款信息、查询员工信息
    • 如果银行下有账户,则不能删除银行
    • 如果部门下有员工,则不能删除