軟件工程項(xiàng)目思考題答案_第1頁(yè)
軟件工程項(xiàng)目思考題答案_第2頁(yè)
軟件工程項(xiàng)目思考題答案_第3頁(yè)
軟件工程項(xiàng)目思考題答案_第4頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.第一章基本概念1. 軟件的特點(diǎn)是什么?軟件的定義:軟件 =程序 +數(shù)據(jù) +文檔軟件的特點(diǎn):1) 軟件是邏輯實(shí)體; 具有抽象性;軟件的形態(tài)不可見(jiàn); 必須通過(guò)觀察、 分析、思考、判斷來(lái)了解其功能、性能和其它特性。2)軟件是人腦思維的產(chǎn)物,其生產(chǎn)過(guò)程與硬件不同。開(kāi)發(fā)過(guò)程的質(zhì)量控制及軟件產(chǎn)品保護(hù)問(wèn)題。3)軟件的開(kāi)發(fā)和運(yùn)行受計(jì)算機(jī)系統(tǒng)限制。軟件移植問(wèn)題。4)軟件的開(kāi)發(fā)技術(shù)落后,手工開(kāi)發(fā)方式仍占統(tǒng)治地位。開(kāi)發(fā)效率低。2. 2006 年發(fā)布的國(guó)家分類(lèi)標(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) 軟件開(kāi)發(fā)進(jìn)度難以預(yù)測(cè)2) 軟件開(kāi)發(fā)成本難以控制3) 用戶(hù)對(duì)產(chǎn)品功能難以滿(mǎn)足4) 軟件產(chǎn)品質(zhì)量無(wú)法保證5) 軟件產(chǎn)品難以維護(hù)4. 產(chǎn)生軟件危機(jī)的原因 ?1) 用戶(hù)需求不明確2) 缺乏正確的理論指導(dǎo)3) 軟件開(kāi)發(fā)規(guī)模越來(lái)越大4) 軟件開(kāi)發(fā)復(fù)雜度越來(lái)越高 5. 什么是軟件工程三要素 ?軟件工程的三要素:方法、工具和過(guò)程。6. 軟件工程的基本目標(biāo)是什么 ? 付出較低的開(kāi)發(fā)成本 達(dá)到要求的軟件功能 取得較好的軟件性能 開(kāi)發(fā)的軟件易于移植 需要較低

3、的維護(hù)費(fèi)用 能按時(shí)完成開(kāi)發(fā)工作,及時(shí)交付使用7 軟件工程的基本原則是什么? 抽象:采用分層次抽象,自頂向下、逐層細(xì)化的辦法控制軟件開(kāi)發(fā)過(guò)程的復(fù)雜性。 信息隱蔽: 將模塊設(shè)計(jì)成 “黑箱 ”,實(shí)現(xiàn)的細(xì)節(jié)隱藏在模塊內(nèi)部,不讓模塊的使用者直接訪問(wèn)。這就是信息封裝,使用與實(shí)現(xiàn)分離的原則。 模塊化: 如 C 語(yǔ)言程序中的函數(shù)過(guò)程, C+ 語(yǔ)言程序中的類(lèi)。模塊化有助于信息隱蔽和抽象,有助于表示復(fù)雜的系統(tǒng)。.局部化: 要求在一個(gè)物理模塊內(nèi)集中邏輯上相互關(guān)聯(lián)的計(jì)算機(jī)資源,保證模塊之間具有松散的耦合,模塊內(nèi)部具有較強(qiáng)的內(nèi)聚。這有助于控制解的復(fù)雜性。 確定性:軟件開(kāi)發(fā)過(guò)程中所有概念的表達(dá)應(yīng)是確定的、無(wú)歧義性的、 規(guī)

4、范的。一致性: 整個(gè)軟件系統(tǒng)的各個(gè)模塊應(yīng)使用一致的概念、符號(hào)和術(shù)語(yǔ)。程序內(nèi)部接口應(yīng)保持一致。軟件和硬件、操作系統(tǒng)的接口應(yīng)保持一致。系統(tǒng)規(guī)格說(shuō)明與系統(tǒng)行為應(yīng)保持一致。用于形式化規(guī)格說(shuō)明的公理系統(tǒng)應(yīng)保持一致。 完備性: 軟件系統(tǒng)不丟失任何重要成分,可以完全實(shí)現(xiàn)系統(tǒng)所要求功能的程度。為了保證系統(tǒng)的完備性, 在軟件開(kāi)發(fā)和運(yùn)行過(guò)程中需要嚴(yán)格的技術(shù)評(píng)審??沈?yàn)證性: 開(kāi)發(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)能清楚地審查; 開(kāi)發(fā)小組人員應(yīng)少而精; 承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。9. 瀑布模型有什么特點(diǎn)?1) 最早出現(xiàn)的軟件開(kāi)發(fā)模型,它提供了軟件開(kāi)發(fā)的基本框架。2) 瀑布模型的本質(zhì)是一次通過(guò),即每個(gè)活動(dòng)只執(zhí)行一次,最后得到軟件產(chǎn)品。3) 瀑布模型有利于大型軟件開(kāi)發(fā)過(guò)程中人員的組織及管理, 有利于軟件開(kāi)發(fā)方法和工具的研究與使用,從而提高了大型軟件項(xiàng)目開(kāi)發(fā)的質(zhì)量和效率。4) 里程碑或基線驅(qū)動(dòng),或者說(shuō)文檔驅(qū)動(dòng);瀑布模型的缺陷: 由于開(kāi)發(fā)模型呈線性, 所以當(dāng)開(kāi)發(fā)成果尚未經(jīng)過(guò)測(cè)試時(shí), 用戶(hù)無(wú)法看到軟件的效果。這樣軟件與用戶(hù)見(jiàn)面的時(shí)間間隔較長(zhǎng),也增加了一定的風(fēng)險(xiǎn)。 在軟件開(kāi)發(fā)前期末發(fā)現(xiàn)的錯(cuò)誤傳到后面的

6、開(kāi)發(fā)活動(dòng)中時(shí), 可能會(huì)擴(kuò)散,進(jìn)而可能會(huì)造成整個(gè)軟件項(xiàng)目開(kāi)發(fā)失敗。在軟件需求分析階段, 完全確定用戶(hù)的所有需求是比較困難的, 甚至可以說(shuō)是不太可能的。瀑布模型即生存周期模型, 其核心思想是按工序?qū)?wèn)題化簡(jiǎn), 將功能的實(shí)現(xiàn)與設(shè)計(jì)分開(kāi),便于分工協(xié)作, 即采用結(jié)構(gòu)化的分析與設(shè)計(jì)方法將邏輯實(shí)現(xiàn)與物理實(shí)現(xiàn)分開(kāi)。瀑布模型將軟件生命周期劃分為軟件計(jì)劃、需求分析和定義、軟件設(shè)計(jì)、軟件編碼、軟件測(cè)試、軟件運(yùn)行維護(hù) 6 個(gè)階段,規(guī)定了他們自上而下、相互銜接的固定次序,如同瀑布流水逐級(jí)下落。10. 說(shuō)明生命周期的劃分?一個(gè)軟件從定義、開(kāi)發(fā)、使用和維護(hù),直到最終被廢棄,所經(jīng)歷的生存過(guò)程稱(chēng)為軟件生存期或叫生命期。包括計(jì)劃

7、、需求分析、軟件計(jì)劃、程序編碼、軟件測(cè)試和運(yùn)行維護(hù) 6 各階段。11. 列出軟件生存期的幾個(gè)主要模型?瀑布模型、原型模型、螺旋模型、增量模型、構(gòu)件組裝模型、統(tǒng)一過(guò)程模型、第四代技術(shù).12. 瀑布模型軟件開(kāi)發(fā)方法的基本過(guò)程?定義階段:計(jì)劃、需求分析開(kāi)發(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í)提供了給用戶(hù)服

