




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