登陆注册
27082000000036

第36章 Software Engineering(6)

Analysis activities during software maintenance involve understanding the scope and effect of a desired change, as well as the constraints on ****** the change. Design during maintenance involves redesigning the product to incorporate the desired changes. The changes must then be implemented, internal documentation of the code must be updated, and new test cases must be designed to assess the adequacy of the modification. Also, the supporting documents (requirements, design specifications, test plan, principles of operation, user’s manual, cross reference directories, etc.) must be updated to reflect the changes. Updated versions of the software (code and supporting documents) must then be distributed to various customer sites, and configuration control records for each site must be updated.

All of these tasks must be accomplished using a systematic, orderly approach to tracking and analysis of change requests, and careful redesign, reimplementation, revalidation, and documentation of the changes. Otherwise, the software product will quickly degrade as a result of the maintenance process. It is not unusual for a well designed, properly implemented, and adequately documented initial version of a software product to become un-maintainable due to inadequate maintenance procedures. This can result in situations in which it becomes easier and less expensive to implement a module or subsystem than to modify the existing version. Software maintenance activities must not destroy the maintainability of software. A small change in the source code often requires extensive changes to the test suite and the supporting documents. Failure to recognize the true cost of a “small change” in the source code is one of the most significant problems in software maintenance.

【Vocabulary】

enhancement

n. 增进,增加

revalidation

n. 重新生效,重具法律效力

adaptation

n. 适应,改编,改写

telecommunication

n. 电信,无线电通信

documentation

n. 文件

maintainable

adj. 可维持的,主张的

implement

vt. 贯彻,实现,执行

scheduled

adj. 预定的

periodic

n. 定期的,周期的

evolution

n. 进展,发展,演变,演化

primary

adj. 主要的,初步的,初级的

modularity

n. 模块性

rein

n. 统治,支配,驾驭

microcosm

n. 微观世界

potentially

adv. 潜在地

redesign

v. 重新设计

configuration

n. 构造,结构,外形

reimplementation

n. 执行

initial

adj. 最初的,初始的,词首的

rule of thumb

经验法则

life-cycle

生命周期

【参考译文】

软件维护

“软件维护”这个术语用来描述在软件产品交付给用户以后所进行的软件工程活动。软件生存周期维护阶段是指软件产品完成有效工作的时间段。典型的情形是:一个软件产品的开发周期持续1年或2年,但是它的维护阶段却要历时5到10年。

维护活动包含增强软件产品、调整软件产品以适应新的环境和纠正软件中的问题。软件产品增强可以包含:提供新的功能,改进用户显示和交互模式,升级外部文档和内部文件说明,或是升级系统的性能指标。软件对新环境的适应可以包括把软件移植到不同的机器,或者修改软件以适应于新的远程通信协议或添加的磁盘驱动器。问题的纠正包括修改和重新确认软件以纠正错误。有些错误需要立即采取措施,有些则可按照计划定期进行纠正,而另一些错误虽然已经测知但是却从未作纠正。

维护活动在整个生存周期的预算中占有很大的比例是公认的。它通常占软件生存周期费用的70%(而软件开发费用只占30%)。按一般经验法则,软件维护预算分配比例为:用于功能增强的占60%,适应新环境和纠错各占20%。

如果维护要花费某一个软件产品整个生存周期的70%,而维护费用的60%用于此产品的功能增强,那么产品功能增强要占产品整个生存周期的42%。很明显,据此观点产品在开发周期结束时交给用户的仅仅是系统的最初版本。有一些作者已经建议比较合适的软件生存周期模型应该是开发→进化→进化→进化……

据此观点可见,软件开发的主要目标是生产可维护的软件系统产品。像所有高层质量属性一样,可维护性可用包含在产品内部的属性来表达。影响软件可维护性的主要产品属性有清晰度、模块性、良好的内部源代码文档说明以及适当的支持文档。

软件维护是软件开发周期的缩影。软件的功能增强和适应使开发重新回到分析阶段,而软件纠错可使开发周期回到分析阶段、设计阶段或实现阶段。因此,所有用于开发软件的工具和技术对于软件维护都具有潜在的用途。

软件维护的分析活动包括理解所希望做的更改的范围和影响,以及对所做的更改的限制条件。维护阶段的设计包括根据想做的更改来重新设计产品,然后必须实现更改,代码的内部文档说明必须更新,必须设计新的测试案例来评估修改的恰当性。还必须更新支持文档(需求、设计规格说明、测试计划、操作原理、用户手册、交叉参考目录等)来反映所做的修改。更新后的软件版本(代码和支持文档)必须分发到各个用户站点,各站点的配置控制记录必须更新。

所有这些任务都必须通过系统的,有条理的方法去跟踪和分析更改要求,仔细地重新设计、重新实现、重新确认和重新对所作更改编制文档来完成。否则,软件产品将因为维护过程而很快降级。常常有设计良好、实现合理和有合适文档的初版产品因为不恰当的维护过程而变得不可维护,这会导致重新实现一个模块或子系统比修改已经存在的版本更容易和花费更少。软件维护活动一定不要损坏软件的可维护性。源代码中的一个细微更改往往需要测试套件和支撑文档做大规模的变动。因为忽视源代码中所谓“小的变动”而付出代价是软件维护中最重大的问题之一。

【Reading Material】

Manage Requirements

What is Requirements Management?

Requirements management is a systematic approach to finding, documenting, organizing and tracking the changing requirements of a system.

We define a requirement as:

A condition or capability to which the system must conform. Our formal definition of requirements management is that it is a systematic approach to eliciting, organizing, and documenting the requirements of the system, and establishing and maintaining agreement between the customer and the project team on the changing requirements of the system.

Keys to effective requirements management include maintaining a clear statement of the requirements, along with applicable attributes and traceability to other requirements and other project artifacts.

