口杯是什么意思| 肾结石术后吃什么食物最好| 月经为什么是黑色的| 挖坑是什么意思| 生意兴隆是什么意思| barry是什么意思| 吃什么对心脏好改善供血不足| 感情洁癖什么意思| 小奶猫吃什么| 少田宅痣是什么意思| 两个大于号是什么车| 属蛇是什么命| 豆芽菜是什么意思| 什么是脱肛| 收录是什么意思| 拔完智齿后需要注意什么| 屁特别多是什么原因| 肝喜欢什么食物有哪些| 指甲黑线是什么原因| 维生素b有什么功效| 牡蛎是什么东西| 血脂稠吃什么食物好| 三维b片主治什么病| 掉头发吃什么恢复最快| 盆腔炎用什么药好| 小孩摇头是什么原因| 如你所愿是什么意思| 喝劲酒有什么好处| 塞飞洛是什么档次的包| 杭州有什么好玩的地方| 立加羽读什么| 天空是什么颜色| 双龙戏珠是什么生肖| 一直打哈欠是什么原因| 贫血打什么针效果最好| 517是什么星座| 小孩经常流鼻血是什么原因| 10月份是什么星座的| pt指什么| 什么情况要割包皮| 粉色裤子配什么上衣好看| pgr是什么意思| 料油是什么油| 叫嚣是什么意思| 梦见把头发剪短了是什么意思| 高烧后拉稀说明什么| 六味地黄丸适合什么人吃| 香港什么东西值得买| 膀胱炎什么症状| 什么叫滑精| 被鬼缠身有什么症状| 绿得什么| 化验肝功挂什么科| 碧玺是什么材质| 肾寒吃什么中成药| 自求多福什么意思| 男人是什么| 睡觉为什么会流口水| 第二个手指叫什么| 为什么总是想吐| 前列腺炎吃什么食物好| 晚上尿多什么原因| 骨密度是检查什么的| 什么来什么去的四字词语| 眼睛痛是什么原因| 什么的腊梅| 口臭是什么原因造成的| 湿度大对人体有什么影响| 核磁dwi是什么意思| 庚金是什么意思| 仲字五行属什么| 肌酐高是什么引起的| 部长是什么级别| 内鬼是什么意思| 生肖鼠和什么生肖相冲| 孔雀的尾巴像什么| 湿气重吃什么中成药| 惟字五行属什么| 今年二十岁属什么生肖| 2000年龙是什么命| 守株待兔是什么意思| 胸疼什么原因| 热射病是什么原因引起的| 手心脚心热吃什么药| 游泳是什么运动| 问羊知马是什么生肖| 什么眼霜比较好用| 什么降血糖| 六月飞雪是什么意思| 96100是什么电话| 肾炎的症状是什么| 小柴胡颗粒治什么病| 黑苦荞茶适合什么人喝| 净字五行属什么| 孩子吃什么能长高| 脑供血不足吃什么中成药| 八字伏吟是什么意思| 好好的什么意思| 打升白针有什么副作用| 为什么会乳糖不耐受| 酒店五行属什么| 脚上起水泡是什么原因| 美国什么时候建国的| 金银花洗澡对婴儿有什么好处| 刚刚邹城出什么大事了| wbc白细胞高是什么原因| 入户口需要什么资料| 棕色配什么颜色| 狗癣用什么药最有效| 瓜子脸剪什么发型好看| 什么是周岁| 一步之遥是什么意思| 皲裂什么意思| 脖子出汗是什么原因| 夹腿是什么意思| 影射是什么意思| 7月15是什么星座| 裤子前浪后浪是什么| 什么花走着开| 脾虚湿气重吃什么好| 股骨头坏死吃什么药| 尿液弱阳性什么意思| 切克闹是什么意思| 请自重是什么意思| 老是干咳什么原因| kg是什么单位| 血压突然升高是什么原因| 聊表心意什么意思| 向日葵花语是什么| 十全十美指什么生肖| 肤色暗黄适合穿什么颜色的衣服| bace是什么意思| 人流后能吃什么水果| 什么的饭菜| 4月23日什么星座| 涟漪什么意思| 生理期提前是什么原因| 扁桃体结石有什么危害| 白术是什么样子的图片| 圆周率是什么意思| 丑未相冲的结果是什么| 胸口出汗是什么原因| 红颜知己代表什么关系| 云南白药里的保险子有什么作用| 血糖偏高吃什么水果好| 牛肉汤配什么菜好吃| it是什么意思| 睡久了头疼是什么原因| 点状钙化灶是什么意思| 康熙的儿子叫什么| 乳腺癌的症状是什么| 打鸟是什么意思| 汗血宝马什么意思| 柏拉图爱情是什么意思| opv是什么疫苗| 40而不惑是什么意思| 莲子有什么作用| 表象是什么意思| 女人做梦梦到蛇是什么意思| 一个草字头一个氏念什么| 鸭屎香是什么茶| 下一个台风什么时候来| 小便绿色是什么原因| 南瓜可以做什么美食| 慎独是什么意思| 嗓子痒干咳是什么原因| 香港身份证有什么好处| 蚕豆是什么豆| 2028年属什么生肖| 为什么可乐能溶解鱼刺| 笨和蠢有什么区别| lst是什么意思| 烧仙草是什么做的| 火影忍者什么时候出的| 县委书记属于什么级别| 痔疮瘙痒用什么药| gdp是什么意思啊| 梦见和妈妈吵架是什么意思| 右眼老跳是什么原因| 洋葱炒什么菜好吃| 弱视是什么| 磨牙齿有什么方法可以治| 睾丸积液吃什么药| 朝什么暮什么| 骨癌的前兆是什么症状| 鹅口疮是什么原因引起的| 双侧附睾头囊肿是什么意思| 早上左眼跳是什么预兆| 什么叫流产| 中线是什么| twins什么意思| 人心叵测是什么意思| 未退化胸腺是什么意思| 杨梅酒有什么功效| 牙酸是什么原因| 拉肚子吃什么好得快| 双子座和什么星座最不配| 不怕流氓什么就怕流氓有文化| 肝的作用和功能是什么| 药流用什么药| 孕晚期呕吐是什么原因| 百步穿杨是什么意思| 三无产品是指什么| 向日葵代表什么生肖| 早晨5点是什么时辰| 韩束属于什么档次| 新生儿溶血是什么意思| 走路有什么好处及功效| 为什么会得肠胃炎| 养殖业什么最赚钱农村| 包租婆是什么意思| 勃起困难是什么原因造成的| 肠胃不好吃什么菜比较好| 0代表什么意思| 脚气挂什么科室| 乌龟肺炎用什么药| 胃胀不消化吃什么药| 右手中指发麻是什么原因| 支气管炎是什么原因引起的| 鸡蛋黄发红是什么原因| 部队指导员是什么级别| 高什么亮什么成语| 一度房室传导阻滞是什么意思| 小朋友眼袋很重是什么原因| 心脏支架是什么材料做的| 牛尾炖什么最好| 嘴唇干燥是什么原因引起的| 智商120是什么水平| 发烧一直不退是什么原因| 炒熟的黑豆有什么功效| 口腔脱皮是什么原因引起的| 右手小拇指发麻是什么原因| 肺热吃什么药| 心烦意乱是什么意思| 痔疮嵌顿是什么意思| 1924年属什么| 痛风什么不能吃| 儿童诺如病毒吃什么药| 雄激素是什么| 什么减肥最好最快| 美味佳肴是什么意思| 兔日冲鸡什么意思| 星星为什么会眨眼| 血糖高吃什么好能降糖| 树欲静而风不止是什么意思| 属猪的本命佛是什么佛| 三高挂号挂什么科| 熬夜吃什么保健品| 中耳炎是什么症状| 尿血是什么病的征兆| 肾结石可以吃什么水果| 胡萝卜是什么颜色| 坐骨神经痛有什么症状| 后背疼是什么原因引起的女性| 压床娃娃有什么讲究吗| 滴水观音叶子发黄是什么原因| 长脸适合什么眉形| 什么东西有头无脚| 楷字五行属什么| 甘是什么味道| 补白蛋白吃什么食物最快最好| 蛋白质被消化成什么| 芊芊学子是什么意思| 嘴唇上长痣代表什么| 百度Jump to content

