軟件工程期末考試簡答題匯總.doc_第1頁
軟件工程期末考試簡答題匯總.doc_第2頁
軟件工程期末考試簡答題匯總.doc_第3頁
軟件工程期末考試簡答題匯總.doc_第4頁
軟件工程期末考試簡答題匯總.doc_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

.1什么是軟件工程?基本原理有哪些?32成本_效益分析可用哪些指標進行度量?(寫出公式)33什么是數(shù)據(jù)流圖?其中的基本符號各表示什么含義?畫出定貨系統(tǒng)基本數(shù)據(jù)流圖。34非漸增式測試與漸增式測試有什么區(qū)別?35試從基本符號和設(shè)計方法分析HC圖與JACKSON圖異同點46軟件測試的目的是什么?47結(jié)構(gòu)化程序設(shè)計的思想是什么?48請解釋極限編程和自適應軟件開發(fā),并說明其異同?49需求工程的起始階段,需求工程師的主要工作是?410請畫出“在餐廳使用信用卡付費”這一活動的完整用例圖?511分析說明結(jié)構(gòu)化分析和面向?qū)ο蠓治龅膮^(qū)別?512 請簡要給出評價軟件設(shè)計質(zhì)量的標準?513 一個良好的設(shè)計類需要滿足四個特點,請詳細描述這四個特點?514軟件項目估算內(nèi)容與步驟615面向?qū)ο笤O(shè)計的準則是什么?有哪5個層次和4個部分?616簡述軟件工程目標和面臨的主要問題。617簡述軟件工程過程。618簡述模塊獨立性的原則。619簡述結(jié)構(gòu)化程序設(shè)計方法的基本要點720簡述軟件生命周期開發(fā)方法的基本過程及每個階段的任務(wù)。721復印機的工作流程大致如下:722簡述文檔在軟件工程中的作用。823簡述軟件項目管理過程。824簡述系統(tǒng)分析員應該具備的主要知識結(jié)構(gòu)和基本素質(zhì)。825簡述何謂軟件開發(fā)方法?請列舉四種主要方法。926簡述單元測試的基本內(nèi)容。927什么是軟件生存周期模型?請至少列舉四種主要模型?928衡量模塊獨立的兩個標準是什么?它們各表示什么含義?(網(wǎng)上)1029簡述白盒測試的思想,并列舉兩種典型的測試技術(shù)。1030簡述CMM(軟件能力成熟度模型)5個等級的含義1031簡述軟件維護的定義1132簡述軟件測試的定義1133 UML建模中主要包括哪九種圖?并說明類圖的定義及其中常見的關(guān)系有哪些?1134什么是字據(jù)字典?其作用是什么?它有哪些條目?1135軟件工程的兩大范型分別是什么?它們有什么不同?1136如何畫分層數(shù)據(jù)流圖?1237面向?qū)ο蟪绦蛟O(shè)計有哪些優(yōu)點?1238在軟件測試中,應注意哪些原則?1239程序設(shè)計風格是指一個人編制程序時所表現(xiàn)出來的特點、習慣、邏輯思路等。1340面向?qū)ο蠓治雠c面向?qū)ο笤O(shè)計的關(guān)系?1341成本-效益分析的目的是什么?可用哪些指標進行度量?1342軟件設(shè)計分哪幾個階段,它們的主要任務(wù)是什么?1343用戶需求和系統(tǒng)需求各有什么特點?1444面向?qū)ο笤O(shè)計的準則?1445需求分析過程主要有哪幾個步驟?1446軟件設(shè)計分哪幾個階段,它們的主要任務(wù)是什么?1447什么是軟件結(jié)構(gòu)圖?它有哪些主要元素?1448面向?qū)ο蠓椒ǖ奶攸c是什么?為什么要用面向?qū)ο蠓椒ㄩ_發(fā)軟件?1549什么是編碼風格?請根據(jù)自己的編程經(jīng)驗編寫一個編程注意事項。1550軟件生命期各階段的任務(wù)是什么?1651非漸增式測試與漸增式測試有什么區(qū)別?1652面向?qū)ο蟪绦蛟O(shè)計有哪些優(yōu)點?1753模塊間的耦合性有哪幾種?1754軟件開發(fā)步驟包括哪些過程?1755數(shù)據(jù)字典有哪幾類元素構(gòu)成?1756大型軟件系統(tǒng)的設(shè)計思想是什么?1757、數(shù)據(jù)庫設(shè)計一般分為哪幾個階段?形成哪三種模式?(P101)1758什么是軟件危機?其產(chǎn)生的原因是什么?(P7)1859、概要設(shè)計的原則?(P72)1860闡述結(jié)構(gòu)化設(shè)計的主要思想?(P79)1861軟件工程主要研究哪些領(lǐng)域?(P16)1862以G.J.Myers的觀點,簡述對軟件測試的目的。1963就程序設(shè)計語言的工程特性而言,對程序編碼有哪些要求?1964模塊的內(nèi)聚性包括哪些類型?1965可行性研究報告的主要內(nèi)容有哪些?1966系統(tǒng)設(shè)計的內(nèi)容是什么?2067什么是軟件危機?軟件危機的表現(xiàn)是什么?其產(chǎn)生的原因是什么?2068軟件質(zhì)量保證應做好哪幾方面的工作?2169軟件復用2270、Case技術(shù)2271請說明軟件文檔的作用?軟件開發(fā)項目生存期各階段都包含哪些文檔?2272什么是數(shù)據(jù)字典?其作用是什么?它有哪些條目?2273采用黑盒技術(shù)設(shè)計測試用例有哪幾種方法?這些方法各有什么特點?2274何謂軟件生存周期?其可以劃分為幾個時期?每個時期又可分為幾個階段?每個階段的主要任務(wù)是什么?2375如何做好軟件質(zhì)量保證工作?2476什么是軟件工程?什么是軟件危機?2477軟件的可行性研究主要研究哪些問題?并對此進行說明。2478什么是黑盒測試,適用的方法有哪些?什么是白盒測試,適用的方法有哪些?2479什么是軟件維護?軟件維護包括哪四類活動?2580有人說:軟件開發(fā)時,一個錯誤發(fā)現(xiàn)得越晚,為改正它所付出的代價就越大。請問這句話對否?請解釋你的回答。2581請將下述有關(guān)模塊獨立性的各種模塊內(nèi)聚,按其內(nèi)聚度(強度)從高到低排列起來。251什么是軟件工程?基本原理有哪些?軟件工程是指導計算機軟件開發(fā)和維護的工程學科。用分階段的生命周期計劃管理、堅持階段評審、實行嚴格產(chǎn)品控制、采用現(xiàn)代設(shè)計技術(shù)、結(jié)果審查、開發(fā)小組人員少而精、并不斷改進方法。2成本_效益分析可用哪些指標進行度量?(寫出公式)可用投資回收期、純收入、投資回收率指標,通過P=F/(1+i)n計算求得。3什么是數(shù)據(jù)流圖?其中的基本符號各表示什么含義?畫出定貨系統(tǒng)基本數(shù)據(jù)流圖。用符號描繪信息在系統(tǒng)中流動的情況,源點、終點、處理、數(shù)據(jù)存儲、數(shù)據(jù)流。倉庫管理員采購員定貨系統(tǒng)事務(wù)定貨報表4非漸增式測試與漸增式測試有什么區(qū)別?兩種都用于集成測試。漸增式是把下一個要測試的摸塊同已經(jīng)測試好的模塊結(jié)合起來進行測試,每次增加一個模塊。非漸增式先分別測每個模塊,再把所有模塊按設(shè)計要求放在一起結(jié)合成所要的程序。5試從基本符號和設(shè)計方法分析HC圖與JACKSON圖異同點答:HC圖是面向DFD,而JACKSON圖是面向數(shù)據(jù)結(jié)構(gòu)的。符號省略。6軟件測試的目的是什么?測試的目的是為了發(fā)現(xiàn)錯誤.7結(jié)構(gòu)化程序設(shè)計的思想是什么?答:自上而下,逐步求精8請解釋極限編程和自適應軟件開發(fā),并說明其異同?答:極限編程和自適應軟件開發(fā)都屬于敏捷過程模型。極限編程是應用最廣泛的敏捷過程(2分)。按照計劃、設(shè)計、編碼和測試四個框架活動組織。極限編程建議一系列新穎和有力的技術(shù),保證敏捷團隊創(chuàng)建能力體現(xiàn)客戶指定優(yōu)先級特征和功能的頻繁軟件開發(fā)(2分)。自適應軟件開發(fā)強調(diào)人的合作和團隊的組織,按思考、協(xié)作和學習的三個框架活動組織,其使用迭代過程。該過程由自適應循環(huán)計劃、相對嚴格的需求收集方法和一個迭代開發(fā)循環(huán)構(gòu)成(2分)。9需求工程的起始階段,需求工程師的主要工作是?答:需求工程的起始階段,工程師的主要工作為:1)建立基本的問題需求(2分)2)定義最重要的項目約束以及陳述主要的特征和功能(2分)3)與共利益的各方建立基本的諒解(2分)10請畫出“在餐廳使用信用卡付費”這一活動的完整用例圖?11分析說明結(jié)構(gòu)化分析和面向?qū)ο蠓治龅膮^(qū)別?答:分析建模的目標是創(chuàng)建各種表現(xiàn)形式,以描述軟件信息、功能和行為的需求(2分)。為實現(xiàn)這一目標,可采用結(jié)構(gòu)化分析和面向?qū)ο蠓治龇椒ǎ?分)。結(jié)構(gòu)化分析把軟件看作信息裝換器,輔助軟件工程師識別數(shù)據(jù)對象、對象間的聯(lián)系以及這些數(shù)據(jù)對象流經(jīng)軟件處理功能時轉(zhuǎn)換的方式(2分)。面向?qū)ο蠓治鼍褪菣z查定義為一組用例的問題域,盡量提取定義問題的類(1分)。12 請簡要給出評價軟件設(shè)計質(zhì)量的標準?答:評價軟件設(shè)計質(zhì)量的標準如下:1)設(shè)計必須實現(xiàn)所有包含在分析模型中的明確需求,以及用戶期望的所有隱含需求(2分)2)對于那些生成代碼的人和那些進行代碼測試以及隨后維護軟件的人而言,設(shè)計必須是可讀、可理解的指南(2分)3)設(shè)計必須提供軟件的全貌,從實現(xiàn)的角度水明數(shù)據(jù)域、功能域和行為域(2分)13 一個良好的設(shè)計類需要滿足四個特點,請詳細描述這四個特點?答:一個良好的設(shè)計類需要滿足:1)完整性和充分性(1分)2)原始性(2分)3)高內(nèi)聚性(2分)4)低耦合性(1分)14軟件項目估算內(nèi)容與步驟15面向?qū)ο笤O(shè)計的準則是什么?有哪5個層次和4個部分?準則:模塊化、抽象、信息隱蔽、高內(nèi)聚、低耦合、可重用16簡述軟件工程目標和面臨的主要問題。目標:支付較低的開發(fā)成本、達到要求的軟件功能、獲取較好的軟件性能、開發(fā)的軟件易于移植、需要較低的維護費用、能按時完成開發(fā)任務(wù),幾時交付使用、開發(fā)的軟件可靠性高面臨的主要問題是:軟件費用 軟件可靠性 軟件維護 軟件生產(chǎn)率 軟件重用。17簡述軟件工程過程。軟件工程過程是為獲得軟件產(chǎn)品,在軟件工具支持下由軟件工程師完成的一系列軟件工程活動。軟件工程過程通常包含四種基本的過程活動: P(Plan):軟件規(guī)格說明。規(guī)定軟件的功能及其運行的限制; D(Do):軟件開發(fā)。產(chǎn)生滿足規(guī)格說明的軟件; C(Check):軟件確認。確認軟件能夠完成客戶提出的要求; A(Action):軟件演進。為滿足客戶的變更要求,軟件必須在使用的過程中演進。 事實上,軟件工程過程是一個軟件開發(fā)機構(gòu)針對某一類軟件產(chǎn)品為自己規(guī)定的工作步驟,它應當是科學的、合理的,否則必將影響到軟件產(chǎn)品的質(zhì)量。 18簡述模塊獨立性的原則。模塊獨立性是指軟件系統(tǒng)中每個模塊只涉及軟件要求的具體子功能,而和軟件系統(tǒng)中其他的模塊接口是簡單的模塊獨立性的概念是模塊化、抽象、信息隱蔽和局部話概念的直接結(jié)果由耦合和內(nèi)聚2個標準度量19簡述結(jié)構(gòu)化程序設(shè)計方法的基本要點1. 采用自頂向下,逐步求精的程序設(shè)計方法 在需求分析,概要設(shè)計中,都采用了自頂向下,逐層細化的方法。 2. 使用三種基本控制結(jié)構(gòu)構(gòu)造程序 任何程序都可由順序、選擇、重復三種基本控制結(jié)構(gòu)構(gòu)造。1)用順序方式對過程分解,確定各部分的執(zhí)行順序。2)用選擇方式對過程分解,確定某個部分的執(zhí)行條件。 3)用循環(huán)方式對過程分解,確定某個部分進行重復的開始和結(jié)束的條件。 4)對處理過程仍然模糊的部分反復使用以上分解方法,最終可將所有細節(jié)確定下來。 3. 主程序員組的組織形式 20簡述軟件生命周期開發(fā)方法的基本過程及每個階段的任務(wù)。(1)問題定義階段,盡可能清楚地描述問題,搞清楚要解決的問題是什么;(2)可行性研究階段,主要是確定待解的問題是否有可行的解決辦法。需要做經(jīng)濟可行性分析、技術(shù)可行性分析、操作可行性分析和法律可行性分析;(3)需求分析階段,主要是確定目標系統(tǒng)必須具備的功能。通常用數(shù)據(jù)流圖、數(shù)據(jù)字典和簡要的算法表示系統(tǒng)的邏輯模型。(4)總體設(shè)計階段,從總體上解決問題,確定可實現(xiàn)的方案,并設(shè)計出軟件的層次結(jié)構(gòu)圖;(5)詳細設(shè)計,把解法具體化,確定如何具體地實現(xiàn)這個系統(tǒng)。針對每個模塊設(shè)計相應的算法;(6)編碼和單元測試階段,把詳細設(shè)計的結(jié)果翻譯成選定的語言所寫的程序,并對每個模塊進行單元測試。(7)測試階段,系統(tǒng)地設(shè)計測試用例,盡可能多地發(fā)現(xiàn)軟件中的錯誤,并調(diào)試改正軟件中的錯誤;(8)軟件維護階段,主要目的是通過修改軟件使所開發(fā)的軟件能夠持久地滿足用戶的需要。21復印機的工作流程大致如下:未接到復印命令時處于閑置狀態(tài),一旦接到復印命令則進入復印狀態(tài),完成一個復印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個復印命令:如果執(zhí)行復印命令時發(fā)現(xiàn)沒紙,則進入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進入閑置狀態(tài),準備接收復印命令;如果復印時發(fā)生卡紙故障,則進入卡紙狀態(tài),發(fā)出警告,等待維修人員來排除故障,故障排除后回到閑置狀態(tài)。試用狀態(tài)轉(zhuǎn)換圖描繪復印機的行為。從問題陳述可知,復印機的狀態(tài)主要有閑置、復印、缺紙和卡紙。引起狀態(tài)轉(zhuǎn)換的事件主要是復印命令、完成復印命令、發(fā)現(xiàn)缺紙、裝滿紙、發(fā)生卡紙故障和排除了卡紙故障22簡述文檔在軟件工程中的作用。1、提高軟件開發(fā)過程的能見度2、實現(xiàn)對軟件開發(fā)的工程管理3、提高開發(fā)效率4、作為開發(fā)人員在一定階段的工作成果和結(jié)束標志5、提供軟件運行、維護和培訓有關(guān)資料6、記錄開發(fā)過程中有關(guān)信息便于協(xié)調(diào)以后的軟件開發(fā)使用和維護7、便于用戶了解軟件功能、性能。23簡述軟件項目管理過程。24簡述系統(tǒng)分析員應該具備的主要知識結(jié)構(gòu)和基本素質(zhì)。系統(tǒng)分析員應該既是信息系統(tǒng)專家,又是企業(yè)管理專家,同時還應該是優(yōu)秀的領(lǐng)導者。系統(tǒng)分析員應該具有的知識結(jié)構(gòu)為:首先應該具有深入扎實的信息系統(tǒng)方面的專業(yè)知識和實踐經(jīng)驗,即他們必須具有計算機軟硬件的知識和開發(fā)應用的實踐經(jīng)驗,以及信息處理,包括IS、網(wǎng)絡(luò)、通訊、數(shù)據(jù)庫等方面的知識和實踐經(jīng)驗;其次,應該具有經(jīng)濟管理或企業(yè)管理方面較豐富的理論知識和實踐經(jīng)驗;同時應該具有優(yōu)秀領(lǐng)導者的素質(zhì)、才能和領(lǐng)導藝術(shù),在信息系統(tǒng)開發(fā)的實踐中不斷豐富自己、提高自己,使自己的知識結(jié)構(gòu)更趨于合理。25簡述何謂軟件開發(fā)方法?請列舉四種主要方法。軟件開發(fā)方法是一中使用定義好的技術(shù)集和符號表示組織軟件生產(chǎn)的過程。結(jié)構(gòu)化方法 jackson方法 維也納開發(fā)方法 面向?qū)ο箝_發(fā)方法26簡述單元測試的基本內(nèi)容。測試構(gòu)造軟件系統(tǒng)的模塊(對象和子系統(tǒng))模塊接口主要檢查數(shù)據(jù)能否正確通過模塊;屬性及對應關(guān)系是否一致局部數(shù)據(jù)結(jié)構(gòu)說明不正確或不一致;初始化或缺省值錯誤;變量名未定義或拼寫錯誤;數(shù)據(jù)類型不相容;上溢下溢或地址錯誤等重要的執(zhí)行路徑 重要模塊要進行基本路徑測試,仔細地選擇測試路徑是單元測試的一項基本任務(wù)錯誤處理 主要測試程序?qū)﹀e誤處理的能力,應檢查是否不能正確處理外部輸入錯誤或內(nèi)部處理引起的錯誤;對發(fā)生的錯誤不能正確描述的內(nèi)容,難以理解;在錯誤處理之前,系統(tǒng)已經(jīng)進行干預等邊界條件 程序最容易在邊界上出錯,如輸入輸出數(shù)據(jù)的等價類邊界,選擇條件和循環(huán)條件的邊界,復雜數(shù)據(jù)結(jié)構(gòu)的邊界等都應進行測試27什么是軟件生存周期模型?請至少列舉四種主要模型?軟件生存周期模型是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。軟件生存周期模型確立了軟件開發(fā)和演繹中各階段的次序限制以及各階段或機動的準則,確立開發(fā)過程所遵守的規(guī)定和限制,便于各種活動的協(xié)調(diào),便于各種人員的有效通信,有利于活動重用,有利于活動管理。常見的軟件生存周期模型有瀑布模型、演化模型、螺旋模型、噴泉模型等。28衡量模塊獨立的兩個標準是什么?它們各表示什么含義?(網(wǎng)上)兩個定性的度量標準:耦合與內(nèi)聚性耦合性:也稱塊間聯(lián)系。指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量。模塊之間聯(lián)系越緊密,其耦合性就 越強,模塊的獨立性則越差。 內(nèi)聚性:也稱塊內(nèi)聯(lián)系。指模塊的功能強度的度量,即一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量。模塊內(nèi)元素聯(lián)系越緊密,內(nèi)聚性越高。29簡述白盒測試的思想,并列舉兩種典型的測試技術(shù)。白盒測試又稱結(jié)構(gòu)測試,它把測試對象看作一個透明的盒子。測試人員須了解程序的內(nèi)部結(jié)構(gòu)和處理過程,以檢查處理過程的細節(jié)為基礎(chǔ),對程序中盡可能多的邏輯路徑進行測試,檢查內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯,實際的運行狀態(tài)和預期的狀態(tài)是否一致典型測試技術(shù):邏輯驅(qū)動、基本路徑測試等30簡述CMM(軟件能力成熟度模型)5個等級的含義第一級 基本集 軟件工程是混亂無序的,對工程幾乎沒有定義,成功依靠的是個人的才能和經(jīng)驗,管理方式屬于反應式第二級 重復級 建立了基本的項目管理來跟蹤進度。費用和功能特征,制定了必要的項目管理,能夠利用以前類似的項目應用取得成功第三級 確定級 已經(jīng)將軟件管理和過程文檔化,標準化,同時綜合成該組織的標準軟件過程,所有的軟件開發(fā)都使用該標準軟件第四級 管理級 收集軟件過程和產(chǎn)品質(zhì)量的詳細度量,對軟件過程和產(chǎn)品質(zhì)量有定量的理解和控制。第五級 優(yōu)化級 軟件過程的量化反饋和新的思想和技術(shù)促進過程的不斷改進31簡述軟件維護的定義在軟件運行或維護階段對軟件產(chǎn)品所進行的修改,這些修改可能是改正軟件中的錯誤,也可能是增加新的功能以適應新的需求,但一般不包括軟件系統(tǒng)結(jié)構(gòu)上的重大改變32簡述軟件測試的定義廣義:軟件產(chǎn)品生存周期內(nèi)所有的檢查評審和確認活動狹義:對軟件產(chǎn)品質(zhì)量的檢驗和評價,一方面檢查軟件產(chǎn)品質(zhì)量中存在的質(zhì)量問題同時對產(chǎn)品質(zhì)量進行客觀的評價。33 UML建模中主要包括哪九種圖?并說明類圖的定義及其中常見的關(guān)系有哪些?用例圖 類圖 對象圖 狀態(tài)圖 順序圖 協(xié)作圖 活動圖 組件圖 分布圖 類圖描述系統(tǒng)的的靜態(tài)結(jié)構(gòu)。表示系統(tǒng)中類、類與類之間的關(guān)系以及類的屬性和操作。常見關(guān)系:關(guān)聯(lián)(分為聚合和組合)、范化、依賴、實現(xiàn) 34什么是字據(jù)字典?其作用是什么?它有哪些條目?數(shù)據(jù)字典是用于定義數(shù)據(jù)流圖中的各個成分的具體含義。它以一種準確的無二義的說明方式為系統(tǒng)的分析設(shè)計及維護提供了有關(guān)元素的一致的定義和詳細的描述有4類條目:數(shù)據(jù)流、數(shù)據(jù)存儲、數(shù)據(jù)項和加工35軟件工程的兩大范型分別是什么?它們有什么不同?分別是傳統(tǒng)的結(jié)構(gòu)化范型和面向?qū)ο蠓缎汀=Y(jié)構(gòu)化范型要么面向行為要么面向數(shù)據(jù),但沒有既面向數(shù)據(jù)又面向行為的;而面向?qū)ο蠓缎桶褦?shù)據(jù)和行為看成同等重要,即將對象視作一個融合了數(shù)據(jù)及在其上操作的行為的統(tǒng)一的軟件組件。面向?qū)ο笙鄬τ诮Y(jié)構(gòu)化技術(shù),無論對象的內(nèi)部細節(jié)如何變化,只要對象提供的方法即接口保持不變,則整個軟件產(chǎn)品的其他部分就不會受到影響,不需要了解對象內(nèi)部的變化。36如何畫分層數(shù)據(jù)流圖?第一步,畫子系統(tǒng)的輸入輸出:把整個系統(tǒng)視為一個大的加工,然后根據(jù)數(shù)據(jù)系統(tǒng)從哪些外部實體接收數(shù)據(jù)流,以及系統(tǒng)發(fā)送數(shù)據(jù)流到那些外部實體,就可以畫出輸入輸出圖。這張圖稱為頂層圖。第二步,畫子系統(tǒng)的內(nèi)部:把頂層圖的加工分解成若干個加工,并用數(shù)據(jù)流將這些加工連接起來,使得頂層圖的輸入數(shù)據(jù)經(jīng)過若干加工處理后,變成頂層圖的輸出數(shù)據(jù)流。這張圖稱為0層圖。從一個加工畫出一張數(shù)據(jù)流圖的過程就是對加工的分解。37面向?qū)ο蟪绦蛟O(shè)計有哪些優(yōu)點?1)易維護采用面向?qū)ο笏枷朐O(shè)計的結(jié)構(gòu),可讀性高,由于繼承的存在,即使改變需求,那么維護也只是在局部模塊,所以維護起來是非常方便和較低成本的。2)質(zhì)量高在設(shè)計時,可重用現(xiàn)有的,在以前的項目的領(lǐng)域中已被測試過的類使系統(tǒng)滿足業(yè)務(wù)需求并具有較高的質(zhì)量。3)效率高在軟件開發(fā)時,根據(jù)設(shè)計的需要對現(xiàn)實世界的事物進行抽象,產(chǎn)生類。使用這樣的方法解決問題,接近于日常生活和自然的思考方式,勢必提高軟件開發(fā)的效率和質(zhì)量。4)易擴展由于繼承、封裝、多態(tài)的特性,自然設(shè)計出高內(nèi)聚、低耦合的系統(tǒng)結(jié)構(gòu),使得系統(tǒng)更靈活、更容易擴展,而且成本較低。38在軟件測試中,應注意哪些原則? 1)認真執(zhí)行測試計劃2)“盡早和不斷地進行軟件測試/評審”3)優(yōu)選測試工具、技術(shù)和方法4)精心設(shè)計測試用例5)交叉進行軟件檢測6)重點測試群集現(xiàn)象7)全面檢查并分析測試結(jié)果8)妥善保管測試文檔39程序設(shè)計風格是指一個人編制程序時所表現(xiàn)出來的特點、習慣、邏輯思路等。要形成良好的程序設(shè)計風格,應從源程序文檔化、數(shù)據(jù)說明、語句構(gòu)造、輸入輸出和追求效率幾個方面加以注意。40面向?qū)ο蠓治雠c面向?qū)ο笤O(shè)計的關(guān)系?面向?qū)ο蠓治雠c面向?qū)ο笤O(shè)計的任務(wù)相同,面向?qū)ο蠓治龅慕Y(jié)果可以作為開始面向?qū)ο笤O(shè)計的模型,面向?qū)ο蟮脑O(shè)計結(jié)果可以作為藍圖,利用面向?qū)ο缶幊谭椒ㄗ罱K實現(xiàn)一個系統(tǒng)。41成本-效益分析的目的是什么?可用哪些指標進行度量?成本/效益分析的目的是從經(jīng)濟角度論證開發(fā)一個特定的新系統(tǒng)開發(fā)是否劃算,是決定是否投資開發(fā)新系統(tǒng)的依據(jù)。(1)貨幣的時間價值:貨幣的價值本身隨時間的增加而產(chǎn)生增值(2)投資回收期:累計的經(jīng)濟效益等于最初的投資所需的時間。(3)純收入:在整個生存周期內(nèi)系統(tǒng)的累計經(jīng)濟效益(折合現(xiàn)在的錢)與投資之差。(4)投資回收率-投資的年利率42軟件設(shè)計分哪幾個階段,它們的主要任務(wù)是什么?軟件設(shè)計可以分為概要設(shè)計和詳細設(shè)計兩個階段。概要設(shè)計就是結(jié)構(gòu)設(shè)計,其主要目標就是給出軟件的模塊結(jié)構(gòu),用軟件結(jié)構(gòu)圖表示。詳細設(shè)計的首要任務(wù)就是設(shè)計模塊的程序流程、算法和數(shù)據(jù)結(jié)構(gòu),次要任務(wù)就是設(shè)計數(shù)據(jù)庫,常用方法還是結(jié)構(gòu)化程序設(shè)計方法。43用戶需求和系統(tǒng)需求各有什么特點?用戶需求是從用戶角度來描述系統(tǒng)功能和非功能需求,以便讓不具備專業(yè)技術(shù)方面知識的用戶能看懂。用戶需求是描述系統(tǒng)的外部行為,用自然語言、圖表和直觀的圖形來敘述。系統(tǒng)需求是比用戶需求更詳細的需求描述,是系統(tǒng)實現(xiàn)的基本依據(jù),因此,是一個完全的、一致的系統(tǒng)描述,是軟件工程人員系統(tǒng)設(shè)計的起點。系統(tǒng)需求描述可能包括許多不同的模型,如對象模型和數(shù)據(jù)流模型。44面向?qū)ο笤O(shè)計的準則?1)模塊化2)抽象3)信息隱藏4)弱耦合5)強內(nèi)聚6)可重用45需求分析過程主要有哪幾個步驟?需求分析過程主要有溝通、導出需求、分析與精化、可行性研究、協(xié)商與溝通、規(guī)格說明、需求驗證、變更管理等步驟。46軟件設(shè)計分哪幾個階段,它們的主要任務(wù)是什么?總體設(shè)計概要設(shè)計、軟件結(jié)構(gòu)設(shè)計、高層設(shè)計,仔細地分析需求規(guī)格說明,研究開發(fā)產(chǎn)品的模塊劃分。詳細設(shè)計(模塊)過程設(shè)計、低層設(shè)計,為結(jié)構(gòu)設(shè)計中的各個模塊設(shè)計過程細節(jié),確定模塊所需的算法和數(shù)據(jù)結(jié)構(gòu)等。設(shè)計測試測試和復審,確保設(shè)計的正確和優(yōu)化。47什么是軟件結(jié)構(gòu)圖?它有哪些主要元素?軟件結(jié)構(gòu)圖是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控制層次體系。主要元素有:48面向?qū)ο蠓椒ǖ奶攸c是什么?為什么要用面向?qū)ο蠓椒ㄩ_發(fā)軟件?面向?qū)ο蠓椒ǖ奶攸c是:方法的唯一性,即方法是對軟件開發(fā)過程所有階段進行綜合考慮而得到的。從生存期的一個階段到下一個階段的高度連續(xù)性,即生存期后一階段的成果只是在前一階段成果的補充和修改。把面向?qū)ο蠓治?OOA)、面向?qū)ο笤O(shè)計(OOD)和面向?qū)ο蟪绦蛟O(shè)計(OOP)集成到生存期的相應階段。使用面向?qū)ο蠓椒ㄩ_發(fā)軟件的好處是:開發(fā)方法的唯一性,開發(fā)階段的高度連續(xù)性,表示方式的一致性;問題空間實體的自然表示,減輕了設(shè)計者的負擔,在設(shè)計系統(tǒng)之初不必考慮一個很完整的解決方案。建立穩(wěn)定的系統(tǒng)結(jié)構(gòu),可促進復用性,易于維護,易于修改,可合理利用共同性,減少復雜性。49什么是編碼風格?請根據(jù)自己的編程經(jīng)驗編寫一個編程注意事項。是指一個人編制程序時所表現(xiàn)出來的特點、習慣和邏輯思路等。注意事項:源程序文檔化、數(shù)據(jù)說明、語句構(gòu)造、輸入輸出、追求效率等。1)源程序文檔化(1)標識符應按意取名。(2)程序應加注釋。2)數(shù)據(jù)說明原則(1)數(shù)據(jù)說明順序應規(guī)范,使數(shù)據(jù)的屬性更易于查找,從而有利于測試、糾錯與維護。例如按以下順序:常量壽命、類型說明、全程量說明、局部量說明。(2)一個語句說明多個變量時,各變量名按字典序排列。(3)對于復雜的數(shù)據(jù)結(jié)構(gòu),要加注釋,說明在程序?qū)崿F(xiàn)時的特點。3)語句構(gòu)造原則:簡單直接,不能為了追求效率而使代碼復雜化4)輸入輸出原則(1)輸入操作步驟和輸入格式盡量簡單。(2)應檢查輸入數(shù)據(jù)的合法性、有效性,報告必要的輸入狀態(tài)信息及錯誤信息。(3)輸入一批數(shù)據(jù)時,使用數(shù)據(jù)或文件結(jié)束標志,而不要用計數(shù)來控制。(4)交互式輸入時,提供可用的選擇和邊界值。(5)當程序設(shè)計語言有嚴格的格式要求時,應保持輸入格式的一致性。(6)輸出數(shù)據(jù)表格化、圖形化。5) 追求效率原則(1)效率是一個性能要求,目標在需求分析給出。(2)追求效率建立在不損害程序可讀性或可靠性基礎(chǔ)上,要先使程序正確,再提高程序效率,先使程序清晰,再提高程序效率。50軟件生命期各階段的任務(wù)是什么?答:軟件生命期分為7個階段:1、問題定義:要解決的問題是什么2、可行性研究:確定問題是否值得解,技術(shù)可行性、經(jīng)濟可行性、操作可行性3、需求分析:系統(tǒng)必須做什么4、總體設(shè)計:系統(tǒng)如何實現(xiàn),包括系統(tǒng)設(shè)計和結(jié)構(gòu)設(shè)計5、詳細設(shè)計:具體實現(xiàn)設(shè)計的系統(tǒng)6、實現(xiàn):編碼和測試7、運行維護:保證軟件正常運行。51非漸增式測試與漸增式測試有什么區(qū)別?非漸增式測試方法把單元測試和集成測試分成兩個不同的階段,前一階段完成模塊的單元測試,后一階段完成集成測試。而漸增式測試往往把單元測試與集成測試和在一起,同時完成。非漸增式需要更多的工作量,因為每個模塊都需要驅(qū)動模塊和樁模塊,而漸增式利用已測試過的模塊作為驅(qū)動模塊或樁模塊,因此工作量較少。漸增式可以較早的發(fā)現(xiàn)接口之間的錯誤,非漸增式最后組裝是才發(fā)現(xiàn)。漸增式有利于排錯,發(fā)生錯誤往往和最近加進來的模塊有關(guān),而非漸增式發(fā)現(xiàn)接口錯誤推遲到最后,很難判斷是哪一部分接口出錯。漸增式比較徹底,已測試的模塊和新的模塊再測試。漸增式占用的時間較多,但非漸增式須更多的驅(qū)動模塊、樁模塊也占用一些時間。非漸增式開始可并行測試所有模塊,能充分利用人力,對測試大型軟件很有意義。52面向?qū)ο蟪绦蛟O(shè)計有哪些優(yōu)點?53模塊間的耦合性有哪幾種?(耦合度由高到低)(1) 內(nèi)容耦合 (2) 公共耦合 (3) 外部耦合 (4) 控制耦合 (5) 標記耦合 (6) 數(shù)據(jù)耦合 (7) 非直接耦合54軟件開發(fā)步驟包括哪些過程?需求分析 解決系統(tǒng)做什么的問題概要設(shè)計 解決系統(tǒng)怎么做詳細設(shè)計 每個模塊內(nèi)部過程的描述具體化 設(shè)計軟件詳細規(guī)格說明書編碼設(shè)計 根據(jù)詳細設(shè)計說明書 寫出程序模塊系統(tǒng)測試 發(fā)現(xiàn)和排除錯誤 寫出軟件測試報告55數(shù)據(jù)字典有哪幾類元素構(gòu)成? 數(shù)據(jù)流,在一個數(shù)據(jù)流中數(shù)據(jù)以數(shù)據(jù)流為單位進行傳輸 數(shù)據(jù)元素,也稱數(shù)據(jù)項,數(shù)據(jù)的最小單位 數(shù)據(jù)存儲,數(shù)據(jù)保留或保存的地方 處理,一段程序 外部實體,系統(tǒng)的人機界面,數(shù)據(jù)流從外部實體流入,又從系統(tǒng)向外部實體流出56大型軟件系統(tǒng)的設(shè)計思想是什么? 一個大型的軟件系統(tǒng)是變換型結(jié)構(gòu)和事務(wù)型結(jié)構(gòu)的混合結(jié)構(gòu),通常采用變幻設(shè)計為主,事物設(shè)計為輔的方式進行軟件結(jié)構(gòu)設(shè)計,以達到高內(nèi)聚低耦合,具有獨立性,便于修改的目的。57、數(shù)據(jù)庫設(shè)計一般分為哪幾個階段?形成哪三種模式?(P101) 數(shù)據(jù)庫的設(shè)計分為四個階段,需求分析,概念設(shè)計,邏輯設(shè)計,物理設(shè)計。 形成概念模式,內(nèi)模式,外模式三種模式。58什么是軟件危機?其產(chǎn)生的原因是什么?(P7)當軟件開發(fā)技術(shù)跟不上硬件技術(shù)的進步,不能滿足開發(fā)的要求時,導致軟件開發(fā)中遇到的問題找不到解決的辦法,使問題積累起來,形成了尖銳的矛盾,從而導致了軟件危機。 原因:1軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復雜。2軟件開發(fā)管理困難且復雜。5軟件開發(fā)費用不斷增加。4軟件開發(fā)技術(shù)落后。5生產(chǎn)方式落后。6開發(fā)工具落后,生產(chǎn)效率緩慢。59、概要設(shè)計的原則?(P72) 概要設(shè)計的原則的基本思想是:模塊化設(shè)計,自頂向下逐步求精,模塊獨立性,信息隱蔽性。 模塊化就是將程序劃分成若干模塊,每個模塊完成某個子功能,然后吧這些模塊集合起來組成一個整體,可以完成指定的功能來解決問題的要求。 自頂向下逐步求精是先設(shè)計頂層結(jié)構(gòu),在逐層向下設(shè)計。 模塊獨立性是指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系少且接口簡單,獨立性較強的模塊應該是高內(nèi)聚低耦合的模塊。 信息隱蔽是指在設(shè)計和確定模塊時,使得一個模塊內(nèi)包含的信息,對于不需要這些信息的其他模塊來說是不能訪問的,60闡述結(jié)構(gòu)化設(shè)計的主要思想?(P79) 結(jié)構(gòu)化設(shè)計方法是基于模塊化,自頂向下逐步求精,結(jié)構(gòu)化程序設(shè)計等程序設(shè)計技術(shù)發(fā)展起來的。結(jié)構(gòu)化設(shè)計可以非常方便的進行數(shù)據(jù)流框圖到軟件架構(gòu)的轉(zhuǎn)換。在結(jié)構(gòu)化設(shè)計中,模塊結(jié)構(gòu)圖能夠表示出一個軟件系統(tǒng)的層次分解關(guān)系,模塊調(diào)用關(guān)系,模塊之間數(shù)據(jù)流和控制信息流的傳遞關(guān)系,是結(jié)構(gòu)化設(shè)計的主要工具。模塊結(jié)構(gòu)圖是有數(shù)據(jù)流圖轉(zhuǎn)換而得到的。在將數(shù)據(jù)流圖轉(zhuǎn)換成軟件結(jié)構(gòu)之前,首先要進一步細化數(shù)據(jù)流圖,然后對數(shù)據(jù)流圖分類,確認是事務(wù)型還是變換型,不同的數(shù)據(jù)流圖采用不同的設(shè)計過程。61軟件工程主要研究哪些領(lǐng)域?(P16) 1軟件工程方法學。在軟件開發(fā)生存周期全過程使用的一套技術(shù)的集合 2軟件工具和軟件支撐環(huán)境,軟件工具是用來幫助開發(fā),測試,分析維護其他計算機程序及其文檔資料的一類程序。3軟件管理是軟件工程中的一項非常重要的工作,許多軟件項目的開發(fā)失敗的主要原因就是管理不善。 4軟件的規(guī)范與標準指軟件開發(fā)過程中的作業(yè)標準化。簡述容錯技術(shù)的四種主要手段,并解釋。結(jié)構(gòu)冗余:包括靜態(tài)冗余、動態(tài)冗余和混合冗余。信息冗余:為檢測或糾正信息在運算或傳輸中的錯誤,須外加一部分信息。時間冗余:指重復執(zhí)行指令或程序來消除瞬時錯誤帶來的影響。冗余附加技術(shù):指為實現(xiàn)上述冗余技術(shù)所需的資源和技術(shù)。62以G.J.Myers的觀點,簡述對軟件測試的目的。軟件測試是(1)為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;(2)一個好的用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤的測試。(3)一個成功的測試是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤的測試。63就程序設(shè)計語言的工程特性而言,對程序編碼有哪些要求?就程序設(shè)計語言的工程特性而言,對程序編碼有如下要求:(1)可移植性 (2)開發(fā)工具的可利用性 (3)軟件的可重用性 (4)可維護性64模塊的內(nèi)聚性包括哪些類型?模塊的內(nèi)聚性包括:(1)偶然內(nèi)聚(2)邏輯內(nèi)聚(3)時間內(nèi)聚(4)通信內(nèi)聚(5)順序內(nèi)聚(6)功能內(nèi)聚65可行性研究報告的主要內(nèi)容有哪些?解:一個可行性研究報告的主要內(nèi)容如下: (1)引言:說明編寫本文檔的目的;項目的名稱、背景;本文檔用到的專門術(shù)語和參考資料。(2)可行性研究前提:說明開發(fā)項目的功能、性能和基本要求;達到的目標;各種限制條件;可行性研究方法和決定可行性的主要因素。 (3)對現(xiàn)有系統(tǒng)的分析:說明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負荷;各項費用支出;所需要各類專業(yè)技術(shù)人員的數(shù)量;所需要各種設(shè)備;現(xiàn)有系統(tǒng)存在什么問題。 (4)所建議系統(tǒng)的技術(shù)可行性分析:所建議系統(tǒng)的簡要說明;處理流程和數(shù)據(jù)流程;與現(xiàn)有的系統(tǒng)比較的優(yōu)越性;采用所建議系統(tǒng)對用戶的影響;對各種設(shè)備、現(xiàn)有軟件、開發(fā)環(huán)境、運行環(huán)境的影響;對經(jīng)費支出的影響;對技術(shù)可行性的評價。 (5)所建議系統(tǒng)的經(jīng)濟可行性分析:說明所建議系統(tǒng)的各種支出,各種效益;收益投資比;投資回收周期。 (6)社會因素可行性分析:說明法律因素,對合同責任、侵犯專利權(quán)、侵犯版權(quán)等問題的分析;說明用戶使用可行性,是否滿足用戶行政管理、工作制度、人員素質(zhì)的要求。 (7)其他可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由。 (8)結(jié)論意見:說明項目是否能開發(fā);還需要什么條件才能開發(fā);對項目目標有什么變動等。解析做軟件的可行性研究的目的就是用最小的代價在盡可能短的時間內(nèi)確定該軟件項目是否能夠開發(fā),是否值得去開發(fā),其中的問題能否解決,報告共分為八個基本內(nèi)容。66系統(tǒng)設(shè)計的內(nèi)容是什么?解:系統(tǒng)設(shè)計階段先從高層入手,然后細化。系統(tǒng)設(shè)計要決定整個結(jié)構(gòu)及風格,這種結(jié)構(gòu)為后面設(shè)計階段的更詳細策略的設(shè)計提供了基礎(chǔ)。 (1)系統(tǒng)分解。系統(tǒng)中主要的組成部分稱為子系統(tǒng),子系統(tǒng)既不是一個對象也不是一個功能,而是類、關(guān)聯(lián)、操作、時間和約束的集合。每次分解的各子系統(tǒng)數(shù)目不能太多,最底層子系統(tǒng)稱為模塊。 (2)確定并發(fā)性。分析模型、現(xiàn)實世界及硬件中不少對象均是并發(fā)的。系統(tǒng)設(shè)計的一個重要目標就是確定哪些是必須同時動作的對象,哪些不是同時動作的對象。后者可以放在一起,而綜合成單個控制線或任務(wù)。 (3)處理器及任務(wù)分配。各并發(fā)子系統(tǒng)必須分配給單個硬件單元,要么是一個一般的處理器,要么是一個具體的功能單元,必須完成下面的工作:估計性能要求和資源需求,選擇實現(xiàn)子系統(tǒng)的硬軟件,將軟件子系統(tǒng)分配給各處理器以滿足性能要求和極小化處理器之間的通信,決定實現(xiàn)各子系統(tǒng)的各物理單元的連接。 (4)數(shù)據(jù)存儲管理。系統(tǒng)中的內(nèi)部數(shù)據(jù)和外部數(shù)據(jù)的存儲管理是一項重要的任務(wù)。通常各數(shù)據(jù)存儲可以將數(shù)據(jù)結(jié)構(gòu)、文件、數(shù)據(jù)庫組合在一起,不同數(shù)據(jù)存儲要在費用、訪問時間、容量以及可靠性之間做折中考慮。 (5)全局資源的處理。必須確定全局資源,并且制定訪問全局資源的策略。全局資源包括:物理資源,如處理器、驅(qū)動器等;空間,如盤空間、工作站屏等;邏輯名字,如對象標識符、類名、文件名等。 如果資源是物理對象,則可以通過建立協(xié)議實現(xiàn)對并發(fā)系統(tǒng)的訪問,以達到自身控制;如果資源是邏輯實體,如對象標識符,那么在共享環(huán)境中有沖突訪問的可能,如獨立的事務(wù)可能同時使用同一個對象標識符,則各個全局資源都必須有一個保護對象,由保護對象來控制對該資源的訪問。 (6)選擇軟件控制機制。分析模型中所有交互行為都表示為對象之間的事件。系統(tǒng)設(shè)計必須從多種方法中選擇某種方法來實現(xiàn)軟件的控制。 (7)人機交互接口設(shè)計。設(shè)計中的大部分工作都與穩(wěn)定的狀態(tài)行為有關(guān),但必須考慮用戶使用系統(tǒng)的交互接口。67什么是軟件危機?軟件危機的表現(xiàn)是什么?其產(chǎn)生的原因是什么?解:軟件發(fā)展第二階段的末期,由于計算機硬件技術(shù)的進步,計算機運行速度、容量、可靠性有顯著的提高,生產(chǎn)成本顯著下降,這為計算機的廣泛應用創(chuàng)造了條件。一些復雜的、大型的軟件開發(fā)項目提出來了,但是,軟件開發(fā)技術(shù)的進步一直未能滿足發(fā)展的需要。在軟件開發(fā)中遇到的問題找不到解決辦法,使問題積累起來,形成了尖銳的矛盾,因而導致了軟件危機。 軟件危機表現(xiàn)在以下四個方面: (1)經(jīng)費預算經(jīng)常突破,完成時間一再拖延。由于缺乏軟件開發(fā)的經(jīng)驗和軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)工作的計劃很難制定。主觀盲目制定計劃,執(zhí)行起來與實際情況有很大差距,使得開發(fā)經(jīng)費一再突破。由于對工作量估計不足,對開發(fā)難度估計不足,進度計劃無法按時完成,開發(fā)時間一再拖延。 (2)開發(fā)的軟件不能滿足用戶要求。開發(fā)初期對用戶的要求了解不夠明確,未能得到明確的表達。開發(fā)工作開始后,軟件人員和用戶又未能及時交換意見,使得一些問題不能及時解決,導致開發(fā)的軟件不能滿足用戶的要求,因而導致開發(fā)失敗。 (3)開發(fā)的軟件可維護性差。開發(fā)過程中沒有同意的、公認的規(guī)范,軟件開發(fā)人員按各自的風格工作,各行其是,開發(fā)過程無完整、規(guī)范的文檔,發(fā)現(xiàn)問題后進行雜亂無章的修改。程序結(jié)構(gòu)不好,運行時發(fā)現(xiàn)錯誤也很難修改,導致維護性差。 (4)開發(fā)的軟件可靠性差。由于在開發(fā)過程中,沒有確保軟件質(zhì)量的體系和措施,在軟件測試時,又沒有嚴格的、充分的、完全的測試,提交給用戶的軟件質(zhì)量差,在運行中暴露出大量的問題。 造成軟件危機的原因是: (1)軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復雜。(2)軟件開發(fā)管理困難而復雜。(3)軟件開發(fā)費用不斷增加。(4)軟件開發(fā)技術(shù)落后。(5)生產(chǎn)方式落后。6)開發(fā)工具落后,生產(chǎn)率提高緩慢。68軟件質(zhì)量保證應做好哪幾方面的工作?解:軟件質(zhì)量保證是軟件工程管理的重要內(nèi)容,軟件質(zhì)量保證應做好以下幾方面的工作: (1)采用技術(shù)手段和工具。質(zhì)量保證活動要貫徹開發(fā)過程始終,必須采用技術(shù)手段和工具,尤其是使用軟件開發(fā)環(huán)境來進行軟件開發(fā)。 (2)組織正式技術(shù)評審。在軟件開發(fā)的每一個階段結(jié)束時,都要組織正式的技術(shù)評審。國家標準要求單位必須采用審查、文檔評審、設(shè)計評審、審計和測試等具體手段來保證質(zhì)量。 (3)加強軟件測試。軟件測試是質(zhì)量保證的重要手段,因為測試可發(fā)現(xiàn)軟件中大多數(shù)潛在錯誤。 (4)推行軟件工程規(guī)范(標準)。用戶可以自己制定軟件工程規(guī)范(標準),但標準一旦確認就應貫徹執(zhí)行。 (5)對軟件的變更進行控制。軟件的修改和變更常常會引起潛伏的錯誤,因此必須嚴格控制軟件的修改和變更。 (6)對軟件質(zhì)量進行度量。即對軟件質(zhì)量進行跟蹤,及時記錄和報告軟件質(zhì)量情況。 解析軟件的質(zhì)量保證是向用戶及社會提供滿意的高質(zhì)量的產(chǎn)品,確保軟件產(chǎn)品從誕生到消亡為止的所有階段的質(zhì)量的活動,是軟件工程管理中的重要內(nèi)容。69軟件復用答:是指在兩次或多次不同的軟件開發(fā)過程中重復使用相同或相似的軟件元素。包括軟件開發(fā)中的文檔、設(shè)計過程、程序代碼、測試用例等。70、Case技術(shù)答:是一組工具和方法的集合,可以輔助軟件生命周期各個階段進行軟件開發(fā)。一個完整的CASE系統(tǒng)支持所有的軟件系統(tǒng)開發(fā)工作,它可以駐留在多種硬件平臺上。71請說明軟件文檔的作用?軟件開發(fā)項目生存期各階段都包含哪些文檔?軟件文檔的作用是:提高軟件開發(fā)過程的能見度;提高開發(fā)效率;作為開發(fā)人員階段工作成果和結(jié)束標志;記錄開發(fā)過程的有關(guān)信息便于使用與維護;提供軟件運行、維護和培訓有關(guān)資料;便于用戶了解軟件功能、性能。軟件開發(fā)項目生存期各階段應包括得文檔以及與各類人員的關(guān)系如下:可行性研究報告、項目開發(fā)計劃、軟件需求說明書、數(shù)據(jù)要求說明書、測試計劃、概要設(shè)計說明書、詳細設(shè)計說明書、用戶手冊、操作手冊、測試分析報告、開發(fā)進度月報、項目開發(fā)總結(jié)、程序維護手冊(維護修改建議)。72什么是數(shù)據(jù)字典?其作用是什么?它有哪些條目?數(shù)據(jù)字典(簡稱DD)是用來定義數(shù)據(jù)流圖中的各個成分的具體含義的,它以一種準確的、無二義性的說明方式為系統(tǒng)的分析、設(shè)計及維護提供了有關(guān)元素的一致的定義和詳細的描述。他和數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯模型,是需求規(guī)格說明書的主要組成部分。數(shù)據(jù)字典是為分析人員查找數(shù)據(jù)流圖中有關(guān)名字的詳細定義而服務(wù)的,因此也像普通字典一樣,要把所有條目按一定的次序排列起來,以便查閱。數(shù)據(jù)字典有以下四類條目:數(shù)據(jù)流、數(shù)據(jù)項、數(shù)據(jù)存儲、基本加工。數(shù)據(jù)項是組成數(shù)據(jù)流和數(shù)據(jù)存儲的最小元素。源點、終點不在系統(tǒng)之內(nèi),故一般不在字典中說明。73采用黑盒技術(shù)設(shè)計測試用例有哪幾種方法?這些方法各有什么特點?等價類劃分。等價類劃分是將輸入數(shù)據(jù)域按有效的或無效的(也稱合理的或不合理的)劃分成若干個等價類,測試每個等價類的代表值就等于對該類其它值的測試。邊界值分析。該方法是將測試邊界情況作為重點目標,選取正好等于,剛剛大于或剛剛小于邊界值的情況,根據(jù)這些情況選擇測試用例。錯誤推測。錯誤推測法沒有確定的步驟,憑檢驗進行。它的基本思想是列出程序中可能發(fā)生錯誤的情況,根據(jù)這些情況選擇測試用例。因果圖。因果圖能有效的檢測輸入條件的各種組合可能會引起的錯誤。因果圖的基本原理是通過畫因果圖,把用自然語言描述的功能說明轉(zhuǎn)換為判定表,最后為判定表的每一列設(shè)計一個測試用例。74何謂軟件生存周期?其可以劃分為幾個時期?每個時期又可分為幾個階段?每個階段的主要任務(wù)是什么?一個軟件從定義到開發(fā)、使用和維護,直到最終被棄用,要經(jīng)歷一個漫長的時期,通常把軟件經(jīng)歷的這個漫長的時期稱為生存周期。軟件生存期也可以分為三個時期:計劃時期、開發(fā)時期和運行時期。軟件生存周期一般可分為以下幾個階段:1) 問題定義 問題定義階段必須回答的關(guān)鍵問題是“要解決的問題是什么?”,正確理解用戶的真正需求。2) 可行性研究 這個階段要回答的關(guān)鍵問題是:對于上一個階段所確定的問題“有行得通的解決辦法嗎?” ,可行性研究階段應該導出系統(tǒng)的高層邏輯模型(通常用數(shù)據(jù)流圖表示),準確地估計系統(tǒng)的成本和

溫馨提示

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

評論

0/150

提交評論