软件项目中的变更及其应对
作者: 佚名
提交人: 项目管理者联盟[佚名]
属性: 提交人转载
发布时间: 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保持不变,使得用户远离具体实施上的变更。 项目管理者联盟
栏目说明
《文库》栏目为项目管理者联盟网站核心栏目,收录了十大行业项目管理文章5000余篇,囊括了项目管理五个阶段、九个知识领域的相关文章,是广大项目管理爱好者学习的知识库,欢迎大家发表原创文章、转贴文章,或直接发给编辑 。须联盟会员且登陆 后才能发表文章。
更多>> 专题集锦
企业项目化管理
PMO实践与应用
如何处理项目客户关系
更多:
---请选择更多专题---
项目经理职业生涯规划
PPP项目融资与项目管理
IT项目风险管理
工程项目成本管理
CMMI与项目管理
BT项目管理
ERP项目管理
项目经理职业生涯规划
项目管理与知识管理
项目组合管理
游戏研发项目管理
项目经理职业化
软件项目收尾管理
项目群管理
业主工程项目管理
医药研发项目管理
敏捷项目管理
项目经理领导能力培养
软件项目质量管理
研发团队绩效管理
工程项目合同管理
工程项目管理之EPC
虚拟团队管理
如何处理项目客户关系
软件项目风险管理
软件工程与项目管理
软件项目管理流程
项目管理的核心项目经理
软件外包项目管理
项目管理与企业文化
项目启动阶段的管理
企业项目化管理
手机研发项目管理
航天国防科研项目管理
企业多项目管理模式
项目融资之ppp模式
项目成本核算体系建设
组织级项目管理
项目管理绩效考核
项目管理办公室(PMO)
项目组织结构设计与选择
做好工程项目收尾工作
能源工程项目管理
基础设施建设工程管理
房地产项目管理
国际工程索赔与反索赔
工程招投标管理
建筑工程项目分包管理
项目融资模式—BOT
工程项目管理—代建制
项目管理承包PMC
如何做好项目沟通计划
工程项目之总承包管理
项目需求管理
技术人员转做项目管理
如何开好项目会议
项目经理的素质和职责
工作分解结构WBS
无处不在的项目管理
工程项目管理FIDIC
项目管理办公室(PMO)
经理访谈
更多:
--请选择更多访谈--
张富贵:PgMP不仅要正确地做事,更要做正确的事
张冰:从PMP到PgMP :不畏浮云遮望眼,提升视野有高瞻
朱华睿:PgMP助力项目收益实现,业务价值提升
龚光耀:PgMP,一场刻骨铭心的修行
戴晓梅:项目集管理是组织战略落地的最佳途径
杨菲:PgMP,项目经理迷航时的灯塔
江锦:项目集管理应理论与实践相结合,体系与流程并重
郭炜:PgMP升维项目管理的视野和格局
商侠斐:金蝶软件建筑与地产事业部高级顾
王丽娟:项目集管理的核心目标是收益最大化
张良:只有跨越鸿沟才能实现自我突破
郑婕:项目集管理要有大局观,大处着眼小处着手
李进:PgMP助力我的职业生涯更上一层楼
肖站:某研发公司高级硬件研发工程师
班学朋:某集团公司PMO高级经理
石磊:维益食品(苏州)有限公司产品主管
王琦:某集团公司产品经理
缪际星:某生物医药行业公司PMO高级AI项目经理
高瑞泽:美团点评支付平台部PMO负责人
宋娉:不断升级与绽放的玫瑰
王林:同方软银项目集经理
苏东升:北京融云PMO负责人
郭颖:天津南大通用数据智能事业部PMO
侯飞冰:某知名消费金融公司PMO执行总监
王艳琼:中兴通讯营销项目管理总监 杨艳玲:安胜(天津)公司项目经理
郑昊:Modix中国区总经理
谢少斐:先声药业研究院项目管理部总监
胡向辉:飞利浦中国数字创新中心高级研发经理
张梅:江苏铁锚集团项目副总
黄红军:特变电工项目总监
黄怡琴:贝朗爱敦(上海)高级商务经理
黄春阳:哈电股份高级项目集经理
熊涛:新拓尼克(成都)公司大客户经理
褚娜:杜邦公司可持续解决方案事业部总监
刘黔龙:中兴通讯全球交付PMO首席项目管理总监
李莹:北京蓝吉新能源综合管理部主管
张明:罗克韦尔高级项目经理
中船三井总经理办公室公司级项目经理 朱碧霄
杰瑞油气工程集团副总裁JAMES谈项目组合管理
PgMP俞雷:费森尤斯医药全球研发中心项目总监
PgMP梅金钟:中元金信金融PMO业务副总裁
宣晓锋:访项目管理者联盟创始人
张建才:东软集团项目管理资深顾问
张明军:国际高级项目经理PgMP
靳朝阳:美国艾默生中国天然气业务PMO总监
杨朋艳:PMP学习经历与感受
张泽晨:PMP学习之旅
胡喻:IP衍生品高级产品经理
郑双华:利得金融服务集团项目总监
代先生 某高新技术企业项目经理
陈晨 北京众标公司产品经理
姜鹏 卓越集团国际高级项目经理
王作琪 PMP学习经历与感受
王善民 首批国际产品经理
王焘 宝峨机械产品经理
叶景发 京东高级项目经理
陈正洪:项目管理者联盟高级顾问及首批认证PgMP培训师
龚毅红:跨文化跨地域的项目团队建设的实践感悟
林侃:项目集管理提高项目成功率
刘颖:慧与(中国)有限公司项目集经理
党新宁:国际项目组合经理PfMP获得者
李京基:百硕同兴项目咨询总监
高志兴:极客三个爸爸智能环境科技公司副总裁
张会斌:高远华信科技有限公司总经理
谢志杰:产品管理首席顾问
利镇有:跨国实业投资集团项目总监/高级顾问
高屹:项目管理者联盟研究院高屹副院长
马旭晨:中国项目管理研究院副院长
乔东:金融IT系统项目管理专家
高国伟:中国移动通信研究院产品管理经理
郭富才:深圳汉捷研发管理咨询公司副总经理
赖一飞:武汉大学经济与管理学院副教授
蒋卫平:复杂工程项目管理
檀爱民:先声药物
林志国:高阳科技
隋继周:中智慧聚
陈永涛:PMI
刘文圣:久其软件
马健锋:易和元通
包晓春:普华科技
郑杰:外专局
潘东:神州数码
苗云升:中国电子
王守清:清华大学
陈信祥 薛 岩
赵春明: 复斯管理
陈芳: 神州数码
孔争昕 :上海奔驰
吴年发 :中国寰球
张大鹏:神州数码
林森:天津辰达工程.
高学武:中国石化.
李福和:上海攀成德.
武晔卿:瑞迪航科技.
孙磊:上海锐科无线.
潘津平:天津天士力.
蔡培堃??????.
曹蕾:第29届奥组委.
卢有杰:清华大学建.
石海东:北京视锐达.
崔惠钦:中国建筑工.
刘毛华:制造业项目.
占文松:制造业项目.
许江林:项目管理者.
符志民:中国航天科.
关一卓:中油吉林化.
王宇红:HP项目管理.
丁昌银:广州市建筑.
席相霖:中国科学院.
洪布坤:上海普华科.
丁荣贵:山东大学管.
侯岚:德创赛思工程.
王宇:英国格利资工.
曹德成:清华大学建.
李大明:英国WSP集.
李卫星:项目管理专.
王爱华:北京广联达.
何磊:神龙汽车有限.
陈虔:项目管理专家
曹济:项目管理专家
刘大双:项目管理软.
王树文:华南资讯科.
王守清:清华大学教.
吴之明:北京中科项.
卢毅访谈:合力金桥.
钱福培:国际项目管.
赵巍:神州数码中国.
王景山:制造业项目.
吴建中:西气东输工.
潘东:神州数码金融.
陈奕雍:游戏项目管.
刘景梅:朗讯公司项.
周小桥:项目管理专.
陈和兰:项目管理高.
黄绍良:项目管理专.
甄进明:项目管理专.
个人专栏
更多:
---请选择更多会员---
联盟会员专栏—朱华睿
联盟会员专栏—涂斌
联盟会员专栏—李志安
联盟会员专栏—程兴勇
联盟会员专栏—谢二菊
联盟会员专栏—张建才
联盟会员专栏—路仲滨
联盟会员专栏—尹义法
联盟会员专栏—Lily
联盟会员专栏—马琛
联盟会员专栏—肖杨
联盟会员专栏—高国伟
联盟会员专栏—张鲁峰
联盟会员专栏—张为
联盟会员专栏—高屹
联盟会员专栏—车飞扬
联盟会员专栏—高茂源
联盟会员专栏—戚安邦
联盟会员专栏—宋学军
联盟会员专栏—张志坚
联盟会员专栏—杨铭伟
联盟会员专栏—杨立东
联盟会员专栏—曹济
联盟会员专栏—丁荣贵
联盟会员专栏—侯利军
联盟会员专栏—刘羚
联盟会员专栏—齐保良
联盟会员专栏—周炳学
联盟会员专栏—周劲松
联盟会员专栏—王凌宇
联盟会员专栏—蒋昕炜
联盟会员专栏—贾宗元
联盟会员专栏—张保军
联盟会员专栏—高扬
联盟会员专栏—司馥声
联盟会员专栏—郑德辉
联盟会员专栏—潘东
联盟会员专栏—冷力强
联盟会员专栏—潘德有
联盟会员专栏—蒋卫平
联盟会员专栏—王志远
联盟会员专栏—赵玫梅
联盟会员专栏—郭致星
联盟会员专栏—孙晓枚
联盟会员专栏—濮立松
联盟会员专栏—张雪峰
联盟会员专栏—张连永
联盟会员专栏—吴党明
联盟会员专栏—于学勇
联盟高级顾问—吴之明
联盟高级顾问—强茂山
联盟高级顾问—蔚林巍
联盟高级顾问—乔 东
联盟高级顾问—杨光清
联盟高级顾问—黄绍良
联盟高级顾问—徐成彬
联盟高级顾问—熊培霖
联盟高级顾问—王景山
联盟高级顾问—陈和兰
联盟高级顾问—黄萌凌
联盟高级顾问—何 丰
联盟高级顾问—刘大双
联盟高级顾问—袁月建
联盟高级顾问—郑文彬
联盟高级顾问—周小桥
联盟高级顾问—甄进明
联盟高级顾问—胡允清
联盟高级顾问—沈 音
联盟高级顾问—许江林
联盟高级顾问—刘景梅
联盟高级顾问—卢 毅
联盟高级顾问—石海东
联盟高级顾问—侯利军
联盟高级顾问—黄堰江
联盟高级顾问—周坤坪
联盟高级顾问—李子健
联盟高级顾问—徐 非
联盟高级顾问—李大明
联盟高级顾问—马正肖
联盟高级顾问—郑承满
联盟高级顾问—孙爱军
联盟高级顾问—吴 超
联盟高级顾问—杜寿兴
联盟高级顾问—胡云峰
联盟顾问—人月神话
联盟高级顾问—王树文
联盟高级顾问—耿岚岚
联盟高级顾问—孙 武
联盟高级顾问—赵春明
联盟高级顾问—商蓉蓉
联盟高级顾问—刘 睿
联盟高级顾问—白思俊
联盟会员专栏—郭远刚
项目管理者联盟特刊
联盟特刊是对网站会员发行的内部刊物,刊物内容包括:案例及分析等,得到了会员好评。
电子期刊:
---请选择---
2017年01月
2016年11月
2016年09月
2016年07月
2016年05月
2016年03月
2016年01月
2015年11月
2015年09月
2015年07月
2015年05月
2015年03月
2015年01月
2014年08月
2014年06月
2014年04月
2014年01月
2013年12月
2010年10月
2010年09月
2010年08月
2010年07月
2010年06月
2010年05月
2010年04月
2010年03月
2010年02月
2010年01月
2009年12月
2009年11月
2009年10月
2009年09月
2009年08月
2009年07月
2009年06月
2009年02月
2009年01月
2008年12月
2008年11月
2008年10月
2008年09月
2008年08月
2008年07月
2008年06月
2008年05月
2008年04月
2008年03月
2008年02月
2008年01月
2007年12月
2007年11月
2007年10月
2007年09月
2007年08月
2007年07月
2007年06月
2007年05月
2007年04月
2007年03月
2007年02月
2007年01月
2006年12月
2006年11月
2006年10月
2006年09月
2006年08月
2006年07月
2006年06月
2006年05月
2006年04月
2006年03月
2006年02月
2006年01月
2005年12月
2005年11月
2005年10月
2005年09月
2005年08月
2005年07月
2005年06月
2005年05月
2005年04月
2005年03月
2005年02月
2004年11月
2004年10月
2004年09月
2004年08月
2004年07月
2004年06月
2004年05月
特刊下载:
---请选择---
13年01-03月
12年04-06月
11年07-09月
10年10-12月
10年04-06月
09年07-09月
09年01-03月
08年10-12月
08年07-09月
08年04-06月
08年01-03月
07年10-12月
07年07-09月
07年04-06月
07年01-03月
06年10-12月
06年07-09月
05年特刊
02年04-06月
02年10-12月
02年1-7合集
2017合刊
2016合刊
2015合刊
2014合刊
2010合刊
2009合刊
2008合刊
2004合刊
2005合刊
2006合刊
2007合刊
施工企业管理
《施工企业管理》创刊于1986年1月,中国施工企业管理协会主办,是反映施工企业管理杂志。
浏览往期:
---请选择---
2013年04月刊
2011年10月刊
2011年09月刊
2011年08月刊
2011年07月刊
2011年06月刊
2011年05月刊
2011年04月刊
2011年03月刊
2011年02月刊
2011年01月刊
2010年12月刊
2010年11月刊
2010年10月刊
2010年09月刊
2010年08月刊
2010年07月刊
2010年06月刊
2010年05月刊
2010年04月刊
2010年03月刊
2010年02月刊
2010年01月刊
2009年12月刊
2009年11月刊
2009年10月刊
2009年09月刊
2009年08月刊
2009年07月刊
2009年06月刊
2009年05月刊
2009年04月刊
2009年03月刊
2009年02月刊
2009年01月刊
2008年12月刊
2008年11月刊
2008年10月刊
2008年09月刊
2008年08月刊
2008年07月刊
2008年06月刊
2008年05月刊
2008年04月刊
2008年03月刊
2008年02月刊
2008年01月刊
2007年12月刊
2007年11月刊
2007年10月刊
2007年09月刊
2007年08月刊
2007年07月刊
2007年06月刊
2007年05月刊
2007年04月刊
2007年03月刊
2007年02月刊
2007年01月刊
2006年12月刊
2006年11月刊
2006年10月刊
2006年09月刊
2006年08月刊
2006年07月刊
2006年06月刊
2006年05月刊
2006年04月刊
2006年03月刊
2006年02月刊
2006年01月刊
2005年12月刊
2005年11月刊
2005年10月刊
建造师杂志
《建造师》杂志由清华国际工程项目管理研究院主办,是中国面向建设企业管理人的高端杂志。
浏览往期:
---请选择---
2011年04月刊
2011年03月刊
2011年02月刊
2011年01月刊
2010年11月刊
2010年09月刊
2010年07月刊
2010年05月刊
2010年03月刊
2010年01月刊
2009年11月刊
2009年10月刊
2009年09月刊
2009年08月刊
2009年07月刊
2009年06月刊
2009年05月刊
2009年04月刊
2009年03月刊
2009年02月刊
2009年01月刊
2008年12月刊
2008年11月刊
2008年10月刊
2008年09月刊
2008年08月刊
2008年07月刊
2006年12月刊
2006年11月刊
2006年10月刊
2006年09月刊
2006年08月刊
2006年07月刊
2006年06月刊