[译]OOSE第4章:面向对象系统的研发 4.6 总结

4.6 Summary

4总结

The development of qualitative software systems should be carried out using a development method. Different methods focus on different quality properties. Additionally, different models have been proposed to describe the development, the most common by far being the waterfall model. Most developments, however, have an iterative nature.

为了保障设计高质量的软件就必须应用好的开发方法。不同的开发方法侧重于不同质量要求。此外,不同的模型也用于建议系统的开发过程,其中最通用的是瀑布模型。大多数开发过程,具有迭代开发的特性。

Traditional methods treat functions and data as separate. Such an approach often leads to problems during maintenance since a function/data structure is quite sensitive to changes. Object-oriented methods do not separate functions and data, but view them as an integrated whole.

传统的开发方法中,数据和功能是分离的。这种设计方法会会在后期的维护中带来很多问题,应为系统的变更会对function/data带来巨大的影响。面向对象方法不分离数据和功能,而把他们看作是一个整体。

Object-oriented analysis aims at understanding the system to be developed and building a logical model of the system. This model is based on natural objects found in the problem domain. The objects hold data and have behavior in terms of which the entire system behavior can be expressed. Since objects in the problem domain will be stable, the overall structure of the system will normally be quite stable. Changes will of course occur but, since changes often come from the domain, it is hoped that these changes should be local and affect as few objects as possible.

面向对象的分析的过程定位在对系统进行完整的理解,并为系统设计出一个可以用于开发的逻辑结构。这个模型是基于从问题领域提炼的自然对象。这些对象拥有数据和行为,其中这些行为可以表征整个系统的行为。因为从领域模型中提炼的对象非常稳定,所以整个系统的结构会保持的比较稳定。后续的变更通常是不可避免,但是因为变更通常来自领域模型,所以这些变更往往是本地的,而且仅仅影响少量的对象。。

The design and implementation of the analysis model is Straightforward. The aim is to keep the logical structure of the analysis model in the final system. Thus an important characteristic of object-oriented development is to have built-in traceability. An object identified during analysis must be found again in the code so that the system is durable to easy modifications.

 从分析模型到设计和实施过程通常直接。这个时候的目标就是尽可能的把分析模型中提炼的逻辑结构尽可能的保持到目标系统中。这就是面向对象系统的一个重要的特种,也就是内在的可追踪性。在分析模型中出现的一个对象,在代码中会再次发现,这样系统在生命周期中会非常容易变更。

Testing of object-oriented systems does not substantially differ from testing other kinds of systems. The main differences are that the integration testing does not come as a 'big bang' event, but is done throughout the development. Although inheritance often leads to less code, it must not also lead to less testing - quite the opposite. Inheritance hierarchies may lead to more exhaustive testing whereby each inherited operation must be tested in each descendant class.

面向对象的系统的测试和其他方法开发的系统测试没有明显的区别。主要的区别是在于,在集成测试阶段,面向对象的测试会更加平缓,他把部分工作前移到单元测试阶段。理论上说,继承的特性会带来更少的代码,但是会带来更多的测试,因为在层次化的结构中,每个后裔类都必须完备的对接口进行测试。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值