版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一章習題一、選擇題1.關(guān)于引起軟件危機的原因,下列選項中,錯誤的是【】A.軟件難以維護B.軟件開發(fā)的成本難以控制C.軟件的實現(xiàn)缺乏好的算法D.沒有評測軟件產(chǎn)品質(zhì)量的標準 2.下列關(guān)于軟件與硬件比較的敘述中,錯誤的是【】A.軟件產(chǎn)品的成本容易控制,而硬件的成本難以控制B.軟件開發(fā)與硬件生產(chǎn)同樣可以采用工程化方法進行管理C.軟件的進度比硬件的進度控制要困難D.對軟件和硬件產(chǎn)品都需要進行質(zhì)量確認3.因為程序運行環(huán)境、用戶使用程序的習慣等因素可能對程序產(chǎn)生新的需求,導致程序需要變更,這種變更被稱為【】A.軟件開發(fā) B.軟件復用C.軟件演進 D.軟件調(diào)試4.軟件開發(fā)的過程需要嚴格按照先進行需求分析,再進行系統(tǒng)設(shè)計,根據(jù)設(shè)計方案進行編碼的軟件過程模型是【】A.瀑布模型 B.原型模型C.螺旋模型 D.統(tǒng)一過程模型二、簡答題1.什么是軟件?什么是軟件工程?什么是軟件過程?2.軟件需求分析分為哪幾個階段?3.瀑布模型將軟件開發(fā)分為哪幾個階段?瀑布模型有什么缺點?4.原型模型的基本思想是什么?5.統(tǒng)一過程模型包括哪些軟件開發(fā)活動?6.在Scrum模型中如何定義沖刺?每日沖刺會議的15分鐘內(nèi),開發(fā)團隊成員需要回答哪三個問題?7.請你舉出三個適合采用敏捷開發(fā)模型的軟件項目的實例。第一章習題答案一、選擇題答案1.C 2.A 3.C 4.A二、簡答題答案1.軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。軟件工程是從管理和技術(shù)兩方面研究如何更好地開發(fā)和維護計算機軟件的一門學科,軟件工程的基本思想是按工程化的原則和方法組織軟件開發(fā)。軟件過程是為了獲得軟件產(chǎn)品,在軟件工具的支持下由軟件工程師遵循一定的步驟完成的一系列軟件工程活動。2.軟件需求分析的過程可分為以下四個階段:1)可行性研究。2)分析用戶需求。3)描述需求。4)需求有效性驗證。3.瀑布模型將軟件過程劃分為需求定義、系統(tǒng)和軟件設(shè)計、實現(xiàn)與單元測試、集成與系統(tǒng)測試、運行與維護幾個階段。瀑布模型的缺點是:在軟件開發(fā)過程中很難嚴格按照瀑布模型按部就班地進行軟件開發(fā)。4.原型模型的主要思想是首先建立一個能夠反應用戶主要需要、可運行的軟件原型,讓用戶體驗未來系統(tǒng)的概貌,以引導用戶提出更為具體、確定的需求。然后,通過與用戶的溝通反復改進原型,最終實現(xiàn)完全符合用戶需求的軟件系統(tǒng)。5.統(tǒng)一過程模型包括的活動有:溝通、策劃、建模、構(gòu)建、部署。6.需求、分析、設(shè)計、演化和交付活動中的每一個活動,其工作任務在相對較短的時間盒(時間盒是一個項目管理術(shù)語,表示為完成某些任務而分配的時間段)的期限內(nèi)完成,稱為一個沖刺。每日沖刺會議的15分鐘內(nèi),開發(fā)團隊成員需要回答的三個問題是:1)自上次團隊例會后做了什么?2)遇到什么困難?3)下次例會前計劃做些什么?7.手機端的在線購物系統(tǒng)、醫(yī)院手機端掛號及信息查詢APP、抖音APP都適合采用敏捷開發(fā)模型。第二章習題一、選擇題1.需求分析的任務是【】A.確定客戶需要目標系統(tǒng)實現(xiàn)的功能,并提供需求規(guī)格說明書 B.確定客戶需要目標系統(tǒng)應該達到的時間性能,并提供需求規(guī)格說明書C.確定客戶需要系統(tǒng)提供什么樣的用戶界面,并提供需求規(guī)格說明書 D.確定目標系統(tǒng)的功能和非功能需求,并提供需求規(guī)格說明書 2.關(guān)于需求分析的步驟,下列選項中正確的是【】A.先建立系統(tǒng)的業(yè)務模型,再建立系統(tǒng)的邏輯模型B.先建立系統(tǒng)的邏輯模型,再建立系統(tǒng)的業(yè)務模型C.對業(yè)務系統(tǒng)模型進行完善后,再建立系統(tǒng)的邏輯模型D.先對系統(tǒng)的邏輯模型進行完善后,再建立業(yè)務系統(tǒng)的模型3.需求規(guī)格說明書中,用于對數(shù)據(jù)進行描述的工具是【】A.數(shù)據(jù)流圖 B.數(shù)據(jù)結(jié)構(gòu)圖C.數(shù)據(jù)字典 D.數(shù)據(jù)加工圖4.下列關(guān)于模塊獨立性的敘述中,正確的是【】A.模塊間的耦合性僅取決于模塊間接口的復雜性B.模塊之間的連接越松散耦合性就越高C.模塊之間的耦合性越高模塊的獨立性就越強D.模塊的獨立性越強系統(tǒng)的可維護性越高5.下列關(guān)于SC圖的敘述中正確的是【】A.SC圖通常用于描述模塊的內(nèi)部結(jié)構(gòu)B.SC圖用于描述軟件系統(tǒng)的模塊結(jié)構(gòu)C.SC圖由輸入模塊構(gòu)成D.SC圖由輸入和輸出模塊構(gòu)成6.一個完整的模塊應當包括【】A.執(zhí)行規(guī)定功能的部分和輸入部分B.輸入部分、執(zhí)行規(guī)定功能的部分和輸出部分C.執(zhí)行規(guī)定功能的部分和出錯處理部分D.執(zhí)行規(guī)定功能的部分、出錯處理部分及返回值7.下列圖表,用于詳細設(shè)計的是【】A.SC圖 B.N-S圖 C.數(shù)據(jù)流圖 D.判定樹8.在程序流程圖中,用于表示預定義處理的圖標是【】A. B. C. D.二、簡答題1.軟件需求分析的任務是什么?需求分析的步驟是什么?2.需求規(guī)格說明書包括哪些內(nèi)容?有哪些圖、表可用于描述需求?3.需求分析工具由哪幾部分組成?4.什么是軟件設(shè)計?軟件設(shè)計分為哪兩個步驟?5.軟件系統(tǒng)結(jié)構(gòu)設(shè)計的內(nèi)容有哪些?6.軟件的數(shù)據(jù)結(jié)構(gòu)設(shè)計包括哪些內(nèi)容?7.軟件詳細設(shè)計要完成哪些工作?8.什么是模塊?什么是模塊的獨立性?9.可以從哪些方面改善系統(tǒng)的初始模塊結(jié)構(gòu)?10.在詳細設(shè)計階段,設(shè)計人員需要完成哪些任務?三、應用題1.銀行計算機儲蓄系統(tǒng)的工作過程大致如下:儲戶填寫的存款單或取款單由業(yè)務員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址(或電話號碼)、身份證號碼、存款類型、存款日期、到期日期、利率及密碼(可選)等信息,并打印出存款存單給儲戶;如果是取款而且存款時留有密碼,則系統(tǒng)首先核對儲戶密碼,若密碼正確或存款時未留密碼,則系統(tǒng)計算利息并打印出利息清單給儲戶。請用數(shù)據(jù)流圖描繪本系統(tǒng)的功能。2.畫出下列偽碼程序的程序流程圖和盒圖。STARTIFPTHENWHILEqDOfENDDOELSE BLOCKgnENDBLOCKENDIFSTOP第二章習題答案一、選擇題答案1.D 2.A 3.C 4.D 5.B 6.D 7.B 8.D二、問答題答案1.需求分析的任務在于完全弄清用戶對軟件系統(tǒng)的確切要求,并用需求規(guī)格說明書的形式表達出來。需求分析的步驟如下:通過對現(xiàn)實環(huán)境的調(diào)查研究,獲得當前系統(tǒng)的具體模型。2)去掉具體模型中的非本質(zhì)因素,抽象出當前系統(tǒng)的邏輯模型。3)分析當前系統(tǒng)與目標系統(tǒng)的差別、建立目標系統(tǒng)的邏輯模型。4)對目標系統(tǒng)進行完善和補充,并寫出完整的需求說明。5)對需求說明進行復審,直到確認文檔齊全,并且符合用戶的全部需求為止。2.需求規(guī)格說明書主要包括以下內(nèi)容:1)引言。2)數(shù)據(jù)描述。3)功能描述。4)性能描述。5)質(zhì)量保證??捎糜诿枋鲂枨蟮膱D、表有:數(shù)據(jù)流圖、數(shù)據(jù)結(jié)構(gòu)圖、數(shù)據(jù)字典、判定樹、判定表。3.需求分析工具由需求描述語言、需求描述數(shù)據(jù)庫、處理和分析系統(tǒng)組成。4.軟件設(shè)計是一個把軟件需求轉(zhuǎn)化成軟件表示的過程。軟件設(shè)計分為概要設(shè)計和詳細設(shè)計兩個步驟。5.軟件系統(tǒng)結(jié)構(gòu)設(shè)計的內(nèi)容有:1)將一個復雜的系統(tǒng)按功能劃分成模塊的層次結(jié)構(gòu)。2)確定每個模塊的功能,建立與已確定的軟件需求的對應關(guān)系。3)確定模塊間的調(diào)用關(guān)系。4)確定模塊間的接口,即模塊間傳遞的信息。設(shè)計接口的信息結(jié)構(gòu)。5)評估模塊劃分的質(zhì)量及導出模塊結(jié)構(gòu)的規(guī)劃。6.數(shù)據(jù)結(jié)構(gòu)設(shè)計確定軟件涉及的文件系統(tǒng)的結(jié)構(gòu)以及數(shù)據(jù)庫的模式、子模式,進行數(shù)據(jù)完整性和安全性的設(shè)計7.詳細設(shè)計過程中,需要完成的工作是:1)確定軟件各個組成部分內(nèi)的算法以及各部分的內(nèi)部數(shù)據(jù)組織。2)選定某種過程的表達形式(程序流程圖、盒圖、偽代碼等)來描述各種算法。3)進行詳細設(shè)計的評審。8.一般把用一個名字就可調(diào)用的一段程序稱為“模塊”。模塊的獨立性是指軟件系統(tǒng)中每個模塊只涉及軟件要求的具體的子功能,而與軟件系統(tǒng)中其他的模塊的接口是簡單的。9.可以從以下方面改善系統(tǒng)的初始模塊結(jié)構(gòu):1)模塊功能的完善化2)消除重復功能,改善軟件結(jié)構(gòu)。3)設(shè)計功能可預測的模塊,但要避免過分受限制的模塊。4)模塊的作用范圍應在控制范圍之內(nèi)。5)盡可能減少高扇出結(jié)構(gòu)6)控制模塊的大小10.在詳細設(shè)計階段,設(shè)計人員的任務如下:1)為每個模塊確定采用的算法。選擇某種適當?shù)墓ぞ弑磉_算法的過程,寫出模塊的詳細過程性描述。2)確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu)。3)確定模塊接口的細節(jié),包括對系統(tǒng)外部的接口和用戶界面,對系統(tǒng)內(nèi)部其它模塊的接口,以及關(guān)于模塊輸入數(shù)據(jù)、輸出數(shù)據(jù)及局部數(shù)據(jù)的全部細節(jié)。4)為每一個模塊設(shè)計出一組測試用例,以便在編碼階段對模塊代碼進行預定的測試三、應用題答案1.答案:第二章習題答案圖第二章習題答案圖2-1銀行計算機儲蓄系統(tǒng)數(shù)據(jù)流圖2.程序流程圖:第二章習題答案圖第二章習題答案圖2-2應用題2的程序流程圖盒圖:第二章習題答案圖第二章習題答案圖2-3應用題2的盒圖第三章習題一、選擇題1.下列關(guān)于對象與類的關(guān)系的描述正確的是【】A.對象是類的一種實例 B.對象是類中的操作C.對象是類的封裝 D.對象是類中的屬性 2.下列關(guān)于用例圖的敘述中,正確的是【】A.用例圖用于描述系統(tǒng)的業(yè)務 B.用例圖用于表示系統(tǒng)中類的構(gòu)成C.用例圖用于描述系統(tǒng)的功能 D.用例圖用于表示系統(tǒng)的狀態(tài)變化3.下列選項中,用于顯示對象間處理過程分布的圖是【】A.協(xié)作圖 B.部署圖C.時序圖 D.狀態(tài)圖4.基于用例實現(xiàn)的面向?qū)ο蟮慕P枰瓿傻娜蝿詹话ā尽緼.了解系統(tǒng)的業(yè)務流程,建立活動圖模型。B.從用戶與系統(tǒng)交互的角度,確定目標系統(tǒng)功能,建立用例模型。C.基于用例,通過時序圖描述系統(tǒng)內(nèi)各對象之間的交互關(guān)系。D.了解系統(tǒng)的部署需求,建立部署模型5.在需求分析階段表示目標系統(tǒng)與其他外部系統(tǒng)的關(guān)系的模型是【】A.系統(tǒng)的靜態(tài)模型 B.上下文模型C.系統(tǒng)的組件模型 D.MVC模型6.下列選項中,適合作為類的屬性的是【】A.學生 B.計算機C.服裝 D.手機型號7.下列選項中,適合作為類或?qū)ο蟮氖恰尽緼.員工 B.員工姓名C.員工所述部門 D.員工身份證號8.下列模型能被自動轉(zhuǎn)換為程序代碼的是【】A.包圖 B.組件圖C.類圖 D.部署圖9.時序圖中不包括【】A.對象 B.生命線C.對象的屬性 D.活動棒10.表達類之間一般性與特殊性關(guān)系的是【】A.泛化關(guān)系 B.聚合關(guān)系C.關(guān)聯(lián)關(guān)系 D.部分與整體的關(guān)系11.下列關(guān)于MVC模式的敘述中,正確的是【】A.MVC用視圖、數(shù)據(jù)、操作三個部分組織程序B.MVC模型將系統(tǒng)分為界面層、業(yè)務邏輯層和數(shù)據(jù)訪問層C.MVC將應用程序劃分為視圖、控制器、模型三個核心部件D.MVC應用程序被分成用戶界面、計算程序、輸出程序三個核心部分二、簡答題1.說明統(tǒng)一建模語言的用途和適用范圍。2.在面向?qū)ο蟮姆治鲋?,主要使用?種類型的ULM圖?3.基于用例實現(xiàn)的面向?qū)ο蟮慕S赡膸讉€步驟組成?4.總結(jié)在面向?qū)ο蠓治鲞^程中進行類圖建模的基本步驟。5.時序圖的任務是什么?時序圖中包含哪些要素?6.狀態(tài)圖的作用是什么?如何識別對象的狀態(tài)空間?7.面向?qū)ο笤O(shè)計要完成哪些工作?面向?qū)ο筌浖O(shè)計的基本步驟是什么?三、應用題1.用非正式分析法分析確定下述雜貨店問題中的對象并確定對象類之間可能有的繼承關(guān)系。一家雜貨店想使其庫存管理自動化。這家雜貨店擁有能夠記錄顧客購買的所有商品的名稱和數(shù)量的銷售終端。顧客服務臺也有類似的終端以處理顧客的退貨。它在碼頭有另一個終端處理供應商發(fā)貨。肉食部和農(nóng)產(chǎn)品部有終端用于輸入由于損耗導致的損失和折扣。2.建立下述牙科診所管理系統(tǒng)的分析類模型。王大夫在小鎮(zhèn)上開了一家牙科診所。他有一個牙科助手、一個牙科保健員和一個接待員。王大夫需要一個軟件系統(tǒng)來管理預約。當病人打電話預約時,接待員將查閱預約登記表,如果病人申請的就診時間與已定下的預約時間沖突,則接待員建議一個就診時間以安排病人盡早得到診治。如果病人同意建議的就診時間,接待員將輸入約定時間和病人的名字。系統(tǒng)將核實病人的名字并提供記錄的病人數(shù)據(jù),數(shù)據(jù)包括病人的病歷號等。在每次治療或清洗后,助手或保健員將標記相應的預約診治已經(jīng)完成,如果必要的話會安排病人下一次再來。系統(tǒng)能夠按病人姓名和日期進行查詢,能夠顯示記錄的病人數(shù)據(jù)和預約信息。接待員可以取消預約,可以打印出前兩天預約尚未接診的病人清單。系統(tǒng)可以從病人記錄中獲知病人的電話號碼。接待員還可以打印出關(guān)于所有病人的每天和每周的工作安排。3.請用面向?qū)ο蠓椒ǚ治鲈O(shè)計下述的圖書館自動化系統(tǒng)。設(shè)計一個軟件以支持一座公共圖書館的運行。該系統(tǒng)有一些工作站用于處理讀者事務。這些工作站由圖書館館員操作。當讀者借書時,首先讀入客戶的借書卡。然后,由工作站的條形碼閱讀器讀入該書的代碼。當讀者歸還一本書時,并不需要查看他的借書卡,僅需讀入該書的代碼。客戶可以在圖書館內(nèi)任意一臺個人電腦上檢索館藏圖書目錄。當檢索圖書目錄時,客戶應該首先指明檢索方法(按作者姓名、書名或關(guān)鍵詞)。第三章習題答案一、選擇題答案1.A 2.C 3.A 4.D 5.B 6.D 7.A 8.C9.C 10.A 11.C二、問答題答案1.統(tǒng)一建模語言UML是一個通用的可視化建模語言,用于對軟件進行描述、可視化處理、構(gòu)造和建立軟件系統(tǒng)制品的文檔。它可用于對系統(tǒng)的需求分析、設(shè)計、瀏覽、配置、維護和信息控制,適合對諸如由計算機軟件、固件或數(shù)字邏輯構(gòu)成的離散系統(tǒng)建模。2.在面向?qū)ο蟮姆治鲋?,主要使用活動圖、用例圖、時序圖、類圖、狀態(tài)圖。3.基于用例實現(xiàn)的面向?qū)ο蟮慕S梢韵聨讉€步驟組成:1)通過與用戶溝通了解用戶的基本需求。2)確定系統(tǒng)的邊界,定義系統(tǒng)做什么和不做什么,以及目標系統(tǒng)和其他外部系統(tǒng)的交互關(guān)系,建立上下文模型。3)了解系統(tǒng)的業(yè)務流程,建立活動圖模型。4)從用戶與系統(tǒng)交互的角度,確定目標系統(tǒng)功能,建立用例模型。5)通過識別問題域內(nèi)的全部實體對象和類,包括定義其屬性和方法、類之間層次關(guān)系建立系統(tǒng)靜態(tài)結(jié)構(gòu)模型。6)基于用例,通過時序圖描述系統(tǒng)內(nèi)各對象之間的交互關(guān)系。7)識別對象的行為和系統(tǒng)的工作過程,利用狀態(tài)圖從事件驅(qū)動角度分析對象狀態(tài)的變化,完善類圖。8)迭代地執(zhí)行步驟1)~7),直到完成模型的建立。4.在面向?qū)ο蠓治鲞^程中進行類圖建模的基本步驟如下:1)識別類與對象2)識別屬性3)確定操作4)識別關(guān)聯(lián)5.時序圖的主要任務包括如下幾項:1)表達設(shè)計人員心中關(guān)于將來程序在運行時的對象協(xié)作模型2)驗證軟件領(lǐng)域模型類圖的正確性。3)為程序員提供編碼的藍圖。時序圖中包含的要素有:對象、消息、生命線。6.狀態(tài)圖的作用是什么?如何識別對象的狀態(tài)空間?狀態(tài)圖用來描述一個類對象在不同用例間狀態(tài)的遷移。對象狀態(tài)空間識別步驟如下:1)識別對象在問題域中的生命周期。2)確定對象生命周期階段的劃分策略。3)重新按階段描述對象生命周期,得到候選狀態(tài)。4)識別對象在每個候選狀態(tài)下的動作,并對狀態(tài)空間進行調(diào)整。5)分析每個狀態(tài)的確定因素(對象的數(shù)據(jù)屬性)。6)檢查對象狀態(tài)的確定性和狀態(tài)間的互斥性。7.面向?qū)ο筌浖O(shè)計需要完成的工作包括:數(shù)據(jù)設(shè)計或類設(shè)計、體系結(jié)構(gòu)設(shè)計、接口設(shè)計、構(gòu)件設(shè)計。面向?qū)ο筌浖O(shè)計的基本步驟如下:1)通過建立模型表示系統(tǒng)或產(chǎn)品的體系結(jié)構(gòu)。2)為各類接口建模,這些接口在軟件和最終用戶、軟件和其他系統(tǒng)與設(shè)備及軟件和自身組成的構(gòu)件之間起到連接作用。3)詳細設(shè)計系統(tǒng)的軟件構(gòu)件。三、應用題答案1.答案:第三章第三章習題答案圖3-1雜貨店問題中的類及類之間的繼承關(guān)系2.答案:第三章第三章習題答案圖3.2-牙科診所對象模型第三章第三章習題答案圖3.3-牙科診所管理系統(tǒng)的用例圖第三章第三章習題答案圖3.4-牙科診所管理系統(tǒng)的數(shù)據(jù)流圖第三章第三章習題答案圖3.5-牙科診所管理系統(tǒng)狀態(tài)圖3.答案:第三章第三章習題表-1圖書館對象之間的關(guān)系第三章第三章習題答案圖3.6-圖書館系統(tǒng)的初始對象模型第三章第三章習題答案圖3.7正常情況下的借書過程第四章習題一、單項選擇1.下列選項中,移動應用不同于傳統(tǒng)主機應用的特點是【】A.應用與網(wǎng)絡相關(guān)B.需要友好的用戶界面C.需要采用工程化方法進行應用開發(fā) D.移動應用需要支持更多樣化的人機交互方式 2.關(guān)于開發(fā)移動應用技術(shù)的敘述中,正確的是【】A.由于移動設(shè)備資源有限,因此開發(fā)移動應用適合采用機器級語言 B.由于移動設(shè)備硬件的多樣性,因此應該在移動硬件上直接開發(fā)移動應用C.針對不同平臺的移動應用需要在不同的環(huán)境下分開開發(fā)D.移動應用的規(guī)模較小,因此其開發(fā)適合采用瀑布模型3.下列選項中,正確的移動應用開發(fā)的5個迭代階段是【】A.可行性分析、需求分析、設(shè)計、測試、維護 B.需求分析、設(shè)計、編碼、測試、維護C.需求分析、設(shè)計、編碼、穩(wěn)固、部署D.需求分析、設(shè)計、開發(fā)、穩(wěn)固、部署4.下列選共享中,可用于移動應用的界面設(shè)計的是【】A.任務模型 B.內(nèi)容模型C.接口模型 D.設(shè)計模型5.移動計算環(huán)境的層次按照由強控制到弱控制的順序,三個層次依次為【】A.軟件即服務層、平臺即服務層、基礎(chǔ)設(shè)施即服務層 B.基礎(chǔ)設(shè)施即服務層、平臺即服務層、軟件即服務層C.平臺即服務層、軟件即服務層、基礎(chǔ)設(shè)施即服務層D.軟件即服務層、基礎(chǔ)設(shè)施即服務層、平臺即服務層、6.下列選項中,WebApp界面設(shè)計中的美學設(shè)計不要關(guān)注的是【】A. 用戶界面的功能 B.用戶界面的內(nèi)容C.用戶界面的布局 D.用戶界面的響應時間7.導航語義單元是【】A.一個導航頁面 B.一組關(guān)于導航信息的集合C.一組導航選項 D.信息和相關(guān)的導航結(jié)構(gòu)的集合8.關(guān)于手勢測試,下列敘述正確的是【】A.手勢測試對于所有的移動設(shè)備都是必須的 B.通過自動化工具來完成手勢測試是效率較高的方法C.手勢測試需要考慮移動設(shè)備輸入屏幕的大小差異D.手勢測試的結(jié)果不會影響移動應用的可訪問性二、問答題1.移動應用有哪些特征?2.例舉一些解決移動應用開發(fā)的技術(shù)因素。3.哪些因素會影響移動設(shè)備電池的待機時間?4.移動應用的設(shè)計包括哪些內(nèi)容?5.移動應用提供的處理功能完成哪些任務?6.移動應用的導航測試要測試哪些內(nèi)容?7.為了移動應用的安全性可采取的技術(shù)有哪些?8.導致移動應用性能低的原因有哪些?9.負載測試和壓力測試的任務分別是什么?三、某網(wǎng)上藥店的移動App,主要為滿足老年人的購藥需求而設(shè)計。藥店可提供典型功能,而且還為每位客戶維護數(shù)據(jù)庫,以便提供藥物信息,并且向用戶提供可能的藥物間潛在的互作用的警告。針對這一移動App,用戶界面的設(shè)計應該注意哪些問題?用戶體驗測試應該包括的內(nèi)容是什么?第四章習題答案一、選擇題答案1.D 2.C 3.D 4.A 5.B 6.D 7.D 8.C二、問答題答案1.移動應用的特征有:強調(diào)用戶體驗、需求及環(huán)境較復雜、技術(shù)難度更高。2.解決移動應用開發(fā)需要的技術(shù)包括:1)多元化的硬件和軟件平臺。2)多種開發(fā)框架和程序設(shè)計語言。3)多種具有不同規(guī)則和工具的應用商店。4)開發(fā)周期短。5)用戶界面的限制以及傳感器與設(shè)備之間交互的復雜性。6)環(huán)境的有效利用。7)電源管理。8)安全保密性、隱私模式和策略。9)計算和存儲限制。10)依賴外部服務的應用。構(gòu)11)測試的復雜性。3.影響移動設(shè)備電池的待機時間的因素有:背光、存儲器讀寫、無線網(wǎng)絡連接的使用、專業(yè)硬件設(shè)備的利用以及處理器速度。4.移動應用的設(shè)計階段的工作包括體系結(jié)構(gòu)設(shè)計、導航設(shè)計、界面設(shè)計以及內(nèi)容設(shè)計。5.移動應用提供的處理功能完成哪些任務?6.移動應用的導航測試要測試的內(nèi)容有:1)確保允許WebApp用戶經(jīng)由WebApp游歷的機制都是功能性的。2)確認每個導航語義單元都能夠被合適的用戶類獲得。7.為了移動應用的安全性可采取的技術(shù)有:使用防火墻、鑒定、加密和授權(quán)技術(shù)8.導致移動應用性能低的原因有:服務器端資源缺乏、不合適的網(wǎng)絡帶寬、不適當?shù)臄?shù)據(jù)庫容量、操作系統(tǒng)不夠強大、設(shè)計不良的WebApp功能以及可能導致客戶-服務器性能下降的其他硬件或軟件問題。9.負載測試是在多種負載級別和多種組合下,對真實世界的負載進行測試。壓力測試是將負載增加到強度極限,以此來確定App環(huán)境能夠處理的容量。負載測試的目的是確定WebApp和其服務器環(huán)境如何響應不同的負載條件。對移動App進行壓力測試是要在極限運行條件下力圖查找錯誤。三、應用題答案答案:為了獲得一致的界面,首先要用可視化設(shè)計建立一致的外觀。在設(shè)計中強調(diào)界面的布局和導航機制的形式,界面信息不易過多。為了指導用戶的交互操作,要使用戶能直觀地理解界面。為了提供導航選項,可以選擇網(wǎng)頁中位置固定的含義簡潔、明確的導航菜單,可以選擇使老年人更容易識別和理解的圖標作為導航元素,也可以選擇鏈接到內(nèi)容主題或WebApp功能的生動、易懂的圖像。要特別注意在內(nèi)容層次的每個級別上都應提供一種或多種導航機制。用戶體驗測試應該包括的內(nèi)容:與用戶體驗相關(guān)的測試包括手勢測試、虛擬鍵盤輸入、語音輸入和識別、警報和異常條件。第五章習題一、單項選擇1.下列選項中,不會采用白盒法進行軟件測試的測試階段是A.單元測試 B.組合測試C.系統(tǒng)測試 D.模塊測試 2.關(guān)于驅(qū)動模塊的敘述,下列選項中正確的是A.驅(qū)動模塊用于代替被測模塊的子模塊 B.驅(qū)動模塊用于代替被測模塊的調(diào)用模塊C.僅在單元測試階段需要編寫驅(qū)動模塊D.僅在組合測試階段需要編寫驅(qū)動模3.對求整數(shù)絕對值的函數(shù)進行黑盒測試所設(shè)計的測試用例中,應將輸入數(shù)據(jù)劃分為的等價類個數(shù)為A.1 B.2 C.3 D.44.對求整數(shù)絕對值的函數(shù)進行判斷覆蓋測試,至少需要設(shè)計的測試用例個數(shù)為A.2 B.3 C.4 D.55.下選項中,軟件測試對象一般不包括的是A.源程序 B.可執(zhí)行程序C.概要設(shè)計說明書 D.詳細設(shè)計說明書6.關(guān)于軟件測試的原則,下列說法正確的是A.軟件測試應該盡可能由程序開發(fā)者自己完成 B.在編碼階段不需要進行軟件測試C.軟件測試工作的目標是保證程序沒有錯誤D.測試用例需要作為測試文檔的一部分予以保留7.下列選項中,單元測試階段進行的路徑測試需要測試的內(nèi)容包括A.運算的優(yōu)先次序是否存在錯誤 B.程序的輸入?yún)?shù)的類型是否正確C.OPEN語句與CLOSE語句是否正確D.是否存在循環(huán)邊界值引起的錯誤8.下列方法中,適合于調(diào)試小程序的方法是A.白盒法 B.回溯法C.黑盒法 D.歸納法9.關(guān)于測試用例的設(shè)計,下列敘述正確的是A.測試用例中的輸入數(shù)據(jù)必須是合法數(shù)據(jù) B.測試用例必須由程序員通過分析程序結(jié)構(gòu)生成C.測試用例中應該包含程序運行的預期結(jié)果D.測試用例應該覆蓋所有的輸入/輸出組合10.某計算機系統(tǒng)的整型數(shù)長度為32位,若一個軟件系統(tǒng)有兩個整型輸入數(shù)據(jù),一個整型輸出數(shù)據(jù),則該系統(tǒng)采用窮舉測試需要運行的測試案例數(shù)量為A.232個 B.248個 C.264個 D.296個二、問答題1.軟件測試的目的是什么?2.什么是黑盒測試?什么是白盒測試?3.組裝測試有哪幾種組裝模塊的方式?4.什么是系統(tǒng)測試?5.確認測試階段需要完成哪些工作?6.軟件測試是否能保證軟件沒有錯誤?7.軟件測試的目標是什么?8.軟件的靜態(tài)分析工具有哪些功能?動態(tài)測試工具有哪些功能?三、應用題1.請為下列C語言程序設(shè)計語句覆蓋和路徑覆蓋的測試的測試用例。#include<stdio.h>intmain(){intA,B,X;X=0;scanf("%d%d%d",&A,&B);if(A>1&&B==0){X=X*100;}if(A==2||B==2){X=X+1;}printf("X=%d\n",X);return0;}2、設(shè)計一個求整數(shù)絕對值的函數(shù)并給出用于對其進行黑盒測試的等價類。第五章習題答案一、選擇題答案1.C 2.B 3.C 4.A 5.B 6.D 7.A 8.B9.C10.A二、問答題答案1.軟件測試的目的在于發(fā)現(xiàn)軟件中存在的錯誤。一個好的、成功的測試是能發(fā)現(xiàn)至今未被發(fā)現(xiàn)的錯誤。2.黑盒測試方法是測試者把被測程序看成一個黑盒,不管程序的內(nèi)部結(jié)構(gòu),僅以程序的外部功能為根據(jù)來設(shè)計測試用例。黑盒測試著重測試程序的功能是否正確,也被稱為功能測試。白盒測試是軟件測試中的一種測試方式,它將測試重點放在程序的代碼級。測試者需要了解程序內(nèi)部的邏輯結(jié)構(gòu),從程序的邏輯結(jié)構(gòu)出發(fā),按照一定的原則設(shè)計測試用例。通過檢查代碼中的語句、路徑、條件等,以確定代碼是否滿足用戶需求和設(shè)計規(guī)范。3.組裝測試的方式有一次性組裝方式及增殖式組裝方式,增殖式組裝方式分為自頂向下的組裝方式、自底向上的組裝方式及混合組裝方式。4.系統(tǒng)測試是將通過確認測試的軟件,作為整個基于計算機系統(tǒng)的一個元素,與計算機硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素結(jié)合在一起,在實際運行環(huán)境下對計算機系統(tǒng)進行一系列的組裝測試和確認測試5.確認測試階段需要完成的工作包括:進行有效性測試、軟件配置復審、進行驗收測試、安裝測試以及專家鑒定。6.軟件測試不能保證軟件沒有錯誤。7.軟件測試的目標是以最少的時間和人力找出盡可能多的軟件中潛在的各種錯誤和缺陷8.軟件的靜態(tài)分析工具的功能有:1)檢查模塊中的所有變量是否都已定義,是否引用了未定義的變量,是否有已賦過值但從未使用的變量。2)檢查模塊接口的一致性。檢查子程序調(diào)用時形式參數(shù)與實際參數(shù)的個數(shù)、類型是否一致,輸入輸出參數(shù)的定義與使用是否匹配,數(shù)組參數(shù)的維數(shù)、下標變量的范圍是否正確,子程序中使用的外部變量、全局變量定義是否一致等等。3)檢查在邏輯上可能有錯誤的結(jié)構(gòu)以及不可能被執(zhí)行到的程序段。4)建立變量/語句交叉引用表、子程調(diào)用順序表、公用區(qū)/子程交叉引用表等。利用它們找出變量錯誤可能影響到哪些語句,影響到哪些其他變量等。 5)檢查被測程序違反編程標準的錯誤。例如:模塊大小、模塊結(jié)構(gòu)、注釋的規(guī)定、某些語句形式的使用,以及文檔編制的規(guī)定等6)對一些靜態(tài)特性的統(tǒng)計功能。如:各種類型源語句的出現(xiàn)次數(shù)、標識符在每個語句中使用的情況、函數(shù)與過程引用情況、任何輸入數(shù)據(jù)都執(zhí)行不到的孤立代碼段、未經(jīng)定義或未曾使用過的變量、違背編碼標準之處等等。動態(tài)測試工具的功能包括:自動生成測試用例、自動生成驅(qū)動模塊和樁模塊、監(jiān)視測試的實際覆蓋程度、分析測試結(jié)果等三、應用題答案1.請為下列C語言程序設(shè)計語句覆蓋和路徑覆蓋的測試的測試用例。#include<stdio.h>intmain(){intA,B,X;X=0;scanf("%d%d%d",&A,&B);if(A>1&&B==0){X=X*100;}if(A==2||B==2){X=X+1;}printf("X=%d\n",X);return0;}語句覆蓋的測試用例如第五章習題表-1所示:第五章習題表第五章習題表-1輸入(A,B)預期結(jié)果X(2,0)1路徑覆蓋的測試用例如第五章習題表-2所示:第五章習題表第五章習題表-2輸入(A,B)預期結(jié)果X(2,0)1(3,0)0(0,2)1(3,1)02、設(shè)計一個求整數(shù)絕對值的函數(shù)并給出用于對其進行黑盒測試的等價類。答案:#include<stdio.h>intmain(){intascanf("%d",&a);if(a>=0)printf("|a|=%d\n",a)elseprintf("|a|=%d\n",-a);}用于黑盒測試的等價類有三個:正數(shù)、負數(shù)和零。測試用例如第五章習題答案表3所示。第五章習題表第五章習題表-3輸入a預期結(jié)果|a|0033-33第六章習題一、單項選擇1.任何軟件交付使用后都可能需要進行軟件維護,下列關(guān)于引起軟件維護的原因中,錯誤的是A.軟件投入運行的時間太長B.軟件交付使用后發(fā)現(xiàn)了新的錯誤C.軟件使用一段時間后,用戶提出了新的需求 D.軟件的運行環(huán)境發(fā)生了變化,需要進行軟件的遷移2.下列軟件維護類型中,因用戶提出新的功能需求而進行的軟件維護所屬的類型是A.完善性維護 B.適應性維護C.預防性維護D.改正性維護3.下列選項中,會導致軟件維護工作量和難度變大的因素是A.軟件文檔豐富、詳細 B.采用高級程序設(shè)計語言C.采用結(jié)構(gòu)化軟件開發(fā)技術(shù) D.采用匯編語言編寫基于網(wǎng)絡的APP4.軟件維護工作量的模型M=p+Kc-d中,變量C的含義是A.生產(chǎn)性工作量 B.對復雜性的度量C.軟件維護的工作量 D.對軟件熟悉的程度5.下列選項中,能有效提高軟件可維護性的措施是=2\*ROMANI.對源程序增加詳細的注釋 I=3\*ROMANI.提供軟件需求說明書II=4\*ROMANI.對軟件進行充分的測試 V=1\*ROMANI.提供正確而詳細的軟件設(shè)計文檔A.僅I B.僅I、=3\*ROMANIII C.僅=2\*ROMANII、=4\*ROMANIV D.=1\*ROMANI、=2\*ROMANII、=3\*ROMANIII、=4\*ROMANIV6.下列選項中,屬于軟件維護中修改程序所產(chǎn)生的副作用有A.程序注釋不詳細 B.文檔內(nèi)容與程序不一致C.程序的算法性能下降 D.軟件的靈活性變差7.下列角色中,軟件申請報告應該提交給A.配置管理員 B.系統(tǒng)監(jiān)督員C.維護管理員 D.程序維護人員8.關(guān)于軟件維護工作的組織,下列敘述中正確的是A.軟件維護機構(gòu)的工作不需要用戶參與B.軟件維護機構(gòu)中任何人只能承擔一種角色的工作C.軟件維護機構(gòu)中的維護管理員也可以參與程序修改工作 D.必須建立正式的軟件維護機構(gòu)或部門以承擔軟件維護工作9.下列選項中,對于一個基于復雜深度學習框架的智能預測系統(tǒng),有利于提高其系統(tǒng)可維護性的程序設(shè)計語言是A.C語言 B.機器語言C.pythonD.匯編語言10.保證軟件質(zhì)量的最佳方法是在軟件開發(fā)的最初階段就把質(zhì)量要求考慮進去,并在開發(fā)過程每一階段的終點設(shè)置檢查點進行檢查。在軟件設(shè)計階段的檢查點需要完成的檢查項目不包括A.運行計劃 B.維護支持計劃C.軟件設(shè)計方法 D.程序復雜性 二、問答題1.軟件維護有哪幾種類型?2.如何評價軟件維護的成本?3.軟件維護的組織機構(gòu)應該包含哪些角色?4.軟件維護的工作步驟是什么?5.什么是軟件的可維護性?評價軟件可維護性的指標有哪些?如何提高軟件的可維護性?6.可理解性好的程序有哪些特點?三、騰訊開發(fā)的微信,你認為還需要進行哪些完善性維護?你是否發(fā)現(xiàn)其中有需要進行改正性維護的問題?對微信軟件系統(tǒng)的維護應該采取哪些策略?第六章習題答案一、選擇題答案1.A 2.A 3.D 4.B 5.D 6.B 7.C 8.C9.C 10.D二、問答題答案1.軟件維護的類型有:改正性維護、適應性維護、完善性維護、預防性維護。2.下面的公式給出了一個軟件維護工作量的模型:M=p+Kc-d其中,M是維護中消耗的總工作量,p是生產(chǎn)性工作量,K是一個經(jīng)驗常數(shù),C是因缺乏好的設(shè)計和文檔而導致復雜性的度量,d是對軟件熟悉程度的度量。這個模型指明,如果使用了不好的軟件開發(fā)方法、軟件文檔不齊全、程序難以理解、原來參加開發(fā)的人員或小組不能參加維護、維護人員對軟件不熟悉,則工作量及成本將按指數(shù)級增加。3.軟件維護的組織機構(gòu)應該包含的角色有:維護管理員、系統(tǒng)監(jiān)督員、修改負責人、配置管理員、維護人員。4.軟件維護的工作步驟如下圖所示:第六章習題答案圖1軟件維護工作的一般步驟5.軟件可維護性是指糾正軟件系統(tǒng)出現(xiàn)的錯誤和缺陷,以及為滿足新的要求進行軟件修改的容易程度。評價軟件可維護性的指標有:可理解性、可測試性、可修改性、可靠性、可移植性、可使用性、效率。提高軟件的可維護性可從以下四個方面著手:建立明確的軟件質(zhì)量目標和優(yōu)先級、使用提高軟件質(zhì)量的技術(shù)和工具、進行明確的質(zhì)量保證審查、選擇易維護的程序設(shè)計語言。6.可理解性好的程序具有以下特點:模塊結(jié)構(gòu)良好、功能完整、程序和文檔簡明。代碼風格及設(shè)計風格一致。不使用難以理解或含糊不清的代碼。4)使用有意義的變量名、數(shù)據(jù)名
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度二零二五年度人工智能研發(fā)聘用合同詳盡版2篇
- 2025年度交通樞紐門衛(wèi)安全責任書3篇
- 2024年高端裝備制造業(yè)基地施工分包合同
- 2025年未實繳出資股份交易合同范本及風險提示3篇
- 二零二四年度2024權(quán)合作合同范本:信息安全服務合作協(xié)議3篇
- 2025年度綠色屋頂綠化設(shè)計與植物養(yǎng)護服務合同4篇
- 2025年度智能工廠安防監(jiān)控系統(tǒng)集成合同范本2篇
- 二零二五版環(huán)保管家技術(shù)服務合同樣本:環(huán)保設(shè)施投資合作3篇
- 2025年涂裝勞務分包合同范本大全:涂裝工藝創(chuàng)新3篇
- 個人勞務合同書電子版
- 名表買賣合同協(xié)議書
- COCA20000詞匯音標版表格
- 滬教版七年級數(shù)學上冊專題06圖形的運動(原卷版+解析)
- JTG-T-F20-2015公路路面基層施工技術(shù)細則
- 光伏發(fā)電站集中監(jiān)控系統(tǒng)通信及數(shù)據(jù)標準
- 建筑垃圾減排及資源化處置措施
- 2024年遼寧石化職業(yè)技術(shù)學院單招職業(yè)適應性測試題庫附答案
- 中西方校服文化差異研究
- 2024年一級建造師考試思維導圖-市政
- 高壓架空輸電線路反事故措施培訓課件
- 隱私計算技術(shù)與數(shù)據(jù)安全保護
評論
0/150
提交評論