软件工程导论-----申购基金
1.用例图:
用例编号:UC001
Mofly_0214@qq.com
用例描述:投资人于银行营业时间委托理财专员申购基金
前置条件:理财专员登录系统
后置条件:申购成功
涉众利益:理财专员希望系统方便、快捷;投资人希望系统能保障资金安全;银行希望手续合法,跨系统访问安全;
基本路径:
(1、主语必须以执行者或者“系统”开头;2、必须反映出人机交互过程;3、不能遗漏业务细节)
1、理财专员点击申购基金链接;
2、系统显示身份证号录入界面;
3、理财专员填写身份证号并提交;
4、系统查询投资人信息;
5、系统显示申购基金填写界面;
6、理财专员填写申购信息并提交;
7、系统检测申购信息是否合法;
8、系统显示申购信息要求确认;
9、理财专员确认申购信息;
10、系统保存申购信息;
11、系统保存/更新投资人信息;
12、系统显示账号密码录入界面;
13、理财专员输入账号;
14、投资人输入密码并提交;
15、系统检测账户信息是否合法;
16、系统计算手续费金额;
17、系统计算扣款金额;
18、系统检测账户余额是否充足;
19、系统打印扣款信息要求确认;
20、理财专员确认扣款信息;
21、系统从银行综存系统中扣款;
22、系统保存扣款信息;
23、系统打印申购收执联。
扩展路径:
4a:申购信息非法
4a_1:返回2,保留原有数据,并提示非法数据位置;
6a:理财专员取消确认
6a_1:返回2,保留原有数据。
10a:账号非法
10a_1:返回7;
10b:密码错误
10b_1:返回7,保留原有账号数据,记录密码错误次数
10b_2:密码错误3次,取消交易
13a:账户余额不足
13a_1:返回7
13a_2:返回2,保留原有申购信息数据;
15a:理财专员取消确认
15a_1:取消交易;
16a:扣款失败
16a_1:取消交易
业务规则:
(必填项;判断类规则;计算类规则)
5a:如果投资人信息存在则在申购页面显示投资人信息
4a:投资人姓名、基金名称、申购金额、身份证号、性别、家庭住址为必填项;
4b:申购金额不能高于最高申购金额并且不能低于最低申购金额
10a:密码错误次数不超过3次
11a:手续费=申购金额*手续费比例
12a:扣款金额=申购金额+手续费
14a:账户余额>=扣款金额
字段列表:
(在基本路径中比较重要的数据组成部分)
理财专员=工号+理财专员姓名+联系电话+所属银行网点+密码
基金=基金编号+基金名称
申购信息=申购编号(自定义)+身份证号+基金编号+申购金额+申购时间
投资人=投资人姓名+性别+身份证号+家庭住址+投资人联系电话
账户信息=账号+密码+账户余额
扣款信息=申购编号(自定义)+账号+扣款金额+手续费金额+扣款时间+经办人工号
识别对象:
1、在基本路径中寻找名词作为候选对象
理财专员基金链接系统界面申购信息账号密码投资人账户信息手续费金额扣款金额账户余额扣款信息银行综存系统 申购收执联。
2、去除与系统实现无关的名词(系统、界面、链接)
理财专员基金 申购信息账号密码投资人账户信息手续费金额扣款金额账户余额扣款信息银行综存系统 申购收执联。
3、去除属于属性的名词
理财专员基金 申购信息投资人账户信息 扣款信息银行综存系统 申购收执联。
4、观察去除的属性,检查这些属性是否在候选对象中有相应的对象,如果没有对象对应,则新增一个对象与其对应
理财专员基金 申购信息投资人账户信息 扣款信息银行综存系统 申购收执联。
5、合并类似的对象
理财专员基金 申购信息投资人账户信息 扣款信息 申购收执联。
识别属性:
1、根据具体业务表格或业务实际情况定义属性
理财专员=工号+姓名+联系电话+所属银行网点+密码
基金=基金编号+基金名称
申购信息=投资人姓名+基金名称+申购金额+身份证号+性别+家庭住址
投资人=姓名+性别+身份证号+家庭住址+联系电话
账户信息=账号+密码+账户余额
扣款信息=账号+扣款金额+手续费金额+扣款时间+经办人
申购收执联=姓名+基金名称+申购金额+扣款金额+经办人+申购时间+申购银行网点
2、找出每个对象的主键(码),如果没有主键则添加一个主键(码)
理财专员=工号+姓名+联系电话+所属银行网点+密码
基金=基金编号+基金名称
申购信息=申购编号(自定义)+投资人姓名+基金名称+申购金额+身份证号+性别+家庭住址
投资人=姓名+性别+身份证号+家庭住址+联系电话
账户信息=账号+密码+账户余额
扣款信息=扣款编号(自定义)+账号+扣款金额+手续费金额+扣款时间+经办人
申购收执联=收执联编号(自定义)+姓名+基金名称+申购金额+扣款金额+经办人+申购时间+申购银行网点
3、分析自定义的主键(码),查看是否可以合并自定义主键(码)
理财专员=工号+姓名+联系电话+所属银行网点+密码
基金=基金编号+基金名称
1申购信息=申购编号(自定义)+投资人姓名+基金名称+申购金额+身份证号+性别+家庭住址
投资人=姓名+性别+身份证号+家庭住址+联系电话
账户信息=账号+密码+账户余额
0..1扣款信息=申购编号(自定义)+账号+扣款金额+手续费金额+扣款时间+经办人
申购收执联=申购编号(自定义)+姓名+基金名称+申购金额+扣款金额+经办人+申购时间+申购银行网点
4、定义的对象之间要满足第三范式要求
理财专员=工号+理财专员姓名+联系电话+所属银行网点+密码
基金=基金编号+基金名称
申购信息=申购编号(自定义)+身份证号+基金编号+申购金额+申购时间
投资人=投资人姓名+性别+身份证号+家庭住址+投资人联系电话
账户信息=账号+密码+账户余额
扣款信息=申购编号(自定义)+账号+扣款金额+手续费金额+扣款时间+经办人工号
申购收执联=申购编号(自定义)+身份证号+基金编号+经办人工号
5、合并属性一致或类似的对象,去掉只有外键(码)的对象
理财专员=工号+理财专员姓名+联系电话+所属银行网点+密码
基金=基金编号+基金名称
申购信息=申购编号(自定义)+身份证号+基金编号+申购金额+申购时间
投资人=投资人姓名+性别+身份证号+家庭住址+投资人联系电话
账户信息=账号+密码+账户余额
扣款信息=申购编号(自定义)+账号+扣款金额+手续费金额+扣款时间+经办人工号
识别方法:
1、在基本路径中寻找以“系统”开头,去掉“系统显示”的步骤
系统检测申购信息是否合法;
系统检测账户信息是否合法;
系统计算手续费金额;
系统计算扣款金额;
系统检测账户余额是否充足;
系统打印扣款信息要求确认;
系统从银行综存系统中扣款;
系统保存扣款信息;
系统打印申购收执联。
2、从业务规则中寻找方法
4a:投资人姓名、基金名称、申购金额、身份证号、性别、家庭住址为必填项;
4b:申购金额不能高于最高申购金额并且不能低于最低申购金额
10a:密码错误次数不超过3次
11a:手续费=申购金额*手续费比例
12a:扣款金额=申购金额+手续费
14a:账户余额>=扣款金额
3、讨论每个方法的参数,如果参数来源于其他类的属性,则在其他类中新增返回该参数的方法
4、讨论每个类中是否需要保存方法
5、讨论自定义的主键有没有生成方法
类图:
序列图: