軟件開發(fā)過程中的方法研究的論文_第1頁
軟件開發(fā)過程中的方法研究的論文_第2頁
軟件開發(fā)過程中的方法研究的論文_第3頁
軟件開發(fā)過程中的方法研究的論文_第4頁
軟件開發(fā)過程中的方法研究的論文_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、軟件開發(fā)過程中的方法研究的論文軟件開發(fā)過程中的方法研究的論文摘要先進的生產(chǎn)模式要求信息集成和功能集成貫穿于生產(chǎn)周期的每一階段,功能的集成需要軟件系統(tǒng)的支持,從而推動先進生產(chǎn)模式的實現(xiàn)。軟件開發(fā)過程是建造軟件解決方案的關(guān)鍵要素。本文詳細討論了兩類主要的過程開發(fā)方法,即面向?qū)ο蠓椒ê徒Y(jié)構(gòu)化方法。 關(guān)鍵詞軟件開發(fā);面向?qū)ο蠓椒?;結(jié)構(gòu)化方法 中圖分類號:tp311.52 文獻標識碼:a 文章編號:1009-914x(2013)07-0065-01 一、軟件系統(tǒng)的開發(fā)過程 軟件可劃分為智能軟件、系統(tǒng)軟件和應用軟件三個領(lǐng)域。由于不同的軟件采用的開發(fā)知識不同,從而構(gòu)成各自相應的方法。盡管,智能軟件和應用軟件

2、分屬不同的領(lǐng)域,但智能軟件和應用軟件都是計算機軟件。建造軟件系統(tǒng)的解決方案由三個關(guān)鍵的相互關(guān)聯(lián)的基本要素組成:1.軟件工程過程(sep)。2.軟件工程過程支持環(huán)境(sepse,如開發(fā)工具和建模語言等)。3.培訓、指導和咨詢服務(wù)。 二、當前主流的軟件開發(fā)方法 (一)結(jié)構(gòu)化方法 1.結(jié)構(gòu)化程序設(shè)計方法 20世紀60年代,圍繞是否應取消goto語句,人們展開了一場激烈的爭論。最終人們認識到,軟件開發(fā)中的問題的解決不僅僅是簡單的取消goto語句,而是應該改變傳統(tǒng)軟件開發(fā)思維觀念,在此基礎(chǔ)上創(chuàng)建新的程序設(shè)計方法。 圍繞goto語句爭論的結(jié)果使人們形成了新的思維觀念:編寫程序時,在正確地實現(xiàn)了軟件功能的前

3、提下,必須考慮到程序的可維護性,重視程序的可讀性、清晰性和可理解性,而不能隨心所欲地去過分追求程序編寫技巧。 由于使用三種基本程序結(jié)構(gòu)(順序、選擇、循環(huán))組成的程序具有良好的可讀性、清晰性和可理解性,容易維護,所以逐漸成為主流的程序結(jié)構(gòu)標準。按照這樣的新思維觀念,形成了一個新的程序設(shè)計方法結(jié)構(gòu)化程序設(shè)計方法,結(jié)構(gòu)化程序設(shè)計是根據(jù)結(jié)構(gòu)程序設(shè)計原理,將每個模塊的功能用相應的標準控制結(jié)構(gòu)表示出來,從而實現(xiàn)詳細設(shè)計。 2.結(jié)構(gòu)化分析方法和結(jié)構(gòu)化設(shè)計方法 結(jié)構(gòu)化程序設(shè)計方法的巨大成功推動了結(jié)構(gòu)化分析方法和結(jié)構(gòu)化設(shè)計方法的發(fā)展。結(jié)構(gòu)化分析方法根據(jù)分解與抽象的原則,按照系統(tǒng)中數(shù)據(jù)處理的流程,用數(shù)據(jù)流圖來建立

4、系統(tǒng)的功能模塊,從而完成需求分析工作。 結(jié)構(gòu)化設(shè)計方法使用模塊化和自頂向下逐步細化技術(shù),將數(shù)據(jù)流圖等結(jié)構(gòu)化分析的結(jié)果轉(zhuǎn)化為軟件系統(tǒng)總體結(jié)構(gòu),用軟件結(jié)構(gòu)圖來建立系統(tǒng)的物理模型,實現(xiàn)系統(tǒng)的概要設(shè)計。 結(jié)構(gòu)化軟件開發(fā)有效地遏制了軟件危機的蔓延,直到現(xiàn)在仍在發(fā)揮作用。結(jié)構(gòu)化方法簡單實用,技術(shù)成熟,應用廣泛,但難以承擔大規(guī)模的項目或特別復雜的項目,難以解決軟件重用(復用)問題,難于適應需求變化,且軟件維護依然比較復雜。 (二)面向?qū)ο蠓椒?面向?qū)ο筌浖_發(fā)方法包括面向?qū)ο蠓治龇椒ǎ╫bject-orientedanalysis,簡稱ooa)、面向?qū)ο笤O(shè)計方法(object-orienteddesign,

5、簡稱ood)和面向?qū)ο蟪绦蛟O(shè)計(object-orientedprogramming,簡稱oop),其核心是面向?qū)ο蟪绦蛟O(shè)計方法。 一般認為軟件由程序和文檔組成,而程序又由數(shù)據(jù)結(jié)構(gòu)和算法組成,在傳統(tǒng)的程序設(shè)計方法中,數(shù)據(jù)(數(shù)據(jù)結(jié)構(gòu))和施加在數(shù)據(jù)上的操作(算法)被分離成兩個獨立的部分,而程序被看作是工作在數(shù)據(jù)上的一系列過程或函數(shù)的集合,然而客觀世界的實體既有靜態(tài)的屬性(即數(shù)據(jù)),又有動態(tài)的行為(即對數(shù)據(jù)的操作),因此這兩方面內(nèi)容密切相關(guān),由于傳統(tǒng)的程序設(shè)計方法將這兩方面內(nèi)容分離,無形中加深了問題空間與解空間之間的裂痕,增加了軟件開發(fā)的難度。 相反,面向?qū)ο蠓椒ㄓ邢铝幸c:客觀世界是由各種對象(o

6、bject)組成的,復雜對象可以由簡單對象組成。有共同屬性和方法的一組對象抽象為一個類(class)。一個類(子類)可以繼承另外一個類(父類)的方法和屬性,這一特性稱為繼承。對象之間通過傳遞消息進行通信。 以上特點可以歸結(jié)為如下的公式:object-oriented=object+classification +inheritance+communicationwithmessages。在面向?qū)ο蟪绦蛟O(shè)計方法中,數(shù)據(jù)和施加在數(shù)據(jù)上的操作被封裝在一起,形成類和對象的概念,用對象分解取代了傳統(tǒng)方法的功能分解。這一思維觀念創(chuàng)新使得問題空間與解空間的結(jié)構(gòu)基本一致,有利于軟件復用,也與人們通常認識世界的