8、務(wù)的功能,并且提供了給用戶(hù)評(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ù)書(shū)( 總用戶(hù)需求報(bào)告 ) 。14. 幾種主要的軟件開(kāi)發(fā)方法 ? 1) 結(jié)構(gòu)化開(kāi)發(fā)方法2) 面向?qū)ο蟮姆椒?5. 軟件工程的“五個(gè)面向”?1) 面向流程分析 2) 面向數(shù)據(jù)設(shè)計(jì) 3) 面向?qū)ο髮?shí)現(xiàn)4) 面向功能測(cè)試 5) 面向過(guò)程管理第二章 軟件策劃2. 可行性分析最為敏感的方面是什么 ? 經(jīng)濟(jì)可行性: 經(jīng)濟(jì)效益能否超過(guò)開(kāi)發(fā)成本? 技術(shù)可行性: 現(xiàn)有

9、技術(shù)能否實(shí)現(xiàn)?技術(shù)風(fēng)險(xiǎn)的各種因素 ? 操作可行性: 用戶(hù)的接受程度如何? 法律可行性: 是否合法,是否侵犯他人的利益。6. 甘特圖有哪些優(yōu)點(diǎn)和缺點(diǎn)?甘特圖:是一種對(duì)各項(xiàng)活動(dòng)進(jìn)行計(jì)劃調(diào)度與控制的圖表。 橫向表示時(shí)間, 縱向列出任務(wù)。優(yōu)點(diǎn):它具有簡(jiǎn)單、 醒目和便于編制等特點(diǎn)。 能夠動(dòng)態(tài)反映軟件項(xiàng)目開(kāi)發(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. 為什么說(shuō)需求獲取難?1) 用戶(hù)需求具有動(dòng)態(tài)性 ( 不穩(wěn)定性 ) 。2)

10、 用戶(hù)需求具有模糊性 ( 不準(zhǔn)確性 ) 。3) 對(duì)需求達(dá)成一致的艱難性。4) 管理體制、機(jī)構(gòu)設(shè)置處在變革中。.5) 軟件書(shū)籍沒(méi)有將需求分析講清楚。 2. 需求分析的重點(diǎn)是哪些?通過(guò)對(duì)業(yè)務(wù)流程和數(shù)據(jù)流程的分析, 在以下四個(gè)方面與客戶(hù)要達(dá)成完全一致目標(biāo)。 業(yè)務(wù)模型、 功能模型、 性能模型、 接口模型。3. 需求分析的 9 大任務(wù)是什么? 畫(huà)出系統(tǒng)的組織結(jié)構(gòu)圖、列出各部門(mén)的崗位角色 ( 機(jī)構(gòu)模型 ) 。 畫(huà)出系統(tǒng)業(yè)務(wù)操作流程圖。 畫(huà)出系統(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ì)開(kāi)發(fā)工期、費(fèi)用、開(kāi)發(fā)進(jìn)度、系統(tǒng)風(fēng)險(xiǎn)等分析與評(píng)估。4. 簡(jiǎn)述需求分析的過(guò)程?需求分析階段的工作有以下四個(gè)方面:1) 問(wèn)題識(shí)別2) 分析與綜合3) 編制需求分析階段文檔4) 需求分析評(píng)審5. 獲取需求的常用方法有哪些? 訪談 / 個(gè)別訪問(wèn) : 正式的和非正式的訪談 問(wèn)卷調(diào)查 / 書(shū)面調(diào)查:發(fā)電子郵件、問(wèn)卷調(diào)查即把需要調(diào)查的內(nèi)容制成表格交給用戶(hù)填寫(xiě)。該方法對(duì)需要調(diào)查大量人員的意見(jiàn)時(shí),十分有效。 情景分析 / 電話和電視會(huì)議: 對(duì)目標(biāo)系統(tǒng)解決某個(gè)具體問(wèn)題的方法和結(jié)果,給出可能的情景描述,以獲知用戶(hù)的具體需求。 實(shí)地考察 / 收集資料: 開(kāi)調(diào)查會(huì)參加業(yè)務(wù)實(shí)踐

