敏捷开发下的软件架构设计与持续优化

过往的软件开发, 往往都是由架构师将他对产品的理解,利用 UML 来体现软件的架构设计。

这种方式的问题是:因缺乏使用者与团队成员间的互动参与,使得对外并未能完整的将使用者需求,映射到软件架构中; 而对内所提供的软件架构设计文档, 对实际开发的工作, 指导意义并不大(因为,厚重的架构设计文档,便如老太婆的裹脚布般;又臭又长)。更严重的问题是,由于架构设计耗费太长的时间,如此再加上开发、测试的时间,团队往往会太晚才会发现软件架构上的重大缺陷。而由于太晚才发现软件架构上的缺陷,所以,软件架构上若需做优化,则往往需耗费惊人的人力与时间成本。

敏捷开发, 经由可视化、轻量级的 "场景树", 使得使用者与团队成员间可共同的协作, 共同的识别:

  • User Story 中的活动
  • 活动后所产生的实体对象
  • 验证实体对象的纬度
  • 识别描述实体对象的价值对象
  • 整合所有 User Stories 的 User Story 地图

所以, 开发人员可根据 “场景树”与 User Story 地图,轻易且高效的找到单元测试点并设计出有效的测试用例与测试数据。而使开发人员能在最短的时间内,将软件架构直接转换为测试代码与产品代码。使开发人员能在最短的时间内,经由单元测试的 “黑盒测试”,发现到软件架构上的缺陷。

另外,SonarQube也提供了一可持续优化产品代码(架构)的平台。

“所以,在敏捷开发中,我们真的找到了一个有效的方法,去构造一高效、健康的产品开发的生态系统;经由此生态系统,使用者与团队成员将可高效的协作,共同的设计软件架构,并在最短的时间内,发现软件架构上的缺陷并持续的优化软件架构。”

欢迎你也来试试。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏贾老师の博客

《软件方法》学习1. 软件方法概述2. 愿景3. 业务建模4. 需求5. 总结6. 阅读延伸

1394
来自专栏腾讯Bugly的专栏

2016 移动应用质量大数据报告

2016年,在“互联网+”战略的推动下,移动互联网与越来越多传统行业的结合更加紧密,用户使用移动互联网的工作场景、生活场景、消费场景都在悄然发生着改变, 移动互...

4445
来自专栏CDA数据分析师

7大板块 组成数据分析师的完整知识结构

作为数据分析师,无论最初的职业定位方向是技术还是业务,最终发到一定阶段后都会承担数据管理的角色。因此,一个具有较高层次的数据分析师需要具备完整的知识结构。 1....

2017
来自专栏老九学堂

人工智能研发的热门编程语言:不死 Java、不朽 C/C ++,以及新贵 Python

流水的编程语言,铁打的 Java、C/C++。 ? 进行人工智能机器人研发,应该选择哪种编程语言? 而回归本文主题,对于首选编程语言的选择,没有最佳的答案,在很...

4258
来自专栏数据科学与人工智能

【Python环境】学习Python:做数据科学还是网站开发?

本文的英文原文地址是:Python for Data Science vs Python for Web Development,发布时间是10月29日。译者一...

3208
来自专栏钱塘大数据

【干货】数据分析师的完整流程与知识结构体系

导读:一个完整的数据分析流程,应该包括以下几个方面,建议收藏此图仔细阅读。完整的数据分析流程:1、业务建模。2、经验分析。3、数据准备。4、数据处理。5、数据分...

28511
来自专栏数据的力量

【干货】数据分析师的完整知识结构

1694
来自专栏CDA数据分析师

【干货】数据分析师的完整知识结构

作为数据分析师,无论最初的职业定位方向是技术还是业务,最终发到一定阶段后都会承担数据管理的角色。因此,一个具有较高层次的数据分析师需要具备完整的知识结构。 1....

1856
来自专栏钱塘大数据

【干货】数据分析师的完整流程与知识结构体系

数据分析流程结构图 (后台回复“lc”,下载高清原图) 1.数据采集 了解数据采集的意义在于真正了解数据的原始面貌,包括数据产生的时间、条件、格式、内容、长度...

2277
来自专栏PPV课数据科学社区

【干货】数据分析师的完整知识结构

作为数据分析师,无论最初的职业定位方向是技术还是业务,最终发到一定阶段后都会承担数据管理的角色。因此,一个具有较高层次的数据分析师需要具备完整的知识结构。 1、...

3254

扫码关注云+社区