软件架构设计
首先我们应该了解什么是软件架构设计?
架构大体分为以下几种:
逻辑架构=模块划分+接口定义+领域模型
开发架构=技术选型+文件划分+编译关系
物理架构=硬件分布+软件部署+方案优化
运行架构=技术选型+控制流划分+同步关系
数据架构=技术选型+存储格式+数据分布
程序员向架构师转型的关键突破——学会系统思考 怎样根据客户的需求去设计自己的系统,从需求到设计是一个很重要的过程,如果需求都不明确那么最后做的系统将注定失败。 当我们明白了需求之后,接下来就是要怎么去设计这个系统,这就是系统的架构。根据上面所分的架构逐步设计自己的系统。
需求和设计之间存在一道无形的鸿沟,因此很多人会在需求分析之后卡壳,不知道怎么做了。先说功能需求。使用用例规约等技术描述功能,可以阐明待开发系统的使用方法,但并没有以类、包、组件、子系统等元素形式描述系统的内部结构。从用例规约向这些设计概念过渡之所以困难,是因为: 用例是面向问题域的,设计是面向机器域的,这两个“空间”之间存在映射; 用例技术本身不是面向对象的,而设计应该是面向对象的,这是两种不同的思维方式; 用例规约采用自然语言描述,而设计采用形式化的模型描述,描述手段也不同。 然而,从质量需求到软件设计,有个不易跨越的鸿沟:软件的质量属性需求很“飘”,常常令架构师难以把握。例如,根据诸如“本系统应该具有较高的高性能”等寥寥几个字来直接做设计,“思维跨度”就太大了,设计很难有针对性。越过从质量需求到设计的鸿沟,需要搭桥。这“桥”就是下面要讲的场景技术,其关键是使笼统的非功能目标明确化。
上一篇: 告别喧嚣的都市,拥抱美丽的拉萨!
下一篇: 散落在八廓街的阳光——我匆忙的*游记