课堂测试软件体系架构

阅读下列案例,回答相关问题:

某大银行的一位银行卡办公室的收账经理Liz遇到了一个问题。她每周都收到一份过期未付款的账户名单。这份报告已经从两年前的250个账户增加到现在的1250个账户。

为了确定那些严重拖欠债务的账户,Liz需要通读这份报告。严重拖欠债务的账户由几个不同的规则确定,每个规则都要求Liz检查客户的一项或几项数据。过去半天的工作量现在增加到了每周三天。即使在确定了严重拖欠债务的账户后,如果没有查阅该账户三年内的历史资料,Liz也不能做出最后的信用决定(例如严厉的催款电话、断绝信用或将这个账户转给一个收账代理)。另外,Liz需要报告所有账户中过期未付款的、拖欠债务的、严重拖欠债务的和呆死账的比例。目前的报告中并没有给她提供这个信息。

假设现在需要你来开发一个软件,解决Liz面对的难题。

1、 那么你认为Liz现在遇到的问题有哪些?

(1)工作量的增加;

(2)客户账户的历史数据;

(3)问题账户所占比例没有显示…

2、你希望新的软件应该达成哪些业务目标?

BR1:能够快速查询客户账户;

BR2:能够分析一个客户是否为问题账户;

BR3:能够给出一个问题账户的三年内的历史数据:

BR4:能够计算问题账户所占比例…

2、 你怎样设计软件的高层解决方案?

(1)建立一个数据库系统用来存放客户账户信息;

(2)根据特定的判定问题账户的算法检索辨别出问题账户;

(3)工作人员能够检查该账户的三年内的历史数据;

(4)即时显示问题账户所占比例…

4、你怎样设计系统特性?

(1)创建客户信息数据库;

(2)根据原始数据重新整理并更新;

(3)提供提供客户账户基本信息查询和三年历史数据查询;

(4)设定欠账规则,创建问题用户计算过程;

(5)实时分析各类问题账户所占比例…

问题:

1、 绘制需求层次-需求方面二维矩阵。

 

功能

质量

约束

业务目标

提升运营效率,减少人工成本,精确识别问题账户,提升安全性

处理速度快

高准确性

数据完整性

生成可视化报表

符合银行安全标准

与现有系统兼容

用户需求

自动识别出问题账户,可视化数据展示,

操作效率

数据可读性

支持多用户并发操作,缩短运行时间,符合银行内部流程要求

系统需求

数据库存储客户信息,实现问题用户判定算法

数据一致性

系统可靠性

可拓展性

数据加密存储与传输

 

2、 确定关键功能。

问题账户自动识别

核心功能,基于规则引擎自动筛选严重拖欠账户,替代人工检查。

三年历史数据集成查询

支持一键查询客户完整历史记录(如还款记录、催收记录),辅助信用决策。

实时动态统计与报告生成

自动计算并可视化展示各类问题账户比例(如逾期、严重逾期、呆死账),支持导出报告。

客户账户快速检索

提供模糊搜索、多条件过滤(如姓名、账户ID、欠款区间)功能,提升查询效率。

 

3、 确定关键质量。(采用质量矩阵进行分析)

质量属性优先级    相关场景        实现方式

性能    处理1250+账户的实时分析,避免Liz等待     优化算法复杂度,采用分布式计算或内存数据库(如Redis)加速数据处理。

准确性         避免误判/漏判问题账户(影响客户信用决策)规则引擎需支持多条件组合校验,并定期校准规则逻辑。

可用性     中高        Liz需快速上手操作,减少培训成本设计直观的交互界面(如仪表盘),提供操作指引和自动化流程。

实时性         生成最新比例报告需与数据更新同步       采用增量计算和缓存机制,确保统计结果实时刷新。

安全性         客户隐私数据(如还款记录)需严格保护实施角色权限控制、数据脱敏和审计日志,符合GDPR/银行安全规范。

质量优先级矩阵

