軟件工程導(dǎo)論試題集46172(1)_第1頁
軟件工程導(dǎo)論試題集46172(1)_第2頁
軟件工程導(dǎo)論試題集46172(1)_第3頁
軟件工程導(dǎo)論試題集46172(1)_第4頁
軟件工程導(dǎo)論試題集46172(1)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章:軟件工程學(xué)概述一.填空題1. 計算機科學(xué)中的研究成果均可用于軟件工程,但計算機科學(xué)更側(cè)重于(原理和理論)、而軟件工程側(cè)重于(如何建造一個軟件系統(tǒng))2. 計算機程序及其說明程序的各種文檔稱為(文件)。計算任務(wù)的處理圖像對象和處理規(guī)則的描述稱為(程序)。有關(guān)計算機程序功能、設(shè)計、編制、使用的文字或圖形資料稱為(文檔)。 3. 軟件開發(fā)環(huán)境是相關(guān)一組(軟件工具)的集合,它支持一定的軟件開發(fā)方法或按照一定的軟件開發(fā)模型組織而成的。4. CASE這一術(shù)語的英文是(Computer Aided Software Engineering)。5. (平臺集成)是指工具運行在相同的硬件/操作系統(tǒng)平臺上。

2、(數(shù)據(jù)集成)是指工具使用共享數(shù)據(jù)模型來操作。(表示集成)是指工具提供相同的用戶界面。6. 根據(jù)支持的范圍,CASE工具可分為(窄支持)、(較寬支持)和(一般支持)工具。7. 軟件危機的主要原因有(軟件本身的特點)和(缺乏好的開發(fā)方法和手段)。8. (增量)模型是一種非整體開發(fā)的模型。軟件在該模型中是“逐漸”開發(fā)處理的,開發(fā)出一部分,向用戶展示一部分,可讓用戶及早看到部分軟件,及早發(fā)現(xiàn)問題。或者先開發(fā)一個“原型”軟件,完成部分主要功能,展示給用戶并征求意見,然后逐步完善,最終獲得滿意的軟件產(chǎn)品。9. 結(jié)構(gòu)化方法總得指導(dǎo)思想是(自頂而下逐步求精)。它的基本原則是功能的(分解)與(抽象)。它是軟件工

3、程中最早出現(xiàn)的開發(fā)方法,特別適用于數(shù)據(jù)處理領(lǐng)域的問題。10. 面向?qū)ο箝_發(fā)方法包括(面向?qū)ο蠓治?、(面向?qū)ο笤O(shè)計)、(面向?qū)ο髮崿F(xiàn))、三部分。11. 瀑布模型是將軟件生存周期各個活動規(guī)定為依線性順序連接的若干階段的模型。它包括(可行性分析)、項目開發(fā)計劃、(需求分析)、(概要設(shè)計) 、(詳細設(shè)計)、 _(編碼)、(測試)、(維護),它規(guī)定了由前至后、相互銜接的固定次序,如同瀑布流水,逐級下落。 12. 瀑布模型本質(zhì)上是一種(線性)順序模型。13. 構(gòu)造原型時,必須注意(功能性能)取舍,忽略一切暫時不關(guān)心的部分。14. 屬性指的是類中對象所具有的(性質(zhì)(數(shù)據(jù)值)。不同對象的同一屬性可以具有相同

4、或不同的(屬性值)。15. 結(jié)構(gòu)化方法和原型化方法是軟件開發(fā)中常使用的兩種方法,在實際的應(yīng)用中,它們之間的關(guān)系表現(xiàn)為(相互補充)。二.判斷題1. 瀑布模型的存在問題是缺乏靈活性。( )2. 軟件是一種邏輯產(chǎn)品。( )3. 軟件工程學(xué)科出現(xiàn)的主要原因是程序設(shè)計方法學(xué)的影響。( × )4. 有關(guān)計算機程序功能、設(shè)計、編制、使用的文字或圖形資料稱為文檔。( )5. CASE開放式工作臺或者提供控制集成機制,或者可剪裁,其數(shù)據(jù)集成或協(xié)議是獨立的。( × )6. 在軟件的開發(fā)與維護過程中,用來存儲、更新、恢復(fù)和管理一個軟件的多版本,它是版本控制工具。( )7. 平臺集成是指工具運行在

5、相同的硬件/操作系統(tǒng)平臺上。( )8. 軟件生存周期模型有多種,功能模型是軟件生存周期模型。( × )9. 從結(jié)構(gòu)化的瀑布模型看,在軟件生命周期中得8個階段中,詳細設(shè)計階段出錯,對軟件的影響最大。(× )10. 軟件生存周期中時間最長的階段是需求分析階段。( × )11. 軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成需求分析、功能定義、系統(tǒng)設(shè)計。( × )12. 增量模型是一種整體開發(fā)模型。( × )13. 構(gòu)造模型時,主要考慮全部功能。( × )14. 瀑布模型本質(zhì)上是一種線性迭代模型。(× )15. 快速原型思想是在

6、研究概要設(shè)計階段的方法和技術(shù)中產(chǎn)生的。( × )三.名詞解釋1. 軟件工程;軟件工程是用科學(xué)知識和技術(shù)原理來定義、開發(fā)、維護軟件的一門學(xué)科。2. 軟件生命周期模型;軟件生命周期模型是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。3. 經(jīng)濟可行性;進行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項目是否值得投資開發(fā)。4. 社會可行性;要開發(fā)的項目是否存在任何侵犯、妨礙等責任問題,要開發(fā)項目目的運行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行。5. 投資回收期;投資回收期就是使累計的經(jīng)濟效益等于最初的投資費用所需的時間。6. 結(jié)構(gòu)沖突;輸入數(shù)據(jù)與輸出數(shù)據(jù)結(jié)構(gòu)找不

7、到對應(yīng)關(guān)系的情況,稱為結(jié)構(gòu)沖突。7. 模塊化;把程序劃分成獨立運行且可以獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成指定的功能滿足用戶的需求。8. 對象;描述該對象屬性的數(shù)據(jù)以及可以對這些數(shù)據(jù)施加的所有操作封裝在一起構(gòu)成的統(tǒng)一體。9. 白盒測試;白盒測試又叫做結(jié)構(gòu)測試,把程序看成裝在一個透明的白盒子里,按照程序內(nèi)部的邏輯測試程序,檢測程序中的主要執(zhí)行通路是否都能按預(yù)定要求正確工作。10. 耦合;耦合是對一個軟件結(jié)構(gòu)內(nèi)各個模塊之間互連程度的度量。11. 內(nèi)聚;內(nèi)聚標志一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,它是信息隱蔽和局部化概念的自然擴展。12. 系統(tǒng)流程圖;

8、系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達了系統(tǒng)中各種元素之間的信息流動)情況。13. 獨立路徑;獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。14. 噴泉模型;噴泉模型是一種以用戶需求為動力,以對象為驅(qū)動的模型,主要用于描述面向?qū)ο蟮能浖_發(fā)過程。15. 變換模型;變換模型是一種適合于形式化開發(fā)方法的模型,從軟件需求形式化說明開始經(jīng)過一系列變換,最終得到系統(tǒng)的目標程序。此模型必須有嚴格的數(shù)學(xué)理論和形式化技術(shù)的支持,尚處于研究和實驗階段。四.簡答題1. 請簡要說明可行性分析的內(nèi)容。

