為了保證程序與問題統一,也保證程序能長期穩定使用,人們將程序的開發過程分為以下6個階段。
(1)分析問題。編程的目的是控制計算機解決問題,在解決問題之前,應充分了解要解決的問題,明確真正的需求,避免因理解偏差而設計出不符合需求的程序。
例如,“小張問小李明天什么,小李說他明天必須要去補課,不能有其他安排”這一描述有兩種理解:其一,“他”指小張,小張明天要去補課,小李的回答是提醒
他(小張)已有安排,既然無法一起活動,何必問自己(小李)的安排;其二,“他”指小李,小李表示自己明天要去補課,這就是他(小李)明天要做的事。
在實際開發中,提出問題和解決問題的通常是不同的人,自然語言又容易產生歧義,因此與需求方充分溝通,理清所需解決的問題是程序設計的前提。
(2)劃分邊界。準確描述程序要“做什么”,此時無須考慮程序具體要“怎么做”。例如對于“小李計劃從家出發到學?!边@一問題,只需要確定核心人物“小李”從“家里出發”,最終“抵達學?!?,至于小李如何實現“家”到“學?!边@一地址的轉換,這里不需要考慮。在這一階段可利用IPO方法(該方法將在1.5.2小節講解)描述問題,確定程序的輸入、處理和輸出之間的總體關系。
(3)程序設計。這一步驟需要考慮“怎么做”,即確定程序的結構和流程。對于簡單的問題,使用IPO方法描述,再著重設計算法即可。對于復雜的程序,應先“化整為零,分而治之”,即將整個程序劃分為多個“小模塊”,每個小模塊實現小的功能,將每個小功能當作一個獨立的處理過程,為其設計算法,最后再“化零為整”,設計可以聯系各個小功能的流程。
(4)編寫程序。使用編程語言編寫程序。這一階段首要考慮的是編程語言的選擇,不同的編程語言在性能、開發周期、可維護性等方面有一定的差異,實際開發中開發人員會對性能、周期、可維護性等因素進行一定考量。
(5)測試與調試。運行程序,測試程序的功能,判斷功能是否與預期相符,是否存在疏漏。如果程序存在不足,應著手定位和修復(即“調試”)程序。在這一過程中應做盡量多的考量與測試。
(6)升級與維護。程序總不會完全完成,哪怕它已投入使用。后續需求方可能提出新的需求,此時需要為程序添加新功能,對其進行升級;程序使用時可能會產生問題,或發現漏洞,此時需要完善程序、對其進行維護
綜上所述,解決問題的過程不單單是程序編寫的過程、問題分析、邊界劃分、程序設計、程序測試與調試、升級與維護亦是解決問題不可或缺的步驟。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
存款降息意味著什么?存款降息最直接的就是銀行的存款利息降低,并粗是整體性的利息降低,因此原本傾向于將資金存在銀行的投資者會因為利息降低轉而將錢從銀行中拿出來,投資者可能會將資金投入股票市場,也有可能直接用于消費。銀行降息通常代表的就是國家整體的貨幣政策比較寬松,鼓勵增加市場中流通的貨幣供應量,從而整體社會的經濟發展會處于一個比較積極的狀態。銀行降息是什么意思?銀行降息意思就是銀行降低存款利息,這是...
什么是農業銀行代碼?中國農業銀行編碼是ABOCCNBJ。銀行鑒別編碼是由電腦上可以全自動判斷的8位或者11位英語字母或阿拉伯數據構成,用以在SWIFT報文中確立區別金融業交易中相應的不一樣金融業機構。凡該研究會的組員銀行都是有各自特殊的SWIFT編碼,即SWIFTCode,該號等同于每個銀行的身份證號碼。中國農業銀行(AGRICULTURAL BANK OFCHINA,通稱ABC,農行)創立于19...
中國石油三巨頭是哪幾個?中國的石油三頭是中國石油天然氣集團有限公司、中國海洋石油總公司、中國石油化工集團有限公司。而如果是世界范圍內的石油三巨頭,很難有所高低,比較具有代表性的有沙特阿美、??松梨谶€有俄羅斯石油公司。中國石天然氣集團有限公司也可以簡稱為中石油、中國石油, 國有重要骨干企業。以汽油業務、石油工程建設、工程技術服務、新能源開發等為主營業務的國際能源公司。中國海洋石集團有限公司是中國國...