作者:紅(hóng)掌網絡 訪問通機量:502 &nb近刀sp;發布時間(jiān):2020-05-25 07:22
軟件開發方法有(yǒu)哪些(一)八種方法
【提綱】在軟件開發時期中,設計階段是(shì)最富有(yǒu)業腦活力、最需要發揮創造精神的(de)階段。本文通過對常用(yòng)幾種軟件器少設計方法的(de)研究,對軟件的(de)開是劇發有(yǒu)進一步的(de)認識。同時,也能通過對比得(de)出哪些設計動計方法對某一軟件的(de)開發有(yǒu)更大的(de)優勢,可以更好的(d和黑e)指導我們實踐。
【關鍵字】軟件開發方法、常用(yòng)軟件設計方法
一、引言
在軟件開發時期中,設計階段是(shì)最富有(yǒu)活力冷理、最需要發揮創造精神的(de)階段,軟件設計方法對軟件的(理冷de)開發以及投放市(shì)場有(yǒu)着重要的(d女花e)作用(yòng)。在日常生活中,常用(yòn知市g)的(de)軟件工程設計方法有(yǒu)Parnas方法、Jackson (車醫JSP/JSD) 方法、問題分析方法(PAM)、面向對象的(de)軟件開發方法吧麗(OO)、形式化方法、可視化方法、軟件重用(yòng)。下面對這幾種方月高法進行分析研究。
(In software development, th妹看e design phase is th動能e most dynamic and most need to p西路lay a creative stage, the softw風草are design method of softwar業什e development and the理但 market plays an important r白件ole. In daily life, the commonly used討外 software engineering design method w大林ith Parnas, Jackson (JSP/JSD) method,海雪 the problem analysis meth頻到od (PAM), object oriented (OO) softwar訊紙e development methods, formal method門很s, visualization methods and software r工男euse. In the face of this paper s年林tudied the several m們爸ethods.)
軟件開發方法有(yǒu)哪些之-Parnas方法
最早軟件開發方法是(shì)由D.Parnas在1972年提出。由于當時軟件在弟金可維護性和可靠性方面存在着嚴重問題,因此Parnas提出的(de)方法是大媽(shì)針對這兩個問題的(de)。首先,Par視厭nas提出了信息隐蔽原則:在概要設計時列出将來可能發生變化的(de)因素,并村工在模塊劃分時将這些因素放到個别模塊的(de)内部。這樣,在少文将來由于這些因素變化而需修改軟件時,隻需修改個别的(d長妹e)模塊,其它模塊不受影響。信息隐蔽技術(shù)不僅提高了軟件的(de)可維水微護性,而且也避免了錯誤的(de)蔓延,改行能善了軟件的(de)可靠性。現在信息隐蔽原則已成為信西(wèi)軟件工程學中的(de)一條重要原則。Parnas提出第二條原則花東是(shì)在軟件設計時應對可能發生的(de)種種意外亮討故障采取措施。軟件是(shì)很脆弱的(de),很可能因為(wèi)一個微行農(wēi)小的(de)錯誤而引發嚴重的(de)事故,所以必須加強防範。雜爸如在分配使用(yòng)設備前,應該取設備狀态字,檢查設備是(s放腦hì)否正常。此外,模塊之間(jiān)也要加強檢查,工紙防止錯誤蔓延。Parnas對軟件開發提出了深刻的(de)見解。遺憾的(de)是自外(shì),他(tā)沒有(yǒu)給出明确的(謝北de)工作流程。所以這一方法不能獨立使用(yòng),隻能作為(wèi)其它方作玩法的(de)補充。
軟件開發方法有(yǒu)哪些之-Jackson (JSP/JSD) 方法
1975年,M.A.Jackson提出了一類至今仍廣泛使用(yòn新空g)的(de)軟件開發方法。這一方法從目标系統的(de)輸入、輸出數算商據結構入手,導出程序框架結構,再補充其它細節,就可得(de)到完體輛整的(de)程序結構圖。這一方法對輸入、輸出數據結構明腦可确的(de)中小型系統特别有(yǒu)效,如商業服冷應用(yòng)中的(de)文件表格處理。該方法也可與其它方法結合,用(yòn慢市g)于模塊的(de)詳細設計。Jackson方法有(yǒu)個技時也稱為(wèi)面向數據結構的(de)軟件設計方法。區相一般通過以下五個步驟來完成設計:1分析并确定輸草就入數據和輸出數據的(de)邏輯結構,并用(yòng)Jack地山son結構圖來表示這些數據結構。2找出輸入數據結構和輸出數據中務結構中有(yǒu)對應關系的(de)數據單元。3國快按以下的(de)規則由輸入、輸出的(de)數據結構導出程序為他結構。1)為(wèi)每一對在輸入數據結構和輸出數據結構都站中有(yǒu)對應關系的(de)單元畫(huà)機秒一個處理框。2)為(wèi)輸入和輸出數據結構中剩餘的照日(de)數據單元畫(huà)一個處理框。3)所有(yǒu)處理框爸年在程序結構圖上的(de)位置,應與由它處理的(de)數據單元在數據還讀結構Jackson圖上的(de)位置一緻。4)必要她國時,可以對映射導出的(de)程序結構圖進行進一步的(de麗事)細化。4列出基本操作與條件,并把它們分配到程序結構圖的(de)适當位有人置。5用(yòng)僞碼寫出程序。
3.1 JSP方法
JSP方法是(shì)傑克遜結構程序設計方法,是(shì什吧)一種典型的(de)面向數據結構的(de北秒)分析和設計的(de)方法。其主要設計思想是(sh知月ì)按輸入、輸出和内部信息的(de)數據結構進行軟件設計的(de),把數據結空學構的(de)描述變換成程序結構的(de)描述,設計出反映數據結構的(火光de)程序結構。JSP 方法将問題分解為(wèi)順序、選擇和重複三種基本西從結構形式表示的(de)層次結構如圖1 所示。這樣對一個要解決的(de)問題船到,總是(shì)要把解的(de)結構設計成同問題的山不(de)結構一樣,使程序既容易理解,又(yòu)容易修改以都長滿足将來問題的(de)變化。
JSP方法首先考察問題的(de)環境,分析所要處理的(de)數據,作出數據結構見和圖及圖示邏輯;再以數據結構為(wèi)基本點形成程序結構;最後列出這低進行處理所需要的(de)基本操作,并把這些子在操作分配給程序結構中的(de)适當部分。
JSP 方法的(de)優點是(shì)客觀,不依賴于設計者自己的內些(de)創造和經驗,不同的(de)設計者可以設計出同樣的(de)間大解。簡單易學,用(yòng)JSP 圖示邏輯可以很容易地(dì)導一子出Cobol程序,目前已研制出從JSP方法設計的(de)結構自動導出服農Cobol 程序的(de)工具。雖然JSP方法簡單易學,步驟謝門規範,但也存在着一些局限性,最大的(de)不足是錯行(shì)當軟件系統的(de)規模龐大時,輸入和輸出之間(jiān)就會出現大子了量複雜的(de)信息,JSP 方法難于對付的拍離(de)結構沖突問題。可以利用(yòng)熱校中間(jiān)文件解決沖突,但它明顯降低了功效,而且從概念上說(shuō)中用東間(jiān)文件也是(shì)不必要的(de);随着軟件系統規喝房模的(de)增大,且結構沖突的(de)可能性及解決沖突的(de)算法複雜性體去亦随之增大。因此JSP 方法隻适用(yòng)于小型程序的(de)開體快發,隻是(shì)一種程序設計方法,并不适用(yòng)于他說解決大型軟件的(de)開發問題。
(JSP method has the advanta到那ge of objective, is no輛業t dependent on the designer's ow草道n creation and exper著工ience, different designers can資空 design the same solution. Eas為畫y to learn, use JSP graphic logic 子訊can be easily exporte這舊d Cobol program, has now develope得又d the Cobol program is derive看理d automatically from the JSP 化微method to design the struc又計ture of the tool. Although JSP m土靜ethod is easy to learn, step standar跳刀d, but there are also some limitat黃關ions and the shortage高山 of the biggest is tha哥是t when large software system, betwe快討en the input and output will appe微對ar a large number of complex informat能見ion, JSP method is d數術ifficult to deal with the 林術structure of the conflict. Can校從 take advantage of the intermediate fi刀白le conflict resolutio道很n, but it significantly r視市educes the effect, and conceptually i樂員ntermediate file is unnecessary; W市多ith the increasing scale畫友 of software system, and the structure 靜短of the possibility of conflict and co喝分nflict resolution algorithm complexity 公不also increase. So the JSP metho人要d applies only to the develo麗藍pment of small procedures, is鄉道 a kind of programming meth花化od, does not apply to solve the如答 problem of large-scale softw爸的are development.)
3.2 JSD方法
JSD方法是(shì)傑克遜系統開發方法,它以活動(即事件)為(wèi)中心,明雨一連串活動的(de)順序組合構成進程,系統模型抽象為(wèi)一組以通信物路方式互相聯系的(de)進程。JSD方法的(de)基本思想是(s月站hì)仿真并描述客觀世界,然後添加輸出功能,最信員後實現系統的(de)轉換。它的(de)基本步關會驟可分為(wèi)六步,一是(shì)實體動作分析,從問題的(de)描述中,鄉票提取軟件系統要産生和運用(yòng)的(那舞de)實體(人(rén)、物或組織) ,以及現車東實世界作用(yòng)于實體上的(de)動作(事件);二是(shì)實體結構分山森析,把作用(yòng)于實體的(de)動作或由實窗生體執行的(de)動作,按時間(jiān)發生的(de)先後次序排序,構窗山成進程,并用(yòng)一個層次的(de)Jackson爸這結構圖表示;三是(shì)定義初始模型步,把實體和動討笑作表示成一個進程模型,定義模型與現實世界制少的(de)聯系。模型系統的(de)規格說(s河些huō)明可用(yòng)系統規格說(shuō)明圖來表示;四是藍服(shì)功能描述,說(shuō)明與已定義的(de)動作相對應的(筆玩de)功能,為(wèi)已定義的(de)動作加入功能函數;五是懂雜(shì)決定系統時間(jiān)特性,對放麗進程加入時間(jiān)因素,對進程調度特性進行懂短評價和說(shuō)明;六是(shì)實現,設說煙計組成系統的(de)硬件和軟件,實現系統的(de)原型。前三步屬于需如我求分析階段,後三步屬于設計階段。
JSD方法開創性地(dì)進行了客觀世界及其同軟件間(jiān)關工靜系的(de)研究;明确了軟件系統說(shuō)明決策同軟件系統實答我現決策的(de)界限;做出容易的(de)女懂決策應該先于困難的(de)決策;應當盡可鄉間能推遲最容易導緻錯誤的(de)決策;含蓄的(de)決策高藍應當避免,不應有(yǒu)隐含的(de)約定存在;如果一個決廠有策易于出錯,應當盡早證實它的(de)正确性;應當站司盡可能使決策之間(jiān)沒有(yǒu)依賴關系,使學那它們互不相關。其局限性是(shì)客觀世界朋事及其同軟件間(jiān)關系的(de)認識不完整;軟件系統實現結構過于複雜湖西;軟件說(shuō)明結構的(de)描述技術(shù)不樹車恰當;JSD 中并不包含諸如選題,計劃管理,代價P收益分析等内容,也不包含實船子施環境問題的(de)研究内容,這在一定程度書市上影響了它的(de)推廣應用(yòng);JSD 在都開實現階段所做的(de)變換十分費勁,以緻利用(y服事òng)人(rén)的(de)智力進行變換難以保證其有(yǒu南紙)效性和可靠性,且變換的(de)選擇又(yòu)過于複雜,目前個相仍無法用(yòng)計算機自動實現。
以上就是(shì)給大家介紹的(de)二種軟件行少開發方法,Parnas方法,Jackson (JSP空也/JSD) 方法。在下面的(de)文章中将介紹其餘的(de)六年道個軟件開發方法。