軟件工程實(shí)用教程(2版)-第2、3、4、5章-習(xí)題與參考答案(人民郵電大學(xué)出版社 郭寧主編)_第1頁(yè)
軟件工程實(shí)用教程(2版)-第2、3、4、5章-習(xí)題與參考答案(人民郵電大學(xué)出版社 郭寧主編)_第2頁(yè)
軟件工程實(shí)用教程(2版)-第2、3、4、5章-習(xí)題與參考答案(人民郵電大學(xué)出版社 郭寧主編)_第3頁(yè)
軟件工程實(shí)用教程(2版)-第2、3、4、5章-習(xí)題與參考答案(人民郵電大學(xué)出版社 郭寧主編)_第4頁(yè)
軟件工程實(shí)用教程(2版)-第2、3、4、5章-習(xí)題與參考答案(人民郵電大學(xué)出版社 郭寧主編)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(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、軟件工程實(shí)用教程第2、3、4、5章習(xí)題與參考答案第2章 軟件生存周期及開(kāi)發(fā)模型1 簡(jiǎn)述什么是軟件生存周期?根據(jù)國(guó)家標(biāo)準(zhǔn)計(jì)算機(jī)軟件開(kāi)發(fā)規(guī)范,軟件生存周期主要包括哪幾個(gè)階段?答案要點(diǎn):軟件生存周期是指軟件產(chǎn)品從功能確定、設(shè)計(jì)、開(kāi)發(fā)成功、投入使用,并在使用中不斷修改、完善,直至被新的軟件所替代,而停止該軟件使用的全過(guò)程。國(guó)家標(biāo)準(zhǔn)gb8566-1988計(jì)算機(jī)軟件開(kāi)發(fā)規(guī)范將軟件生命周期劃分為幾個(gè)階段:可行性研究、項(xiàng)目計(jì)劃、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼實(shí)現(xiàn)(包括單元測(cè)試)、集成測(cè)試、確認(rèn)測(cè)試、系統(tǒng)運(yùn)行和維護(hù)。這幾個(gè)階段又可以歸納為3個(gè)大的階段,即軟件定義階段,軟件開(kāi)發(fā)階段和軟件運(yùn)行維護(hù)階段。2 瀑布

2、模型有哪些特點(diǎn)?對(duì)于里程碑,你有哪些認(rèn)識(shí)?答案要點(diǎn):瀑布模型是一種基于里程碑的階段過(guò)程模型,它所提供的里程碑式的工作流程,為軟件項(xiàng)目按規(guī)程管理提供了便利。例如,按階段制定項(xiàng)目計(jì)劃,分階段進(jìn)行成本核算,進(jìn)行階段性的評(píng)審等。這為提高軟件產(chǎn)品質(zhì)量提供了有效保證。瀑布模型的特點(diǎn):· 階段性:前一階段工作完成以后,后一階段工作才能開(kāi)始,前一階段的輸出文檔是后一階段的輸入文檔。· 階段評(píng)審:在每一階段工作完成后都要進(jìn)行評(píng)審,以便盡早發(fā)現(xiàn)問(wèn)題,避免后期的返工,如果評(píng)審不合格,則不開(kāi)始下一階段的工作。· 文檔管理:在每階段都規(guī)定了要完成的文檔,沒(méi)有完成文檔,就認(rèn)為沒(méi)有完成該階段的

3、任務(wù)。3 試說(shuō)明原型模型的兩種實(shí)現(xiàn)方案各有什么特點(diǎn)?各適用于什么情況?答案要點(diǎn):原型模型在軟件分析、設(shè)計(jì)階段的應(yīng)用,用來(lái)解決用戶對(duì)軟件系統(tǒng)在需求分析上的模糊認(rèn)識(shí)。將模擬的手段引入需求分析的初期階段,通過(guò)建立原型縮短用戶與分析人員之間的距離。快速原型方法具有以下一些特點(diǎn)。· 快速原型是用來(lái)獲取用戶需求的,或是用來(lái)試探某種設(shè)計(jì)是否有效。一旦需求或設(shè)計(jì)確定下來(lái),原型就將被拋棄。因此快速原型要求快速構(gòu)建、容易修改,以節(jié)約原型創(chuàng)建成本,加速開(kāi)發(fā)速度。快速原型往往采用軟件生成工具來(lái)創(chuàng)建,例如,4gl語(yǔ)言。· 快速原型是暫時(shí)使用的,因此并不要求完整。它往往針對(duì)某個(gè)局部問(wèn)題建立專(zhuān)門(mén)原型,如

4、界面原型、工作流原型、查詢?cè)偷取?#183; 快速原型不能貫穿軟件的整個(gè)生命周期,它需要和其他的過(guò)程模型相結(jié)合才能產(chǎn)生作用。例如,前面我們提到的在瀑布模型中應(yīng)用快速原型,可以解決瀑布模型在需求分析時(shí)期存在的不足。· 對(duì)于一個(gè)大型復(fù)雜的系統(tǒng),如果不經(jīng)過(guò)分析來(lái)進(jìn)行整體性劃分,想直接用屏幕來(lái)一個(gè)一個(gè)地模擬是很困難的;對(duì)于大量運(yùn)算、邏輯性較強(qiáng)的程序模塊,快速原型方法很難構(gòu)造出模型來(lái)供人評(píng)價(jià)。因此,原型方法只適用于小型、簡(jiǎn)單、處理過(guò)程比較明確、沒(méi)有大量運(yùn)算和邏輯處理過(guò)程的系統(tǒng)。原型進(jìn)化模型對(duì)開(kāi)發(fā)過(guò)程的考慮是,針對(duì)有待開(kāi)發(fā)的軟件系統(tǒng),先開(kāi)發(fā)一個(gè)原型系統(tǒng)讓用戶使用,然后根據(jù)用戶使用情況的意見(jiàn)反饋

