• 首頁
  • >
  • 資訊信息
  • >
  • 【軟件定制開(kāi)發(fā)】軟件開(kāi)發(fā)方法有…

【軟件定制開(kāi)發(fā)】軟件開(kāi)發(fā)方法有哪些(二)


作者:紅掌網絡    訪問量:442    發(fā)布時(shí)間:2020-05-25 07:22


已經(jīng)在上文介紹的三種(zhǒng)軟件開(kāi)發(fā)方法,Parnas方法,Jackson (JSP/JSD) 方法。下面(miàn)就(jiù)介紹軟件開(kāi)發(fā)方法其它的六種(zhǒng)方法,問題分析法(PAM),面(miàn)向(xiàng)對(duì)象的軟件開(kāi)發(fā)方法(OO),形式化方法,可視化方法,軟件重用方法.
軟件開(kāi)發(fā)方法有哪些之-問題分析法(PAM)
PAM(Problem Analysis Method)是80年代末由日立公司提出的一種(zhǒng)軟件開(kāi)發(fā)方法。PAM方法希望能(néng)兼顧Yourdon方法、Jackson方法和自底向(xiàng)上的軟件開(kāi)發(fā)方法的優點,而避免它們的缺陷。它的基本思想是:考慮到輸入、輸出數據結構,指導系統的分解,在系統分析指導下逐步綜合。這(zhè)一方法的具體步驟是:從輸入、輸出數據結構導出基本處理框;分析這(zhè)些處理框之間的先後(hòu)關系;按先後(hòu)關系逐步綜合處理框,直到畫出整個系統的PAD圖。從上述步驟中可以看出,這(zhè)一方法本質上是綜合的自底向(xiàng)上的方法,但在逐步綜合之前已進(jìn)行了有目的的分解,這(zhè)個目的就(jiù)是充分考慮系統的輸入、輸出數據結構。PAM方法的另一個優點是使用PAD圖。這(zhè)是一種(zhǒng)二維樹形結構圖,是到目前爲止最好(hǎo)的詳細設計表示方法之一,遠遠優于NS圖和PDL語言。這(zhè)一方法在日本較爲流行,軟件開(kāi)發(fā)的成(chéng)功率也很高。由于在輸入、輸出數據結構與整個系統之間同樣(yàng)存在著(zhe)鴻溝,這(zhè)一方法仍隻适用于中小型問題。
(PAM (Problem Analysis Method) is put forward by Hitachi in the late 80 s of a software development Method. PAM hope to be able to juggle Yourdon, Jackson method and the advantage of bottom-up software development method, to avoid the defects of them. Its basic idea is: considering the input and output data structures, guidance system decomposition, in the step by step under the guidance of integrated system analysis. Specific steps of this method is: from the input and output data structure basic processing export box; Analysis of the relation of before and after the processing box; According to successively relationship gradually integrated processing box, until the PAD diagram to draw the whole system. Can be seen from the above step, this approach is essentially a comprehensive bottom-up approach, but has been targeted before gradually integrated decomposition, the purpose is to give full consideration to the system input and output data structures. Another advantage of PAM method is to use the PAD diagram. This is a 2 d tree structure, is by far one of the best representation method for the detailed design, figure and the PDL language is much better than the NS. This method is more popular in Japan, the success rate of software development is also high. Due to the input and output data structures and also there is a gap between the whole system, this method still is only applicable to small and medium-sized problems.)
軟件開(kāi)發(fā)方法有哪些之-面(miàn)向(xiàng)對(duì)象的軟件開(kāi)發(fā)方法(OO)
面(miàn)向(xiàng)對(duì)象方法(Object-Oriented Method)是一種(zhǒng)把面(miàn)向(xiàng)對(duì)象的思想應用于軟件開(kāi)發(fā)過(guò)程中,指導開(kāi)發(fā)活動的系統方法,簡稱OO(Object-Oriented)方法,是建立在對(duì)象”概念基礎上的方法學(xué)。對(duì)象是由數據和容許的操作組成(chéng)的封裝體,與客觀實體有直接對(duì)應關系,一個對(duì)象類定義了具有相似性質的一組對(duì)象。而每繼承性是對(duì)具有層次關系的類的屬性和操作進(jìn)行共享的一種(zhǒng)方式。所謂面(miàn)向(xiàng)對(duì)象就(jiù)是基于對(duì)象概念,以對(duì)象爲中心,以類和繼承爲構造機制,來認識、理解、刻畫客觀世界和設計、構建相應的軟件系統。面(miàn)向(xiàng)對(duì)象方法的具體實施步驟如下:
1:面(miàn)向(xiàng)對(duì)象分析(OOA(Object - Oriented Analysis)):從問題陳述入手,分析和構造所關心的顯示世界問題域的模型,并用相應的符号系統表示。模型必須是簡潔、明确地抽象目标系統必須做的事(shì),而不是如何做。分析步驟爲:1)确定問題域,包括定義論域,選擇論域,根據需要細化和增加論域;2)區分類和對(duì)象,包括定義對(duì)象,定義類、命名;3)區分整體對(duì)象以及組成(chéng)部分,确定類的關系以及結構;4)定義屬性,包括确定屬性,安排屬性;5)定義服務,包括确定對(duì)象狀态,确定所需服務,确定消息聯結;6)确定附加的系統約束。
2:面(miàn)向(xiàng)對(duì)象設計(OOD(Object - oriented Design)):面(miàn)向(xiàng)對(duì)象的設計與傳統的以功能(néng)分解爲主的設計有所不同。具體設計步驟爲:1)應用面(miàn)向(xiàng)對(duì)象分析,對(duì)用其他方法得到的系統分析的結果進(jìn)行改進(jìn)和完善;2)設計交互過(guò)程和用戶接口;設計任務管理,根據前一步驟确定是否需要多重任務,确定并發(fā)性,确定以何種(zhǒng)方式驅動任務,設計子系統以及任務之間的協調與通信方式,确定優先級;4)設計全局資源,确定邊界條件,确定任務或子系統的軟、硬件分配;5)對(duì)象設計。
3:面(miàn)向(xiàng)對(duì)象實現:使用面(miàn)向(xiàng)對(duì)象語言實現面(miàn)向(xiàng)對(duì)象的設計相對(duì)比較容易。如果用非面(miàn)向(xiàng)對(duì)象語言實現面(miàn)向(xiàng)對(duì)象的設計時(shí),特别需要注意和規定保留程序的面(miàn)向(xiàng)對(duì)象結構。傳統的面(miàn)向(xiàng)功能(néng)的方法學(xué)中,強調的是确定和分解系統功能(néng),這(zhè)種(zhǒng)做法雖然是目标的最直接的實現方式,但是由于功能(néng)是軟件系統中最不穩定、最容易變化的方面(miàn),因而使系統難以維護和擴展。面(miàn)向(xiàng)對(duì)象設計首先強調來自域的對(duì)象,然後(hòu)圍繞對(duì)象設置屬性和操作。用面(miàn)向(xiàng)對(duì)象設計,其結構源于客觀世界穩定的對(duì)象結構。因而與傳統軟件設計方法相比,明顯提高了軟件的生産率,可靠性,易重用性、易維護性等方面(miàn)的效果。
面(miàn)向(xiàng)對(duì)象的軟件開(kāi)發(fā)方法方法的主要優點是,歸納和演繹思想的綜合體現;問題空間和解空間的同構;繼承機制的引入,很好(hǎo)的支持了重用性;對(duì)象機制有力地支持了信息隐藏的概念;多态性、持久性和動态聯編對(duì)程序設計起(qǐ)到了很好(hǎo)的作用。
面(miàn)向(xiàng)對(duì)象的軟件開(kāi)發(fā)方法方法從計算機角度看有它巨大的優勢,但面(miàn)向(xiàng)對(duì)象的軟件開(kāi)發(fā)方法方法在建立客觀系統模型方面(miàn)有不足之處。面(miàn)向(xiàng)對(duì)象分析一開(kāi)始就(jiù)有很多計算機方面(miàn)的術語和概念不容易被(bèi)一般用戶或參與應用軟件開(kāi)發(fā)的業務人員所了解,即使了解了,也很難正确使用,爲真正掌握這(zhè)些概念需要有一定的計算機背景知識,所以面(miàn)向(xiàng)對(duì)象分析在應用軟件開(kāi)發(fā)中,建立客戶系統的描述方面(miàn)不能(néng)被(bèi)普遍接受和推廣使用。
軟件開(kāi)發(fā)方法有哪些之-形式化方法
形式化方法(formal methods) 是保證計算機系統正确性的一種(zhǒng)重要手段。這(zhè)類方法用抽象的數學(xué)手段刻畫計算機軟硬件的結構及其性質,并通過(guò)形式證明等途徑來提高系統的可靠性。在使用形式化方法時(shí),形式化規格說(shuō)明(formal specification) 起(qǐ)著(zhe)重要的作用。它的基本思想是,對(duì)系統建立一個數學(xué)模型,研究提供一種(zhǒng)基于數學(xué)的形式語義學(xué)的軟件規格說(shuō)明語言,用這(zhè)種(zhǒng)語言嚴格的描述所開(kāi)發(fā)的軟件功能(néng),并由計算機完全機械地將(jiāng)它轉換成(chéng)可執行代碼。其基本步驟:①定義形式化的規格說(shuō)明語言;②對(duì)形式化的規格說(shuō)明語言進(jìn)行實現轉換,即形式化語言可由計算機自動處理,可利用相應的軟件工具對(duì)規格說(shuō)明進(jìn)行分析、查錯和驗證。形式化方法是以一定的數學(xué)概念和理論作基礎來指導軟件的開(kāi)發(fā)的,所以具有嚴格、規範的優點。同時(shí)也因爲要有較強的數學(xué)基礎,不能(néng)被(bèi)普遍接受,形式化規格說(shuō)明的理論和技術尚處于研究階段,未成(chéng)熟到工程應用的程度,因此該方法不太實用。
軟件開(kāi)發(fā)方法有哪些之-可視化方法
可視化開(kāi)發(fā)90年代軟件界最大的兩(liǎng)個熱點之一。随著(zhe)圖形用戶界面(miàn)的興起(qǐ),用戶界面(miàn)在軟件系統中所占的比例也越來越大,有的高達60~70%。産生這(zhè)一問題的原因是圖形界面(miàn)元素的生成(chéng)很不方便。爲此Windows提供了應用程序設計接口API(Application Programming Interface),它包含了600多個函數,極大地方便了圖形用戶界面(miàn)的開(kāi)發(fā)。但是在這(zhè)批函數中,大量的函數參數和使用數量更多的有關常量,使基于Windows API的開(kāi)發(fā)變得相當困難。爲此Borland C++推出了Object Windows編程。它將(jiāng)API的各部分用對(duì)象類進(jìn)行封裝,提供了大量預定義的類,并爲這(zhè)些定義了許多成(chéng)員函數。利用子類對(duì)父類的繼承性,以及實例對(duì)類的函數的引用,應用程序的開(kāi)發(fā)可以省卻大量類的定義,省卻大量成(chéng)員函數的定義或隻需作少量修改以定義子類。Object Windows還(hái)提供了許多标準的缺省處理,大大減少了應用程序開(kāi)發(fā)的工作量。但要掌握它們,對(duì)非專業人員來說(shuō)仍是一個沉重的負擔。爲此人們利用Windows API或Borland C++的Object Windows開(kāi)發(fā)了一批可視開(kāi)發(fā)工具。可視化開(kāi)發(fā)就(jiù)是在可視開(kāi)發(fā)工具提供的圖形用戶界面(miàn)上,通過(guò)操作界面(miàn)元素,諸如菜單(Menus)、按鈕(buttons)、對(duì)話框(dialog boxes)、編輯框(edit box)、單選框(radio buttons)、複選框(check boxes)、列表框(list boxes)和滾動條(scroll bars)等,由可視開(kāi)發(fā)工具自動生成(chéng)應用軟件。這(zhè)類應用軟件的工作方式是事(shì)件驅動。對(duì)每一事(shì)件,由系統産生相應的消息,再傳遞給相應的消息響應函數。這(zhè)些消息響應函數是由可視開(kāi)發(fā)工具在生成(chéng)軟件時(shí)自動裝入的。
軟件開(kāi)發(fā)方法有哪些之-軟件重用方法
軟件重用(Software Reuse,又稱軟件複用或軟件再用)的概念對(duì)于大家并不陌生。早在1968年的NATO軟件工程會(huì)議上就(jiù)已經(jīng)提出可複用庫的思想。軟件重用的定義也很多,比較權威和通用的一種(zhǒng)是:軟件重用是利用事(shì)先建立好(hǎo)的軟部品創建新軟件系統的過(guò)程。這(zhè)個定義蘊含著(zhe)軟件重用所必須包含的兩(liǎng)個方面(miàn):1)系統地開(kāi)發(fā)可重用的軟部品。這(zhè)些軟部品可以是代碼,但不應該僅僅局限在代碼。我們必須從更廣泛和更高層次來理解,這(zhè)樣(yàng)才會(huì)帶來更大的重用收益。比如軟部品還(hái)可以是:分析,設計,測試數據,原型,計劃,文檔,模闆,框架等等。2)系統地使用這(zhè)些軟部品作爲構築模塊,來建立新的系統。
軟件重用的好(hǎo)處 能(néng)提高軟件生成(chéng)率:①縮短開(kāi)發(fā)周期 。②降低軟件開(kāi)發(fā)和維護費用。③生産更加标準化的軟件。 ④提高軟件開(kāi)發(fā)質量。 ⑤增強軟件系統的互操作性。⑥減少軟件開(kāi)發(fā)人員數量。⑦使開(kāi)發(fā)人員能(néng)比較容易的适應不同性質的項目開(kāi)發(fā)。
随著(zhe)OO方法理論體系的完善,軟件複用的研究已經(jīng)逐漸集中到了軟件構件技術上。構件技術是一種(zhǒng)更高層次的對(duì)象技術,它是獨立于語言和面(miàn)向(xiàng)應用程序,它隻規定構件的外在表現形式,而不關心其内部實現方法,它即可用OO 編程語言實現,也可用非OO 的過(guò)程語言實現。隻要遵循構件技術的規範,各個軟件開(kāi)發(fā)商就(jiù)可以用自己方便的語言去實現可被(bèi)重用的構件。構件技術改變了軟件生産方式,將(jiāng)軟件生産劃分爲構件生産和構件集成(chéng)兩(liǎng)個方面(miàn)。開(kāi)發(fā)者專心于構件的生産,集成(chéng)者充分利用構件,專心于應用。這(zhè)樣(yàng)的生産模式具有如下優點:
(1) 有利于更合理地組織和使用人力和财力資源;
(2) 考慮到跨越軟件開(kāi)發(fā)組織的資源和信息共享;
(3) 提高了軟件複用程度,從而提高軟件生産率和軟件質量。
軟構件技術(Software component technology)給軟件業帶來很大的影響。系統集成(chéng)商(System integrators)不再向(xiàng)以前那樣(yàng)大量的做程序的編碼工作,主要工作將(jiāng)是評估和選定現有的軟構件,組裝成(chéng)所需的系統。在未來新應用程序將(jiāng)會(huì)由構築模塊構成(chéng),這(zhè)些構築模塊(building blocks)(如軟構件和應用程序框架)加快了産品的開(kāi)發(fā)速度和企業的應變能(néng)力。以設計模式,框架(The framework)和商業構件形勢出現的軟部品可以通過(guò)重用顯著的提升開(kāi)發(fā)品質和生産力,重用反過(guò)來也可以顯著的降低成(chéng)本和縮短軟件開(kāi)發(fā)周期。未來應用程序(The application)的開(kāi)發(fā)依存于一個開(kāi)放的,便利構件選擇和裝配的綜合體系結構。信息系統組織必須爲基于構件開(kāi)發(fā)制定一項戰略。這(zhè)樣(yàng)有助于形成(chéng)明确分工又全球共享的開(kāi)放式軟件社會(huì)。軟構件代表了新一代軟件技術的發(fā)展方向(xiàng)。以上就(jiù)是總結的軟件開(kāi)發(fā)方法有哪些的八種(zhǒng)方法,問題分析法(PAM),面(miàn)向(xiàng)對(duì)象的軟件開(kāi)發(fā)方法(OO),形式化方法,可視化方法,軟件重用方法.已經(jīng)在上文介紹的三種(zhǒng)軟件開(kāi)發(fā)方法,Parnas方法,Jackson (JSP/JSD) 方法。