發(fā)布時(shí)間:2023-11-29 16:05:32 瀏覽量:118次
為了保證程序與問(wèn)題統(tǒng)一,也保證程序能長(zhǎng)期穩(wěn)定使用,人們將程序的開(kāi)發(fā)過(guò)程分為以下6個(gè)階段。
(1)分析問(wèn)題。編程的目的是控制計(jì)算機(jī)解決問(wèn)題,在解決問(wèn)題之前,應(yīng)充分了解要解決的問(wèn)題,明確真正的需求,避免因理解偏差而設(shè)計(jì)出不符合需求的程序。
例如,“小張問(wèn)小李明天什么,小李說(shuō)他明天必須要去補(bǔ)課,不能有其他安排”這一描述有兩種理解:其一,“他”指小張,小張明天要去補(bǔ)課,小李的回答是提醒
他(小張)已有安排,既然無(wú)法一起活動(dòng),何必問(wèn)自己(小李)的安排;其二,“他”指小李,小李表示自己明天要去補(bǔ)課,這就是他(小李)明天要做的事。
在實(shí)際開(kāi)發(fā)中,提出問(wèn)題和解決問(wèn)題的通常是不同的人,自然語(yǔ)言又容易產(chǎn)生歧義,因此與需求方充分溝通,理清所需解決的問(wèn)題是程序設(shè)計(jì)的前提。
(2)劃分邊界。準(zhǔn)確描述程序要“做什么”,此時(shí)無(wú)須考慮程序具體要“怎么做”。例如對(duì)于“小李計(jì)劃從家出發(fā)到學(xué)校”這一問(wèn)題,只需要確定核心人物“小李”從“家里出發(fā)”,最終“抵達(dá)學(xué)?!保劣谛±钊绾螌?shí)現(xiàn)“家”到“學(xué)?!边@一地址的轉(zhuǎn)換,這里不需要考慮。在這一階段可利用IPO方法(該方法將在1.5.2小節(jié)講解)描述問(wèn)題,確定程序的輸入、處理和輸出之間的總體關(guān)系。
(3)程序設(shè)計(jì)。這一步驟需要考慮“怎么做”,即確定程序的結(jié)構(gòu)和流程。對(duì)于簡(jiǎn)單的問(wèn)題,使用IPO方法描述,再著重設(shè)計(jì)算法即可。對(duì)于復(fù)雜的程序,應(yīng)先“化整為零,分而治之”,即將整個(gè)程序劃分為多個(gè)“小模塊”,每個(gè)小模塊實(shí)現(xiàn)小的功能,將每個(gè)小功能當(dāng)作一個(gè)獨(dú)立的處理過(guò)程,為其設(shè)計(jì)算法,最后再“化零為整”,設(shè)計(jì)可以聯(lián)系各個(gè)小功能的流程。
(4)編寫(xiě)程序。使用編程語(yǔ)言編寫(xiě)程序。這一階段首要考慮的是編程語(yǔ)言的選擇,不同的編程語(yǔ)言在性能、開(kāi)發(fā)周期、可維護(hù)性等方面有一定的差異,實(shí)際開(kāi)發(fā)中開(kāi)發(fā)人員會(huì)對(duì)性能、周期、可維護(hù)性等因素進(jìn)行一定考量。
(5)測(cè)試與調(diào)試。運(yùn)行程序,測(cè)試程序的功能,判斷功能是否與預(yù)期相符,是否存在疏漏。如果程序存在不足,應(yīng)著手定位和修復(fù)(即“調(diào)試”)程序。在這一過(guò)程中應(yīng)做盡量多的考量與測(cè)試。
(6)升級(jí)與維護(hù)。程序總不會(huì)完全完成,哪怕它已投入使用。后續(xù)需求方可能提出新的需求,此時(shí)需要為程序添加新功能,對(duì)其進(jìn)行升級(jí);程序使用時(shí)可能會(huì)產(chǎn)生問(wèn)題,或發(fā)現(xiàn)漏洞,此時(shí)需要完善程序、對(duì)其進(jìn)行維護(hù)
綜上所述,解決問(wèn)題的過(guò)程不單單是程序編寫(xiě)的過(guò)程、問(wèn)題分析、邊界劃分、程序設(shè)計(jì)、程序測(cè)試與調(diào)試、升級(jí)與維護(hù)亦是解決問(wèn)題不可或缺的步驟。
熱門(mén)資訊
探討游戲引擎的文章,介紹了10款游戲引擎及其代表作品,涵蓋了RAGE Engine、Naughty Dog Game Engine、The Dead Engine、Cry Engine、Avalanche Engine、Anvil Engine、IW Engine、Frostbite Engine、Creation引擎、Unreal Engine等引擎。借此分析引出了游戲設(shè)計(jì)領(lǐng)域和數(shù)字藝術(shù)教育的重要性,歡迎點(diǎn)擊咨詢報(bào)名。
2. 手機(jī)游戲如何開(kāi)發(fā)(如何制作傳奇手游,都需要準(zhǔn)備些什么?)
?如何制作傳奇手游,都需要準(zhǔn)備些什么?提到傳奇手游相信大家都不陌生,他是許多80、90后的回憶;從起初的端游到現(xiàn)在的手游,說(shuō)明時(shí)代在進(jìn)步游戲在更新,更趨于方便化移動(dòng)化。而如果我們想要制作一款傳奇手游的
3. B站視頻剪輯軟件「必剪」:免費(fèi)、炫酷特效,小白必備工具
B站視頻剪輯軟件「必剪」,完全免費(fèi)、一鍵制作炫酷特效,適合新手小白??靵?lái)試試!
4. Steam值得入手的武俠游戲盤(pán)點(diǎn),各具特色的快意江湖
游戲中玩家將面臨武俠人生的掙扎抉擇,戰(zhàn)或降?殺或放?每個(gè)抉定都將觸發(fā)更多愛(ài)恨糾葛的精彩奇遇。《天命奇御》具有多線劇情多結(jié)局,不限主線發(fā)展,高自由...
5. Bigtime加密游戲經(jīng)濟(jì)體系揭秘,不同玩家角色的經(jīng)濟(jì)活動(dòng)
Bigtime加密游戲經(jīng)濟(jì)模型分析,探討游戲經(jīng)濟(jì)特點(diǎn),幫助玩家更全面了解這款GameFi產(chǎn)品。
6. 3D動(dòng)畫(huà)軟件你知道幾個(gè)?3ds Max、Blender、Maya、Houdini大比拼
當(dāng)提到3D動(dòng)畫(huà)軟件或動(dòng)畫(huà)工具時(shí),指的是數(shù)字內(nèi)容創(chuàng)建工具。它是用于造型、建模以及繪制3D美術(shù)動(dòng)畫(huà)的軟件程序。但是,在3D動(dòng)畫(huà)軟件中還包含了其他類(lèi)型的...
7. 3D動(dòng)漫建模全過(guò)程,不是一般人能學(xué)的會(huì)的,會(huì)的多不是人?
步驟01:面部,頸部,身體在一起這次我不準(zhǔn)備設(shè)計(jì)圖片,我從雕刻進(jìn)入。這一次,它將是一種純粹關(guān)注建模而非整體繪畫(huà)的形式。像往常一樣,我從Sphere創(chuàng)建它...
8. 如何自己開(kāi)發(fā)一款游戲(游戲開(kāi)發(fā)入門(mén)必看:五大獨(dú)立游戲開(kāi)發(fā)技巧)
?游戲開(kāi)發(fā)入門(mén)必看:五大獨(dú)立游戲開(kāi)發(fā)技巧無(wú)論您是剛剛起步開(kāi)發(fā)自己的第一款游戲,還是已經(jīng)制作了幾款游戲,本篇文章中的5大獨(dú)立游戲開(kāi)發(fā)技巧都可以幫助您更好地設(shè)計(jì)下一款游戲。無(wú)論你對(duì)游戲有著什么樣的概念,都
9. 開(kāi)發(fā)三昧游戲叫什么(三昧動(dòng)漫)
?三昧動(dòng)漫對(duì)于著名ARPG游戲《巫師》系列,最近CD Projekt 的高層回應(yīng)并不會(huì)推出《巫師4》。因?yàn)椤段讕煛废盗性诓邉澋臅r(shí)候一直定位在“三部曲”的故事框架,所以在游戲的出品上不可能出現(xiàn)《巫師4》
10. 3D打印技巧揭秘!Cura設(shè)置讓你的模型更堅(jiān)固
想讓你的3D打印模型更堅(jiān)固?不妨嘗試一下Cura參數(shù)設(shè)置和設(shè)計(jì)技巧,讓你輕松掌握!
最新文章
同學(xué)您好!