接上篇:
5、概念架构是大型系统架构设计成败的关键。
6、概念架构设计阶段,对关键功能进行鲁棒图建模。
7、高层分隔的两种实践套路:切系统为系统;切系统为子系统
8、细化架构和概率架构之间存在这如下典型差异:
接口:细化架构中,接口占据非常核心的地位,而概念架构不关心
子系统:细化架构重视通过子系统和模块来分割整个系统,并且子系统有明确的接口。
交互机制:细化架构中的交互机制应是“实在”的,如基于接口编程、消息机制和远程调用方法等。
9、方案和架构的联系与区别如下:
方案包含一定的架构内容
方案设计的架构基本在概念架构一级
架构设计的工作还远未完成
10、五视图包含如下几个视图:
逻辑视图;开发视图;运行视图;物理视图;数据视图。
11、划分子系统的实践策略归纳为:分层的细化;分区的引入;机制的提取。
12、4个通用设计原则:
职责不同的单元划归不同子系统
通用性不同的单元划归不同子系统
需要不同开发技能的单元划归不同子系统
兼顾工作量的相对均衡,进一步切分太大的子系统。
13、通过质疑“对不对”和“好不好”,可以发现新职责,或者调整协作方式。
14、13.3.3章节案例示范
15、数据分布策略:独立;集中;分区;复制;子集;重组。
架构要达到以下目标:
①可靠性(Reliable)。软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。
②安全性(Secure)。软件系统所承担的交易的商业价值极高,系统的安全性非常重要。
③可伸缩性(SCAlable)。软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能。只有这样,才能适应用户的市场扩展得可能性。
④可定制化(CuSTomizable)。同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整。
⑤可扩展性(Extensible)。在新技术出现的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展。
⑥可维护性(MAIntainable)。软件系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持的花费。
⑦客户体验(Customer Experience)。软件系统必须易于使用。
⑧市场时机(Time to Market)。软件用户要面临同业竞争,软件提供商也要面临同业竞争。以最快的速度争夺市场先机非常重要。