SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4238|回复: 1

[推荐] 使用协作性设计管理来降低软件和系统方面的复杂性

[复制链接]
发表于 2012-1-5 12:43:20 | 显示全部楼层 |阅读模式
本帖最后由 技术狂人 于 2012-1-5 12:45 编辑
6 G6 S, `1 G; K$ r( j  M* {
7 Z- n* B! z- d复杂性无处不在,并且正在不断增加。2010 年 IBM 对 CEO 的全球调查声称:“今天的复杂性不断会增加,而且超过半数的 CEO 开始怀疑自己管理这种复杂性的能力”。(参见参考资料' V7 \8 H! }# `
如今应用程序、系统和产品都变得越来越复杂起来,与此同时性能、智能及功能方面也快速的增长。但是,这两方面不是孤立的。现在它们联系在一起以提供新的服务,并促进新的业务及社会价值,在系统更加复杂的系统也是这样。公司需要协同工作,以让开发团队在这些系统之上进行协作,以满足日益复杂市场的需求。尽管行业项目和跨行业项目公司开发的内容不同,但是公司所面临的复杂性挑战相同。
  t5 B( ]3 F+ {9 S5 ^本文关注于复杂性的三个不同类型:机构,进程,以及设计。然后本文描述了 IBM® Rational® 设计和开发程序新扩展的功能是如何处理它们的。* c" A$ [8 Z. H9 q& }6 ~  [9 c4 `
影响软件和系统设计员的三种复杂性
  s' o  m& `" n! r6 l; V机构性复杂性 处理内部已经存在的(部门、位置、规则,以及团队之间)以及外部已经存在的(供应商、客户,及其他的机构)障碍,它会影响到构建的产品、软件及系统。! J2 O. v0 @: n7 u( R; J
关于业务方向、公司优先级、业务公司顺序,以及 IT 基础的决策,通常没有获得正确的信息,也不能与正确的涉众及时进行交流。这是由多个原因造成的,例如对相关信息的手动,易出错更新,未联系和不记录的计划和团队,包含太少信息或者不相关信息的报告。
5 r( o/ l4 O' ^* K3 i  O: l6 ]公司结构通常来说是复杂和非线性的。需要紧密协作的人们,通常分散于不同的,松散的团队之中。报告链隐藏了团队之间的信息流程,决定参加讨论的正确涉众,通常来说是十分困难的,因为问题性组织结构的存在。0 x4 o$ {- ^& q* e: s8 X, e
进程复杂性 为产品的创建或者发展处理进程的内在复杂性,不管是软件本身,还是软件系统都涉及到了硬件和软件。从敏捷开发,到混合迭代,到规范的瀑布方法,设计、开发、交付和维护活动中所涉及到的团队都面临着进程的挑战。而且,不同类型的进程需要在不同的机构之间进行集成。业务进程,软件和系统开发进程,以及操作性进程相互之间需要进行无间的合作。打破它们之间的平衡性,以及它们相互之间的一致性和可靠性,会使得实现最佳进程变得十分困难。
- G6 d! M1 h4 G& V8 k) L# r( m6 M由于不能从大量的设计和生命周期工件收集信息,所以演示规范性和整合标准就变得困难起来,它们是在软件或者系统创建或改进的过程之中产生的。手动进程,生命周期中缺乏工具的集成,指定,设计,构筑,部署和维护软件及系统中所使用工件缺乏追踪性,都阻碍了以正确的格式交付正确的信息以记录一致性。
- a: z/ S  J$ J. b+ O1 Z理解项目在什么地方与计划相关,被进程的复杂性也变得复杂起来,使得进程评审和可预测性都变得困难起来。这通常是由缺乏对整个生命周期和团队工作的了解所致。手动追踪团队进程是单方面的,容易出错的,并且不稳定。它向进程引入了复杂性,阻碍了创造性,降低了生产效率。
. [* T, Q0 M& c' G3 O4 R$ ]设计复杂性 处理的是软件,系统和产品本身所不断增加的需求,不管是特性和功能,还是与外部系统之间的联系。大型团队及小型团队都经历了这种复杂性。它不能快速评价更改的影响,那些被以下结果影响到的人对设计的理解也有限:团队外部的涉众。
1 f0 l2 r2 J3 c. B" h/ f* X软件和系统的结构,以及行为特征,变得越来越难理解。增加功能的每一个新需求都增加了这种复杂性。软件和系统与其他的系统相互关联,设计复杂性也不断增加。试着通过代码中心方法来设计这些系统,而不用建模,也不用查看所有抽象层次之上的设计,不要应用自动化,导致项目延迟,不确定的特性一致性,以及破坏的界面和系统。7 b0 }. Z4 o1 g+ U. a8 [$ L" ^

6 f! e$ R- J0 }& q- G

) d4 X; W* o3 p1 S  W3 I/ Y2 i0 E导致的五项挑战+ ?! _, K9 V" w6 E1 _- P- z2 P, b
IBM 拥有丰富的设计和开发方案,可以帮助公司设计,构建,和交付软件系统与产品。团队,不管是大型团队还是小型团队,都可以使用 IBM® Rational® Software Architect 及 IBM® Rational® Rhapsody® 构建的方案,来创建和协作设计。他们选择了这些特定的产品,因为他们需要看到简化程序和系统复杂性方面的重要结果,以在生命周期的早期阶段识别问题和缺陷,并记录和交流他们预计对涉众构建的内容,此时修复缺陷成本更低。  [. x4 r+ ]* q: b7 ?3 S) C0 H2 Z
但是,就算有了最好的设计工具,重要的挑战仍然存在。这些问题可以分组为以下五个领域:
' o  s, _* I+ d
  • 设计团队与项目涉众的重要部分分开工作。它通常会导致设计,及交付的软件和系统不能满足预期的目标,而这正是 设计机构性 复杂性的症候。
  • 设计元素与生命周期的其他工件之间的联系非常松散,这些工件例如项目计划,需求,测试计划,测试用例,操作和维护指南,以及客户指南和手册。这使得更改的影响变得不确定起来,而这又是 进程复杂性 的症候。
  • 开发开始之后,设计很难评审,很少得到维护。通常来说,它们被遗弃了。这导致了需求与交付产品之间失去联系,而这又是 设计进程 复杂性的症候。
  • 设计过程之中的预期性和有效性是不确定的。这导致发布的延期和开发资源的无效使用,它与 进程 复杂性问题直接相关。
  • 设计的报告与记录,因为它与整个项目相关,所以费时费力并容易出错。这导致审计错误,以及不能显示标准与规范的一致性。而这,同样是 进程 复杂性的症候。& j/ g& D  l( `! X& S
我们正处在建模,设计和结构领域的关键点上。模型驱动开发(MDD)和基于模型的系统工程对于设计更高级的产品和系统来说,是基础性的。但是,设计团队挣扎于跟上开发限制性因素的需求,特别是在快节奏和协作性的敏捷环境下,更是这样。
8 r9 u6 W1 [* M
( [7 x8 e! C8 t7 a* S
  y6 q& `/ w) O* b; e4 ^
