咨询邮箱 咨询邮箱:service@yitianxinda.com 咨询热线 咨询热线:18101296137 微博 微信
北京软件公司在C++应用程序中的耦合,重用和维护的调查_北京软件开发公司
发表日期:2017-04-13 17:23:44    文章编辑:宜天信达    浏览次数:
北京软件公司Coupling因其对软件设计的贡献而备受好评。它可以对系统集成和维护成本产生重大影响。理想情况下,交互对象应尽可能松散地相互耦合。
 
Fyson和Boldyreff [1]认为,软件开发生命周期成本的高达80%通常在维护阶段消耗。在(a)预测各种软件过程成本(如系统集成)时,在维护期间测量类之间的耦合是重要的; (b)确定哪些预防性维护可能适用于在相互作用的类别的系统中的较佳效果;(c)评估变更对软件系统的影响 - 所谓的影响分析[2]。
 
类之间的耦合测量提供了一种预防与影响分析相关的一些问题的方法。在联轴器确定的阶段,要做出的精确的改变通常是不知道的。然而,当已经生成了变更请求时,类之间的精确耦合的知识可以通过突出应用的区域来帮助后续的影响分析过程,如果必须修改可能导致非常显着的连锁效应。
 
本研究中测量的联轴器与聚合和关联关系有关。没有考虑继承关系。Lindvall [3]已经调查了Ericsson Radio Systems对商业C ++系统的变化的性质。他的研究结果表明,在维护阶段,“阶级和继承结构是稳定的,大体上保持不变”。这个发现与我们自己的研究结果一致[4],例如,Chidamber和Kemerer [5]的继承深度(DIT)和儿童数量(NOC)度量分别只改变了两个和四个班,的114套,对于这里研究的应用,超过了2 1/2年的维护期。
 
测量内部系统耦合可以通过多种方式实现[6]。目前尚不清楚哪些方法可以提供较佳的诊断能力。据推测,较详细的耦合措施将是较好的,但是基本的Chidamber和Kemerer [5]耦合度量CBO的改进是否有任何小的改进?
 
耦合的较基本的测量方法是简单地计算给定类具有链接的其他类的数量。如果CAR 存储在 GARAGE中并由 PERSON 拥有,则假设CAR,PERSON和GARAGE是三个类,CAR将具有2的耦合值。通过此措施,了解哪些类在系统中较耦合做成
 
关于协会的方向存在一个问题:只应该将双向关联计算在内或单方向关联?这个约束在后面的论文中被删除,所以从一个类到另一个类的任何链接构成一个耦合,而不管耦合类中是否存在相互引用。在本文中,我们通过单独测量前向和后向关联来明确地考虑关联的方向。
 
Briand等人 [6]建议两类之间的耦合强度可以从两个方面确定:类之间的连接频率和类之间的连接类型。接下来,对耦合的更彻底的处理可能包括对从一类对象传递到所有与之相连的对象的不同消息的数量的分析。Li和Henry [9]的消息传递耦合(MPC)度量解决了这个问题,参考文献中提出的CCF度量也是如此。[4]并在此使用。
 
在这方面,我们还可以计算每个类别中给出的消息通过次数。在关联使用方面的进一步分析要求我们从静态到动态分析 - 为给定的执行场景测量每个消息通过的使用频率。为此,已经提出了几种动态耦合度量[10]。这些指标是测量对象耦合而不是类级耦合[11],超出了本文的范围。
 
返回到静态耦合度量,进一步细化考虑了消息传递中涉及的参数的数量和性质(无论是只读还是读写)。在C ++的情况下,如果调用“friend”函数,则会出现耦合中增加的复杂性。
 
总结了可以测量的逐渐更详细的耦合处理。因此,可以将多个级别的细化和细节添加到耦合度量。问题是:需要什么级别的细化来使耦合度量具有足够的有用的预测软件维护特性?在本文的上下文中,北京软件公司调查了在维修期为2 1/2年的应用程序变更引起的商业C ++应用程序中的波动效应。在参考文献。[12],使用了Chidamber和Kemerer CBO度量的基本实现,仅使用类连接计数。该文件的结论是,虽然CBO测量确定了较易发生变化的课程,但并没有确定那些较容易受到涟漪效应变化的课程。
 
相关文章推荐
我最近收到了一条关于 北京软件开发 外包的评论,我想分享一下: 我想知道您对软件开发公司外包项目的看法。虽然它不是离岸开发外包,但从某种意义上说,仍然是将他们的项目外...
让我们面对现实吧,伙计们!用马尔科姆的话来说,未来就是现在。然而,尽管现在70%的小型企业流量来自移动应用程序,但这些企业中只有不到四分之一真正利用了定制软件开发的巨...
作为软件开发公司的开发人员,您希望您的潜在客户,客户和合作伙伴对您的公司充满信心。您是否知道软件托管协议可以帮助将信任注入到本地或软件即服务(SaaS)应用程序的购买过...
云技术缓解了软件开发复杂性,大多数软件开发公司和软件管理人员都认为,以最小的代价按需开启和扩展资源是一项重大创新。虽然这两种产品已经渗透到各自的行业并且已经在许多...
如果您了解过北京软件公司宜天信达的软件项目中的质量保证部分,您将注意到,我们的所有软件项目估计都包含了在多个测试环节中列出的功能测试。...
北京软件公司对软件项目开发过程有一个明智的想法,可以将您的业务推向全新的水平。无论您是计划复杂的企业自动化解决方案还是简单的移动应用程序开发,所有项目都具有共同的...