市政协:“五星级服务”标准高 纪律要求“不松绑”

From Wikipedia, the free encyclopedia
百度 “根据党中央和国务院要求,一流学科建设必须扎根中国大地,面向国家重大战略需求,面向经济社会发展主战场,以支撑创新驱动发展战略、服务经济社会发展为导向,不断提升我国高等教育综合实力和国际竞争力。

Software evolution is the continual development of a piece of software after its initial release to address changing stakeholder and/or market requirements. Software evolution is important because organizations invest large amounts of money in their software and are completely dependent on this software. Software evolution helps software adapt to changing businesses requirements, fix defects, and integrate with other changing systems in a software system environment.

General introduction

[edit]

Fred Brooks, in his key book The Mythical Man-Month,[1] states that over 90% of the costs of a typical system arise in the maintenance phase, and that any successful piece of software will inevitably be maintained.

In fact, Agile methods stem from maintenance-like activities in and around web based technologies, where the bulk of the capability comes from frameworks and standards.[citation needed]

Software maintenance addresses bug fixes and minor enhancements, while software evolution focuses on adaptation and migration.

Software technologies will continue to develop. These changes will require new laws and theories to be created and justified. Some models as well would require additional aspects in developing future programs. Innovations and improvements do increase unexpected form of software development. The maintenance issues also would probably change as to adapt to the evolution of the future software. Software processes are themselves evolving, after going through learning and refinements, it is always improve their efficiency and effectiveness.[2]

Basic concepts

[edit]

The need for software evolution comes from the fact that no one is able to predict how user requirements will evolve a priori .[3] In other words, the existing systems are never complete and continue to evolve.[4] As they evolve, the complexity of the systems will grow unless there is a better solution available to solve these issues. The main objectives of software evolution are ensuring functional relevance, reliability and flexibility of the system. Software evolution can be fully manual (based on changes by software engineers), partially automated (e.g. using refactoring tools) or fully automated.

Software evolution has been greatly impacted by the Internet:

  • the rapid growth of World Wide Web and Internet Resources make it easier for users and engineers to find related information.
  • open source development where anybody could download the source codes and hence modify it has enabled fast and parallel evolution (through forks).

Types of software maintenance

[edit]

E.B. Swanson initially identified the three categories of maintenance: corrective, adaptive, and perfective. Four categories of software were then catalogued by Lientz and Swanson (1980).[5] These have since been updated and normalized internationally in the ISO/IEC 14764:2006:[6]

  • Corrective maintenance: Reactive modification of a software product performed after delivery to correct discovered problems;
  • Adaptive maintenance: Modification of a software product performed after delivery to keep a software product usable in a changed or changing environment;
  • Perfective maintenance: Modification of a software product after delivery to improve performance or maintainability;
  • Preventive maintenance: Modification of a software product after delivery to detect and correct latent faults in the software product before they become effective faults.

All of the preceding take place when there is a known requirement for change.

Although these categories were supplemented by many authors like Warren et al. (1999)[7] and Chapin (2001),[8] the ISO/IEC 14764:2006 international standard has kept the basic four categories.

More recently the description of software maintenance and evolution has been done using ontologies (Kitchenham et al. (1999),[9] Deridder (2002),[10] Vizcaíno (2003),[11] Dias (2003),[12] and Ruiz (2004)[13]), which enrich the description of the many evolution activities.

Stage model

[edit]

Current trends and practices are projected forward using a new model of software evolution called the staged model.[14] Staged model was introduced to replace conventional analysis which is less suitable for modern software development is rapid changing due to its difficulties of hard to contribute in software evolution. There are five distinct stages contribute in simple staged model (Initial development, Evolution, Servicing, Phase-out, and Close-down).

  • According to K.H.Bennett and V.T Rajlich,[14] the key contribution is to separate the 'maintenance' phase into an evolution stage followed by a servicing and phase out stages. The first version of software system which is lacking some features will be developed during initial development or also known as alpha stage.[14] However, the architecture has already been possessed during this stage will bring for any future changes or amendments. Most references in this stage will base on scenarios or case study. Knowledge has defined as another important outcome of initial development. Such knowledge including the knowledge of application domain, user requirements, business rules, policies, solutions, algorithm, etc. Knowledge also seems as the important factor for the subsequent phase of evolution.
  • Once the previous stage completed successfully (and must be completed successfully before entering next stage), the next stage would be evolution. Users tend to change their requirements as well as they prefer to see some improvements or changes. Due to this factor, the software industry is facing the challenges of rapid changes environment. Hence the goal of evolution is to adapt the application to the ever-changing user requirements and operating environment.[14] During the previous stage, the first version application created might contain a lot of faults, and those faults will be fixed during evolution stage based on more specified and accurate requirements due to the case study or scenarios.
  • The software will continuously evolve until it is no longer evolvable and then enter stage of servicing (also known as software maturity). During this stage, only minor changes will be done.
  • Next stage which is phase-out, there is no more servicing available for that particular software. However, the software still in production.
  • Lastly, close-down. The software use is disconnected or discontinued[14] and the users are directed towards a replacement.[14]