必须满足:准确性、安全性

高优先级:性能、可用性

中等优先级:实时性

 

质量属性

优先级

相关场景

实现方式

准确性

        - 避免误判/漏判问题账户(影响信用决策)

- 确保历史数据完整性和正确性

- 规则引擎支持多条件组合校验

- 定期校准规则逻辑

- 数据清洗和验证

性能

- 处理1250+账户的实时分析,避免Liz等待
-
快速生成报告

- 优化算法复杂度
-
采用分布式计算或内存数据库(如Redis)加速数据处理

安全性

- 客户隐私数据(如还款记录)需严格保护
-
符合银行安全标准和法规要求

- 实施角色权限控制
-
数据加密存储与传输
-
提供审计日志和操作记录

可用性

中高

        - Liz需快速上手操作,减少培训成本

- 系统需支持多用户并发操作

- 设计直观的交互界面(如仪表盘)
-
提供操作指引和自动化流程

实时性

- 生成最新比例报告需与数据更新同步
-
支持动态调整风险管理策略

- 采用增量计算和缓存机制
-
确保统计结果实时刷新

可拓展性

        - 支持未来账户数量增长

- 适应更复杂的规则和业务需求

- 设计模块化架构
-
提供灵活的规则配置功能

可维护性

- 系统需易于维护和升级
-
支持快速修复问题和更新规则

- 采用标准化开发框架
-
提供详细的文档和测试用例

根据质量矩阵分析,以下是系统的关键质量属性及其优先级:

1. 准确性(高优先级)

  • 重要性:系统的核心功能是识别问题账户和提供历史数据,准确性直接影响信用决策的正确性。
  • 实现方式
    • 规则引擎支持多条件组合校验(如欠款时长、金额、还款频率等)。
    • 定期校准规则逻辑,确保与银行政策一致。
    • 数据清洗和验证,确保历史数据的完整性和正确性。

2. 性能(高优先级)

  • 重要性Liz需要处理大量账户数据(1250+),系统性能直接影响工作效率。
  • 实现方式
    • 优化算法复杂度,减少计算时间。
    • 采用分布式计算或内存数据库(如Redis)加速数据处理。
    • 支持批量处理和并行计算。

3. 安全性(高优先级)

  • 重要性:客户隐私数据和银行内部信息需严格保护,符合法规要求。
  • 实现方式
    • 实施角色权限控制,确保只有授权人员可访问敏感数据。
    • 数据加密存储与传输,防止数据泄露。
    • 提供审计日志和操作记录,支持合规性检查。

4. 可用性(中高优先级)

  • 重要性:系统需易于使用,减少Liz的学习成本和操作负担。
  • 实现方式
    • 设计直观的交互界面(如仪表盘、一键生成报告)。
    • 提供操作指引和自动化流程,简化复杂操作。
    • 支持多用户并发操作,提升团队协作效率。

5. 实时性(中优先级)

  • 重要性:生成最新比例报告和动态调整风险管理策略需要实时数据支持。
  • 实现方式
    • 采用增量计算和缓存机制,确保统计结果实时刷新。
    • 支持动态数据更新,避免延迟。

6. 可扩展性(中优先级)

  • 重要性:系统需支持未来业务增长和规则变化。
  • 实现方式
    • 设计模块化架构,便于功能扩展。
    • 提供灵活的规则配置功能,适应未来政策或业务需求的变化。

7. 可维护性(中优先级)

  • 重要性:系统需易于维护和升级,降低长期运营成本。
  • 实现方式
    • 采用标准化开发框架,便于团队协作和代码维护。
    • 提供详细的文档和测试用例,支持快速修复问题和更新规则。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/901747.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea如何激活到2099年

前言 最近发现idea如何激活使用的问题、 网络上各种都是骗关注加各种公众号的最后也没有解决问题,下面分享一下我的激活方法是如何激活到2099年。目前适用于idea的所有版本。我以最新的ideaIU-2024.3为例。 一去官网上下载idea 官网下载地址:https://www.jetbrains.com.cn/id…

202108032324 - kafka的生产流程

由上图可以看出:KafkaProducer有两个基本线程: 主线程: 负责消息创建,拦截器,序列化器,分区器等操作,并将消息追加到消息收集器 RecoderAccumulator中; 消息收集器RecoderAccumulator为每个分区都维护了一个Deque<ProducerBatch> 类型的双端队列。 ProducerBatch…

Cython二进制逆向系列(三)运算符

在这篇文章里,我们会讨论Cython是如何处理运算符的(数学运算符、位运算符、in/not in 运算符、 ==运算符与逻辑运算符)。总的来叔其中大部分是调用虚拟机api来实现的。Cython二进制逆向系列(三)运算符在开始前,先给出本文用到的py源代码 def test1(x, y):# 数学运算符a…

QOJ 9785 Shrooks

曼哈顿距离转切比雪夫距离,对限制的贪心满足,扩宽限制,简化信息首先考虑限制的形式:对于两点 \((x_1, y_1), (x_2, y_2)\),要求 \(|x_1 - x_2| + |y_1 - y_2| \le n\)。 但是这个式子与 \(x_1, x_2, y_1, y_2\) 这 \(4\) 个值都强相关,且这里的绝对值也并不好拆开处理。 …

golang的GC机制

一、垃圾回收 什么是垃圾回收?垃圾回收(GC,garbage collection)是自动内存管理的一种形式,通常由垃圾收集器收集并适时回收或重用不再被对象占用的内存,比如众所周知的Java语言就能很好的支持GC。后起之秀——Go语言也同样支持垃圾回收,它使得Go程序员在编写程序的时候不…

fastjson漏洞复现(fastjson 1.2.47)

原理: Fastjson 的 @type 字段允许反序列化时动态指定类,攻击者可以通过指定带有危险行为的类,并结合 RMI/LDAP 远程加载恶意类,从而实现命令执行。开启vulhub靶场//如何验证是否存在fastjson反序列化漏洞 有json数据传输的地方可能存在 可以尝试使用dnslog带外但是不知道…

基于神经网络逆同步控制方法的两变频调速电机控制系统matlab仿真

1.课题概述两电机变频调速系统是一个多输入多输出非线性强耦合的控制系统。本课题使用神经网络构造原系统的a阶逆系统,设计线性闭环调节器进行控制,通过matlab对系统进行仿真。对两电机变频调速系统更为精确地实现了张力和速度间的解藕控制。2.系统仿真结果 (完整程序运行后…

使用gradio实现实时语音识别

这里通过gradio来实现实时语音识别,通过上传一个文件,当点击提交后则在右侧输出其相应识别的文字。 实现代码比较简单,如下所示: import gradiodef convert(file_bytes):# 语音识别方法,其中file_bytes是采样率与对应numpy.ndarray实例return recognition_func(file_bytes[1])d…

英语四级跟练计划第一天

前言 今天给英语四级报了名,以我以往英语的水平来看,如果不早早开始复习,绝无通过的可能,走投无路的我只好去向deepseek求助,上一次320分的考生,这一次该付出何等的努力才可以考到425分,如此为我制定了90天的四级复习计划。我相信有很多人和我一样,都被英语四级通过给困…

202107191556 - 层次分析法计算流程

构造矩阵 一致性检验计算最大特征值计算一致性指标CI CI = ( λ - n ) / ( n - 1 )随机一致性指标RI取值计算一致性比率CR计算特征向量列向量归一化 求行和后归一化根据特征向量求最大特征值计算过程

crontab 命令

crontab -l 查看所有任务 crontab -e 编辑任务* * * * * /www/server/php/82/bin/php /www/wwwroot/default/1.php >> /www/wwwroot/default/cron_log.log 2>&1cd /www/wwwroot/www.pk777slots.com/ && php think test在那个目录运行 cd /www/wwwroot/www…