版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一、選擇題1.軟件的主要特性是(ABC)。A)無(wú)形B)高成本C)包括程序和文檔D)可獨(dú)立構(gòu)成計(jì)算機(jī)系統(tǒng)2.軟件工程三要素是(B)。A)技術(shù)、方法和工具B)方法、工具和過(guò)程C)方法、對(duì)象和類D)過(guò)程、模型、方法3.包含風(fēng)險(xiǎn)分析的軟件工程模型是(A)。A)螺旋模型B)瀑布模型C)增量模型D)噴泉模型4.下列屬于面向?qū)ο箝_(kāi)發(fā)方法的是(ABCD)。A)BoochB)UMLC)CoadD)OMT5AC)軟件開(kāi)發(fā)人員明顯不足D)軟件生產(chǎn)率低下6.軟件開(kāi)發(fā)方法的主要工作模型有(ABC)A)螺旋模型B)循環(huán)模型C)瀑布模型D)專家模型7.軟件工程的目標(biāo)有(ABC)。A)易于維護(hù)B)低的開(kāi)發(fā)成本C)高性能D)短的開(kāi)發(fā)期8.軟件工程學(xué)的目的和意義是(AD)。A)應(yīng)用科學(xué)的方法和工程化的規(guī)范管理來(lái)指導(dǎo)軟件開(kāi)發(fā)B)克服軟件危機(jī)C)作好軟件開(kāi)發(fā)的培訓(xùn)工作D)以較低的成本開(kāi)發(fā)出高質(zhì)量的軟件1.需求分析的主要目的是(BC)。A)系統(tǒng)開(kāi)發(fā)的具體方案B)進(jìn)一步確定用戶的需求C)解決系統(tǒng)是“做什么”的問(wèn)題D)解決系統(tǒng)是“如何做”的問(wèn)題9.需求分析的主要方法有(CD)。A)形式化分析方法B)PAD圖描述C)結(jié)構(gòu)化分析(SA)方法D)OOA法10.面向?qū)ο蟮姆治龇椒ㄖ饕墙⑷惸P停?D)。A)系統(tǒng)模型、E-R模型、應(yīng)用模型B)對(duì)象模型、動(dòng)態(tài)模型、應(yīng)用模型C)E-R模型、對(duì)象模型、功能模型D)對(duì)象模型、動(dòng)態(tài)模型、功能模型11.SA法的主要描述手段有(B)。系統(tǒng)流程圖和模塊圖B)DFD圖、數(shù)據(jù)詞典、加工說(shuō)明C)軟件結(jié)構(gòu)圖、加工說(shuō)明D)功能結(jié)構(gòu)圖、加工說(shuō)明12.畫分層DFD圖的基本原則有(ACD)。A)數(shù)據(jù)守恒原則B)分解的可靠性原則C)子、父圖平衡的原則D)數(shù)據(jù)流封閉的原則13.在E-R模型中,包含的基本成分是(C)))。A)數(shù)據(jù)、對(duì)象、實(shí)體B)控制、聯(lián)系、對(duì)象C)實(shí)體、聯(lián)系、屬性D)實(shí)體、屬性、聯(lián)系14.畫DFD圖的主要目的是(AD)。A)作為需求分析階段用戶與開(kāi)發(fā)者之間交流信息的工具B)對(duì)系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行描述C)對(duì)目標(biāo)系統(tǒng)的層次結(jié)構(gòu)進(jìn)行描述D)作為分析和設(shè)計(jì)的工具15.數(shù)據(jù)字典是數(shù)據(jù)流圖中所有元素的定義的集合,一般由(C)四類條目組成。A)數(shù)據(jù)說(shuō)明條目、控制流條目、加工條目、數(shù)據(jù)存儲(chǔ)條目數(shù)據(jù)流條目、數(shù)據(jù)項(xiàng)條目、文件條目、加工條目C)數(shù)據(jù)源條目、數(shù)據(jù)流條目、數(shù)據(jù)處理?xiàng)l目、數(shù)據(jù)文件條目D)數(shù)據(jù)流條目、數(shù)據(jù)文件條目、數(shù)據(jù)池條目、加工條目16.在需求分析階段主要采用圖形工具來(lái)描述的原因是(BC)。A)圖形的信息量大,便于描述規(guī)模大的軟件系統(tǒng)B)圖形工具能夠極好地概括描述一個(gè)系統(tǒng)的信息,比文字?jǐn)⑹瞿軌蚋玫乇磉_(dá)重要的細(xì)節(jié)C)圖形能夠更加直觀地描述目標(biāo)系統(tǒng),便于用戶理解和交流,有利于開(kāi)發(fā)者與用戶之間達(dá)成一致的需求D)圖形比文字描述簡(jiǎn)單、形象17.模塊的基本特征是(AC)。A)外部特征(輸入/輸出、功能)B)內(nèi)部特征(輸入/輸出、功能)C)內(nèi)部特征(局部數(shù)據(jù)、代碼)D)外部特征(局部數(shù)據(jù)、代碼)18.SD方法的設(shè)計(jì)總則是(CD)。A)程序簡(jiǎn)潔、操作方便B)結(jié)構(gòu)清晰、合理C)模塊內(nèi)聚性強(qiáng)D)模塊之間耦合度低19.軟件設(shè)計(jì)的主要任務(wù)是(ABD)。A)將分析階段獲得的需求說(shuō)明轉(zhuǎn)換為計(jì)算機(jī)中可實(shí)現(xiàn)的系統(tǒng);B)完成系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和程序結(jié)構(gòu)設(shè)計(jì)C)完成模塊的編碼和測(cè)試D)對(duì)模塊內(nèi)部的過(guò)程進(jìn)行設(shè)計(jì)20.設(shè)計(jì)階段應(yīng)達(dá)到的目標(biāo)有(AD)。A)提高可靠性和可維護(hù)性B)提高應(yīng)用范圍C)結(jié)構(gòu)清晰D)提高可理解性和效率21.從工程管理的角度來(lái)看,軟件設(shè)計(jì)分(D)兩步完成。A)系統(tǒng)分析、模塊設(shè)計(jì)B)詳細(xì)設(shè)計(jì)、總體設(shè)計(jì)C)模塊設(shè)計(jì)、詳細(xì)設(shè)計(jì)D)總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)22.模塊獨(dú)立性準(zhǔn)則定性指標(biāo)(BD)來(lái)衡量。A)分解度B)耦合度C)屏蔽性D)內(nèi)聚性23.用戶界面設(shè)計(jì)的任務(wù)包括(ABC)。A)確定用戶界面類型B)建立任務(wù)模型C)建立用戶模型D)建立功能模型二、判斷題軟件就是程序,編寫軟件就是編寫程序。(×)瀑布模型的最大優(yōu)點(diǎn)是將軟件開(kāi)發(fā)的各個(gè)階段劃分得十分清晰。(×)結(jié)構(gòu)化方法的工作模型是使用螺旋模型進(jìn)行開(kāi)發(fā)。(×)結(jié)構(gòu)化方法和OO方法都是一種面向過(guò)程的軟件開(kāi)發(fā)方法。(×)原型化開(kāi)發(fā)方法包括生成原型和實(shí)現(xiàn)原型兩個(gè)步驟。(×)面向?qū)ο蟮拈_(kāi)發(fā)方法包括面向?qū)ο蟮姆治?、面向?qū)ο蟮脑O(shè)計(jì)和面向?qū)ο蟮某绦蛟O(shè)計(jì)。(√)軟件危機(jī)的主要表現(xiàn)是軟件的需求量迅速增加,軟件價(jià)格上升。(×)軟件工具的作用是為了延長(zhǎng)軟件產(chǎn)品的壽命。(×)軟件工程過(guò)程應(yīng)該以軟件設(shè)計(jì)為中心,關(guān)鍵是編寫程序。(×)在進(jìn)行了可行性分析后,需求分析就只需要解決目標(biāo)系統(tǒng)的設(shè)計(jì)方案。(×)SA法是面向數(shù)據(jù)流,建立在數(shù)據(jù)封閉原則上的需求分析方法。(√)需求管理主要是對(duì)需求變化的管理,即如何有效控制和適應(yīng)需求的變化。(√)在面向?qū)ο蟮男枨蠓治龇椒ㄖ?,建立?dòng)態(tài)模型是最主要的任務(wù)。(×)加工小說(shuō)明是對(duì)系統(tǒng)流程圖中的加工進(jìn)行說(shuō)明。(×)判定表的優(yōu)點(diǎn)是容易轉(zhuǎn)換為計(jì)算機(jī)實(shí)現(xiàn),缺點(diǎn)是不能夠描述組合條件。(×)需求分析的主要方法有SD法、OOA法及HIPO法等。(×)8.分層的DFD圖可以用于可行性分析階段,描述系統(tǒng)的物理結(jié)構(gòu)。(×)信息建模方法是從數(shù)據(jù)的角度來(lái)建立信息模型的,最常用的描述信息模型的方法是E-R圖。(√)用于需求分析的軟件工具,應(yīng)該能夠保證需求的正確性,即驗(yàn)證需求的一致性、完整性、現(xiàn)實(shí)性和有效性。劃分模塊可以降低軟件的復(fù)雜度和工作量,所以應(yīng)該將模塊分得越小越好。(×)在網(wǎng)狀結(jié)構(gòu)中任何兩個(gè)模塊都是平等的,沒(méi)有從屬關(guān)系,所以在軟件開(kāi)發(fā)過(guò)程中常常被使用。(×)信息隱蔽原則有利于提高模塊的內(nèi)聚性。(√)中心變換型的DFD圖可看成是對(duì)輸入數(shù)據(jù)進(jìn)行轉(zhuǎn)換而得到輸出數(shù)據(jù)的處理,因此可以使用事務(wù)分析技術(shù)得到初始的模塊結(jié)構(gòu)圖。(×)SD法是一種面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法,強(qiáng)調(diào)程序結(jié)構(gòu)與問(wèn)題結(jié)構(gòu)相對(duì)應(yīng)。(×)當(dāng)模塊的控制范圍是其作用范圍的子集時(shí),模塊之間的耦合度較低。(×)三、思考題1.軟件產(chǎn)品的特性是什么?答:●軟件是一種邏輯產(chǎn)品,具有無(wú)形性;●軟件產(chǎn)品的生產(chǎn)主要是研制;主要是腦力勞動(dòng);●軟件不存在磨損和老化問(wèn)題,但存在退化問(wèn)題;●軟件產(chǎn)品的成本非常昂貴,其開(kāi)發(fā)方式目前尚未完全擺脫手工生產(chǎn)方式;●軟件具有“復(fù)雜性”,其開(kāi)發(fā)和運(yùn)行常受到計(jì)算機(jī)系統(tǒng)的限制。2.軟件發(fā)展有幾個(gè)階段?各有何特征?答:①程序設(shè)計(jì)階段。硬件特征:價(jià)格貴、存儲(chǔ)容量小、運(yùn)行可靠性差。軟件特征:只有程序、程序設(shè)計(jì)概念,不重視程序設(shè)計(jì)方法。②程序系統(tǒng)階段。硬件特征:速度、容量及工作可靠性有明顯提高,價(jià)格降低,銷售有爆炸性增長(zhǎng)。軟件特征:程序員數(shù)量猛增,開(kāi)發(fā)人員素質(zhì)低。③軟件工程階段。硬件特征:向超高速、大容量、微型化及網(wǎng)絡(luò)化方向發(fā)展。軟件特征:開(kāi)發(fā)技術(shù)有很大進(jìn)步,但未獲得突破性進(jìn)展,軟件價(jià)格不斷上升,未完全擺脫軟件危機(jī)。3.什么是軟件危機(jī)?其產(chǎn)生的原因是什么?答:“軟件危機(jī)”(SoftwareCrisis)的出現(xiàn)是由于軟件的規(guī)模越來(lái)越大,復(fù)雜度不斷增加,軟件需求量增大。而軟件開(kāi)發(fā)過(guò)程是一種高密集度的腦力勞動(dòng),軟件開(kāi)發(fā)的模式及技術(shù)不能適應(yīng)軟件發(fā)展的需要。致使大量質(zhì)量低劣的軟件涌向市場(chǎng),有的花費(fèi)大量人力、財(cái)力,而在開(kāi)發(fā)過(guò)程中就夭折。軟件危機(jī)主要表現(xiàn)在兩個(gè)方面:(1)軟件產(chǎn)品質(zhì)量低劣,甚至開(kāi)發(fā)過(guò)程就夭折。(2)軟件生產(chǎn)率低,不能滿足需要。4.什么是軟件過(guò)程?有哪些主要的軟件過(guò)程模型?它們各有哪些特點(diǎn)?答:軟件過(guò)程是指在軟件工具的支持下,所進(jìn)行的一系列軟件開(kāi)發(fā)和進(jìn)化的活動(dòng)。軟件過(guò)程模型是對(duì)軟件開(kāi)發(fā)實(shí)際過(guò)程的抽象和簡(jiǎn)化,是描述軟件開(kāi)發(fā)過(guò)程中各種活動(dòng)如何執(zhí)行的模型,因此又稱為軟件開(kāi)發(fā)模型。主要的軟件過(guò)程模型有:瀑布模型、增量模型、螺旋模型、噴泉模型和基于知識(shí)的模型等。⑴瀑布模型是經(jīng)典的軟件開(kāi)發(fā)模型,將軟件開(kāi)發(fā)活動(dòng)中的各項(xiàng)活動(dòng)規(guī)定為依線性順序連接的若干階段,它簡(jiǎn)單易用,在消除非結(jié)構(gòu)化軟件、降低軟件的復(fù)雜性、促進(jìn)軟件開(kāi)發(fā)工程化方面起了很大的作用。但在軟件開(kāi)發(fā)實(shí)踐中也逐漸暴露出它的缺點(diǎn)。它將一個(gè)充滿回溯的軟件開(kāi)發(fā)過(guò)程硬性分割為幾個(gè)階段,無(wú)法解決軟件需求不明確或者變動(dòng)的問(wèn)題。⑵增量模型是一種非整體開(kāi)發(fā)的模型。根據(jù)增量的方式和形式的不同,分為基于瀑布模型的漸增模型和基于原型的快速原型模型。該模型具有較大的靈活性,適合于軟件需求不明確、設(shè)計(jì)方案有一定風(fēng)險(xiǎn)的軟件項(xiàng)目。⑶螺旋模型將瀑布模型和增量模型結(jié)合起來(lái),并加入了風(fēng)險(xiǎn)分析。螺旋模型將開(kāi)發(fā)過(guò)程分為幾個(gè)螺旋周期,每個(gè)螺旋周期可分為4個(gè)工作步驟:制定計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)施工程、客戶評(píng)估。⑷噴泉模型用于采用對(duì)象技術(shù)的軟件開(kāi)發(fā)項(xiàng)目。它克服了瀑布模型不支持軟件重用和多項(xiàng)開(kāi)發(fā)活動(dòng)集成的局限性。噴泉模型使開(kāi)發(fā)過(guò)程具有迭代性和無(wú)間隙性。軟件開(kāi)發(fā)過(guò)程有4個(gè)階段,即分析、系統(tǒng)設(shè)計(jì)、軟件設(shè)計(jì)和實(shí)現(xiàn)。各階段相互重疊,以分析為基礎(chǔ),資源消耗成塔形,從高層返回低層無(wú)資源消耗。強(qiáng)調(diào)增量開(kāi)發(fā),是對(duì)象驅(qū)動(dòng)的過(guò)程,反映了對(duì)象的開(kāi)發(fā)和重用過(guò)程。⑸基于知識(shí)的模型也稱為智能模型。通過(guò)領(lǐng)域的專家系統(tǒng),可使需求說(shuō)明更加完整、準(zhǔn)確和無(wú)二義性。通過(guò)軟件工程知識(shí)和特定應(yīng)用領(lǐng)域的知識(shí)和規(guī)則的應(yīng)用來(lái)提供開(kāi)發(fā)的幫助。5.有哪些主要的軟件開(kāi)發(fā)方法?答:主要的軟件開(kāi)發(fā)方法有:結(jié)構(gòu)化開(kāi)發(fā)方法、原型化開(kāi)發(fā)方法和面向?qū)ο蟮拈_(kāi)發(fā)方法。6.軟件生存周期各階段的主要任務(wù)是什么?答:軟件生存周期按瀑布模型分為6個(gè)階段:●可行性研究與計(jì)劃(確定系統(tǒng)的目標(biāo)和規(guī)模,分析項(xiàng)目的可行性);●需求分析與規(guī)格說(shuō)明(明確系統(tǒng)的規(guī)格和要求);●設(shè)計(jì)(包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),將系統(tǒng)分解為模塊);●編程(用程序語(yǔ)言實(shí)現(xiàn)每個(gè)模塊,簡(jiǎn)單容易);●測(cè)試(發(fā)現(xiàn)并改正錯(cuò)誤,分為模塊測(cè)試、集成測(cè)試和系統(tǒng)聯(lián)調(diào)三級(jí));●運(yùn)行維護(hù)(擴(kuò)充功能、糾錯(cuò)等)。7.原型化方法的核心是什么?它具有哪些特點(diǎn)?答:原型化方法的核心是,花費(fèi)少量代價(jià)建立一個(gè)可運(yùn)行的系統(tǒng),使用戶及早獲得學(xué)習(xí)的機(jī)會(huì)。強(qiáng)調(diào)軟件開(kāi)發(fā)人員與用戶的不斷交互,通過(guò)原型的演進(jìn)不斷適應(yīng)用戶任務(wù)改變的需求。它是一個(gè)循環(huán)的模型。速成原型法按以下步驟循環(huán)執(zhí)行:①快速分析。②構(gòu)造原型。③運(yùn)行和評(píng)價(jià)原型。④修改與改進(jìn)。1.需求工程包括哪些基本活動(dòng)?各項(xiàng)基本活動(dòng)的主要任務(wù)是什么?答:需求工程過(guò)程包括如下主要活動(dòng):⑴獲取需求。深入實(shí)際,在充分理解用戶需求的基礎(chǔ)上,獲取足夠多的問(wèn)題領(lǐng)域的知識(shí),積極與用戶交流,捕捉、分析和修訂用戶對(duì)目標(biāo)系統(tǒng)的需求,并提煉出符合解決領(lǐng)域問(wèn)題的用戶需求。需求獲取的方法一般有問(wèn)卷法、面談法、數(shù)據(jù)采集法、用例法、情景實(shí)例法以及基于目標(biāo)的方法等。⑵需求分析與建模。對(duì)已獲取的需求進(jìn)行分析和提煉,進(jìn)行抽象描述,建立目標(biāo)系統(tǒng)的概念模型,需求概念模型的要求包括實(shí)現(xiàn)的獨(dú)立性:不模擬數(shù)據(jù)的表示和內(nèi)部組織等;需求模擬技術(shù)又分為企業(yè)模擬、功能需求模擬和非功能需求模擬等。進(jìn)一步對(duì)所建立的模型(原型)進(jìn)行分析。需求模型的表現(xiàn)形式有自然語(yǔ)言、半形式化(如圖、表、結(jié)構(gòu)化英語(yǔ)等)和形式化表示等三種。⑶需求規(guī)格說(shuō)明。對(duì)需求模型進(jìn)行精確的、形式化的描述,為計(jì)算機(jī)系統(tǒng)的實(shí)現(xiàn)提供基礎(chǔ)。⑷確認(rèn)需求。以需求規(guī)格說(shuō)明為基礎(chǔ)輸入,通過(guò)符號(hào)執(zhí)行、模擬或快速原型等方法,分析和驗(yàn)證需求規(guī)格說(shuō)明的正確性和可行性,確保需求說(shuō)明準(zhǔn)確、完整地表達(dá)系統(tǒng)的主要特性,就是對(duì)需求規(guī)格說(shuō)明與用戶達(dá)成一致。其主要任務(wù)是沖突求解,包括定義沖突和沖突求解兩方面。常用的沖突求解方法有:協(xié)商、競(jìng)爭(zhēng)、仲裁、強(qiáng)制、教育等,其中有些只能用人的因素去控制。⑸需求管理。在整個(gè)需求工程過(guò)程中,貫穿了需求管理活動(dòng)。需求管理主要包括跟蹤和管理需求變化,支持系統(tǒng)的需求演進(jìn)。由于客戶的需要總是不斷(連續(xù))增長(zhǎng)的,但一般的軟件開(kāi)發(fā)又總是落后于客戶需求的增長(zhǎng),如何管理需求的進(jìn)化(變化)就成為軟件管理的首要問(wèn)題。對(duì)于傳統(tǒng)的變化管理過(guò)程來(lái)說(shuō),其基本成分包括軟件配置、軟件基線和變化審查小組。當(dāng)前的發(fā)展是軟件家族法,即產(chǎn)品線方法。多視點(diǎn)方法也是管理需求變化的一種新方法,它可以用于管理不一致性,并進(jìn)行關(guān)于變化的推理。進(jìn)化需求是十分必要的。2.簡(jiǎn)述抽取需求的主要方法,并比較它們的特點(diǎn)。⑴面談法。這是一種重要而直接簡(jiǎn)單,隨時(shí)可使用的發(fā)現(xiàn)和獲取需求的方法。面談的對(duì)象主要有用戶和領(lǐng)域?qū)<遥号c用戶面談主要了解和提取需求,與領(lǐng)域?qū)<颐嬲劊且粋€(gè)對(duì)領(lǐng)域知識(shí)的學(xué)習(xí)和轉(zhuǎn)換過(guò)程。使用該方法時(shí)應(yīng)注意面談前要充分準(zhǔn)備,面談后認(rèn)真分析總結(jié),同時(shí)注意掌握面談的人際交流技巧,才能取得好的效果。⑵問(wèn)卷法調(diào)查法。通過(guò)采用向用戶發(fā)問(wèn)卷調(diào)查表的方式,達(dá)到徹底弄清項(xiàng)目需求的一種需求獲取方法。這是一種從多個(gè)用戶處收集需求信息的有效方式,是對(duì)面談法的補(bǔ)充。⑶會(huì)議討論法。所謂會(huì)議討論法,是指開(kāi)發(fā)方和用戶方召開(kāi)若干次需求討論會(huì)議,達(dá)到徹底弄清項(xiàng)目需求的一種需求獲取方法。這種方法適合于開(kāi)發(fā)方不清楚項(xiàng)目需求的情況。⑷原型法。對(duì)于某些試驗(yàn)性、探索性的項(xiàng)目,更是難于得到一個(gè)準(zhǔn)確、無(wú)二義性的需求。而原型化方法(PrototypingMethod)是獲取這一類項(xiàng)目需求的有效方法。⑸面向用例的方法。分析建立“用例”的過(guò)程,也就是提取需求的過(guò)程。在實(shí)際應(yīng)用中,常常將以上方法進(jìn)行綜合應(yīng)用。3.客戶的需要總是不斷地增長(zhǎng),但是一般的軟件開(kāi)發(fā)又總是落后于客戶需求的增長(zhǎng),如何管理需求的進(jìn)化就成為軟件進(jìn)化的首要問(wèn)題。請(qǐng)說(shuō)明需求變更的管理過(guò)程。答:需求變更的管理是需求管理的核心內(nèi)容。其主要任務(wù)是對(duì)系統(tǒng)需求變更進(jìn)行跟蹤和控制。對(duì)傳統(tǒng)的變化管理過(guò)程來(lái)說(shuō),其基本內(nèi)容包括軟件配置、軟件基線和變更審查等。目前推出的新的管理方法有軟件家族法,即軟件產(chǎn)品線方法及多視點(diǎn)方法等。下圖描述了需求變更的管理過(guò)程。識(shí)別出識(shí)別出的問(wèn)題問(wèn)題分析和變更描述變更分析和成本計(jì)算變更實(shí)現(xiàn)修正后的需求4.M公司的軟件產(chǎn)品以實(shí)驗(yàn)型的新軟件為主。用瀑布模型進(jìn)行軟件開(kāi)發(fā)已經(jīng)有近十年了,并取得了一些成功。若你作為一名管理人員剛加入M公司,你認(rèn)為快速原型法對(duì)公司的軟件開(kāi)發(fā)更加優(yōu)越,請(qǐng)向公司副總裁寫一份報(bào)告闡明你的理由。切記:副總裁不喜歡報(bào)告長(zhǎng)度超過(guò)一頁(yè)。參考答案提示:應(yīng)先簡(jiǎn)述瀑布模型的缺點(diǎn),它已不適宜開(kāi)發(fā)實(shí)驗(yàn)型的軟件。根據(jù)快速原型法的特點(diǎn),說(shuō)明它特別適合于開(kāi)發(fā)探索型、實(shí)驗(yàn)型的軟件。5.如何畫分層數(shù)據(jù)流圖?有哪些基本原則?答:總的原則是:至頂而下,逐層分解(畫分層數(shù)據(jù)流圖)。逐層分解的畫法可以控制每一層的復(fù)雜度。頂層:將整個(gè)系統(tǒng)作為一個(gè)加工,描述系統(tǒng)邊界(輸入與輸出)。中間層:將某個(gè)加工分解為一組子加工,其中的子加工還需進(jìn)一步分解。底層:由不再進(jìn)行分解的基本加工組成。畫分層數(shù)據(jù)流圖的基本原則有:①數(shù)據(jù)守恒與數(shù)據(jù)封閉原則。②加工分解的原則。③子圖與父圖“平衡”的原則。④合理使用文件的原則。6.加工小說(shuō)明有哪些描述方法?它們各有何優(yōu)缺點(diǎn)?為什么不采用自然語(yǔ)言進(jìn)行描述?答:主要的描述方法有三種;結(jié)構(gòu)化語(yǔ)言、判定表和判定樹(shù)?!窠Y(jié)構(gòu)化語(yǔ)言:介于自然語(yǔ)言和形式語(yǔ)言(如謂詞邏輯)之間的的一種半形式語(yǔ)言,它是自然語(yǔ)言的一個(gè)受限制的子集。是在自然語(yǔ)言的基礎(chǔ)上加上一些約束,一般分為兩層結(jié)構(gòu):外層語(yǔ)法較具體,為控制結(jié)構(gòu)(順序、選擇、循環(huán));內(nèi)層較靈活,表達(dá)“做什么”。常用結(jié)構(gòu)化英語(yǔ)或結(jié)構(gòu)化漢語(yǔ)表示,精確、簡(jiǎn)明扼要、文體靈活。結(jié)構(gòu)化語(yǔ)言特點(diǎn):簡(jiǎn)單,易學(xué),少二義性,但不好處理組合條件。●判定表:適用于表述比較復(fù)雜的加工邏輯,如具有多項(xiàng)選擇條件的操作。判定表是一種二維的表格,常用于較復(fù)雜的組合條件。通常由四部分組成,如教材表2-2所示。對(duì)用結(jié)構(gòu)化語(yǔ)言不易處理的較復(fù)雜的組合條件問(wèn)題,可使用判定表?!衽卸?shù):本質(zhì)上與判定表相同,圖形表示更易于理解。描述一般組合條件較清晰,但不易輸入計(jì)算機(jī)。9.模塊分解的最終目的是什么?答:模塊分解的目的是將系統(tǒng)“分而治之”,以降低問(wèn)題的復(fù)雜性,使軟件結(jié)構(gòu)清晰,易閱讀、易理解,易于測(cè)試和調(diào)試,因而也有助于提高軟件的可靠性。10.模塊分解應(yīng)該遵循什么樣的標(biāo)準(zhǔn)?答:按照“降低塊間聯(lián)系,提高塊內(nèi)聯(lián)系”的設(shè)計(jì)總則對(duì)模塊進(jìn)行分解。具體從以下方面考慮:(1)盡可能建立功能模塊;(2)消除重復(fù)功能;(3)模塊的作用范圍與控制范圍,即當(dāng)作用范圍為控制范圍的子集時(shí),才能獲得較低的塊間聯(lián)系;(4)模塊的大小適當(dāng);(5)模塊的扇入/扇出數(shù)不宜太多。也可以用軟件獨(dú)立性的兩個(gè)定性指標(biāo)來(lái)度量模塊分解的標(biāo)準(zhǔn):一是耦合性。用于描述模塊之間聯(lián)系的緊密程度。從三個(gè)方面衡量塊間聯(lián)系大小:①方式(直接或間接)②類型(數(shù)據(jù)型、控制型、混合型)③數(shù)量(數(shù)量越大,塊間聯(lián)系越緊密。二是內(nèi)聚性。用于描述模塊內(nèi)部聯(lián)系的緊密程度。它是從功能的角度來(lái)度量模塊內(nèi)的聯(lián)系。顯然,塊內(nèi)聯(lián)系愈緊,即內(nèi)聚性愈強(qiáng),模塊獨(dú)立性愈好。功能型模塊獨(dú)立性最好。1.程序設(shè)計(jì)語(yǔ)言分為哪幾類?答:程序設(shè)計(jì)語(yǔ)言,按照語(yǔ)言級(jí)別可以分為兩大類:低級(jí)語(yǔ)言和高級(jí)語(yǔ)言。低級(jí)語(yǔ)言包括機(jī)器語(yǔ)言和匯編語(yǔ)言。低級(jí)語(yǔ)言依賴于特定的機(jī)器,其使用復(fù)雜、繁瑣、費(fèi)時(shí)、易出差錯(cuò),因而程序編寫也有一定的難度。機(jī)器語(yǔ)言是表示成二進(jìn)制形式的機(jī)器基本指令集,或者是操作碼經(jīng)過(guò)符號(hào)化的基本指令集,其存儲(chǔ)由語(yǔ)言本身決定。匯編語(yǔ)言比機(jī)器語(yǔ)言更直觀,是機(jī)器語(yǔ)言中地址部分符號(hào)化的結(jié)果,或進(jìn)一步包括宏構(gòu)造。即便是現(xiàn)在匯編語(yǔ)言有著生產(chǎn)效率低、維護(hù)困難、容易出錯(cuò)的缺點(diǎn),但是在實(shí)現(xiàn)與硬件系統(tǒng)接口部分時(shí),仍然采用它,因?yàn)樗子趯?shí)現(xiàn)接口,實(shí)現(xiàn)效率高。高級(jí)語(yǔ)言的表示方法要比低級(jí)語(yǔ)言更接近于待解的問(wèn)題,其特點(diǎn)是在一定程度上與具體機(jī)器無(wú)關(guān),易學(xué)、易用、易維護(hù)。高級(jí)語(yǔ)言的實(shí)現(xiàn)極大地提高了軟件的生產(chǎn)效率。眾多的高級(jí)語(yǔ)言根據(jù)不同的標(biāo)準(zhǔn)有不同的分類方式。按照應(yīng)用范圍分為:通用語(yǔ)言與專用語(yǔ)言。通用語(yǔ)言有:Pascal、C、C++、Java等;目標(biāo)單一的語(yǔ)言稱為專用語(yǔ)言,有:APT等。按照用戶的要求分為:過(guò)程式語(yǔ)言和非過(guò)程式語(yǔ)言。過(guò)程式語(yǔ)言的主要特征是,用戶可以指明一系列可執(zhí)行的順序運(yùn)算,以表示相應(yīng)的計(jì)算過(guò)程,如Pascal、C等;非過(guò)程式語(yǔ)言反之,較為著名的是Java。按照使用方式分為:交互式語(yǔ)言和非交互式語(yǔ)言。具有反映人機(jī)交互作用的語(yǔ)言成分的語(yǔ)言成為交互式語(yǔ)言,如BASIC等;不反映人機(jī)交互作用的語(yǔ)言稱為非交互式語(yǔ)言,如Pascal、C等都是非交互式語(yǔ)言。按照語(yǔ)言的內(nèi)在特點(diǎn)分為:系統(tǒng)實(shí)現(xiàn)語(yǔ)言、靜態(tài)高級(jí)語(yǔ)言、動(dòng)態(tài)高級(jí)語(yǔ)言和塊結(jié)構(gòu)高級(jí)語(yǔ)言;系統(tǒng)實(shí)現(xiàn)語(yǔ)言例如:C語(yǔ)言;靜態(tài)高級(jí)語(yǔ)言例如:COBOL和FORTRAN語(yǔ)言;動(dòng)態(tài)高級(jí)語(yǔ)言的特點(diǎn)是動(dòng)態(tài)完成所有的存儲(chǔ)管理,如Java;塊結(jié)構(gòu)高級(jí)語(yǔ)言,例如ALGOL和Pascal語(yǔ)言。2.程序設(shè)計(jì)語(yǔ)言的成分有哪些?程序設(shè)計(jì)語(yǔ)言基本的組成成分如下:①數(shù)據(jù)成分,用于描述程序所涉及的數(shù)據(jù)程序名字聲明:首先聲明這個(gè)程序設(shè)計(jì)對(duì)象在這個(gè)程序中的名字,這樣避免編譯時(shí)出現(xiàn)錯(cuò)誤。例如,設(shè)計(jì)一個(gè)電子時(shí)鐘,那么對(duì)于主程序完全可以對(duì)其名字聲明為:clock,這樣當(dāng)后面進(jìn)行編譯的時(shí)候就能夠識(shí)別這是已經(jīng)聲明了的對(duì)象,而不再報(bào)錯(cuò)。數(shù)據(jù)類型聲明:對(duì)程序?qū)崿F(xiàn)時(shí)用到的各種數(shù)據(jù)的類型作一聲明,如整型、浮點(diǎn)型、用戶自定義類型等。②運(yùn)算成分,用以描述程序中所包含的運(yùn)算初始化:程序設(shè)計(jì)實(shí)現(xiàn)時(shí)最常出現(xiàn)的一種錯(cuò)誤就是沒(méi)有對(duì)于要運(yùn)算的數(shù)據(jù)初始化,即沒(méi)有賦予一個(gè)合適的初始數(shù)據(jù),結(jié)果造成了編譯或運(yùn)行時(shí)出錯(cuò)。運(yùn)算對(duì)象:運(yùn)算對(duì)象是程序執(zhí)行時(shí)要運(yùn)行的對(duì)象,包括一個(gè)算術(shù)表達(dá)式或者一個(gè)邏輯表達(dá)式,或者是一個(gè)完整的語(yǔ)言,例如:賦值語(yǔ)句等。③控制成分,用以描述程序中所包含的控制。順序控制結(jié)構(gòu):順序執(zhí)行的語(yǔ)句構(gòu)成了順序結(jié)構(gòu)。循環(huán)控制結(jié)構(gòu):常見(jiàn)的循環(huán)控制結(jié)構(gòu)有for語(yǔ)句和while語(yǔ)句,至于它們的基本使用以及表達(dá)形式這里不再贅述。分支控制結(jié)構(gòu):常見(jiàn)的分支控制結(jié)構(gòu)有if語(yǔ)句和switch-case語(yǔ)句兩種,另外if語(yǔ)句中又分為帶else和不帶else語(yǔ)句兩種。④傳輸成分,用以表達(dá)程序中數(shù)據(jù)的傳輸。傳輸成分包括基本的輸入和輸出。3.程序設(shè)計(jì)語(yǔ)言的選擇對(duì)應(yīng)用程序的開(kāi)發(fā)有什么樣的影響?答:通常應(yīng)根據(jù)軟件系統(tǒng)的應(yīng)用特點(diǎn),程序設(shè)計(jì)語(yǔ)言的內(nèi)在特性以及系統(tǒng)的性能要求等方面來(lái)進(jìn)行選擇。程序設(shè)計(jì)語(yǔ)言的選擇應(yīng)該考慮以下因素:項(xiàng)目的應(yīng)用領(lǐng)域。應(yīng)盡量選取適合某個(gè)應(yīng)用領(lǐng)域的語(yǔ)言。例如,選擇VisualBasic來(lái)開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用就比選擇VisualC++要容易一些。算法和計(jì)算復(fù)雜性。要根據(jù)不同語(yǔ)言的特點(diǎn)來(lái)選取能夠適應(yīng)軟件項(xiàng)目算法和計(jì)算復(fù)雜性的語(yǔ)言。例如,對(duì)于科學(xué)計(jì)算較多的應(yīng)用一般會(huì)考慮選擇FORTRAN語(yǔ)言。軟件的執(zhí)行環(huán)境。要選取機(jī)器上能運(yùn)行且具有相應(yīng)支持軟件的語(yǔ)言。例如,在嵌入式系統(tǒng)中(這類系統(tǒng)的硬件資源往往較少),軟件開(kāi)發(fā)語(yǔ)言多為C/C++、Java。性能因素。應(yīng)結(jié)合工程具體性能來(lái)考慮,例如實(shí)時(shí)系統(tǒng)對(duì)響應(yīng)速度有特殊要求,就應(yīng)選擇匯編語(yǔ)言、C語(yǔ)言等。數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性。要根據(jù)不同語(yǔ)言構(gòu)造數(shù)據(jù)結(jié)構(gòu)類型的能力選取合適的語(yǔ)言。C++、Java這樣的高級(jí)語(yǔ)言顯然比匯編語(yǔ)言的表達(dá)能力要強(qiáng)。軟件開(kāi)發(fā)人員的知識(shí)水平以及心理因素。知識(shí)水平包括開(kāi)發(fā)人員的專業(yè)知識(shí),程序設(shè)計(jì)能力;心理因素是指開(kāi)發(fā)人員對(duì)某種語(yǔ)言或工具的熟悉程度。從技術(shù)的層面來(lái)講,大多數(shù)的任務(wù)用任何一門高級(jí)語(yǔ)言都可以完成,所以選擇開(kāi)發(fā)者熟悉的語(yǔ)言是可以提高效率的。為此,要盡量避免受外界的影響,盲目追求高、新的語(yǔ)言。4.結(jié)構(gòu)化程序設(shè)計(jì)的特點(diǎn)是什么?為什么要采用結(jié)構(gòu)化程序設(shè)計(jì)?答:結(jié)構(gòu)程序設(shè)計(jì)的概念最早是由E.W.Dijkstra提出來(lái)的,他指出:“可以從高級(jí)語(yǔ)言中取消GOTO語(yǔ)句,程序質(zhì)量與程序中所包含的GOTO語(yǔ)句的數(shù)量成反比”。并指出結(jié)構(gòu)程序設(shè)計(jì)并非簡(jiǎn)單的取消GOTO語(yǔ)句,而是創(chuàng)立一種新的程序設(shè)計(jì)思想、方法和風(fēng)格,以顯著提高軟件生產(chǎn)率和質(zhì)量。提高程序可讀性的關(guān)鍵是使程序結(jié)構(gòu)簡(jiǎn)單清晰,結(jié)構(gòu)化程序設(shè)計(jì)(SP)方法是達(dá)到這一目標(biāo)的重要手段。結(jié)構(gòu)化程序設(shè)計(jì)是一種程序設(shè)計(jì)技術(shù),它采用自頂向下,逐步求精的程序設(shè)計(jì)方法和單入口和單出口的控制結(jié)構(gòu)。具體來(lái)說(shuō),結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)主要具有以下特點(diǎn):(1)自頂而下,逐步求精這種逐步求精的思想符合人類解決復(fù)雜問(wèn)題的普遍規(guī)律,從而可以顯著提高軟件開(kāi)發(fā)的效率。而且這種思想還體現(xiàn)了“先全局,后局部”、“先抽象,后具體”的方法,使開(kāi)發(fā)的程序?qū)哟谓Y(jié)構(gòu)清晰,易讀、易理解還易驗(yàn)證,因而提高了程序的質(zhì)量。將程序自頂向下逐步細(xì)化的分解過(guò)程用一個(gè)樹(shù)狀結(jié)構(gòu)來(lái)描述,如下圖所示。(2)單入口和單出口的控制結(jié)構(gòu)結(jié)構(gòu)化的程序是由且僅由順序、選擇、循環(huán)三種基本控制結(jié)構(gòu)組成,既保證了程序結(jié)構(gòu)清晰,又提高了程序代碼的可重用性。這三種基本結(jié)構(gòu)可以組成所有的各種復(fù)雜程序。提出和分析問(wèn)題確定數(shù)學(xué)模型設(shè)計(jì)算法模塊化編程程序整個(gè)編譯、運(yùn)行結(jié)構(gòu)化程序設(shè)計(jì)的基本原理中一個(gè)重要的概念是提出和分析問(wèn)題確定數(shù)學(xué)模型設(shè)計(jì)算法模塊化編程程序整個(gè)編譯、運(yùn)行模塊是由邊界元素限定的相鄰的程序元素的序列,而且有一個(gè)總體標(biāo)志符來(lái)代表它。所謂模塊化,即是將一個(gè)大任務(wù)分成若干個(gè)較小的任務(wù),較小的任務(wù)又細(xì)分為更小的任務(wù),直到更小的任務(wù)只能解決功能單一的任務(wù)為止,一個(gè)小任務(wù)稱為一個(gè)模塊。各個(gè)模塊可以分別由不同的人編寫和調(diào)試。把大任務(wù)逐步分解成小任務(wù)的過(guò)程可以稱為是“自頂向下,逐步細(xì)化”的過(guò)程。對(duì)于模塊的設(shè)計(jì)和實(shí)現(xiàn)有以下5條基本的標(biāo)準(zhǔn):可分解性可組裝性可理解性連續(xù)性保護(hù)性遵循以上標(biāo)準(zhǔn)是進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì)時(shí)運(yùn)用模塊化原理的基本準(zhǔn)則,這樣設(shè)計(jì)出來(lái)的程序不但軟件結(jié)構(gòu)清晰,而且代碼也有很好的可讀性和可維護(hù)性。6.算法轉(zhuǎn)換的指導(dǎo)原則是什么?答:轉(zhuǎn)換過(guò)程中的指導(dǎo)原則是:在編碼前,盡可能化簡(jiǎn)有關(guān)的算術(shù)表達(dá)式和邏輯表達(dá)式。仔細(xì)檢查算法中嵌套的循環(huán),盡可能將某些語(yǔ)句或表達(dá)式移到循環(huán)外面。盡量避免使用多維數(shù)組。盡量避免使用指針和復(fù)雜的表。采用“快速”的算術(shù)運(yùn)算。不要混淆數(shù)據(jù)類型,避免在表達(dá)式中出現(xiàn)類型混雜。盡量采用整數(shù)算術(shù)表達(dá)式和布爾表達(dá)式。選用等效的高效率算法。上述的原則要在轉(zhuǎn)換時(shí)統(tǒng)籌考慮,而不應(yīng)該教條地使用。例如,程序員謹(jǐn)守的一條原則就是盡量不用GOTO語(yǔ)句,但是當(dāng)要從一個(gè)嵌套很深的循環(huán)中直接跳出來(lái)時(shí),GOTO語(yǔ)句就能很好地發(fā)揮作用。7.影響軟件代碼效率的因素有哪些?答:⑴算法對(duì)效率的影響關(guān)于算法的轉(zhuǎn)換指導(dǎo)原則,在一定程度上減小了算法對(duì)效率的影響。從這一點(diǎn)能夠看出算法直接影響到的是程序,進(jìn)而影響到了整個(gè)代碼的效率問(wèn)題。故而在轉(zhuǎn)換時(shí)需要注意之外,在程序設(shè)計(jì)和實(shí)現(xiàn)時(shí)同樣需要考慮效率的問(wèn)題。⑵存儲(chǔ)效率處理器的分頁(yè)調(diào)度和分段調(diào)度的特點(diǎn)決定了文件的存儲(chǔ)效率,同樣對(duì)于代碼也存在這個(gè)問(wèn)題。一般來(lái)說(shuō)使用能保持功能域的結(jié)構(gòu)化控制結(jié)構(gòu)是提高效率的好辦法。提高效率的辦法通常也是提高存儲(chǔ)效率的方法。⑶輸入輸出效率輸入和輸出的效率決定的是人與計(jì)算機(jī)之間通信的效率,程序設(shè)計(jì)中輸入和輸出的簡(jiǎn)單清晰,是提高輸入輸出效率的關(guān)鍵。習(xí)題八答案一、選擇題
1.軟件測(cè)試的主要特點(diǎn)是(C)。A)軟件測(cè)試的開(kāi)銷大B)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海房屋租賃合同范本
- 個(gè)人房屋按揭借款合同范本
- 專項(xiàng)人才派遣合同
- 中學(xué)食堂供應(yīng)商合同書
- 二手經(jīng)濟(jì)適用房買賣合同范本
- 中外客戶交易合同范本
- 個(gè)人荒地開(kāi)發(fā)承包合同范本
- 個(gè)人車輛轉(zhuǎn)讓合同范本
- 個(gè)人租車業(yè)務(wù)合同協(xié)議
- 中保人壽養(yǎng)老金保險(xiǎn)合同版:條款與細(xì)則
- 第二章共混改性基本原理
- 碳納米管及其應(yīng)用課件
- 病故軍人證明書如何辦理
- 企業(yè)合規(guī)管理實(shí)務(wù)
- 安宮牛黃丸課件
- GB/T 21117-2007磁致伸縮液位計(jì)
- GB 28378-2019淋浴器水效限定值及水效等級(jí)
- 水帶業(yè)務(wù)操作規(guī)范一人兩帶
- 2023執(zhí)業(yè)藥師繼續(xù)教育試題題庫(kù)和答案(完整版)
- 第三單元名著導(dǎo)讀《駱駝祥子》課件-部編版語(yǔ)文七年級(jí)下冊(cè)
- 語(yǔ)C圈洗白標(biāo)準(zhǔn)手冊(cè)
評(píng)論
0/150
提交評(píng)論