Lehman's Laws of Software Evolution

[edit]

Prof. Meir M. Lehman, who worked at Imperial College London from 1972 to 2002, and his colleagues have identified a set of behaviours in the evolution of proprietary software. These behaviours (or observations) are known as Lehman's Laws. He refers to E-type systems as ones that are written to perform some real-world activity. The behavior of such systems is strongly linked to the environment in which it runs, and such a system needs to adapt to varying requirements and circumstances in that environment. The eight laws are:

  1. (1974) "Continuing Change" — an E-type system must be continually adapted or it becomes progressively less satisfactory[15]
  2. (1974) "Increasing Complexity" — as an E-type system evolves, its complexity increases unless work is done to maintain or reduce it[15]
  3. (1980) "Self Regulation" — E-type system evolution processes are self-regulating with the distribution of product and process measures close to normal[15]
  4. (1978) "Conservation of Organisational Stability (invariant work rate)" - the average effective global activity rate in an evolving E-type system is invariant over the product's lifetime[15]
  5. (1978) "Conservation of Familiarity" — as an E-type system evolves, all associated with it, developers, sales personnel and users, for example, must maintain mastery of its content and behaviour to achieve satisfactory evolution. Excessive growth diminishes that mastery. Hence the average incremental growth remains invariant as the system evolves.[15]
  6. (1991) "Continuing Growth" — the functional content of an E-type system must be continually increased to maintain user satisfaction over its lifetime
  7. (1996) "Declining Quality" — the quality of an E-type system will appear to be declining unless it is rigorously maintained and adapted to operational environment changes
  8. (1996) "Feedback System" (first stated 1974, formalised as law 1996) — E-type evolution processes constitute multi-level, multi-loop, multi-agent feedback systems and must be treated as such to achieve significant improvement over any reasonable base[16]

It is worth mentioning that the applicability of all of these laws for all types of software systems has been studied by several researchers. For example, see a presentation by Nanjangud C Narendra[17] where he describes a case study of an enterprise Agile project in the light of Lehman’s laws of software evolution. Some empirical observations coming from the study of open source software development appear to challenge some of the laws [vague][citation needed].

The laws predict that the need for functional change in a software system is inevitable, and not a consequence of incomplete or incorrect analysis of requirements or bad programming. They state that there are limits to what a software development team can achieve in terms of safely implementing changes and new functionality.

Maturity Models specific to software evolution have been developed to improve processes, and help to ensure continuous rejuvenation of the software as it evolves iteratively[citation needed].

The "global process" that is made by the many stakeholders (e.g. developers, users, their managers) has many feedback loops. The evolution speed is a function of the feedback loop structure and other characteristics of the global system. Process simulation techniques, such as system dynamics can be useful in understanding and managing such global process.

Software evolution is not likely to be Darwinian, Lamarckian or Baldwinian, but an important phenomenon on its own. Given the increasing dependence on software at all levels of society and economy, the successful evolution of software is becoming increasingly critical. This is an important topic of research that hasn't received much attention.

The evolution of software, because of its rapid path in comparison to other man-made entities, was seen by Lehman as the "fruit fly" of the study of the evolution of artificial systems.

See also

[edit]

Available tools

[edit]
  • LibVCS4j A Java library that allows existing tools to analyse the evolution of software systems by providing a common API for different version control systems and issue trackers.

References