9、技術(shù)可行性:技術(shù)分析說明使用現(xiàn)有系統(tǒng)是否能完成本系統(tǒng)的開發(fā)。經(jīng)濟可行性:經(jīng)濟分析應(yīng)著重兩個因素“成本和收益”,應(yīng)向管理層提供有關(guān)這兩方面足夠的信息。如果項目的收益大于成本,則此項目可以說是經(jīng)濟上可行。操作可行性:系統(tǒng)的操作方式是否能夠在組織內(nèi)得到認同,是否違背有關(guān)法律、制度、道德、文化等因素。2. 請寫出六種軟件CASE工具。(1)Power Designer(分析設(shè)計工具或軟件建模工具),(2)Rational Rose(分析設(shè)計工具或軟件建模工具),(3)Win Runner(測試工具),(4)MS Project(項目管理工具),(5)MS Visio(軟件開發(fā)繪圖工具)、(6)VSS(

10、軟件配置工具)。3. 什么是軟件工程?軟件工程的目標是什么? 軟件工程是將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運行和維護過程,即將工程化應(yīng)用于軟件開發(fā)和管理之中,對中所選方法的研究。目標:1 合理預(yù)算開發(fā)成本,付出較低的開發(fā)費用、2 實現(xiàn)預(yù)期的軟件功能,達到較好的軟件性能,滿足用戶的需求、3 提高軟件的可維護性,降低維護費用、4 提高軟件開發(fā)生產(chǎn)率,及時交付使用。4. 什么是結(jié)構(gòu)化分析方法?該方法使用什么描述工具?結(jié)構(gòu)化的分析方法是面向數(shù)據(jù)流的方法,因此,此方法研究的核心是數(shù)據(jù)的組成和數(shù)據(jù)流向和對數(shù)據(jù)的加工處理。結(jié)構(gòu)化分析方法用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂

11、向下逐層分解,直至找到滿足功能要求的所有可實現(xiàn)的軟件元素為止描述工具:1系統(tǒng)流程圖 2 數(shù)據(jù)流程圖3數(shù)據(jù)字典4 IPO圖 5層次方框圖6實體關(guān)系圖7狀態(tài)變遷圖5. 軟件設(shè)計的基本原理包括什么? 模塊化:指解決一個復(fù)雜問題時自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程。每個模塊完成一個特定的子功能,所有模塊按某種方法組裝起來,成為一個整體,完成整個系統(tǒng)所要求的功能。模塊化是軟件解決復(fù)雜問題所具備的手段。 抽象:是認識復(fù)雜現(xiàn)象過程中使用的思維工具,即抽出事物本質(zhì)的共同的特性而暫不考慮它的細節(jié),不考慮其他因素。軟件工程中每一步都是對軟件解決方法的抽象層次的一次細化。 信息隱蔽:指在設(shè)計和確定模塊時,使

12、得一個模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對于不需要這些信息的其他模塊來說,是不能訪問的。通過信息隱蔽,可以定義和實施對模塊的過程細節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的存取限制。 模塊獨立性。指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。衡量模塊獨立性有兩個標準耦合性和內(nèi)聚性,可判斷設(shè)計方案的優(yōu)劣。6. 簡述容錯技術(shù)的四種主要手段,并解釋結(jié)構(gòu)冗余:包括靜態(tài)冗余、動態(tài)冗余和混合冗余。信息冗余:為檢測或糾正信息在運算或傳輸中的錯誤,須外加一部分信息。時間冗余:指重復(fù)執(zhí)行指令或程序來消除瞬時錯誤帶來的影響。冗余附加技術(shù):指為實現(xiàn)上述冗余技術(shù)所需的資源和技術(shù)。7. 軟件生命周期劃分成哪些階段軟

13、件生命周期(各階段)軟件生命周期由軟件定義、軟件開發(fā)和運行維護三個時期組成。1.軟件定義時期劃分為三個階段:問題定義、可行性研究和需求分析2.開發(fā)時期:總體設(shè)計、詳細設(shè)計、編碼和單元測試、綜合測試。3.維護時期:主要任務(wù)是使軟件持久地滿足用戶的需要。8. 簡要說明軟件危機產(chǎn)生的原因1.軟件缺乏可見性,導(dǎo)致對軟件開發(fā)成本,工作量,速度的估計不準確。2.對用戶要求沒有完整準確的認識,不能適應(yīng)用戶的需求。3.缺乏對軟件產(chǎn)品和開發(fā)過程的質(zhì)量控制,導(dǎo)致軟件產(chǎn)品的質(zhì)量往往靠不住。4.在實踐過程中或多或少的采用了錯誤的方法和技術(shù)。5.開發(fā)和維護過程中文檔化工作做的不好,缺乏配置管理。五.綜合題解答:六.論述

14、題(方案1)1. 從軟件過程中選擇3種說明其名稱、示意圖以及特點。1. 螺旋模型:螺旋模型的基本思想是,使用原型及其他方法來盡量降低風(fēng)險。理解這種模型的一個簡便方法,是把它看作在每個階段之前都增加了風(fēng)險分析過程的快速原型模型瀑布模型:瀑布模型將軟件生命周期劃分為制定計劃、需求分析、軟件設(shè)計、程序編寫、軟件測試和運行維護等六個基本活動,并且規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落。增量模型又稱演化模型。在增量模型中,軟件被作為一系列的增量構(gòu)件來設(shè)計、實現(xiàn)、集成和測試,每一個構(gòu)件是由多種相互作用的模塊所形成的提供特定功能的代碼片段構(gòu)成。2. 試論述軟件工程方法學(xué)的3個要素。通

15、常把軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué), 也稱范型。三要素:方法、工具和過程。3. 試論述軟件生命周期模型瀑布模型:優(yōu)點:1.可強迫開發(fā)員采用規(guī)范的方法 2.嚴格地規(guī)定了每個階段必須提交的文件 3.要求每 個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細驗證。缺點:傳統(tǒng)的瀑布模型過于理想化,是由文檔驅(qū)動的??焖僭湍P停和ㄟ^快速構(gòu)建起一個可在計算機上運行的原型系統(tǒng),讓用戶試用原型并收集用戶反 饋意見的方法,獲取用戶真正的需要。增量模型:優(yōu)點:能在較短時間內(nèi)向用戶提交可完成部分工作的產(chǎn)品;逐步增加產(chǎn)品功能可以使用 戶有較充實的時間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個全新的軟件可能

16、給客戶組織帶來的沖擊。螺旋模型:優(yōu)點:對可選方案和約束條件的強調(diào)有利于已有軟件的重用;減少了過多測試;維護只 是螺旋模型中另一個周期。4. 評價軟件工具的原則? (1) 易用性:友好的用戶界面,用戶樂于使用;(2) 對開發(fā)方法的支持:能滿足預(yù)期的任務(wù)和功能需求,且能支持完成該任務(wù)所遵循的方法學(xué);(3) 穩(wěn)健性:具備自檢測機制,即使在故障情況下也不會導(dǎo)致嚴重后果;(4) 性能:能使資源得到充分有效的利用;(5) 工具結(jié)構(gòu)柔性:工具結(jié)構(gòu)是柔軟的、可修改的和可擴充的。5. 軟件生命周期劃分成哪些階段 軟件生命周期(各階段)軟件生命周期由軟件定義、軟件開發(fā)和運行維護三個時期組成。1. 軟件定義時期劃分

