用户名 密码 联盟服务 关于我们 联系方式 收藏本站
返回网站首页 PgMP认证,美国项目管理协会高端项目管理认证!大型项目与项目群管理Program Management全球权威认证


网站登录:会员 企业 专家 服务商
企业服务:PMP培训  内训课 公开课
工 具 箱:发表文章 提问题 发案例
首页动态 | 文库 | 下载 | 书架 | 访谈 | 专栏 | 专题 | 人才 | 培训 | 软件 | PMC 互动:活动 | 案例 | 问答 | 论坛 | 博客 | 圈子 
应用:基础工程软件制造活动研发  认证:PMPNPDPACPPgMPIPMPP2ISPMPIMCP建造师MPM  特色:热点奖项

PMI-ACP®认证

适合敏捷开发项目
敏捷项目管理最佳实践

网络课程

PMI-PBA®认证

重视项目商业分析
商业价值与需求分析能力

网络课程

NPDP®认证

产品管理国际认证
全球产品管理最佳实践

网络课

PMP®认证

单项目管理经典指南
年轻项目经理首选

北京 | 直播 | 录播

PgMP®认证

大型复杂项目全球标准
定位高级项目管理层

网络班

PfMP®认证

链接战略与项目
实现组织资源投资回报

全球直播

软考项目管理

信息系统项目管理师
系统集成项目管理工程师

计划 | 报名 | 经验

敏捷项目管理ACP认证培训
国际产品经理NPDP认证

软件项目中的变更及其应对

作者:佚名   提交人:项目管理者联盟[佚名]   属性:提交人转载   发布时间:2008/7/15   点击:6237   【收藏本文
项目管理者联盟
  例如,现在有一个类叫做TCPConnection ,来代表计算机网络通信中典型的TCP 连接,对于这个连接而言,它可能处于以下几种状态:Established (连接已建立),Listening (正在侦听),Closed (连接关闭)。一个连接对象需要从其他的对象接受请求,至于它的反应则决定于连接对象所处的状态,对于(打开连接的请求),如果是在连接关闭状态,则进行Open (),处于其他状态则不做反应;同样,如果在连接建立和侦听状态,可以进行Close (),在连接建立状态可以进行Acknowledge (),即接收数据。 项目管理者联盟
service.mypm.net
  对于这样的状况,最不可取的设计应该是用一系列的Switch 语句(甚至If/else 语句)进行Hard 设计,对于以后每一次需求改变,都需要改变源代码,接踵而来的系统一致性、文档更新等工作将使开发人员不可避免地陷入一场灾难,这样的后果将导致原来就不合理的设计变得更加支离破碎,系统维护的代价将越来越大;就算没有需求变更发生,这些设计的可重用性也会极差。 项目管理者联盟
项目管理者联盟
  稍好一些的设计是预先估计并设置TCPConnection 类所有可能的状态,并预先加入设计,这种需要付出更多的设计、开发、维护的代价,而且也很难达到完美的效果,所以不多说了。 club.mypm.net
项目管理者联盟
  下面介绍一种经典的设计思路,这种设计可以充分体现“为(系统)将来改变预留接口”的可扩展性(Extensible-Design )思想,并且很好的实现了这一思想。在这里,我们引入一个抽象类TCPState 来代表TCPConnection 类的状态,给出具体各种状态的通用操作接口,并派生出不同的子类(实现具体的操作)去实现TCPConnection 类的不同状态,例如派生TCPEstablished 类来实现TCPConnection 类的连接建立状态。项目管理者联盟
项目管理者联盟
  只需要在TCPConnection 类中包含一个TCPState 的状态引用,并在TCPConnection 的状态改变时更新为当前的状态引用,例如在连接关闭时进行Open (),状态引用就应该从TCPClosed 变成TCPEstablished ,这样就实现了原来的要求。 项目管理者联盟
pmp.mypm.net
  但这个设计思路的意义远不止于此。我们可以看到,抽象类TCPState 已经为TCPConnection 类将来可能的状态留出接口,只需要不断派生具体的不同状态子类就可以实现将来的状态变更,并且无须影响原有的设计,也无须加入多余的代码来实现现在还不需要的功能,所以这是一个优美的、可扩展的设计思路,非常清晰,易于维护,相信可以给我们在做软件设计时带来一些启发。 www.mypm.net
项目管理者联盟
  系统应该采用Open 的技术标准 项目管理者联盟
training.mypm.net
  采用SOA 的开发架构,是进一步降低系统耦合度的措施在经典软件工程理论中,不管是瀑布方法还是原型方法,都是从需求分析做起,一步一步构建起形形色色的软件系统。但是,需求变更像一个挥之不去的阴影,时刻伴随着系统左右。每一个实际应用系统的开发者都饱尝了在系统进入开发阶段、测试阶段,甚至上线阶段遭遇应接不暇的需求变更的极端痛苦。客户将变更的需求视为bug(错误)是测试上线阶段的主要问题。 项目管理者联盟
