欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

軟件開發方法綜述

admin
2010年5月12日 23:44 本文熱度 7884
[p]60年代中期開始爆發了眾所周知的軟件危機。為了克服這一危機,在1968、1969年連續召開的兩次著名的nato會議上提出了軟件工程這一術語,并在以后不斷發展、完善。與此同時,軟件研究人員也在不斷探索新的軟件開發方法。至今已形成八類軟件開發方法。[br][br]一、parnas方法[br][br] 最早的軟件開發方法是由d.parnas在1972年提出的。由于當時軟件在可維護性和可靠性方面存在著嚴重問題,因此parnas提出的方法是針對這兩個問題的。首先,parnas提出了信息隱蔽原則:在概要設計時列出將來可能發生變化的因素,并在模塊劃分時將這些因素放到個別模塊的內部。這樣,在將來由于這些因素變化而需修改軟件時,只需修改這些個別的模塊,其它模塊不受影響。信息隱蔽技術不僅提高了軟件的可維護性,而且也避免了錯誤的蔓延,改善了軟件的可靠性。現在信息隱蔽原則已成為軟件工程學中的一條重要原則。[br][br] parnas提出的第二條原則是在軟件設計時應對可能發生的種種意外故障采取措施。軟件是很脆弱的,很可能因為一個微小的錯誤而引發嚴重的事故,所以必須加強防范。如在分配使用[br]設備前,應該取設備狀態字,檢查設備是否正常。此外,模塊之間也要加強檢查,防止錯誤蔓延。[br][br] parnas對軟件開發提出了深刻的見解。遺憾的是,他沒有給出明確的工作流程。所以這一方法不能獨立使用,只能作為其它方法的補充。[br][br]二、sasa方法[br][br] 1978年,e.yourdon和l.l.constantine提出了結構化方法,即sasd方法,也可稱為面向功能的軟件開發方法或面向數據流的軟件開發方法。1979年tomdemarco對此方法作了進一步的完善。[br][br] yourdon方法是80年代使用最廣泛的軟件開發方法。它首先用結構化分析(sa)對軟件進行需求分析,然后用結構化設計(sd)方法進行總體設計,最后是結構化編程(sp)。這一方法不僅開發步驟明確,sa、sd、sp相輔相成,一氣呵成,而且給出了兩類典型的軟件結構(變換型和事務型),便于參照,使軟件開發的成功率大大提高,從而深受軟件開發人員的青睞。[br][br]三、面向數據結構的軟件開發方法[br][br]jackson方法[br][br] 1975年,m.a.jackson提出了一類至今仍廣泛使用的軟件開發方法。這一方法從目標系統的輸入、輸出數據結構入手,導出程序框架結構,再補充其它細節,就可得到完整的程序結構圖。這一方法對輸入、輸出數據結構明確的中小型系統特別有效,如商業應用中的文件表格處理。該方法也可與其它方法結合,用于模塊的詳細設計。[br][br] jackson方法有時也稱為面向數據結構的軟件設計方法。[br][br]warnier方法[br][br] 1974年,j.d.warnier提出的軟件開發方法與jackson方法類似。[br]差別有三點:一是它們使用的圖形工具不同,分別使用warnier圖和jackson圖;另一個差別是使用的偽碼不同;最主要的差別是在構造程序框架時,warnier方法僅考慮輸入數據結構,而jackson方法不僅考慮輸入數據結構,而且還考慮輸出數據結構。[br][br]四、問題分析法[br][br] pam問題分析法。pam(problemanalysismethod)是80年代末由日立公司提出的一種軟件開發方法。[br][br] pam方法希望能兼顧yourdon方法、jackson方法和自底向上的軟件開發方法的優點,而避免它們的缺陷。它的基本思想是:考慮到輸入、輸出數據結構,指導系統的分解,在系統分析指導下逐步綜合。這一方法的具體步驟是:從輸入、輸出數據結構導出基本處理框;分析這些處理框之間的先后關系;按先后關系逐步綜合處理框,直到畫出整個系統的pad圖。從上述步驟中可以看出,這一方法本質上是綜合的自底向上的方法,但在逐步綜合之前已進行了有目的的分解,這個目的就是充分考慮系統的輸入、輸出數據結構。[br][br] pam方法的另一個優點是使用pad圖。這是一種二維樹形結構圖,是到目前為止最好的詳細設計表示方法之一,遠遠優于ns圖和pdl語言。[br][br] 這一方法在日本較為流行,軟件開發的成功率也很高。由于在輸入、輸出數據結構與整個系統之間同樣存在著鴻溝,這一方法仍只適用于中小型問題。[br][br]五、面向對象的軟件開發方法[br][br] 面向對象技術是軟件技術的一次革命,在軟件開發史上具有里程碑的意義。[br][br] 隨著oop(面向對象編程)向ood(面向對象設計)和ooa(面向對象分析)的發展,最終形成面向對象的軟件開發方法omt(lbjectmodellingtechnique)。這是一種自底向上和自頂向下相結合的方法,而且它以對象建模為基礎,從而不僅考慮了輸入、輸出數據結構,實際上也包含了所有對象的數據結構。所以omt徹底實現了pam沒有完全實現的目標。不僅如此,oo技術在需求分析、可維護性和可靠性這三個軟件開發的關鍵環節和質量[br]指標上有了實質性的突破,徹底地解決了在這些方面存在的嚴重問題,從而宣告了軟件危機末日的來臨。[br][br]自底向上的歸納[br][br] omt的第一步是從問題的陳述入手,構造系統模型。從真實系統導出類的體系,即對象模型包括類的屬性,與子類、父類的繼承關系,以及類之間的關聯。類是具有相似屬性和行為的一組具體實例(客觀對象)的抽象,父類是若干子類的歸納。因此這是一種自底向上的歸納過程。在自底向上的歸納過程中,為使子類能更合理地繼承父類的屬性和行為,可能需要自頂向下的修改,從而使整個類體系更加合理。由于這種類體系的構造是從具體到抽象,再從抽象到具體,符合人類的思維規律,因此能更快、更方便地完成任務。這與自頂向下的yourdon方法構成鮮明的對照。在yourdon方法中構造系統模型是最困難的一步,因為自頂向下的“頂”是一個空中樓閣,缺乏堅實的基礎,而且功能分解有相當大的任意性,因此需要開發人員有豐富的軟件開發經驗。而在omt中這一工作可由一般開發人員較快地完成。在對象模型建立后,很容易在這一基礎上再導出動態模型和功能模型。這三個模型一起構成要求解的系統模型。[br][br]自頂向下的分解[br][br] 系統模型建立后的工作就是分解。與yourdon方法按功能分解不同,在omt中通常按服務(service)來分解。服務是具有共同目標的相關功能的集合,如i/o處理、圖形處理等。這一步的分解通常很明確,而這些子系統的進一步分解因有較具體的系統模型為依據,也相對容易。所以omt也具有自頂向下方法的優點,即能有效地控制模塊的復雜性,同時避免了yourdon方法中功能分解的困難和不確定性。[br][br]omt的基礎是對象模型[br][br] 每個對象類由數據結構(屬性)和操作(行為)組成,有關的所有數據結構(包括輸入、輸出數據結構)都成了軟件開發的依據。因此jackson方法和pam中輸入、輸出數據結構與整個系統之間的鴻溝在omt中不再存在。omt不僅具有jackson方法和pam的優點,而且可以應用于大型系統。更重要的是,在jackson方法和pam方法中,當它們的出發點——輸入、輸出數據結構(即系統的邊界)發生變化時,整個軟件必須推倒重來。但在omt中系統邊界的改變只是增加或減少一些對象而已,整個系統改動極小。[br][br]需求分析徹底[br][br] 需求分析不徹底是軟件失敗的主要原因之一。即使在目前,這一危險依然存在。傳統的軟件開發方法不允許在開發過程中用戶的需求發生變化,從而導致種種問題。正是由于這一原[br]因,人們提出了原型化方法,推出探索原型、實驗原型和進化原型,積極鼓勵用戶改進需求。在每次改進需求后又形成新的進化原型供用戶試用,直到用戶基本滿意,大大提高了軟件的[br]成功率。但是它要求軟件開發人員能迅速生成這些原型,這就要求有自動生成代碼的工具的支持。[br][br] omt徹底解決了這一問題。因為需求分析過程已與系統模型的形成過程一致,開發人員與用戶的討論是從用戶熟悉的具體實例(實體)開始的。開發人員必須搞清現實系統才能導出系統模型,這就使用戶與開發人員之間有了共同的語言,避免了傳統需求分析中可能產生的種種問題。[br][br]可維護性大大改善[br][br] 在omt之前的軟件開發方法都是基于功能分解的。盡管軟件工程學在可維護方面作出了極大的努力,使軟件的可維護性有較大的改進。但從本質上講,基于功能分解的軟件是不易[br]維護的。因為功能一旦有變化都會使開發的軟件系統產生較大的變化,甚至推倒重來。更嚴重的是,在這種軟件系統中,修改是困難的。由于種種原因,即使是微小的修改也可能引入[br]新的錯誤。所以傳統開發方法很可能會引起軟件成本增長失控、軟件質量得不到保證等一系列嚴重問題。正是omt才使軟件的可維護性有了質的改善。[br][br] omt的基礎是目標系統的對象模型,而不是功能的分解。功能是對象的使用,它依賴于應用的細節,并在開發過程中不斷變化。由于對象是客觀存在的,因此當需求變化時對象的性質要比對象的使用更為穩定,從而使建立在對象結構上的軟件系統也更為穩定。[br][br] 更重要的是omt徹底解決了軟件的可維護性。在oo語言中,子類不僅可以繼承父類的屬性和行為,而且也可以重載父類的某個行為(虛函數)。利用這一特點,我們可以方便地進行功能修改:引入某類的一個子類,對要修改的一些行為(即虛函數或虛方法)進行重載,也就是對它們重新定義。由于不再在原來的程序模塊中引入修改,所以徹底解決了軟件的可修改性,從而也徹底解決了軟件的可維護性。oo技術還提高了軟件的可靠性和健壯性。[br][br]六、可視化開發方法[br][br] 可視化開發是90年代軟件界最大的兩個熱點之一。隨著圖形用戶界面的興起,用戶界面在軟件系統中所占的比例也越來越大,有的甚至高達60~70%。產生這一問題的原因是圖形[br]界面元素的生成很不方便。為此windows提供了應用程序設計接口api(application programming interface),它包含了600多個函數,極大地方便了圖形用戶界面的開發。但是在這批函數中,大量的函數參數和使用數量更多的有關常量,使基于windows api的開發變得相當困難。為此borland c++推出了object windows編程。它將api的各部分用對象類進行封裝,提供了大量預定義的類,并為這些定義了許多成員函數。利用子類對父類的繼承性,以及實例對類的函數的引用,應用程序的開發可以省卻大量類的定義,省卻大量成員函數的定義或只需作少量修改以定義子類。[br][br] object windows還提供了許多標準的缺省處理,大大減少了應用程序開發的工作量。但要掌握它們,對非專業人員來說仍是一個沉重的負擔。為此人們利用windows api或borland c++的object windows開發了一批可視開發工具。[br][br] 可視化開發就是在可視開發工具提供的圖形用戶界面上,通過操作界面元素,諸如菜單、按鈕、對話框、編輯框、單選框、復選框、列表框和滾動條等,由可視開發工具自動生成應[br]用軟件。[br][br] 這類應用軟件的工作方式是事件驅動。對每一事件,由系統產生相應的消息,再傳遞給相應的消息響應函數。這些消息響應函數是由可視開發工具在生成軟件時自動裝入的。[/p]

該文章在 2010/5/12 23:44:28 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved