马冲什么生肖| 血糖高能喝什么茶| 巴不得是什么意思| 吃什么水果对皮肤好| 6月18号什么星座| 什么食用油最好最健康| 身体湿热吃什么中成药| 一览无余什么意思| 儿童牙疼吃什么药| 硫酸羟氯喹片治什么病| 女生问你喜欢她什么怎么回答| 葡萄糖氯化钠注射作用是什么| elephant是什么意思| 冠心吃什么药好| 口杯是什么意思| noon什么意思| 完美落幕是什么意思| 薄荷与什么相克| 阴茎中途疲软吃什么药| 鲜章是什么意思| 黄精能治什么病| 上唇肿胀是什么原因| 大姨妈期间不能吃什么东西| 梦见白菜是什么预兆| 苋菜不能和什么一起吃| 卵巢囊肿是什么| 喉咙痛可以吃什么| 乳痈是什么意思| 中国的特工组织叫什么| 多春鱼为什么全是籽| 格林是什么意思| 眼睛红血丝多是什么原因| 厦门房价为什么那么高| 中性皮肤的特征是什么| 无氧运动是什么| 三点水一个四读什么| 肌层回声不均匀是什么意思| 什么的草帽| 轴位什么意思| 高危型hpv52阳性是什么意思| 哈伦裤配什么上衣好看| 未见明显胚芽是什么意思| 德育是什么| 木姜子是什么东西| 11月30号是什么星座| 儿童肚子痛挂什么科| 多指是什么遗传方式| 为什么会做梦| 梦见捡到钱是什么预兆| 瞬移是什么意思| 经常腰酸是什么原因女性| 夏天什么时候最热| 霸屏是什么意思| 尿检白细胞弱阳性是什么意思| 什么品种的鸡肉最好吃| 处女座是什么星象| 石斛是什么| 大同古代叫什么| 射的快吃什么药| 眩晕症吃什么药最好| 栀子花什么季节开花| 特别容易饿是什么原因| 先天性是什么意思| hold不住是什么意思| 喜欢吃酸的人是什么体质| 浑身没劲什么原因| 尿里有潜血是什么原因| 玻璃水是什么| 吸狗是什么意思| 爱情的本质是什么| 青蛙爱吃什么| 黄芪加陈皮有什么功效| 复仇者用什么武器| 手上起小水泡痒是什么原因| 狮子座什么星象| 买车置换是什么意思| 迷迭香是什么| 梦见抓鱼是什么预兆| spect是什么检查| 流鼻血是什么病| 脂肪肝吃什么最好| 缺镁吃什么食物补充最快| 沙蟹吃什么| 生活防水是什么意思| 嗓子有异物感堵得慌吃什么药| vin是什么意思| 红细胞高是什么意思| 上善若水下一句是什么| 知了的学名叫什么| 吐血是什么原因引起的| 腹泻吃什么药最好| 畏寒肢冷是什么意思| 单丛属于什么茶| 缪斯是什么意思| 前白蛋白低是什么意思| 减肥不能吃什么水果| 寻麻疹是什么症状| 钾在人体中起什么作用| 我看见了什么| 钮钴禄什么意思| 偏头痛什么原因引起| 1996五行属什么| prp治疗是什么意思| 喉咙不舒服挂什么科| 竹棉和纯棉有什么区别| 4月28号是什么星座| 刚愎自用代表什么生肖| 美仑美奂什么意思| 承受是什么意思| 小麦秸秆是什么材质| 屁特别臭是什么原因| 感冒发烧吃点什么食物比较好| 打激素有什么副作用| pac是什么| 大龄补贴需要什么条件| 什么是菜花状疣图片| 奇门遁甲是什么意思| 今年54岁属什么生肖| 耵聍是什么东西| 5月23是什么星座| 高校是什么意思| 急性咽喉炎吃什么药好得快| 点痣后用什么修复最好| piv是什么病毒| 一般细菌涂片检查是查什么| 德艺双馨什么意思| 胸闷气短挂什么科室| 看乙肝挂什么科| 不射精是什么原因| 蟑螂吃什么| 公仆是什么意思| 黄芪长什么样| 看脊椎挂什么科| 吃什么都咸是什么原因| 花木兰是什么朝代| 新疆人为什么长得像外国人| 做梦梦到自己生病了是什么意思| 吃黑芝麻有什么好处| 睚眦必报是什么意思| 免去职务是什么意思| 舌苔发白是什么病的前兆| 腰无力是什么原因| 处女座与什么星座最配| 孕妇吃什么鱼好| 不来例假也没怀孕是什么原因| 山竹里面黄黄的是什么| 麻烦是什么意思| 硝化细菌是什么| 永无止境是什么意思| 肥猪拱门是什么生肖| 塞屁股的退烧药叫什么| 切尔斯什么意思| 蓦然回首什么意思| Urea医学上是什么意思| 梦到绿色的蛇是什么意思| 香蕉对身体有什么好处| 头发拉焦了有什么补救| 癫痫患者不能吃什么| 四维什么时候做最佳| 肾脏不好吃什么食物好| 什么石什么鸟| 为什么高血压| 松果体囊肿是什么病| 扇子骨是什么肉| 紫癜吃什么药| 饮片是什么意思| 鱼生是什么鱼| adl是什么意思| 感冒挂号挂什么科| 什么食用油最好最健康| 驴打滚是什么意思| 脑死亡是什么意思| 飒爽什么意思| 盆腔炎吃什么药好得快| 龙长什么样| 什么叫正盐| spo2是什么意思| wdf是什么意思| 秦二世为什么姓胡| 为什么月经会推迟| 食人鱼的天敌是什么| 找工作上什么网| 痛风挂号什么科| 维生素d是什么东西| 虾青素有什么作用| 女人的逼长什么样| 性病都有什么| 最大的行星是什么| 吃了羊肉不能吃什么| 为什么会一直流鼻涕| 酸菜吃多了有什么危害| 爱而不得是什么意思| 浣熊吃什么食物| 平均血红蛋白含量偏低是什么意思| 荨麻疹可以涂什么药膏| 闭经和绝经有什么区别| 顾名思义的顾是什么意思| 环比增长什么意思| 教科书是什么意思| 咖啡过敏的症状是什么| 生理性厌恶是什么意思| 水火既济是什么意思| 健康四大基石是什么| 手心长痣代表什么| 心存善念是什么意思| 什么挑担子忠心耿耿| 产妇吃什么水果好| 梦见好多水是什么预兆| 爽肤水和精华水有什么区别| 策字五行属什么| 黄芪加陈皮有什么功效| 女人吃秋葵有什么好处| 肺的作用和功能是什么| 地藏王菩萨保佑什么| 口比念什么| 怕热爱出汗是什么原因| 豆粕是什么| 查摆是什么意思| 勰读什么| 肌肤之钥是什么档次| 私房照是什么| 如火如荼是什么意思| 眼睑肿是什么原因| 猫的胡须是干什么用的| 做nt挂什么科| 颈部疼痛挂什么科| 什么水果止咳| 限高是什么意思| 蛇年五行属什么| 凝血酶原时间是什么意思| 痔疮手术后可以吃什么水果| 苦海无涯回头是岸是什么意思| 美林是什么药| 菠菜是什么季节的菜| 什么龙可以横行霸道| 8月23是什么星座| 镜面人是什么意思| mg什么意思| 小孩黑眼圈很重是什么原因| 手发热是什么原因| 倾国倾城是什么生肖| 伏天是什么时候| 白舌苔是什么原因| 40不惑是什么意思| 户籍类型是什么| 什么是小针刀治疗| 怀孕二十天有什么反应| 木字旁加差是什么字| 大蒜泡酒治什么病| 什么颜色的衣服显白| 和南圣众是什么意思| 看胃挂什么科室| 青春期什么时候结束| 备孕需要做些什么准备| 11是什么意思| 食道疼是什么原因| 白细胞和血小板高是什么原因| 脚老抽筋是什么原因| 头皮脂溢性皮炎用什么洗发水| 黄曲霉素是什么| 黄瓜籽粉有什么作用| 查甲功挂什么科| 章鱼吃什么| 马钧发明了什么| 百度Jump to content

