《軟件工程》學習輔導_第1頁
《軟件工程》學習輔導_第2頁
《軟件工程》學習輔導_第3頁
《軟件工程》學習輔導_第4頁
《軟件工程》學習輔導_第5頁
已閱讀5頁,還剩68頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、PAGE 72PAGE 73軟件工程學習輔導緒論第一節 軟件工程的產生軟件:計算機程程序及其說明明程序的各種種文檔。程程序是計算算任務的處理理對象和處理理規則的描述述。軟件的特特點:1 是一種種邏輯產品,與與物質產品有有很大的區別別。2 軟件件產品的生產產主要是研制制,生產成本本主要在開發發和研制,開開發研制完成成后,通過復復制就產生了了大量軟件產產品。3 軟軟件產品不會會用壞,不存存在磨損,消消耗。4 生生產主要是腦腦力勞動,還還末完全擺脫脫手工開發方方式,大部分分產品是定定做的。55 開發軟件件的費用不斷斷增加,致使使生產成本相相當昂貴按軟件的功能劃劃分- 系統統軟件:能與與計算機硬件件緊

2、密配合在在一起,使計計算機系統各各個部件、相相關的軟件和和數據協調、高高效率地工作作的軟件。如如操作系統、數數據庫管理系系統、設備驅驅動程序以及及通信處理程程序等。系統統軟件是計算算機系統中必必不可少的一一個組成部分分。 應用用軟件:是在在特定的領域域內開發,為為特定目的服服務的一類軟軟件。如,CCADCAAM 計算機機輔助制造CAI 計計算機輔助教教學, 專家家系統,模式式識別,剎車車系統 支撐軟件件:是協助用用戶開發軟件件的工具性軟軟件,其中包包括幫助程序序人員開發軟軟件產品的工工具,也包括括幫助管理人人員控制開發發的進程的工工具。按規模劃分:11、微型只有一個人人,甚至是半半時,在幾天天

3、之內完成的的軟件。寫出出的程序不到到500行語語句。2、小小型-一個個人半年之內內完成的2千千行以內的程程序。例如,數數值計算問題題或是數據處處理問題就是是這種規模的的課題。這種種程序通常沒沒有與其他程程序的接口。如,有求伯君開發最初的 WPS,單獨完成BASIC 的比爾.蓋茨。3、中型-5人以內在一年多時間里完成的5千到5萬行的程序。這種課題開始出現了軟件人員之間,軟件人員與用戶之間的聯系、協調和配合關系的問題。4、大型-5人至10人在兩年多的時間里完成5萬行到10萬行的程序。例如編譯程序、小型分時系統、應用軟件包、實時控制系統等很可能都是這種軟件。5、甚大型-100人至1000人參加6、極

4、大型-2000-5000人參加,如,微軟的windows 2000項目就包含了近3000名工程師,他們被分成幾百個小的團隊。 按開發分軟件產品和和軟件項目 軟件件產品指的是不局局限于特定領領域的、可以以被廣大用戶戶直接使用的的軟件系統。如如微軟的 WWindowws,Offfice等。這這類系統的特特點是技術含含量高,開發發時要考到各各種不同的用用戶需求; 軟件件項目-也也稱定制軟件件,是受某個個特定客戶(或或少數客戶)的的委托,由一一個或多個軟軟件開發機構構在合同的約約如我們常說說的管理信息息系統(MIIS)和電子子商務系統。這這類軟件的特特點是領域知知識所占的比比重較大,相相對技術而言言工

5、程性更強強。例如,軍軍用防空指揮揮系統、衛星星控制系統等等均為這類軟軟件。 針對這兩種種不同類型的的軟件,應該該有不同的軟軟件開發方法法去指導項目目開發過程。 軟件項目的開發,目前比較成熟的軟件開發方法有軟件成熟度模型(CMM)。 這種軟件開發模型試圖將整個軟件開發過程規范化和量化,直到可以對軟件開發過程進行定量的控制和優化。 軟件產品的開發,像微軟公司積累了許多成功的經驗。軟件生產的發展展:1 程序設設計時代:這這個階段生產產方式是個體體勞動,生產產工具是機器器語言,匯編編語言。(11946-11956年)2 程序系統時代:這個階段生產方式是小集團合作生產,生產工具是高級語言,開發方法仍依靠

6、個人技巧,但開始提出結構化方法。(1956-1968年)3 軟件工程時代:這個階段生產方式是工程化的生產,使用數據庫,開發工具,開發環境,網絡,分布式面向對象技術來開發軟件。(1968年至今)軟件危機: 軟軟件開發技術術的進步未能能滿足發展的的要求。在軟軟件開發中遇遇到的問題找找不到解決的的辦法,問題題積累起來,形形態尖銳的矛矛盾,導致了了軟件危機。軟件危機的表現:1 經費預算經常突破,完成時間一再拖延。2 開發的軟件不能滿足用戶要求。3 開發的軟件可維護性差。4 開發的軟件可靠性差。軟件危機產生原因:1 軟件規模越來越大,結構越來越復雜。2 軟件開發管理困難而復雜。3 軟件開發費用不斷增加。

7、4 軟件開發技術落后。5 生產方式落后,仍采用手工方式。6 開發工具落后,生產率提高緩慢。軟件工程:用科科學的知識和和技術原理來來定義,開發發,維護軟件件的一門學科科。用工程科科學的觀點進進行費用估算算,制定進度度,制定計劃劃和方案。用用管理科學的的方法和原理理進行生產的的管理。用數數學的方法建建立軟件開發發中的各種模模型和算法。 那么為達到軟件優質高產這個目標,從技術到管理做了大量的努力,從而逐漸已形成了軟件工程學這一新學科。它包含以下主要內容:1、軟件開發方法:軟件工程的方法提供了建造軟件在技術上需要如何做。 方法涵蓋了一系列的任務:需求分析、設計、編程、測試和維護。 是在60年代后期才逐

8、步形成了一種軟件開發方法,在不同的軟件開發階段對應有不同的方法,例如在軟件的設計階段有結構化分析與設計方法,在軟件測試階段有黑盒與白盒測試技術,等等。 象目前又有一種更新的技術面向對象的程序設計方法。在這一方法中,數據和數據的操作是被封閉在一個個稱為對象(Object) 的統一體中,對象之間則是通過消息(message)進行相互聯系的。 從而使由軟件所描述的系統與客觀世界的系統在結構上十分相似,不僅提高了軟件的可修改性與可維護性,同時也提高了軟件的可重用性,那么這些都是工程多年來所追求的目標。從結構程序設計到面向對象程序設計,是程序設計方法的又一次飛躍。2、軟件工具:所謂工具,在這里泛指是開發

9、一切幫助開發軟件的軟件。為了提高軟件設計的質量和生產效率,現已經發展了許多的幫助開發和維護軟件的軟件 。例如,我們要用某種語言來開發一個應用軟件,這就要涉及到 編輯程序、編譯程序、連接程序等,另外在軟件測試階段還要用到 測試數據產生器、排錯程序、跟蹤程序、靜態分析工具和覆蓋監視工具等。也就是說在不同的時期要用到不同的軟件開發工具。目前,軟件工具發展迅速,許多用于軟件分析和設計的工具正在建立,其目標 就是要實現軟件生產自動化。3、軟件工程環境:軟件方法和工具是軟件開發的兩大支柱,她們之間密切相關。軟件方法提出了明確的工作步驟和標準的文檔格式,這是設計軟件工具的基礎,而軟件工具的實現又將促進軟件方

10、法的推廣和發展。 環境一詞,對不同用戶有著不同的含義。對最終用戶(end user)而言,環境就是他們運行程序所使用的計算機系統。這類用戶對環境的要求,主要是運行可靠,操作方便,容易學習和使用。而對于軟件開發人員來說,則就不同了,可以說環境就是他們進行軟件開發活動的舞臺。(例如,Algo-60,或者 資料管理系統(DbaseII DbaseIII),例如界面只能采用菜單來完成各種功能) 象現在生產數據庫管理的軟件的環境有:大型數據庫軟件 Sybase ,還有能幫助進行程序設計的 PB 軟件) 4、軟件工程管理學:大家知道,對于一個企業來說,如果只有先進的設備和技術,而沒有完善的管理,是不可能獲

11、得應有的經濟效益的(例如海爾的海爾文化就是企業管理的象征),(例如微軟企業文化宗旨的一句話) 軟件生產也是一樣的,如果管理不善,是不可能高質量、按時完成任務的。 軟件工程管理就是對軟件工程生存期內的各階段的活動進行管理。軟件工程管理的目的是為了能按預期的時間和費用,成功地完成軟件的開發和維護任務。 軟件工程管理學的內容包括軟件費用管理、人員組織、工程計劃管理、軟件配置管理等各項方面的內容。 顯然,軟件工程管理也可借助計算機來實現。供經理人員估算成本、指定進度、生成報告等管理工具都已經在許多公司使用了。一個理想的軟件工程環境,應該同時具備 支持開發和支持管理兩個方面的工具。 以上簡介了軟件工程學

12、的主要組成成分-軟件工程方法學、軟件工程環境以及軟件工程管理的基本內容臺和作用。它們即包括計算機科學家的研究成果,也概括了廣大軟件工作者的時間經驗。還必須指出,軟件開發技術可區分為形式化方法與非形式化方法兩大分支。前者以形式化的程序變化和嚴整為主要內容,目的在于達到程序設計的自動化,多用于計算機應用人員。本課程主要討論的是工程化的軟件開發技術。 軟件工程目標:付出較低開開發成本;達達到要求的功功能;取得較較好的性能;開發的軟件件易于移植;只需較低的的維護費用;能按時完成成開發任務,及及時交付使用用;開發的軟軟件可靠性高高。軟件工程程內容:研究究內容包括開開發技術和開開發管理兩個個方面。開發發技

13、術主要研研究 :軟件件開發方法,開開發過程,開開發工具和環環境。開發管管理主要研究究 :軟件管管理學,軟件件經濟學,軟軟件心理學。軟件工程需要解決的問題:軟件的費用,可靠性,可維護性,軟件生產率和軟件的重用。第二節 軟件工工程過程和軟軟件生存周期期軟件工程:規定定了獲取,供供應,開發,操操作和維護軟軟件時,要實實施的過程,活活動和任務。目目的是為各種種人員提供公公共的框架,以以便用相同的的語言進行交交流。包括:獲取過程,供供應過程,開開發過程,操操作過程,維維護過程,管管理過程,支支持過程。軟件生存周期:一個軟件從從提出開發要要求開始直到到該軟件報廢廢為止的整個個時期。包括括:可行性分分析和項

14、目開開發計劃,需需求分析,概概要設計,詳詳細設計,編編碼,測試,維維護。第三節 軟件生生存周期模型型,方法和工工具生存周期模型:描述軟件開開發過程中各各種活動如何何執行的模型型。對軟件開開發提供強有有力的支持,為為開發過程中中的活動提供供統一的政策策保證,為參參與開發的人人員提供幫助助和指導,是是軟件生存周周期模型化技技術的基礎,也也是建立軟件件開發環境的的核心。生存存周期模型作作用:確立了了軟件開發中中各階段的次次序限制,活活動準則,所所要遵守的規規定和限制,便便于各種活動動的協調,人人員之間的有有效通信,有有利于活動重重用和活動管管理。生存周周期模型準則則:模型能表表示各種活動動的實際工作

15、作方式,能隨隨情況變化而而演化能表示示各種活動間間同步和制約約關系,能表表示活動的動動態特性。容容易為開發人人員理解,能能適應不同軟軟件項目,具具有較強靈活活性,能支持持軟件開發環環境的建立。目前有:1 瀑瀑布模型:將將軟件生存周周期中各活動動規定為依線線性順序連接接的若干階段段。包括可行行性分析,項項目開發計劃劃,需求分析析,概要設計計,詳細設計計,編碼,測測試和維護。它它是一種理想想的線性開發發模式,缺乏乏靈活,特別別是無法解決決軟件需求不不明確的問題題。適合于需需求不明確,設設計方案有一一定風險的軟軟件項目。22 增量模型:軟軟件在模型中中是逐漸開發出來的的,開發一部部分,展示一一部分,

