知識庫文章 - 網站程式資料庫設計知識文章 | |||
軟體程式設計是一個創造性的過程,對一些設計者來說需要一定的資質,而最後設計通常都是由一些初步設計演變而來的。從書本上學不會設計,只能經過實踐,通過對實際程式系統的研究和實踐才能學會。對於高效的軟體程式工程,良好的設計是關鍵,一個設計得好的軟體程式系統應該是可直接實現和易於維護、易懂和可靠的。設計得不好的系統儘管可以工作,但很可能維護起來費用昂貴、測試困難和不可靠,因此設計階段是軟體發展過程中最重要的階段。 直到最近,軟體程式設計在很大程度上仍是一個特定過程。一般用自然語言給定一需求集,預先作非正式設計,常常用流程圖的形式說明,接著開始編碼,當程式系統實現時設計還需修改。當實現階段完成後,設計往往已與起初形式相去甚遠以至於設計的原始文件完全不適合對程式系統的描述。 軟體設計的這種方法導致了許多動態的和非常昂貴的工程失敗。現在已經認識到一些完全非正規的標記法,諸如接近於程式設計語言的流程圖,不適用於系統設計的描述和表達。大家認識到,精確的(儘管並不一定是正規的)說明是設計過程的必要部分。軟體設計是一個反復的、不能用任何單一標記法來表示的多層次活動。相應地,大量的設計標記法,如資料流程圖、層次式輸入-處理-輸出結構圖和設計描述語言已經開發出來,這些標記法能比流程圖更好地表達軟體設計。 軟體程式設計包括軟體的結構設計、資料設計、介面設計和過程設計。 給定一個需求定義,軟體程式工程師必須以此匯出滿足這些需求的程式系統的設計,此匯出過程是通過下述步驟來完成的:
除了程式系統設計中的這些階段之外,軟體工程師也可能需要設計允許系統中各進程之間進行通信的通信機制。他們或許要設計文件結構,並且很可能要設計用於程式的資料結構,他們還需要設計確認程式的測試事例。 確定何為『成功』的設計無一定之規,取決於其應用和特定的工程要求。一個成功的設計應該是:能生成高效的代碼,實現儘量緊湊的最小設計,或是一個最易維護的設計。最後一個標準是本文採用的品質標準,可維護性設計意指系統修改費用最低,設計可懂度高和修改是局部性的。只有邏輯上高度結合而相互間鬆散地耦合的軟體設計才能實現以上兩個因素。 有效的軟體設計最好利用一致性設計方法。有大量的在不同應用環境中開發並使用的設計方法,其中有些是由皮特森(1980)、布蘭克和克瑞境(1983)描述的。實質上,這些方法大多數可劃分為三類:
軟體程式的設計概念應遵循以下幾個方面:
軟體程式的設計原則應遵循以下幾個方面:
(此篇文章為網路轉載,如有冒犯,請來信告知,當即刻移除!)
|
專業服務
軟體程式設計過程與概念 |