[edit]
  1. ^ Fred Brooks, The Mythical Man-Month. Addison-Wesley, 1975 & 1995. ISBN 0-201-00650-2 & ISBN 0-201-83595-9.
  2. ^ aeddy; ref: Understanding Open Source Software Evolution Walt Scacchi Institute for Software Research
  3. ^ Bennett, K. H.; Rajlich, V. T.; Mazrul, R. Mohamad (1995). "Legacy System: Coping with success". IEEE Software. pp. 19–23.
  4. ^ Trung Hung Vo (2007), Software Maintenance
  5. ^ Lientz, B.P. and Swanson, E.B., Software Maintenance Management, A Study Of The Maintenance Of Computer Application Software In 487 Data Processing Organizations. Addison-Wesley, Reading MA, 1980. ISBN 0-201-04205-3
  6. ^ ISO/IEC 14764:2006, 2006.
  7. ^ Paul Warren; Cornelia Boldyreff; Malcolm Munro (1999). "The evolution of websites". Proceedings of the Seventh International Workshop on Program Comprehension. IEEE. pp. 178–185.
  8. ^ Ned Chapin; Joanne E Hale; Khaled Md Khan; Juan F Ramil; Wui-Gee Tan (2001). "Types of software evolution and software maintenance". Journal of Software Maintenance and Evolution: Research and Practice. 13 (1): 3–30. doi:10.1002/smr.220.
  9. ^ Barbara Kitchenham; Guilherme Travassos; Anneliese von Mayrhauser; Frank Niessink; Norman Schneidewind; Janice Singer; Shingo Takada; Risto Vehvilainen; Hongji Yang (1999). "Towards an ontology of software maintenance". Journal of Software Maintenance: Research and Practice. 11 (6): 365–389. doi:10.1002/(SICI)1096-908X(199911/12)11:6<365::AID-SMR200>3.0.CO;2-W. hdl:10945/55140.
  10. ^ Dirk Deridder (2002). "A concept-oriented approach to support software maintenance and reuse activities". Proceedings of the 5th Joint Conference on Knowledge Based Software Engineering.
  11. ^ Aurora Vizcaíno; Jesús Favela; Mario Piattini (2003). "A multi-agent system for knowledge management in software maintenance". Knowledge-Based Intelligent Information and Engineering Systems. Springer. pp. 415–421.
  12. ^ Márcio Dias; Nicolas Anquetil; Káthia de Oliveira (2003). "Organizing the knowledge used in software maintenance". Journal of Universal Computer Science. 9 (7): 641–658.
  13. ^ Francisco Ruiz; Aurora Vizcaíno; Mario Piattini; Félix García (2004). "An ontology for the management of software maintenance projects". International Journal of Software Engineering and Knowledge Engineering. 14 (3): 323–349. doi:10.1142/S0218194004001646. S2CID 15592498.
  14. ^ a b c d e f Bennett, Keith; Rajlich, Václav (2025-08-06). "A Staged Model for the Software Life Cycle" (PDF). Computer. 33 (7). IEEE Computer Society: 66–71. doi:10.1109/2.869374. S2CID 7547412. Retrieved 2025-08-06.
  15. ^ a b c d e Lehman, M. M. (1980). "On Understanding Laws, Evolution, and Conservation in the Large-Program Life Cycle". Journal of Systems and Software. 1: 213–221. doi:10.1016/0164-1212(79)90022-0.
  16. ^ Lehman's laws of software evolution
  17. ^ Narendra, Nanjangud (29 April 2011). "Software Evolution in Agile Development". InfoQ. Retrieved 19 March 2016.

Further reading

[edit]
  • Andrea Capiluppi, Jesus M.Gonzalez Barahona, Israel Herraiz, Gregorio Robles, Adapting the "Staged Model for Software Evolution" to FLOSS
  • Mark C. Paulk, A History of the Capability Maturity Model Software
槟榔什么味道 胃腺息肉什么意思 伤官是什么 arr是什么意思 衣原体阳性是什么意思
什么是禁欲 碳酸氢钠是什么 要强是什么意思 做梦梦见生孩子是什么意思 怀孕前有什么征兆
亲嘴有什么好处 胃反酸烧心吃什么药 有缘无份什么意思 女性支原体阳性是什么意思 肛门瘙痒用什么药膏
着数是什么意思 眼轴是什么意思 听吧新征程号角吹响是什么歌 他乡遇故知什么意思 蝴蝶是什么意思
红烧肉配什么菜好吃hcv9jop3ns7r.cn 右眼睛跳是什么意思hcv8jop1ns6r.cn 一什么沙发hcv7jop9ns3r.cn 医生为什么会建议竖切hcv7jop7ns1r.cn 山丘是什么意思hcv8jop4ns6r.cn
抽筋缺什么维生素hcv7jop9ns8r.cn 皮肤属于什么组织hcv8jop2ns9r.cn 1934年属什么生肖hcv8jop0ns6r.cn 过度纵欲的后果是什么hcv9jop0ns9r.cn 英雄难过美人关是什么意思hcv8jop2ns4r.cn
oba是什么意思hcv7jop6ns4r.cn 翠绿色配什么颜色好看hcv9jop0ns2r.cn 石楠花是什么hcv7jop5ns0r.cn 虚火吃什么药hcv8jop2ns8r.cn 聊表心意是什么意思hcv8jop2ns6r.cn
fda认证是什么意思hcv8jop0ns9r.cn jet是什么意思hcv8jop3ns6r.cn 什么之财hcv9jop3ns8r.cn 如果是什么意思hcv9jop0ns3r.cn 孩子大便出血什么原因hcv9jop1ns2r.cn
百度