架构思维和抽象是软件架构中的两个关键概念,它们相辅相成。通过架构思维,可以将系统分解为各个部分,并对它们进行分析和设计,然后通过抽象,可以将这些部分简化成关键概念和模型,以便更好地理解和处理问题。
架构思维和抽象是软件架构中的两个关键概念,它们相辅相成。通过架构思维,可以将系统分解为各个部分,并对它们进行分析和设计,然后通过抽象,可以将这些部分简化成关键概念和模型,以便更好地理解和处理问题。
在架构设计中,业务抽象、产品抽象和技术抽象是三个非常重要的抽象层面。
当理解市场/顾客需求,确立产品规格,敲定产品概念后。下一步工作便由开发部门展开,而在开发工作展开之前,是对产品架构的确立。对于产品架构的思考有以下几方面:
• 产品架构对后续提供多样化产品能力的影响
• 产品架构对业务架构的影响
• 产品架构对固定时间段内完成设计能力的影响
• 产品架构对管理开发流程的影响
什么是产品架构?
一款实物型产品,可以从功能和实体上来认识。
• 功能
产品功能单元指那些对产品整体性能有贡献的、独立运转或传输能力。对于手机来说,打电话和拍照就是两个功能单元。各功能单元在确定某一种技术和实体原件来实现之前,往往以示意图的形式来加以描述。
• 实体
实体单元是最终完成产品功能的零件、部件和子装配件。实体单元会随着产品开发进展而逐渐明确,有的实体单元在产品概念阶段就可以确定下来。一个产品的实体单元常被组成成几大部分,我们称之为组件,每一个组件由若干完成产品相应功能的零件组成。
产品架构特征有哪些?
产品架构最重要的特征是它的模块化程度,即最理想的状态是产品可以像乐高积木一样拼凑搭建。每个功能单元恰好被一个组件完成,并且组件之间配合得十分完美,这种架构在不改变其他组件的情况下,只改变单一组件而不影响产品其他功能。各组件还可以单独设计。
模块化架构有以下两个特点:
(1)各个组件分别实现一个或多个功能;
(2)组件之间的相互关系是明确的,并且这种相互关系往往是实现一个产品功能的基础。
与模块化相对应的是集成化架构,集成化架构一般有下列特征:
(1)产品每个功能单元都由多个组件来实现;
(2)每个组件参与多个功能单元的实现;
(3)组件之间的相互关系并不明确,这种相互关系对产品的基本功能来说并不一定很重要。
何时确定产品架构?
在概念开发阶段,产品架构就开始出现,但这时的架构不是正式的-表现为草图、功能图和概念开发阶段的早期原型。
通常,基础技术的成熟度决定了产品架构是在概念开发阶段还是在系统设计阶段被完全确定的。当新产品是对已有产品概念的改进时,产品架构是在产品概念阶段确定的。
原因一:产品的基础技术和工作原理已经被预先锁定,则概念开发工作主要集中在如何以更好的方式实现既定的产品概念;
原因二:当公司产品类型成熟后,供应链(生产和销售)的考虑和产品多样性的问题开始变得越来越显著。产品架构是影响企业提供多样化产品能力的重要开发决策之一,产品架构因此成为产品概念的中心环节。然而,当新产品是其中类中的一个是,概念开发便主要集中在产品所依据的工作原理和技术,这种情况下,产品架构通常是系统设计阶段的首要任务。
如何更好的确定产品架构?
产品架构的确定最终归结为对产品的组件分解以及模块化程度的把控,而这点与很多重大问题有关,如下几个方面:
• 产品改进
组件是构成产品的模块,而产品架构决定了这些模块与产品功能之间的关系。因此,产品架构也决定这怎样对产品进行改进就。模块化的好处是在不改变其他部分的情况下可以实现对产品若干独立功能单元的改进,而集中式的组件修改,就会影响产品请他许多功能单元。
促使企业进行产品改进的原因有以下几点:
(1)升级(upgrade):技术与用户需求的发展;
(2)附加组件(add-on):顾客根据需要自己添加由别的厂家生产的组件;
(3)适应性(adaptation):环境适应能力;
(4)可替换性(wear):产品使用中组件磨损;
(5)易耗品(consumption):产品运行中的易耗品更换;
(6)使用的灵活性(flexibility in use):为满足顾客的不同要求而进行的改造;
(7)再利用(reuse):产品设计中对于可以通过更改之前产品的零部件而使产品以另外一种形态呈现给用户,更新产品线。
• 产品多样化
可通过模块的架构设计,在不增加制造系统复杂度的情况下,组合出多种不同的产品。
• 产品性能
• 零件标准化
如果一个组件可以实现一个或几个有广泛用途的功能单元,那么这个组件就可以标准化,从而应用在几种不同的产品上。
• 可制造性
架构对产品制造成本、制造复杂度的影响。
• 项目管理
设计任务的分配,根据架构的类型,如是模块化的还是集成化的。对于模块化的,可以在确认好设计边界的 情况下分配给不同设计组进行。而对于集成化的,进行拆分设计最终再配合就比较有挑战性。
确立产品架构四步法
• 创建产品示意图
• 对示意图中的元素进行聚类
• 设计简略的几何结构
• 确定基本的和附属的相互作用关系
产品架构设计之后便是系统设计与详细设计,在系统设计与详细设计过程中,也会对架构设计进行再一步的补充和完善。
参考链接: