国产成人一区二区三区_高压监狱2成人版_在线播放成人网站_免费看欧美成人A片无码_97成人做爰A片无遮挡直播_国产成人精品亚洲777人妖_国产精品国产成人国产三级_成人做爰黄A片免费看内衣_成人动漫在线观看_国产成人AV_成人做爰A片免费看网站下载图片_成人做爰100部片_成人片色情影院WWW成全影视_欧美成人午夜无码A片秀色直播

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


作者:紅掌網(wǎng)絡    訪問量:856    發(fā)布時間:2020-05-25 07:22


軟件開發(fā)方法有哪些(一)八種方法
【提綱】在軟件開發(fā)時期中,設計階段是最富有活力、最需要發(fā)揮創(chuàng)造精神的階段。本文通過對常用幾種軟件設計方法的研究,對軟件的開發(fā)有進一步的認識。同時,也能通過對比得出哪些設計方法對某一軟件的開發(fā)有更大的優(yōu)勢,可以更好的指導我們實踐。
【關(guān)鍵字】軟件開發(fā)方法、常用軟件設計方法
一、引言
在軟件開發(fā)時期中,設計階段是最富有活力、最需要發(fā)揮創(chuàng)造精神的階段,軟件設計方法對軟件的開發(fā)以及投放市場有著重要的作用。在日常生活中,常用的軟件工程設計方法有Parnas方法、Jackson (JSP/JSD) 方法、問題分析方法(PAM)、面向?qū)ο蟮能浖_發(fā)方法(OO)、形式化方法、可視化方法、軟件重用。下面對這幾種方法進行分析研究。
(In software development, the design phase is the most dynamic and most need to play a creative stage, the software design method of software development and the market plays an important role. In daily life, the commonly used software engineering design method with Parnas, Jackson (JSP/JSD) method, the problem analysis method (PAM), object oriented (OO) software development methods, formal methods, visualization methods and software reuse. In the face of this paper studied the several methods.)
軟件開發(fā)方法有哪些之-Parnas方法
最早軟件開發(fā)方法是由D.Parnas在1972年提出。由于當時軟件在可維護性和可靠性方面存在著嚴重問題,因此Parnas提出的方法是針對這兩個問題的。首先,Parnas提出了信息隱蔽原則:在概要設計時列出將來可能發(fā)生變化的因素,并在模塊劃分時將這些因素放到個別模塊的內(nèi)部。這樣,在將來由于這些因素變化而需修改軟件時,只需修改個別的模塊,其它模塊不受影響。信息隱蔽技術(shù)不僅提高了軟件的可維護性,而且也避免了錯誤的蔓延,改善了軟件的可靠性。現(xiàn)在信息隱蔽原則已成為軟件工程學中的一條重要原則。Parnas提出第二條原則是在軟件設計時應對可能發(fā)生的種種意外故障采取措施。軟件是很脆弱的,很可能因為一個微小的錯誤而引發(fā)嚴重的事故,所以必須加強防范。如在分配使用設備前,應該取設備狀態(tài)字,檢查設備是否正常。此外,模塊之間也要加強檢查,防止錯誤蔓延。Parnas對軟件開發(fā)提出了深刻的見解。遺憾的是,他沒有給出明確的工作流程。所以這一方法不能獨立使用,只能作為其它方法的補充。
軟件開發(fā)方法有哪些之-Jackson (JSP/JSD) 方法
1975年,M.A.Jackson提出了一類至今仍廣泛使用的軟件開發(fā)方法。這一方法從目標系統(tǒng)的輸入、輸出數(shù)據(jù)結(jié)構(gòu)入手,導出程序框架結(jié)構(gòu),再補充其它細節(jié),就可得到完整的程序結(jié)構(gòu)圖。這一方法對輸入、輸出數(shù)據(jù)結(jié)構(gòu)明確的中小型系統(tǒng)特別有效,如商業(yè)應用中的文件表格處理。該方法也可與其它方法結(jié)合,用于模塊的詳細設計。Jackson方法有時也稱為面向數(shù)據(jù)結(jié)構(gòu)的軟件設計方法。一般通過以下五個步驟來完成設計:1分析并確定輸入數(shù)據(jù)和輸出數(shù)據(jù)的邏輯結(jié)構(gòu),并用Jackson結(jié)構(gòu)圖來表示這些數(shù)據(jù)結(jié)構(gòu)。2找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中有對應關(guān)系的數(shù)據(jù)單元。3按以下的規(guī)則由輸入、輸出的數(shù)據(jù)結(jié)構(gòu)導出程序結(jié)構(gòu)。1)為每一對在輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中有對應關(guān)系的單元畫一個處理框。2)為輸入和輸出數(shù)據(jù)結(jié)構(gòu)中剩余的數(shù)據(jù)單元畫一個處理框。3)所有處理框在程序結(jié)構(gòu)圖上的位置,應與由它處理的數(shù)據(jù)單元在數(shù)據(jù)結(jié)構(gòu)Jackson圖上的位置一致。4)必要時,可以對映射導出的程序結(jié)構(gòu)圖進行進一步的細化。4列出基本操作與條件,并把它們分配到程序結(jié)構(gòu)圖的適當位置。5用偽碼寫出程序。
3.1 JSP方法
JSP方法是杰克遜結(jié)構(gòu)程序設計方法,是一種典型的面向數(shù)據(jù)結(jié)構(gòu)的分析和設計的方法。其主要設計思想是按輸入、輸出和內(nèi)部信息的數(shù)據(jù)結(jié)構(gòu)進行軟件設計的,把數(shù)據(jù)結(jié)構(gòu)的描述變換成程序結(jié)構(gòu)的描述,設計出反映數(shù)據(jù)結(jié)構(gòu)的程序結(jié)構(gòu)。JSP 方法將問題分解為順序、選擇和重復三種基本結(jié)構(gòu)形式表示的層次結(jié)構(gòu)如圖1 所示。這樣對一個要解決的問題,總是要把解的結(jié)構(gòu)設計成同問題的結(jié)構(gòu)一樣,使程序既容易理解,又容易修改以滿足將來問題的變化。
JSP方法首先考察問題的環(huán)境,分析所要處理的數(shù)據(jù),作出數(shù)據(jù)結(jié)構(gòu)圖及圖示邏輯;再以數(shù)據(jù)結(jié)構(gòu)為基本點形成程序結(jié)構(gòu);最后列出進行處理所需要的基本操作,并把這些操作分配給程序結(jié)構(gòu)中的適當部分。
JSP 方法的優(yōu)點是客觀,不依賴于設計者自己的創(chuàng)造和經(jīng)驗,不同的設計者可以設計出同樣的解。簡單易學,用JSP 圖示邏輯可以很容易地導出Cobol程序,目前已研制出從JSP方法設計的結(jié)構(gòu)自動導出Cobol 程序的工具。雖然JSP方法簡單易學,步驟規(guī)范,但也存在著一些局限性,最大的不足是當軟件系統(tǒng)的規(guī)模龐大時,輸入和輸出之間就會出現(xiàn)大量復雜的信息,JSP 方法難于對付的結(jié)構(gòu)沖突問題。可以利用中間文件解決沖突,但它明顯降低了功效,而且從概念上說中間文件也是不必要的;隨著軟件系統(tǒng)規(guī)模的增大,且結(jié)構(gòu)沖突的可能性及解決沖突的算法復雜性亦隨之增大。因此JSP 方法只適用于小型程序的開發(fā),只是一種程序設計方法,并不適用于解決大型軟件的開發(fā)問題。
(JSP method has the advantage of objective, is not dependent on the designer's own creation and experience, different designers can design the same solution. Easy to learn, use JSP graphic logic can be easily exported Cobol program, has now developed the Cobol program is derived automatically from the JSP method to design the structure of the tool. Although JSP method is easy to learn, step standard, but there are also some limitations and the shortage of the biggest is that when large software system, between the input and output will appear a large number of complex information, JSP method is difficult to deal with the structure of the conflict. Can take advantage of the intermediate file conflict resolution, but it significantly reduces the effect, and conceptually intermediate file is unnecessary; With the increasing scale of software system, and the structure of the possibility of conflict and conflict resolution algorithm complexity also increase. So the JSP method applies only to the development of small procedures, is a kind of programming method, does not apply to solve the problem of large-scale software development.)
3.2 JSD方法
JSD方法是杰克遜系統(tǒng)開發(fā)方法,它以活動(即事件)為中心,一連串活動的順序組合構(gòu)成進程,系統(tǒng)模型抽象為一組以通信方式互相聯(lián)系的進程。JSD方法的基本思想是仿真并描述客觀世界,然后添加輸出功能,最后實現(xiàn)系統(tǒng)的轉(zhuǎn)換。它的基本步驟可分為六步,一是實體動作分析,從問題的描述中,提取軟件系統(tǒng)要產(chǎn)生和運用的實體(人、物或組織) ,以及現(xiàn)實世界作用于實體上的動作(事件);二是實體結(jié)構(gòu)分析,把作用于實體的動作或由實體執(zhí)行的動作,按時間發(fā)生的先后次序排序,構(gòu)成進程,并用一個層次的Jackson結(jié)構(gòu)圖表示;三是定義初始模型步,把實體和動作表示成一個進程模型,定義模型與現(xiàn)實世界的聯(lián)系。模型系統(tǒng)的規(guī)格說明可用系統(tǒng)規(guī)格說明圖來表示;四是功能描述,說明與已定義的動作相對應的功能,為已定義的動作加入功能函數(shù);五是決定系統(tǒng)時間特性,對進程加入時間因素,對進程調(diào)度特性進行評價和說明;六是實現(xiàn),設計組成系統(tǒng)的硬件和軟件,實現(xiàn)系統(tǒng)的原型。前三步屬于需求分析階段,后三步屬于設計階段。
JSD方法開創(chuàng)性地進行了客觀世界及其同軟件間關(guān)系的研究;明確了軟件系統(tǒng)說明決策同軟件系統(tǒng)實現(xiàn)決策的界限;做出容易的決策應該先于困難的決策;應當盡可能推遲最容易導致錯誤的決策;含蓄的決策應當避免,不應有隱含的約定存在;如果一個決策易于出錯,應當盡早證實它的正確性;應當盡可能使決策之間沒有依賴關(guān)系,使它們互不相關(guān)。其局限性是客觀世界及其同軟件間關(guān)系的認識不完整;軟件系統(tǒng)實現(xiàn)結(jié)構(gòu)過于復雜;軟件說明結(jié)構(gòu)的描述技術(shù)不恰當;JSD 中并不包含諸如選題,計劃管理,代價P收益分析等內(nèi)容,也不包含實施環(huán)境問題的研究內(nèi)容,這在一定程度上影響了它的推廣應用;JSD 在實現(xiàn)階段所做的變換十分費勁,以致利用人的智力進行變換難以保證其有效性和可靠性,且變換的選擇又過于復雜,目前仍無法用計算機自動實現(xiàn)。
以上就是給大家介紹的二種軟件開發(fā)方法,Parnas方法,Jackson (JSP/JSD) 方法。在下面的文章中將介紹其余的六個軟件開發(fā)方法。