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

下載本文檔

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

文檔簡介

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

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

3、型-只有有一個人,甚甚至是半時時,在幾天天之內完成成的軟件。寫出的程程序不到5500行語語句。2、小型一個人半半年之內完完成的2千千行以內的的程序。例例如,數值值計算問題題或是數據據處理問題題就是這種種規模的課課題。這種種程序通常常沒有與其其他程序的的接口。如如,有求伯伯君開發最最初的 WWPS,單單獨完成BBASICC 的比爾爾.蓋茨。3、中型型-5人人以內在一一年多時間間里完成的的5千到55萬行的程程序。這種種課題開始始出現了軟軟件人員之之間,軟件件人員與用用戶之間的的聯系、協協調和配合合關系的問問題。4、大型5人至110人在兩兩年多的時時間里完成成5萬行到到10萬行行的程序。例如編譯譯程

4、序、小小型分時系系統、應用用軟件包、實時控制制系統等很很可能都是是這種軟件件。5、甚甚大型-1100人至至10000人參加66、極大型型-20000-55000人人參加,如如,微軟的的winddows 20000項目就包包含了近33000名名工程師,他他們被分成成幾百個小小的團隊。 按開發分軟件件產品和軟軟件項目 軟軟件產品指的的是不局限限于特定領領域的、可可以被廣大大用戶直接接使用的軟軟件系統。如微軟的的 Winndowss,Offfice等等。這類系系統的特點點是技術含含量高,開開發時要考考到各種不不同的用戶戶需求; 軟軟件項目也稱定定制軟件,是是受某個特特定客戶(或或少數客戶戶)的委托托

5、,由一個個或多個軟軟件開發機機構在合同同的約如我我們常說的的管理信息息系統(MMIS)和和電子商務務系統。這這類軟件的的特點是領領域知識所所占的比重重較大,相相對技術而而言工程性性更強。例例如,軍用用防空指揮揮系統、衛衛星控制系系統等均為為這類軟件件。 針對這兩兩種不同類類型的軟件件,應該有有不同的軟軟件開發方方法去指導導項目開發發過程。 軟軟件項目的的開發,目目前比較成成熟的軟件件開發方法法有軟件成成熟度模型型(CMMM)。 這這種軟件開開發模型試試圖將整個個軟件開發發過程規范范化和量化化,直到可可以對軟件件開發過程程進行定量量的控制和和優化。 軟軟件產品的的開發,像像微軟公司司積累了許許多

6、成功的的經驗。軟件生產的的發展:1 程序序設計時代代:這個階階段生產方方式是個體體勞動,生生產工具是是機器語言言,匯編語語言。(11946-19566年)2 程序系統統時代:這這個階段生生產方式是是小集團合合作生產,生生產工具是是高級語言言,開發方方法仍依靠靠個人技巧巧,但開始始提出結構構化方法。(19556-19968年)3 軟件工程時代:這個階段生產方式是工程化的生產,使用數據庫,開發工具,開發環境,網絡,分布式面向對象技術來開發軟件。(1968年至今)軟件危機: 軟件開開發技術的的進步未能能滿足發展展的要求。在軟件開開發中遇到到的問題找找不到解決決的辦法,問問題積累起起來,形態態尖銳的矛

7、矛盾,導致致了軟件危危機。軟件件危機的表表現:1 經費費預算經常常突破,完完成時間一一再拖延。2 開發發的軟件不不能滿足用用戶要求。3 開發發的軟件可可維護性差差。4 開開發的軟件件可靠性差差。軟件危危機產生原原因:1 軟件件規模越來來越大,結結構越來越越復雜。22 軟件開開發管理困困難而復雜雜。3 軟軟件開發費費用不斷增增加。4 軟件開發發技術落后后。5 生生產方式落落后,仍采采用手工方方式。6 開發工具具落后,生生產率提高高緩慢。軟件工程:用科學的的知識和技技術原理來來定義,開開發,維護護軟件的一一門學科。用工程科科學的觀點點進行費用用估算,制制定進度,制制定計劃和和方案。用用管理科學學的

8、方法和和原理進行行生產的管管理。用數數學的方法法建立軟件件開發中的的各種模型型和算法。 那那么為達到到軟件優質質高產這個個目標,從從技術到管管理做了大大量的努力力,從而逐逐漸已形成成了軟件件工程學這一新學學科。它包包含以下主主要內容:1、軟件件開發方法法:軟件工工程的方法法提供了建建造軟件在在技術上需需要如何何做。 方法涵蓋蓋了一系列列的任務:需求分析析、設計、編程、測測試和維護護。 是在600年代后期期才逐步形形成了一種種軟件開發發方法,在在不同的軟軟件開發階階段對應有有不同的方方法,例如如在軟件的的設計階段段有結構構化分析與與設計方方法,在軟軟件測試階階段有黑黑盒與白盒測測試技術,等等等。

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

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

11、的的工作步驟驟和標準的的文檔格式式,這是設設計軟件工工具的基礎礎,而軟件件工具的實實現又將促促進軟件方方法的推廣廣和發展。 環境一一詞,對不不同用戶有有著不同的的含義。對對最終用戶戶(endd useer)而言言,環境就就是他們運運行程序所所使用的計計算機系統統。這類用用戶對環境境的要求,主主要是運行行可靠,操操作方便,容容易學習和和使用。而而對于軟件件開發人員員來說,則則就不同了了,可以說說環境就是是他們進行行軟件開發發活動的舞舞臺。(例例如,Allgo-660,或者者 資料管管理系統(DDbaseeII DDbaseeIII),例例如界面只只能采用菜菜單來完成成各種功能能) 象現在生生產數

12、據庫庫管理的軟軟件的環境境有:大型型數據庫軟軟件 Syybasee ,還有有能幫助進進行程序設設計的 PPB 軟件件) 4、軟件工程程管理學:大家知道道,對于一一個企業來來說,如果果只有先進進的設備和和技術,而而沒有完善善的管理,是是不可能獲獲得應有的的經濟效益益的(例如如海爾的海海爾文化就就是企業管管理的象征征),(例例如微軟企企業文化宗宗旨的一句句話) 軟件生生產也是一一樣的,如如果管理不不善,是不不可能高質質量、按時時完成任務務的。 軟件件工程管理理就是對軟軟件工程生生存期內的的各階段的的活動進行行管理。軟軟件工程管管理的目的的是為了能能按預期的的時間和費費用,成功功地完成軟軟件的開發發

13、和維護任任務。 軟件工工程管理學學的內容包包括軟件費費用管理、人員組織織、工程計計劃管理、軟件配置置管理等各各項方面的的內容。 顯然然,軟件工工程管理也也可借助計計算機來實實現。供經經理人員估估算成本、指定進度度、生成報報告等管理理工具都已已經在許多多公司使用用了。一個個理想的軟軟件工程環環境,應該該同時具備備 支持開開發和支持持管理兩個個方面的工工具。 以上簡簡介了軟件件工程學的的主要組成成成分軟件工程程方法學、軟件工程程環境以及及軟件工程程管理的基基本內容臺臺和作用。它們即包包括計算機機科學家的的研究成果果,也概括括了廣大軟軟件工作者者的時間經經驗。還必必須指出,軟軟件開發技技術可區分分為

14、形式化化方法與非非形式化方方法兩大分分支。前者者以形式化化的程序變變化和嚴整整為主要內內容,目的的在于達到到程序設計計的自動化化,多用于于計算機應應用人員。本課程主主要討論的的是工程化化的軟件開開發技術。 軟件工程目目標:付出出較低開發發成本;達達到要求的的功能;取取得較好的的性能;開開發的軟件件易于移植植;只需較較低的維護護費用;能能按時完成成開發任務務,及時交交付使用;開發的軟軟件可靠性性高。軟件件工程內容容:研究內內容包括開開發技術和和開發管理理兩個方面面。開發技技術主要研研究 :軟軟件開發方方法,開發發過程,開開發工具和和環境。開開發管理主主要研究 :軟件管管理學,軟軟件經濟學學,軟件

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

16、生存周周期模型,方方法和工具具生存周期模模型:描述述軟件開發發過程中各各種活動如如何執行的的模型。對對軟件開發發提供強有有力的支持持,為開發發過程中的的活動提供供統一的政政策保證,為為參與開發發的人員提提供幫助和和指導,是是軟件生存存周期模型型化技術的的基礎,也也是建立軟軟件開發環環境的核心心。生存周周期模型作作用:確立立了軟件開開發中各階階段的次序序限制,活活動準則,所所要遵守的的規定和限限制,便于于各種活動動的協調,人人員之間的的有效通信信,有利于于活動重用用和活動管管理。生存存周期模型型準則:模模型能表示示各種活動動的實際工工作方式,能能隨情況變變化而演化化能表示各各種活動間間同步和制制

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

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

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

20、流圖建立系系統功能模模型,完成成需求分析析工作。用用軟件結構構圖建立系系統物理模模型,實現現概要設計計。最后將將每個模塊塊的功能用用相應標準準控制結構構表示出來來,從而實實現詳細設設計。2、JACKKSON方方法:一種種面向數據據結構的開開發方法,適適合小規模模項目。首首先描述問問題的輸入入,輸出數數據結構,分分析其對應應性,然后后推出相應應程序結構構,從而給給出問題的的軟件過程程描述。當當輸入與輸輸出數據結結構無對應應關系時,難難于應用此此方法,JJSD(一一完整的系系統開發方方法)對JJSP進行行了擴充33、維也納納開發方法法(VDMM):一種種形式化開開發方法,軟軟件的需求求用嚴格的的形

21、式語言言描述,然然后把模型型逐步變換換成目標系系統。4、面向對象象的開發方方法:基本本出發點是是盡可能按按人類認識識世界的方方法和思維維方式來分分析和解決決問題。以以對象作為為最基本的的元素,客客觀世界中中具體的事事物,事件件,概念和和規則都有有可看成對對象,它也也是分析問問題,解決決問題的核核心。開發發方法包括括面向對象象分析,面面向對象設設計,面向向對象實現現。主要有有BOOCCH方法,CCoad方方法和OMMT方法。為統一這這些方法的的術語,概概念和模型型,(19997年)推推出統一建建模型語言言UML。結構化方法法可用:瀑瀑布模型,增增量模型,螺螺旋模型進進行開發。JACKKSON方方

22、法可用:瀑布模型型,增量模模型進行開開發。面向向對象的開開發方法可可用:噴泉泉模型,瀑瀑布模型,增增量模型進進行開發。形式化的的維也納方方法只能用用變換模型型進行開發發 。軟件工具:為支持軟軟件人員開開發和維護護活動而使使用的軟件件。使用軟軟件工具后后,可提高高軟件生產產率。目前前軟件工具具發生了很很大變化,目目的是生成成軟件周期期各個環節節的自動化化。主要用用于軟件的的分析和設設計,使用用這些工具具軟件開發發人員就能能在微機或或工作站上上以對話方方式建立各各種軟件系系統。工具具箱:最初初的軟件工工具是以工工具箱形式式出現的。但界面不不統一,工工具內部無無聯系,工工具切換由由人工操作作。它們對

23、對大型軟件件的開發和和維護的支支持能力有有限。軟件件開發環境境:目的是是使軟件工工具支持整整個生存周周期。而且且做到不僅僅支持各階階段的技術術工作,還還要支持管管理和操作作工作,保保持項目開開發的高度度可見性,可可控制性和和可追蹤性性。計算機機輔助軟件件工程:可可簡單定義義為軟件開開發的自動動化,簡稱稱為CASSE。實質質是為軟件件開發提供供一組優化化集成的,大大量節省人人力的軟件件開發工具具。是軟件件工具和軟軟件開發方方法的結合合。目的是是實現軟件件生存周期期各環節的的自動化,并并使之成為為一個整體體。CASE工工具與以往往軟件工具具不同體現現在:1 支持專用用的個人計計算環境;2 使用用圖

24、形功能能對軟件系系統進行說說明并建立立文檔;33 將生存存周期各階階段的工作作連接在一一起;4 收集和連連接軟件系系統從最初初的軟件需需求到軟件件維護各個個環節的所所有信息;5 用人人工智能實實現軟件開開發和維護護工作的自自動化。第二章可可行研究與與項目開發發計劃可行研究的的任務:首首先需要進進行概要的的分析研究究,初步確確定項目的的規模,目目標,約束束和限制。分析員再再進行簡要要的需求分分析,抽象象出項目的的邏輯結構構,建立邏邏輯模型。從邏輯模模型出發,經經過壓縮的的設計,探探索出若干干種可供選選擇的解決決方法,對對每種解決決方法都要要研究它的的可行性。主要從三三個方面考考慮:1.技術可行行

25、性 一般般要考慮的的情況包括括 開發的的風險即設設計出的系系統能否達達到要求的的功能和性性能;資源源的有效性性;相關技技術的發展展是否支持持;2.經經濟可行性性 進行開開發成本的的估算以及及了解取得得效益的評評估,確定定要開發的的項目是否否值得投資資。3.社社會可行性性 要開發發的項目是是否存在任任何侵權問問題,運行行方式在用用戶組織內內是否可行行,現有管管理制度人員素質質操作方式式是否可行行。可行性性研究的具具體步驟:1.確定定項目規模模和目標;2.研究究正在運行行的系統; 收集研究分析現有有系統的文文檔資料,實實地考察系系統訪問有有關人員,然然后描繪現現有系統的的高層系統統流程圖。3.建立

26、立新系統的的高層邏輯輯模型; 使用數據據流圖和數數據字典描描述數據在在系統中的的流動和處處理情況。4.導出出和評價各各種方案; 導出若若干較高層層次的物理理解決方法法,根據技技術可行性性經濟可行行性社會可行行性進行評評估,得到到可行的解解決方法。 5.推推薦可行方方案; 進進行成本效益分析析,決定該該項目是否否值得開發發,若值得得開發那么么解決方案案是什么,并并且說明該該方案可行行的原因和和理由。66.編寫可可行性研究究報告; 將上述可可行性過程程的結果寫寫成相應文文檔,即可可行性研究究報告。 系統流程程圖: 描描述系統工工程物理模模型的工具具,用圖形形符號來表表示系統中中各個元素素,表達各各

27、元素之間間的信息流流動情況。投資回收率率:通常用用貨幣的時時間價值進進行估算。可用利率率來表示貨貨幣的時間間價值。 設年年利率為II,現存入入P元,nn年后可得得錢數為FF,若不計計復利則FF=P*(11+n*II) 反之,若若n年能收收入F元,那那么這些錢錢現在的價價值是:PP=F/(11+n*II) 通常把建建立系統若若干年后能能取得的收收益折算成成現在的價價值和開發發系統所需需的費用進進行比較得得出投資回回收率。投投資回收期期:就是使使累計的經經濟效益等等于最初的的投資費用用所需的時時間。純收收入:整個個生存周期期之內的累累計經濟效效益(折成成現在值)與與投資之差差。(例題題見書2.3成

28、本效益分分析)項目開發計計劃:包括括1.項目目概述:說說明項目的的各項主要要工作;說說明軟件的的功能性能;為為完成項目目應具有的的條件;用用戶及合同同承包者承承擔的工作作完成的期期限及其他他條件限制制;應交付付的程序名名稱;所使使用的語言言及程儲形形式;應交交付的文檔檔。2.實實施計劃:說明任務務的劃分,各各任務責任任人,項目目開發進度度,項目的的預算,各各階段的費費用支出,各各階段應完完成的任務務,用圖表表說明每項項任務的開開始和完成成時間。 3.人員員組織及分分工:所需需人員類型型數量組成結構構。4.交交付期限:最后完工工日期。第三章 軟軟件需求分分析需求分析:開發人員員準確地理理解用戶的

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

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

31、善軟件件開發計劃劃 結構化分析析:簡稱SSA,面向向數據流進進行數據分分析的方法法。采用自自頂向下逐逐層分解的的分析策略略。頂層抽抽象地描述述整個系統統,底層具具體地畫出出系統工程程的每個細細節。中間間層則是從從抽象到具具體的過渡渡。使用數數據流圖,數數據字典,作作為描述工工具,使用用結構化語語言,判定定表,判定定樹描述加加工邏輯。結構化(SSA)分析析步驟:了解當前前系統的工工作流程,獲獲得當前系系統的物理理模型。抽象出當當前系統的的邏輯模型型。建立目標標系統的邏邏輯模型。作進一步步補充和優優化。 數據流圖(DDFD)以以圖形的方方式描述數數據在系統統中流動和和處理的過過程。只反反映系統必必

32、須完成的的邏輯功能能,是一種種功能模型型。 畫數數據流圖的的步驟:首先畫系系統的輸入入輸出,即即先畫頂層層數據流圖圖。頂層圖只只包含一個個加工,用用以表示被被開發的系系統。畫系統內內部,即畫畫下層數據據流圖。將將層號從00號開始編編號,采用用自頂向下下,由外向向內的原則則。畫更下下層數據流流圖時,則則分解上層層圖中的加加工,一般般沿著輸出出入流的方方向,凡數數據流的組組成或值發發生變化的的地方則設設置一個加加工,一直直進行到輸輸出數據流流。如果加加工的內部部還有數據據流,則繼繼續分解,直直到每個加加工足夠簡簡單,不能能再分解為為止。不能能分解的加加工稱為基基本加工。注意事項項:命名。不不能使用

33、缺缺乏具體含含義的名字字,加工名名應能反映映出處理的的功能。畫數據流流而不是控控制流。數數據流名稱稱只能是名名詞或名詞詞短語,整整個圖中不不反映加工工的執行順順序。一般不畫畫物質流。 每個加工工至少有一一個輸入數數據流和一一個輸出數數據流,反反映出此加加工數據的的來源與加加工的結果果 。編號。某某個加工分分解成加一一張數據流流圖時,上上層圖為父父圖,下層層圖為子圖圖。子圖應應編號,子子圖上的所所有加工也也應編號,子子圖的編號號應與父圖圖的編號相相對應。父圖與子子圖的平衡衡。子圖的的輸入輸出出數據流同同父圖相應應加工的輸輸入輸出數數據流必須須一致局部數據據存儲。當當某數據流流圖中的數數據存儲不不

34、是父圖中中向外部接接口,而只只是本圖中中某些加工工之間的數數據接口,則則稱這些數數據存儲為為局部數據據存儲。 提高數據據流圖的易易理解性。為使數據流流圖便于在在計算機上上輸入和輸輸出,給出出了描述數數據流圖的的另一套圖圖形符號表表示數據流流,只能水水平或垂直直畫 數據據字典(DDD)用來來定義數據據庫流圖中中的各個成成分的具體體含義。有有以下四類類條目:數數據流,數數據項,數數據存儲,基基本加工。 數據流條條目,內容容及舉例如如下:數據據流名稱:訂單別名名:無簡述述:顧客訂訂貨時填寫寫的項目來來源:顧客客去向:加加工1檢檢驗訂單數據流量量:10000份/每每周(單位位時間內的的傳輸次數數)組成

35、:編號+訂訂貨日期+顧客編號號+地址+電話+銀銀行帳號+貨物名稱稱+規格+數量 數據存儲儲條目,內內空及舉例例數據存儲儲名稱:庫庫存記錄別別名:無簡簡述:存放放庫存所有有可供貨物物的信息組組成:貨物物名稱+編編號+生產產廠家+單單價+庫存存量組織方方式:索引引文件,以以貨物編號號為關鍵字字查詢要求求:要求能能立即查詢詢 數據條目目,內容及及舉例數據據項名稱:貨物編號號別名:GG-No,G-nuum,Gooods-No簡述述:本公司司所有貨物物的編號 類型:字字符串長度度:10取取值范圍及及含義:第第一位:進進口/國產產第2-44位:類別別第5-77位:規格格第8-110位:品品名編號 加工條目

36、目,內容及及舉例加工工名:查閱閱庫存編號號:12激發條件件:接收到到合格訂單單時優先級級:普通輸輸入:合格格合格訂單單輸出:可可供貨訂單單,缺貨訂訂單加工邏邏輯:根據據庫存記錄錄IF 訂訂單項目數數量1),由由于這個oor的存在在,那么把把x1錯錯寫成x11);在這這里必須使使a=2 、x11,a2、x1均出現現一次。(4)判定定/條件覆覆蓋:上面面條件覆蓋蓋也不一定定滿足判定定該,因為為只符合條條件覆蓋的的用例可能能會不滿足足每個判定定語句均有有真值或假假值出現。因此要兩兩者兼顧,判判定條件覆覆蓋就是指指設計足夠夠 的測試試用例,使使得判定表表達式中每每個條件的的所有可能能取值至少少出現一次

37、次并且每個個判定表達達式所有可可能的結果果也至少出出現一次。(5)條條件組合覆覆蓋:是指指設計足夠夠的測試用用例,使得得每個判定定表達式中中條件的各各種或能的的值的組合合都至少出出現一次。這就是前前面兩個覆覆蓋的組合合。(6)路徑覆蓋蓋:是指測測設計足夠夠的測試用用例,覆蓋蓋被測試程程序中所有有可能的路路徑。這六六種覆蓋進進行比較有有下面一個個表:條件件組合發現現錯誤的能能力較強,凡凡滿足其標標準的測試試用例,也也必然滿足足前四種覆覆蓋標準。在實際的的邏輯測試試中,一般般以條件組組合覆蓋為為主設計測測試用例,然然后再補充充部分用例例來達到路路徑覆蓋的的測試標準準。2、循環環覆蓋:當當程序中存存

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

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

40、所有有不合理等等價類被覆覆蓋。 要注注意課本上上的例子,會會應用這種種方法設計計測試用例例2、邊界界值分析:也就是在在為設計測測試用例時時,在等價價類范圍內內選擇一些些邊界值作作為測試用用例,這樣樣可以比單單用等價類類劃分法所所選的測試試用例能查查出更多錯錯誤,因為為實踐表明明,程序更更容易在處處理邊界值值時發生錯錯誤。3、錯誤推測測:通常根根據經驗或或直覺來推推測程序中中可能出現現錯誤的情情況,并有有針對性的的編寫檢查查這些錯誤誤的測試用用例。4、因果圖:因果圖能能夠有效地地檢測輸入入條件的各各種組合可可能會引起起的錯誤。它的基本本原理是通通過畫因果果圖,把用用自然語言言描述的功功能說明轉轉

41、換為判定定表,最后后為判定表表的每一列列設計一個個測試用例例。 在以上幾幾種軟件測測試方法,各各有所長,但但各有所短短,在實際際測試中,應應該采用綜綜合策略,通通常先用黑黑盒法設計計基本的測測試用例,再再用白盒法法補充一些些必要的測測試用例。 本節節具體要掌掌握的就是是等價類劃劃分及邊界界值的測試試用例設計計。四、軟件測測試過程(識記)軟軟件測試的的步驟通常常有四步:單元測試試、集成測測試、確認認測試和系系統測試。1、單元元測試主要要針對模塊塊的五個基基本特征進進行測試:模塊接口口、局部數數據結構、重要的執執行路徑、錯誤處理理和邊界條條件。單元元測試時要要用到驅驅動模塊和樁模塊。注注意要概念念

42、:驅動模模塊是用來來模擬被測測試模塊的的上級調用用模塊。樁樁模塊則用用來代替被被測試模塊塊所調用的的模塊。22、集成測測試有兩種種方法:非非漸增式測測試和漸增增式測試。 非非漸增式測測試是指首首先對每個個模塊分別別進行單元元測試,再再把所有模模塊組裝成成一個完整整的系統進進行的測試試。而漸增增式測試就就是逐個把把未經測試試的模塊組組裝到已經經過測試的的模塊上去去進行集成成測試,每每加入一個個新模塊進進行一次集集成測試,重重復此過程程直到程序序組裝完畢畢。漸增式式測試有兩兩種不同的的組裝方法法:自頂向向下和自底底向上結合合。注意兩兩者區別。3、確認認測試又稱稱有效性測測試,它的的任務是檢檢查軟件

43、的的功能與性性能是否與與需求規格格說明書中中確定的指指標相符合合。因而需需求說明規規格說明是是確認測試試的基礎.確認測試試有兩項工工作:進行行確認測試試與軟件配配置審查。4、系統統測試:即即要對軟件件所運行的的整個系統統(包括硬硬件、外設設、其他軟軟件和操作作人員等)結合在一一起進行測測試,確定定其是否能能夠協調工工作。五、調試(識記) 軟件件測試的目目的是盡可可能多地發發現程序中中的錯誤,而而調試則是是在進行了了成功的測測試之后才才開始的工工作。調試試的目的是是確定錯誤誤的原因和和位置,并并改正錯誤誤,因此調調試也稱為為糾錯(DDebugg)。 調試方方法有簡單單的調試方方法、歸納納法、演繹

44、繹法和回溯溯法等。第8章_軟軟件維護 軟件件維護是軟軟件工程的的一個重要要任務,作作為理論,本本章的內容容比較簡單單,多為識識記領會內內容,主要要應注意一一些概念。其中的軟軟件可維護護性是本章章的重點內內容。一、軟件維維護的內容容有四種:校正性維維護,適應應性維護,完完善性維護護和預防性性維護。11、校正性性維護:指指為了識別別和糾正錯錯誤,修改改軟件性能能上的缺陷陷,進行確確定和修改改錯誤的過過程。占整整個維護工工作的211%.2、適應性維維護:為了了使本軟件件適應硬件件和軟件的的變化而修修改軟件的的過程稱為為適應性維維護。占整整個維護活活動的255%。3、完善性維維護:增加加軟件功能能、增

45、強軟軟件性能、提高運行行效率而進進行的維護護活動稱為為完善性維維護。占整整個維護工工作的500%.4、預防性維維護:為了了提高軟件件的可維護護性和可靠靠性而對軟軟件進行的的修改稱為為預防性維維護。只占占4%。二、維護的的特點1、非結構化化維護和結結構化維護護:主要是是開發過程程是否用軟軟件工程方方法,若各各階段均有有相應的文文檔記錄,則則容易維護護,采用結結構化維護護可以大大大提高軟件件維護效率率。2、軟軟件維護的的困難性:是由于軟軟件需求分分析和開發發方法的缺缺陷。3、軟件維護護的費用:在總費用用中的比重重不斷增加加,已經上上升到了770%880%或更更多,我們們看到的軟軟件不斷升升級就是維

46、維護的體現現。三、維護任任務的實施施1、維護護工作要建建立維護機機構,通常常是成立維維護小組,有有臨時維護護小組和長長期維護小小組之分。2、維護護的流程是是:(1)制定維護護申請報告告。(2)審查申請請報告并批批準。(33)進行維維護并做詳詳細記錄。(4)復復審。3、維護技術術:有兩類類維護技術術,即面向向維護的技技術和維護護支援技術術。(1)面向維護護技術是在在軟件開發發階段用來來減少錯誤誤、提高軟軟件可維護護性的技術術。(2)維護支援援技術是在在軟件維護護階段用來來提高維護護作業的效效率和質量量的技術。4、維護護的副作用用:有三種種:(1)編碼副作作用:即在在修改源代代碼時可能能引入錯誤誤

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

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

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

50、個階階段的工作作之前,必必須完成前前一階段的的所有細節節。而增量量模型屬于于非整體開開發模型,它它推遲某些些階段或所所有階段中中的細節,從從而較早的的產生工作作軟件。 增量量模型是在在項目的開開發過程中中以一系列列的增量方方式開發的的系統。增增量方式包包括增量開開發和增量量提交。 根據據增量的方方式和形式式的不同,增增量模型的的分類分為為漸增模型型和原型模模型。二、漸增模模型:又包包括增量構構造模型和和演化提交交模型。 增量量構造模型型中,需求求分析階段段和設計階階段都是按按瀑布模型型的整體方方式發,但但是編碼階階段是按增增量方式開開發,在這這種模型的的開發中,用用戶可以及及早看到部部分軟件功

51、功能,可以以及早發現現全面問題題,以使在在開發其他他軟件功能能時及時解解決問題。 演演化提交模模型中,項項目開發的的各個階段段都是增量量方式。該該模型是增增量開發的的極端形式式,它不僅僅是增量開開發也是增增量提交,用用戶將最早早收到部分分工作軟件件。三、(快速速)原型模模型:包括探索索原型、實實驗原型和和演化型原原型。1、原型:是是指模擬某某種產品的的原始模型型,軟件開開發中的原原形是一個個早期可運運行的版本本,它反映映了最終系系統的重要要特性。22、快速原原型的思想想:先用相相對少的成成本、較短短的周期開開發一個簡簡單的、但但可以運行行的系統原原型向用戶戶演示或讓讓用戶試用用,以便及及早澄清

52、并并檢驗一些些主要的設設計策略,在在此基礎上上再開發實實際的軟件件系統。33、快速原原型運用方方式:有拋拋棄策略和和附加策略略:(1)拋棄策略略是將原型型用于開發發過程的某某一階段,促促使該階段段的開發結結果更加完完整、準確確、一致、可靠,該該階段結束束后,原型型隨之作廢廢。探索型型和實驗型型快速原型型就是采用用此策略。(2)附附加策略是是將原型用用于開發的的全過程,原原型由最基基本的核心心開始,逐逐步增加新新的功能和和新的需求求,反復修修改反復擴擴充,最后后發展為用用戶滿意的的系統,演演化型快速速原型就采采用此策略略。4、快快速原型模模型表示:(1)對對于探索型型,用原型型過程來代代替需求分

53、分析,把原原型作為需需求說明的的補充形式式,運用原原型盡可能能使需求說說明完整、一致、準準確、無二二義性,但但整體上仍仍采用瀑布布模型。(2)對于于實驗型,用用原形過程程來代替設設計階段,即即在設計階階段引入原原理,快速速分析實現現方案,快快速構造原原型,通過過運行,考考察設計方方案的可行行性與合理理性,原形形成為設計計的總體框框架或設計計結果的一一部分。(3)對于于演化型,用用原型過程程開代替全全部開發階階段。這是是典型的演演化提交模模型的形式式,它是在在強有力的的軟件工具具和環境支支持下,通通過原型過過程的反復復循環,直直接得到軟軟件系統。四、原型開開發過程11、快速分分析 22、構造原原

54、型 33、運行原原型 44、評價原原型 55、修改 五、其他內內容: 開發快快速原型不不使用通常常的軟件開開發工具來來實現,采采用一些特特別的技術術和工具如如可執行的的規格說明明、基于腳腳本的設計計、采用非非常高級語語言或專門門語言和能能重用軟件件等。 快速原原型模型的的作用、適適用情況及及優缺點等等,注意其其要點。第10章面面向對象的的方法 面向向對象的方方法是今后后軟件開發發方法的主主流。學習習本章,最最好是學過過面向對象象程序設計計語言,這這樣可以對對對象、類類、類的層層次結構、方法、消消息等概念念更容易理理解。本章章總的要求求是,掌握握面向對象象的基本思思想、基本本概念、基基本原理,掌

55、掌握三種模模型的基本本概念和構構造方法,掌掌握面向對對象的分析析、設計和和實現的過過程。一、面向對對象的基本本概念1、什么面向向對象?首首先了解幾幾個概念:(1)對對象:對象象是人們要要進行研究究的任何事事物。具體體一點講就就是研究對對象。它可可以是有形形實體,也也可以是作作用、事件件、性能說說明等,當當然,如果果女朋友成成為你研究究的對象時時,對象也也可以是你你的女朋友友。 (22)對象的的狀態和行行為:對象象有自身的的狀態,比比如你的女女朋友有她她的姓名(叫小麗)、年齡(22歲)、工作單單位等。對對象還有操操作,用于于改變對象象的狀態,對對象及其操操作就是對對象的行為為,比如小麗.跳跳槽到

56、(某某公司)這個行為為將使她的的工作單位位這個狀態態發生變化化。 (33)類:具具有相同或或相似性質質的對象的的抽象就是是類。如桃桃樹、李樹樹、樟樹等等是具體的的樹,抽象象之后得到到樹這這個類。類類具有屬性性,屬性是是狀態的抽抽象,如一一棵李樹的的高度是33米,樟樹樹是10米米,樹則抽抽象出一個個屬性高高度。類類具有操作作,它是對對象行為的的抽象。 (4)類類的結構:有兩種,一一種是一一般-具體體結構,如如植物、樹樹都是類,它它們之間是是抽象到具具體的關系系,即樹是是一種(iis a)植物。還還有一種就就是整體體-部分結構,如如計算機是是類、CPPU也是類類,則計算算機與CPPU之間就就是整體

57、與與部分的關關系。 (55)消息和和方法:對對象之間進進行通信的的構造叫做做消息,比比如小麗是是一個對象象,上司發發出一個消消息:小麗麗.出差到到(深圳)。這樣,相相應的對象象接收到這這個消息就就會給予響響應,在這這個消息中中,小麗是是對象名,出出差到就是是方法名,深深圳就是參參數。在類類中操作的的實現過程程叫做方法法。上面的的出差到(某地)這這個方法如如何實現呢呢,就是買買車票,乘乘車到某地地。這個過過程就是方方法。 總總之,面向向對象這種種思想很符符合人們觀觀察世界的的自然思想想。在很多多時候我們們可以用自自然的觀點點去理解面面向對象。2、面向向對象的特特征有四點點:對象唯一一性、分類類性

58、、繼承承性和多態態性。3、面向向對象的要要素:抽象、封封裝性、共共享性4、面向對象象技術強調調的是對象象結構而不不是程序結結構。5、面向向對象的開開發方法主主要有以下下幾種:CCoad方方法、Boooch方方法、OMMT方法和和OOSEE方法,最最新的統一一建模語言言UML則則不僅統一一了Boooch方法法,OMTT方法、OOOSE方方法,而且且對其作了了進一上的的發展,最最終統一為為大眾所接接受的標準準建模語言言。二、面向對對象的模型型(簡單應應用) 面向向對象的模模型包括三三個,它們們分別是:描述系統統數據結構構的對象模模型、描述述系統控制制結構的動動態模型和和和描述系系統功能的的功能模型

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

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

溫馨提示

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

評論

0/150

提交評論