




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實用軟件工程第3版習題參考答案習題11.1開發(fā)文檔都有哪些?用圖示表示它們之間的關系。開發(fā)文檔包括目標程序、源程序、詳細設計說明書、概要設計說明書、需求規(guī)格說明書、用戶需求報告、軟件合同,它們之間的關系如下圖所示。目標程序洋細設計說明書概耍設計說明書需求觀格說明書用戶甜求報吿軟件合同1.2簡述軟件工程研究的內容。軟件工程研究的內容包括軟件開發(fā)方法、軟件開發(fā)模型、軟件支持過程和軟件管理過程。其中軟件開發(fā)方法的內容又涵蓋市場調研、正式立項、需求分析、項目策劃、概要設計、詳細設計、編程、測試、試運行、產品發(fā)布、用戶培訓、產品復制、銷售、實施、系統(tǒng)維護、版本升級。常用的軟件開發(fā)模型有瀑布模型、迭代模型
2、、增量模型和原型模型。軟件支持過程由所支持的CASE工具組成,常用的CASE工具有PowerDesigner和RationalRose。軟件管理過程主要有CMMI、IS09000、微軟企業(yè)文化和敏捷文化現彖。1.3詳細解釋軟件的定義、程序的定義及軟件工程的定義。軟件的定義:軟件=程序+數據+文檔。這里的程序是指程序系統(tǒng)。這里的數據不僅包括初始化數據、測試數據,而且包括研發(fā)數據、運行數據、維護數據,也包括軟件企業(yè)積累的項目工程數據和項目管理數據中的人量決策原始記錄數據。這里的文檔指的是軟件開發(fā)過程中的分析、設計、實現、測試、維護文檔、管理文檔?,F在有一種新提法正在引起關注,這種提法是:軟件=知識
3、+程序+數據+文檔。程序是計算機為完成特定任務而執(zhí)行的指令的有序集合。從應用的角度可理解為:面向過程的程序=算法+數據結構面向對象的程序=對彖+信息面向構件的程序=構件+構架軟件工程是研究軟件開發(fā)和軟件管理的一門工程學科。1.4軟件工程的7+1條基本原理有什么現實意義?軟件工程的7條基本原理是在面向過程的程序設計時代(結構化時代)提出來的,但在面向數據和面向對彖的程序設計的今天,它仍然有效。并且在軍事上的實時跟蹤監(jiān)控系統(tǒng)中有很好的應用,而且隨著軟件的開發(fā)和管理的進步,它將不斷完善和充實。請讀者注意,作者在書中又新加入了第8條基本原理:軟件工程中的二八定律,這是對基本原理的補充與發(fā)展。1.5讀者
4、認同“4種開發(fā)方法”的方法論和“五個面向”的實踐論嗎?為什么?“四種開發(fā)方法”是指“面向過程的方法、面向對象的方法、面向數據的方法、形式化方法”。面向過程的方法來源于面向過程的程序設計:面向對象的方法來源于面向對彖的程序設計;面向數據的方法就是面向元數據的方法,它來源于關系數據庫程序設計:形式化方法來源于離散數學中的集合運算和邏輯運算。四種方法各適用于不同的場合,各有優(yōu)缺點,互相促進,構成開發(fā)方法論的多極化世界。“五個面向理論”是指“面向流程分析、面向數據設計、面向對象實現、面向功能測試、面向過程管理”,它是在綜合“四種開發(fā)方法”各自的優(yōu)點之后提出的軟件工程實施理論,是對前者的繼承與發(fā)展??傊?/p>
5、,上述提法既精彩又實用。1.6怎樣理解軟件工程的支持過程和管理過程?軟件工程的支持過程是由支持軟件生存周期各個階段的生產工具所組成的。就是說將一個軟件的生存周期劃分為市場調研、立項、需求分析、策劃、概要設計、詳細設計、編程、單位測試、集成測試、運行、維護這幾個過程。在這些過程中,需要配套相應的工具來支持,比如需求分析工具、設計工具、實現工具、測試工具、維護工具、配置工具,開發(fā)壞境等。1.7CASE工具、軟件開發(fā)環(huán)境SDE、軟件工程壞境SEE三者之間有何聯(lián)系與區(qū)別?CASE(ComputerAidedSoftwareEngineering)是一組工具和方法的集合,一般提供給個人使用,可以輔助軟件
6、開發(fā)生命周期各階段進行軟件開發(fā)。它在軟件開發(fā)/維護過程中提供計算機輔助支持和工程化方法,CASE技術分為兩類,一類是支持軟件開發(fā)過程本身的技術,另一類是支持軟件開發(fā)過程管理的技術。軟件開發(fā)環(huán)境SDE(SoftwareDevelopmentEnvironment)指在基本硬件和宿主軟件的基礎上,為支持系統(tǒng)軟件和應用軟件的工程化開發(fā)和維護而使用的一組軟件。它由軟件工具和環(huán)境集成機制構成,前者用以支持軟件開發(fā)的相關過程、活動和任務,后者為工具集成和軟件的開發(fā)、維護及管理提供統(tǒng)一的支持。軟件配置管理工具、面向行業(yè)領域開發(fā)的業(yè)務基礎平臺,都是軟件開發(fā)環(huán)境的例子。軟件工程環(huán)境SEE(SoftwareEng
7、ineeiingEiiviiomnent)一般提供給團隊使用,它是以軟件工程為依據,支持典型軟件生產的系統(tǒng)。SEE具有以下特點:(1)強調支持軟件生產的全過程。(2)強調大型軟件的工業(yè)化生產。(3)以集成和剪裁作為主要技術路徑,實現軟件工業(yè)化生產的目標。(4)標準化。軟件生產走向工業(yè)化需要建立相應的工業(yè)標準。軟件工程環(huán)境的例子有北大青鳥系統(tǒng),RationalRose等。三者的相同點是:都是軟件過程的支持工具,其目的都是為了加快軟件開發(fā)效率,提高軟件開發(fā)質量。三者的不同點是:它們的功能強弱、使用范圍、使用背景不盡相同。1.8是否存在這樣一種現彖:搞系統(tǒng)軟件的公司不需要采用CMND或ISO9001
8、模式?CMMI或ISO9001模式只適用于搞應用軟件的企業(yè)?如果是,是為什么?如果不是,又是為什么?不是。因為CMMI和ISO9000模式規(guī)定了嚴格的管理制度、文檔和評估軟件能力與成熟度等級的一套標準,它們幾乎包括了所有的IT的企業(yè),只是一些優(yōu)秀的企業(yè)自己內部形成特有的企業(yè)管理文化,但是它們并不排斥CMND和ISO9000模式,甚至還充分肯定CMMI和ISO9000體系。1.9敏捷文化現象是什么意思?敏捷文化現彖是指好的開發(fā)過程應該可以在保證質量的前提下,做到文檔適度、度量適度和管理適度,并且根據敏捷文化能迅速做出自我調整,實現企業(yè)效益的最大化。1.10“輕載過程改進模型”(敏捷文化現彖)能代
9、替或戰(zhàn)勝“重載過程改進模型”CMMI嗎?不能。因為輕載過程改進模型只適用于少于12人的項目,對個人的素質要求很高,成功的人型復雜案例并不多,它特別適合于中小型軟件企業(yè),以及中小型軟件項目。而重載過程改進模型CMM/CMMI在某種程度上包容了輕載過程改進模型,它對整體的素質要求很高,適合于所有的IT企業(yè)。1.11什么叫軟件危機?通過本章的學習,你認為應該怎樣克服軟件危機?所謂軟件危機,就是在軟件開發(fā)和維護過程中所遇到一系列難以控制的問題?!败浖C”這個專業(yè)術語的首次出現,是1968年NATO(NorthAtlanticTreatyOrganization,北約)的計算機科學家,在聯(lián)邦德國召開的
10、國際學術會議上提出的。為了克服軟件危機,同樣是在1968年,北約科技委員會召集了近50名一流的編程人員、計算機科學家和工業(yè)界巨頭,討論和制定擺脫“軟件危機”的對策。就在那次會議上,第一次提出了軟件工程(SofhvaieEngineenng)這個專業(yè)術語。當時人們的想法是:若借用建筑工程或機器制造工程的思想、標準、規(guī)范、規(guī)程去開發(fā)軟件與維護軟件,也許能克服軟件危機。以后的實踐證明:用工程的方法開發(fā)軟件與維護軟件是個好主意,但是要完全克服軟件危機,還有許多其他工作要做。例如,將軟件公司納入CMMI的過程改進軌道,就能真正克服軟件危機。1.12試述信息系統(tǒng)的定義及信息系統(tǒng)的基本內容。利用計算機網絡技
11、術、數字通信技術與數據庫技術實現信息采集和處理的系統(tǒng),稱為信息系統(tǒng)。由此不難發(fā)現:凡是與數據庫技術有關的應用系統(tǒng),都可以看成信息系統(tǒng)。因為數據庫是組織與存儲信息的最好方式,除此之外,目前還沒有找到其他更好的方式。信息系統(tǒng)由社會壞境、網絡壞境、數據壞境和程序環(huán)境四部分組成。社會壞境指企事業(yè)單位的管理規(guī)程、工作規(guī)范、信息標準、業(yè)務流程、業(yè)務規(guī)則和人員素質。網絡壞境指互聯(lián)網Internet、企業(yè)網Intranet或局域網的軟/硬件設施。數據環(huán)境指信息系統(tǒng)的數據模型及數據庫服務器上的數據操作。程序壞境指客戶端用戶界面操作與應用服務器上的業(yè)務功能操作。不管是網絡壞境、數據壞境還是程序壞境,都要進行系統(tǒng)集
12、成。這里特別強調社會壞境,人們常說,信息系統(tǒng)建設不僅是一項計算機工程,而且是一項社會工程,就是這個道理。1.13解釋下列名詞:開發(fā)文檔、管理文檔、初始化數據、元數據、過程、過程改進。開發(fā)文檔主要由項目組書寫,用于指導軟件開發(fā)與維護:管理文檔主要由軟件工程管理部門書寫,用于指導軟件管理和決策。初始化數據是為軟件系統(tǒng)提供運行條件的必備數據。元數據是關于數據的數據,組織數據的數據。過程是指軟件生命周期(LifeCycle)中的時間序列。過程作為一個時間序列,自然有起始點和終止點。例如,可將一個軟件的生命周期劃分為市場調研、立項、需求分析、策劃、概要設計、詳細設計、編程、單體測試、集成測試、運行、維護
13、、退役幾個過程,前一過程的終止點就是后一過程的起始點。過程與階段(Phase)有關,階段與里程碑(Milestone)有關。某些重要里程碑上的文檔(通過評審和審計之后)又稱為基線(Easeline)。例如,軟件需求分析規(guī)格書、軟件設計說明書,它們都是基線。過程改進是指利用過程改進模型CMMI,對軟件組織內部的過程管理進行優(yōu)化。習題22.1軟件生命周期是什么含義?它與軟件生命周期模型有何關系?軟件生命周期劃分為市場調研、立項、需求分析、策劃、概要設計、詳細設計、編程、單體測試、集成測試、運行、維護、退役幾個過程,前一過程的終止點就是后一過程的起始點。軟件生命周期與軟件生命周期模型有關:不同的生命
14、周期模型,可能對應著不同的生存周期。生存周期不同,該軟件的開發(fā)階段劃分、評審次數、基線標準都有所不同,甚至維護方法都有所區(qū)別。2.2為什么說“軟件生命周期模型是指在整個軟件生命周期中,軟件開發(fā)過程應遵循的開發(fā)路線圖?;蛘哒f,軟件生命周期模型是軟件開發(fā)全部過程、活動和任務的結構框架”?事實上,任何生命周期模型都是生命的路線圖。特別,軟件生命周期模型是軟件生命的路線圖。這里使用路線圖,是為了將深奧的理論通俗化,實用化。2.3為什么要選擇軟件開發(fā)模型?軟件開發(fā)模型與軟件生命周期有什么關系?因為軟件開發(fā)模型是軟件工程研究的5人內容之一,它雖然不是軟件工程研究的重點,但是在宏觀上特別重要。軟件公司的項目
15、組在開發(fā)一個大項目或產品時,首先在技術上必須選擇一個開發(fā)模型,使開發(fā)模型非常適合這個項目或產品的生存周期;隨后通過對生存周期的裁減,給出適合于本項目或產品的軟件生存周期定義。2.4簡述瀑布模型、增量模型、迭代模型、原型模型、XP等模型的優(yōu)缺點。軟件開發(fā)模型比較表序號模型名稱優(yōu)點缺點適用范禺1瀑布模型簡單好學逆轉性差面向過程開發(fā)2增雖模型可以分階段提交有時用戶不同意系統(tǒng)可拆卸和組裝3迭代模型需求可變風險大有鬲素質軟件團隊4原型模型開發(fā)速度快不利干創(chuàng)新己有產品的原型5螺旋模型需求可變建設周期長龐大.復朵.高風險項目6噴泉模型提高開發(fā)效率不利干項目的管理面向對象開發(fā)7XP模型提高開發(fā)效率不適合大團隊
16、、大項目小團隊小項目2.5軟件公司的CMMI過程改進模型與軟件開發(fā)模型有關嗎?為什么?無關。因為CMMI管理體系是一種過程與質量管理模型,它是適應于任何軟件開發(fā)模型的,或者說它與任何開發(fā)模型無關。開發(fā)模型本身只是規(guī)定了軟件生存周期中的若干步驟或階段,便于開發(fā)人員去開發(fā)與維護,它并沒有規(guī)定管理人員的過程管理方法與任務。為此,CMMI管理體系規(guī)定采取階段評審和不符合項的動態(tài)跟蹤制度,只有前一階段的不符合項全部改正后,才允許開發(fā)人員進入后一階段的工作。所謂不符合項,就是在評審中發(fā)現的問題項,它與Bug既有聯(lián)系,又有區(qū)別。對于這些不符合項,軟件管理部門要列出表格,記錄在案,確定責任人,限定改正時間,動
17、態(tài)跟蹤到底。2.6請調查你周圍的軟件公司采用哪幾種軟件開發(fā)模型進行軟件開發(fā)。周闈的軟件公司采用的軟件開發(fā)模型有瀑布模型、增量模型、迭代模型、原型模型。其中瀑布模型和原型模型是這些軟件公司最常用的,其次是增量模型,最后是迭代模型。2.7軟件開發(fā)模型對你今后的工作,到底具有什么指導意義?當我們進入IT企業(yè)參與軟件開發(fā)或管理時,若能掌握軟件開發(fā)模型知識,就會很快了解當前的項目或產品應該采用什么開發(fā)模型,由此確定該軟件的生存周期和當前項目組的開發(fā)狀態(tài)與進度,從而很快知道項目組成員的工作,也能使自己很快融入該項目組,快速適應IT企業(yè)文化,并很快進入角色。2.8你對“生命周期模型裁剪指南”有什么看法?“生
18、存周期模型裁剪指南”是IT企業(yè)或軟件組織內部根據軟件開發(fā)模型的普遍原則,結合本單位的開發(fā)經驗和行業(yè)特點的具體實際定制出來的。它有針對性地對選定的軟件開發(fā)模型中定義的生存周期,進行恰當地裁剪。所謂裁剪,就是對原模型中定義的內容進行增、改、刪,去掉對本單位或者本項目不適合的部分,增加對本單位或者本項目適用的內容,同時進一步細化。這樣可以縮短開發(fā)時間,減少開發(fā)成本,具有非常現實的意義。2.9“圖書館信息系統(tǒng)”的開發(fā)選用什么開發(fā)模型合適?“圖書館信息系統(tǒng)”的開發(fā)選用瀑布模型比較合適。因為瀑布模型開發(fā)階段清晰,便于評審、審計、跟蹤、管理和控制,而且“圖書館信息系統(tǒng)”在一定程度上符合瀑布模型的條件:(1)
19、它在開發(fā)時間內需求沒有變化或很少變化。(2)分析設計人員對應用領域很熟悉。(3)低風險項目。(4)用戶使用壞境比較穩(wěn)定。(5)用戶除提出需求以外,很少參與開發(fā)工作。2.10請詳細說明瀑布模型與迭代模型之間的關系。在宏觀上,迭代模型是動態(tài)模型,瀑布模型是靜態(tài)模型。一方面,迭代模型需要經過多次反復迭代,才能形成最終產品。另一方面,迭代模型的每一次迭代,實質上都是執(zhí)行一次瀑布模型,都要經歷初始、精化、構造、移交4個階段,走完瀑布模型的全過程。在微觀上,迭代模型與瀑布模型都是動態(tài)模型。迭代模型與瀑布模型在每一個開發(fā)階段(初始、精化、構造、移交)的內部,都有一個小小的迭代過程,只有經歷這一迭代過程,該階
20、段的開發(fā)工作才能做細做好。瀑布模型與迭代模型之間的這種微妙關系,如下圖所示。微歡上迭代循壞初始精化構建移交農觀上迭代淅環(huán)一次圖瀑布模型與迭代模型之間的關系由圖可見,在迭代和瀑布模型中,你中有我、我中有你。瀑布模型與迭代模型之間的關系,反映了人們對客觀事物的認識論:要認識與掌握某一客觀事物,必須經歷由宏觀到微觀的多次反復的過程。只有從宏觀上反復迭代幾次,才能看清全貌,掌握爭物的宏觀發(fā)展規(guī)律。只有從微觀上反復迭代幾次,才能吃透每個細節(jié),掌握事物的微觀發(fā)展規(guī)律。習題33.1為什么說立項(或簽訂合同)是一切項目的源頭,也是軟件項目的源頭?立項的過程就是軟件企業(yè)決定是否去開發(fā)某個項目或產品的過程。只有立
21、項完成以后企業(yè)領導部門才會下達“任務書”,開發(fā)部門開始組成開發(fā)團隊,成立項目組。3.2立項的具體表現形式是什么?企業(yè)的市場銷售部門在市場調研的基礎上,分析該產品是否有市場前景,以及企業(yè)是否有能力開發(fā)出該產品,并具體列出系統(tǒng)的功能、性能、接II和運行環(huán)境等方面的需求情況,當前客戶群和潛在客戶群情況,以及投入產出分析,然后寫出立項建議書,召開立項論證會,決定是否立項。3.3立項建議書的編制者為什么主要是軟件公司的市場銷售人員,而不是開發(fā)人員?軟件開發(fā)出來終歸要推向市場的,軟件能不能被市場接受是軟件開發(fā)成功的標準。市場銷售人員長期和市場客戶打交道,他們最了解客戶和市場的需求,最知道什么樣的產品具有巨
22、大商機。3.4為什么將項目的市場前景、功能、性能、接I、風險作為立項建議書的主要內容?一切軟件項目或軟件產品,都是為了實現用戶需求中的“功能、性能、接II”三項具體目標。軟件是否有市場前景,是軟件開發(fā)是否成功的標志,有了市場軟件才能帶來利潤。風險分析是對開發(fā)此軟件的政策風險、環(huán)境風險、技術風險、技能風險等進行分析,這對公司按時保質保量地完成軟件開發(fā),是必不可少的。3.5什么叫風險分析?技能風險與技術風險有何區(qū)別?這里的風險分析是指軟件立項過程中對產品開發(fā)、銷售等可能出現的風險進行分析。分析方法是將一個大風險化解為多個小風險,然后再一個個克服小風險。技術風險是指采用新技術的風險程度。技能風險是指
23、項目組成員掌握新技術的風險程度。兩者的區(qū)別在于一個是說新技術(如新的開發(fā)工具,新的設計思想)本身的風險,一個是說人員要掌握這種新技術的風險。3.6行業(yè)領域業(yè)務專家與產品經理有何異同?行業(yè)領域業(yè)務專家是精通某行業(yè)領域業(yè)務的人,在講標時能把投標書的內容準確、生動地表述出來,使客戶心服II服。而產品經理是某產品需求分析和概要設計的經理或專家,主要負責產品的立項、需求、設計和銷售等業(yè)務。兩者的相同點是:必須精通該產品的功能、性能和接II。不同點是:前者突出熟悉產品的應用業(yè)務領域,后者突出熟悉產品的需求與設計。3.7合同、任務書、立項建議書三者有何異同?有何關系?合同是與固定客戶簽訂的協(xié)議書,簽訂合同后
24、軟件公司啟動該項目的開發(fā),該軟件被稱為“訂單軟件”。立項建議書是相對“非訂單軟件”而言的,是相關人員對立項過程的書面描述。任務書是企業(yè)決定開發(fā)某個軟件時,對此任務的具體部署情況,以書面的形式表達岀來,包括正文和附件。只有立項建議書或合同簽訂以后才能下達任務書,三者都是軟件開發(fā)的源頭。3.8下達任務的時間和方法是什么?滿足以下三個條件中的任意一個,即可下達任務書:(1)企業(yè)已簽訂了項目合同。(2)立項建議書己通過了評審。(3)作為特殊情況,軟件組織的上級下達了某個項目的指令性軟件開發(fā)計劃。例如,有跨組織、跨部門的某個人系統(tǒng)項目,軟件的需求由它的系統(tǒng)總體設計組分配。下達任務書的方法是:(1)下達一
25、份任務書的正文。包括任務的下達對象、內容、要求完成的口期、決定投入的資源、必要時包括任命項目經理(技術經理和產品經理)、其他保證措施、獎懲措施等。任務書的正文可長可短,若合同或立項建議書很詳細,則正文可短。若合同或立項建議書很粗略很短,則正文應該詳細,當然也應該很長。(2)下達一份任務書的附件。一般情況下它就是軟件合同或立項建議書,如果是指令性計劃,它的格式和內容,也應與合同或立項建議書基本相同,即附件的內容應覆蓋系統(tǒng)的功能點列表、性能點列表、接II列表、資源需求列表、開發(fā)進度列表、階段評審列表等。3.9請進行社會調查,收集材料,用事實說明“立項就是決策”的道理。2003年初冬,山東某軟件公司
26、的老總在西安出差,發(fā)現西安市的人中型餐廳基本上都有電子點菜系統(tǒng),客人一點菜,信息馬上出現在廚房大師傅眼前,人師傅馬上炒菜,服務員很快上菜,他感到很有意思。后來一打聽,這個餐飲系統(tǒng)”是北京某軟件公司開發(fā)的。于是這位老總又飛到北京,拜訪了“餐飲系統(tǒng)”的開發(fā)公司,了解到該公司經濟效益不錯,而且還到幾家餐飲店去就餐,親身體驗“餐飲系統(tǒng)”的使用情況,收集用戶意見。返回山東后,老總拍著腦袋決定馬上立項,快速開發(fā)本公司的“餐飲系統(tǒng)”。不到三個月,餐飲系統(tǒng)”開發(fā)完畢,但是在后來的兩年中,該系統(tǒng)在山東某市總共只賣出兩套,投入與產出比是5:lo這是為什么?就是因為該城市是中等城市,不像北京、西安是大城市,“餐飲系
27、統(tǒng)”的客戶群,實在是少得可憐。立項就是決策,IT企業(yè)的決策必須按照決策程序進行,沒有決策程序就要先制定決策程序,不能一個人拍腦袋定決策。3.10試述商業(yè)MIS開發(fā)任務書的優(yōu)缺點及需要如何改進。選作題,課外作業(yè)。3.11請在老師的指導下,選定一個項目,寫出一份立項建議書。選作題,課外作業(yè)。3.12對軟件項目和產品的“功能、性能、接口”三項指標如何理解?一切項目或產品都是為了解決自身的“功能、性能、接1丨”問題,軟件項目或產品更是這樣。所以,從軟件立項、需求、設計、編程、測試、維護,自始至終都要亳不動搖地堅持“功能、性能、接口”三項指標。3.13請用PowerPointI具制作一份“圖書館信息系統(tǒng)
28、”的投標書,并進行試講。選作題,課外作業(yè)。3.14按照老師建議的其他實踐項目,23人一組,完成項目的立項任務書和投標書,并進行投標書討論與試講。選作題,課外作業(yè)。習題44.1為什么需求分析特別重要?需求分析特別重要,是因為:(1)許多犬型應用系統(tǒng)的失敗,最后均歸結到需求分析:要么獲取需求的方法不當,使得需求分析不到位或不徹底,導致開發(fā)者反復多次地進行需求分析,致使設計、編碼、測試無法順利進行:要么客戶配合不好,導致客戶對需求不確認,或客戶需求不斷變化,同樣致使設計、編碼、測試無法順利進行。(2)需求分析的輸出文檔是用戶需求報告,它既是軟件生存周期中的第一個里程碑,又是客戶、軟件開發(fā)人員和項目管
29、理人員三者必須遵守的一根基線,是三者共同工作的基礎,是項目Alpha測試和Beta測試的準則,是供方交付產品和需方驗收產品的依據。(3)需求分析要占用整個軟件開發(fā)時間或工作量的30%左右。(4)需求獲取中的錯誤,屬于軟件開發(fā)中的早期錯誤,它會在后續(xù)的設計和實現中進行發(fā)散式的傳播。根據以上4個原因,IT企業(yè)的高層經理,對需求分析特別重視,常常派經驗最豐富的人員去作項目需求。正因為如此,系統(tǒng)分析員”才是軟件行業(yè)中的最高技術職稱。4.2需求分析的目的是什么?需求分析的難點在哪里?軟件需求分析,其目的是用于說明軟件產品或軟件項目需要滿足的條件和限制。在軟件工程項目中首先要獲取用戶的需求,通過對軟件需要
30、的提取、分析、文檔化及驗證,為進一步的設計和實現提供依據。需求分析的難點是:在系統(tǒng)的功能、性能和接II方面,開發(fā)者與客戶達成完全一致的需求,讓客戶最終簽字確認,并保證在項目驗收前,需求相對穩(wěn)定不變。萬一需求有一點變化,雙方必須履行“需求變更管理程序”,而變更管理程序在簽訂合同時已經做了規(guī)定。要知道,合同是具有法律效力的。4.3需求分析的理論基礎有哪些?需求分析的理論基礎有:什么是軟件需求;軟件需求需要量化;需求是一個過程;需求過程中的角色;需求過程是一個迭代的過程;需求來源等6條理論基礎。4.4為什么說需求過程是一個迭代過程?由于人們對客觀事物的認識是不斷深化的,所以需求過程是一個迭代過程,每
31、次迭代提供更高質量和更詳細內容的軟件需求。這種迭代會給項目帶來一定的風險,上一次迭代的設計實現可能會因為需求不足而被推翻。在很多情況下,對需求的理解會隨著設計過程和實現過程的深入而不斷深化,這也會導致在軟件生命周期的后期,重新修訂軟件需求。原因可能來自于錯誤的分析,客戶環(huán)境和業(yè)務流程的改變,市場趨勢的變化等。無論是什么原因,軟件分析師應認識到需求變化的必然性,并采取相應的措施,減少需求變更對軟件系統(tǒng)的影響。4.5為什么說需求分析是面向流程的?系統(tǒng)的功能、性能、接II、界面都是在流程中動態(tài)實時的反映出來。在所有的流程(物流、人流、資金流、信息流、單據流、報表流、數據流)中,數據流最重要,也最具有
32、代表性。因為在計算機網絡系統(tǒng)內,一切流程都表現為數據流,或者說是數據流在不同方向的投影。而流程是動態(tài)的、實時的。所以說,需求分析是面向流程的。4.6需求分析的基本思路是什么?需求分析的思路,是從用戶的功能需求(系統(tǒng)需要做什么)出發(fā),由系統(tǒng)的業(yè)務流程和數據流程導出系統(tǒng)的業(yè)務模型和功能模型,識別出系統(tǒng)的元數據和中間數據,為今后設計數據模型做好充分準備。同時,對系統(tǒng)的軟、硬件環(huán)境配置,開發(fā)工具,開發(fā)工期,費用,開發(fā)進度,培訓,系統(tǒng)風險進行評估。4.7解釋術語:元數據、實體、中間數據。元數據是組織數據的數據,描述數據的數據,關于數據的數據。實體(指實體集或實體型),是一組相關元數據的集合。中間數據(有
33、的書上稱為查詢數據)是組織統(tǒng)計數據的數據,描述統(tǒng)計數據的數據,關于統(tǒng)計數據的數據。4.8為什么說元數據的分析與識別是需求分析的議題之一?元數據是組織數據的數據,描述數據的數據,關于數據的數據。通俗地講,元數據就是信息系統(tǒng)中實體名及其屬性名的集合,或者說就是基表的表名與字段名的集合。由于信息系統(tǒng)的設計與實現,都是面向元數據的,所以說元數據的分析與識別是需求分析的議題之一。元數據分析的出發(fā)點是業(yè)務模型和功能模型,落腳點是系統(tǒng)中的實體及其屬性,是企事業(yè)單位的數據模型中的所有元素。4.9元數據與中間數據之間,有什么關系?請舉例說明。元數據與中間數據間的關系是一種因果關系。元數據對應原始單據,中間數據對
34、應查詢、統(tǒng)計、報表。元數據將原始單據中錄入的數據組織起來變成基表中的記錄,這些記錄稱為基礎數據。中間數據將輸出數據組織起來變成中間表中的記錄,這些記錄稱為統(tǒng)計數據。中間表中的記錄是由基表中的記錄派生(推導、加工、處理)出來的,為了敘述簡單,我們說“中間數據是由元數據派生出來的”。例如,人力資源系統(tǒng)中的員工基本情況表中的“姓名、性別、出生口期、文化程度、畢業(yè)學校、身份證號”等是元數據,而通過統(tǒng)計后得出的軟件開發(fā)部1980年以后出生的人員情況表中的“姓名、性別、文化程度、畢業(yè)學?!?,它們是中間數據。4.10業(yè)界存在哪三種需求分析方法?你認為哪一種方案更好?業(yè)界存在三種需求分析方法:面向功能分析、面
35、向對彖分析、面向數據分析。以上這三種方法,各自適用于不同的目標系統(tǒng)。目前時尚的方法是面向對彖,包括面向主體和面向方法。總的來說,對于系統(tǒng)軟件和應用軟件來說,面向功能需求分析的方法簡單明了,而面向對彖的需求分析方法則復雜抽彖。對于以關系數據庫為平臺的信息系統(tǒng)軟件來說,面向數據需求分析方法的特點是抓住了本質。但是,這三種分析方法都離不開面向流程分析這根總線:功能、對象、數據都是在流程中產生的,又都是為流程服務的。4.11需求管理過程的目標和內容是什么?需求管理的目標,是保證軟件項目或產品滿足客戶在軟件功能、性能、接II三個方面的需求。需求管理過程的內容,主要包扌舌需求確認、需求評審、需求追蹤和需求
36、變更活動管理。4.12為什么對需求文檔要進行同行評審?同行評審,是軟件工作產品驗證的活動,其目的是為了及早和高效地從軟件工作產品中識別并消除缺陷。重點在于發(fā)現軟件工作產品中的缺陷。另外,由于進行同行評審,使大量人員對軟件系統(tǒng)中原本不熟悉的部分更加了解,因此同行評審還提高了項目的連續(xù)性,培訓了后備人員。4.13用戶需求報告與需求分析規(guī)格說明書有何差異?(1)用戶需求報告是對外的,需求規(guī)格說明書是對內的。用戶需求報告是站在用戶(使用者)的角度、用他們可以看懂的語言(比如自然語言)寫的,需要用戶簽字確認。需求規(guī)格說明書則不同,它是對內的,不需要用戶簽字確認。它是站在開發(fā)者的角度、可以采用形式化或半形
37、式化的語言進行描述。(2)一般來說,用戶需求報告是合同的產物,需求規(guī)格說明書是立項建議書的產物。用戶需求報告是對合同而言的。需求規(guī)格說明書是對立項建議書而言的。(3)由用戶需求報告可產生需求規(guī)格說明書。簽完合同后,一般是先寫出用戶需求報告,后寫出需求規(guī)格說明書。當需求報告由用戶簽字確認后,需求規(guī)格說明書很快就出來了。4.14怎么理解“不符合項”?為什么要對它進行跟蹤管理?不符合項是指沒有滿足要求的項,不一定是錯誤,跟Bug是不同的。跟蹤的意思在于,獲得需求目前的實現狀態(tài),確保用戶所有的需求都得到滿足??煽康母櫺畔⒖蔀樾枨笞兏?、系統(tǒng)維護、關鍵成員離開、系統(tǒng)再設計和類似系統(tǒng)設計等很多方面,提供參
38、考和指導,并可以減少風險和提高項目成功率。4.15為什么說“只考慮目標系統(tǒng)是什么、而不考慮目標系統(tǒng)怎么做的需求分析觀點,是片面的、表面的、不可取的”?因為有些需求分析問題,在需求分析階段開發(fā)者感覺不出來,到了設計階段才會感覺出來,此時才發(fā)現設計的資料不夠、條件缺少,即需求沒有完全到位,需要做第二次需求分析。所以說,只考慮目標系統(tǒng)是什么、而不考慮目標系統(tǒng)怎么做的需求分析觀點,是片面的,表面的,不可取的”。從這一點看,需求分析過程是一個迭代過程。4.16需求描述有哪幾種工具?你喜歡用哪一種?為什么?需求描述的工具包括數據流圖、業(yè)務流程圖、用況圖、時序圖、用戶交互圖、數據模型圖和功能需求列表、性能需
39、求列表、接口需求列表、界面需求列表等。選擇哪一種描述工具,主要取決于問題域的本質特征。不同的軟件,對分析要求的嚴格程度不同。我喜歡業(yè)務流程圖,它包括了物流、資金流、信息流,即業(yè)務操作模型,重點是業(yè)務操作的流水步驟。業(yè)務模型表示了與系統(tǒng)有關的人、設備、其他子系統(tǒng)之間的業(yè)務關系和費用關系,它是經過業(yè)務流程重組、再創(chuàng)和優(yōu)化后,并且得到企業(yè)領導確認的業(yè)務流程圖。繪制這個圖的工具可以是Office辦公軟件。4.17如果你是項目經理,怎樣組織項目組成員,對學院圖書資料室信息管理系統(tǒng)進行需求分析?并將該系統(tǒng)的功能需求列表詳細列出。選作題,課外作業(yè)。4.18在主講老師的組織下,學生以項目組為單位,選取瀑布模型
40、或快速原型模型,采用項目組成員最熟悉的數據庫管理系統(tǒng)和面向對彖的編程工具,開發(fā)“圖書資料室信息系統(tǒng)”這個小項目,要求文檔書寫齊全、前臺界面美觀簡單、后臺數據庫維護方便,并盡量使它產品化。選作題,課外作業(yè)。4.19如果你是軟件公司的系統(tǒng)分析師,你將怎樣進行需求分析?選作題,課外作業(yè)。習題55.1為什么說計劃只是策劃的一個結果?軟件策劃,或者軟件計劃,英文都是Plamuiigo但是,策劃包含有出謀劃策和做計劃兩個意思。策劃是一個過程,是一系列活動。計劃是一份文檔,是一個結果。所以說,計劃只是策劃的一個主要結果或成果。5.2簡述軟件策劃的步驟。軟件策劃的4個步驟是:步驟步驟名稱步驟內容1估計軟件工作
41、產品的規(guī)模、工作呈、費用及所需的資源軟件工作產品,包括需求規(guī)格說明書、概要設計說明書、詳細設計說明書、源代碼、測試計劃和測試報告、質呈保證計劃、軟件配呂管理計劃、里程碑及評審計劃。每個工作產品所需的工作呈(人年、費用及其所需的其他資源,都要呈化2制定時間表包括開發(fā)進度時間表和口歷進度時間表:軟件開發(fā)計劃、質呈保證計劃、軟件配擔管理計劃、測試計劃、評審計劃3鑒別和評估風險政策風險、資源風險、市場突變風險、技術風險和技能風險等4與相關的組或人協(xié)商策劃中的有關約定策劃的結果要實事求是,要得到各有關方而的同意和認可5.3軟件策劃要實現的具體目標是什么?軟件策劃是項目跟蹤和監(jiān)控的基礎,是項目經理和高層經
42、理管理項目的依據。軟件策劃要實現的具體目標有三個。(1)對供項目策劃和跟蹤用的三個軟件估計已建立文檔。這三個估計是:一一工作產品規(guī)模估計一一工作量及成本估計一一計算機資源估計(2)軟件項目活動和約定是有計劃的,并已建立文檔。這里的活動,包括開發(fā)活動和管理活動。這里的約定,是指對項目的各種標準、規(guī)范、規(guī)程的約束。(3)受影響的組和個人,同意他們對軟件項目的約定。受影響的組和個人有:一一軟件工程組(項目組)一一軟件估計組一一系統(tǒng)測試組一一質量保證組一一配置管理組一一合同管理組一一文檔支持組其中有的組可能只有一個人。5.4為什么在策劃過程中要考慮到受影響的組和個人?受影響的組主要有:軟件工程組(項目
43、組)、軟件估計組、系統(tǒng)測試組、質量保證組、配置管理組、合同管理組、文檔支持組等,這些小組的活動始終貫穿于整個軟件工程的全過程,對軟件項目的成敗有著至關重要的作用,是保證軟件產品質量的關鍵所在,任何一個組的疏忽,都有可能影響到整個軟件產品的開發(fā)進度。5.5怎樣理解軟件項目進行策劃的時機?國際上通用的做法是,先做需求分析,后做軟件策劃。至少策劃要在軟件合同/立項建議書和任務書之后。而且,軟件策劃要在用戶需求報告之后,在規(guī)格說明書/設計說明書之前。5.6簡述軟件策劃的方法。到目前為止,軟件策劃的方法仍然是采用經驗數據加結構化方法,這些方法有三個要點:(1)粒度由粗到細的分解:自頂向下、逐步細化、逐項
44、逐條逐日安排計劃。(2)粒度由細到粗的綜合:自底向上、逐步歸納、逐口逐周逐月安排計劃。(3)同類項目經驗數據類比法、同行專家協(xié)商策劃法。軟件策劃是以用戶確認的需求為基礎,以軟件組織內部的軟件標準為依據,把組織內部類似項目的成功經驗作為策劃時的參考。5.7軟件策劃的上游和卞游各是什么?上游是需求分析,下游是軟件設計。5.8定義軟件過程是什么含義?所謂定義軟件過程,就是根據選定的生命周期模型,規(guī)定軟件的開發(fā)階段,及每一階段的工作步驟和文檔標準等內容。5.9軟件估計是什么含義?所謂軟件估計,指對軟件項目進行量化估計,并記錄估計結果的過程。軟件估計是軟件度量的一部分,它既是軟件策劃的核心,又是軟件策劃
45、的重點與難點。5.10簡述對軟件工作產品規(guī)模進行量化估計的方法。到目前為止,在IT企業(yè)中常用的軟件項目規(guī)模估計方法有以卞4種:第一種估計方法:希臘古都法。希臘占都法是最流行的專家評估技術,在沒有歷史數據的情況卞,這種方式適用于評定過去與將來。它鼓勵參加者就問題相互討論。這項技術,要求有多種軟件相關經驗的人參與,互相說服對方。第二種估計方法:類比法。類比法適合評估一些與歷史項目在應用領域、環(huán)境和復雜度方面相似的項目,通過新項目與歷史項目的比較得到規(guī)模估計。它的結呆的精確度取決于歷史項目數據的完整性和準確度。第三種估計方法:功能點估計法。功能點(實體數、構件數、屏幕數、報表數、文檔數)測量,是在需
46、求分析階段基于系統(tǒng)功能的一種規(guī)模估計方法。第四種估計方法:無禮估計法。無禮估計法對各個項目活動的完成時間,按三種不同情況估計:一個產品的期望規(guī)模、一個最低可能估計、一個最高可能估計。用這三個估計得到一個產品的期望規(guī)模和標準偏差。5.11簡述軟件工作產品成本費用的估計方法。軟件工作產品成本費用估計方法是:序號估計方法估計單位(元)方法說明1直接的勞務費人民幣開發(fā)人員的工資和福利2管理費人民幣技術管理和行政管理人員的工資和福利3差旅費人民幣售前、售中、售后的人員差旅費4計算機使用費人民幣網絡設備的折舊費和房租水電費5其他招待費和公關費人民幣控制在總費用的15%以內5.12項目跟蹤與監(jiān)督的基礎是什么
47、?在項目策劃階段,要為開發(fā)計劃制定嚴格的審批流程。開發(fā)計劃在經過組織批準生效后,將成為進行項目跟蹤與監(jiān)督的基礎。5.13軟件開發(fā)計劃應包括哪些內容?軟件開發(fā)計劃書是軟件策劃的輸出文檔,它包括如下10個方面的內容:(1)軟件項目的目的、范圍、目標和對象。(2)軟件生存周期的選擇與裁剪。(3)確定軟件開發(fā)和維護的規(guī)范、方法和標準。(4)軟件工作產品的確定。(5)對工作產品規(guī)模的估計。(6)對工作量和成本的估計。(7)關鍵計算機資源的估計和使用情況。(8)項目的進度、里程碑和評審計劃。(9)風險的識別和評估。(10)項目工程設施和工具的計劃。5.14軟件工作產品和軟件產品有何異同?軟件工作產品是指開
48、發(fā)過程中每個階段的文檔、數據和程序,即每個開發(fā)階段的輸出制品。軟件產品是指軟件開發(fā)與測試工作已經完工,并且可投入市場銷售的軟件產品。由此可見,軟件產品是最后一個階段的軟件工作產品。5.15名詞解釋:直接人工、直接費用、間接成本、制造費用、管理費用、不可預見費用。直接人工:是指直接參與軟件產品開發(fā)的相關的程序員、系統(tǒng)分析員等項目組成員。直接費用:是指與軟件開發(fā)有著直接關系的口常開銷,如員工的薪金、福利、勞保、口常餐飲費用、差旅費用等。間接成本:是指與軟件開發(fā)沒有直接關系的口常開銷,如招待費、器材損耗等。制造費用:企業(yè)生產車間為制造產品和提供勞務而發(fā)生的各項間接費用,包括折舊費、修理費、物料消耗費
49、等。管理費用:是指企業(yè)行政管理部門為組織經營管理活動而發(fā)生的各項費用,包括公司辦公經費、工會經費、職工教育經費、審計費、訴訟費、排污費、綠化費、稅金、土地使用費、土地損失補償費、技術轉讓費、壞賬損失,存貨盤虧、毀損和報廢(減盤盈)費用。不可預見費用:是指在軟件開發(fā)過程中,由于某些意想不到的因素造成了軟件開發(fā)成本的提高。5.16怎樣理解軟件中的度量,它有何作用?軟件中的度量,是指對人量測量數據的統(tǒng)計分析。度量是按規(guī)定在項目進行過程中,需要采集的度屋數據,以便量化地反映項目的進展情況,為管理者提供對項目進展的適當的可視性,同時度量數據是項目過程改善的基礎數據,它們存放在測量數據庫中。5.17請設計
50、以下策劃管理文檔:項目周報、項目月報、里程碑報告、重犬事件報告、軟件開發(fā)計劃評審報告、項目計劃變更申請表、計劃更改與批準記錄。(1)項目周報是:起始日期終止日期項目名稱項目經理本周計劃進度本周實際進度本周成績木周問題下周應對措施對資源的要求(2)項目月報是:起始月份終止月份項目名稱項目經理木月計劃進度木月實際進度木月成績木月問題下月應對措施對資源的要求(3)里程碑報告是:里程碟名稱評審口期項目名稱項目經理里程碑優(yōu)點里程碑問題(4)重人事件報告是:事件名稱事件日期項目名稱項目經理事件原因事件處理結果(5)軟件開發(fā)計劃評審報告是:項13名稱項目經理評審階段軟件開發(fā)計劃第次評審評審組組長評審時間評審
51、地點評審組成員不符合項跟蹤記錄不符合項名稱不符合項內容限期改正時間實際改正時間測試合格時間測試員簽審計員簽字評審總見評審結論(6)項目計劃變更申請表是:計劃變更理由變更申請口期項目名稱項目經理(7)劃更改與批準記錄是:更改次數批準日期項目名稱項目經理變更評審日期變更起始口期原計劃版木號現計劃版木號5.18在老師的指導卞,寫出一份“圖書館信息系統(tǒng)”的軟件開發(fā)計劃書。參考本書的“圖書館信息系統(tǒng)”一章,按照軟件開發(fā)計劃書參考模板書寫即可,在此省略。5.19如果你是軟件企業(yè)的項目經理,根據實際情況,如何用4種不同的估計方法,對軟件產品規(guī)模進行量化估計?(1)在沒有歷史數據的情況下,Delplu法是最流
52、行的專家評估技術。(2)在有歷史數據的情況下,類比法適合于評估一些與歷史項目在應用領域、環(huán)境和復雜度方面相似的項目,通過新項目與歷史項目的比較得到規(guī)模估計。(3)在需求分析時,若系統(tǒng)的功能點非常清楚,則可用功能點法。據統(tǒng)計發(fā)現,對一個軟件產品的開發(fā),功能點對項目早期的規(guī)模估計很有幫助。(4)任何時候都可采用無禮估計法。無禮估計法類似于體育比賽中的跳水、體操、花樣游泳、花樣滑冰等項目的評判打分方法。它對各個項目活動的完成時間,按三種不同情況估計:一個產品的期望規(guī)模。一個產品的最低可能估計。一個產品的最高可能估計。可由這三個估計,得到一個產品期望規(guī)模和標準偏差。習題66.1業(yè)務模型、功能模型、數據
53、模型各是什么含義?三者之間有什么關系?功能模型是描述系統(tǒng)能做什么,即對系統(tǒng)的功能、性能、接II和界面進行定義。業(yè)務模型是描述系統(tǒng)在何時、何地、由何角色、按什么業(yè)務規(guī)則去做,以及做的步驟或流程,即對系統(tǒng)的操作流程進行定義。數據模型是描述系統(tǒng)工作前的數據來自何處,工作中的數據存到什么地方,工作后的數據放到何處,以及這些數據之間的關聯(lián),即對系統(tǒng)的數據結構進行定義。功能模型和業(yè)務模型是在需求分析時建模,是兩個基本點。數據模型是一個中心,在設計時建模。功能模型和業(yè)務模型給數據模型提供數據與維護數據,數據模型支持功能模型和業(yè)務模型的正常運行。通常,數據模型建模用PowerDesigner,ERWm或Ora
54、cleDesigner匸具實現:功能模型用功能點列表(或用況圖)表示;業(yè)務模型用自然語言加上流程圖(或順序圖)表示。信息系統(tǒng)的業(yè)務模型就是系統(tǒng)的操作流程和業(yè)務規(guī)則,功能模型就是系統(tǒng)的功能菜單和用戶界面,數據模型就是系統(tǒng)的數據結構和數據字典。6.2說明數據庫與數據庫管理系統(tǒng)的差別。數據庫管理系統(tǒng)DBMS是一個系統(tǒng)軟件,它是專門管理用戶的數據的。數據庫是一個應用軟件,它是用戶數據的存放地方,專門支持用戶軟件的運行的。6.3你是怎樣通俗地理解數據庫設計范式理論的?第一范式:1NF是對屬性的原子性約束,要求屬性具有原子性,不可再分解。第二范式:2NF是對記錄的唯一性約束,要求記錄有唯一標識,即實體的唯
55、一性。進一步講,在數據庫設計時,作為唯一性標志的主鍵,最好是一個字段,而不是組合字段,這就是主鍵的原子性?,F在的關系數據庫管理系統(tǒng),都提供唯一標識ED類型的字段,就是為了實現主鍵的原子性。第三范式:3NF是對字段冗余性的約束,即任何字段不能由其他字段派生出來,它要求字段沒有冗余。其他更高級的范式:BCF,4NF,5NF等各級范式,研究的內容是解決實體本身的原子性問題,只要實體本身不可再分解了,即實體原子化了,就從根本上符合了BCF,4NF,5NF范式的要求。由此可見:“只要實現了屬性、主鍵、實體三者的原子化,就從根本上符合了各級范式的要求”。這就是范式理論的實質!數據庫設計規(guī)范化理論的實質,就
56、是引導并幫助設計人員實現“實體、屬性、主鍵的原子化”。6.4什么是原始數據?什么是原始單據?什么是信息源?三者之間有何關系?原始數據是要采集并錄入的數據,是軟件系統(tǒng)中未加工處理的數據。記錄原始數據的單據,稱為原始單據。產生原始數據的地點,稱為信息源。即信息源產生的數據,稱為原始數據。由此可見,原始數據、原始單據、信息源,這三個東西,是站在三個不同角度,描述同一個東西。6.5什么是實體?它與原始單據有什么關系?實體或實體集是一組相關元數據的集合。一般而言,實體來源于原始單據,即實體蘊涵于原始單據之中。6.6基本表、代碼表、中間表、臨時表,它們有何異同?數據庫是表的集合,表由字段組成,表中存放著記
57、錄。由于記錄的數據可以是原始數據、信息代碼數據、統(tǒng)計數據和臨時數據4種,所以又可將表劃分為基本表、代碼表、中間表和臨時表4種。存放原始數據的表,稱為基本表。存放信息代碼數據的表,稱為代碼表。存放統(tǒng)計數據的表,稱為中間表(又稱為查詢表)。存放臨時數據的表,稱為臨時表。6.7為什么說:“只有基本表對應的實體才是真正的實體,才能出現在E-R圖上。中間表、臨時表不對應實體,因此也不應出現在E-R圖上。代碼表很簡單,在E-R圖上可省略”?因為基本表中的信息,是信息源產生的信息。只有信息源產生的信息,才是客觀存在的實體的信息,所以只有基本表對應的實體才是真正的實體,才能出現在E-R圖上。因為中間表、臨時表
58、不是存放原始信息的表,而是存放查詢信息或臨時信息的表,所以中間表、臨時表不對應實體,因此也不應出現在E-R圖上。因為代碼表很簡單,在E-R圖上可省略。如果不加以省略,就會顯得E-R圖復雜繁瑣,使人得不到要領。6.8數據庫設計的基本模式有哪些?站在IT企業(yè)的數據庫開發(fā)角度上講,數據庫設計的核心設計模式只有兩個:一個是“第三者插足”模式,另一個是“行變列”模式。6.9顯式與隱式的“第三者插足”模式,它們之間有何異同?當兩個實體之間存在多對多關系時,必須在它們之間插入第三個實體,以化解這種多對多關系。由于插入的實體,可能是強實體,也可能是弱實體,所以“第三者插足”模式,又分為“強實體插足”模式和“弱
59、實體插足”模式兩種。所謂強實體插足模式,就是不需要增加一個新實體,已有的“明細實體”就能夠扮演“第三者”的角色。該模式的詳細情況,將在6.4節(jié)中介紹,本節(jié)只介紹“弱實體插足”模式。所謂弱實體插足模式,就是要公開增加一個新的弱實體,使其扮演“第三者”的角色。該模式是一種最常見、最抽象、最難發(fā)現的數據庫設計模式。它的特點是:由于兩個多對多關系實體之間的關聯(lián)實體,沒有獨立的業(yè)務處理需求,因而不存在實實在在的關聯(lián)實體,所以需要另外增加第三個抽象的實體,作為它們之間的關聯(lián)實體。這個抽彖的關聯(lián)實體,實質上就是一個復雜關系,稱為弱實體。該弱實體,就是原來兩個多對多關系實體之間笛卡兒積的子集。該設計模式,被稱
60、為弱實體插足”模式。顯式與隱式的“第三者插足”模式,都是為了解決實體之間的多對多問題。6.10“列變行”模式的實質是什么?數據庫設計中“列變行”模式的實質,是解決實體本身的原子化問題。也就是說,是解決數據庫設計符合ECF,4NF,5NF的問題。6.11請說明“第三者插足”模式和“列變行”模式之間的關系。“第三者插足”模式是為了解決關系的原子化問題。這里的關系原子化,是指表之間的關系都是一對多關系?!傲凶冃小蹦J街g,都是為了解決實體本身的原子化問題。也就是說,是解決數據庫設計符合ECF,4NF,5NF的問題?!暗谌卟遄恪蹦J胶汀傲凶冃小蹦J?,是進行規(guī)范化數據庫設計的兩只手,我們要兩手抓,兩手
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023八年級道德與法治下冊 第三單元 人民當家作主 第六課 我國國家機構 第2框 中華人民共和國主席教學實錄 新人教版
- 2024年五月生豬電子飼喂站數據管理租賃合同
- DB14T 1117-2024旱地粒用高粱覆膜栽培技術規(guī)程
- 發(fā)展技術競爭情報工作服務學校發(fā)展
- 推廣部工作總結
- 2025保險公司正規(guī)保單合同格式
- 個人多套房產贈與合同
- 2025聘用廚師勞動合同書
- 2025年舟山道路客貨運輸從業(yè)資格證b2考試題庫
- 供暖鍋爐設備租賃合同標準文本
- 樓梯踏步抹灰標準合同7篇
- 【廈門大學】DeepSeek大模型賦能高校教學和科研
- 巧手包出小混沌(課件)三年級下冊勞動人民版
- 2025-2030中國IC卡讀寫器行業(yè)市場現狀分析及競爭格局與投資發(fā)展研究報告
- 2024-2025學年人教版初中地理七年級下冊課件 第8章 第4節(jié) 俄羅斯
- 2025年南京秦淮區(qū)一中七年級下3月份月考英語試卷
- 《清華大學介紹》課件
- 重癥??谱o士考試題庫(含答案)
- 水利部預算定額
- 光驅的讀取偏移值度矯正數據
- 橋架一點通大全
評論
0/150
提交評論