已經在上文介紹的(de)三種軟件開發方法,Parnas方法,J一金ackson (JSP/JSD) 方法。下面就介紹軟章區件開發方法其它的(de)六種方法,問題分析法(PAM),吃近面向對象的(de)軟件開發方法(OO),形式個地化方法,可視化方法,軟件重用(yòng)方慢中法.
軟件開發方法有(yǒu)哪些之-問題分析法(PAM)
PAM(Problem Analysis Method)是北店(shì)80年代末由日立公司提出的(de相妹)一種軟件開發方法。PAM方法希望能兼顧Yourd時長on方法、Jackson方法和自底向上的(輛也de)軟件開發方法的(de)優點,而避免它們的(de)缺陷。上志它的(de)基本思想是(shì):考慮到輸入、輸習你出數據結構,指導系統的(de)分解,在系統分析指導下逐步綜合。這有時一方法的(de)具體步驟是(shì):從輸入、輸出數據結構導出基本處理框鐵湖;分析這些處理框之間(jiān)的(de)先後關系;按先後關系逐步綜合畫風處理框,直到畫(huà)出整個系統的(de)PAD圖行筆。從上述步驟中可以看出,這一方法本質上是(shì)綜這人合的(de)自底向上的(de)方法,但在逐步綜靜綠合之前已進行了有(yǒu)目的(de)的(de)分解,技事這個目的(de)就是(shì)充分考慮系統的(de)輸入、輸出數什廠據結構。PAM方法的(de)另一個優點是書東(shì)使用(yòng)PAD圖。這是(shì)一種二維樹形結構圖,業河是(shì)到目前為(wèi)止最好的(de)詳細設計表示方法之一,靜動遠遠優于NS圖和PDL語言。這一方法在日本如輛較為(wèi)流行,軟件開發的(de)成功率也很高。由于在輸家計入、輸出數據結構與整個系統之間(jiān)同跳那樣存在着鴻溝,這一方法仍隻适用(yòng)于中小型問題。
(PAM (Problem Analysis Method) is put f笑雨orward by Hitachi in the late 80 s 拿黑of a software development 喝那Method. PAM hope to be able to juggle綠用 Yourdon, Jackson me黑人thod and the advantage of bottom-up車東 software developmen理長t method, to avoid the defects 美影of them. Its basic idea 街懂is: considering the input and out兵店put data structures, gui商東dance system decomposition, in the st去光ep by step under the guidance of integ裡時rated system analysis兒爸. Specific steps of this公他 method is: from the input and output 身兒data structure basic p的喝rocessing export box; Ana鐵窗lysis of the relation of before a少匠nd after the processing box; According 美短to successively relationship graduall靜工y integrated processing box, unt就厭il the PAD diagram to dra一司w the whole system. Can be seen 得生from the above step, this app場和roach is essentially 睡海a comprehensive bottom-up approach, 跳通but has been targete亮月d before gradually int場又egrated decomposition, the purpose is 西中to give full considera船志tion to the system input and o行謝utput data structures. A科也nother advantage of PAM火我 method is to use the PAD diag年暗ram. This is a 2 d tree str個術ucture, is by far one o冷這f the best representation method for t行舞he detailed design, figure and 動雜the PDL language is much better t秒技han the NS. This meth睡大od is more popular in Jap綠草an, the success rate of so北公ftware development is also high電畫. Due to the input and output da姐藍ta structures and al們雨so there is a gap bet好學ween the whole system, this method 好近still is only applicable to small and m笑還edium-sized problems.)
軟件開發方法有(yǒu)哪些之-面向對象的(de)軟件開發方法(OO)
面向對象方法(Object-Oriented Met有秒hod)是(shì)一種把面向對象的(de)你又思想應用(yòng)于軟件開發過程中,指導開發活動的(樹西de)系統方法,簡稱OO(Object-Oriented)方法,是(shì)中紙建立在對象”概念基礎上的(de)方法學。對象是(shì)由數據和容許的(麗劇de)操作組成的(de)封裝體,與客觀實體有(yǒu)直接對應關系,視她一個對象類定義了具有(yǒu)相似性質的(de)一組對象。而近妹每繼承性是(shì)對具有(yǒu)層次關系的(de吧來)類的(de)屬性和操作進行共享的(de)一種方式。所謂面向對象就是(秒跳shì)基于對象概念,以對象為(wèi)中心,以類和繼承為(w為她èi)構造機制,來認識、理解、刻畫(huà)客觀世界和小門設計、構建相應的(de)軟件系統。面向對女拍象方法的(de)具體實施步驟如下:
1:面向對象分析(OOA(Object - Oriented A業林nalysis)):從問題陳述入手,分析和構造所黃跳關心的(de)顯示世界問題域的(de)模型,并照黃用(yòng)相應的(de)符号系統表示。模型必須是(校銀shì)簡潔、明确地(dì)抽象目标系統必須做的(de)事,而不是(shì)開得如何做。分析步驟為(wèi):1)确定問題域,包訊器括定義論域,選擇論域,根據需要細化和增加論域;2)區分類和對象,包括定義對象,影答定義類、命名;3)區分整體對象以及組成部分,确定類的場分(de)關系以及結構;4)定義屬性,包括确定屬性,安排屬性;5)定義服站從務,包括确定對象狀态,确定所需服務,确定消息聯結;6)确定附加多門的(de)系統約束。
2:面向對象設計(OOD(Object - 信市oriented Design)):面向對象的(de)設計與傳統的(訊不de)以功能分解為(wèi)主的(de)設計有(yǒu)兒志所不同。具體設計步驟為(wèi):1)應用(yòng)面向對象分析,對用媽長(yòng)其他(tā)方法得(de)到的(d雨女e)系統分析的(de)結果進行改進和完善;2)設計交家你互過程和用(yòng)戶接口;設計任務管理,根據前一步驟确定是(shì)否需要時冷多重任務,确定并發性,确定以何種方式驅動任務,設計子系統以樹票及任務之間(jiān)的(de)協調與通信方式,确笑好定優先級;4)設計全局資源,确定邊界條件,确定任務或子系開師統的(de)軟、硬件分配;5)對象設計。
3:面向對象實現:使用(yòng)面向對象語言實信麗現面向對象的(de)設計相對比較容易。如果車裡用(yòng)非面向對象語言實現面向對象的(de)設計時,特别需要注意和規紅土定保留程序的(de)面向對象結構。傳統的(de)面向功能的(de)方快唱法學中,強調的(de)是(shì)确定和分解系統功能生土,這種做法雖然是(shì)目标的(de)最直接的(de)實現方式,但是化是(shì)由于功能是(shì)軟件系統中最不穩定、最容易變化的(de我雨)方面,因而使系統難以維護和擴展。面向對象設計首先強調來自域的(de)對象訊線,然後圍繞對象設置屬性和操作。用(yòng)面向對象設計,其結構讀錯源于客觀世界穩定的(de)對象結構。因而與傳統軟件設計方法筆現相比,明顯提高了軟件的(de)生産率,可靠性,易重用(yòng)性、易維護性等小家方面的(de)效果。
面向對象的(de)軟件開發方法方法的(de)主要優點得樂是(shì),歸納和演繹思想的(de)綜民海合體現;問題空間(jiān)和解空間(jiān)的(de)同構;繼承機制和計的(de)引入,很好的(de)支持了重用(yòng)性;對象機制北們有(yǒu)力地(dì)支持了信息隐藏的站吧(de)概念;多态性、持久性和動态聯編對程序設計起到了中雜很好的(de)作用(yòng)。
面向對象的(de)軟件開發方法方法從計算機角們市度看有(yǒu)它巨大的(de)優勢,但視票面向對象的(de)軟件開發方法方法在建立客觀匠商系統模型方面有(yǒu)不足之處。面向對象分析一開始就有(yǒu)很多照好計算機方面的(de)術(shù)語和概念不容易被一般用(外影yòng)戶或參與應用(yòng)軟件開發上相的(de)業務人(rén)員(yuán)所了解,即使了解了,也很難正對暗确使用(yòng),為(wèi)真正掌握這些概念需要有(事謝yǒu)一定的(de)計算機背景知識,所以面向對象分析在應用舞音(yòng)軟件開發中,建立客戶系統的(de)描述方面不能被普遍接受和推讀拿廣使用(yòng)。
軟件開發方法有(yǒu)哪些之-形式化方法
形式化方法(formal methods) 是(shì)保證計算機系統正确性說林的(de)一種重要手段。這類方法用(yòng)抽象的(de)數學手草弟段刻畫(huà)計算機軟硬件的(de)結構及其性理日質,并通過形式證明等途徑來提高系統的(de人吧)可靠性。在使用(yòng)形式化方法時,形式化規格說(shuō弟理)明(formal specification)大子 起着重要的(de)作用(yòng)。它的(de)基本思想是(s些數hì),對系統建立一個數學模型,研究提供一種基于得家數學的(de)形式語義學的(de)軟件規格說(行呢shuō)明語言,用(yòng)這種語言嚴格司聽的(de)描述所開發的(de)軟件功能,并由計算機完全機械地(dì)将它道信轉換成可執行代碼。其基本步驟:①定義形式化的(de)規格說(shuō)明語短月言;②對形式化的(de)規格說(shuō)明語言進行實現轉換,即形式票雨化語言可由計算機自動處理,可利用(yòng)相應的(de)軟兵醫件工具對規格說(shuō)明進行分析、查錯和驗證。形式化刀中方法是(shì)以一定的(de)數學概念和理論作基礎來亮見指導軟件的(de)開發的(de),所以具有(yǒu)嚴格、規範的(的答de)優點。同時也因為(wèi)要有(yǒu)較強的(de)數學基礎,不刀上能被普遍接受,形式化規格說(shuō)明的(de)理論和技術(shù)尚見器處于研究階段,未成熟到工程應用(yòng)的(de)程度,因此該方法不太實明個用(yòng)。
軟件開發方法有(yǒu)哪些之-可視化方法
可視化開發90年代軟件界最大的(de)兩個熱點之一銀土。随着圖形用(yòng)戶界面的(de)興起,用(yòng)費喝戶界面在軟件系統中所占的(de)比例也越腦慢來越大,有(yǒu)的(de)高達60~70%。産生這一問村雜題的(de)原因是(shì)圖形界面元素的(de小飛)生成很不方便。為(wèi)此Windows提供了應用(yòng)程序設計接口靜服API(Application Programming Inte分票rface),它包含了600多個函數,極大地(dì)方便什暗了圖形用(yòng)戶界面的(de)開發。但是(shì)在這批函數中,大量的(哥中de)函數參數和使用(yòng)數量更多的(d姐短e)有(yǒu)關常量,使基于Windows API的(de)開發變得(de算音)相當困難。為(wèi)此Borland C++推出了Object Wi的他ndows編程。它将API的(de)各部分用(yòng)對象類進們輛行封裝,提供了大量預定義的(de)類,并為(wèi)這些定義了許多成員(就謝yuán)函數。利用(yòng)子類對父類的(de)朋但繼承性,以及實例對類的(de)函數的(de)引用(yòng),應用(yò雪金ng)程序的(de)開發可以省卻大量類的(de)定義,省卻大量成員(yuá朋務n)函數的(de)定義或隻需作少量修改以定義子類。Object Wi行了ndows還提供了許多标準的(de)缺省處理,大大減少了應用(yò飛喝ng)程序開發的(de)工作量。但要掌握它們,對非妹子專業人(rén)員(yuán)來說(shuō)仍是(shì)一個沉重店多的(de)負擔。為(wèi)此人(rén)們利用(yòng)Win妹快dows API或Borland C++的(de)Object Windows少說開發了一批可視開發工具。可視化開發就是(shì)在可視開發工市音具提供的(de)圖形用(yòng)戶界面上,通過哥行操作界面元素,諸如菜單(Menus)、按鈕(but員船tons)、對話框(dialog boxe信劇s)、編輯框(edit box)、單選框(radio 說相buttons)、複選框(check boxes)、列表框(li物業st boxes)和滾動條(scroll bars)等,由可煙照視開發工具自動生成應用(yòng)軟件。這類應用(yòng)軟是暗件的(de)工作方式是(shì)事件驅動。對每一事件,由系統友購産生相應的(de)消息,再傳遞給相應的(de)消息響應姐村函數。這些消息響應函數是(shì)由可視開發工具在懂工生成軟件時自動裝入的(de)。
軟件開發方法有(yǒu)哪些之-軟件重用(yòng)月用方法
軟件重用(yòng)(Software Reuse,又人區(yòu)稱軟件複用(yòng)或軟件再用(yòng))的(de)概飛些念對于大家并不陌生。早在1968年的(de)NATO商睡軟件工程會議上就已經提出可複用(yòng)庫的(de)思想。開月軟件重用(yòng)的(de)定義也很多,比較權威你區和通用(yòng)的(de)一種是(shì):軟文車件重用(yòng)是(shì)利用(yò醫畫ng)事先建立好的(de)軟部品創建新軟件系統的(de)過程。這個如大定義蘊含着軟件重用(yòng)所必須包含的(de)兩個方作高面:1)系統地(dì)開發可重用(yòng)的(de都這)軟部品。這些軟部品可以是(shì)代碼,但不應該僅僅局限在代碼。我們必須從更銀那廣泛和更高層次來理解,這樣才會帶來更大的(de)重用(yòng)收益。還議比如軟部品還可以是(shì):分析,設計,測試數據,原型,計劃,文檔術好,模闆,框架等等。2)系統地(dì)使用(yò近要ng)這些軟部品作為(wèi)構築模塊,來建立新的(de)系統。
軟件重用(yòng)的(de)好處 能提高軟件生很麗成率:①縮短開發周期 。②降低軟件開發和維護費用(yòng)。③兒器生産更加标準化的(de)軟件。 ④提高軟件開發質量。 ⑤增強軟章如件系統的(de)互操作性。⑥減少軟件開發人報還(rén)員(yuán)數量。⑦使開發人(rén)員(yuán)能作們比較容易的(de)适應不同性質的(de)項目開發。風商
随着OO方法理論體系的(de)完善,軟件媽微複用(yòng)的(de)研究已經逐漸集中到了軟件構件技術(s明老hù)上。構件技術(shù)是(shì)一種更高層次的(de化體)對象技術(shù),它是(shì)獨立于語言和面向應用(村校yòng)程序,它隻規定構件的(de)外在表現形式,而不關心其内部實現方法南亮,它即可用(yòng)OO 編程語言實現,也可用(yòng)非OO 的(d行信e)過程語言實現。隻要遵循構件技術(shù)的(de)規範,各個軟件開發商上兵就可以用(yòng)自己方便的(de)語言去(qù)實現可被重用(yòng體爸)的(de)構件。構件技術(shù)改變了軟件生産方式,将軟件知秒生産劃分為(wèi)構件生産和構件集成兩這影個方面。開發者專心于構件的(de)生産,集成者充著車分利用(yòng)構件,專心于應用(yòng)。這樣的(de)生産模式科快具有(yǒu)如下優點:
(1) 有(yǒu)利于更合理地(dì)組織和使用(yòng)人(下北rén)力和财力資源;
(2) 考慮到跨越軟件開發組織的(de)資源業照和信息共享;
(3) 提高了軟件複用(yòng)程度,從而提高現那軟件生産率和軟件質量。
軟構件技術(shù)(Software component techno對術logy)給軟件業帶來很大的(de)影響。系統集成商(S去請ystem integrators)不再向以我外前那(nà)樣大量的(de)做程序的(d農在e)編碼工作,主要工作将是(shì)評估和選定現有(yǒu)姐信的(de)軟構件,組裝成所需的(de)系統。在未來電問新應用(yòng)程序将會由構築模塊構成,弟廠這些構築模塊(building blocks)(如軟構們廠件和應用(yòng)程序框架)加快了産品的(de)開發速度和企業的(de)應鐵動變能力。以設計模式,框架(The framework)和商業構件形勢物短出現的(de)軟部品可以通過重用(yòng)顯著的(d對子e)提升開發品質和生産力,重用(yòng)反過來也可以顯著的(de)降低問聽成本和縮短軟件開發周期。未來應用(yòng)程序(The applicat靜妹ion)的(de)開發依存于一個開放的(de),便利內市構件選擇和裝配的(de)綜合體系結構。信息系統組織街光必須為(wèi)基于構件開發制定一項戰略。這樣有(yǒu)助于形成明确分工了你又(yòu)全球共享的(de)開放式軟件社會。軟構件代表了新一代軟件技術(sh哥通ù)的(de)發展方向。以上就是(shì)總結的(de)軟件開發方法有(yǒu銀看)哪些的(de)八種方法,問題分析法(PAM),器說面向對象的(de)軟件開發方法(OO),形式化方法,可民議視化方法,軟件重用(yòng)方法.已經在上文介紹的(de)三山自種軟件開發方法,Parnas方法,Jackson (JS靜開P/JSD) 方法。