5、,對(duì)原型系統(tǒng)不斷修改,使它逐步接近并最終達(dá)到開(kāi)發(fā)目標(biāo)。跟快速原型不同的是,快速原型在完成需求定義后將被拋棄,而原型進(jìn)化所要?jiǎng)?chuàng)建的原型則是一個(gè)今后要投入應(yīng)用的系統(tǒng),只是所創(chuàng)建的原型系統(tǒng)在功能、性能等方面還有許多不足,還沒(méi)有達(dá)到最終的開(kāi)發(fā)目標(biāo),需要不斷改進(jìn)。· 原型進(jìn)化模型將軟件的需求細(xì)節(jié)定義、產(chǎn)品開(kāi)發(fā)和有效性驗(yàn)證放在同一個(gè)工作進(jìn)程中交替或并行運(yùn)作。因此,在獲得了軟件需求框架以后,例如,軟件的基本功能被確定以后,就可以直接進(jìn)入到對(duì)軟件的開(kāi)發(fā)中。· 原型進(jìn)化模型是通過(guò)不斷發(fā)布新的軟件版本而使軟件逐步完善的,因此,這種開(kāi)發(fā)模式特別適合于那些用戶急需的軟件產(chǎn)品開(kāi)發(fā)。它能夠快速地向用戶

6、交付可以投入實(shí)際運(yùn)行的軟件成果,并能夠很好地適應(yīng)軟件用戶對(duì)需求規(guī)格的變更。4 一般認(rèn)為,只有大型項(xiàng)目才采用螺旋模型,其原因是什么?答案要點(diǎn):螺旋模型增加了軟件項(xiàng)目的風(fēng)險(xiǎn)分析,因?yàn)轫?xiàng)目規(guī)模越大、問(wèn)題越復(fù)雜,資源、成本、進(jìn)度等因素的不確定性就越大,承擔(dān)項(xiàng)目所冒的風(fēng)險(xiǎn)也越大。人們進(jìn)行風(fēng)險(xiǎn)分析與管理的目的就是在造成危害之前及時(shí)對(duì)風(fēng)險(xiǎn)進(jìn)行識(shí)別、分析、采取對(duì)策,從而消除或減少風(fēng)險(xiǎn)所造成的損失。該模型適合于指導(dǎo)大型軟件項(xiàng)目的開(kāi)發(fā),它將軟件項(xiàng)目開(kāi)發(fā)劃分為制定計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)施開(kāi)發(fā)以及客戶評(píng)估4類(lèi)活動(dòng)。在對(duì)風(fēng)險(xiǎn)進(jìn)行識(shí)別和分析時(shí),如果開(kāi)發(fā)風(fēng)險(xiǎn)過(guò)大,開(kāi)發(fā)者和用戶無(wú)法承受,項(xiàng)目有可能因此而終止。螺旋模型的優(yōu)越性在于

7、它吸收了“進(jìn)化”的概念,使得開(kāi)發(fā)人員和用戶對(duì)每一個(gè)演化層出現(xiàn)的風(fēng)險(xiǎn)均有所了解,并對(duì)此做出反應(yīng)。但使用該模型需要豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專(zhuān)門(mén)知識(shí),如果項(xiàng)目風(fēng)險(xiǎn)較大又未及時(shí)發(fā)現(xiàn),勢(shì)必造成重大損失。實(shí)際上,對(duì)軟件項(xiàng)目進(jìn)行風(fēng)險(xiǎn)分析也需要費(fèi)用,假如項(xiàng)目風(fēng)險(xiǎn)分析費(fèi)用過(guò)高,甚至超過(guò)了項(xiàng)目的開(kāi)發(fā)費(fèi)用,顯然就不合適了。一般大型項(xiàng)目才有較高的風(fēng)險(xiǎn),才有進(jìn)行詳細(xì)風(fēng)險(xiǎn)分析的必要。因此這種模型比較適合大型的軟件項(xiàng)目。5 為什么說(shuō)構(gòu)件復(fù)用模型是一種有利于軟件按工業(yè)流程生產(chǎn)的過(guò)程模型?答案要點(diǎn):構(gòu)件復(fù)用模型最明顯的優(yōu)勢(shì)是減少了需要開(kāi)發(fā)的軟件數(shù)量,縮短了軟件交付周期,提高了軟件的質(zhì)量,降低了開(kāi)發(fā)風(fēng)險(xiǎn)。由于構(gòu)件具有一定的通用性,可

8、以在不同的軟件系統(tǒng)中被復(fù)用。在基于構(gòu)件復(fù)用的軟件開(kāi)發(fā)中,軟件由構(gòu)件裝配而成,這就如同用標(biāo)準(zhǔn)零件裝配汽車(chē)一樣。構(gòu)件復(fù)用技術(shù),它能帶來(lái)更好的復(fù)用效果,并且具有工程特性,更能適應(yīng)軟件按工業(yè)流程生產(chǎn)的需要。6 敏捷方法的價(jià)值觀和原則與傳統(tǒng)的方法有哪些聯(lián)系和區(qū)別?答案要點(diǎn):敏捷軟件開(kāi)發(fā)過(guò)程是一類(lèi)過(guò)程的統(tǒng)稱(chēng),敏捷方法的價(jià)值觀和原則:.個(gè)體和交互勝過(guò)過(guò)程和工具;.可以工作的軟件勝過(guò)面面俱到的文檔;.客戶合作勝過(guò)合同談判;.響應(yīng)變化勝過(guò)遵循計(jì)劃。傳統(tǒng)軟件開(kāi)發(fā)開(kāi)發(fā)過(guò)程是順序和進(jìn)化的軟件過(guò)程模型,如:順序軟件過(guò)程模型有:瀑布模型,快速原型模型。進(jìn)化的軟件過(guò)程模型有:增量模型、螺旋模型。傳統(tǒng)軟件開(kāi)發(fā)模型主要采用了系

9、列化、結(jié)構(gòu)化開(kāi)發(fā)技術(shù),所以軟件過(guò)程具有“線性”特征,開(kāi)發(fā)活動(dòng)比較有序、清楚、規(guī)范,但開(kāi)發(fā)出的軟件產(chǎn)品的穩(wěn)定性、可復(fù)用性、可維護(hù)性都比較差。敏捷軟件開(kāi)發(fā)過(guò)程可用于任何軟件過(guò)程,將軟件過(guò)程設(shè)計(jì)為:允許項(xiàng)目團(tuán)隊(duì)調(diào)整并合理安排任務(wù),理解敏捷開(kāi)發(fā)方法的易變性并制定計(jì)劃,精簡(jiǎn)并維持最基本的工作,強(qiáng)調(diào)增量交付策略,快速向客戶提供適應(yīng)產(chǎn)品類(lèi)型和運(yùn)行環(huán)境的軟件。78 具有原型化的瀑布模型具有什么特點(diǎn)?它與瀑布模型最大的不同是什么?答案要點(diǎn):特點(diǎn):·原型進(jìn)化模型將軟件的需求細(xì)節(jié)定義、產(chǎn)品開(kāi)發(fā)和有效性驗(yàn)證放在同一個(gè)工作進(jìn)程中交替或并行運(yùn)作。因此在獲得了軟件需求框架以后,如軟件的基本功能被確定以后,就可以直

