案例:
某大银行的一位银行卡办公室的收账经理Liz遇到了一个问题。她每周都收到一份过期未付款的账户名单。这份报告已经从两年前的250个账户增加到现在的1 250个账户。
为了确定那些严重拖欠债务的账户,Liz需要通读这份报告。严重拖欠债务的账户由几个不同的规则确定,每个规则都要求Liz检查客户的一项或几项数据。过去半天的工作量现在增加到了每周三天。即使在确定了严重拖欠债务的账户后,如果没有查阅该账户三年内的历史资料,Liz也不能做出最后的信用决定(例如严厉的催款电话、断绝信用或将这个账户转给一个收账代理)。另外,Liz需要报告所有账户中过期未付款的、拖欠债务的、严重拖欠债务的和呆死账的比例。目前的报告中并没有给她提供这个信息。
需求分析:
1.如果你为Liz开发问题账户分析系统,你准备如何进行需求分析,第一步要做什么?
- 整理案例内容,进行逐步的案例分析(Liz遇到的问题-----业务目标-----用户行为-----系统行为)
- 和Liz进行一次面对面的交流。包括:第一步暂时得出的初步需求分析文档向Liz的交付和对一些还不清晰数据的度量标准和依据进行精确确认。
- 整理收集到的需求进行归档。
2.你认为目前需求分析材料中欠缺哪些内容?
- 确立严重拖欠债务的账户的规则
- 信用决定的实施标准
- Liz需要提交报告的所需内容项
- 用户操作习惯和对系统界面的要求
拟开发系统的原型:
1.功能
- 建立银行账户数据库,用户可以使用系统对银行账户信息进行增删改查。
- 系统内通过算法对严重拖欠债务的账户进行确认,并进行统计查询。
- 系统可以对严重拖欠债务账户进行信用决定的信息确认,并生成列表供用户确认后进行信用决定
- 生成拖欠债务账户类型比例图表
2.数据库设计
- 银行用户表
属性名 | 含义 | 数据类型 | 是否为空 | 是否主码 | 是否外码 |
username | 银行账户名 | nvarchar(19) | 否 | 是 | 否 |
password | 密码 | nchar(6) | 否 | 否 | 否 |
phone | 联系方式 | nchar(11) | 否 | 否 | 否 |
balance | 账户余额 | float | 是 | 否 | 否 |
level | 信用等级 | nvarchar(20) | 是 | 否 | 否 |
state | 是否问题账户 | bool | 否 | 否 | 否 |
- 用户事务表
属性名 | 含义 | 数据类型 | 是否为空 | 是否主码 | 是否外码 |
username | 银行账户名 | nvarchar(19) | 否 | 否 | 是 |
datetime | 操作时间 | datetime | 否 | 否 | 否 |
username&datetime |
是 | ||||
operate_type |
操作类型 | nvarchar(10) | 否 | 否 | 否 |
money |
操作金额 | float | 否 | 否 | 否 |
- 问题账户表
属性名 | 含义 | 数据类型 | 是否为空 | 是否主码 | 是否外码 |
username | 银行账户名 | nvarchar(19) | 否 | 是 | 是 |
phone | 联系方式 | nvarchar(11) | 否 | 否 | 否 |
problem_type | 问题类型 | nvarchar(10) | 否 | 否 | 否 |
dispose | 信用决定 | nvarchar(10) | 否 | 否 | 否 |
debt | 欠款 | float | 否 | 否 | 否 |
3.操作的流程
4.界面的设计