欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

软件架构设计

程序员文章站 2022-05-03 18:34:42
...

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

架构大体分为以下几种:

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

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

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

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

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

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

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

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

 

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

 

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

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

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

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