前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面向对象架构设计流程

面向对象架构设计流程

作者头像
别明天就今天吧
发布2020-09-07 01:27:39
5580
发布2020-09-07 01:27:39
举报

架构设计分为几个环环相扣的步骤:业务架构->领域架构->软件架构

业务架构:只关注整体的业务流程,不关注具体的业务需求细节。

领域架构:从业务架构中提取出来。

软件架构:与"设计模式"类似,基于"领域架构",应用架构设计原则和方法,精雕细琢,逐步迭代,得出最终的软件架构。

业务架构:

1.全新的业务系统

怎么知道用户业务系统呢,最简单的方法是问客户,如:

沃尔玛:仓库管理、物流、店面、支付等几个部分

铁路售票:订票、查票、支付等几个部分

简单的说,最初的架构就是对客户业务系统的模拟!

2.已有架构优化

在原有架构上增强即可。

3.业务架构实例

假设我们要创建一个商城,商城的业务架构可以简化如下:

业务功能要求

商城在电视上投放商品广告;

客户看电视获取商品信息;

客户打电话找商城客服下单;

客服下出货单;

仓库管理员出货,交给物流人员;

物流人员送货,客户支付;

物流人员将出货单和款项交给结算中心;

结算中心确认后,订单完成;

业务架构和用例模型一样,其实都是文字描述,比较抽象,不需要关注各种异常或分支处理流程,只需要描述出业务的整体结构即可。

业务约束和限制

性能 :每秒处理10w订单;

成本 :整套方案不超过1000w;

可靠性:全年中断5分钟;

技术性:使用JAVA

兼容性:与集团其他系统兼容;

领域架构:

在业务机构的基本要求中,提炼领域架构。提炼业务模块:广告、商品、订单、仓库、物流、支付、结算,并找出模块之间的关系;

软件架构:

第一步:照猫画虎

直接将各个模块映射为子系统。

可行的架构:功能需求和质量需求同时满足。

第二步:按图索骥

满足质量需求,业务的质量属性有很多,如性能、可靠性、成本等。为满足每秒10万订单,可以增加订单子系统的机器,也可以拆分订单子系统为接单子系统、下单子系统、商品查询子系统。

第三步:深思熟虑

深思:全面评估各个备选方法的优劣点;

熟虑:挑选最优方案;

哪个方案优点多,就选择哪个方案,当优点个数一样的时候,就需要找到更加靠谱的方法,就是按优先级选择:优先选择我们最关注的质量属性表现占优的方案,以此类推。

质量需求是架构设计的推动力。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 别明天就今天吧 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档