10、接進(jìn)入到對(duì)軟件的開(kāi)發(fā)中。 ·原型進(jìn)化模型是通過(guò)不斷發(fā)布新的軟件版本而使軟件逐步完善的,因此這種開(kāi)發(fā)模式特別適合于那些用戶急需的軟件產(chǎn)品開(kāi)發(fā)。它能夠快速地向用戶交付可以投入實(shí)際運(yùn)行的軟件成果,并能夠很好地適應(yīng)軟件用戶對(duì)需求規(guī)格的變更。不同是: 傳統(tǒng)的瀑布模型很難適應(yīng)需求變化、模糊不定的軟件系統(tǒng)的開(kāi)發(fā),而且在開(kāi)發(fā)過(guò)程中,用戶很難參與進(jìn)去,只有到開(kāi)發(fā)結(jié)束才能看到整個(gè)軟件系統(tǒng)。這種線性的開(kāi)發(fā)過(guò)程,缺乏靈活性。原型模型的提出,可以較好的解決瀑布模型的局限性。通過(guò)建立原型,可以更好的和客戶進(jìn)行溝通,解決對(duì)一些模糊需求的澄清,并且對(duì)需求的變化有較強(qiáng)的適應(yīng)能力。原型模型可以減少技術(shù)、應(yīng)用的風(fēng)險(xiǎn),縮短

11、開(kāi)發(fā)時(shí)間,減少費(fèi)用,提高生產(chǎn)率,通過(guò)實(shí)際運(yùn)行原型,提供了用戶直接評(píng)價(jià)系統(tǒng)的方法,促使用戶主動(dòng)參與開(kāi)發(fā)活動(dòng),加強(qiáng)了信息的反饋,促進(jìn)了各類(lèi)人員的協(xié)調(diào)交流,減少誤解,能夠適應(yīng)需求的變化,最終有效提高軟件系統(tǒng)的質(zhì)量。9 某企業(yè)計(jì)劃開(kāi)發(fā)一個(gè)“綜合信息管理系統(tǒng)”,該系統(tǒng)涉及銷(xiāo)售、供應(yīng)、財(cái)務(wù)、生產(chǎn)、人力資源等多個(gè)部門(mén)的信息管理。該企業(yè)的設(shè)想是按部門(mén)的優(yōu)先級(jí)別逐個(gè)實(shí)現(xiàn),邊開(kāi)發(fā)邊應(yīng)用。對(duì)此需要采用一種比較合適的過(guò)程模型,請(qǐng)對(duì)這個(gè)過(guò)程模型做出符合應(yīng)用需求的選擇,并說(shuō)明選擇理由。答案要點(diǎn):可以采用增量模型。它是瀑布模型與原型進(jìn)化模型的綜合,它對(duì)軟件過(guò)程的考慮是:在整體上按照瀑布模型的流程實(shí)施項(xiàng)目開(kāi)發(fā),以方便對(duì)項(xiàng)目的

12、管理;但在軟件的實(shí)際創(chuàng)建中,則把軟件系統(tǒng)按功能分解為許多增量構(gòu)件,并以構(gòu)件為單位逐個(gè)地創(chuàng)建與交付,直到全部增量構(gòu)架創(chuàng)建完畢,并都被集成到系統(tǒng)之中交付用戶使用。第3章 結(jié)構(gòu)化需求分析1 如何理解需求分析的任務(wù)是確定軟件系統(tǒng)“做什么”,而不是“怎么做”?答案要點(diǎn):需求分析的任務(wù)是借助當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型。在理解當(dāng)前系統(tǒng)“怎么做”的基礎(chǔ)上,抽取其“做什么”的本質(zhì),從而從當(dāng)前系統(tǒng)的物理模型抽象出當(dāng)前系統(tǒng)的邏輯模型。在去掉非本質(zhì)的因素后,根據(jù)用戶提出的對(duì)目標(biāo)系統(tǒng)的需求,分析當(dāng)前系統(tǒng)與目標(biāo)系統(tǒng)的差別,明確目標(biāo)系統(tǒng)的范圍、功能、處理步驟和數(shù)據(jù)結(jié)構(gòu),建立目標(biāo)系統(tǒng)的邏輯模型。需求分析階段研究

