软件架构设计

阅读更多

   首先我们应该了解什么是软件架构设计?

架构大体分为以下几种:

逻辑架构=模块划分+接口定义+领域模型

开发架构=技术选型+文件划分+编译关系

物理架构=硬件分布+软件部署+方案优化

运行架构=技术选型+控制流划分+同步关系

数据架构=技术选型+存储格式+数据分布

    程序员向架构师转型的关键突破——学会系统思考

怎样根据客户的需求去设计自己的系统,从需求到设计是一个很重要的过程,如果需求都不明确那么最后做的系统将注定失败。

   当我们明白了需求之后,接下来就是要怎么去设计这个系统,这就是系统的架构。根据上面所分的架构逐步设计自己的系统。

 

     需求和设计之间存在一道无形的鸿沟,因此很多人会在需求分析之后卡壳,不知道怎么做了。先说功能需求。使用用例规约等技术描述功能,可以阐明待开发系统的使用方法,但并没有以类、包、组件、子系统等元素形式描述系统的内部结构。从用例规约向这些设计概念过渡之所以困难,是因为:

 

     用例是面向问题域的,设计是面向机器域的,这两个空间之间存在映射;

     用例技术本身不是面向对象的,而设计应该是面向对象的,这是两种不同的思维方式;

     用例规约采用自然语言描述,而设计采用形式化的模型描述,描述手段也不同。

  然而,从质量需求到软件设计,有个不易跨越的鸿沟:软件的质量属性需求很,常常令架构师难以把握。例如,根据诸如本系统应该具有较高的高性能等寥寥几个字来直接做设计,思维跨度就太大了,设计很难有针对性。越过从质量需求到设计的鸿沟,需要搭桥。这就是下面要讲的场景技术,其关键是使笼统的非功能目标明确化。


 

 

 

 

你可能感兴趣的:(软件架构,Java,系统)