12、 構(gòu)造原型6. 需求分析的原則是什么? 解決邏輯問(wèn)題: 需求分析是對(duì)問(wèn)題的識(shí)別和說(shuō)明,要回答“做什么”,而不是“怎么做”。 以運(yùn)行環(huán)境為基礎(chǔ): 需求分析工作應(yīng)以具體的運(yùn)行環(huán)境為基礎(chǔ),實(shí)事求是。 用戶(hù)參與的原則: 需求分析工作是系統(tǒng)分析人員同用戶(hù)不斷交互的過(guò)程。 構(gòu)造高質(zhì)量的需求規(guī)格說(shuō)明: 需求規(guī)格說(shuō)明是需求分析工作重要的完成標(biāo)志。7. 需求分析的基本要求是什么? 理解問(wèn)題的數(shù)據(jù)域和功能域 自頂向下、逐層分解 給出系統(tǒng)的邏輯視圖和物理視圖8. 常見(jiàn)的需求分析方法有哪些? 面向數(shù)據(jù)流的分析方法. 面向功能的分析方法 面向數(shù)據(jù)的 Jackson 方法 面向?qū)ο蟮姆治龇椒?. 需求分析方法有哪些共性?

13、1. 支持?jǐn)?shù)據(jù)域的分析機(jī)制2. 功能表示方法3. 接口的定義4. 問(wèn)題的分解及抽象化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ù)庫(kù)設(shè)計(jì)(5) 可靠性設(shè)計(jì)(質(zhì)量設(shè)計(jì))(6) 編寫(xiě)軟件設(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ā)處理過(guò)程中使用封鎖和解除封鎖機(jī)制保持?jǐn)?shù)據(jù)不被破壞3) 冗余性設(shè)計(jì)3. 軟件設(shè)計(jì)的目標(biāo)是什么?軟件設(shè)計(jì)的最終目標(biāo)

14、: 取得最佳方案 節(jié)省開(kāi)發(fā)費(fèi)用、 降低資源消耗、 縮短開(kāi)發(fā)時(shí)間、 能夠贏得較高的生產(chǎn)效率、 較高的可靠性、 可維護(hù)性的方案。4. 模塊具有哪些基本屬性 ?“模塊 ”,又稱(chēng) “組件 ”。一般有四個(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) 逐步求精: 幫助開(kāi)發(fā)人員把精力集中在與當(dāng)前開(kāi)發(fā)階段最相關(guān)的那些問(wèn)題上。3) 信息隱蔽: 如果一個(gè)模塊內(nèi)包含的信息 ( 過(guò)程和數(shù)據(jù) ) 不允許外部的模塊訪問(wèn)的話,其它模塊不能對(duì)其訪問(wèn)。4) 局部化: 把一些關(guān)系密切的軟件元素物理地放得彼此靠近。7. 影響耦合度的因素有哪些? 連接方式的類(lèi)型。 接口的復(fù)雜性。 傳送的信息流類(lèi)型。 耦合的時(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)的各部分放在一起,無(wú)關(guān)的東西不要放在一起。 ”2) 模塊的大小要適中。3) 模塊的接口要簡(jiǎn)單、清晰、含義明確。便于理解,易于實(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)防止功能過(guò)分局限。4.2 思考題1. 結(jié)構(gòu)化設(shè)計(jì)的優(yōu)點(diǎn)是什么? 減少設(shè)計(jì)復(fù)雜性。將大化小,使復(fù)雜問(wèn)題簡(jiǎn)單化。 結(jié)構(gòu)獨(dú)立。將程序劃分成多個(gè)相對(duì)獨(dú)立的模塊。 模塊功能單一化,可使軟件設(shè)計(jì)獲得最大的益處。 便于軟件的修改。 易于開(kāi)發(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) 表示層: 用戶(hù)接口部分,擔(dān)負(fù)著用戶(hù)與應(yīng)用間的對(duì)話功能。2) 功能層: 相當(dāng)于應(yīng)用的本體,將具體的業(yè)務(wù)

18、處理邏輯程序。3)數(shù)據(jù)層: 數(shù)據(jù)庫(kù)管理系統(tǒng),負(fù)責(zé)管理對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的讀/ 寫(xiě)。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í)性和開(kāi)放性 。 三層 C/S 結(jié)構(gòu)中,應(yīng)用的各層可以并行開(kāi)發(fā),各層也可以選擇各自最適合的開(kāi)發(fā)語(yǔ)言。 允許充分利用功能層有效地隔離開(kāi)表示層與數(shù)據(jù)層,未授權(quán)的用戶(hù)難以繞過(guò)功能層而利用數(shù)據(jù)庫(kù)工具或黑客手段去非法地訪問(wèn)數(shù)據(jù)層。5.B/S 體系結(jié)構(gòu)的不足之處 ? 缺乏對(duì)動(dòng)態(tài)頁(yè)面的支持能力,數(shù)據(jù)庫(kù)