新的协作性设计管理特性是怎样帮助您的
* U  V8 j, y  D. iIBM 正在处理设计软件及 协作性设计管理 下一步发展所带来的挑战。这种方法扩展了团队的结构,从生命周期到结构和产品设计规则的追踪性。我们扩展了 Rational Rhapsody 及 Rational Software Architect 设计及建模工具的功能,这样设计就与工件集成到一起,这些工件来自于剩余的软件和系统开发生命周期,来自于需求定义到测试,甚至来自于操作性资源。而且,所有相关的涉众都通过 IBM® Rational® Jazz™ 技术之上构建的高协作性环境,参与到设计过程之中,并设计一个网络中心的直观界面。, S' k! z7 y+ X9 d
协作性设计管理特性
, Y+ R& b/ X: _# v% R5 o' q1 ?% v' E
  • 设计存储的 基于技术的 Jazz 中心设计轴,使得所有的设计都可以在中心位置上可搜索和可访问
  • 直观网络客户端 以更轻松地设计,改进涉众协作性
  • 自动化设计评审 通过网络或者多界面客户端来评论和标记设计元素
  • 自动化文件生成和报告,使用操作板来追踪进程,并使用开放源生命周期协作(OSLC)从所有相关的来源获取数据
  • 基于 OSLC 的联系 与其他的软件开发生命周期工件相联系,以改进影响分析和报告
      ~- [$ b; V8 z$ l! k( ?9 A
这些特性是如何处理五个复杂性挑战的 & h' z3 K0 Y3 {7 g
让我们探讨一下,怎样对以上所描述的五种复杂性挑战应用这些协作性设计管理功能。
3 R/ M" m9 u3 I- M
  • 设计团队单独工作 从项目涉众的重大方面,导致设计和交付的软件和系统不能满足预期的需求。
    & r+ ^% v3 Z: q: s% H+ J
    • 处理的复杂性:设计,机构。
    • 使用的协作性设计管理特性:涉众协作;中心设计轴,评审和标记,关系图。5 f' K( N# j( N6 @" c

    / |" S5 G! |4 K4 {" q8 k8 o1 c
    & K# p% Z+ Z# m2 f1 z8 N图 1. 扩展团队成员基于网络的评审和设计标记# W1 M4 P7 |. j6 ^
    ! |6 v9 L: a; u: m- z

    - }5 T0 t' u4 r! x8 Q4 J: [3 Z  p7 z% V; |5 x# l
    协作性设计管理(CDM)软件为开发过程之中软件或者系统所有感兴趣领域的涉众提供了输入,这些涉众包括客户,分析员,质量确保专业人员,供应商,以及操作人员,结构师及开发员。通过使用网络客户端,设计团队之外的评审员可以搜索,评审,评论并标记中心设计轴中存储的设计。有了 CDM,设计团队就不需要孤立地工作,而是能够通过设计及开发过程从涉众那里获得稳定的结构性回馈。涉众可以自己访问设计重大事件,这提高了他们的理解能力以及设计的质量。涉众可以决定任务以及关注的领域是怎样与工作项,需求和测试用例相联系的。
    3 K( y7 ^! ~# {6 {. ]0 r# ~
      H5 |4 l+ m2 I/ ^* q在关系图中可以搜索和过滤多个设计,支持特定视图中简化总体设计之中的复杂性。机构复杂性可以通过所有涉众轻松访问中心设计轴和网络客户端来得到解决,这促进了设计的协作。
  • 生命周期之中 设计元素与其他工件之间的联系松散,例如项目计划,需求,测试计划,测试用例,操作和维护信息,以及客户指南和手册,使得更改的影响变得不确定起来。- b' r4 {: [0 T0 j
    • 处理的复杂性:进程
    • 使用的 CDM 特性:中心设计轴,基于 OSLC 的追踪性,关系图。
      ( s1 ?& {. g  }; V* m% Z( i: t

    5 N7 F" ?. Q6 ]! Z3 Y  `  y: g" ]" H. a1 n9 r
    图 2. 设计从 OSLC 到需求,测试计划及其他设计的联系
    0 a& G" h) g% u, E; L1 `7 n- N ! r+ h' [# a! S0 j& R

    9 `% D; x$ j3 H; i6 d$ L
    % R, |& E5 L. `5 w4 o6 B" y. D) c有了 CDM,涉众就可以使用 OSLC 来创建从设计元素到需求,测试计划,项目计划和任务的联系。这提供了生命周期内对设计重要方面的追踪性,因此有助于处理复杂性问题。通过自动化报告和关系图,评审员,设计员和开发员可以查看这些联系,因此访问更改的影响,这些更改涉及到设计或者相关工件上联系的工件。团队成员会接到由这些更改产生的任务,并基于影响评价来做出需要的更新。生命周期期间的追踪性还促进了综合报告和文献的创建,以满足规范,或者整合标准需求及审计。
    ( W0 B! G( G. |1 z8 z
  • 开发开始之后 设计很难评审,并很少得到维护,导致设计和交付的产品之间没有较大的联系。: Q0 V5 ]7 e/ w  g& K
    • 处理的复杂性:进程,设计。
    • 使用的 CDM 特性:中心设计轴,关系图,自动化设计评审。  l+ `, o$ u8 \6 T) P
    & ]& O+ R: W$ k' n, S: z! s  p

    / ~* @$ ?5 d. W2 a" k8 f图 3. 基于网络的自动化评审涉及到扩展的团队
      t. W8 L% j' M2 @+ F6 h
    8 _. ^, o" g' c' D2 `" n0 t1 D' P% L, U1 o0 r

    8 r  e3 |' ?; ]& i/ k使用 CDM,来自不同机构以及各个生命周期的涉众都可以访问中心设计轴,来搜索,分析和评审设计。他们可以在相同的搜索之中访问不同的设计,这样他们就可以使用直观的网络客户端,完整地探讨和理解设计的相关方面。
    " I, v5 k! k3 I* x; `" O' |通过指定包含什么设计和涉众,设计员可以跳过自动化的评审阶段。通过使用网络或者客户端,涉众可以查看设计并添加评论和标记。设计评审可以与 IBM® Rational Team Concert™ 工作项相联系,以便规划和追踪。这个自动化的评审进程,涉及到了所有相关的涉众,通过在进程的正确地方让正确的项目专家参与,简化了设计和开发过程,并有助于处理设计过程之中的复杂性问题。
    9 k3 ?5 M5 \3 Z. l9 {0 h% U+ j! \+ c
  • 设计进程的预测性和有效性不确定 导致发布延迟,以及开发资源的无效使用。! C& A- w+ @3 s# j% v0 u
    • 处理的复杂性:进程。
    • 使用的 CDM 特性:自动化设计评审,自动化文件以及报告生成。# a( {; b& |/ F; c

    , m: w% F$ v4 A; J8 U5 x2 I- x) b% g4 r
    图 4. 个人操作板显示了项目状态
    ' z9 e3 B. j- l 2 ?) g: }. u! A7 G% j
    " Z, I& z8 X8 O$ a* @
    % N' j4 |+ V/ L3 E6 ^1 R
    通过使用协作性设计管理,团队就开始进行协作,并在需求完成之后实施方案。设计过程称为一个团队活动,该活动之中频繁的更改,持续的确认,以及反馈有助于巩固开发活动的方向。因为有更高的可视性,涉众在早期的阶段就了解了团队的工作,并且可以跟上团的进度,甚至在“可执行”交付之前就可以实现这一点。更为重要的是,设计会与其他的生命周期工件一样对待,并能在整个开发过程之中联系和追踪活动。
    8 d) ~! T6 ]% V4 h4 I
  • 设计的报告与文献是费时费力且容易出错的,这导致审计失败,以及不能显示与标准和规范的一致性。# f$ d# ?, P1 ]1 H
    • 处理的复杂性:进程,设计。
    • 使用的 CDM 特性:中心设计轴,自动化记录和报告,OSLC 追踪性。
      ; _+ j) ]) L: l8 @. Z6 X
    协作性设计管理产品,Rational Software Architect 设计管理器以及 Rational Rhapsody Design Manager,都会与 IBM® Rational® Publishing Engine 相集成,它会将不同程序生成的文件实现自动化(见于图 5)。这意味着设计会不断更新,以向规范性评审,构造型责任,或者标准及规范的一致性快速及轻松创建文件。
    : P  C- {' r8 k4 d
    & D* E) [4 A" X; v$ `$ x1 ?4 V! ~
    ' s& y. ~% Y- q# W- x# v图 5. 自动化的报告,来自多个与 OSLC 相联系的来源2 _" `3 f7 D( r! j2 z) X: n
    : o. n% S, s: e7 d
    * c1 ~) G  y2 }1 e% {  [
设计的一个主要优势,在于能够生成文献,帮助团队获得软件或者系统的信息。在软件和系统的发展过程中,协作性设计管理鼓励团队保持软件为更新状态,这不但能够生成可以用于维护或者进一步扩展项目,还可以在开发审计阶段确保和确认遵循行业标准。; b, @+ u) Y) F# K. I! [


