从需求向架构过渡的系统方法

前几年写的一篇文章,今天翻出来了,看样子是个笔记。希望对大家有用:

 

1 如何成为一名架构师?

  成为一名架构师需要如下的要求 :

  (1)全面系统的技术知识(但不一定要求掌握很深入)。

  (2)系统思维能力

  (3)丰富的项目经验

  (4)参与过大型项目

2 需求的种类:

  需求可以分为:功能需求、质量需求、约束需求三种。

3 功能需求:

   功能需求是不可能单独存在的,不同的功能之间存在一定的联系。我们可以称之为职责协作链。

我们在进行功能需求分析时,可以按照下面4个步骤:

(1)       确定实现功能需要的职责。

(2)       将职责转化成子系统模块

(3)       明确接口

(4)       确定交互机制的实现

  理念:架构不只由功能驱动(不是全部)

如何确定功能需求呢:

假定我们有200项需要实现的功能,我们不可能逐个对他们进行分析。我们可以按照下面的方式去做:找出关键功能的子集。

 

那么,应该如何去确定核心功能呢?

核心功能应该包括下面几个部分:

(1)       业务层的接口

(2)       必须实现的功能

(3)       功能单元之间的互操作及非功能的考虑(例如性能和人性化)

(4)       高风险设计(技术难点等)

Ps:在一个比较正规的项目中,架构设计的比例应该占到 10%左右

4 质量需求:

4.1质量需求是什么?

  质量需求就是对一个系统的“质量”上的一些要求,比如一个系统的查询模块操作时间不能大于10秒钟。这就是一个质量需求。

质量需求调整了理想的设计,统一了功能和实际要求,会导致设计方案在理想化的基础之上进行修改。

 4.2实现要领:

       软件架构有如下的决策方面:

(1)    系统的组织

(2)    接口行为的选择

(3)    组合机制的力度

(4)    架构的风格:元素及他们的接口,协作、组合。

这里需要注意的是“接口”,在实际的架构设计中接口设计是必须存在的;而在概念架构设计中就不一定需要了

(5)    注意其他特性

质量需求对架构的影响只限于“调整”,并不会产生新的功能产生

   4.3质量分类方式:

      可以分为3种:

(1)       McCall: 已过时

(2)       FURPS:即功能性、易用性、可靠性、性能,可支持(可维护)

这种方式适合于企业应用类型的项目,平台开发一般不适用

(3)       运行期质量+ 开发期质量

运行期质量包括: 性能,安全、易用、可用、互操作(与原有系统)、可靠等因素

开发期质量包括:易理解、易测试、可复用等因素

5 约束需求和架构----最危险的需求

  约束需求之所以被称为最危险的需求,主要是因为其会产生出新的需求要求。要尽早的进行约束需求的分析。

  约束需求可以分为:

(1)       技术性约束:如OS 的选择、技术选择、与遗留系统的互操作等

(2)       标准性约束:行业标准和企业标准

(3)       法律性约束:法律、法规约束

6 总结

需求转向架构的分析流程:

(1)       我们需要汇总所有的功能需求、质量需求、约束需求三种需求。

(2)       进行全面的需求整理

(3)       进行分析约束性需求(因为可能产生新的需求)

(4)       确定关键功能需求和质量需求

(5)       设计出关键功能和质量功能

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值