19、處理能力差。 系統(tǒng)擴(kuò)展能力差,安全性難以控制。 響應(yīng)速度遠(yuǎn)低于C/S 體系結(jié)構(gòu)。 數(shù)據(jù)提交一般以頁(yè)面為單位,數(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): 外部用戶(hù)不直接訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)器,能保證企業(yè)數(shù)據(jù)庫(kù)的相對(duì)安全。企業(yè)內(nèi)部用戶(hù)的交互性較強(qiáng),數(shù)據(jù)查詢(xún)和修改的響應(yīng)速度較快。3) C/S 與 B/S 混合結(jié)構(gòu)的缺點(diǎn): 企業(yè)外部用戶(hù)修改和維護(hù)數(shù)據(jù)時(shí),速度較慢,較煩瑣,數(shù)據(jù)的動(dòng)態(tài)交互性不強(qiáng)。7. 列出幾種主要的菜單類(lèi)型 ? 固定菜單 活動(dòng)菜單 “彈

20、出式 ”菜單 “下拉式 ”菜單8. 活動(dòng)菜單的優(yōu)點(diǎn)是什么?1) 不占用顯示工作空間,2) 可以根據(jù)用戶(hù)當(dāng)前所處的操作狀態(tài)和要求動(dòng)態(tài)出現(xiàn)。3) 需要注意的是不能濫用彈出菜單。4.3 思考題1.DBMS有哪些基本功能?1) 建立數(shù)據(jù)庫(kù)的結(jié)構(gòu);2) 管理用戶(hù)的數(shù)據(jù)庫(kù);3) 提供在數(shù)據(jù)庫(kù)上的各種操作;4) 提供數(shù)據(jù)庫(kù)對(duì)外的各種接口;2.DB、DBMS有何不同?在人們的交流中,習(xí)慣上常常將數(shù)據(jù)庫(kù)和 DBMS混為一談,不加區(qū)別。所以要根據(jù)不同場(chǎng)合、不同習(xí)慣、以及上下文來(lái)分析,所講的 “數(shù)據(jù)庫(kù) ”三個(gè)字,到底是指.數(shù)據(jù)庫(kù),還是指DBMS。3.DBMS提供的三種語(yǔ)言是什么? DDL(數(shù)據(jù)庫(kù)定義語(yǔ)言):如: C

21、REATE, ALTER,DROP; DML(數(shù)據(jù)庫(kù)操作語(yǔ)言):如: SELECT, UPDATE,INSERT,DELETE; DCL(數(shù)據(jù)庫(kù)控制語(yǔ)言):如: 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、長(zhǎng)期保存的。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) 使用語(yǔ)言中的 順序、選擇、重復(fù) 等有限的基本控制結(jié)構(gòu)表示程序邏輯。2) 選用的控制結(jié)構(gòu)只準(zhǔn)許有 一個(gè)入口和一個(gè)出口 。3) 程序語(yǔ)句組成 容易識(shí)別的塊 ,每塊只有一個(gè)入口和一個(gè)出口。4) 復(fù)雜結(jié)構(gòu)應(yīng)該用 基本控制結(jié)構(gòu) 進(jìn)行組合嵌套來(lái)實(shí)現(xiàn)。2. 編程規(guī)范包括哪些

23、內(nèi)容?3. 良好的代碼設(shè)計(jì)風(fēng)格包括哪些內(nèi)容?4. 代碼語(yǔ)句設(shè)計(jì)應(yīng)遵從哪些原則?1) 在一行內(nèi)只寫(xiě)一條語(yǔ)句: 采取適當(dāng)?shù)囊菩懈袷?,使程序的邏輯和功能變得更加明確。在一行內(nèi)寫(xiě)多個(gè)語(yǔ)句會(huì)使程序可讀性變差。2) 程序編寫(xiě)清晰性第一: 不要刻意追求技巧性,使程序編寫(xiě)得過(guò)于緊湊。3) 程序要能直截了當(dāng)?shù)卣f(shuō)明程序員的用意:程序編寫(xiě)要簡(jiǎn)單,清楚,直截了當(dāng)?shù)卣f(shuō)明程序員的用意。4) 清晰第一,效率第二: 不要為了追求效率而喪失了清晰性。事實(shí)上,程序效率的提高主要應(yīng)通過(guò)選擇高效的算法來(lái)實(shí)現(xiàn)。5) 先保證程序正確 , 再要求提高速度。6) 避免使用臨時(shí)變量而使可讀性下降。7) 讓編譯程序做簡(jiǎn)單的優(yōu)化。8) 盡可能使用

