架构篇12:架构设计流程-评估和选择备选方案

这篇具有很好参考价值的文章主要介绍了架构篇12:架构设计流程-评估和选择备选方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


架构篇12:架构设计流程-评估和选择备选方案,软件架构,架构

上一篇我们聊了设计备选方案,在完成备选方案设计后,如何挑选出最终的方案也是一个很大的挑战,主要原因有:

  • 每个方案都是可行的,如果方案不可行就根本不应该作为备选方案。
  • 没有哪个方案是完美的。例如,A 方案有性能的缺点,B 方案有成本的缺点,C 方案有新技术不成熟的风险。
  • 评价标准主观性比较强,比如设计师说 A 方案比 B 方案复杂,但另外一个设计师可能会认为差不多,因为比较难将“复杂”一词进行量化。因此,方案评审的时候我们经常会遇到几个设计师针对某个方案或者某个技术点争论得面红耳赤。

​ 正因为选择备选方案存在这些困难,所以实践中很多设计师或者架构师就采取了下面几种指导思想:

  • 最简派
    设计师挑选一个看起来最简单的方案。
    例如,我们要做全文搜索功能:

方案 1: 基于 MySQL

方案 2: 基于 Elasticsearch

​ MySQL 的查询功能比较简单,而 Elasticsearch 的倒排索引设计要复杂得多,写入数据到 Elasticsearch,要设计 Elasticsearch 的索引,要设计 Elasticsearch 的分布式……全套下来复杂度很高,所以干脆就挑选 MySQL 来做吧。

  • 最牛派
    最牛派的做法和最简派正好相反,设计师会倾向于挑选技术上看起来最牛的方案。例如,性能最高的、可用性最好的、功能最强大的,或者淘宝用的、微信开源的、Google 出品的等。
    我们以缓存方案中的 Memcache 和 Redis 为例,假如我们要挑选一个搭配 MySQL 使用的缓存,Memcache 是纯内存缓存,支持基于一致性 hash 的集群;而 Redis 同时支持持久化、支持数据字典、支持主备、支持集群,看起来比 Memcache 好很多啊,所以就选 Redis 好了。

  • 最熟派
    设计师基于自己的过往经验,挑选自己最熟悉的方案。我以编程语言为例,假如设计师曾经是一个 C++ 经验丰富的开发人员,现在要设计一个运维管理系统,由于对 Python 或者 Ruby on Rails 不熟悉,因此继续选择 C++ 来做运维管理系统。

  • 领导派
    领导派就更加聪明了,列出备选方案,设计师自己拿捏不定,然后就让领导来定夺,反正最后方案选的对那是领导厉害,方案选的不对怎么办?那也是领导“背锅”。文章来源地址https://www.toymoban.com/news/detail-817650.html

到了这里,关于架构篇12:架构设计流程-评估和选择备选方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 架构篇13:架构设计流程-详细方案设计

    完成备选方案的设计和选择后,我们终于可以长出一口气,因为整个架构设计最难的一步已经完成了,但整体方案尚未完成,架构师还需继续努力。接下来我们需要再接再励,将最终确定的备选方案进行细化,使得备选方案变成一个可以落地的设计方案。所以今天我来讲讲架

    2024年01月23日
    浏览(54)
  • 内部软件产品数据治理平台(流程设计里,选择触发事件报错)

    内部软件产品数据治理平台(流程设计里,选择触发事件报错) 页面报错如下 通过查看dp后台日志发现缺少表字段,表名称(TL_EVENT_SHADOW),需要新增字段即可 PROJECT_ID varchar(200) DEFAULT NULL COMMENT ‘对象所属项目ID’, SPACE_ID varchar(20) DEFAULT ‘0’ COMMENT ‘空间ID’,

    2024年02月01日
    浏览(39)
  • 【新版系统架构】第八章-系统质量属性与架构评估(软件系统质量属性、系统架构评估)

    软考-系统架构设计师知识点提炼-系统架构设计师教程(第2版) 第一章-绪论 第二章-计算机系统基础知识(一) 第二章-计算机系统基础知识(二) 第三章-信息系统基础知识 第四章-信息安全技术基础知识 第五章-软件工程基础知识(一) 第五章-软件工程基础知识(需求工

    2024年02月11日
    浏览(41)
  • 软考高级系统架构设计师系列论文九十九:论软件开发平台的选择和应用

    软考高级系统架构设计师系列之:面向构件的软件设计,构件平台与典型架构 本文从一个行业MIS系统的开发实践,讨论了软件开发平台的选择和应用。首先,作者从项目的实际情况确定了软件开发平台的一些原则:技术成熟兼一定先进性、高效集成的开发工具、开方人员熟练

    2024年02月11日
    浏览(55)
  • 软考高级系统架构设计师系列论文九十八:论软件开发平台的选择与应用

    软考高级系统架构设计师系列之:面向构件的软件设计,构件平台与典型架构 本文讨论选择新软件开发平台用于重新开发银行中间业务系统。银行中间业务系统是指银行通过与企事业单位、机关团体的合作,为客户提供金融服务的系统。X省农行银行的原中间业务系统软件开

    2024年02月11日
    浏览(55)
  • 如何选择优秀的等保认证和评估服务方案?

    如何选择优秀的等保认证和评估服务方案?等保认证和评估是一种常用的网络安全解决方案,可以帮助企业评估和提高网络安全水平。然而,市面上的等保认证和评估服务方案种类繁多,如何选择优秀的方案成为了一个重要的问题。本文将探讨如何选择优秀的等保认证和评估

    2024年02月16日
    浏览(34)
  • 字节跳动 从需求到上线全流程 软件工程流程 需求评估 MVP

    整个课程会带大家先从理论出发,思考为什么有流程 大家以后工作的团队可能不一样,那么 不同的团队也会有不同的流程 ,这背后的逻辑是什么 然后会带大家按照走一遍从需求到上线的全流程,告诉大家在流程的每个阶段,究竟要做什么 最后会给大家介绍一下我们 实践当

    2024年02月11日
    浏览(40)
  • 软件系统质量属性_2.面向架构评估的质量属性

            为了评价一个软件系统,特别是软件系统的架构,需要进行架构评估。在架构评估过程中,评估人员所关注的是系统的质量属性。 评估方法所普遍关注的质量属性 有: 性能、可靠性、可用性、安全性、可修改性、功能性、可变性、互操作性 。           性能(P

    2024年04月10日
    浏览(58)
  • 系统架构设计师 8:系统质量属性与架构评估

    软件系统属性包括功能属性和质量属性,软件架构重点关注的是质量属性。为了精确、定量地表达系统的质量属性,通常会采用质量属性场景的方式进行描述。 在确定软件系统架构,精确描述质量属性场景后,就需要对系统架构进行评估。软件系统架构评估是在对架构分析、

    2024年02月16日
    浏览(35)
  • Web3 的开发者,如何评估以及选择调用链上数据的解决方案

    FP是链上数据分析平台以及数据处理基础设施,使命是让链上数据分析以及使用随手可得。目前,Footprint 从 22 条公链上收集、解析和清理数据,把无语义以及无序的链上数据,转化成让用户能使用无代码拖放界面、SQL等多种形式构建图表以及仪表盘。除了提供链上原始数据,

    2024年02月02日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包