13、的對(duì)象是軟件項(xiàng)目的用戶要求,正確地理解需求和準(zhǔn)確地表達(dá)需求是需求分析的關(guān)鍵,只有經(jīng)過(guò)確切描述的軟件需求才能成為軟件設(shè)計(jì)的基礎(chǔ)。2 什么是用戶需求?什么是系統(tǒng)需求?答案要點(diǎn):用戶需求是關(guān)于軟件的一系列想法的集中體現(xiàn),涉及軟件的功能、操作方式、界面風(fēng)格、用戶機(jī)構(gòu)的業(yè)務(wù)范圍、工作流程和用戶對(duì)軟件應(yīng)用的展望等。因此,用戶需求也就是關(guān)于軟件的外界特征的規(guī)格表述。系統(tǒng)需求是比用戶需求更具有技術(shù)特性的需求陳述。它是提供給開(kāi)發(fā)者或用戶方技術(shù)人員閱讀的,并將作為軟件開(kāi)發(fā)人員設(shè)計(jì)系統(tǒng)的起點(diǎn)與基本依據(jù)。系統(tǒng)需求需要對(duì)系統(tǒng)的功能、性能、數(shù)據(jù)等方面進(jìn)行規(guī)格定義。3 4 用戶需求調(diào)查主要有哪些方法? 答案要點(diǎn):用戶需求調(diào)

14、查主要有研究資料法、問(wèn)卷調(diào)查法、用戶訪談和實(shí)地觀察法等。5 為什么一個(gè)系統(tǒng)的數(shù)據(jù)流程圖一般是一套分層的數(shù)據(jù)流圖?答案要點(diǎn):分層的數(shù)據(jù)流圖體現(xiàn)了分解和抽象的原則,它使人們不至于一下子陷入細(xì)節(jié),而是有控制地逐步地了解更多的細(xì)節(jié),這有助于理解問(wèn)題。圖中頂層抽象地描述了整個(gè)系統(tǒng),底層具體地畫(huà)出了軟件的每一個(gè)細(xì)部,中間層則是從抽象到具體的逐步過(guò)渡。按照這樣的方法,無(wú)論問(wèn)題多么復(fù)雜,分析工作都可以有計(jì)劃、有步驟、有條不紊地進(jìn)行。6 數(shù)據(jù)字典的作用是什么?它有哪些基本條目?答案要點(diǎn):數(shù)據(jù)字典是結(jié)構(gòu)化分析的另一個(gè)有力的工具。它是為數(shù)據(jù)流程圖中的每個(gè)數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、加工以及組成數(shù)據(jù)流或文件的數(shù)據(jù)項(xiàng)做出說(shuō)明,沒(méi)

15、有數(shù)據(jù)字典,數(shù)據(jù)流程圖就不嚴(yán)格。數(shù)據(jù)字典的重要用途是作為分析階段的工具。在數(shù)據(jù)字典中建立嚴(yán)密一致的定義有助于改進(jìn)分析人員和用戶之間的通信,避免許多誤解的發(fā)生。數(shù)據(jù)字典也有助于改進(jìn)不同的開(kāi)發(fā)人員或不同的開(kāi)發(fā)小組之間的通信。同樣,將數(shù)據(jù)流程圖中的每個(gè)元素的精確定義放在一起,就構(gòu)成了系統(tǒng)的、完整的需求規(guī)格說(shuō)明的主體。數(shù)據(jù)字典還作為連接軟件設(shè)計(jì)、實(shí)現(xiàn)和進(jìn)化階段的開(kāi)發(fā)機(jī)構(gòu)的信息存儲(chǔ)。在軟件設(shè)計(jì)階段,數(shù)據(jù)字典是存儲(chǔ)文件或數(shù)據(jù)庫(kù)設(shè)計(jì)的基礎(chǔ)。在實(shí)施階段,還可參照數(shù)據(jù)字典描述數(shù)據(jù)。隨著系統(tǒng)的改進(jìn),字典中的信息也會(huì)發(fā)生變化,新的信息會(huì)隨時(shí)加入進(jìn)來(lái)。7 需求規(guī)格說(shuō)明書(shū)的主要內(nèi)容是什么?它的作用是什么?答案要點(diǎn):需求