7、思維方式相符, 更利于加強代碼的易懂性。 在面向?qū)ο蟪绦蛟O(shè)計方法基礎(chǔ)上,許多面向?qū)ο蠓治龊驮O(shè)計(ooaood)方法被提出,比較著名的如wirfs-brock方法、booch方法、coad/yourdon方法、對象建模技術(shù)omt(objectmodelingtechnique)、面向?qū)ο筌浖こ蘯ose(object-orientedsoftwareengineering)等。這些面向?qū)ο蠓治龊驮O(shè)計方法各有各的特點,為了吸收它們各自的優(yōu)點,形成統(tǒng)一的面向?qū)ο蠓治龊驮O(shè)計方法,booch、jacobson和rambaugh三人合作,于20世紀90年代后期提出了統(tǒng)一建模語言uml(unifiedmod

8、elinglanguage)。在uml基礎(chǔ)上形成的面向?qū)ο筌浖_發(fā)方法開始得到廣泛的應用,成為20世紀90年代直到目前占主導地位的軟件開發(fā)方法,面向?qū)ο蟪绦蛟O(shè)計方法這一思維觀念創(chuàng)新可以被稱為程序設(shè)計方法的第二次飛躍。 然而,在面向?qū)ο蠓椒ㄖ?,軟件開發(fā)階段的劃分是比較模糊的,通常要在分析、設(shè)計與實現(xiàn)等階段間進行多次迭代。 (三)形式化方法 隨著科技的發(fā)展,計算機軟件越來越多地被用來執(zhí)行那些可能會導致嚴重后果甚至危及生命的任務(wù),例如宇宙飛船發(fā)射、鐵路安全監(jiān)控和核反應堆監(jiān)控等任務(wù),這些系統(tǒng)的軟件復雜性遠遠超過一般軟件,如何在軟件復雜性增加的情況下仍能確保軟件執(zhí)行結(jié)果安全可靠至關(guān)重要,達到這一目標的一

9、種途徑就是使用形式化方法。 軟件工程中的形式化方法就是依靠數(shù)學模型和計算來描述和驗證一個目標軟件系統(tǒng)的行為和特性,包括需求規(guī)格、設(shè)計和實現(xiàn)等,形式化方法最根本的特征就是建立在嚴格的數(shù)學基礎(chǔ)上,如果一個方法有良好的數(shù)學基礎(chǔ)(這個基礎(chǔ)提供一系列精確定義的概念,如:一致性和完整性,以及定義規(guī)范的實現(xiàn)和正確性),那么它就是形式化的,典型的以形式化規(guī)約語言給出。 形式化方法能很好地解決在軟件開發(fā)中經(jīng)常出現(xiàn)的二義性問題,因為形式化方法主要是符號系統(tǒng),這種符號系統(tǒng)具有一定的數(shù)學性質(zhì)。 形式化方法也有其缺點,首先是規(guī)范所使用的數(shù)學工具與模型并不能保證規(guī)范的絕對正確和安全性;其次是對于任何一種數(shù)學規(guī)范,在其基本的數(shù)學意義下,針對不同的工程背景,并不是只有一種解釋。當然,這些不是二義性問題,而是不同領(lǐng)域?qū)σ?guī)范的解釋和相容性問題。 三、結(jié)論 計算機和網(wǎng)絡(luò)技術(shù)的發(fā)展及其在企業(yè)中的應用,產(chǎn)生許多新的生產(chǎn)模式。這些新的模式對產(chǎn)品進行生命周期的設(shè)計和管理提出了進一步的要求。結(jié)構(gòu)化方法和面向?qū)ο蠓椒ㄊ乾F(xiàn)今主要的軟件開發(fā)過程方法。結(jié)構(gòu)化方法貫徹自頂向下逐步細化的“功能分解”思想,其基于功能分解的特點,使之不足明顯。面向?qū)ο蠓椒▌t是從問題域中客觀存在的事物出發(fā)來構(gòu)造系統(tǒng),用對象

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論