1.什么是架构

一、一个软件从整体到部分,最高层次的划分

       系统由元件组成,连接器将它们连接起来,任务流描述如何使用元件和连接器完成一项需求。


二、建造一个系统所做出的最高层次的、难以更改的、商业和技术的决定

       市场定位,系统目标,技术选型,资源投入。。。


       搁到现实生活中,就是一家之主决定做什么如何做。


架构的目标? 

        ·可靠性(Reliable)。软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。

  ·安全行(Secure)。软件系统所承担的交易的商业价值极高,系统的安全性非常重要。

  ·可扩展性(Scalable)。软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能。只有这样,才能适应用户的市场扩展得可能性。

  ·可定制化(Customizable)。同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整。

  ·可扩展性(Extensible)。在新技术出现的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展

  ·可维护性(Maintainable)。软件系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持的花费

  ·客户体验(Customer Experience)。软件系统必须易于使用。

  ·市场时机(Time to Market)。软件用户要面临同业竞争,软件提供商也要面临同业竞争。以最快的速度争夺市场先机非常重要。


架构从3个视角分类?

       逻辑架构:各组件之间的关系(如:3层架构)

       物理架构:软件在不同硬件上的分布(如:分布式系统)

       系统架构:非功能特性(如:性能、安全、稳定性、可扩展性)


说到底,就是从系统高度俯视,设计出基本元件元件之间的关系

你可能感兴趣的:(生活,扩展,任务)