




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、淺談軟件開發(fā)過程中的方法問題摘要:先進的制造模式要求信息集成和功能集成貫穿于產(chǎn)品生命周期的每一階段,功能的集成需要軟件系統(tǒng)的支持,從而推動先進制造模式的實現(xiàn)。軟件開發(fā)過程是建造軟件解決方案的關鍵要素。本文詳細討論了兩類主要的過程開發(fā)方法,即面向對象方法和結構化方法。關鍵詞:軟件開發(fā)過程;面向對象方法;結構化方法methodological issues in the process of software developmentxia xue(beijing elite creation technology co.,ltd.,beijing100081,china)abstract:adva
2、nced 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
3、is 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-oriented methods;structured approach一、軟件系統(tǒng)的開發(fā)過程軟件可劃分為智能軟件、系統(tǒng)軟件和應用軟件三個領域。由于不同的軟件采用的開發(fā)知
4、識不同,從而構成各自相應的方法。盡管,智能軟件和應用軟件分屬不同的領域,但智能軟件和應用軟件都是計算機軟件。建造軟件系統(tǒng)的解決方案由三個關鍵的相互關聯(lián)的基本要素組成:1.軟件工程過程(sep)。2.軟件工程過程支持環(huán)境(sepse,如開發(fā)工具和建模語言等)。3.培訓、指導和咨詢服務。watts humphrey曾經(jīng)說過,“軟件工程過程就是將客戶需求轉化為軟件產(chǎn)品的所有必須活動的集合”。在整個解決方案中首當其沖而且也是最重要的要素是過程。二、當前主流的軟件開發(fā)方法(一)結構化方法1.結構化程序設計方法20世紀60年代,圍繞是否應取消goto語句,人們展開了一場激烈的爭論。最終人們認識到,軟件開發(fā)
5、中的問題的解決不僅僅是簡單的取消goto語句,而是應該改變傳統(tǒng)軟件開發(fā)思維觀念,在此基礎上創(chuàng)建新的程序設計方法。圍繞goto語句爭論的結果使人們形成了新的思維觀念:編寫程序時,在正確地實現(xiàn)了軟件功能的前提下,必須考慮到程序的可維護性,重視程序的可讀性、清晰性和可理解性,而不能隨心所欲地去過分追求程序編寫技巧。由于使用三種基本程序結構(順序、選擇、循環(huán))組成的程序具有良好的可讀性、清晰性和可理解性,容易維護,所以逐漸成為主流的程序結構標準。按照這樣的新思維觀念,形成了一個新的程序設計方法結構化程序設計方法,結構化程序設計是根據(jù)結構程序設計原理,將每個模塊的功能用相應的標準控制結構表示出來,從而實
6、現(xiàn)詳細設計。2.結構化分析方法和結構化設計方法結構化程序設計方法的巨大成功推動了結構化分析方法和結構化設計方法的發(fā)展。1974年,stevens、myers和constantine發(fā)表文章structured analysis,提出了結構化分析和結構化設計的概念。結構化分析方法根據(jù)分解與抽象的原則,按照系統(tǒng)中數(shù)據(jù)處理的流程,用數(shù)據(jù)流圖來建立系統(tǒng)的功能模塊,從而完成需求分析工作。結構化設計方法使用模塊化和自頂向下逐步細化技術,將數(shù)據(jù)流圖等結構化分析的結果轉化為軟件系統(tǒng)總體結構,用軟件結構圖來建立系統(tǒng)的物理模型,實現(xiàn)系統(tǒng)的概要設計。結構化軟件開發(fā)方法成為20世紀70年代和80年代占主導地位的軟件開
7、發(fā)方法,它有效地遏制了軟件危機的蔓延,直到現(xiàn)在仍在發(fā)揮作用。結構化方法簡單實用,技術成熟,應用廣泛,但難以承擔大規(guī)模的項目或特別復雜的項目,難以解決軟件重用(復用)問題,難于適應需求變化,且軟件維護依然比較復雜。(二)面向對象方法面向對象軟件開發(fā)方法包括面向對象分析方法(object-oriented analysis,簡稱ooa)、面向對象 設 計 方 法 (object -oriented design, 簡 稱ood)和面向對象程序設計(object-oriented programming,簡稱oop),其核心是面向對象程序設計方法。一般認為軟件由程序和文檔組成,而程序又由數(shù)據(jù)結構和算
8、法組成,在傳統(tǒng)的程序設計方法中,數(shù)據(jù)(數(shù)據(jù)結構)和施加在數(shù)據(jù)上的操作(算法)被分離成兩個獨立的部分,而程序被看作是工作在數(shù)據(jù)上的一系列過程或函數(shù)的集合,然而客觀世界的實體既有靜態(tài)的屬性(即數(shù)據(jù)),又有動態(tài)的行為(即對數(shù)據(jù)的操作),因此這兩方面內(nèi)容密切相關,由于傳統(tǒng)的程序設計方法將這兩方面內(nèi)容分離,無形中加深了問題空間與解空間之間的裂痕,增加了軟件開發(fā)的難度。相反,面向對象方法有下列要點:客觀世界是由各種對象(object)組成的,復雜對象可以由簡單對象組成。有共同屬性和方法的一組對象抽象為一個類(class)。一個類(子類)可以繼承另外一個類(父類)的方法和屬性,這一特性稱為繼承。對象之間通過
9、傳遞消息進行通信。以上特點可以歸結為如下的公式:object-oriented =object +classification +inheritance +communication with messages。在面向對象程序設計方法中,數(shù)據(jù)和施加在數(shù)據(jù)上的操作被封裝在一起,形成類和對象的概念,用對象分解取代了傳統(tǒng)方法的功能分解。這一思維觀念創(chuàng)新使得問題空間與解空間的結構基本一致,有利于軟件復用,也與人們通常認識世界的思維方式相符,更利于加強代碼的易懂性。20世紀60年代末,kristen nygaard和ole-johan dahl在挪威計算中心開發(fā)出simula67語言,提出許多面向對象的
10、概念。1972年,alankay引用simula語言中關于類和對象的概念,開發(fā)出第一種真正的面向對象語言smaltalk。smalhalk語言的發(fā)布引起了人們的廣泛關注,隨后產(chǎn)生了數(shù)十種面向對象語言,例如著名的c+和java。在面向對象程序設計方法基礎上,許多面向對象分析和設計(ooaood)方法被提出,比較著名的如wirfs -brock方法、booch 方法、coad/yourdon方法、對象建模技術 omt(objectmodeling technique)、面向對象軟件工程oose(object-oriented software engineering)等。這些面向對象分析和設計方法
11、各有各的特點,為了吸收它們各自的優(yōu)點,形成統(tǒng)一的面向對象分析和設計方法,booch、jacobson和rambaugh三人合作,于20世紀90年代后期提出了統(tǒng)一建模語言uml(unified modeling language)。在uml基礎上形成的面向對象軟件開發(fā)方法開始得到廣泛的應用,成為20世紀90年代直到目前占主導地位的軟件開發(fā)方法,面向對象程序設計方法這一思維觀念創(chuàng)新可以被稱為程序設計方法的第二次飛躍。然而,在面向對象方法中,軟件開發(fā)階段的劃分是比較模糊的,通常要在分析、設計與實現(xiàn)等階段間進行多次迭代。(三)形式化方法隨著科技的發(fā)展,計算機軟件越來越多地被用來執(zhí)行那些可能會導致嚴重后
12、果甚至危及生命的任務,例如宇宙飛船發(fā)射、鐵路安全監(jiān)控和核反應堆監(jiān)控等任務,這些系統(tǒng)的軟件復雜性遠遠超過一般軟件,如何在軟件復雜性增加的情況下仍能確保軟件執(zhí)行結果安全可靠至關重要,達到這一目標的一種途徑就是使用形式化方法。軟件工程中的形式化方法就是依靠數(shù)學模型和計算來描述和驗證一個目標軟件系統(tǒng)的行為和特性,包括需求規(guī)格、設計和實現(xiàn)等,形式化方法最根本的特征就是建立在嚴格的數(shù)學基礎上,如果一個方法有良好的數(shù)學基礎 (這個基礎提供一系列精確定義的概念,如:一致性和完整性,以及定義規(guī)范的實現(xiàn)和正確性),那么它就是形式化的,典型的以形式化規(guī)約語言給出。形式化方法能很好地解決在軟件開發(fā)中經(jīng)常出現(xiàn)的二義性問
13、題,因為形式化方法主要是符號系統(tǒng),這種符號系統(tǒng)具有一定的數(shù)學性質(zhì)。形式化方法也有其缺點,首先是規(guī)范所使用的數(shù)學工具與模型并不能保證規(guī)范的絕對正確和安全性;其次是對于任何一種數(shù)學規(guī)范,在其基本的數(shù)學意義下,針對不同的工程背景,并不是只有一種解釋。當然,這些不是二義性問題,而是不同領域對規(guī)范的解釋和相容性問題。三、結論計算機和網(wǎng)絡技術的發(fā)展及其在制造業(yè)中的應用,產(chǎn)生許多新的制造模式,如并行工程,敏捷制造和全球制造。這些新的模式對產(chǎn)品進行生命周期的設計和管理提出了進一步的要求。結構化方法和面向對象方法是現(xiàn)今主要的軟件開發(fā)過程方法。構化方法貫徹自頂向下逐步細化的“功能分解”思想,其基于功能分解的特點,使之不足明顯。面向對象方法則是從問題域中客觀存在的事物出發(fā)來構造系統(tǒng),用對象作為對這些事物的抽象表示,并以此作為系統(tǒng)的基本構成單位,面向對象方法和結構化方法的相比有了更大的進步。參考文獻:1王健,程虎.系統(tǒng)軟件開發(fā)過程中的軟件工程技術j.計算機研究與發(fā)展,1996,33(04):263-2712ivar jacobson. the road to the unified sof
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國雙層不銹鋼保溫杯數(shù)據(jù)監(jiān)測研究報告
- 廣東省揭陽市新華中學2024-2025學年高一下學期3月第一次月考化學試卷(含答案)
- 2025年軍隊文職人員招聘之軍隊文職管理學通關試題庫(有答案)
- 2019-2025年消防設施操作員之消防設備基礎知識押題練習試題A卷含答案
- 2019-2025年消防設施操作員之消防設備基礎知識考前沖刺模擬試卷A卷含答案
- 2025年軍隊文職人員招聘之軍隊文職教育學綜合練習試卷B卷附答案
- 2025年軍隊文職人員招聘之軍隊文職法學每日一練試卷A卷含答案
- 營養(yǎng)與食品衛(wèi)生學-營養(yǎng)學566
- 2025年大學生防詐騙知識競賽題庫試題及答案(共90題)
- 專業(yè)知識培訓課件模板
- 科目一知識大全課件
- 2016-2023年大慶醫(yī)學高等??茖W校高職單招(英語/數(shù)學/語文)筆試歷年參考題庫含答案解析
- 泛微協(xié)同OA與SAP集成應用解決方案V講訴
- 探討電磁感應現(xiàn)象對電能轉化效率的影響
- EHS法律法規(guī)清單及合規(guī)性評估
- 橋梁定期檢查-主要部件檢查要點與評定標準
- 長途汽車客運站調(diào)研報告
- 陜西各市(精確到縣區(qū))地圖PPT課件(可編輯版)
- JTG C10-2007 公路勘測規(guī)范正式版
- (完整版)國際金融法
- 近代德國的學前教育課件
評論
0/150
提交評論