首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務(wù)英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學(xué)習(xí) | 法語 | 德語 | 韓語
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證
華為認證 | Java認證
公務(wù)員 | 報關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導(dǎo)游資格
報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護士
會計從業(yè)資格考試會計證) | 經(jīng)濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務(wù)師
注冊資產(chǎn)評估師 | 高級會計師 | ACCA | 統(tǒng)計師 | 精算師 | 理財規(guī)劃師 | 國際內(nèi)審師
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價師 | 土地估價師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀人 | 投資項目管理師 | 土地登記代理人 | 環(huán)境影響評價師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師
繽紛校園 | 實用文檔 | 英語學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲
您現(xiàn)在的位置: 考試吧(Exam8.com) > 計算機等級考試 > 計算機四級 > 復(fù)習(xí)資料 > 正文

全國計算機等級考試四級復(fù)習(xí)綱要五

 。ǘ 軟件開發(fā)模型
  
  為了指導(dǎo)軟件的開發(fā),用不同的方式將軟件生存周期中的所有開發(fā)活動組織起來,形成不同的軟件開發(fā)模型。常見的軟件開發(fā)模型有瀑布模型、演化模型、螺旋模型、噴泉模型等。瀑布模型如下圖所示,它是1970年由W.Royce提出的。該模型給出了軟件生存周期各階段的固定順序,上一階段完成后才能進入到下一階段,整個過程就像流水下瀉,故稱之為瀑布模型。圖中的虛線部分表示在某一階段發(fā)現(xiàn)錯誤時,其錯誤可能是由上一階段造成的,因此開發(fā)過程可能要反饋到上一階段。在瀑布模型中,各階段結(jié)束后,都要進行嚴格的評審。

 。ㄈ 軟件開發(fā)方法
  
  軟件開發(fā)過程模型規(guī)定軟件開發(fā)活動的組合應(yīng)用方式,要保證開發(fā)活動的高質(zhì)量,還需要有相應(yīng)的軟件開發(fā)方法作為技術(shù)支持。近10年來,軟件工作者研制出了許多工程化的軟件開發(fā)方法,例如70年代初提出的用于編寫程序的結(jié)構(gòu)化程序設(shè)計方法,確實起到了提高效率,減少錯誤的效果。但是70年代中期,軟件工作者認識到編寫程序僅僅是軟件開發(fā)的一個環(huán)節(jié),而合理地建立系統(tǒng)結(jié)構(gòu)比編定程序更為重要。所以研究的重點前移到設(shè)計階段,出現(xiàn)了設(shè)計階段的結(jié)構(gòu)化設(shè)計(SD)方法和JACKSON等方法,到了70年代后期,人們又發(fā)現(xiàn)事先對用戶的要求進行分析更為重要,故又把重點前移到分析階段。出現(xiàn)了用于分析階段的結(jié)構(gòu)化分析(SA)方法、結(jié)構(gòu)化分析與設(shè)計技術(shù)(SADT)等。隨著計算機技術(shù)的迅速發(fā)展,在80年代初期的實時、并發(fā)和網(wǎng)絡(luò)等軟件的開發(fā)過程中,特別是在第五代計算機研究工作中,又提出了面向?qū)ο蟮脑O(shè)計方法,F(xiàn)在流行的方法有多種,它們的適用范圍也各不相同。有的適用于一般的數(shù)據(jù)處理系統(tǒng),如SA、SD(兩者統(tǒng)稱為結(jié)構(gòu)化分析與設(shè)計方法,即Yourdon方法)、JACKSON方法;有的適用于大型的復(fù)雜系統(tǒng),如SADT技術(shù);有的適用于實時事務(wù)處理系統(tǒng),如FSM方法;有的適用于并發(fā)軟件系統(tǒng),如PETRI網(wǎng)方法;作為90年代代表作的面向?qū)ο蠓椒,其?yīng)用已幾乎遍布各個領(lǐng)域。這些方法除了適用范圍不同外,方法形成的基礎(chǔ)、處理規(guī)則和對所開發(fā)軟件風(fēng)格的要求等都各有側(cè)重。用什么方法來說明用戶的要求、用什么方法來設(shè)計軟件以及用什么方法對軟件進行測試和維護,直接影響所開發(fā)軟件的質(zhì)量。

 。ㄋ模 軟件開發(fā)工具

  早期的軟件開發(fā)除了一般的程序設(shè)計語言外尚缺少工具的支持,致使編程工作量大,質(zhì)量和進度卻難以保證,導(dǎo)致人們將很多的精力和時間花費在程序的編制和調(diào)試上;相比之下,在更重要的軟件的需求和設(shè)計上反而得不到必要的精力和時間投入。軟件開發(fā)工具的發(fā)展促進了軟件開發(fā)的高速度和高質(zhì)量。工具的發(fā)展是從單項工具的開發(fā)逐步走向集成的工具發(fā)展的。同時,軟件開發(fā)方法的有效應(yīng)用也必須得到相應(yīng)工具的支持,否則方法將難以有效的實施。工具的完善和發(fā)展將促進軟件開發(fā)的進步和完善。原型化方法的實施基礎(chǔ)就是得到了開發(fā)工具的支持?焖僭突阅軌?qū)崿F(xiàn)的基礎(chǔ)就是原型化人員在快速建模時得到了工具的支持,否則原型化方法是無法實施的。

 。ㄎ澹 軟件開發(fā)環(huán)境

  軟件工程環(huán)境或稱軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的軟件工具集合。這些軟件工具按照一定的方法或模式組合起來,并能支持軟件開發(fā)生命周期的各個階段和各項任務(wù)的完成。CASE,即計算機輔助軟件工程環(huán)境是當前軟件開發(fā)環(huán)境中富于特色的研究工作和發(fā)展方向,它的成功將最大限度地降低軟件工程的技術(shù)難度并使軟件開發(fā)的質(zhì)量得到保證。

  二、結(jié)構(gòu)化生命周期方法

  結(jié)構(gòu)化分析與設(shè)計方法在軟件工程中應(yīng)用已很普遍,并且越來越成熟。有許多大、中型項目都采用了這種方法進行開發(fā)并取得了顯著的成果。按B.W.Boehm的描述,瀑布模型的的軟件生命周期可劃分七個階段:系統(tǒng)需求分析、軟件需求分析、概要分析、詳細設(shè)計、編碼、測試和運行維護。

 。ㄒ唬 系統(tǒng)需求

  “系統(tǒng)需求”包括:問題定義、可行性研究及軟件計劃。
  
  1.問題定義

  軟件開發(fā)的第一步就是進行問題定義。問題定義階段必須回答的關(guān)鍵問題:“軟件要解決的問題是什么?”如果不知道問題是什么就試圖解決這個問題,顯然是盲目的,只會白白浪費時間和金錢,最終得出的結(jié)果很可能是毫無意義的。盡管確切地定義問題的必要性是十分明顯的,但是在實踐中它卻可能是最常被忽視的一個步驟。這里所說的問題,就是指用戶的基本要求。說得通俗些,問題定義實際上就是了解用戶到底要建立什么系統(tǒng),并確定分析員下一步應(yīng)該做什么。因此,問題定義的來源是用戶。通過問題定義階段的工作,系統(tǒng)分析員應(yīng)該提出關(guān)于問題性質(zhì)、工程目標和規(guī)模的書面報告。這一階段的分析員應(yīng)盡可能站在較高的角度去抽象、概括所要干的事情,不要拘泥于問題實現(xiàn)的細節(jié)。盡管用戶可能總是習(xí)慣于這樣做,但分析員在這一階段必須超脫出來,居高臨下鳥瞰系統(tǒng)的全貌。通過對系統(tǒng)的實際用戶和使用部門負責人的訪問調(diào)查,分析員扼要地寫出他對問題的理解,并在使用部門負責人的會議上認真討論這份書面報告,澄清含糊不清的地方,改正理解不正確的地方,最后得出一份雙方都滿意的文檔。當用戶的要求不是很多并且不太復(fù)雜時,一兩個分析員用上一兩天就可以完成這一工作了。但當系統(tǒng)比較大,且復(fù)雜時,恐怕就要組織一個問題定義小組,花上一兩個星期,甚至數(shù)月來定義用戶的問題。如果分析員和用戶及使用部門的負責人對所要解決的問題取得完全一致的看法,而且使用部門的負責人同意開發(fā)工程繼續(xù)進行下去,那么開發(fā)工程將轉(zhuǎn)入生命周期的下一個階段———可行性研究。
  
  2.可行性研究

  并不是所有問題都有簡單明顯的解決辦法,事實上,許多問題不能在預(yù)定的系統(tǒng)規(guī)模之內(nèi)解決。如果問題沒有可行的解,那么花費在這項開發(fā)工程上的任何時間、資源、人力和經(jīng)費和都是無謂的浪費?尚行匝芯康哪康脑谟谟米钚〉拇鷥r確定在問題定義階段所確定的系統(tǒng)的目標和規(guī)模是否現(xiàn)實,所確定的問題是否可以解決,系統(tǒng)方案在經(jīng)濟上、技術(shù)上和操作上是否可以接受?尚行匝芯恐貙θ缦戮唧w方案考慮:

  (1)經(jīng)濟可行性。估計開發(fā)費用以及新系統(tǒng)可能帶來的收益,將兩者進行權(quán)衡,看結(jié)果是否可以接受。

 。2)技術(shù)可行性。對要求的功能、性能以及限制條件進行分析,是否能夠做成一個可接受的系統(tǒng)。所考慮的因素通常還應(yīng)包括開發(fā)的風(fēng)險,是否能夠得到需要的軟件和硬件資源和一個熟練的有能力的開發(fā)隊伍,與系統(tǒng)開發(fā)有關(guān)的技術(shù)是否足以支持系統(tǒng)的研制。技術(shù)可行性的估計,需要有經(jīng)驗的人員去完成。
  
  (3)操作可行性。判斷系統(tǒng)的操作方式在該用戶組織內(nèi)是否可行。分析、設(shè)計人員應(yīng)以新系統(tǒng)的目標和作用范圍為依據(jù)提出一種以上的設(shè)計方案,從技術(shù)可行性、經(jīng)濟可行性、操作可行性等方面進行比較,并選擇出綜合最優(yōu)的方案。根據(jù)可行性研究結(jié)果要做出的決定是:是否繼續(xù)按預(yù)定目標進行這項開發(fā)工程,可行性分析人員必須清楚地表明他對這個關(guān)鍵性決定的建議。如果認為值得繼續(xù)進行這項開發(fā)工程,則應(yīng)提供選擇一種最好的解法并說明理由?尚行苑治鍪窃趩栴}的目標和約束之間的一種權(quán)衡,還可能有的結(jié)果則是修改目標或放寬約束。

  3.軟件計劃

  分析人員應(yīng)該為推薦的系統(tǒng)草擬一份軟件計劃,其中描述的是為了成功地進行一個軟件項目,其所需要做的工作、需要的資源、需要的工作量和費用以及應(yīng)遵循的進度安排。軟件計劃由兩項任務(wù)組成:分析和估算。分析是對系統(tǒng)內(nèi)各軟件功能的界限的劃定。估算是指根據(jù)已有的定性數(shù)據(jù)和已往的經(jīng)驗對系統(tǒng)開發(fā)的資源、費用和進度進行定量的估計。軟件開發(fā)項目的進度安排可以從兩種觀點來考慮:一是項目的交付日期已定,負責開發(fā)工作的軟件機構(gòu)被限制在一個規(guī)定的時間范圍內(nèi)分配其工作量。二是項目最后的交付日期由軟件機構(gòu)自已確定,可以從最佳的利用各種資源的角度出發(fā)來分配工作量,項目最后的交付日期經(jīng)過對軟件各部分仔細分析后才確定。在多數(shù)項目中,遇到的往往是第一種情況。軟件計劃的閱讀者可以包括軟件主管部門、用戶和技術(shù)人員。所確定的成本與進度可供主管部門復(fù)審。它同時也給出了整個軟件生命周期的基本成本預(yù)算的進度安排。

 。ǘ 軟件需求分析

  軟件需求分析工作是軟件生存期中重要的一步,也是決定性的一步。只有通過軟件需求分析,才能把軟件功能和性能的總體概念描述為具體的軟件需求規(guī)格說明,從而奠定軟件開發(fā)的基礎(chǔ)。軟件需求分析工作也是一個不斷認識和逐步細化的過程。該過程將軟件設(shè)計階段所確定的軟件范圍(工作域)逐步細化到可詳細定義的程度,并分析出各種不同的軟件元素,然后為這些元素找到可行的解決方法。制定軟件的需求規(guī)格說明不只是軟件開發(fā)人員的事,用戶也起著至關(guān)重要的作用。用戶必須對軟件功能和性能提出初步要求,并澄清一些模糊概念。而軟件分析人員則要認真了解用戶的要求,細致地進行調(diào)查分析,把用戶“做什么”的要求最終轉(zhuǎn)換成一個完全的、精細的軟件邏輯模型并寫出軟件的需求規(guī)格說明,準確地表達用戶的要求。

  1.軟件需求分析任務(wù)

  需求分析所要做的工作是深入描述軟件的功能和性能,確定軟件設(shè)計的限制和軟件同其他系統(tǒng)元素的接口細節(jié)。定義軟件的其他有效性需求。分析員通過需求分析,逐步細化對軟件的要求,描述軟件要處理的數(shù)據(jù)域,并給軟件開發(fā)提供一種可轉(zhuǎn)化為數(shù)據(jù)設(shè)計、結(jié)構(gòu)設(shè)計和過程設(shè)計的數(shù)據(jù)與功能表示。在軟件完成后,制定的軟件需求規(guī)格說明還要為評價軟件質(zhì)量提供依據(jù)。需求分析階段研究的對象是軟件項目的用戶要求。需要注意的是,必須理解用戶的各項要求,但又不能全盤接受所有的要求。因為并非所有用戶要求都是合理的。對其中模糊的要求還需要澄清,然后才能決定是否可以采納。對于那些無法實現(xiàn)的要求應(yīng)向用戶做充分的解釋,以求得諒解。準確地表達所接受的用戶要求,是需求分析的另一個重要方面。只有經(jīng)過確切描述的軟件需求才能成為軟件設(shè)計基礎(chǔ)。通常軟件開發(fā)項目是要實現(xiàn)目標系統(tǒng)的物理模型,即確定待開發(fā)軟件系統(tǒng)的系統(tǒng)元素,并將功能和數(shù)據(jù)結(jié)構(gòu)分配到這些系統(tǒng)元素中。它是軟件實現(xiàn)的基礎(chǔ)。但是目標系統(tǒng)的具體物理模型是由它的邏輯模型經(jīng)實例化,即具體到某個業(yè)務(wù)領(lǐng)域而得到的。與物理模型不同,邏輯模型忽視實現(xiàn)機制與細節(jié),只描述系統(tǒng)要完成的功能和要處理的數(shù)據(jù)。作為目標系統(tǒng)的參考,需求分析的任務(wù)就是借助于當前系統(tǒng)的邏輯模型導(dǎo)出目標系統(tǒng)的邏輯模型,解決目標系統(tǒng)的“做什么”的問題。
  
 。1)獲得當前系統(tǒng)的物理模型。當前系統(tǒng)可能是需要改進的某個已在計算機運行的數(shù)據(jù)處理系統(tǒng),也可能是一個人工的數(shù)據(jù)處理過程。在這一步首先分析、理解當前系統(tǒng)是如何運行的,了解當前系統(tǒng)的組織機構(gòu)、輸入輸出、資源利用情況和日常數(shù)據(jù)處理過程,并用一個具體模型來反映自己對當前系統(tǒng)的理解。這一模型應(yīng)客觀地反映現(xiàn)實世界的實際情況。

 。2)抽象出當前系統(tǒng)的邏輯模型。在理解當前系統(tǒng)“怎樣做”的基礎(chǔ)上,抽取其“做什么”的本質(zhì),從而從當前系統(tǒng)的物理模型抽象出當前系統(tǒng)的邏輯模型。在物理模型中有許多物理因素,隨著分析工作的深入,有些非本質(zhì)的物理因素就成為不必要的負擔,因而需要對物理模型進行分析,區(qū)分出本質(zhì)的和非本質(zhì)的因素,去掉那些非本質(zhì)的因素即可獲得反映系統(tǒng)本質(zhì)的邏輯模型。

 。3)建立目標系統(tǒng)的邏輯模型。分析目標系統(tǒng)與當前系統(tǒng)邏輯上的差別,明確目標系統(tǒng)統(tǒng)到底要“做什么”,從當前系統(tǒng)的邏輯模型導(dǎo)出目標系統(tǒng)的邏輯模型。(4)為了對目標系統(tǒng)做完整的描述,還需要對得到的邏輯模型做一些補充。①說明目標系統(tǒng)的用戶界面。根據(jù)目標系統(tǒng)所處的應(yīng)用環(huán)境及它與外界環(huán)境的相互關(guān)系,研究所有可能與它發(fā)生聯(lián)系和作用的部分,從而決定人機界面。②說明至今尚未詳細考慮的細節(jié)。這些細節(jié)包括系統(tǒng)的啟動和結(jié)束、出錯處理、系統(tǒng)的輸入輸出和系統(tǒng)性能方面的需求。③其他。例如系統(tǒng)的其他必須滿足的性能和限制等等。

希望與更多計算機等級考試的網(wǎng)友交流,請進入計算機等級考試論壇

更多信息請訪問:考試吧計算機等級考試欄目

上一頁  1 2 3 4 5 6 7 8 9 10  ... 下一頁  >> 
文章搜索
計算機等級考試欄目導(dǎo)航
版權(quán)聲明:如果計算機等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本計算機等級考試網(wǎng)內(nèi)容,請注明出處。