5月26号什么星座

From Wikipedia, the free encyclopedia
百度 ”张雪松,中国中车唐山机车车辆有限公司铝合金厂的机械钳工。

The waterfall model is the process of performing the typical software development life cycle (SDLC) phases in sequential order. Each phase is completed before the next is started, and the result of each phase drives subsequent phases.[1] Compared to alternative SDLC methodologies, it is among the least iterative and flexible,[1] as progress flows largely in one direction (like a waterfall) through the phases of conception, requirements analysis, design, construction, testing, deployment, and maintenance.[2] The waterfall model is the earliest SDLC methodology.[3] When first adopted, there were no recognized alternatives for knowledge-based creative work.[4]

History

[edit]

The first known presentation describing the use of such phases in software engineering was held by Herbert D. Benington at the Symposium on Advanced Programming Methods for Digital Computers on 29 June 1956.[5] This presentation was about the development of software for SAGE. In 1983, Benington republished his paper with a foreword explaining that the phases were on purpose organized according to the specialization of tasks, and pointing out that the process was not in fact performed in a strict top-down fashion, but depended on a prototype.[6][better source needed]

Although the term "waterfall" is not used in the paper, the first formal, detailed diagram of the process is often[7] cited as coming from a 1970 article by Winston W. Royce.[8][9][10] However, he commented that it had major flaws stemming from how testing only happened at the end of the process, which he described as being "risky and [inviting] failure".[8] The rest of his paper introduced five steps which he felt were necessary to "eliminate most of the development risks" associated with the unaltered waterfall approach.[8] Royce's five additional steps (which included writing complete documentation at various stages of development) never took mainstream hold, but his diagram of what he considered a flawed process became the starting point when describing a "waterfall" approach.[11][12]

The earliest use of the term "waterfall" may have been in a 1976 paper by Bell and Thayer.[13][better source needed]

In 1985, the United States Department of Defense adopted the waterfall model in the DOD-STD-2167 standard for working with software development contractors. This standard referred for iterations of a software development[14] to "the sequential phases of a software development cycle" and stated that "the contractor shall implement a software development cycle that includes the following six phases: Software Requirement Analysis, Preliminary Design, Detailed Design, Coding and Unit Testing, Integration, and Testing".[14][15]

Phases

[edit]

The model describes a linear sequence of steps. Although various different versions can be found, the following describes the essence.[16][17][18][19]

Preliminary analysis

[edit]

Conduct with a preliminary analysis, consider alternative solutions, estimate costs and benefits, and submit a preliminary plan with recommendations.

  • Conduct preliminary analysis: Identify the organization's objectives and define the nature and scope of the project. Ensure that the project fits with the objectives.
  • Consider alternative solutions: Alternatives may come from interviewing employees, clients, suppliers, and consultants, as well as competitive analysis.
  • Cost-benefit analysis: Analyze the costs and benefits of the project.

Systems analysis, requirements definition

[edit]

Decompose project goals[clarification needed] into defined functions and operations. This involves gathering and interpreting facts, diagnosing problems, and recommending changes. Analyze end-user information needs and resolve inconsistencies and incompleteness:[20]

  • Collect facts: Obtain end-user requirements by document review, client interviews, observation, and questionnaires.
  • Scrutinize existing system(s): Identify pros and cons.
  • Analyze the proposed system: Find solutions to issues and prepare specifications, incorporating appropriate user proposals.

Systems design

[edit]

At this step, desired features and operations are detailed, including screen layouts, business rules, process diagrams, pseudocode, and other deliverables.

Development

[edit]

Write the code.

Integration and testing

[edit]

Assemble the modules in a testing environment. Check for errors, bugs, and interoperability.

Acceptance, installation, deployment

[edit]

Put the system into production. This may involve training users, deploying hardware, and loading information from the prior system.

Maintenance

[edit]

Monitor the system to assess its ongoing fitness. Make modest changes and fixes as needed. To maintain the quality of the system. Continual monitoring and updates ensure the system remains effective and high-quality.[21]

Evaluation

[edit]

The system and the process are reviewed. Relevant questions include whether the newly implemented system meets requirements and achieves project goals, whether the system is usable, reliable/available, properly scaled and fault-tolerant. Process checks include review of timelines and expenses, as well as user acceptance.