16、能及及早發現問題題。或者先開開發一原型型軟件,完完成主要功能能,然后逐步步完善,最終終獲得滿意的的軟件產品。3 螺旋模型:將瀑布模型與增量模型結合起來,加入風險分析,彌補了這兩種模型的不足。開發分四步:制定計劃,風險分析,開發實施,用戶評估。4 噴泉模型:以用戶需求為動力,以對象為驅運動模型,適合于面向對象開發方法,使開發過程具有迭代性和無間隙性。 迭代性:系統有些部分常常重復工作多次,相關功能在每次迭代中隨之加入演化的系統。 無間隙:在分析,設計,實現等開發活動之間不存在明顯邊界。5 基于知識的模型:瀑布模型與專家模型的結合。開發各階段都有利用相應專家系統來輔助設計,使維護在系統需求一級進行

17、。6 變換模型:適合于形式化開發方法的模型。軟件開發方法:使用早已定定義好的技術術集及符號表表示習慣來組組織軟件生產產的過程。軟軟件開發開發發的目標:通通過使用成功功的軟件開發發方法,在規規定的投資和和時間內,開開發出符合用用戶需求的高高質量的軟件件。 軟件開開發方法是克克服軟件危機機的重要方面面之一,對軟軟件工程及軟軟件包產業的的發展起了不不可估量的作作用。已使用的成功方方法有:1、結構化方方法:一種面面向數據流的的開發方法,適適合數據處理理領域。指導導指導思想是是自頂向下,逐逐步求精。用用數據流圖建建立系統功能能模型,完成成需求分析工工作。用軟件件結構圖建立立系統物理模模型,實現概概要設計

18、。最最后將每個模模塊的功能用用相應標準控控制結構表示示出來,從而而實現詳細設設計。2、JACKKSON方法法:一種面向向數據結構的的開發方法,適適合小規模項項目。首先描描述問題的輸輸入,輸出數數據結構,分分析其對應性性,然后推出出相應程序結結構,從而給給出問題的軟軟件過程描述述。當輸入與與輸出數據結結構無對應關關系時,難于于應用此方法法,JSD(一一完整的系統統開發方法)對對JSP進行行了擴充3、維也納開開發方法(VVDM):一一種形式化開開發方法,軟軟件的需求用用嚴格的形式式語言描述,然然后把模型逐逐步變換成目目標系統。44、面向對象象的開發方法法:基本出發發點是盡可能能按人類認識識世界的方

19、法法和思維方式式來分析和解解決問題。以以對象作為最最基本的元素素,客觀世界界中具體的事事物,事件,概概念和規則都都有可看成對對象,它也是是分析問題,解解決問題的核核心。開發方方法包括面向向對象分析,面面向對象設計計,面向對象象實現。主要要有BOOCCH方法,CCoad方法法和OMT方方法。為統一一這些方法的的術語,概念念和模型,(11997年)推推出統一建模模型語言UMML。結構化方法可用用:瀑布模型型,增量模型型,螺旋模型型進行開發。JACKSON方法可用:瀑布模型,增量模型進行開發。面向對象的開發方法可用:噴泉模型,瀑布模型,增量模型進行開發。形式化的維也納方法只能用變換模型進行開發 。軟

20、件工具:為支支持軟件人員員開發和維護護活動而使用用的軟件。使使用軟件工具具后,可提高高軟件生產率率。目前軟件件工具發生了了很大變化,目目的是生成軟軟件周期各個個環節的自動動化。主要用用于軟件的分分析和設計,使使用這些工具具軟件開發人人員就能在微微機或工作站站上以對話方方式建立各種種軟件系統。工具箱:最初的軟件工具是以工具箱形式出現的。但界面不統一,工具內部無聯系,工具切換由人工操作。它們對大型軟件的開發和維護的支持能力有限。軟件開發環境:目的是使軟件工具支持整個生存周期。而且做到不僅支持各階段的技術工作,還要支持管理和操作工作,保持項目開發的高度可見性,可控制性和可追蹤性。計算機輔助軟件工程:

21、可簡單定義為軟件開發的自動化,簡稱為CASE。實質是為軟件開發提供一組優化集成的,大量節省人力的軟件開發工具。是軟件工具和軟件開發方法的結合。目的是實現軟件生存周期各環節的自動化,并使之成為一個整體。CASE工具與與以往軟件工工具不同體現現在:1 支支持專用的個個人計算環境境;2 使用用圖形功能對對軟件系統進進行說明并建建立文檔;33 將生存周周期各階段的的工作連接在在一起;4 收集和連接接軟件系統從從最初的軟件件需求到軟件件維護各個環環節的所有信信息;5 用用人工智能實實現軟件開發發和維護工作作的自動化。第二章可行研研究與項目開開發計劃可行研究的任務務:首先需要要進行概要的的分析研究,初初步

22、確定項目目的規模,目目標,約束和和限制。分析析員再進行簡簡要的需求分分析,抽象出出項目的邏輯輯結構,建立立邏輯模型。從從邏輯模型出出發,經過壓壓縮的設計,探探索出若干種種可供選擇的的解決方法,對對每種解決方方法都要研究究它的可行性性。主要從三三個方面考慮慮:1.技術術可行性 一一般要考慮的的情況包括 開發的風險險即設計出的的系統能否達達到要求的功功能和性能;資源的有效效性;相關技技術的發展是是否支持;22.經濟可行行性 進行開開發成本的估估算以及了解解取得效益的的評估,確定定要開發的項項目是否值得得投資。3.社會可行性性 要開發的的項目是否存存在任何侵權權問題,運行行方式在用戶戶組織內是否否可