In real projects, you will run into difficulties because:

Requirements are not always obvious, and can come from many sources.

Requirements are not always easy to express clearly in words.r

There are many different types of requirements at different levels of detail.

The number of requirements can become unmanageable if not controlled.

Requirements are related to one another and also to other deliverables ofthe software engineering process.l

Requirements have unique properties or property values.

Requirements change.

So, we have learned that the following skills are important to master:

Problem analysis

同类推荐
  • 英语PARTY——美文剪辑

    英语PARTY——美文剪辑

    本套书籍带你领略英语世界风景,感悟英语学习氛围,有助于英语学习。
  • 社会交往英语口语即学即用

    社会交往英语口语即学即用

    取材于人们所从事的社交活动的方方面面,范围广、实用性强。共包括7个部分:社交惯用语、家庭交往、社会生活、电话交往、商务交往、出行交往和社交语气。希望该书对具有中低层次英语水平的读者提高英语口语水平有所帮助。
  • CraftworksofChina

    CraftworksofChina

    ThefolkhandicraftartsofChinaareanimportantpartofancientChinesecultureandarts.Theyarecharacterizedbylonghistory,wide-rangingelements,manyvarieties,anduniquestyles.
  • 澳大利亚学生文学读本(第4册)

    澳大利亚学生文学读本(第4册)

    从最简单入门的英语句式、拼写与发音开始,并且附有大量插图,通过趣味而有教育意义的故事,引发孩子们学习语言的兴趣;并向规范、美丽的文学作品过渡,让孩子们掌握语言的艺术,感受本国的人文历史。是中国学生学习英语、全面了解西方社会的很好途径。
  • 硝烟中的黑虎

    硝烟中的黑虎

    读者朋友,可以从这些有趣的小故事中,看到动物世界的奇异景象。看到它们的生活习性,它们的生存竞争,它们的神奇本领。看到动物的千姿百态和动物与动物之间,动物与自然之间,动物与人类之间的种种复杂关系,而且还能从这些故事中找到勤劳、善良、友谊,智慧,勇猛等等美好的词汇。
热门推荐
  • 田园蜜宠:夫人好厉害

    田园蜜宠:夫人好厉害

    戏精女主X看透不说透男主(身心干净1v1)穿越前,李梨儿是时尚的宠儿,是娱乐圈顺风顺水的流量小花旦,是行走的人民币,更是实力派演员!能吃是她的特长,花钱是她的本能,挥霍那是兄弟义气。穿越后,她成了家破人亡流浪在外的小孤女,家徒四壁,要吃没吃,要穿没穿,衣衫破旧,夫君不喜,这可要了她的老命,回不去了怎么办,还想继续挥金如土怎么办,只有撸起袖子就是干。先吃饱了后温暖,青楼老鸨叫老大,戏楼掌柜称大家,习得鲁班传世技,日子过得美滋滋。只是,男人,你天天闻着我说‘真香’真的好吗?口嫌体正直是种病,老娘知道你早就身不由己了。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 逗比小冤家

    逗比小冤家

    此作品对三观有严格要求的童孩们,具有1000点伤害,慎入~~~~~~“床前明月光,撒了一碗汤,举头拿毛巾,低头擦裤裆。”白衣胜雪,潇洒不羁,一位年轻公子对日高吟,白色纸扇在胸前轻轻拍打。“好,好。”身后忽至一妙龄女子,声若黄莺出谷,清脆俏皮:“这位公子,你真是太~~有才了!”“呵呵……小姐谬赞了……”白衣公子缓缓转身,原本得意的脸上一秒钟转成菜色:“刘沐诗!怎么是你!”
  • 东珠,加油!

    东珠,加油!

    前来恬不知耻地把我六年前一直没有更新完的小说奉上,终于决定为我的处女作画上一个完美的句号,哪怕再也写不出这么清纯的作品。无论我们怎么去隐藏心中的痛,都会发现其实亮丽的外表下,受伤的心永远不会变。没见过蔚蓝的天,也永远不知道奔跑在草原上微笑的孩子的脸。但总会有点燃某种悸动的火焰,从那个我们从未到过的地方传递过来,支持着我们勇敢地走下去。
  • 杠上帅帅冷王爷

    杠上帅帅冷王爷

    有着一个富豪老爸,跳伞居然穿越?…还遇上杠精王爷?
  • 穿越之公主千岁

    穿越之公主千岁

    凤阳国三公主,无才无德,成为国耻,本是嫡女,奈何皇后去世,三公主变成了所有公主皇子欺辱的对象。皇宫聚会,三公主却意外坠湖,本以为早已气绝身亡,怎知再挣眼,会有怎样的风华?看三公主如何致富保家卫国,谁说女子不如男,女子亦可上战场,亦可做经商。
  • 碧苑坛经

    碧苑坛经

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。
  • 成神从泉水指挥官开始

    成神从泉水指挥官开始

    林凡穿越了,而且穿越到了前辈穿越者龙傲天的身上!不过悲剧的是,龙傲天已经成为了一堆骨灰……
  • 欣谣修仙

    欣谣修仙

    一觉醒来,李欣谣发现自己穿越了!有护短的师傅宠着,有腹黑霸道的男主护着,还有各式各样美男围绕着……不,不,不,错,错,错。那都是女主才有的福利。而自己不过是被白眼狼算计的炮灰女配……不过不怕本女配照样也能飞升上界……(无男主,无CP)
  • 武林高手异界游

    武林高手异界游

    前世依靠逆天功法吸功大法而成为武林绝顶高手,今世魂穿异界一家族废物少爷之身。各种凶险、机遇接踵而至,为何他会成为应运之子,为何会有一双幕后黑手在背后操纵一切……