17、為三個階段:問題定義、可行性研究和需求分析2. 開發(fā)時期:總體設(shè)計、詳細設(shè)計、編碼和單元測試、綜合測試。3. 維護時期:主要任務(wù)是使軟件持久地滿足用戶的需要。6. 什么是軟件過程?它與軟件工程方法學(xué)有何關(guān)系?軟件過程:是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟軟件工程方法學(xué):通常把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué),也稱范型7. 試論述可行性研究的任務(wù)1.進一步分析和澄清問題;2.導(dǎo)出系統(tǒng)的邏輯模型;3.從邏輯模型出發(fā),提出若干種系統(tǒng) 實現(xiàn)方案 4.研究每種實現(xiàn)方案的可行性:8. .試論述需求分析的準則1、必須并描述的信息域,根據(jù)這

18、條準則應(yīng)該建立數(shù)據(jù)模型。2、必須定義軟件應(yīng)完成的功 能,這條準則要求建立功能模型。3、必須描述作為外部事件結(jié)果的軟件行為,這條準則要求建立行為模型。4、必須對描述信息、功能和行為的模型進行分解,用層次的方式展示細節(jié)。9. 試論述需求分析的任務(wù)1、確定對系統(tǒng)的綜合要求;2、分析系統(tǒng)的數(shù)據(jù)要求;3、導(dǎo)出系統(tǒng)的邏輯模型;4、修 正系統(tǒng)開發(fā)計劃。10. 試論述應(yīng)該從哪些方面研究目標系統(tǒng)的可行性? 技術(shù)上的可行性 使用現(xiàn)有的技術(shù)能實現(xiàn)這個系統(tǒng)嗎?經(jīng)濟上的可行性 這個系統(tǒng)的經(jīng)濟效益能超過它的開發(fā)成本嗎? (投資與效益)操作可行性 系統(tǒng)的操作方式在這個用戶組織內(nèi)行得通嗎?社會、政策允許的可行性11. 在軟件

19、開發(fā)過程中必須遵循下列軟件工程原則。 抽象 : 采用分層次抽象,自頂向下、逐層細化的辦法進行功能分解和過程分解,可以由抽象到具體、由復(fù)雜到簡單,逐步得到問題的解。信息隱蔽 : 遵循信息封裝,使用與實現(xiàn)分離的原則,將模塊設(shè)計成“黑箱”,可以將實現(xiàn)的細節(jié)隱藏在模塊內(nèi)部,使用者只能通過模塊接口訪問模塊中封裝的數(shù)據(jù)。模塊化 : 按模塊劃分系統(tǒng)的體系結(jié)構(gòu),使得各模塊間有良好的接口。這樣有助于信息隱蔽和抽象,有助于表示復(fù)雜的系統(tǒng)。局部化 : 按抽象數(shù)據(jù)類型思想及問題域中的概念來建立模塊,確保模塊之間低耦合,模塊內(nèi)部高內(nèi)聚。這有助于控制解的復(fù)雜性。確定性 : 軟件開發(fā)過程中所有概念的表達應(yīng)是確定的、無歧義性

20、的、規(guī)范的。這有助于人們之間的溝通,保證整個開發(fā)工作協(xié)調(diào)一致。一致性 : 強調(diào)軟件開發(fā)過程的標準化、統(tǒng)一化。包括文檔格式的一致,工作流程的一致,內(nèi)、外部接口的一致,系統(tǒng)規(guī)格說明與系統(tǒng)行為的一致等。完備性 : 軟件系統(tǒng)不丟失任何重要成分,可以完全實現(xiàn)系統(tǒng)所要求功能。可驗證性 : 開發(fā)大型的軟件系統(tǒng)需要對系統(tǒng)自頂向下、逐層分解。系統(tǒng)分解應(yīng)遵循系統(tǒng)易于檢查、測試、評審的原則,以確保系統(tǒng)的正確性。12. 軟件工程是開發(fā)、運行、維護和修復(fù)軟件的系統(tǒng)化方法,它包含哪些要素?試說明之。 軟件工程包括三個要素:方法、工具和過程。軟件工程方法為軟件開發(fā)提供了“如何做”的技術(shù)。它包括了多方面的任務(wù),如項目計劃與估

21、算、軟件系統(tǒng)需求分析、數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)總體結(jié)構(gòu)的設(shè)計、算法過程的設(shè)計、編碼、測試以及維護等。軟件工程方法常采用某一種特殊的語言或圖形的表達方法及一套質(zhì)量保證標準。軟件工具為軟件工程方法提供了自動的或半自動的軟件支撐環(huán)境。目前,已經(jīng)推出了許多軟件工具,已經(jīng)能夠支持上述的軟件工程方法。特別地,已經(jīng)有人把諸多的軟件工具集成起來,使得一種工具產(chǎn)生的信息可以為其它的工具所使用,這樣建立起一種被稱之為計算機輔助軟件工程(CASE)的軟件開發(fā)支撐系統(tǒng)。CASE將各種軟件工具、開發(fā)機器和一個存放開發(fā)過程信息的工程數(shù)據(jù)庫組合起來形成一個軟件工程環(huán)境。軟件工程的過程則是將軟件工程的方法和工具綜合起來以達到合理、及時

22、地進行計算機軟件開發(fā)的目的。過程定義了方法使用的順序、要求交付的文檔資料、為保證質(zhì)量和協(xié)調(diào)變化所需要的管理、及軟件開發(fā)各個階段完成的里程碑。13. 什么是CASE?CASE工具有哪些分類?CASE是一組工具和方法的集合,可以輔助軟件開發(fā)生命周期各階段進行軟件開發(fā)。 從學(xué)術(shù)研究角度講,CASE是多年來在軟件開發(fā)管理、軟件開發(fā)方法、軟件開發(fā)環(huán)境和軟件工具等方面研究和發(fā)展的產(chǎn)物。CASE把軟件開發(fā)技術(shù)、軟件工具和 軟件開發(fā)方法集成到一個統(tǒng)一而一致的框架中,并且吸引了CAD(計算機輔助設(shè)計)、軟件工程、操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)和許多其它計算機領(lǐng)域的原理和技術(shù)。 因而,CASE領(lǐng)域是一個應(yīng)用集成和綜合的領(lǐng)