23、行,現有有管理制度人員素質操作方式是是否可行。可可行性研究的的具體步驟:1.確定項項目規模和目目標;2.研研究正在運行行的系統; 收集研究分析現有系系統的文檔資資料,實地考考察系統訪問問有關人員,然然后描繪現有有系統的高層層系統流程圖圖。3.建立立新系統的高高層邏輯模型型; 使用數數據流圖和數數據字典描述述數據在系統統中的流動和和處理情況。4.導出和評價各種方案; 導出若干較高層次的物理解決方法,根據技術可行性經濟可行性社會可行性進行評估,得到可行的解決方法。 5.推薦可行方案; 進行成本效益分析,決定該項目是否值得開發,若值得開發那么解決方案是什么,并且說明該方案可行的原因和理由。6.編寫可

24、行性研究報告; 將上述可行性過程的結果寫成相應文檔,即可行性研究報告。 系統流程圖: 描述系統工程物理模型的工具,用圖形符號來表示系統中各個元素,表達各元素之間的信息流動情況。投資回收率:通通常用貨幣的的時間價值進進行估算。可可用利率來表表示貨幣的時時間價值。 設年利利率為I,現現存入P元,nn年后可得錢錢數為F,若若不計復利則則F=P*(11+n*I) 反之,若n年能收入F元,那么這些錢現在的價值是:P=F/(1+n*I) 通常把建立系統若干年后能取得的收益折算成現在的價值和開發系統所需的費用進行比較得出投資回收率。投資回收期:就是使累計的經濟效益等于最初的投資費用所需的時間。純收入:整個生

25、存周期之內的累計經濟效益(折成現在值)與投資之差。(例題見書2.3成本-效益分析)項目開發計劃:包括1.項項目概述:說說明項目的各各項主要工作作;說明軟件件的功能性能;為完完成項目應具具有的條件;用戶及合同同承包者承擔擔的工作完成成的期限及其其他條件限制制;應交付的的程序名稱;所使用的語語言及程儲形形式;應交付付的文檔。22.實施計劃劃:說明任務務的劃分,各各任務責任人人,項目開發發進度,項目目的預算,各各階段的費用用支出,各階階段應完成的的任務,用圖圖表說明每項項任務的開始始和完成時間間。 3.人人員組織及分分工:所需人人員類型數量組成結構。44.交付期限限:最后完工工日期。第三章 軟件需需

26、求分析需求分析:開發發人員準確地地理解用戶的的要求,進行行細致的調查查分析,將用用戶非形式的的需求陳述轉轉化為完整的的需求定義,再再由需求定義義轉換到相應應的需求規格格說明的過程程。它有以下下幾難點: 問題的復復雜性。由用用用戶需求涉涉及的因素繁繁多引起,如如運行環境和和系統功能 交流障礙礙。需求分析析涉及人員較較多,這些人人具備不同的的背景知識,處處于不同角度度,扮演不同同角色,造成成相互之間交交流困難。 不完備性性和不一致性性。用戶對問問題的陳述往往往是不完備備的,各方面面的需求可能能還存在矛盾盾,需求分析析要消除矛盾盾,形成完備備及一致的定定義。 需求易變變性。近幾年年來已提出多多種分析

27、和說說明方法,但但都必須適用用以下原則: 必須能夠夠表達和理解解問題的數據據域和功能域域。數據域包包括數據流(數數據通過一個個系統時的變變化方式)數數據內容和數數據結構,功功能域反映上上述三方面的的控制信息。 可以把一個復雜問題按功能進行分解并可逐層細化。 建模。可更好地理解軟件系統的信息,功能,行為。也是軟件設計的基礎。 需求分析的任務: 問題識別:雙方確定對問題的綜合需求,這些需求包括功能需求,性能需求,環境需求,用戶界面需求。 分析與綜合,導出軟件的邏輯模型 編寫文檔:包括編寫需求規格說明書初步用戶使用手冊確認測試計劃修改完善軟件開發計劃 結構化分析:簡簡稱SA,面面向數據流進進行數據分

28、析析的方法。采采用自頂向下下逐層分解的的分析策略。頂頂層抽象地描描述整個系統統,底層具體體地畫出系統統工程的每個個細節。中間間層則是從抽抽象到具體的的過渡。使用用數據流圖,數數據字典,作作為描述工具具,使用結構構化語言,判判定表,判定定樹描述加工工邏輯。結構構化(SA)分分析步驟:了解當前系系統的工作流流程,獲得當當前系統的物物理模型。抽象出當前前系統的邏輯輯模型。建立目標系系統的邏輯模模型。作進一步補補充和優化。 數據流圖(DFFD)以圖形形的方式描述述數據在系統統中流動和處處理的過程。只只反映系統必必須完成的邏邏輯功能,是是一種功能模模型。 畫數數據流圖的步步驟:首先畫系統統的輸入輸出出,

29、即先畫頂頂層數據流圖圖。頂層圖只包包含一個加工工,用以表示示被開發的系系統。畫系統內部部,即畫下層層數據流圖。將將層號從0號號開始編號,采采用自頂向下下,由外向內內的原則。畫畫更下層數據據流圖時,則則分解上層圖圖中的加工,一一般沿著輸出出入流的方向向,凡數據流流的組成或值值發生變化的的地方則設置置一個加工,一直進行到輸出數據流。如果加工的內部還有數據流,則繼續分解,直到每個加工足夠簡單,不能再分解為止。不能分解的加工稱為基本加工。注意事項:命名。不能使用缺乏具體含義的名字,加工名應能反映出處理的功能。畫數據流而不是控制流。數據流名稱只能是名詞或名詞短語,整個圖中不反映加工的執行順序。一般不畫物

30、質流。 每個加工至少有一個輸入數據流和一個輸出數據流,反映出此加工數據的來源與加工的結果 。編號。某個加工分解成加一張數據流圖時,上層圖為父圖,下層圖為子圖。子圖應編號,子圖上的所有加工也應編號,子圖的編號應與父圖的編號相對應。父圖與子圖的平衡。子圖的輸入輸出數據流同父圖相應加工的輸入輸出數據流必須一致局部數據存儲。當某數據流圖中的數據存儲不是父圖中向外部接口,而只是本圖中某些加工之間的數據接口,則稱這些數據存儲為局部數據存儲。 提高數據流圖的易理解性。為使數據流圖便便于在計算機機上輸入和輸輸出,給出了了描述數據流流圖的另一套套圖形符號表表示數據流,只只能水平或垂垂直畫 數據據字典(DDD)用

31、來定義義數據庫流圖圖中的各個成成分的具體含含義。有以下下四類條目:數據流,數數據項,數據據存儲,基本本加工。 數據流條目,內內容及舉例如如下:數據流流名稱:訂單單別名:無簡述述:顧客訂貨貨時填寫的項項目來源:顧顧客去向:加加工1檢驗驗訂單數據據流量:10000份/每每周(單位時時間內的傳輸輸次數)組成成:編號+訂訂貨日期+顧顧客編號+地地址+電話+銀行帳號+貨物名稱+規格+數量量 數據存儲條目目,內空及舉舉例數據存儲儲名稱:庫存存記錄別名:無簡述:存存放庫存所有有可供貨物的的信息組成:貨物名稱+編號+生產產廠家+單價價+庫存量組組織方式:索索引文件,以以貨物編號為為關鍵字查詢詢要求:要求求能立

32、即查詢詢 數據條目,內內容及舉例數數據項名稱:貨物編號別別名:G-NNo,G-nnum,Gooods-NNo簡述:本本公司所有貨貨物的編號 類型:字符符串長度:110取值范圍圍及含義:第第一位:進口口/國產第22-4位:類類別第5-77位:規格第第8-10位位:品名編號號 加工條目,內內容及舉例加加工名:查閱閱庫存編號:12激發條件:接收到合格格訂單時優先先級:普通輸輸入:合格合合格訂單輸出出:可供貨訂訂單,缺貨訂訂單加工邏輯輯:根據庫存存記錄IF 訂單項目數數量1),由由于這個orr的存在,那那么把x11錯寫成x11);在這里里必須使a=2 、x1,a2、x1均出現一一次。(4)判定/條件件

33、覆蓋:上面面條件覆蓋也也不一定滿足足判定該,因因為只符合條條件覆蓋的用用例可能會不不滿足每個判判定語句均有有真值或假值值出現。因此此要兩者兼顧顧,判定條件件覆蓋就是指指設計足夠 的測試用例例,使得判定定表達式中每每個條件的所所有可能取值值至少出現一一次并且每個個判定表達式式所有可能的的結果也至少少出現一次。(5)條件組合覆蓋:是指設計足夠的測試用例,使得每個判定表達式中條件的各種或能的值的組合都至少出現一次。這就是前面兩個覆蓋的組合。(6)路徑覆蓋:是指測設計足夠的測試用例,覆蓋被測試程序中所有可能的路徑。這六種覆蓋進行比較有下面一個表:條件組合發現錯誤的能力較強,凡滿足其標準的測試用例,也必

34、然滿足前四種覆蓋標準。在實際的邏輯測試中,一般以條件組合覆蓋為主設計測試用例,然后再補充部分用例來達到路徑覆蓋的測試標準。2、循環覆蓋:當程序中存在循環結構時,要覆蓋所有的路徑是不可能的,但是可以通過限制循環結構來測試。3、基本路徑測試:由于實際問題中,程序的路徑是龐大的,因此要將覆蓋的路徑壓縮到一定限度才能解決這個問題。基本路徑測試就是在程序控制流程圖的基礎上,通過分析控制構造的環路復雜性,導出基本路徑集合從面設計測試用例保證這些路徑至少通過一次。再來看看黑盒技術 黑盒測試是功能測試。測試的是程序的接口。在設計測試用例時有以下幾種方法:等價類的劃分、邊界值分析、錯誤推測和因果圖。這幾種方法都

35、不能提供一組完整的測試用例,在實際測試中應把各種方法結合起來使用。1、等價類的劃分:是將輸入數據按有效的或無效的(也稱合理的或不合理的)劃分成若干個等價類,測試每個等價類的代表值就等于對該類其他值的測試。用該法設計測試用例的步驟為:(1)劃分等價類(列一個表) (2)確定測試用例:根據已劃分的等價類,按以下步驟設計測試用例: 1)為每個等價類編號 2)設計一個測試用例,使其盡可能多的覆蓋尚未被覆蓋過的合理等價類。重復這步直到所有合理等價類被測試用例覆蓋。 3)設計一個測試用例,使其只覆蓋一個不合理等價類。重復這一步直到所有不合理等價類被覆蓋。 要注意課本上的例子,會應用這種方法設計測試用例2、

36、邊界值分析:也就是在為設計測試用例時,在等價類范圍內選擇一些邊界值作為測試用例,這樣可以比單用等價類劃分法所選的測試用例能查出更多錯誤,因為實踐表明,程序更容易在處理邊界值時發生錯誤。3、錯誤推測:通常根據經驗或直覺來推測程序中可能出現錯誤的情況,并有針對性的編寫檢查這些錯誤的測試用例。4、因果圖:因果圖能夠有效地檢測輸入條件的各種組合可能會引起的錯誤。它的基本原理是通過畫因果圖,把用自然語言描述的功能說明轉換為判定表,最后為判定表的每一列設計一個測試用例。 在以上幾種軟件測試方法,各有所長,但各有所短,在實際測試中,應該采用綜合策略,通常先用黑盒法設計基本的測試用例,再用白盒法補充一些必要的

37、測試用例。 本節具體要掌握的就是等價類劃分及邊界值的測試用例設計。四、軟件測試過過程(識記)軟件測試的的步驟通常有有四步:單元元測試、集成成測試、確認認測試和系統統測試。1、單單元測試主要要針對模塊的的五個基本特特征進行測試試:模塊接口口、局部數據據結構、重要要的執行路徑徑、錯誤處理理和邊界條件件。單元測試試時要用到驅動模塊和樁模模塊。注意要要概念:驅動動模塊是用來來模擬被測試試模塊的上級級調用模塊。樁樁模塊則用來來代替被測試試模塊所調用用的模塊。22、集成測試試有兩種方法法:非漸增式式測試和漸增增式測試。 非漸增增式測試是指指首先對每個個模塊分別進進行單元測試試,再把所有有模塊組裝成成一個完