项目管理论坛
  如何解决这一问题?能否来一场软件开发和架构的革命?SOA架构的提出,就是被人看成这样的一场革命。其实质就是要将系统模型与系统实现分割开来。 talent.mypm.net
training.mypm.net
  1.定义 项目管理者联盟文章
项目管理者联盟
  SOA并不是一个新概念,有人就将CORBA和DCOM等组件模型看成SOA架构的前身。早在1996年,Gartner Group就已经提出了SOA的预言,不过那个时候仅仅是一个“预言”,当时的软件发展水平和信息化程度还不足以支撑这样的概念走进实质性应用阶段。到了近一两年,SOA的技术实现手段渐渐成熟了。在BEA、IBM等软件巨头的极力推动下,才得以慢慢风行起来。Gartner为SOA描述的愿景目标是实现实时企业(Real-Time Enterprise)。 项目管理者联盟
项目管理者联盟
  关于SOA,目前尚未有一个统一的、业界广泛接受的定义。一般认为:SOA,面向服务的架构是一个组件模型,它将应用程序的不同功能单元----服务(service),通过服务间定义良好的接口和契约(contract)联系起来。接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作系统和编程语言,使得构建在这样的系统中的服务可以使用统一和标准的方式进行通信。这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。 service.mypm.net
项目管理者联盟
  从这个定义中,我们看到下面两点: 项目管理者联盟
项目管理论坛
  ·软件系统架构: SOA不是一种语言,也不是一种具体的技术,更不是一种产品,而是一种软件系统架构,它尝试给出在特定环境下推荐采用的一种架构,从这个角度上来说,它其实更像一种架构模式(Pattern),是一种理念架构,是人们面向应用服务的解决方案框架。 项目管理者联盟
www.mypm.net
  ·服务(service)是整个SOA实现的核心。SOA架构的基本元素是服务,SOA 指定一组实体(服务提供者、服务消费者、服务注册表、服务条款、服务代理和服务契约),这些实体详细说明了如何提供和消费服务。遵循 SOA 观点的系统必须要有服务,这些服务是可互操作的、独立的、模块化的、位置明确的、松耦合的并且可以通过网络查找其地址。 项目管理论坛
项目经理博客
  2.SOA三种角色的关系 项目管理者联盟文章
PgMp.mypm.net
  服务是一个自包含的、无状态(stateless)的实体,可以由多个组件组成。它通过事先定义的界面响应服务请求。它也可以执行诸如编辑和处理事务(transaction)等离散性任务。服务本身并不依赖于其他函数和过程的状态。用什么技术实现服务,并不在其定义中加以限制。 项目管理者联盟
www.mypm.net
  服务提供者(service provider)提供符合契约(contract)的服务,并将它们发布到服务代理。 项目经理博客
转自项目管理者联盟
  服务请求者(service consumer)也叫服务使用者,它发现并调用其他的软件服务来提供商业解决方案。从概念上来说,SOA 本质上是将网络、传输协议和安全细节留给特定的实现来处理。服务请求者通常称为客户端,但是,也可以是终端用户应用程序或别的服务。 项目管理者联盟
PgMp.mypm.net
  服务代理者(service broker)作为储存库、电话黄页或票据交换所,产生由服务提供者发布的软件接口。 项目管理者联盟
项目管理培训
  这三种 SOA 参与者:服务提供者、服务代理者以及服务请求者通过 3 个基本操作:发布(publish)、查找(find)、绑定(bind)相互作用。服务提供者向服务代理者发布服务。服务请求者通过服务代理者查找所需的服务,并绑定到这些服务上。服务提供者和服务请求者之间可以交互。 项目管理者联盟
项目管理者联盟
  所谓服务的无状态,是指服务不依赖于任何事先设定的条件,是状态无关的(state-free)。在SOA架构中,一个服务不会依赖于其他服务的状态。它们从客户端接受服务请求。因为服务是无状态的,它们可以被编排(orchestrated)和序列化(sequenced)成多个序列 (有时还采用流水线机制) ,以执行商业逻辑。编排指的是序列化服务并提供数据处理逻辑。但不包括数据的展现功能。 PgMp.mypm.net
training.mypm.net
  3.SOA特征 项目管理者联盟
项目管理者联盟
  基于上面讨论,我们给出SOA的下面一些特征: 项目管理者联盟
  项目管理者联盟
  ·服务的封装(encapsulation)。将服务封装成用于业务流程的可重用组件的应用程序函数。它提供信息或简化业务数据从一个有效的、一致的状态向另一个状态的转变。封装隐藏了复杂性。服务的API保持不变,使得用户远离具体实施上的变更。 项目管理者联盟