23、域。從產(chǎn)業(yè)角度講,CASE是種類繁多的軟件開發(fā)和系統(tǒng)集成的產(chǎn)品及軟件工具的集合。CASE分 類:<1>CASE技術(shù)種類CASE系統(tǒng)所涉及到的技術(shù)有兩類:一類是支持軟件開發(fā)過程本身的技術(shù);另一類是支持軟件開發(fā)過程管理的技術(shù)。從 CASE系統(tǒng)產(chǎn)生方式來看,還有一種特殊的CASE技術(shù),即元CASE技術(shù)。他是生成CASE系統(tǒng)的生成器所采用的技術(shù)。該生成器可用來創(chuàng)建支持軟件 開發(fā)過程活動及過程管理的CASE系統(tǒng)。<2>CASE工具的分類對CASE工具分類的標準可分為:功能。功能是對軟件進行分類的最常用的 標準。支持的過程。根據(jù)支持的過程,工具可分為設(shè)計工具、編程工具、維護工具等。

24、支持的范圍。根據(jù)支持的范圍,可分為窄支持、較寬支持和一般支持工 具。窄支持指支持過程中特定的任務(wù),較寬支持是指支持特定過程階段;一般支持是指支持覆蓋軟件過程的全部階段或大多數(shù)階段。1993年,F(xiàn)uggetta 根據(jù)CASE系統(tǒng)對軟件過程的支持范圍,提出CASE系統(tǒng)可分為三類:支持單個過程任務(wù)的工具。工具可能是通用的,或者也可能歸組到工作臺。工作臺支 持某一過程所有活動或某些活動。他們一般以或多或少的集成度組成工具集。環(huán)境支持軟件過程所有活動或至少大部分。他們一般包括幾個不同的工作臺,將這些 工作臺以某種方式集成起來。14. 軟件工程標準化的意義是什么?都有哪些軟件工程標準?軟件工程標準化可以為

25、軟件工程各個階段的活動提供統(tǒng)一的行動規(guī)范和衡量準則,使得各種工作都能有章可循。軟件工程標準根據(jù)其制定機構(gòu)與適用范圍,可分為:1、國際標準2、國家標準3、行業(yè)標準4、企業(yè)規(guī)范5、項目(課題)規(guī)范15. 什么是軟件開發(fā)環(huán)境?請列出其發(fā)展情況。軟件開發(fā)環(huán)境是指在計算機的基本軟件的基礎(chǔ)上,為支持軟件的開發(fā)而提供的一組工具軟件系統(tǒng)。具體地說,軟件開發(fā)環(huán)境是一組相關(guān)工具的集合。這些相關(guān)工具按一定的開發(fā)方法或一定開發(fā)處理模型組織起來的,這些相關(guān)工具支持整個軟件生存期的各階段或部分階段。軟件開發(fā)環(huán)境的發(fā)展階段:(1)70年代,軟件開發(fā)與設(shè)計方法出現(xiàn)了結(jié)構(gòu)化分析技術(shù)的一整套相互銜接的SA-SD的方法學(xué)。與此相適

26、應(yīng)的計算機輔助軟件工程技術(shù)則主要由開發(fā)孤立的軟件工具而逐步向程序設(shè)計環(huán)境的開發(fā)和使用方向發(fā)展,出現(xiàn)了第一代的基于正文的CASE工具。(2)80年代中期與后期,主要是實時系統(tǒng)設(shè)計方法,以及面向?qū)ο蟮姆治龊驮O(shè)計方法的發(fā)展,它克服了結(jié)構(gòu)化技術(shù)的缺點。在這期間開發(fā)了第二代的CASE工 具,其特點是支持使用圖形表示的結(jié)構(gòu)化方法,如數(shù)據(jù)流圖與結(jié)構(gòu)圖。其開發(fā)環(huán)境表現(xiàn)在提高環(huán)境中工具的集成性方面,如"集成的項目支持環(huán)境"。(3)80年代后期和90年代初期出現(xiàn)了"基于信息工程CASE"技術(shù),這種環(huán)境集成了用于項目計劃、分析、設(shè)計、編程、測試和維護的一個工具箱的集合。(4)

27、90年代出現(xiàn)一系列集成的CASE軟件產(chǎn)品,用以實現(xiàn)需求管理、應(yīng)用程序分析設(shè)計和建模、編碼、軟件質(zhì)量保證和測試、過程和項目管理及文檔生成管理等軟件開發(fā)工作的規(guī)范化、工程化和自動化。第二章: 可行性研究一.填空題1. 數(shù)據(jù)詞典中四種類型的條目是(數(shù)據(jù)流)、(數(shù)據(jù)存儲)、(數(shù)據(jù)項)和加工。2. (軟件可行性研究)的目的就是用最小的代價在盡可能短的時間內(nèi)確定該軟件項目是否能夠開發(fā),是否值得開發(fā)。3. 可行性研究的目的不是去開發(fā)一個軟件項目,而是研究這個軟件項目是否(值得去開發(fā)且其中的問題能否解決)。4. 可行性研究實質(zhì)上是要進行一次簡化、壓縮了的(需求分析)和(設(shè)計)過程,要在較高層次上以較抽象的方式

28、進行需求分析和設(shè)計過程。5. 可行性研究需要從(技術(shù))可行性、(經(jīng)濟)可行性、(社會)可行性三個方面分析研究每種解決方法的可行性。6. 成本-效益分析首先是估算將要開發(fā)的系統(tǒng)的(開發(fā)成本),然后與可能取得的效益進行(比較和權(quán)衡)。7. 投資回收期就是使累計的經(jīng)濟效益等于最初的投資費用所需要的時間。項目的(純收入)是指在整個生命周期之內(nèi)的累計經(jīng)濟效益(折合成現(xiàn)在值)與投資之差。8. 軟件工程有兩種效益,它們是(無形效益)和(有形效益)。9. 成本-效益分析的目的是從(經(jīng)濟角度)評價開發(fā)一個新的軟件項目是否可行。10. 研究開發(fā)資源的有效性是進行(技術(shù))可行性研究的一方面。11. 在軟件的可行性研

29、究中,可以從不同的角度對軟件進行研究,其中是從軟件的功能可行性角度考慮的是(技術(shù)可行性)。12. 制定軟件計劃的目的在于盡早對欲開發(fā)的軟件進行合理估價,軟件計劃的任務(wù)是(規(guī)劃與調(diào)度)。13. 數(shù)據(jù)流圖是常用的進行軟件需求分析的圖形工具,其基本符合是(加工)、(數(shù)據(jù)流)、(數(shù)據(jù)存儲)和(外部實體)。14. 決定大型程序模型組織基本原則的兩種交替設(shè)計策略為(數(shù)據(jù)分解)和(算法分解)。15. 軟件系統(tǒng)可行性分析應(yīng)考慮(經(jīng)濟)、(技術(shù))、(社會環(huán)境)和(人)等方面因素。二.判斷題1. 父圖中某個加工的輸入輸出數(shù)據(jù)流圖應(yīng)具備對稱特點。( × )2. 數(shù)據(jù)流圖(DFD)是軟件開發(fā)需求分析階段經(jīng)常