1 @3 m4 z8 S  w1 n9 F/ I2 T: @8 ~- a/ ~7 ]6 f3 X. }4 v# l) k0 o
总结
6 b/ c- Y# |' k9 R# S6 D; W+ }# T通过在 Rational Software Architect 或者 Rational Rhapsody 设计及建模工具中创建设计,使用 IBM 的市场导向设计和开发工具,可以创建设计,并利用集成授权带来的优势。协作性设计管理特性,公司可以处理软件与系统交付不断增加的复杂性。CDM 将一系列感兴趣的涉众集中到一起,包括客户,业务管理员,操作团队,以及来自不同团队的人员,会影响产品,软件和系统的设计。这有助于改进质量,并增加实现预期业务结果的可能性。
, }) |- R) @* G# E# Y& }协作性设计管理通过直观的,基于网络的和基于 Jazz 的用户经验,来使得设计进程相关的涉众协同工作,以达到三个关键性的目标:
% J0 d2 Q4 @% h7 F5 g
  • 通过向设计提供一个集中的位置,支持评审员搜索,查看,分析和识别来自不同源不同设计的再使用机会,实现 最大化生产效率并将成本最小化
  • 通过对涉及到所有涉众的设计评审进行协作,以 改进方案质量
  • 通过动态设计,工具,和报告,来 促进项目交付5 r# Q3 T8 o5 T

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
 楼主| 发表于 2012-1-5 12:46:39 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|无图版|SCMLife.com ( 京ICP备06056490号-1 )

GMT+8, 2018-1-20 23:48 , Processed in 0.072152 second(s), 6 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

快速回复 返回顶部 返回列表