登陆注册
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

同类推荐
  • 《21世纪大学英语》配套教材.阅读.1

    《21世纪大学英语》配套教材.阅读.1

    本系列教材是普通高等教育国家级重点教材《21世纪大学英语》的配套系列教材,包括《阅读》、《口语》和《词汇》三种,每一种分一、二、三册,供大学非英语专业的基础英语课堂教学和练习使用。《阅读》以提高学生的阅读能力为目的。第一册和第二册每册十单元。每一单元介绍一种阅读技能,并带针对性训练。各单元还配有三篇快速阅读,旨在通过反复训练以帮助学生掌握阅读技能,提高阅读速度。第三册以介绍文学名著为主,通过对各种不同文体和风格的文字进行讲解与分析,以增强学生对文学作品的欣赏能力。
  • 魅力英文ⅰ:我的世界我做主

    魅力英文ⅰ:我的世界我做主

    《魅力英文:我的世界我做主》为英汉对照典藏版。非常适合中学生、大学生及对英语学习充满热情、抱有热望的人们来了解英文欣赏英文。该书收录了百于则经典哲理美文,其内容涉及青春、爱情、理想等方面,从不同的视角阐释了人生的种种道理。在面临挑战、遭受挫折之时,《魅力英文:我的世界我做主》会给您以力量……
  • 郑和下西洋:汉英对照

    郑和下西洋:汉英对照

    1405-1433年,在欧洲大航海时代到来的半个多世纪之前,中国明代航海家郑和先后七次率领庞大的部队访问了西太平洋和印度洋沿岸的30多个国家和地区,加深了明代中国与东南亚、南亚、西亚、东非地区国家之间的友好关系,开展了规模空的经济文化交流,取得了双赢的交果。
  • 职场商务英语看这本就够

    职场商务英语看这本就够

    本书分为职场办公篇和商务篇两大部分,包含100余个模拟场景,近千个对话。场景对话只精选最常用的句型,让你学以致用,拿起就会说。职场商务英语并不可怕,只要每天学习一点本书的内容,你就会发现其实职场英语很简单。想要成为职场英语达人,本书一本到位,看这本就够了。
  • 英汉口译红皮书

    英汉口译红皮书

    没有口译员的努力,各种国际活动的沟通便难以实现。口译以其独特的魅力吸引着众多口译爱好者,也让众多业外人士非常好奇。虽然口译这个职业在中国已经存在了几十年,但国内在口译领域的相关研究依然欠缺,特别是欠缺从实践角度出发的研究。
热门推荐
  • 天行

    天行

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

    校草大大的青梅

    两个从小长大的青梅竹马,被指腹为婚,成为未婚夫妻,会发生什么?
  • 黑色盛宴

    黑色盛宴

    有些东西以正常人的眼光很难去理解,也很难给出一个客观的评价。但在某些方面,一个思维异常的人并不是神经病,也不是疯子,他只是有着一些很独特的想法。有些事你可以隐藏,可以逃避,但终有一天你迟早要面对自己内心的那份黑暗,那份黑色的盛宴。
  • 愿你有一个灿烂的前程

    愿你有一个灿烂的前程

    桃之夭夭,灼灼其华…… 霍修,你知不知道啊?我喜欢你好久了。好像是我活了多久,就喜欢了你多久。可是我不打算喜欢你了,我们之间好像差的太多了。 他曾经说“唐蓁,我也可以照顾你。”他曾经说“唐蓁,我也是你的亲人了。” 我愿你有一个灿烂的前程,就这样。
  • 天行

    天行

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

    我活了无数岁月

    开天辟地时,他被盘古称为吾弟。洪荒时,他拯救苦难的人类,曾被称为圣师。秦一统六国时,他曾被秦始皇称为仙师。大唐盛世时,他曾被唐太宗称为圣贤。他曾笑看风云起,他曾与李白共饮酒作诗,他曾与苏轼共论千古风流人物……如今,他回到了深埋在他记忆中最初的世界……(都市日常,会有超自然现象)(总的来说,这是一个活了无数岁月在都市瞎混的大佬)
  • 流年未亡.夏日未尽

    流年未亡.夏日未尽

    这里是轻小说集,欢迎各位前来阅读。在那段青春的年华里,我们有喜,有悲,有欢,有乐。那份朦胧的情脉,会被谁拿走?我们之间的情,究竟是真心付出,还是年少轻狂?流年未亡,夏日已尽。爱情的种子在我们心里生根发芽……
  • 创世剑主

    创世剑主

    华夏特种兵穿越武者世界,得到太古至宝混沌剑,练先天本源,从而踏上巅峰,横扫天下!
  • 国师他又开始作妖了

    国师他又开始作妖了

    “你为什么要救我?”“因为本国师喜欢!所以,你可要报答?”“我什么都没有!”“不还有你吗!救命之恩,以身相许就好了!”她,绝艳、清冷、孤傲,却因被人算计朝夕之间全族倾灭,被逼得开启祖神雕像坠入异界。他,冷峻、邪魅、薄凉,身份神秘强大至极,地位无比尊崇,被称作嫡仙人。当不同的文明相遇,强强相撞。为报灭族之仇,破解身份之谜,她坑他骗他利用他!他却对她情根深种,挖坑设局诱她跳!护她宠她任她闹!当阴谋再现,她一袭白衣,绝艳倾城,傲世苍穹,神挡杀神,佛挡弑佛!素手搅动风云,脚踏整片大陆。只是——这位缠着我以前相许的某国师,你可能否别再作妖了?【双强!感情身心双洁!甜宠1v1!】
  • 冷朝热冯

    冷朝热冯

    一队人马浩浩荡荡的在冰雪中前行,其中一个看上去最朴素的马车里,此刻正坐着一堆人。