30、使用的工具。( )3. 在軟件工程項目中,不隨參與人數(shù)的增加而使軟件的生產(chǎn)率增加的主要問題是參與人員之間的通訊困難。( )4. 可行性分析中,系統(tǒng)流程圖用于描述當前運行系統(tǒng)。( )5. 研究軟硬件資源的有效性是進行操作可行性研究的一方面。( × )6. 可行性研究要進行的需求分析和設(shè)計應(yīng)是簡化、壓縮的。( )7. 系統(tǒng)流程圖是描述物理系統(tǒng)的工具。( )8. 軟件系統(tǒng)中所有的信息流都可以認為是事物流。( × )9. 軟件系統(tǒng)中所有的信息流都可以認為是變化流。(× )10. 在程序的描述和分析中,用以指明數(shù)據(jù)來源、數(shù)據(jù)流向和數(shù)據(jù)處理的輔助圖形是數(shù)據(jù)流圖。( )11.

31、加工是對數(shù)據(jù)流圖中不能再分解的基本加工的精確說明,且加工邏輯是加工的最核心。( )12. 軟件定義期間問題定義階段涉及的人員有系統(tǒng)分析員、軟件開發(fā)人員、用戶與使用部門的負責人。( )13. 系統(tǒng)定義明確之后,應(yīng)對系統(tǒng)的可行性進行研究??尚行匝芯堪ń?jīng)濟可行性、社會可行性、系統(tǒng)可行性。(× )14. 在結(jié)構(gòu)化分析方法中,用狀態(tài)-遷移圖表達系統(tǒng)和對象的行為。在狀態(tài)-遷移圖中,由一個狀態(tài)和一個時間所決定的下一個狀態(tài)只能有1個。( × )15. 提供嚴格定義的文檔是原型化方法的特征。( × )三.名詞解釋解答:四.簡答題1. 什么是數(shù)據(jù)字典?其作用是什么?它有哪些條目?數(shù)

32、據(jù)字典,主要用來描述數(shù)據(jù)流程圖中的數(shù)據(jù)流、數(shù)據(jù)存儲、處理過程和和數(shù)據(jù)源點/終點。作用:數(shù)據(jù)流程圖描述了系統(tǒng)的邏輯結(jié)構(gòu),其中的四個基本圖形元素的含義無法在數(shù)據(jù)流程圖中詳細說明,因此數(shù)據(jù)流程圖需要與其他工具配合使用,數(shù)據(jù)字典就是這樣的工具之一。包括的條目:數(shù)據(jù)流詞條、數(shù)據(jù)元素詞條、數(shù)據(jù)存儲詞條、數(shù)據(jù)加工處理詞條、數(shù)據(jù)源點及終點詞條。2. 什么是數(shù)據(jù)流圖?其作用是什么?數(shù)據(jù)流圖簡稱DFD,是SA方法中用于表示系統(tǒng)邏輯模型的一種工具。它以圖形的方式描述數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。數(shù)據(jù)流圖有四種基本圖形符號:“”箭頭表示數(shù)據(jù)流;“”圓或橢圓表述

33、加工;“=”雙杠表示數(shù)據(jù)存儲;“”方框表示數(shù)據(jù)的源點或終點。3. 可行性研究的任務(wù)有哪些?可行性研究首先需要進行概要的分析研究,初步確定項目的規(guī)模和目標,確定項目的約束和限制。把它們清楚地列舉出來。然后分析員進行簡單的需求分析,經(jīng)過壓縮的設(shè)計,探索出若干種可提供選擇的主要解決辦法。對每種解決辦法都要研究它的可行性。主要從經(jīng)濟可行性、技術(shù)可行性和社會可行性三方面進行研究。4. 什么是軟件配置管理?軟件配置管理,簡稱SCM(Software Configuration Management),是指一組管理整個軟件生存期各階段中變更的活動。軟件配置管理技術(shù)可以使軟件變更所產(chǎn)生的錯誤達到最小并最有效地

34、提高生產(chǎn)率。5. 簡述文檔在軟件工程中的作用? (1)提高軟件開發(fā)過程的能見度(2)提高開發(fā)效率(3)作為開發(fā)人員階段工作成果和結(jié)束標志(4)記錄開發(fā)過程的有關(guān)信息便于使用與維護;(5)提供軟件運行、維護和培訓(xùn)有關(guān)資料;(6)便于用戶了解軟件功能、性能。6. 軟件開發(fā)成本估算方法有哪幾種? <1>自頂向下估算方法。估算人員參照以前完成的項目所耗費的總成本(或總工作量),來推算將要開發(fā)的軟件的總成本(或總工作量),然后把它們按階段、步驟和工作單元進行分配,這樣方法稱為自頂向下的估算方法。<2>自底向上估算方法。自底向上估算方法是將待開發(fā)的軟件細分,分別估算每一個子任務(wù)所需

35、要的開發(fā)工作量,然后將它們加起來,得到軟件的總開發(fā)量。<3>差別估算方法。差別估算是將開發(fā)項目與一個或多個已完成的類似項目進行比較,找出與某個相類似項目的若干不同之處,并估算每個不同之處對成本的影響,導(dǎo)出開發(fā)項目的總成本。7. 請說明軟件文檔的作用。軟件文檔的作用是:提高軟件開發(fā)過程的能見度;提高開發(fā)效率;作為開發(fā)人員階段工作成果和結(jié)束標志;記錄開發(fā)過程的有關(guān)信息便于使用與維護;提供軟件運行、維護和培訓(xùn)有關(guān)資料;便于用戶了解軟件功能、性能。軟件開發(fā)項目生存期各階段應(yīng)包括得文檔以及與各類人員的關(guān)系如下:可行性研究報告、項目開發(fā)計劃、軟件需求說明書、數(shù)據(jù)要求說明書、測試計劃、概要設(shè)計說

36、明書、詳細設(shè)計說明書、用戶手冊、操作手冊、測試分析報告、開發(fā)進度月報、項目開發(fā)總結(jié)、程序維護手冊(維護修改建議)。8. 簡述提高軟件質(zhì)量的主要措施。 復(fù)審:是在軟件生命周期每個階段結(jié)束之前,都采用一定的標準對該段產(chǎn)生的軟件配置成分進行嚴格的正式或非正式的檢測。復(fù)查:是檢查已有的材料,以斷定在軟件生命周期某個階段的工作是否能夠開始或繼續(xù)。管理復(fù)審:是向開發(fā)組織或使用部門的管理人員提供有關(guān)項目的總體狀況、成本和進度等方面的情況,以便他們從管理角度對開發(fā)工作進行審查。五.綜合題1. 請以WEB SNS 為主題,分析校園SNS系統(tǒng)的操作可行性,并按照國標規(guī)范書寫可行性分析報告。(1)按照GB-8567

37、-88 進行可行性分析的書寫;(2)重點分析技術(shù)與操作可行性。2. 請以無線校園為背景,分析無線校園的技術(shù)可行性、操作可行性與經(jīng)濟可行性。(1)按照國標GB 8567-88 規(guī)范書寫相應(yīng)內(nèi)容。3. 請以農(nóng)產(chǎn)品購銷供應(yīng)鏈一體化系統(tǒng)為背景,分析其經(jīng)濟可行性與技術(shù)可行性。(1)按照GB-8567-88書寫規(guī)范的可行性分析報告4. 請以城市交通流擁塞與控制為背景,書寫該系統(tǒng)的可行性分析報告。(1)重點進行交通流擁塞與控制的技術(shù)可行性研究,分析其技術(shù)可行性5. 請以智能家庭為例,分析其經(jīng)濟可行性與技術(shù)可行性。(1)重點進行智能家庭的技術(shù)可行性分析;(2)按照國標 GB-8567-88規(guī)范書寫。6. 請以