Disposal

[edit]

At end of life, plans are developed for discontinuing the system and transitioning to its replacement. Related information and infrastructure must be repurposed, archived, discarded, or destroyed, while appropriately protecting security.[22]

Supporting arguments

[edit]

Time spent early in the software production cycle can reduce costs at later stages. For example, a problem found in the early stages (such as requirements specification) is cheaper to fix than the same bug found later on in the process (by a factor of 50 to 200).[23]

In common practice, waterfall methodologies result in a project schedule with 20–40% of the time invested for the first two phases, 30–40% of the time to coding, and the rest dedicated to testing and implementation. With the project organization needing to be highly structured, most medium and large projects will include a detailed set of procedures and controls, which regulate every process on the project.[24][failed verification]

A further argument supporting the waterfall model is that it places emphasis on documentation (such as requirements documents and design documents) as well as source code.[citation needed] In less thoroughly designed and documented methodologies, knowledge is lost if team members leave before the project is completed, and it may be difficult for a project to recover from the loss. If a fully working design document is present (as is the intent of big design up front and the waterfall model), new team members and new teams should be able to familiarise themselves to the project by reading the documents.[25]

The waterfall model provides a structured approach; the model itself progresses linearly through discrete, easily understandable and explainable phases and thus is easy to understand. It also provides easily identifiable milestones in the development process, often being used as a beginning example of a development model in many software engineering texts and courses.[26]

Similarly, simulation can play a valuable role within the waterfall model.[27] By creating computerized or mathematical simulations of the system being developed, teams can gain insights into how the system will perform before proceeding to the next phase. Simulations allow for testing and refining the design, identifying potential issues or bottlenecks, and making informed decisions about the system's functionality and performance.

Criticism

[edit]

Clients may not know the exact requirements before they see working software and thus change their requirements further on, leading to redesign, redevelopment, and retesting, and increased costs.[28]

Designers may not be aware of future difficulties when designing a new software product or feature, in which case revising the design initially can increase efficiency in comparison to a design not built to account for newly discovered constraints, requirements, or problems.[29]

Organisations may attempt to deal with a lack of concrete requirements from clients by employing systems analysts to examine existing manual systems and analyse what they do and how they might be replaced. However, in practice, it is difficult to sustain a strict separation between systems analysis and programming,[30] as implementing any non-trivial system will often expose issues and edge cases that the systems analyst did not consider.

Some organisations, such as the United States Department of Defense, now have a stated preference against waterfall-type methodologies, starting with MIL-STD-498 released in 1994, which encourages evolutionary acquisition and iterative and incremental development.[31]

Modified waterfall models

[edit]

In response to perceived problems with the original, pure waterfall model, many modified versions have been devised to address the problems. These include the rapid development models that Steve McConnell calls "modified waterfalls":[23] Peter DeGrace's "sashimi model" (waterfall with overlapping phases), waterfall with subprojects, and waterfall with risk reduction. Other software development model combinations such as "incremental waterfall model" also exist.[32]

Royce final model

Royce's final model illustrated that feedback could (should, and often would) lead from code testing to design (as testing of code uncovered flaws in the design) and from design back to requirements specification (as design problems may necessitate the removal of conflicting or otherwise unsatisfiable/undesignable requirements).[citation needed] In the same paper Royce also advocated large quantities of documentation, doing the job "twice if possible" (a sentiment similar to that of Fred Brooks, famous for writing the Mythical Man Month — an influential book in software project management — who advocated planning to "throw one away"), and involving the customer as much as possible (a sentiment similar to that of extreme programming).

Royce notes on the final model are:

  1. Complete program design before analysis and coding begins
  2. Documentation must be current and complete
  3. Do the job twice if possible
  4. Testing must be planned, controlled, and monitored
  5. Involve the customer

See also

[edit]

References

