淺談軟件開(kāi)發(fā)過(guò)程中的方法問(wèn)題-_第1頁(yè)
淺談軟件開(kāi)發(fā)過(guò)程中的方法問(wèn)題-_第2頁(yè)
淺談軟件開(kāi)發(fā)過(guò)程中的方法問(wèn)題-_第3頁(yè)
淺談軟件開(kāi)發(fā)過(guò)程中的方法問(wèn)題-_第4頁(yè)
淺談軟件開(kāi)發(fā)過(guò)程中的方法問(wèn)題-_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、淺談軟件開(kāi)發(fā)過(guò)程中的方法問(wèn)題摘要:先進(jìn)的制造模式要求信息集成和功能集成貫穿于產(chǎn)品生命周期的每一階段,功能的集成需要軟件系統(tǒng)的支持,從而推動(dòng)先進(jìn)制造模式的實(shí)現(xiàn)。軟件開(kāi)發(fā)過(guò)程是建造軟件解決方案的關(guān)鍵要素。本文詳細(xì)討論了兩類主要的過(guò)程開(kāi)發(fā)方法,即面向?qū)ο蠓椒ê徒Y(jié)構(gòu)化方法。關(guān)鍵詞:軟件開(kāi)發(fā)過(guò)程;面向?qū)ο蠓椒?結(jié)構(gòu)化方法methodological issues in the process of software development xia xue(beijing elite creation technologyco.,ltd.,beijing100081,chinaabstract:advan

2、ced manufacturing model requires information integration and functional integration throughout the product life cycle at every stage of the functional integration needs the support of the software system,thus promoting the realization of advanced manufacturing mode.the software development process i

3、s a key element of construction software solutions.this paper discusses the two main types of process development methods,object-oriented methods and structured methods.keywords:software development process;object-orientedmethods;structured approach一、軟件系統(tǒng)的開(kāi)發(fā)過(guò)程軟件可劃分為智能軟件、系統(tǒng)軟件和應(yīng)用軟件三個(gè)領(lǐng)域。由于不同的軟件采用的開(kāi)發(fā)知識(shí)不

4、同,從而構(gòu)成各自相應(yīng)的方法。盡管,智能軟件和應(yīng)用軟件分屬不同的領(lǐng)域,但智能軟件和應(yīng)用軟件都是計(jì)算機(jī)軟件。建造軟件系統(tǒng)的解決方案由三個(gè)關(guān)鍵的相互關(guān)聯(lián)的基本要素組成:1.軟件工程過(guò)程(sep。2.軟件工程過(guò)程支持環(huán)境(sepse,如開(kāi)發(fā)工具和建模語(yǔ)言等。3.培訓(xùn)、指導(dǎo)和咨詢服務(wù)。watts humphrey曾經(jīng)說(shuō)過(guò),“軟件工程過(guò)程就是將客戶需求轉(zhuǎn)化為軟件產(chǎn)品的所有必須活動(dòng)的集合”。在整個(gè)解決方案中首當(dāng)其沖而且也是最重要的要素是過(guò)程。二、當(dāng)前主流的軟件開(kāi)發(fā)方法(一結(jié)構(gòu)化方法1.結(jié)構(gòu)化程序設(shè)計(jì)方法20世紀(jì)60年代,圍繞是否應(yīng)取消goto語(yǔ)句,人們展開(kāi)了一場(chǎng)激烈的爭(zhēng)論。最終人們認(rèn)識(shí)到,軟件開(kāi)發(fā)中的問(wèn)題的

5、解決不僅僅是簡(jiǎn)單的取消goto語(yǔ)句,而是應(yīng)該改變傳統(tǒng)軟件開(kāi)發(fā)思維觀念,在此基礎(chǔ)上創(chuàng)建新的程序設(shè)計(jì)方法。圍繞goto語(yǔ)句爭(zhēng)論的結(jié)果使人們形成了新的思維觀念:編寫(xiě)程序時(shí),在正確地實(shí)現(xiàn)了軟件功能的前提下,必須考慮到程序的可維護(hù)性,重視程序的可讀性、清晰性和可理解性,而不能隨心所欲地去過(guò)分追求程序編寫(xiě)技巧。由于使用三種基本程序結(jié)構(gòu)(順序、選擇、循環(huán)組成的程序具有良好的可讀性、清晰性和可理解性,容易維護(hù),所以逐漸成為主流的程序結(jié)構(gòu)標(biāo)準(zhǔn)。按照這樣的新思維觀念,形成了一個(gè)新的程序設(shè)計(jì)方法結(jié)構(gòu)化程序設(shè)計(jì)方法,結(jié)構(gòu)化程序設(shè)計(jì)是根據(jù)結(jié)構(gòu)程序設(shè)計(jì)原理,將每個(gè)模塊的功能用相應(yīng)的標(biāo)準(zhǔn)控制結(jié)構(gòu)表示出來(lái),從而實(shí)現(xiàn)詳細(xì)設(shè)計(jì)。

6、2.結(jié)構(gòu)化分析方法和結(jié)構(gòu)化設(shè)計(jì)方法結(jié)構(gòu)化程序設(shè)計(jì)方法的巨大成功推動(dòng)了結(jié)構(gòu)化分析方法和結(jié)構(gòu)化設(shè)計(jì)方法的發(fā)展。1974年,stevens、myers和constantine發(fā)表文章structured analysis,提出了結(jié)構(gòu)化分析和結(jié)構(gòu)化設(shè)計(jì)的概念。結(jié)構(gòu)化分析方法根據(jù)分解與抽象的原則,按照系統(tǒng)中數(shù)據(jù)處理的流程,用數(shù)據(jù)流圖來(lái)建立系統(tǒng)的功能模塊,從而完成需求分析工作。結(jié)構(gòu)化設(shè)計(jì)方法使用模塊化和自頂向下逐步細(xì)化技術(shù),將數(shù)據(jù)流圖等結(jié)構(gòu)化分析的結(jié)果轉(zhuǎn)化為軟件系統(tǒng)總體結(jié)構(gòu),用軟件結(jié)構(gòu)圖來(lái)建立系統(tǒng)的物理模型,實(shí)現(xiàn)系統(tǒng)的概要設(shè)計(jì)。結(jié)構(gòu)化軟件開(kāi)發(fā)方法成為20世紀(jì)70年代和80年代占主導(dǎo)地位的軟件開(kāi)發(fā)方法,它有

7、效地遏制了軟件危機(jī)的蔓延,直到現(xiàn)在仍在發(fā)揮作用。結(jié)構(gòu)化方法簡(jiǎn)單實(shí)用,技術(shù)成熟,應(yīng)用廣泛,但難以承擔(dān)大規(guī)模的項(xiàng)目或特別復(fù)雜的項(xiàng)目,難以解決軟件重用(復(fù)用問(wèn)題,難于適應(yīng)需求變化,且軟件維護(hù)依然比較復(fù)雜。(二面向?qū)ο蠓椒嫦驅(qū)ο筌浖_(kāi)發(fā)方法包括面向?qū)ο蠓治龇椒?object-oriented analysis,簡(jiǎn)稱ooa、面向?qū)ο笤O(shè)計(jì)方法(object -oriented design,簡(jiǎn)稱ood和面向?qū)ο蟪绦蛟O(shè)計(jì)(object-oriented pro -gramming,簡(jiǎn)稱oop,其核心是面向?qū)ο蟪绦蛟O(shè)計(jì)方法。一般認(rèn)為軟件由程序和文檔組成,而程序又由數(shù)據(jù)結(jié)構(gòu)和算法組成,在傳統(tǒng)的程序設(shè)計(jì)方法中,

8、數(shù)據(jù)(數(shù)據(jù)結(jié)構(gòu)和施加在數(shù)據(jù)上的操作(算法被分離成兩個(gè)獨(dú)立的部分,而程序被看作是工作在數(shù)據(jù)上的一系列過(guò)程或函數(shù)的集合,然而客觀世界的實(shí)體既有靜態(tài)的屬性(即數(shù)據(jù),又有動(dòng)態(tài)的行為(即對(duì)數(shù)據(jù)的操作,因此這兩方面內(nèi)容密切相關(guān),由于傳統(tǒng)的程序設(shè)計(jì)方法將這兩方面內(nèi)容分離,無(wú)形中加深了問(wèn)題空間與解空間之間的裂痕,增加了軟件開(kāi)發(fā)的難度。相反,面向?qū)ο蠓椒ㄓ邢铝幸c(diǎn):客觀世界是由各種對(duì)象(object組成的,復(fù)雜對(duì)象可以由簡(jiǎn)單對(duì)象組成。有共同屬性和方法的一組對(duì)象抽象為一個(gè)類(class。一個(gè)類(子類可以繼承另外一個(gè)類(父類的方法和屬性,這一特性稱為繼承。對(duì)象之間通過(guò)傳遞消息進(jìn)行通信。以上特點(diǎn)可以歸結(jié)為如下的公式:

9、object-ori-ented =object +classification +inheritance +commu-nication with messages。在面向?qū)ο蟪绦蛟O(shè)計(jì)方法中,數(shù)據(jù)和施加在數(shù)據(jù)上的操作被封裝在一起,形成類和對(duì)象的概念,用對(duì)象分解取代了傳統(tǒng)方法的功能分解。這一思維觀念創(chuàng)新使得問(wèn)題空間與解空間的結(jié)構(gòu)基本一致,有利于軟件復(fù)用,也與人們通常認(rèn)識(shí)世界的思維方式相符,更利于加強(qiáng)代碼的易懂性。20世紀(jì)60年代末,kristen nygaard和ole-johan dahl在挪威計(jì)算中心開(kāi)發(fā)出simula67語(yǔ)言,提出許多面向?qū)ο蟮母拍睢?972年,alankay引用simu

10、la語(yǔ)言中關(guān)于類和對(duì)象的概念,開(kāi)發(fā)出第一種真正的面向?qū)ο笳Z(yǔ)言smaltalk。smalhalk語(yǔ)言的發(fā)布引起了人們的廣泛關(guān)注,隨后產(chǎn)生了數(shù)十種面向?qū)ο笳Z(yǔ)言,例如著名的c+和java。在面向?qū)ο蟪绦蛟O(shè)計(jì)方法基礎(chǔ)上,許多面向?qū)ο蠓治龊驮O(shè)計(jì)(ooa /ood方法被提出,比較著名的如wirfs -brock方法、booch 方法、coad/yourdon方法、對(duì)象建模技術(shù) omt(objectmodeling technique、面向?qū)ο筌浖こ蘯ose(object-oriented software engineering等。這些面向?qū)ο蠓治龊驮O(shè)計(jì)方法各有各的特點(diǎn),為了吸收它們各自的優(yōu)點(diǎn),形成統(tǒng)一

11、的面向?qū)ο蠓治龊驮O(shè)計(jì)方法,booch、jacobson 和 rambaugh 三人合作,于 20 世紀(jì) 90 年代后期提 出了統(tǒng)一建模語(yǔ)言 uml(unified modeling language) 。在 uml 基 礎(chǔ)上形成的面向?qū)ο筌浖_(kāi)發(fā)方法開(kāi)始得到廣泛的應(yīng)用,成為 20 世紀(jì) 90 年代直到目前占主導(dǎo)地位的軟件開(kāi)發(fā)方法,面向?qū)ο蟪绦?設(shè)計(jì)方法這一思維觀念創(chuàng)新可以被稱為程序設(shè)計(jì)方法的第二次飛 躍。 然而,在面向?qū)ο蠓椒ㄖ?,軟件開(kāi)發(fā)階段的劃分是比較模糊的, 通常要在分析、設(shè)計(jì)與實(shí)現(xiàn)等階段間進(jìn)行多次迭代。 (三)形式化方法 隨著科技的發(fā)展,計(jì)算機(jī)軟件越來(lái)越多地被用來(lái)執(zhí)行那些可能會(huì) 導(dǎo)致嚴(yán)重

12、后果甚至危及生命的任務(wù),例如宇宙飛船發(fā)射、鐵路安全 監(jiān)控和核反應(yīng)堆監(jiān)控等任務(wù),這些系統(tǒng)的軟件復(fù)雜性遠(yuǎn)遠(yuǎn)超過(guò)一般 軟件,如何在軟件復(fù)雜性增加的情況下仍能確保軟件執(zhí)行結(jié)果安全 可靠至關(guān)重要,達(dá)到這一目標(biāo)的一種途徑就是使用形式化方法。 軟件工程中的形式化方法就是依靠數(shù)學(xué)模型和計(jì)算來(lái)描述和驗(yàn)證 一個(gè)目標(biāo)軟件系統(tǒng)的行為和特性,包括需求規(guī)格、設(shè)計(jì)和實(shí)現(xiàn)等, 形式化方法最根本的特征就是建立在嚴(yán)格的數(shù)學(xué)基礎(chǔ)上,如果一個(gè) 方法有良好的數(shù)學(xué)基礎(chǔ) (這個(gè)基礎(chǔ)提供一系列精確定義的概念, 如:一致性和完整性,以及定義規(guī)范的實(shí)現(xiàn)和正確性) ,那么它就 是形式化的,典型的以形式化規(guī)約語(yǔ)言給出。 形式化方法能很好地解決在軟件

13、開(kāi)發(fā)中經(jīng)常出現(xiàn)的二義性問(wèn)題, 因?yàn)樾问交椒ㄖ饕欠?hào)系統(tǒng),這種符號(hào)系統(tǒng)具有一定的數(shù)學(xué)性 質(zhì)。 形式化方法也有其缺點(diǎn),首先是規(guī)范所使用的數(shù)學(xué)工具與模型并 不能保證規(guī)范的絕對(duì)正確和安全性;其次是對(duì)于任何一種數(shù)學(xué)規(guī) 范,在其基本的數(shù)學(xué)意義下,針對(duì)不同的工程背景,并不是只有一 種解釋。當(dāng)然,這些不是二義性問(wèn)題,而是不同領(lǐng)域?qū)σ?guī)范的解釋 和相容性問(wèn)題。 三、結(jié)論 計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的發(fā)展及其在制造業(yè)中的應(yīng)用,產(chǎn)生許多新的 制造模式,如并行工程,敏捷制造和全球制造。這些新的模式對(duì)產(chǎn) 品進(jìn)行生命周期的設(shè)計(jì)和管理提出了進(jìn)一步的要求。結(jié)構(gòu)化方法和 面向?qū)ο蠓椒ㄊ乾F(xiàn)今主要的軟件開(kāi)發(fā)過(guò)程方法。構(gòu)化方法貫徹自頂 向下逐步細(xì)化的“功能分解”思想,其基于功能分解的特點(diǎn),使之 不足明顯。面向?qū)ο蠓椒▌t是從問(wèn)題域中客觀存在的事物出發(fā)來(lái)構(gòu) 造系統(tǒng),用對(duì)象作為對(duì)這些事物的抽象表示,并以此作為系統(tǒng)的基 本構(gòu)成單位,面向?qū)ο蠓椒ê徒Y(jié)構(gòu)化方法的相比有了更大的進(jìn)步。 參考文獻(xiàn): 1王健,程虎.系統(tǒng)軟件開(kāi)發(fā)過(guò)程中的軟件工程技術(shù)j.計(jì)算機(jī) 研究與發(fā)展,1996,33(04:263-271 2ivar jacobson. the road to th

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論