【軟件定制開發】軟件開發方法有哪些(一)


作者:紅掌網絡   我船 訪問(wèn)量:503   爸得 發布時間:2020-05-25 07:22


軟件開發方法有哪些(一)八種方法
【提綱】在軟件開發時期中(zhōng),設計階段是最懂師富有活力、最需要發揮創造精神的階段。本文(wén)通(tōn知熱g)過對常用幾種軟件設計方法的研究,對軟件的費討開發有進一步的認識。同時,也能通(tōng)過對比得出哪些設計說綠方法對某一軟件的開發有更大的優勢,可(kě)以更好的指答弟導我們實踐。
【關(guān)鍵字】軟件開發方法、常用軟外快件設計方法
一、引言
在軟件開發時期中(zhōng),設計階段是最富有活力、最需要發自這揮創造精神的階段,軟件設計方法對軟件的開發以遠的及投放市場有着重要的作用。在日常生活中(zhōng),常用的軟件工程設計廠知方法有Parnas方法、Jackson 個器(JSP/JSD) 方法、問(wèn)題分析方村姐法(PAM)、面向對象的軟件開發方法(OO)、形式化方日還法、可(kě)視化方法、軟件重用。下(xià)面對這幾種方法進行分析小亮研究。
(In software development, the design ph信商ase is the most dynamic and most need t是什o play a creative stage, the soft喝花ware design method of sof工美tware development and the market p短他lays an important role. In d草嗎aily life, the commonly u東問sed software engineering desig嗎用n method with Parnas, Ja爸現ckson (JSP/JSD) method, the problem a姐秒nalysis method (PAM), object oriented家報 (OO) software development methods, for紙的mal methods, visualization methods一美 and software reuse. In the f鐵他ace of this paper studied 木姐the several methods.)
軟件開發方法有哪些之-Parnas方法
最早軟件開發方法是由D.Parnas在1972年提出。由于當時軟件在可(遠暗kě)維護性和(hé)可(kě)靠性方面存在着嚴重問(wèn)題,因此相刀Parnas提出的方法是針對這兩個(gè)問(wèn)題的。首先,P他器arnas提出了信息隐蔽原則:在概要設計時列出将來可(kě)能發通喝生變化的因素,并在模塊劃分時将這些因素放到個(gè)别煙風模塊的内部。這樣,在将來由于這些因素變化而相去需修改軟件時,隻需修改個(gè)别的模塊,其林好它模塊不受影響。信息隐蔽技術(shù)不僅提高了軟件的可(kě)維護性請火,而且也避免了錯誤的蔓延,改善了軟件的可(kě)靠性。現在信息隐蔽原則已坐房成為軟件工程學中(zhōng)的一條重要原則。Parnas提出車鄉第二條原則是在軟件設計時應對可(kě)能農林發生的種種意外故障采取措施。軟件是很脆弱的,很可(kě)能因為一個(gè如公)微小的錯誤而引發嚴重的事故,所以必須加強防範。如(rú)在分配使花匠用設備前,應該取設備狀态字,檢查設備是否正常。此外,模塊之間也要加強檢外火查,防止錯誤蔓延。Parnas對軟件開發提出了深刻的見解。遺憾的舞票是,他沒有給出明确的工作流程。所以這一方法不能獨立使用行司,隻能作為其它方法的補充。
軟件開發方法有哪些之-Jackson (JSP/銀月JSD) 方法
1975年,M.A.Jackson提出了一區子類至今仍廣泛使用的軟件開發方法。這一方法從目标系統的輸入、輸出數據她報結構入手,導出程序框架結構,再補充其它細節,就在一可(kě)得到完整的程序結構圖。這一方法對輸入、輸出數西快據結構明确的中(zhōng)小型系統特别有效,如(rú)商(shāng)些嗎業(yè)應用中(zhōng)的文(wén)件表格處理。該方法也可(k資錢ě)與其它方法結合,用于模塊的詳細設計。Jackson方法國水有時也稱為面向數據結構的軟件設計方法。一般通(tō這新ng)過以下(xià)五個(gè)步驟來完成設問請計:1分析并确定輸入數據和(hé)輸出數據的邏輯結構,并用Jackson民月結構圖來表示這些數據結構。2找出輸入數據結構和(hé)輸出數據結構中月場(zhōng)有對應關(guān)系的數據單元。3按以下(xià)的規則由輸農森入、輸出的數據結構導出程序結構。1)為每一對在輸入數據影事結構和(hé)輸出數據結構中(zhōng)有對應關(guān)系的單農黃元畫一個(gè)處理框。2)為輸入和(hé)水少輸出數據結構中(zhōng)剩餘的數據單元畫一個(gè)處理框。開相3)所有處理框在程序結構圖上的位置,應與由它處理的數據單元在數據輛農結構Jackson圖上的位置一緻。4)必要時,可(kě)以對映射導出的就水程序結構圖進行進一步的細化。4列出基本操作與條件飛時,并把它們分配到程序結構圖的适當位置。5用僞碼寫出程序。
3.1 JSP方法
JSP方法是傑克遜結構程序設計方法,是一種路師典型的面向數據結構的分析和(hé)設計的方法。其主要設計思想是知舊按輸入、輸出和(hé)内部信息的數據結構進行姐但軟件設計的,把數據結構的描述變換成程序結構的描述,設計出反映數據結構業身的程序結構。JSP 方法将問(wèn)題分解為順序、選擇和(hé)重複三種基站好本結構形式表示的層次結構如(rú)圖1 所示。這樣劇也對一個(gè)要解決的問(wèn)題,總是要把解的結構設計成同問(w服林èn)題的結構一樣,使程序既容易理解,又容易修改以滿足将來問(w習小èn)題的變化。
JSP方法首先考察問(wèn)題的環境,分析所要處理的數據,作出吃拍數據結構圖及圖示邏輯;再以數據結構為基本點形成程序結構;最後列出火靜進行處理所需要的基本操作,并把這些操作分媽近配給程序結構中(zhōng)的适當部分。
JSP 方法的優點是客觀,不依賴于設計者自己的員醫創造和(hé)經驗,不同的設計者可(kě)機我以設計出同樣的解。簡單易學,用JSP 圖示邏輯可(kě)以很容易地導出Cobo湖能l程序,目前已研制出從JSP方法設計的結構自動(dòng)新林導出Cobol 程序的工具。雖然JSP方法簡單易學,步驟規範,但也存地鐘在着一些局限性,最大的不足是當軟件系統的規模龐大時,輸入和(h見就é)輸出之間就會出現大量複雜的信息,JS村請P 方法難于對付的結構沖突問(wèn)題。可(kě)雪科以利用中(zhōng)間文(wén)件解決沖突,但它明顯話機降低了功效,而且從概念上說中(zhōng線遠)間文(wén)件也是不必要的;随着軟件系統對為規模的增大,且結構沖突的可(kě)能性及解決沖突的算法複雜性亦随之增大亮相。因此JSP 方法隻适用于小型程序的開發,隻是一種程序設計照志方法,并不适用于解決大型軟件的開發問(wèn)題。
(JSP method has the advantage o大海f objective, is not dependent on t關章he designer's own cr理藍eation and experience,筆如 different designers can desi很的gn the same solution. Easy to learn, 船們use JSP graphic logic can be easi吧林ly exported Cobol program, has now dev民少eloped the Cobol program is書跳 derived automatically from the JSP met說房hod to design the str空老ucture of the tool. Although 書們JSP method is easy to learn, st農都ep standard, but there are 南銀also some limitations and th友銀e shortage of the biggest is that 術美when large software system, between t話土he input and output will appear a large如這 number of complex i開森nformation, JSP method is d說區ifficult to deal with the structure玩我 of the conflict. Can take advantag做市e of the intermediate file conflict 自上resolution, but it signific鐵內antly reduces the effect, and con她拿ceptually intermediate file 們森is unnecessary; With the 機坐increasing scale of software system照科, and the structure of the poss銀鄉ibility of conflict and confli南花ct resolution algorith相業m complexity also increase. 離下So the JSP method applies only to the匠友 development of small procedures, i道水s a kind of programmin妹熱g method, does not apply to solve th他雨e problem of large-scale softwa理友re development.)
3.2 JSD方法
JSD方法是傑克遜系統開發方法,它以活動(dòng)(即事件)為去子中(zhōng)心,一連串活動(dòng)的順序劇下組合構成進程,系統模型抽象為一組以通(tōng)信方式互相聯系的進程。JS要土D方法的基本思想是仿真并描述客觀世界,然後添加輸出功能,最後間舞實現系統的轉換。它的基本步驟可(kě)分為數我六步,一是實體動(dòng)作分析,從問(wèn)題的描述中(zhō通輛ng),提取軟件系統要産生和(hé)運用的實體(人、物或組織) ,以及現實跳木世界作用于實體上的動(dòng)作(事件);二是實體結構分析,把作用于技科實體的動(dòng)作或由實體執行的動(dòng)作,按時間相好發生的先後次序排序,構成進程,并用一個(gè)層次的Jackson結構圖用報表示;三是定義初始模型步,把實體和(hé)動(dòng)作表示成一個(gè)快銀進程模型,定義模型與現實世界的聯系。模型系民坐統的規格說明可(kě)用系統規格說明圖來表示;四是功能描述,說自我明與已定義的動(dòng)作相對應的功能,為已定義的動(西空dòng)作加入功能函數;五是決定系統時間特性,對進程加入時間因服能素,對進程調度特性進行評價和(hé)說明;六是實現數能,設計組成系統的硬件和(hé)軟件,實現系生通統的原型。前三步屬于需求分析階段,後三步文畫屬于設計階段。
JSD方法開創性地進行了客觀世界及其同軟件間關(guān)系的研究;明确河如了軟件系統說明決策同軟件系統實現決策的界限;做出容易的決策應該先于請內困難的決策;應當盡可(kě)能推遲最容易導制體緻錯誤的決策;含蓄的決策應當避免,不應有隐含的約定存在;如(rú長銀)果一個(gè)決策易于出錯,應當盡早證實它的正确性;應當盡可(kě)能使決策房務之間沒有依賴關(guān)系,使它們互不相關(微算guān)。其局限性是客觀世界及其同軟件間關(guān)照道系的認識不完整;軟件系統實現結構過于複雜;軟件地也說明結構的描述技術(shù)不恰當;JSD 中(弟通zhōng)并不包含諸如(rú)選題,計劃管理,代價P收益分析等内容,和黃也不包含實施環境問(wèn)題的研究内容,這在一定程度上影響了它的推廣應用;視人JSD 在實現階段所做的變換十分費勁,以緻利用人的智力進行家玩變換難以保證其有效性和(hé)可(kě)靠性,書房且變換的選擇又過于複雜,目前仍無法用計算機自動(dòng)實現。
以上就是給大家介紹的二種軟件開發方法,Parn裡說as方法,Jackson (JSP/JSD) 如雪方法。在下(xià)面的文(wén)章中(zhōng近兒)将介紹其餘的六個(gè)軟件開發方法。