38、“信息塵埃”在現(xiàn)代戰(zhàn)爭中的應(yīng)用為背景,進行可行性分析。(1)按照國標 GB-8567-88規(guī)范書寫;(2)重點進行“信息塵?!奔夹g(shù)可行性分析7. 請以網(wǎng)絡(luò)視頻社區(qū)為背景,按照國標規(guī)范書寫可行性分析報告。(1)按照國標 GB-8567-88規(guī)范書寫(2)著重進行視頻系統(tǒng)的技術(shù)可行性分析8. 請以社區(qū)呼叫中心為背景,進行可行性分析。(1)按照國標 GB-8567-88規(guī)范書寫;(2)重點進行社區(qū)管理的操作可行性分析。六.論述題(方案1)解答:第三章: 需求分析一.填空題1. 軟件需求分析過程應(yīng)該建立(數(shù)據(jù)模型)、(功能模型)和(行為模型) 三種模型。2. 需求分析的基本任務(wù)是要準確地定義(新系統(tǒng)的

39、目標),為了滿足用戶需要,回答系統(tǒng)必須做什么的問題。3. 數(shù)據(jù)流圖有4個基本成分:(數(shù)據(jù)流)、(加工(又稱數(shù)據(jù)處理))、(數(shù)據(jù)存儲)和(數(shù)據(jù)源點和終點)。4. 流向數(shù)據(jù)存儲的數(shù)據(jù)流可理解為(寫入)文件或(查詢)文件,從數(shù)據(jù)存儲流出的數(shù)據(jù)可理解為從文件(讀)數(shù)據(jù)或得到(查詢)結(jié)果。5. 需求分析的困難主要體現(xiàn)在4個方面:問題的復(fù)雜性、(交流障礙)、(不完備性和不一致性)需求易變性。6. 由于數(shù)據(jù)流是流動中的數(shù)據(jù),所以必須有(流向)。除了與(數(shù)據(jù)存儲)之間的數(shù)據(jù)流不用命名外,數(shù)據(jù)流應(yīng)該用名詞或名詞短語命名。7. 結(jié)構(gòu)化分析方法是面向(數(shù)據(jù)流)進行需求分析的方法。8. 經(jīng)過需求分析,開發(fā)人員已經(jīng)基本

40、上理解了用戶的要求,確定了目標系統(tǒng)的功能,定義了系統(tǒng)數(shù)據(jù),描述了處理這些數(shù)據(jù)的基本策略。將這些共同的理解進行了整理,最后形成文檔(需求說明書)。9. 在數(shù)據(jù)流圖中,有名字及方向的成分是(數(shù)據(jù)流)。10. 在軟件需求分析中,開發(fā)人員要從用戶那里解決的最重要的問題是(要讓軟件做什么)。11. 需求分析的最終結(jié)果是產(chǎn)生(需求規(guī)格說明書)。12. SA方法用DFD描述( 系統(tǒng)的功能)。13. SA方法的基本思想是(自頂向下逐步分解)。14. 常用的需求分析方法有面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法,(面向?qū)ο蟮姆治龇椒?,面向數(shù)據(jù)結(jié)構(gòu)的分析方法等。15. 通過(功能分解)可以完成數(shù)據(jù)流圖的細化。二.判斷題1.

41、數(shù)據(jù)流圖(DFD)是軟件開發(fā)可行性分析階段經(jīng)常使用的工具。( × )2. 需求分析階段的任務(wù)是確定軟件系統(tǒng)的功能。( )3. 在數(shù)據(jù)流圖中,不能被計算機處理的成分是數(shù)據(jù)源/終點。( )4. 通過功能分解可以完成數(shù)據(jù)流圖的細化。( )5. 分層DFD是一種比較嚴格又易于理解的描述方式,它的頂層圖描述了系統(tǒng)的輸入與輸出。( )6. 數(shù)據(jù)字典中,一般不包括數(shù)據(jù)存儲條目。( × )7. 初步用戶手冊在需求分析階段編寫。( )8. SA方法的分析步驟是首先調(diào)查了解當前系統(tǒng)的邏輯模型,然后獲得當前系統(tǒng)的物理模型,抽象出當前系統(tǒng)的邏輯模型,建立目標系統(tǒng)的邏輯模型。( )9. 每個數(shù)據(jù)流必

42、須用名詞或名詞短語命名。( × )10. 模塊獨立性是軟件模塊化所提出的要求,衡量模塊獨立性的度量標準時模塊的內(nèi)聚性和耦合性。( )11. 數(shù)據(jù)詞典的任務(wù)是對于數(shù)據(jù)流圖中出現(xiàn)的所有被命名的數(shù)據(jù)元素,在數(shù)據(jù)詞典中作為一個詞條加以定義,使得每一個圖形元素的名字都有一個確切的描述。( )12. 在需求分析中,開發(fā)人員要從用戶那里解決的最重要的問題是要讓軟件做什么。( )13. 結(jié)構(gòu)化分析方法(SA)是一種面向數(shù)據(jù)結(jié)構(gòu)需求分析方法。( × )14. 軟件需求分析的任務(wù)包括結(jié)構(gòu)化程序設(shè)計。(× )15. SA方法是一種自頂下下逐層分解的分析方法。( )三.名詞解釋解答:四.

43、簡答題解答:五.綜合題1. 請以教材購銷的內(nèi)容為應(yīng)用背景,畫出數(shù)據(jù)流圖、寫清數(shù)據(jù)字典、小說明。(1)數(shù)據(jù)流圖要求至少三層,包括頂層圖、中間層圖、底層圖;(2)數(shù)據(jù)字典必須符合客觀實際;(3)小說明需要解釋異常情況2. 請以小超市銷售管理的內(nèi)容為應(yīng)用背景,畫出數(shù)據(jù)流圖、寫清數(shù)據(jù)字典、小說明。 (1)數(shù)據(jù)流圖要求至少三層,包括頂層圖、中間層圖、底層圖;(2)數(shù)據(jù)字典必須符合客觀實際;(3)小說明需要解釋異常情況3. 請以校園交友娛樂社區(qū)的內(nèi)容為應(yīng)用背景,畫出數(shù)據(jù)流圖、寫清數(shù)據(jù)字典、小說明。 (1)數(shù)據(jù)流圖要求至少三層,包括頂層圖、中間層圖、底層圖;(2)數(shù)據(jù)字典必須符合客觀實際;(3)小說明需要解