38、整的的系統進行的的測試。而漸漸增式測試就就是逐個把未未經測試的模模塊組裝到已已經過測試的的模塊上去進進行集成測試試,每加入一一個新模塊進進行一次集成成測試,重復復此過程直到到程序組裝完完畢。漸增式式測試有兩種種不同的組裝裝方法:自頂頂向下和自底底向上結合。注注意兩者區別別。3、確認認測試又稱有有效性測試,它它的任務是檢檢查軟件的功功能與性能是是否與需求規規格說明書中中確定的指標標相符合。因因而需求說明明規格說明是是確認測試的的基礎.確認認測試有兩項項工作:進行行確認測試與與軟件配置審審查。4、系系統測試:即即要對軟件所所運行的整個個系統(包括括硬件、外設設、其他軟件件和操作人員員等)結合在在一

39、起進行測測試,確定其其是否能夠協協調工作。五、調試(識記記) 軟軟件測試的目目的是盡可能能多地發現程程序中的錯誤誤,而調試則則是在進行了了成功的測試試之后才開始始的工作。調調試的目的是是確定錯誤的的原因和位置置,并改正錯錯誤,因此調調試也稱為糾糾錯(Debbug)。 調試方方法有簡單的的調試方法、歸歸納法、演繹繹法和回溯法法等。第8章_軟件維維護 軟件維護護是軟件工程程的一個重要要任務,作為為理論,本章章的內容比較較簡單,多為為識記領會內內容,主要應應注意一些概概念。其中的的軟件可維護護性是本章的的重點內容。一、軟件維護的的內容有四種種:校正性維維護,適應性性維護,完善善性維護和預預防性維護。

40、1、校正性維護:指為了識別和糾正錯誤,修改軟件性能上的缺陷,進行確定和修改錯誤的過程。占整個維護工作的21%.2、適應性維護:為了使本軟件適應硬件和軟件的變化而修改軟件的過程稱為適應性維護。占整個維護活動的25%。3、完善性維護:增加軟件功能、增強軟件性能、提高運行效率而進行的維護活動稱為完善性維護。占整個維護工作的50%.4、預防性維護:為了提高軟件的可維護性和可靠性而對軟件進行的修改稱為預防性維護。只占4%。二、維護的特點點1、非結構構化維護和結結構化維護:主要是開發發過程是否用用軟件工程方方法,若各階階段均有相應應的文檔記錄錄,則容易維維護,采用結結構化維護可可以大大提高高軟件維護效效率

41、。2、軟軟件維護的困困難性:是由由于軟件需求求分析和開發發方法的缺陷陷。3、軟件件維護的費用用:在總費用用中的比重不不斷增加,已已經上升到了了70%880%或更多多,我們看到到的軟件不斷斷升級就是維維護的體現。三、維護任務的的實施1、維維護工作要建建立維護機構構,通常是成成立維護小組組,有臨時維維護小組和長長期維護小組組之分。2、維維護的流程是是:(1)制制定維護申請請報告。(22)審查申請請報告并批準準。(3)進進行維護并做做詳細記錄。(4)復審。3、維護技術:有兩類維護技術,即面向維護的技術和維護支援技術。(1)面向維護技術是在軟件開發階段用來減少錯誤、提高軟件可維護性的技術。(2)維護支

42、援技術是在軟件維護階段用來提高維護作業的效率和質量的技術。4、維護的副作用:有三種:(1)編碼副作用:即在修改源代碼時可能引入錯誤。(2)數據副作用:在修改數據結構時,有可能造成軟件設計與數據結構不匹配,因而導致錯誤,數據副作用是修改軟件信息結構導致的結果。(3)文檔副作用:即對可執行軟件的修改沒有反映在文檔中,就會產生文檔副作用。四、軟件可維護護性為了使軟軟件能夠易于于維護,必須須考慮使軟件件具有可維護護性。1、軟軟件可維護性性是指軟件能能夠被理解、校校正、適應及及增強功能的的容易程度。軟件的可維護性、可使用性、可靠性是衡量軟件質量的幾個主要特性。 軟件的可維護性是軟件開發階段的關鍵目標。

43、軟件可維護性的七個質量特征:可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。 2、度量軟件可維護性的方法:質量檢查表、質量測試、質量標準。3、提高可維護性的方法:(1)建立明確的軟件質量目標 (2)利用先進的軟件開發技術和工具 (3)建立明確的質量保證工作 (4)選擇可維護的程序設計語言 (5)改進程序文檔 注:本章的習題及答案基本上就是以上內容。在復習時,并不一定會出到這些題目,主要是對整個維護工作特點和過程的理解領會,在此基礎上,不需要太多的記憶也能正確答題。第9章_軟件開開發的增量模模型 本章介紹紹了增量模型型的基本思想想和特點、模模型的分類和和模型的表示示以及快速原原型

44、的基本原原理。學習理理論時還是以以識記為主。實實踐則可能會會在畢業設計計時用到。一、增量模型的的基本思想 瀑布模模型有其局限限性:很難適適應需求可變變、模糊不定定的軟件系統統的開發,而而且在開發過過程中用戶很很難參與進去去,只有到開開發結束才能能看到整個軟軟件系統。這這種理想的、線線性的開發過過程缺乏靈活活性,不適應應實際的開發發過程。 為了克服服瀑布模型的的局限性,產產生了增量模模型,它是在在瀑布模型的的基礎上加以以修改而形成成的。 增量模型和和瀑布模型的的本質區別是是:瀑布模型型屬于整體開開發模型,它它規定在開始始下一個階段段的工作之前前,必須完成成前一階段的的所有細節。而而增量模型屬屬于

45、非整體開開發模型,它它推遲某些階階段或所有階階段中的細節節,從而較早早的產生工作作軟件。 增量模型型是在項目的的開發過程中中以一系列的的增量方式開開發的系統。增增量方式包括括增量開發和和增量提交。 根據增量的方式和形式的不同,增量模型的分類分為漸增模型和原型模型。二、漸增模型:又包括增量量構造模型和和演化提交模模型。 增量構造模模型中,需求求分析階段和和設計階段都都是按瀑布模模型的整體方方式發,但是是編碼階段是是按增量方式式開發,在這這種模型的開開發中,用戶戶可以及早看看到部分軟件件功能,可以以及早發現全全面問題,以以使在開發其其他軟件功能能時及時解決決問題。 演化提交交模型中,項項目開發的各

46、各個階段都是是增量方式。該該模型是增量量開發的極端端形式,它不不僅是增量開開發也是增量量提交,用戶戶將最早收到到部分工作軟軟件。三、(快速)原原型模型:包括探索原原型、實驗原原型和演化型型原型。1、原原型:是指模模擬某種產品品的原始模型型,軟件開發發中的原形是是一個早期可可運行的版本本,它反映了了最終系統的的重要特性。2、快速原型的思想:先用相對少的成本、較短的周期開發一個簡單的、但可以運行的系統原型向用戶演示或讓用戶試用,以便及早澄清并檢驗一些主要的設計策略,在此基礎上再開發實際的軟件系統。3、快速原型運用方式:有拋棄策略和附加策略:(1)拋棄策略是將原型用于開發過程的某一階段,促使該階段的

47、開發結果更加完整、準確、一致、可靠,該階段結束后,原型隨之作廢。探索型和實驗型快速原型就是采用此策略。(2)附加策略是將原型用于開發的全過程,原型由最基本的核心開始,逐步增加新的功能和新的需求,反復修改反復擴充,最后發展為用戶滿意的系統,演化型快速原型就采用此策略。4、快速原型模型表示:(1)對于探索型,用原型過程來代替需求分析,把原型作為需求說明的補充形式,運用原型盡可能使需求說明完整、一致、準確、無二義性,但整體上仍采用瀑布模型。(2)對于實驗型,用原形過程來代替設計階段,即在設計階段引入原理,快速分析實現方案,快速構造原型,通過運行,考察設計方案的可行性與合理性,原形成為設計的總體框架或

48、設計結果的一部分。(3)對于演化型,用原型過程開代替全部開發階段。這是典型的演化提交模型的形式,它是在強有力的軟件工具和環境支持下,通過原型過程的反復循環,直接得到軟件系統。四、原型開發過過程1、快速速分析 22、構造原型型 3、運運行原型 4、評價原原型 5、修修改 五、其他內容: 開發發快速原型不不使用通常的的軟件開發工工具來實現,采采用一些特別別的技術和工工具如可執行行的規格說明明、基于腳本本的設計、采采用非常高級級語言或專門門語言和能重重用軟件等。 快速原型模型的作用、適用情況及優缺點等,注意其要點。第10章面向對對象的方法 面向對象象的方法是今今后軟件開發發方法的主流流。學習本章章,

49、最好是學學過面向對象象程序設計語語言,這樣可可以對對象、類類、類的層次次結構、方法法、消息等概概念更容易理理解。本章總總的要求是,掌掌握面向對象象的基本思想想、基本概念念、基本原理理,掌握三種種模型的基本本概念和構造造方法,掌握握面向對象的的分析、設計計和實現的過過程。一、面向對象的的基本概念11、什么面向向對象?首先先了解幾個概概念:(1)對象象:對象是人人們要進行研研究的任何事事物。具體一一點講就是研研究對象。它它可以是有形形實體,也可可以是作用、事事件、性能說說明等,當然然,如果女朋朋友成為你研研究的對象時時,對象也可可以是你的女女朋友。 (22)對象的狀狀態和行為:對象有自身身的狀態,

50、比比如你的女朋朋友有她的姓姓名(叫小麗麗)、年齡(22歲)、工工作單位等。對對象還有操作作,用于改變變對象的狀態態,對象及其其操作就是對對象的行為,比比如小麗.跳槽到(某某公司)這這個行為將使使她的工作單單位這個狀態態發生變化。 (3)類:具具有相同或相相似性質的對對象的抽象就就是類。如桃桃樹、李樹、樟樟樹等是具體體的樹,抽象象之后得到樹這個類類。類具有屬屬性,屬性是是狀態的抽象象,如一棵李李樹的高度是是3米,樟樹是是10米,樹則則抽象出一個個屬性高度度。類具有有操作,它是是對象行為的的抽象。 (44)類的結構構:有兩種,一一種是一般般-具體結結構,如植物物、樹都是類類,它們之間間是抽象到具具

51、體的關系,即即樹是一種(is a)植物。還有有一種就是整體-部分分結構,如如計算機是類類、CPU也也是類,則計計算機與CPPU之間就是是整體與部分分的關系。 (5)消息息和方法:對對象之間進行行通信的構造造叫做消息,比比如小麗是一一個對象,上上司發出一個個消息:小麗麗.出差到(深圳)。這這樣,相應的的對象接收到到這個消息就就會給予響應應,在這個消消息中,小麗麗是對象名,出出差到就是方方法名,深圳圳就是參數。在在類中操作的的實現過程叫叫做方法。上上面的出差到到(某地)這這個方法如何何實現呢,就就是買車票,乘乘車到某地。這這個過程就是是方法。 總總之,面向對對象這種思想想很符合人們們觀察世界的的自

52、然思想。在在很多時候我我們可以用自自然的觀點去去理解面向對對象。2、面面向對象的特特征有四點:對象唯一性性、分類性、繼繼承性和多態態性。3、面向對對象的要素:抽象、封裝裝性、共享性性4、面向對對象技術強調調的是對象結結構而不是程程序結構。5、面向對對象的開發方方法主要有以以下幾種:CCoad方法法、Boocch方法、OOMT方法和和OOSE方方法,最新的的統一建模語語言UML則則不僅統一了了Boochh方法,OMMT方法、OOOSE方法法,而且對其其作了進一上上的發展,最最終統一為大大眾所接受的的標準建模語語言。二、面向對象的的模型(簡單單應用) 面向對對象的模型包包括三個,它它們分別是:描述