16、規(guī)格說(shuō)明書(shū)是需求分析階段的最終“產(chǎn)品”。它相當(dāng)于用戶和開(kāi)發(fā)商之間的一項(xiàng)合同。它精確地描述軟件產(chǎn)品做什么,以及產(chǎn)品的約束條件等。它還給軟件設(shè)計(jì)提供了一個(gè)藍(lán)圖,給系統(tǒng)驗(yàn)收提供了一個(gè)驗(yàn)收標(biāo)準(zhǔn)集。主要內(nèi)容:1)引言:編寫(xiě)目的、背景、定義、參考資料2)任務(wù)概述:目標(biāo)、用戶特點(diǎn)、假設(shè)與約束3)需求規(guī)定:對(duì)功能的規(guī)定、對(duì)性能的規(guī)定、輸入輸出要求、數(shù)據(jù)管理能力要求、故障處理要求4)運(yùn)行環(huán)境規(guī)定:設(shè)備、支持軟件、接口、控制5)需求分析等8 什么是結(jié)構(gòu)化分析方法?結(jié)構(gòu)化分析方法的結(jié)果是什么? 答案要點(diǎn):結(jié)構(gòu)化分析方法要求軟件系統(tǒng)的開(kāi)發(fā)工作按照規(guī)定步驟,使用一定的圖表工具,在結(jié)構(gòu)化和模塊化的基礎(chǔ)上進(jìn)行。結(jié)構(gòu)化是把軟

17、件系統(tǒng)功能當(dāng)作一個(gè)大模塊,根據(jù)分析與設(shè)計(jì)的不同要求,進(jìn)行模塊分解或者組合。結(jié)構(gòu)化系統(tǒng)分析的結(jié)果是建立系統(tǒng)的邏輯模型。9. 題(p54)頂圖:中圖:底圖:e-r圖:10. 題(p54)第4章 結(jié)構(gòu)化軟件設(shè)計(jì)1.概要設(shè)計(jì)的任務(wù)和步驟是什么?答案要點(diǎn):概要設(shè)計(jì)的任務(wù)就是根據(jù)需求分析階段所產(chǎn)生的軟件需求規(guī)格說(shuō)明書(shū),建立目標(biāo)系統(tǒng)的總體結(jié)構(gòu)。1)建立目標(biāo)系統(tǒng)的總體架構(gòu)2)給出每個(gè)功能模塊的功能描述、數(shù)據(jù)接口描述和調(diào)用關(guān)系,規(guī)定設(shè)計(jì)限制、外部文件及全局?jǐn)?shù)據(jù)定義。3)設(shè)計(jì)數(shù)據(jù)庫(kù)及數(shù)據(jù)結(jié)構(gòu)。4)編寫(xiě)文檔。概要設(shè)計(jì)過(guò)程主要包括:1)制定規(guī)范 2)系統(tǒng)架構(gòu)設(shè)計(jì)3)軟件結(jié)構(gòu)設(shè)計(jì)4)公共數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)5)安全性設(shè)計(jì)6)故

18、障處理設(shè)計(jì)7)編寫(xiě)文檔 8)概要設(shè)計(jì)評(píng)審2.如何理解模塊的獨(dú)立性?用什么指標(biāo)來(lái)衡量模塊的獨(dú)立性?答案要點(diǎn):模塊的獨(dú)立性是指不同模塊之間的相互聯(lián)系應(yīng)盡可能的少,應(yīng)盡可能減少公共的變量和數(shù)據(jù)結(jié)構(gòu);一個(gè)模塊應(yīng)盡可能在邏輯上獨(dú)立,有完整單一的功能。具有良好獨(dú)立性的模塊,可使模塊功能完整、數(shù)據(jù)接口簡(jiǎn)單、程序易于理解和維護(hù)。獨(dú)立性限制了錯(cuò)誤的作用范圍,使錯(cuò)誤易于排除,因而可使軟件開(kāi)發(fā)速度快,質(zhì)量高。通過(guò)模塊的耦合度、模塊的內(nèi)聚性來(lái)衡量模塊的獨(dú)立性3.從數(shù)據(jù)流程圖導(dǎo)出的初試模塊結(jié)構(gòu)圖是不完美的,應(yīng)從哪些方面考慮改進(jìn)?答案要點(diǎn):1) 做到模塊的高內(nèi)聚性,并且能夠辨別出低內(nèi)聚性的模塊,加以修改使之提高內(nèi)聚性;2

