系统架构师论文--论软件质量保证及其应用

系统架构师论文–论软件质量保证及其应用

tip:论文结构解析https://blog.csdn.net/lqb3732842/article/details/134081532
摘要:
作为国内美容行业领先的咨询服务公司,2020年5月,我司自研开发一套提供SAAS服务的美容行业客户管理系统(简称SCRM系统),致力于为行业提供一套标准的客户管理流程。系统主要包含组织架构模块、客户引流模块、客户管理模块、商品订单模块、线下会议模块、在线合同模块及系统服务模块等7个主要功能模块。作为系统架构师我负责整个项目的调研,设计工作。本文以此项目为例,主要论述系统开发过程中质量保证及其应用,主要通过需求阶段质,设计实现阶段,测试阶段的质量保证三方面展开详细论述.需求管理阶段通过需求细化,需求评审,最终确定需求功能文档及质量属性文档;设计开发阶段主要通过架构设计,代码审查方式保证软件实施质量;测试阶段通过用例评审,bug追踪保证测试质量,整体保证系统的质量.最终项目成功上线,获得一致认可.

我司是美容行业领先的咨询服务公司,一直致力于为行业提供一套标准的客户管理系统.SCRM系统就是我司根据行业几千家客户通过十几年的服务经验总结沉淀下来的一套服务于美容行业的可落地的客户管理系统.系统整体是一套提供SAAS服务为基础的2b2c的客户管理系统,主要角色有平台管理运营人员,租户员工,租户B端客户及租户C端客户.不同角色有不同的应用入口,应用主要载体是app+小程序+公众号+pc管理后台.系统主要模块有租户管理模块,客户引流模块,客户管理模块,商品订单模块,线下会议模块,在线合同模块及系统服务模块等.用户通过引流模块推荐文章或者视频给顾客,客户管理模块将通过顾客行为数据进行用户分析,完成用户画像。用户再根据顾客画像进行产品促销或者推广。对于B端客户可以通过线下会议模块组织门店线下会议,完成现场会销。最后通过在线合同模块完成合同的在线签署。系统服务为所有业务提供必要的功能支持,如:问卷调查、二维码生成、短信通知等。

质量保证QA是软件产开发的整个过程中,通过相关活动流程保证实施过程的完整性、一致性和有效性,确保开发活动和测试活动等遵循正确的过程,为软件产品达到合适的质量提供保证。根据项目实践,质量保证工作分为这么几部分:计划,评审,检查,跟踪,报告。计划阶段就是决定做什么,怎么做,什么时间做等问题;评审则是对计划,需求,以及设计方案做评审,通过后才可以执行;检查就是对评审过的计划执行情况的检验;跟踪就是对一些变更或者问题进行跟踪防止遗漏;报告是我对前面工作的总结和回顾,提取经验,反馈的下次迭代的流程。在实际项目开发中,不同项目阶段都会同时存在上面的几个活动。需求阶段会有需求的确定,评审,追踪及更新;设计实现阶段会有方案的计划,评审,跟踪;测试阶段也同样会存在相同的活动.下面主要从需求阶段,设计实现阶段,测试阶段详细论述软件质量保证活动在整个项目中的实际应用.

一:需求阶段
需求是整个软件的目标,需求的质量将直接影响软件最终的完成质量.首先是需求获取,我们主要通过专家会议访谈,核心客户调研及大众问卷调研的方法获取需求.需求收集完毕,我们会在腾讯TAPD需求管理软件上把需求总结成用户故事,即是用户的期望.接下来就是需求评审,我们对所总结的用户故事进行逐条评审分析,里面有些期望可能跟系统逻辑是有矛盾的,有些期望并不是我们系统现阶段能解决的,最常见的就是越权期望,对不属于自己的客户他们希望能看到联系方式,但又不希望自己的客户联系方式泄露.评审小组根据可行性,成本预算,时间预算等把确定的用户故事细化为一条条可实现的需求并标记上需求重要程度.最后就是需求变动及追踪,随着访谈调研及系统分析的不断深入,很多时候我们会发现某些需求可能是有问题的,需要重新调整,这时我们会有一个需求版本管理,会记录需求变更的原因,时间等.通过需求确定,需求细化,需求版本管理,最终我们会生成一个完整的需求文档,包括功能需求及质量需求文档.为软件质量提供最根本的保证.

二:设计实现阶段
软件设计实现是软件质量的基本保证,只有良好的软件设计实现,才能保证软件的各种质量属性及功能完整性.在系统架构设计上,我们通过质量属性文档,对各种质量属性分析最后生成质量属性效用树,根据质量属性的优先顺序及效用评估进行架构选择.SCRM系统作为SAAS系统,系统的性能,可用性,数据安全性,及可拓展性是我们最为关注的几个质量属性,我们需要随时保证系统并发的可能,实现动态拓容.基于高性能,高可用,可拓展的要求,我们最终选择云原生微服务架构,保证系统在突然的流量下能快速伸缩,确保系统的可用性,在平时较低流量下能自动减少节点,保证成本支出.软件编码实现层级,我们设计编写了完整的编码规范,强调按照规范编码.程序员完成代码编码后需经过功能自测,完成后代码提交合并时需要小组长进行代码审查,对功能点逻辑及设计规范进行合格检验.只有审查合格的代码才能从个人开发分支合并回项目分支.通过质量属性评估确定架构设计保证了软件的底层质量需求,代码规范设计跟审查方式保证了代码的可维护性及软件的功能完整性,从而保证整个软件的稳定性.

三:测试阶段
软件测试是对软件质量的最后把控,也是对前面需求及设计的真正检验.软件测试主要分为功能测试及质量属性测试,分别是对系统功能需求及质量属性
需求的把控.主要管理工具是通过腾讯TAPD缺陷管理软件完成.在需求细化确定完成后,测试小组就会在每条确定需求里生成对应的测试用例,保证每条需求都有测试用例覆盖到,完成后质量小组会组织会议,评审测试用例的完整性及可行性.测试产生的bug需要提交到bug文档,对于bug文档我们有严格的要求,需要标识bug严重等级,紧急程度,关联需求,及相关处理人.相关人员收到bug后需要根据bug紧急程度进行修复,如有不明确或者需求异议的情况需要提交需求异议说明,并找产品或者项目负责人最终确定.质量属性测试我们主要通过环境模拟,自动化脚本,及在线并发模拟等手段保证软件的安全性,可用性及高拓展性.通过完整的测试管理流程保证软件最终的质量.

总结
项目于2021年6月完成上线,经过2年多的运营,现在系统拥有商户1500+,C端客户总数800w以上,完善的软件质量流程保证了系统的稳定性,系统多次支持了百万级用户秒杀,抢购活动,整体得到公司与用户的一致好评.系统运营中也遇到了很多质量问题,如系统不定时会受到拒绝服务攻击,部分数据出现数据一致性异常情况等通过ip黑名单设计解决了大部分拒绝服务攻击,通过添加行为日志记录及日志审查工作我们找到数据异常的原因,并及时修复了问题.此次系统设计,也让我看到自己的很多不足,在未来会不断地更新知识,提高系统在各方面的质量保证.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值