53、系統數數據結構的對對象模型、描描述系統控制制結構的動態態模型和和描描述系統功能能的功能模型型。這三種模模型都涉及到到數據、控制制和操作等共共同的概念,只只是每種模型型描述的側重重點不同。這這三種模型從從三個不同但但又密切相關關的角度模擬擬目標系統,它它們各自從不不同的側面反反映了系統的的實質性內容容,綜合起來來則全面反映映了對目標系系統的需求。1、對象模型:它表示了靜態的、結構化的系統數據性質,描述了系統的靜態結構,它是從客觀世界實體的對象關系角度來描述,表現了對象的相互關系。該模型主要關系的是系統中對象的結構、屬性和操作,使用了對象圖的工具來刻畫,它是分析階段三個模型的核心,也是其他兩個模型

54、的框架。涉及及的概念有,對象和類、關聯和鏈。2、動態模型:是與時間和變化有關的系統性質。該模型描述了系統的控制結構,它表示了瞬時的、行為化的系統控制性質,它關系的是系統的控制,操作的執行順序,它從對象的事件和狀態的角度出發,表現了對象的相互行為。該模型描述的系統屬性是觸發事件,事件序列、狀態、事件與狀態的組織。使用狀態圖作為描述工具。涉及的重要概念是事件、狀態、操作等。3、功能模型:描述了系統的所有計算。功能模型指出發生了什么,動態模型確定什么時候發生,而對象模型確定發生的客體。功能模型表明一個計算如何從輸入值得到輸出值,它不考慮所計算的次序。功能模型由多張數據流圖組成。數據流圖說明數據流是如

55、何從外部輸入、經過操作和內部存儲輸出到外部的。功能模型也包括對象模型中值的約束條件。功能模型說明對象模型中操作的含義、動態模型中動作的意義以及對象模型中約束的意義。相關的概念有:數據流圖中的處理、數據流、動作對象、數據存儲對象等。三、面向對象的的分析(簡單單應用) 面向對象象分析的目的的是對客觀世世界的系統進進行建模。分分析問題有三三種用途:用用來明確問題題需求;為用用戶和開發人人員提供明確確需求;為用用戶和開發人人員提供一個個協商的基礎礎,作為后繼繼的設計和實實現的框架。通通過分析,建建立對象模型型、動態模型型和功能模型型。四、面向對象的的設計(領會會)1、面向向對象設計的的準則:(1)模塊

56、塊化:對象就就是模塊,它它是把數據結結構和操作這這些數據的方方法緊密地結結合在一起所所構成的模塊塊。 (2)抽象:包括括過程抽象、數數據抽象、規規格說明抽象象及參數化抽抽象等。 (3)信息隱隱蔽:在面向向對象方法中中,信息隱蔽蔽通過對象的的封裝性來實實現。 (44)低耦合:低耦合是設設計的一個重重要標準,應應該避免對象象之間的高耦耦合,強調對對象間的低耦耦合。 (55)高內聚:在面向對象象設計中存在在三種內聚:操作內聚、類類內聚及一般般-具體內聚聚,緊密的繼繼承耦合與高高度的一般具體內聚聚是一致的。 2、面向對對象設計的啟啟發規則:(1)設計計結果應該清清晰易懂 (2)一般般-具體結結構的深度

57、應應適當 (33)設計簡單單的類 (44)使用簡單單的協議 (5)使用簡簡單的操作 (6)把設計計變動減至最最小 五、面向對象的的實現(領會會) 面面向對象實現現主要包括兩兩項工作,把把面向對象設設計結果翻譯譯成用某種程程序設計語言言寫成的面向向對象程序;測試并調試試面向對象程程序。 在開發過程程,類的實現現是核心問題題。在用面向向對象風格所所寫的系統中中,所有的數數據都被封裝裝在類的實例例中,而整個個程序則被封封裝在一個更更高級的類中中。第11章軟件質質量與質量保保證 本章主要要介紹了軟件件質量的定義義、軟件質量量的度量與評評價、軟件質質量保證的基基本概念;軟軟件質量度量量模型、軟件件復雜性

58、、軟軟件可靠性設設計質量評審審和程序質量量評審的具體體內容以及軟軟件容錯技術術。以領會識識記為主。一、軟件質量的的定義從實際際應用來說,軟軟件質量定義義包括三個一一致性:(11)與所確定定的功能和性性能需求的一一致性; (2)與所成成文的開發標標準的一致性性; (3)與所有專業業開發的軟件件所期望的隱隱含特性的一一致性。 影響軟軟件質量的因因素分為可以以直接度量的的因素(如單單位時間內千千行代碼中所所產生的錯誤誤)和只能間間接度量的因因素(如可用用性和可維護護性)。 軟件質質量保證是指指確定、達到到和維護所需需要的軟件質質量而進行的的所有有計劃劃、有系統的的管理活動。質量保證策策略發展經歷歷了

59、三個階段段:(1)以檢檢測為重 (2)以過過程管理為重重 (3)以新產品開開發為重。 由上上可知,軟件件質量保證應應從產品計劃劃和設計開始始,直到投入入使用和售后后服務的軟件件生存期的每每一階段中的的每一步驟。質量保證的主要任務包括以下幾點:(1)正確定義用戶的要求。 (2)技術方法的應用。 (3)提高軟件開發的工程能力。 (4)軟件的復用。 (5)發揮每個開發者的能力。 (6)組織外部力量協作。 (7)排除無效勞動。 (8)提高計劃和管理質量。 二、質量度量模型 本節主要提到兩個質量度量模型,一個是McCAll質量度量模型,一個是ISO(國際標準化組織)質量度量模型。三、軟件復雜性性軟件復雜

60、性性度量的參數數主要包括:(1)規模模,即總共指指令數或源程程序行數。 (2)難度度,通常由程程序中出現的的操作數的數數目所決定的的量來表示。 (3)結構構,通常與程程序結構有關關的度量來表表示。 (44)智能度,即即算法的難易易程度。 軟件復復雜性主要表表現在程序的的復雜性。程程序的復雜性性主要指模塊塊內程序的復復雜性。軟件件復雜性的度度量方法:11、代碼行度度量法:以源源代碼行數作作為程序復雜雜性的度量。 2、McCCabe度量量法:一種基基于程序控制制流的復雜性性度量方法。 四、軟件可靠性性 軟件件可靠性是指指在給定的時時間內,在規規定的環境條條件下系統完完成所指定功功能的概率。 衡量軟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論