44、釋異常情況4. 請以校園學(xué)習(xí)交流社區(qū)的內(nèi)容為應(yīng)用背景,畫出數(shù)據(jù)流圖、寫清數(shù)據(jù)字典、小說明。 (1)數(shù)據(jù)流圖要求至少三層,包括頂層圖、中間層圖、底層圖;(2)數(shù)據(jù)字典必須符合客觀實際;(3)小說明需要解釋異常情況5. 請以網(wǎng)絡(luò)爬蟲應(yīng)用系統(tǒng)為背景,畫出數(shù)據(jù)流圖、寫清數(shù)據(jù)字典、小說明。 (1)數(shù)據(jù)流圖要求至少三層,包括頂層圖、中間層圖、底層圖;(2)數(shù)據(jù)字典必須符合客觀實際;(3)小說明需要解釋異常情況6. 請以校園互助貼吧的內(nèi)容為應(yīng)用背景,畫出數(shù)據(jù)流圖、寫清數(shù)據(jù)字典、小說明。 (1)數(shù)據(jù)流圖要求至少三層,包括頂層圖、中間層圖、底層圖;(2)數(shù)據(jù)字典必須符合客觀實際;(3)小說明需要解釋異常情況7.

45、 請以網(wǎng)絡(luò)驢友互助的內(nèi)容為應(yīng)用背景,畫出數(shù)據(jù)流圖、寫清數(shù)據(jù)字典、小說明。 (1)數(shù)據(jù)流圖要求至少三層,包括頂層圖、中間層圖、底層圖;(2)數(shù)據(jù)字典必須符合客觀實際;(3)小說明需要解釋異常情況8. 請以社區(qū)后勤管理為應(yīng)用背景,畫出數(shù)據(jù)流圖、寫清數(shù)據(jù)字典、小說明。 (1)數(shù)據(jù)流圖要求至少三層,包括頂層圖、中間層圖、底層圖;(2)數(shù)據(jù)字典必須符合客觀實際;(3)小說明需要解釋異常情況六.論述題(方案1)解答:第五章: 總體設(shè)計一.填空題1. 過程設(shè)計語言的重復(fù)結(jié)構(gòu)有(for)結(jié)構(gòu)、(while)結(jié)構(gòu)(until)、結(jié)構(gòu)三種。2. 結(jié)構(gòu)化程序設(shè)計方法的基本要點是:(1)采用(自頂向下)、(逐步求精)

46、、的程序設(shè)計方法;(2)使用(三種基本控制結(jié)構(gòu))構(gòu)造程序;(3)主程序員組的組織形式。3. 在詳細設(shè)計階段,為了提高數(shù)據(jù)的輸入、存儲、檢索等操作的效率并節(jié)約存儲空間,對某些數(shù)據(jù)項的值要進行(代碼)設(shè)計。4. 任何程序都可由(順序)、(選擇)和(重復(fù))三種基本控制結(jié)構(gòu)構(gòu)造。這三種基本結(jié)構(gòu)的共同點是(單入口)、(單出口)。5. 在詳細設(shè)計階段,除了對模塊內(nèi)的算法進行設(shè)計,還應(yīng)對模塊內(nèi)的(數(shù)據(jù)結(jié)構(gòu))進行設(shè)計。6. 在詳細設(shè)計階段,經(jīng)常采用的工具有(程序流程圖)、PDL、PAD等。7. 在單元測試中,測試一個模塊時,需要設(shè)計(驅(qū)動模塊和樁模塊)。8. 軟件產(chǎn)品在交付使用之前一般要經(jīng)過以下4步測試(單元

47、測試)、(集成測試)、(確認測試)、(系統(tǒng)測試)。9. 軟件測試用例由(測試輸入數(shù)據(jù))和(對應(yīng)的預(yù)期輸出)組成。10. 用黑盒技術(shù)設(shè)計測試用例的方法有(等價類劃分)、(邊界值分析)、(錯誤推斷)和(因果圖)。11. 源程序中加注釋是幫助理解程序的重要手段,注釋分為(序言行注釋)、(功能性注釋)兩類。12. 近年來,推出了許多面向?qū)ο蟮恼Z言,如(C+)、(JAVA)等。13. 匯編語言是面向(機器)的,可以完成(高級)語言無法滿足要求的特殊功能,如與外部設(shè)備之間的一些接口操作。14. 語句構(gòu)造的原則是簡單直接,不能為了追求效率而使代碼(復(fù)雜性)15. (可移植性)是指程序從一個計算機環(huán)境移植到另

48、一個計算機環(huán)境的容易程度二.判斷題1. 一般說來,模塊大小以三至四頁為宜。( )2. 軟件設(shè)計一般分為總體設(shè)計和詳細設(shè)計,它們之間的關(guān)系是全局與局部。( )3. 好的軟件結(jié)構(gòu)應(yīng)該是高內(nèi)聚、低耦合。( )4. 一個模塊把一個數(shù)質(zhì)量作為參數(shù)傳遞給另一個模塊。這兩個模塊之間的耦合是數(shù)據(jù)耦合。( )5. 在面向數(shù)據(jù)流的軟件設(shè)計方法中,一般將信息流分為變換流和事務(wù)流。( )6. 首先將系統(tǒng)中得關(guān)鍵部分設(shè)計出來,再讓系統(tǒng)的其余部分的設(shè)計去適應(yīng)它們,這稱為自頂向下設(shè)計。( × )7. 劃分模塊時,一個模塊的控制范圍應(yīng)在其作用范圍之內(nèi)。( × )8. 結(jié)構(gòu)化設(shè)計方法在軟件開發(fā)中,用于概要設(shè)

49、計。( )9. 軟件結(jié)構(gòu)圖中,模塊框之間若有直線連接,表示它們之間存在著組成關(guān)系。(× )10. 軟件概要設(shè)計結(jié)束后得到初始化的軟件結(jié)構(gòu)圖。( × )11. 偶然內(nèi)聚是指模塊內(nèi)執(zhí)行幾個邏輯上相似的功能,通過參數(shù)確定該模塊完成哪一個功能。( × )12. 設(shè)計軟件結(jié)構(gòu)一般不確定模塊內(nèi)的局部數(shù)據(jù)。( )13. 通過抽象,可以確定組成軟件的過程實體。( )14. 標記耦合是指兩個模塊之間的調(diào)用關(guān)系,傳遞的是簡單的數(shù)據(jù)值。( × )15. 內(nèi)容耦合是指一個模塊直接使用另一個模塊的內(nèi)部數(shù)據(jù),或通過非正常入口而轉(zhuǎn)入另一個模塊內(nèi)部。( )三.名詞解釋1. 數(shù)據(jù)耦合;數(shù)

50、據(jù)耦合是指兩個模塊之間有調(diào)用關(guān)系,傳遞的是簡單的數(shù)據(jù)值,相當于高級語言中的值傳遞2. 標記耦合標記耦合是指兩個模塊之間傳遞的是數(shù)據(jù)結(jié)構(gòu),如高級語言中的數(shù)組名、記錄名、文件名等這些名字即為標記,其實傳遞的是這個數(shù)據(jù)結(jié)構(gòu)的地址;3. 偶然內(nèi)聚偶然內(nèi)聚指一個模塊內(nèi)的各處理元素之間沒有任何聯(lián)系。這是內(nèi)聚程度最差的內(nèi)聚;4. 邏輯內(nèi)聚邏輯內(nèi)聚指模塊內(nèi)執(zhí)行幾個邏輯上相似的功能,通過參數(shù)確定該模塊完成哪一個功能;5. 時間內(nèi)聚把需要同時執(zhí)行的動作組合在一起形成的模塊稱為時間內(nèi)聚模塊6. 軟件概要設(shè)計描述軟件的總的體系結(jié)構(gòu),稱為“軟件概要設(shè)計”;7. 軟件結(jié)構(gòu)軟件結(jié)構(gòu)是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個系統(tǒng)劃