24、庫(kù)函數(shù)和構(gòu)件。9) 避免不必要的轉(zhuǎn)移: 盡量不用 GO TO語(yǔ)句。10) 盡量采用三種基本的控制結(jié)構(gòu)編寫(xiě)程序。.11) 避免使用空的 ELSE語(yǔ)句和 IF THEN IF 的語(yǔ)句。 這種結(jié)構(gòu)容易使讀者產(chǎn)生誤解??赡墚a(chǎn)生二義性問(wèn)題。12) 避免采用過(guò)于復(fù)雜的條件測(cè)試。13) 盡量減少使用“否定”條件的條件語(yǔ)句。14) 盡量用通俗易懂的偽碼來(lái)描述程序的流程: 然后再翻譯成必須使用的語(yǔ)言。15) 數(shù)據(jù)結(jié)構(gòu)要有利于程序的簡(jiǎn)化。16) 要模塊化: 使模塊功能盡可能單一化, 模塊間的耦合能夠清晰可見(jiàn)。17) 利用信息隱蔽: 確保每一個(gè)模塊的獨(dú)立性。18) 從數(shù)據(jù)出發(fā)構(gòu)造程序。19) 修補(bǔ)不好的程序, 要重

25、新編寫(xiě):也不要一味地追求代碼的復(fù)用, 要重新組織。20) 大的程序要分塊編寫(xiě)和測(cè)試: 然后再集成。21) 對(duì)遞歸定義的數(shù)據(jù)結(jié)構(gòu)盡量使用遞歸過(guò)程。5.I/O代碼設(shè)計(jì)的原則是什么? 輸入數(shù)據(jù)要檢驗(yàn): 識(shí)別錯(cuò)誤的輸入,以保證每個(gè)數(shù)據(jù)的有效性; 檢查輸入項(xiàng)的各種重要組合的合理性:必要時(shí)報(bào)告輸入狀態(tài)信息; 輸入的步驟和操作盡可能簡(jiǎn)單:并保持簡(jiǎn)單的輸入格式; 應(yīng)允許使用自由格式輸入數(shù)據(jù); 應(yīng)允許缺省值; 批數(shù)據(jù)輸入時(shí),使用輸入結(jié)束標(biāo)志:而不要由用戶(hù)指定輸入數(shù)據(jù)數(shù)目;交互式輸入時(shí),屏幕上使用提示符明確提示輸入的請(qǐng)求: 指明可使用選擇項(xiàng)的種類(lèi)和取值范圍。同時(shí),在數(shù)據(jù)輸入的過(guò)程中和輸入結(jié)束時(shí),也要在屏幕上給出狀

26、態(tài)信息; 程序設(shè)計(jì)語(yǔ)言對(duì)I/O 格式有嚴(yán)格要求時(shí),應(yīng) 保持輸入格式與輸入語(yǔ)句要求的一致性; 輸出加注解, 并設(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) 程序的效率與程序的簡(jiǎn)單性相關(guān) 。3) 一般說(shuō)來(lái),任何對(duì)效率無(wú)重要改善,且對(duì)程序的簡(jiǎn)單性、可讀性和正確性不利的程序設(shè)計(jì)方法都是不可取的。8. 詳細(xì)設(shè)計(jì)向代碼設(shè)計(jì)轉(zhuǎn)換過(guò)程的指導(dǎo)原則是什么?1)盡可能簡(jiǎn)