[edit]
  1. ^ a b Petersen, Kai; Wohlin, Claes; Baca, Dejan (2009). "The Waterfall Model in Large-Scale Development". In Bomarius, Frank; Oivo, Markku; Jaring, P?ivi; Abrahamsson, Pekka (eds.). Product-Focused Software Process Improvement. Lecture Notes in Business Information Processing. Vol. 32. Berlin, Heidelberg: Springer. pp. 386–400. Bibcode:2009pfsp.book..386P. doi:10.1007/978-3-642-02152-7_29. ISBN 978-3-642-02152-7.
  2. ^ Tom Gilb (1985). "Evolutionary Delivery versus the "waterfall model"". ACM SIGSOFT Software Engineering Notes. 10 (3): 49–61. doi:10.1145/1012483.1012490. Open access icon
  3. ^ Linda Sherrell (2013). "Waterfall Model". In A. L. C. Runehov; L. Oviedo (eds.). Encyclopedia of Sciences and Religions. Dordrecht, The Netherlands: Springer. pp. 2343–2344. doi:10.1007/978-1-4020-8265-8_200285. ISBN 978-1-4020-8264-1.
  4. ^ Andreas P. Schmidt; Christine Kunzmann (September 16, 2014). Designing for knowledge maturing: from knowledge-driven software to supporting the facilitation of knowledge development. i-KNOW '14: Proceedings of the 14th International Conference on Knowledge Technologies and Data-driven Business. ACM. pp. 1–7. doi:10.1145/2637748.2638421.
  5. ^ United States, Navy Mathematical Computing Advisory Panel (29 June 1956), Symposium on advanced programming methods for digital computers, [Washington, D.C.]: Office of Naval Research, Dept. of the Navy, OCLC 10794738
  6. ^ Benington, Herbert D. (1 October 1983). "Production of Large Computer Programs" (PDF). IEEE Annals of the History of Computing. 5 (4). IEEE Educational Activities Department: 350–361. doi:10.1109/MAHC.1983.10102. S2CID 8632276. Archived from the original (PDF) on 2025-08-14. Retrieved 2025-08-14.
  7. ^ Larman, Craig; Basili, Victor (June 2003). "Iterative and Incremental Development: A Brief History" (PDF). Computer. 36 (6): 47–56. doi:10.1109/MC.2003.1204375.
  8. ^ a b c Royce, Winston (1970), "Managing the Development of Large Software Systems", Proceedings of IEEE WESCON, 26 (August): 1–9
  9. ^ "Waterfall". Bremen University - Mathematics and Computer Science. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  10. ^ Abbas, Noura; Gravell, Andrew M.; Wills, Gary B. (2008). "Historical Roots of Agile Methods: Where Did "Agile Thinking" Come From?" (PDF). In Abrahamsson, Pekka; Baskerville, Richard; Conboy, Kieran; Fitzgerald, Brian; Morgan, Lorraine; Wang, Xiaofeng (eds.). Agile Processes in Software Engineering and Extreme Programming. Lecture Notes in Business Information Processing. Vol. 9. Berlin, Heidelberg: Springer. pp. 94–103. doi:10.1007/978-3-540-68255-4_10. ISBN 978-3-540-68255-4.
  11. ^ Conrad Weisert, Waterfall methodology: there's no such thing!
  12. ^ Lineberger, Rob (Apr 25, 2024). Inheriting Agile: The IT Practitioner's Guide to Managing Software Development in a Post-Agile World. Durham, NC: Sandprint Press. p. 36. ISBN 9798989149605.
  13. ^ Bell, Thomas E., and T. A. Thayer.Software requirements: Are they really a problem? Proceedings of the 2nd international conference on Software engineering. IEEE Computer Society Press, 1976.
  14. ^ a b DOD-STD-2167 - Military Standard : Defence System Software Development". Department of Defence, United States of America. 2025-08-14. p. 11.
  15. ^ "Military Standard Defense System Software Development" (PDF).
  16. ^ US Department of Justice (2003). INFORMATION RESOURCES MANAGEMENT Chapter 1. Introduction.
  17. ^ Everatt, G.D.; McLeod, R Jr (2007). "Chapter 2: The Software Development Life Cycle". Software Testing: Testing Across the Entire Software Development Life Cycle. John Wiley & Sons. pp. 29–58. ISBN 9780470146347.
  18. ^ Kay, Russell (May 14, 2002). "QuickStudy: System Development Life Cycle". ComputerWorld.
  19. ^ Taylor, G.D. (2008). Introduction to Logistics Engineering. CRC Press. pp. 12.6 – 12.18. ISBN 9781420088571.
  20. ^ "Chapter 5". Information Systems Control and Audit (PDF). Institute of Chartered Accountants of India. August 2013. p. 5.28.
  21. ^ Shah, Kazim. "The Maintenance Phase Of Software Development Life Cycle". primetechnologiesglobal. kazim shah. Retrieved 12 May 2024.
  22. ^ Radack, S. (n.d.). "The system development life cycle (SDLC)" (PDF). National Institute of Standards and Technology.
  23. ^ a b McConnell, Steve (1996). Rapid Development: Taming Wild Software Schedules. Microsoft Press. ISBN 1-55615-900-5.
  24. ^ "Waterfall Software Development Model". 5 February 2014. Retrieved 11 August 2014.
  25. ^ Arcisphere technologies (2012). "Tutorial: The Software Development Life Cycle (SDLC)" (PDF). Retrieved 2025-08-14.
  26. ^ Hughey, Douglas (2009). "Comparing Traditional Systems Analysis and Design with Agile Methodologies". University of Missouri – St. Louis. Retrieved 11 August 2014.
  27. ^ Saravanos, Antonios; Curinga, Matthew X. (December 2023). "Simulating the Software Development Lifecycle: The Waterfall Model". Applied System Innovation. 6 (6): 108. arXiv:2308.03940. doi:10.3390/asi6060108. ISSN 2571-5577.
  28. ^ Parnas, David L.; Clements, Paul C. (1986). "A rational design process: How and why to fake it" (PDF). IEEE Transactions on Software Engineering (2): 251–257. doi:10.1109/TSE.1986.6312940. S2CID 5838439. Retrieved 2025-08-14.
  29. ^ McConnell, Steve (2004). Code Complete, 2nd edition. Microsoft Press. ISBN 1-55615-484-4.
  30. ^ Ensmenger, Nathan (2010). The Computer Boys Take Over. MIT Press. p. 42. ISBN 978-0-262-05093-7.
  31. ^ Larman, Craig; Basili, Victir (2003). "Iterative and Incremental Development: A Brief History". IEEE Computer. 36 (6) (June ed.): 47–56. doi:10.1109/MC.2003.1204375. S2CID 9240477.
  32. ^ "Methodology:design methods". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