51、分模塊時,盡量做到高內(nèi)聚低耦合;8. 面向數(shù)據(jù)流的設(shè)計方法面向數(shù)據(jù)流的設(shè)計方法,也稱“結(jié)構(gòu)化設(shè)計方法”(SD),它與結(jié)構(gòu)化分析(SA)相銜接,它按一定的設(shè)計策略將數(shù)據(jù)流圖轉(zhuǎn)化成軟件的模塊層次結(jié)構(gòu);9. 耦合性耦合性也稱“塊間關(guān)系”。指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量。模塊之間聯(lián)系越緊密,其耦合性就越強,模塊的獨立性則越差;10. 模塊獨立性模塊獨立性指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其它模塊的聯(lián)系最少且接口簡單;11. 模塊模塊是可組合、分解和更換的單元,在程序中它是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?,或者是單獨命名和編制的元素?2. 模塊的作用范圍模塊的作用范

52、圍是指受該模塊內(nèi)一個判定影響的所有模塊的集合;13. 模塊的控制范圍模塊的控制范圍是指模塊本身以及其所有下屬模塊的集合;14. 通信內(nèi)聚通信內(nèi)聚指模塊內(nèi)所有處理元素都在同一個數(shù)據(jù)結(jié)構(gòu)上操作,或者指各處理使用相同的輸入數(shù)據(jù)或者產(chǎn)生相同的輸出數(shù)據(jù);15. 順序內(nèi)聚順序內(nèi)聚指一個模塊中各個處理元素都緊密相關(guān)與同一功能且必須順序執(zhí)行,前一功能元素的輸出就是下一功能元素的輸入。四.簡答題1. 請簡要說明軟件耦合性和內(nèi)聚性 模塊獨立性指每個模塊只完成系統(tǒng)要求的獨立子功能,并且與其他模塊的聯(lián)系最少且接口簡單,兩個定性的度量標準耦合性和內(nèi)聚性。耦合性也稱塊間聯(lián)系。指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種

53、度量。模塊之間聯(lián)系越緊密,其耦合性就越強,模塊的獨立性則越差。內(nèi)聚性又稱塊內(nèi)聯(lián)系。指模塊的功能強度的度量,即一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量。若一個模塊內(nèi)各元素(語名之間、程序段之間)聯(lián)系的越緊密,則它的內(nèi)聚性就越高。2. 什么是概要設(shè)計?有哪些基本任務(wù)? 概要設(shè)計:根據(jù)用戶的需求先確定軟件系統(tǒng)的總體結(jié)構(gòu)和總的設(shè)計原則基本的任務(wù):設(shè)想供選擇的方案、推薦最佳方案、功能分解,確定軟件結(jié)構(gòu)、設(shè)計軟件結(jié)構(gòu)、制定測試計劃、數(shù)據(jù)設(shè)計、書寫文檔、設(shè)計審查和復(fù)審。3. 系統(tǒng)設(shè)計的內(nèi)容是什么? (1)系統(tǒng)分解。系統(tǒng)中主要的組成部分稱為子系統(tǒng),子系統(tǒng)既不是一個對象也不是一個功能,而是類、關(guān)聯(lián)、操作、時

54、間和約束的集合。每次分解的各子系統(tǒng)數(shù)目不能太多,最底層子系統(tǒng)稱為模塊。(2)確定并發(fā)性。分析模型、現(xiàn)實世界及硬件中不少對象均是并發(fā)的。系統(tǒng)設(shè)計的一個重要目標就是確定哪些是必須同時動作的對象,哪些不是同時動作的對象。后者可以放在一起,而綜合成單個控制線或任務(wù)。(3)數(shù)據(jù)存儲管理。系統(tǒng)中的內(nèi)部數(shù)據(jù)和外部數(shù)據(jù)的存儲管理是一項重要的任務(wù)。通常各數(shù)據(jù)存儲可以將數(shù)據(jù)結(jié)構(gòu)、文件、數(shù)據(jù)庫組合在一起,不同數(shù)據(jù)存儲要在費用、訪問時間、容量以及可靠性之間做折中考慮。(4)人機交互接口設(shè)計。設(shè)計中的大部分工作都與穩(wěn)定的狀態(tài)行為有關(guān),但必須考慮用戶使用系統(tǒng)的交互接口。4. 簡述軟件測試的任務(wù)、目的與類型。軟件測試是一個

55、為了尋找軟件錯誤而運行程序的過程。目的就是為了發(fā)現(xiàn)軟件中的錯誤。一個好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯誤的用例。一個成功的測試是指揭示了迄今為止尚未發(fā)現(xiàn)的錯誤的測試。軟件測試主要分為白盒測試和黑盒測試兩大類。5. 簡述結(jié)構(gòu)化程序設(shè)計方法的基本要點 (1)采用自頂向下,逐步求精的程序設(shè)計方法。(2)使用三種基本控制結(jié)構(gòu)構(gòu)造程序,分別是順序,選擇和循環(huán)(3)采用主程序員組的組織形式。(4)采用單入口單出口的模塊形式。6. 簡述容錯技術(shù)的四種主要手段,并解釋。 結(jié)構(gòu)冗余:包括靜態(tài)冗余、動態(tài)冗余和混合冗余。信息冗余:為檢測或糾正信息在運算或傳輸中的錯誤,須外加一部分信息。時間冗余:指重復(fù)執(zhí)

56、行指令或程序來消除瞬時錯誤帶來的影響。冗余附加技術(shù):指為實現(xiàn)上述冗余技術(shù)所需的資源和技術(shù)。7. 以G.J.Myers的觀點,簡述對軟件測試的目的。軟件測試是(1)為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;(2)一個好的用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤的測試。(3)一個成功的測試是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤的測試。8. 就程序設(shè)計語言的工程特性而言,對程序編碼有哪些要求?就程序設(shè)計語言的工程特性而言,對程序編碼有如下要求:(1)可移植性 (2)開發(fā)工具的可利用性 (3)軟件的可重用性 (4)可維護性9. 可行性研究報告的主要內(nèi)容有哪些?一個可行性研究報告的主要內(nèi)容如下:(1)引言:說明編寫本文檔的目的;項目的名稱、背景;本文檔用到的專門術(shù)語和參考資料。(2)可行性研究前提:說明開發(fā)項目的功能、性能和基本要求;達到的目標;各種限制條件;可行性研究方法和決定可行性的主要因素。(3)對現(xiàn)有系統(tǒng)的分析:說明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負荷;各項費用支出;所需要各類專業(yè)技術(shù)人員的數(shù)量;所需要各種設(shè)備;現(xiàn)有系統(tǒng)存在什么問題。(4)所建議系統(tǒng)的技術(shù)可行性分析:所建議系統(tǒng)的簡要說明;處理流程和數(shù)據(jù)流程;與現(xiàn)有的系統(tǒng)比較的優(yōu)越性;采用所

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論