19、)降低模塊間的耦合度:控制使用全局?jǐn)?shù)據(jù)、模塊間盡量傳遞數(shù)據(jù)型信息;3)作用(影響)范圍在控制范圍之內(nèi);4) 模塊的扇入、扇出要適當(dāng)?shù)取?.什么是軟件體系結(jié)構(gòu)?什么是軟件體系結(jié)構(gòu)風(fēng)格?答案要點(diǎn):軟件體系結(jié)構(gòu)表示了一個(gè)軟件系統(tǒng)的邏輯結(jié)構(gòu),描述包含系統(tǒng)基礎(chǔ)構(gòu)成單元、它們之間的作用關(guān)系、在構(gòu)成系統(tǒng)時(shí)它們的集成方法以及對(duì)集成約束的描述等方面。在設(shè)計(jì)軟件體系結(jié)構(gòu)時(shí),必須考慮系統(tǒng)的動(dòng)態(tài)行為,考慮與現(xiàn)有系統(tǒng)的兼容性、安全性、可靠性、擴(kuò)展性和伸縮性。模式是針對(duì)特定問(wèn)題的成功解決方案,是指形成了一種趨于固定的結(jié)構(gòu)形式。人們可以無(wú)數(shù)次地使用這種完善的、成功的解決方案,無(wú)須再做重復(fù)的探索和開(kāi)發(fā)工作。在軟件系統(tǒng)中常見(jiàn)的

20、模式有結(jié)構(gòu)模式、設(shè)計(jì)模式。風(fēng)格是帶有一種傾向性的模式。同一個(gè)問(wèn)題可以有不同的解決方案和模式,但人們根據(jù)經(jīng)驗(yàn)通常會(huì)強(qiáng)烈傾向于采用特定的模式,這就是風(fēng)格。軟件風(fēng)格是在模式中帶有明顯指向性的、對(duì)軟件構(gòu)成具有整體性、普遍性、一般性的結(jié)構(gòu)和結(jié)構(gòu)關(guān)系的方法,因此,軟件風(fēng)格是一種特定的基本結(jié)構(gòu),表達(dá)了部件之問(wèn)的特定關(guān)系和應(yīng)用約束。5.為每一種模塊內(nèi)聚舉一個(gè)具體例子;為每一種模塊耦合舉一個(gè)具體例子。1.答案要點(diǎn):偶然內(nèi)聚:計(jì)算學(xué)生總成績(jī)與統(tǒng)計(jì)學(xué)生出勤人數(shù)放在一個(gè)模塊中;邏輯內(nèi)聚:打印會(huì)計(jì)報(bào)表與打印學(xué)生成績(jī)表在一個(gè)模塊中;時(shí)間內(nèi)聚:系統(tǒng)初始化模塊;過(guò)程內(nèi)聚:根據(jù)考試成績(jī)分別進(jìn)行獎(jiǎng)學(xué)金處理、留級(jí)、退學(xué)處理等通信內(nèi)

21、聚:輸入入庫(kù)單、據(jù)此登記庫(kù)存帳并開(kāi)具發(fā)票等順序內(nèi)聚:計(jì)算學(xué)生平均成績(jī)、求出最高分、最低分與達(dá)到優(yōu)秀的學(xué)生等。功能內(nèi)聚:計(jì)算工資2. 答案要點(diǎn):答案要點(diǎn):內(nèi)容耦合:a模塊中功能要完成需要調(diào)用b模塊中的代碼來(lái)實(shí)現(xiàn);公共耦合:多個(gè)模塊共享一個(gè)數(shù)據(jù)變量;控制耦合:根據(jù)醫(yī)護(hù)人員的信息,調(diào)用醫(yī)生的評(píng)價(jià)模塊、或護(hù)士的考核模塊;數(shù)據(jù)耦合:輸入考勤信息,并據(jù)此計(jì)算當(dāng)月實(shí)發(fā)工資。6.簡(jiǎn)述變換分析、事務(wù)分析的基本步驟。答案要點(diǎn):變換流分析設(shè)計(jì)步驟:1)確定變換流、輸入流和輸出流部分2)設(shè)計(jì)模塊結(jié)構(gòu)的頂層和第一層3)設(shè)計(jì)中下各層事務(wù)分析的步驟:· 根據(jù)事務(wù)功能設(shè)計(jì)一個(gè)頂層總控模塊;· 將事務(wù)中心的