[edit]
为什么总是梦见一个人 孕妇什么情况下打肝素 豆角炒什么好吃 心脏早博吃什么药好 2000年属什么生肖
错综复杂是什么意思 一什么图画 什么叫做红颜知己 大三阳转小三阳意味着什么 osd是什么意思
牙虫长什么样子 核桃壳有什么用 儿童拖鞋什么材质好 吃什么对肺好 日文是什么字
6月18日是什么节 儿童喝蜂蜜水有什么好处和坏处 右肺中叶小结节是什么意思严重吗 胎位 头位是什么意思 爱说梦话是什么原因
手起皮是什么原因hcv8jop1ns8r.cn 脾是什么器官hcv8jop5ns9r.cn 高质量发展是什么jingluanji.com 梦见流水是什么征兆hcv9jop5ns9r.cn 四次元是什么意思gangsutong.com
大熊猫的尾巴是什么颜色hcv7jop5ns1r.cn 紫苏叶有什么功效bfb118.com 为什么眼泪是咸的hcv8jop0ns5r.cn 女性憋不住尿是什么原因hcv8jop0ns7r.cn 艾滋病是什么病毒hcv7jop5ns2r.cn
深闺是什么意思hcv8jop6ns2r.cn 色泽是什么意思hcv8jop8ns3r.cn 吞咽困难是什么感觉yanzhenzixun.com 晚上睡觉手发麻是什么原因hcv8jop1ns0r.cn 1月29日什么星座hcv8jop5ns4r.cn
皮秒是什么hcv9jop8ns2r.cn 出清什么意思hcv9jop5ns7r.cn 什么颜色的头发显白hcv8jop6ns6r.cn 脉搏是什么意思hcv8jop1ns5r.cn 勾引什么意思hcv9jop6ns1r.cn
百度