![軟件工程項(xiàng)目思考題答案_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/c49c52da-7f33-4554-9c64-f624e261de55/c49c52da-7f33-4554-9c64-f624e261de551.gif)
![軟件工程項(xiàng)目思考題答案_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/c49c52da-7f33-4554-9c64-f624e261de55/c49c52da-7f33-4554-9c64-f624e261de552.gif)
![軟件工程項(xiàng)目思考題答案_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/c49c52da-7f33-4554-9c64-f624e261de55/c49c52da-7f33-4554-9c64-f624e261de553.gif)
![軟件工程項(xiàng)目思考題答案_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/c49c52da-7f33-4554-9c64-f624e261de55/c49c52da-7f33-4554-9c64-f624e261de554.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、.第一章基本概念1. 軟件的特點(diǎn)是什么?軟件的定義:軟件 =程序 +數(shù)據(jù) +文檔軟件的特點(diǎn):1) 軟件是邏輯實(shí)體; 具有抽象性;軟件的形態(tài)不可見; 必須通過觀察、 分析、思考、判斷來了解其功能、性能和其它特性。2)軟件是人腦思維的產(chǎn)物,其生產(chǎn)過程與硬件不同。開發(fā)過程的質(zhì)量控制及軟件產(chǎn)品保護(hù)問題。3)軟件的開發(fā)和運(yùn)行受計(jì)算機(jī)系統(tǒng)限制。軟件移植問題。4)軟件的開發(fā)技術(shù)落后,手工開發(fā)方式仍占統(tǒng)治地位。開發(fā)效率低。2. 2006 年發(fā)布的國家分類標(biāo)準(zhǔn)是什么?1)按功能:系統(tǒng)軟件、支撐軟件、應(yīng)用軟件2)按規(guī)模:微型軟件、小型軟件、大型軟件、甚大型軟件、極大型軟件3)按工作方式:實(shí)時(shí)處理軟件、分時(shí)軟件、交
2、互式軟件、批處理軟件4)按服務(wù)對(duì)象:項(xiàng)目軟件、產(chǎn)品軟件5)按使用頻度:使用頻度低、使用頻度高6)按失效影響:不良影響、嚴(yán)重影響3. 軟件危機(jī)的表現(xiàn)有哪些?1) 軟件開發(fā)進(jìn)度難以預(yù)測(cè)2) 軟件開發(fā)成本難以控制3) 用戶對(duì)產(chǎn)品功能難以滿足4) 軟件產(chǎn)品質(zhì)量無法保證5) 軟件產(chǎn)品難以維護(hù)4. 產(chǎn)生軟件危機(jī)的原因 ?1) 用戶需求不明確2) 缺乏正確的理論指導(dǎo)3) 軟件開發(fā)規(guī)模越來越大4) 軟件開發(fā)復(fù)雜度越來越高 5. 什么是軟件工程三要素 ?軟件工程的三要素:方法、工具和過程。6. 軟件工程的基本目標(biāo)是什么 ? 付出較低的開發(fā)成本 達(dá)到要求的軟件功能 取得較好的軟件性能 開發(fā)的軟件易于移植 需要較低
3、的維護(hù)費(fèi)用 能按時(shí)完成開發(fā)工作,及時(shí)交付使用7 軟件工程的基本原則是什么? 抽象:采用分層次抽象,自頂向下、逐層細(xì)化的辦法控制軟件開發(fā)過程的復(fù)雜性。 信息隱蔽: 將模塊設(shè)計(jì)成 “黑箱 ”,實(shí)現(xiàn)的細(xì)節(jié)隱藏在模塊內(nèi)部,不讓模塊的使用者直接訪問。這就是信息封裝,使用與實(shí)現(xiàn)分離的原則。 模塊化: 如 C 語言程序中的函數(shù)過程, C+ 語言程序中的類。模塊化有助于信息隱蔽和抽象,有助于表示復(fù)雜的系統(tǒng)。.局部化: 要求在一個(gè)物理模塊內(nèi)集中邏輯上相互關(guān)聯(lián)的計(jì)算機(jī)資源,保證模塊之間具有松散的耦合,模塊內(nèi)部具有較強(qiáng)的內(nèi)聚。這有助于控制解的復(fù)雜性。 確定性:軟件開發(fā)過程中所有概念的表達(dá)應(yīng)是確定的、無歧義性的、 規(guī)
4、范的。一致性: 整個(gè)軟件系統(tǒng)的各個(gè)模塊應(yīng)使用一致的概念、符號(hào)和術(shù)語。程序內(nèi)部接口應(yīng)保持一致。軟件和硬件、操作系統(tǒng)的接口應(yīng)保持一致。系統(tǒng)規(guī)格說明與系統(tǒng)行為應(yīng)保持一致。用于形式化規(guī)格說明的公理系統(tǒng)應(yīng)保持一致。 完備性: 軟件系統(tǒng)不丟失任何重要成分,可以完全實(shí)現(xiàn)系統(tǒng)所要求功能的程度。為了保證系統(tǒng)的完備性, 在軟件開發(fā)和運(yùn)行過程中需要嚴(yán)格的技術(shù)評(píng)審??沈?yàn)證性: 開發(fā)大型的軟件系統(tǒng)需要對(duì)系統(tǒng)自頂向下、逐層分解。系統(tǒng)分解應(yīng)遵循系統(tǒng)易于檢查、測(cè)試、評(píng)審的原則,以確保系統(tǒng)的正確性。8. 軟件工程的基本原理是什么? 用分階段的生命周期嚴(yán)格管理; 堅(jiān)持進(jìn)行階段評(píng)審; 實(shí)行嚴(yán)格的產(chǎn)品控制; 采用現(xiàn)代程序設(shè)計(jì)技術(shù);
5、結(jié)果應(yīng)能清楚地審查; 開發(fā)小組人員應(yīng)少而精; 承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。9. 瀑布模型有什么特點(diǎn)?1) 最早出現(xiàn)的軟件開發(fā)模型,它提供了軟件開發(fā)的基本框架。2) 瀑布模型的本質(zhì)是一次通過,即每個(gè)活動(dòng)只執(zhí)行一次,最后得到軟件產(chǎn)品。3) 瀑布模型有利于大型軟件開發(fā)過程中人員的組織及管理, 有利于軟件開發(fā)方法和工具的研究與使用,從而提高了大型軟件項(xiàng)目開發(fā)的質(zhì)量和效率。4) 里程碑或基線驅(qū)動(dòng),或者說文檔驅(qū)動(dòng);瀑布模型的缺陷: 由于開發(fā)模型呈線性, 所以當(dāng)開發(fā)成果尚未經(jīng)過測(cè)試時(shí), 用戶無法看到軟件的效果。這樣軟件與用戶見面的時(shí)間間隔較長,也增加了一定的風(fēng)險(xiǎn)。 在軟件開發(fā)前期末發(fā)現(xiàn)的錯(cuò)誤傳到后面的
6、開發(fā)活動(dòng)中時(shí), 可能會(huì)擴(kuò)散,進(jìn)而可能會(huì)造成整個(gè)軟件項(xiàng)目開發(fā)失敗。在軟件需求分析階段, 完全確定用戶的所有需求是比較困難的, 甚至可以說是不太可能的。瀑布模型即生存周期模型, 其核心思想是按工序?qū)栴}化簡, 將功能的實(shí)現(xiàn)與設(shè)計(jì)分開,便于分工協(xié)作, 即采用結(jié)構(gòu)化的分析與設(shè)計(jì)方法將邏輯實(shí)現(xiàn)與物理實(shí)現(xiàn)分開。瀑布模型將軟件生命周期劃分為軟件計(jì)劃、需求分析和定義、軟件設(shè)計(jì)、軟件編碼、軟件測(cè)試、軟件運(yùn)行維護(hù) 6 個(gè)階段,規(guī)定了他們自上而下、相互銜接的固定次序,如同瀑布流水逐級(jí)下落。10. 說明生命周期的劃分?一個(gè)軟件從定義、開發(fā)、使用和維護(hù),直到最終被廢棄,所經(jīng)歷的生存過程稱為軟件生存期或叫生命期。包括計(jì)劃
7、、需求分析、軟件計(jì)劃、程序編碼、軟件測(cè)試和運(yùn)行維護(hù) 6 各階段。11. 列出軟件生存期的幾個(gè)主要模型?瀑布模型、原型模型、螺旋模型、增量模型、構(gòu)件組裝模型、統(tǒng)一過程模型、第四代技術(shù).12. 瀑布模型軟件開發(fā)方法的基本過程?定義階段:計(jì)劃、需求分析開發(fā)階段:設(shè)計(jì)、編碼、測(cè)試維護(hù)階段:運(yùn)行維護(hù)13. 增量模型有什么特點(diǎn)?1) 融合了線性順序模型的基本成份和原型實(shí)現(xiàn)模型的迭代特征。2) 增量模型采用隨著日程時(shí)間的進(jìn)展而交錯(cuò)的線性序列。 每一個(gè)線性序列產(chǎn)生軟件的一個(gè)可發(fā)布的 “增量 ”。3) 增量模型強(qiáng)調(diào)每一個(gè)增量均發(fā)布一個(gè)可操作產(chǎn)品。 早期的增量是最終產(chǎn)品的“可拆卸 ”版本,但他們確實(shí)提供了給用戶服
8、務(wù)的功能,并且提供了給用戶評(píng)估的平臺(tái)。將軟件產(chǎn)品看作一組增量構(gòu)件,每次設(shè)計(jì)、實(shí)現(xiàn)、集成、測(cè)試和交付一塊構(gòu)件,直到所有構(gòu)件全部實(shí)現(xiàn)為止。特點(diǎn) :1) 任務(wù)或功能模塊驅(qū)動(dòng),可以分階段提交產(chǎn)品;2) 有多個(gè)任務(wù)單,這些多個(gè)任務(wù)單的集合,構(gòu)成項(xiàng)目的一個(gè)總?cè)蝿?wù)書( 總用戶需求報(bào)告 ) 。14. 幾種主要的軟件開發(fā)方法 ? 1) 結(jié)構(gòu)化開發(fā)方法2) 面向?qū)ο蟮姆椒?5. 軟件工程的“五個(gè)面向”?1) 面向流程分析 2) 面向數(shù)據(jù)設(shè)計(jì) 3) 面向?qū)ο髮?shí)現(xiàn)4) 面向功能測(cè)試 5) 面向過程管理第二章 軟件策劃2. 可行性分析最為敏感的方面是什么 ? 經(jīng)濟(jì)可行性: 經(jīng)濟(jì)效益能否超過開發(fā)成本? 技術(shù)可行性: 現(xiàn)有
9、技術(shù)能否實(shí)現(xiàn)?技術(shù)風(fēng)險(xiǎn)的各種因素 ? 操作可行性: 用戶的接受程度如何? 法律可行性: 是否合法,是否侵犯他人的利益。6. 甘特圖有哪些優(yōu)點(diǎn)和缺點(diǎn)?甘特圖:是一種對(duì)各項(xiàng)活動(dòng)進(jìn)行計(jì)劃調(diào)度與控制的圖表。 橫向表示時(shí)間, 縱向列出任務(wù)。優(yōu)點(diǎn):它具有簡單、 醒目和便于編制等特點(diǎn)。 能夠動(dòng)態(tài)反映軟件項(xiàng)目開發(fā)進(jìn)展的情況。缺點(diǎn):難以反映多個(gè)任務(wù)之間存在的復(fù)雜的邏輯關(guān)系。 7. 什么是網(wǎng)絡(luò)計(jì)劃法的關(guān)鍵事件與關(guān)鍵路徑?關(guān)鍵事件 :最早完成時(shí)間與最遲完成時(shí)間相等的事件。關(guān)鍵路徑 :關(guān)鍵事件聯(lián)結(jié)的各個(gè)活動(dòng)所組成的路線。第三章 結(jié)構(gòu)化需求分析1. 為什么說需求獲取難?1) 用戶需求具有動(dòng)態(tài)性 ( 不穩(wěn)定性 ) 。2)
10、 用戶需求具有模糊性 ( 不準(zhǔn)確性 ) 。3) 對(duì)需求達(dá)成一致的艱難性。4) 管理體制、機(jī)構(gòu)設(shè)置處在變革中。.5) 軟件書籍沒有將需求分析講清楚。 2. 需求分析的重點(diǎn)是哪些?通過對(duì)業(yè)務(wù)流程和數(shù)據(jù)流程的分析, 在以下四個(gè)方面與客戶要達(dá)成完全一致目標(biāo)。 業(yè)務(wù)模型、 功能模型、 性能模型、 接口模型。3. 需求分析的 9 大任務(wù)是什么? 畫出系統(tǒng)的組織結(jié)構(gòu)圖、列出各部門的崗位角色 ( 機(jī)構(gòu)模型 ) 。 畫出系統(tǒng)業(yè)務(wù)操作流程圖。 畫出系統(tǒng)的數(shù)據(jù)流圖,掌握業(yè)務(wù)規(guī)則,獲得初步數(shù)據(jù)模型。 列出系統(tǒng)的功能點(diǎn),即功能模型。 列出系統(tǒng)的性能點(diǎn),即性能模型。 列出系統(tǒng)的接口,即接口模型。 確定系統(tǒng)的運(yùn)行環(huán)境,即環(huán)
11、境模型。 確定系統(tǒng)的界面約定,即界面模型。 對(duì)開發(fā)工期、費(fèi)用、開發(fā)進(jìn)度、系統(tǒng)風(fēng)險(xiǎn)等分析與評(píng)估。4. 簡述需求分析的過程?需求分析階段的工作有以下四個(gè)方面:1) 問題識(shí)別2) 分析與綜合3) 編制需求分析階段文檔4) 需求分析評(píng)審5. 獲取需求的常用方法有哪些? 訪談 / 個(gè)別訪問 : 正式的和非正式的訪談 問卷調(diào)查 / 書面調(diào)查:發(fā)電子郵件、問卷調(diào)查即把需要調(diào)查的內(nèi)容制成表格交給用戶填寫。該方法對(duì)需要調(diào)查大量人員的意見時(shí),十分有效。 情景分析 / 電話和電視會(huì)議: 對(duì)目標(biāo)系統(tǒng)解決某個(gè)具體問題的方法和結(jié)果,給出可能的情景描述,以獲知用戶的具體需求。 實(shí)地考察 / 收集資料: 開調(diào)查會(huì)參加業(yè)務(wù)實(shí)踐
12、 構(gòu)造原型6. 需求分析的原則是什么? 解決邏輯問題: 需求分析是對(duì)問題的識(shí)別和說明,要回答“做什么”,而不是“怎么做”。 以運(yùn)行環(huán)境為基礎(chǔ): 需求分析工作應(yīng)以具體的運(yùn)行環(huán)境為基礎(chǔ),實(shí)事求是。 用戶參與的原則: 需求分析工作是系統(tǒng)分析人員同用戶不斷交互的過程。 構(gòu)造高質(zhì)量的需求規(guī)格說明: 需求規(guī)格說明是需求分析工作重要的完成標(biāo)志。7. 需求分析的基本要求是什么? 理解問題的數(shù)據(jù)域和功能域 自頂向下、逐層分解 給出系統(tǒng)的邏輯視圖和物理視圖8. 常見的需求分析方法有哪些? 面向數(shù)據(jù)流的分析方法. 面向功能的分析方法 面向數(shù)據(jù)的 Jackson 方法 面向?qū)ο蟮姆治龇椒?. 需求分析方法有哪些共性?
13、1. 支持?jǐn)?shù)據(jù)域的分析機(jī)制2. 功能表示方法3. 接口的定義4. 問題的分解及抽象化5. 邏輯視圖和物理視圖6. 系統(tǒng)抽象模型第四章結(jié)構(gòu)化軟件設(shè)計(jì)思考題 4.11. 軟件設(shè)計(jì)的具體任務(wù)包括哪些內(nèi)容?(1) 制定規(guī)范(2) 結(jié)構(gòu)設(shè)計(jì)(3) 處理方式設(shè)計(jì)(4) 數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計(jì)(5) 可靠性設(shè)計(jì)(質(zhì)量設(shè)計(jì))(6) 編寫軟件設(shè)計(jì)文檔(7) 設(shè)計(jì)審查和復(fù)審(8) 詳細(xì)設(shè)計(jì)2. 什么是數(shù)據(jù)的保護(hù)性設(shè)計(jì)?1) 防衛(wèi)性設(shè)計(jì): 在軟件設(shè)計(jì)中就插入自動(dòng)檢錯(cuò),報(bào)錯(cuò)和糾錯(cuò)的功能2) 一致性設(shè)計(jì): 在并發(fā)處理過程中使用封鎖和解除封鎖機(jī)制保持?jǐn)?shù)據(jù)不被破壞3) 冗余性設(shè)計(jì)3. 軟件設(shè)計(jì)的目標(biāo)是什么?軟件設(shè)計(jì)的最終目標(biāo)
14、: 取得最佳方案 節(jié)省開發(fā)費(fèi)用、 降低資源消耗、 縮短開發(fā)時(shí)間、 能夠贏得較高的生產(chǎn)效率、 較高的可靠性、 可維護(hù)性的方案。4. 模塊具有哪些基本屬性 ?“模塊 ”,又稱 “組件 ”。一般有四個(gè)基本屬性1) 功能:描述該模塊做什么?2) 邏輯:描述模塊內(nèi)部怎么做?3) 狀態(tài):模塊使用時(shí)的環(huán)境和條件。4) 接口:指模塊的輸入與輸出。5. 什么是耦合?什么是內(nèi)聚?如何增強(qiáng)模塊的獨(dú)立性?模塊獨(dú)立性由模塊間的耦合與內(nèi)聚度量。1) 耦合:各模塊之間的互相連接的緊密程度。模塊之間的連接越緊密,聯(lián)系越多,耦合性就越高,而其獨(dú)立性就越弱。.2) 內(nèi)聚:模塊內(nèi)各功能元素彼此結(jié)合的緊密程度。一個(gè)模塊內(nèi)部各個(gè)元素之
15、間的聯(lián)系越緊密,則它的內(nèi)聚性就越高,相對(duì)地,它與其它模塊之間的耦合性就會(huì)減低,而模塊獨(dú)立性就越強(qiáng)。3) 增強(qiáng)模塊獨(dú)立性的方法 是盡量做到 高內(nèi)聚、低耦合。6. 模塊化的特征有哪些?1) 抽象:用層次的方式構(gòu)造和分析復(fù)雜系統(tǒng)。2) 逐步求精: 幫助開發(fā)人員把精力集中在與當(dāng)前開發(fā)階段最相關(guān)的那些問題上。3) 信息隱蔽: 如果一個(gè)模塊內(nèi)包含的信息 ( 過程和數(shù)據(jù) ) 不允許外部的模塊訪問的話,其它模塊不能對(duì)其訪問。4) 局部化: 把一些關(guān)系密切的軟件元素物理地放得彼此靠近。7. 影響耦合度的因素有哪些? 連接方式的類型。 接口的復(fù)雜性。 傳送的信息流類型。 耦合的時(shí)間。8. 降低耦合度的方法有哪些?
16、 對(duì)需要了解的內(nèi)容,隱含的改為明顯的,便于理解; 連接的方式盡量標(biāo)準(zhǔn)化,避免直接引用; 減少公共區(qū),將公共區(qū)劃分為若干個(gè)邏輯子區(qū); 輸入輸出應(yīng)局限在少量模塊,不要分散在全系統(tǒng);9. 軟件結(jié)構(gòu)設(shè)計(jì)優(yōu)化的準(zhǔn)則是什么?1) 劃分模塊時(shí),盡量做到高內(nèi)聚、低耦合,保持模塊相對(duì)獨(dú)立性。模塊劃分的準(zhǔn)則:“將相關(guān)的各部分放在一起,無關(guān)的東西不要放在一起。 ”2) 模塊的大小要適中。3) 模塊的接口要簡單、清晰、含義明確。便于理解,易于實(shí)現(xiàn)、易于測(cè)試和維護(hù)。4) 一個(gè)模塊的作用范圍應(yīng)在其控制范圍之內(nèi)。且判定所在的模塊,應(yīng)與受其影響的模塊在層次上盡量靠近。5) 軟件結(jié)構(gòu)的深度、寬度、扇入、扇出應(yīng)適當(dāng)。6) 力求設(shè)
17、計(jì)單入口和單出口的模塊。避免“病態(tài)連接” ,以防止內(nèi)容耦合。7) 設(shè)計(jì)功能可預(yù)測(cè)模塊的劃分,應(yīng)防止功能過分局限。4.2 思考題1. 結(jié)構(gòu)化設(shè)計(jì)的優(yōu)點(diǎn)是什么? 減少設(shè)計(jì)復(fù)雜性。將大化小,使復(fù)雜問題簡單化。 結(jié)構(gòu)獨(dú)立。將程序劃分成多個(gè)相對(duì)獨(dú)立的模塊。 模塊功能單一化,可使軟件設(shè)計(jì)獲得最大的益處。 便于軟件的修改。 易于開發(fā)和維護(hù)。 加強(qiáng)了代碼的可重用性。2. 正交軟件體系結(jié)構(gòu)的優(yōu)點(diǎn)是什么? 層次結(jié)構(gòu)清晰,便于理解。 可移植性強(qiáng),重用粒度大。 易修改,可維護(hù)性強(qiáng)。.3. 三層 C/S 結(jié)構(gòu)的組成1) 表示層: 用戶接口部分,擔(dān)負(fù)著用戶與應(yīng)用間的對(duì)話功能。2) 功能層: 相當(dāng)于應(yīng)用的本體,將具體的業(yè)務(wù)
18、處理邏輯程序。3)數(shù)據(jù)層: 數(shù)據(jù)庫管理系統(tǒng),負(fù)責(zé)管理對(duì)數(shù)據(jù)庫數(shù)據(jù)的讀/ 寫。4. 三層結(jié)構(gòu)設(shè)計(jì)的優(yōu)點(diǎn)是什么? 允許合理地劃分三層結(jié)構(gòu)的功能,使之在邏輯上保持相對(duì)獨(dú)立性。允許更靈活有效地選用相應(yīng)的平臺(tái)和硬件系統(tǒng),使之在處理負(fù)荷能力上與處理特性上分別適應(yīng)于結(jié)構(gòu)清晰的三層;并且這些平臺(tái)和各個(gè)組成部分可以具有良好的可升級(jí)性和開放性 。 三層 C/S 結(jié)構(gòu)中,應(yīng)用的各層可以并行開發(fā),各層也可以選擇各自最適合的開發(fā)語言。 允許充分利用功能層有效地隔離開表示層與數(shù)據(jù)層,未授權(quán)的用戶難以繞過功能層而利用數(shù)據(jù)庫工具或黑客手段去非法地訪問數(shù)據(jù)層。5.B/S 體系結(jié)構(gòu)的不足之處 ? 缺乏對(duì)動(dòng)態(tài)頁面的支持能力,數(shù)據(jù)庫
19、處理能力差。 系統(tǒng)擴(kuò)展能力差,安全性難以控制。 響應(yīng)速度遠(yuǎn)低于C/S 體系結(jié)構(gòu)。 數(shù)據(jù)提交一般以頁面為單位,數(shù)據(jù)的動(dòng)態(tài)交互性不強(qiáng),不利于在線事務(wù)處理( OLTP)應(yīng)用。6.C/S 、B/S 混合結(jié)構(gòu)的特點(diǎn)是什么?1) B/S 與 C/S 混合結(jié)構(gòu)是一種典型的異構(gòu)系統(tǒng)。2) C/S 與 B/S 混合結(jié)構(gòu)的優(yōu)點(diǎn): 外部用戶不直接訪問數(shù)據(jù)庫服務(wù)器,能保證企業(yè)數(shù)據(jù)庫的相對(duì)安全。企業(yè)內(nèi)部用戶的交互性較強(qiáng),數(shù)據(jù)查詢和修改的響應(yīng)速度較快。3) C/S 與 B/S 混合結(jié)構(gòu)的缺點(diǎn): 企業(yè)外部用戶修改和維護(hù)數(shù)據(jù)時(shí),速度較慢,較煩瑣,數(shù)據(jù)的動(dòng)態(tài)交互性不強(qiáng)。7. 列出幾種主要的菜單類型 ? 固定菜單 活動(dòng)菜單 “彈
20、出式 ”菜單 “下拉式 ”菜單8. 活動(dòng)菜單的優(yōu)點(diǎn)是什么?1) 不占用顯示工作空間,2) 可以根據(jù)用戶當(dāng)前所處的操作狀態(tài)和要求動(dòng)態(tài)出現(xiàn)。3) 需要注意的是不能濫用彈出菜單。4.3 思考題1.DBMS有哪些基本功能?1) 建立數(shù)據(jù)庫的結(jié)構(gòu);2) 管理用戶的數(shù)據(jù)庫;3) 提供在數(shù)據(jù)庫上的各種操作;4) 提供數(shù)據(jù)庫對(duì)外的各種接口;2.DB、DBMS有何不同?在人們的交流中,習(xí)慣上常常將數(shù)據(jù)庫和 DBMS混為一談,不加區(qū)別。所以要根據(jù)不同場(chǎng)合、不同習(xí)慣、以及上下文來分析,所講的 “數(shù)據(jù)庫 ”三個(gè)字,到底是指.數(shù)據(jù)庫,還是指DBMS。3.DBMS提供的三種語言是什么? DDL(數(shù)據(jù)庫定義語言):如: C
21、REATE, ALTER,DROP; DML(數(shù)據(jù)庫操作語言):如: SELECT, UPDATE,INSERT,DELETE; DCL(數(shù)據(jù)庫控制語言):如: LOCK、UNLOCK;4. 四個(gè)表指的是什么?1) 基本表: 存放原始數(shù)據(jù)的表。2) 代碼表: 存放信息代碼數(shù)據(jù)的表。3) 中間表: 存放統(tǒng)計(jì)數(shù)據(jù)的表。4) 臨時(shí)表: 存放臨時(shí)數(shù)據(jù)的表。5. 基本表的性質(zhì)有哪些?為什么? 原子性。 基本表中的字段是不可再分解的。 原始性。 基本表中的記錄是原始數(shù)據(jù)(基礎(chǔ)數(shù)據(jù))的記錄。 演繹性。 由基本表與代碼表中的數(shù)據(jù),可以派生出所有的輸出數(shù)據(jù)。 穩(wěn)定性。 基本表的結(jié)構(gòu)是相對(duì)穩(wěn)定的,表中的記錄是需要
22、長期保存的。6. 怎樣正確認(rèn)識(shí)“數(shù)據(jù)冗余”?1) 主鍵與外鍵在多表中的重復(fù)出現(xiàn) , 不屬于數(shù)據(jù)冗余, 這個(gè)概念必須清楚,事實(shí)上有許多人還不清楚。2) 非鍵字段的重復(fù)出現(xiàn) , 才是數(shù)據(jù)冗余, 而且是一種低級(jí)冗余,即重復(fù)性的冗余。3) 高級(jí)冗余不是字段的重復(fù)出現(xiàn), 而是字段的派生出現(xiàn)。第五章結(jié)構(gòu)化軟件實(shí)現(xiàn)1. 代碼設(shè)計(jì)的主要原則是什么?1) 使用語言中的 順序、選擇、重復(fù) 等有限的基本控制結(jié)構(gòu)表示程序邏輯。2) 選用的控制結(jié)構(gòu)只準(zhǔn)許有 一個(gè)入口和一個(gè)出口 。3) 程序語句組成 容易識(shí)別的塊 ,每塊只有一個(gè)入口和一個(gè)出口。4) 復(fù)雜結(jié)構(gòu)應(yīng)該用 基本控制結(jié)構(gòu) 進(jìn)行組合嵌套來實(shí)現(xiàn)。2. 編程規(guī)范包括哪些
23、內(nèi)容?3. 良好的代碼設(shè)計(jì)風(fēng)格包括哪些內(nèi)容?4. 代碼語句設(shè)計(jì)應(yīng)遵從哪些原則?1) 在一行內(nèi)只寫一條語句: 采取適當(dāng)?shù)囊菩懈袷剑钩绦虻倪壿嫼凸δ茏兊酶用鞔_。在一行內(nèi)寫多個(gè)語句會(huì)使程序可讀性變差。2) 程序編寫清晰性第一: 不要刻意追求技巧性,使程序編寫得過于緊湊。3) 程序要能直截了當(dāng)?shù)卣f明程序員的用意:程序編寫要簡單,清楚,直截了當(dāng)?shù)卣f明程序員的用意。4) 清晰第一,效率第二: 不要為了追求效率而喪失了清晰性。事實(shí)上,程序效率的提高主要應(yīng)通過選擇高效的算法來實(shí)現(xiàn)。5) 先保證程序正確 , 再要求提高速度。6) 避免使用臨時(shí)變量而使可讀性下降。7) 讓編譯程序做簡單的優(yōu)化。8) 盡可能使用
24、庫函數(shù)和構(gòu)件。9) 避免不必要的轉(zhuǎn)移: 盡量不用 GO TO語句。10) 盡量采用三種基本的控制結(jié)構(gòu)編寫程序。.11) 避免使用空的 ELSE語句和 IF THEN IF 的語句。 這種結(jié)構(gòu)容易使讀者產(chǎn)生誤解??赡墚a(chǎn)生二義性問題。12) 避免采用過于復(fù)雜的條件測(cè)試。13) 盡量減少使用“否定”條件的條件語句。14) 盡量用通俗易懂的偽碼來描述程序的流程: 然后再翻譯成必須使用的語言。15) 數(shù)據(jù)結(jié)構(gòu)要有利于程序的簡化。16) 要模塊化: 使模塊功能盡可能單一化, 模塊間的耦合能夠清晰可見。17) 利用信息隱蔽: 確保每一個(gè)模塊的獨(dú)立性。18) 從數(shù)據(jù)出發(fā)構(gòu)造程序。19) 修補(bǔ)不好的程序, 要重
25、新編寫:也不要一味地追求代碼的復(fù)用, 要重新組織。20) 大的程序要分塊編寫和測(cè)試: 然后再集成。21) 對(duì)遞歸定義的數(shù)據(jù)結(jié)構(gòu)盡量使用遞歸過程。5.I/O代碼設(shè)計(jì)的原則是什么? 輸入數(shù)據(jù)要檢驗(yàn): 識(shí)別錯(cuò)誤的輸入,以保證每個(gè)數(shù)據(jù)的有效性; 檢查輸入項(xiàng)的各種重要組合的合理性:必要時(shí)報(bào)告輸入狀態(tài)信息; 輸入的步驟和操作盡可能簡單:并保持簡單的輸入格式; 應(yīng)允許使用自由格式輸入數(shù)據(jù); 應(yīng)允許缺省值; 批數(shù)據(jù)輸入時(shí),使用輸入結(jié)束標(biāo)志:而不要由用戶指定輸入數(shù)據(jù)數(shù)目;交互式輸入時(shí),屏幕上使用提示符明確提示輸入的請(qǐng)求: 指明可使用選擇項(xiàng)的種類和取值范圍。同時(shí),在數(shù)據(jù)輸入的過程中和輸入結(jié)束時(shí),也要在屏幕上給出狀
26、態(tài)信息; 程序設(shè)計(jì)語言對(duì)I/O 格式有嚴(yán)格要求時(shí),應(yīng) 保持輸入格式與輸入語句要求的一致性; 輸出加注解, 并設(shè)計(jì)輸出報(bào)表格式。6. 軟件效率應(yīng)該以什么為準(zhǔn) ? 軟件需求7. 程序的效率與哪些因素有關(guān) ?程序的效率是指程序的 執(zhí)行速度 及程序所需占用的內(nèi)存的 存儲(chǔ)空間 。討論程序效率的準(zhǔn)則:1) 效率性能要求,應(yīng)在需求分析階段給出。 軟件效率以需求為準(zhǔn) ,不應(yīng)以人力所及為準(zhǔn)。好的設(shè)計(jì)可以提高效率。2) 程序的效率與程序的簡單性相關(guān) 。3) 一般說來,任何對(duì)效率無重要改善,且對(duì)程序的簡單性、可讀性和正確性不利的程序設(shè)計(jì)方法都是不可取的。8. 詳細(xì)設(shè)計(jì)向代碼設(shè)計(jì)轉(zhuǎn)換過程的指導(dǎo)原則是什么?1)盡可能簡
27、化有關(guān)的算術(shù)表達(dá)式和邏輯表達(dá)式;2)檢查算法中的嵌套的循環(huán),盡可能將某些語句或表達(dá)式移到循環(huán)外面;3)盡量避免使用多維數(shù)組;4)盡量避免使用指針和復(fù)雜的表;5)采用“快速”的算術(shù)運(yùn)算;6)不要混淆數(shù)據(jù)類型,避免在表達(dá)式中出現(xiàn)類型混雜;7)盡量采用整數(shù)算術(shù)表達(dá)式和布爾表達(dá)式;8)選用等效的高效率算法;.9. 影響存儲(chǔ)器效率的因素是什么 ?1)存儲(chǔ)效率與OS的分頁功能直接有關(guān)。2)采用結(jié)構(gòu)化程序設(shè)計(jì)。3)提高存儲(chǔ)器效率的關(guān)鍵是程序的簡單性。10. 提高 I/O 設(shè)備效率的指導(dǎo)原則有哪些 ?1) I/O 的請(qǐng)求應(yīng)當(dāng)最小化;2) 對(duì)于所有的I/O 操作,安排適當(dāng)?shù)木彌_區(qū),以減少頻繁的信息交換。3) 對(duì)
28、輔助存儲(chǔ) ( 例如磁盤 ) ,選擇盡可能簡單的,可接受的存取方法;4) 對(duì)輔助存儲(chǔ)的I/O ,應(yīng)當(dāng)成塊傳送;5) 對(duì)終端或打印機(jī)的I/O ,應(yīng)考慮設(shè)備特性,盡可能改善I/O 的質(zhì)量和速度;6) 任何不易理解的,對(duì)改善輸入/ 輸出效果關(guān)系不大的措施都是不可取的;7) 任何不易理解的所謂“超高效”的I/O 毫無價(jià)值;11. 提示信息分哪幾類 ?1)引導(dǎo)性提示信息:該類提示信息一般在需要用戶干預(yù)時(shí)出現(xiàn),要求用戶決定下一步的操作。如在退出時(shí)提示“修改的數(shù)據(jù)尚未存盤,存盤否?”。使用MessageBox進(jìn)行提示。2) 錯(cuò)誤性提示信息: 該類提示信息一般在軟件運(yùn)行出錯(cuò)時(shí)出現(xiàn),告訴用戶軟件遇到了問題。如“系
29、統(tǒng)運(yùn)行出現(xiàn)故障,請(qǐng)與系統(tǒng)管理員聯(lián)系!”。3) 狀態(tài)性提示信息:該類提示信息一般在軟件處于“忙”狀態(tài)下提示,告訴用戶軟件正在進(jìn)行什么操作,讓用戶耐心等待。如“正在進(jìn)行數(shù)據(jù)傳輸,請(qǐng)稍待 ”。4) 位置性提示信息 :該類提示信息一般根據(jù)鼠標(biāo)的位置進(jìn)行提示,告訴用戶鼠標(biāo)正指向什么功能。如“報(bào)表打印”。12. 軟件實(shí)現(xiàn)過程由哪些文檔的組成? 源程序清單用戶使用手冊(cè)用戶安裝手冊(cè)系統(tǒng)管理員手冊(cè)13. 軟件實(shí)現(xiàn)過程包括哪些管理文檔 ? 用戶指南評(píng)審報(bào)告模塊源程序行統(tǒng)計(jì)表(行/ 模塊名)源程序工作量統(tǒng)計(jì)表(行/ 人天)5.2 思考題1. 軟件測(cè)試的原則? 軟件測(cè)試應(yīng)當(dāng) 盡早和不斷地進(jìn)行 。 程序員應(yīng) 避免檢查自
30、己 的程序。 設(shè)計(jì)測(cè)試即應(yīng)包括合理的、還應(yīng)包括不合理的輸入條件。 經(jīng)驗(yàn)表明, 測(cè)試后程序中殘存的錯(cuò)誤數(shù)目與該程序中已發(fā)現(xiàn)的錯(cuò)誤數(shù)目成正比。 妥善保存測(cè)試計(jì)劃, 測(cè)試用例,出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。2. 軟件測(cè)試的最初定義 ?1) 軟件測(cè)試是測(cè)試中的特例,它的測(cè)試對(duì)象是 人類的智力產(chǎn)品 - 軟件2) 最初定義: “軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程?!?. 軟件測(cè)試的經(jīng)典定義 ?測(cè)試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯(cuò)誤;一個(gè)好的測(cè)試在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;.一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。4. 測(cè)試的目的?1) 以最少的時(shí)間和人力,系統(tǒng)地找出軟件中潛在的各種錯(cuò)誤和缺陷。2) 能夠證明軟件的功能和性能與需求說明相符合。3) 測(cè)試結(jié)果數(shù)據(jù)為可靠性分析提供了依據(jù)。4) 測(cè)試不能表明軟件中不存在錯(cuò)誤,它只能說明軟件中存在錯(cuò)誤。 5. 黑盒測(cè)試的優(yōu)點(diǎn)?對(duì)于較大的代碼單元來說,黑盒測(cè)試比白盒測(cè)試效率要高;測(cè)試人員不需要了解實(shí)現(xiàn)的細(xì)節(jié),包括特定的編程語言;從用戶的角度進(jìn)行測(cè)試,容易被理解和接受;有助于暴露任何規(guī)格不一致或有歧義的問題;6. 黑盒測(cè)試的缺點(diǎn)?要測(cè)試每個(gè)可能的輸入流幾乎是不可能的;會(huì)有很多程序路徑?jīng)]有被測(cè)試到;不能直接針對(duì)特定程序段測(cè)試,因此可能隱藏更多的問題。7. 白盒測(cè)試的優(yōu)點(diǎn)? 迫使測(cè)試人員去仔細(xì)思考
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- racemic-8-Hydroxy-cannabichromene-生命科學(xué)試劑-MCE-7832
- Mouse-Laminin-生命科學(xué)試劑-MCE-7265
- 二零二五年度雙方2025年度智能機(jī)器人研發(fā)團(tuán)隊(duì)用工合同
- 2025年度自媒體合伙人合同版:短視頻平臺(tái)網(wǎng)紅孵化與推廣合同
- 防震防火的應(yīng)急預(yù)案
- 上海市商業(yè)租賃合同
- 產(chǎn)業(yè)基地設(shè)施維護(hù)合同
- 上海市汽車租賃合同模版正式版
- 個(gè)人住宅購買合同定金協(xié)議
- 專兼職律師服務(wù)合同樣本格式
- 2025年春新人教版物理八年級(jí)下冊(cè)課件 第十章 浮力 第4節(jié) 跨學(xué)科實(shí)踐:制作微型密度計(jì)
- 貨運(yùn)車輛駕駛員服務(wù)標(biāo)準(zhǔn)化培訓(xùn)考核試卷
- 財(cái)務(wù)BP經(jīng)營分析報(bào)告
- 三年級(jí)上冊(cè)體育課教案
- 2024高考物理二輪復(fù)習(xí)電學(xué)實(shí)驗(yàn)專項(xiàng)訓(xùn)練含解析
- 高中英語:倒裝句專項(xiàng)練習(xí)(附答案)
- 2025屆河北衡水?dāng)?shù)學(xué)高三第一學(xué)期期末統(tǒng)考試題含解析
- 2024年山東省青島市普通高中自主招生物理試卷(含解析)
- 2024信息技術(shù)數(shù)字孿生能力成熟度模型
- 交通銀行股份有限公司操作風(fēng)險(xiǎn)管理政策
- 提高數(shù)學(xué)教師命題能力培訓(xùn)
評(píng)論
0/150
提交評(píng)論