22、輸入數(shù)據(jù)流對(duì)應(yīng)為一個(gè)第一層的接收模塊及該模塊的下層模塊;· 將事務(wù)中心對(duì)應(yīng)為一個(gè)第一層的調(diào)度模塊;· 對(duì)每一種類(lèi)型的事務(wù)處理,在調(diào)度模塊下設(shè)計(jì)一個(gè)事務(wù)處理模塊,然后為每個(gè)事務(wù)處理模塊設(shè)計(jì)下面的操作模塊及操作模塊的細(xì)節(jié)模塊。7.試用面向數(shù)據(jù)流的方法設(shè)計(jì)銀行儲(chǔ)蓄系統(tǒng)的軟件結(jié)構(gòu),并用e-r圖描述本系統(tǒng)中的數(shù)據(jù)對(duì)象。答案要點(diǎn):1.軟件結(jié)構(gòu)圖2. e-r圖8.畫(huà)出火車(chē)票訂票系統(tǒng)的hipo圖。答案要點(diǎn):9.詳細(xì)設(shè)計(jì)有哪些主要工具?答案要點(diǎn):程序流程圖、pad圖和盒圖是詳細(xì)設(shè)計(jì)時(shí)所使用的主要工具。10.從1000以內(nèi)將能夠被7整除的數(shù)查出來(lái),并計(jì)算出這些數(shù)的和。試分別使用程序流程圖、n-

23、s盒圖、pad圖設(shè)計(jì)該問(wèn)題的算法。答案要點(diǎn):public class a    public static void main(string args)        int n=1;        int sum=0;        while(n<=1000)       

24、60;    n=n+1;            if( (n%7=0)                sum=sum+n;                &#

25、160;           system.out.println("在1000以內(nèi)能被7整除的所有數(shù)的和是:"+sum);    12.試述界面設(shè)計(jì)中需要考慮哪些因素。答案要點(diǎn):1) 用戶工作環(huán)境與工作習(xí)慣2) 界面的風(fēng)格的“一致性”與“個(gè)性化”3) 界面信息反饋4) 界面的合適性5) 容錯(cuò)性6) 審美性和可用性軟件工程實(shí)用教程習(xí)題與參考答案第5章 面向?qū)ο蟮男枨蠓治?.簡(jiǎn)述對(duì)象與類(lèi)之間的聯(lián)系與區(qū)別。答案要點(diǎn):對(duì)象是指問(wèn)題域中某些事物的一個(gè)抽象,它反映該

26、事物在系統(tǒng)中需要保存的信息和發(fā)揮的作用,它是由數(shù)據(jù)(屬性)及其上的操作(也稱(chēng)為服務(wù)、方法或行為)組成的封裝體。類(lèi)是指具有相同屬性和操作的對(duì)象的集合,它代表一種抽象,作為具有類(lèi)似特性與共同行為的對(duì)象的模板,可用來(lái)產(chǎn)生對(duì)象。類(lèi)是具有相同屬性和行為的一組相似對(duì)象的抽象,類(lèi)在現(xiàn)實(shí)世界中并不能真正存在。類(lèi)是建立對(duì)象時(shí)使用的“樣板”,按照這個(gè)樣板所建立起來(lái)的一個(gè)個(gè)具體的對(duì)象,就是類(lèi)的實(shí)例。對(duì)象是類(lèi)的屬性數(shù)據(jù)具體化的結(jié)果,因而可稱(chēng)為是類(lèi)的實(shí)例。3.與傳統(tǒng)結(jié)構(gòu)化方法比較,面向?qū)ο蠓椒ň哂心男┓矫娴膬?yōu)越性?答案要點(diǎn):面向?qū)ο蠓椒ǖ膬?yōu)越性:1)與人們習(xí)慣的思維方法一致2)可使軟件系統(tǒng)結(jié)構(gòu)更加穩(wěn)定 3)軟件具有更好的可復(fù)用性 4)軟件更加便于維護(hù)與擴(kuò)充4試描述面向?qū)ο蟮姆治鼋_^(guò)程。答案要點(diǎn):面向?qū)ο蟮姆治鼋_^(guò):用例模型、對(duì)象(概念)模型、設(shè)計(jì)模型、配置模型、實(shí)現(xiàn)模型和測(cè)試模型等。使用用例驅(qū)動(dòng)的開(kāi)發(fā)方法是通過(guò)首先建立使用用例模型,再以用例模型為核心構(gòu)造一系列的模型。6題,答案要點(diǎn):1. 根據(jù)用戶的職能建立的用例圖。2.通過(guò)對(duì)系統(tǒng)需求中的形容詞和動(dòng)詞進(jìn)行分析,確定了每個(gè)對(duì)象的屬性和服務(wù),把每個(gè)對(duì)象的屬性和服務(wù)填到相應(yīng)的類(lèi)符號(hào)中,構(gòu)成了類(lèi)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論