27、化有關(guān)的算術(shù)表達(dá)式和邏輯表達(dá)式;2)檢查算法中的嵌套的循環(huán),盡可能將某些語(yǔ)句或表達(dá)式移到循環(huán)外面;3)盡量避免使用多維數(shù)組;4)盡量避免使用指針和復(fù)雜的表;5)采用“快速”的算術(shù)運(yùn)算;6)不要混淆數(shù)據(jù)類(lèi)型,避免在表達(dá)式中出現(xiàn)類(lèi)型混雜;7)盡量采用整數(shù)算術(shù)表達(dá)式和布爾表達(dá)式;8)選用等效的高效率算法;.9. 影響存儲(chǔ)器效率的因素是什么 ?1)存儲(chǔ)效率與OS的分頁(yè)功能直接有關(guān)。2)采用結(jié)構(gòu)化程序設(shè)計(jì)。3)提高存儲(chǔ)器效率的關(guān)鍵是程序的簡(jiǎ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ǔ) ( 例如磁盤(pán) ) ,選擇盡可能簡(jiǎn)單的,可接受的存取方法;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 毫無(wú)價(jià)值;11. 提示信息分哪幾類(lèi) ?1)引導(dǎo)性提示信息:該類(lèi)提示信息一般在需要用戶(hù)干預(yù)時(shí)出現(xiàn),要求用戶(hù)決定下一步的操作。如在退出時(shí)提示“修改的數(shù)據(jù)尚未存盤(pán),存盤(pán)否?”。使用MessageBox進(jìn)行提示。2) 錯(cuò)誤性提示信息: 該類(lèi)提示信息一般在軟件運(yùn)行出錯(cuò)時(shí)出現(xiàn),告訴用戶(hù)軟件遇到了問(wèn)題。如“系

29、統(tǒng)運(yùn)行出現(xiàn)故障,請(qǐng)與系統(tǒng)管理員聯(lián)系!”。3) 狀態(tài)性提示信息:該類(lèi)提示信息一般在軟件處于“忙”狀態(tài)下提示,告訴用戶(hù)軟件正在進(jìn)行什么操作,讓用戶(hù)耐心等待。如“正在進(jìn)行數(shù)據(jù)傳輸,請(qǐng)稍待 ”。4) 位置性提示信息 :該類(lèi)提示信息一般根據(jù)鼠標(biāo)的位置進(jìn)行提示,告訴用戶(hù)鼠標(biāo)正指向什么功能。如“報(bào)表打印”。12. 軟件實(shí)現(xiàn)過(guò)程由哪些文檔的組成? 源程序清單用戶(hù)使用手冊(cè)用戶(hù)安裝手冊(cè)系統(tǒng)管理員手冊(cè)13. 軟件實(shí)現(xiàn)過(guò)程包括哪些管理文檔 ? 用戶(hù)指南評(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ì)象是 人類(lèi)的智力產(chǎn)品 - 軟件2) 最初定義: “軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程?!?. 軟件測(cè)試的經(jīng)典定義 ?測(cè)試是程序的執(zhí)行過(guò)程,目的在于發(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) 能夠證明軟件的功能和性能與需求說(shuō)明相符合。3) 測(cè)試結(jié)果數(shù)據(jù)為可靠性分析提供了依據(jù)。4) 測(cè)試不能表明軟件中不存在錯(cuò)誤,它只能說(shuō)明軟件中存在錯(cuò)誤。 5. 黑盒測(cè)試的優(yōu)點(diǎn)?對(duì)于較大的代碼單元來(lái)說(shuō),黑盒測(cè)試比白盒測(cè)試效率要高;測(cè)試人員不需要了解實(shí)現(xiàn)的細(xì)節(jié),包括特定的編程語(yǔ)言;從用戶(hù)的角度進(jìn)行測(cè)試,容易被理解和接受;有助于暴露任何規(guī)格不一致或有歧義的問(wèn)題;6. 黑盒測(cè)試的缺點(diǎn)?要測(cè)試每個(gè)可能的輸入流幾乎是不可能的;會(huì)有很多程序路徑?jīng)]有被測(cè)試到;不能直接針對(duì)特定程序段測(cè)試,因此可能隱藏更多的問(wèn)題。7. 白盒測(cè)試的優(yōu)點(diǎn)? 迫使測(cè)試人員去仔細(xì)思考

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論