<<上一页 1 2 3 4 5 下一页>>
项目管理者联盟PMP认证中心
[相关文章] [网友互动]
·分析变更和项目计划 (3713)魏林09-07
·应对需求变更,基实就跟谈恋爱一. (3180)项目管理者联盟04-08
·软件项目管理各环节常见问题及解. (3122)项目管理者联盟03-14
·如何进行项目范围定义和项目变更. (3348)项目管理者联盟03-01
·需求频繁变更,感觉痛不欲生!怎. (5702)项目管理者联盟10-25
·浅谈对工程变更和索赔的管理 (1261)项目管理者联盟08-31
·web项目经理手册:需求变更管理 (2067)项目管理者联盟07-26
·造成项目范围变更的三大原因 (3476)项目管理者联盟07-20

06-04[帖子] 被需求变更拖垮的项目,终于有救了 (1301)
01-09[帖子] 项目管理:项目需求变更对项目的影响分. (2155)
12-07[帖子] 客户需求频繁变更,项目经理应该怎么办 (2015)
11-10[帖子] 【分享贴】需求变更、项目延误,项目经. (7391)
06-07[帖子] 客户频繁变更需求,项目经理该如何应对. (4298)
07-05[帖子] 频繁的需求变更,让你痛苦过吗? (1377)
06-24[帖子] 为什么会出现需求变更,如何应对? (1579)
05-06[帖子] 接手政府项目,需求频繁变更,怎么办? (16934)
[发表评论]
本站热点
·从《PMBOK指南》第八版看项目经理角色
·国际项目管理奖项PMI(中国)项目管理大
· 华师大CTO学院:科创生态建设与创新项
·宏发电声江玫瑰谈PgMP:“下好一盘棋”
·PgMP:交付能力与创造未来的项目管理方
·开放讲座|《项目组合管理与PfMP认证》
·开放讲座|项目组合管理与PfMP认证
·开放讲座|PgMP:项目管理思维与方法论
·开放讲座|《项目组合管理与PfMP认证》
栏目说明
    《文库》栏目为项目管理者联盟网站核心栏目,收录了十大行业项目管理文章5000余篇,囊括了项目管理五个阶段、九个知识领域的相关文章,是广大项目管理爱好者学习的知识库,欢迎大家发表原创文章、转贴文章,或直接发给编辑。须联盟会员且登陆后才能发表文章。
敏捷项目管理ACP培训
项目管理活动
活动QQ群:531390275
免费积累PDU,仅500人

2022年项目管理活动计划
2021活动精彩回顾
原创排行榜
 项目管理评论杂志 311 高扬 106
 乔东 100 项目管理 84
 高国伟 61 人月神话 60
 张为 59 郭致星 52
 蒋昕炜 46 肖杨 38
 曾伟强 37 潘德有 36
搜索文章
关键词:
行  业:
团 队   成 本   风 险   进 度
沟 通   采 购   质 量   合 同
更多>> 专题集锦

企业项目化管理

PMO实践与应用

如何处理项目客户关系

更多:
经理访谈
更多:
个人专栏

王树文

赵春明

高国伟

更多:
项目管理者联盟特刊
联盟特刊是对网站会员发行的内部刊物,刊物内容包括:案例及分析等,得到了会员好评。
电子期刊:
特刊下载:
2017合刊  2016合刊  2015合刊 
2014合刊  2010合刊  2009合刊 
2008合刊  2004合刊  2005合刊 
2006合刊  2007合刊       
施工企业管理
《施工企业管理》创刊于1986年1月,中国施工企业管理协会主办,是反映施工企业管理杂志。
浏览往期:
建造师杂志
《建造师》杂志由清华国际工程项目管理研究院主办,是中国面向建设企业管理人的高端杂志。
浏览往期:
更多>> 推荐文章
09-02·项目集管理:构想一种不同.
08-17·项目经理“催活儿”的正确.
08-17·建筑工程项目管理中施工现.
08-17·进阶项目经理必备的复盘方.
08-17·项目管理协会PMI发布新人才
08-17·互联网大厂项目经理面试的.
08-17·项目经理要如何提高自己的.
08-17·管理改进中几个确实有用的.
08-17·项目经理提升职场能力的20.
06-14·项目经理搭建团队,需要看.
06-14·5A学员董雏:PMP取证重要,
06-14·成功管理能源项目的技巧和.
06-14·拥抱敏捷—计划发布与冲刺
06-14·从PMP到PgMP :不畏浮云遮.
06-14·这30+项目管理工具,优秀项
06-14·深度剖析项目管理五大痛点.
关于联盟 | VIP会员 | 培训服务 | PMP认证 | PgMP认证 | 刊物出版 | 沙龙会议 | 人才服务 | 广告投放 | 联系我们 | 友情链接

项目管理者联盟 版权所有 | 京ICP备10055250号-11 | 京公网安备 11010202009440号

如转载本站文章,必须于文章开头处注明转自“项目管理者联盟”,并注明原作者
PMI,Project Management Professional, OPM3, PMBOK, PMP,PgMP,PfMP,PMI-ACP,PMI-PBA
and the PMI Registered Education Provider logo are registered trademarks of the Project Management Institute, Inc.