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