軟件工程習題及軟件工程作業_第1頁
軟件工程習題及軟件工程作業_第2頁
軟件工程習題及軟件工程作業_第3頁
軟件工程習題及軟件工程作業_第4頁
軟件工程習題及軟件工程作業_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一章

1.填空

(1)軟件是計算機系統中的一程序(指令)一、數據及其一文檔(+服務)—的總稱。

(2)軟件的類型按功能可以分為一系統軟件—、_支撐軟件—和一應用軟件_3中類

型。

(3)國家標準GB/T1147—1995《軟件工程術語》對軟件工程的定義是軟件開發、運行、

維護和引退_________系統方法O

(4)軟件工程是指導計算機軟件開發和維護的工程學科。

(5)軟件工程采用_____工程的概念、原理、技術和方法來開發與維護軟件。

(6)軟件工程的目標是____實現軟件的優質高產o

(7)軟件工程的主要內容聶______軟件開發技術和軟件工程管理______o

2.選擇。

(1)下面(B)不是軟件的特征。

A系統性與復制性B有形性與可控性C抽象性與智能性D依附性與泛域性

(2)下面(D)不是系統軟件。

A.BIOSB.WindowsC.設備驅動程序D.辦公軟件

(3)軟件危機的主要原因(八)

A軟件本身特點與開發方法B對軟件的認識不夠C軟件生產能力不足D軟件

工具落后

(4)下面(C)不屬于軟件工程學科所要研究的基本內容。

A軟件工程原理B軟件工程目標C軟件工程材料D軟件工程過程

(5)下面(B)是正確的說法。

A.20世紀50年代提出了軟件工程的概念

B.20世紀60年代提出了軟件工程概念

C.20世紀70年代出現了客戶機/服務器技術

D.20世紀80年代軟件工程學科達到成熟

第二章

1.填空

(1)一軟件可行性分析的目的就是用最小的代價在盡可能短的時間內確定該軟件項目

是否能夠開發,是否得去開發。

(2)可行性分析的目的不是去開發一個軟件項目,而是研究這個軟件項目內容是否值

得去開發、其中的問題能否解決一O

(3)可行性分析實質上是要進行一次簡化,壓縮了的一需求分析和一設計過程,

要在較高層次上以較抽象的方式進行需求分析和設計過程。

(4)可行性分析需要從一技術可行性、―經濟可行性和—社會可行性3

個方面分析研究每種解決方法的可行性。

(5)技術可行性是對要開發項h的一功能、―性能、_控制條件____進行分析,

確定在現有的資源條件下,技術風險有多大,項目是否能實現。

(6)技術可行性一般要考慮的情況包括一開發的風險、—資源的有效性____、—

技術—。

(7)技術可行性的研究包括—成本一效益分析、公司經營長期策略一、—開發

所需的成本和資源一、.潛在的市場前景,

(8)社會可行性所涉及的范圍包括―合同、―責任、―侵權、用戶組織的

管理模式、規范及其他一些技術人員常常不了解的陷阱等。

(9)典型的可行性分析有這樣的步驟:確定項目規模和目標、一研究正在運行的系統、

一建立新系統的高層邏輯模型、導出和評價各種方案、推薦可行的方案和編寫可行性

分析報告。

(10)一個可行性分析報告的主要內容有:引言、可行性分析的前提、對現有系統的分析、

所建議系統的技術可行性分析一、—系統的經濟可行性分析、社會因素可行

性分析一、其他可供選拒的方案和結論意見。

(11)成本一效益分析首先是估算將要開發的系統—開發成本—,然后與可能取得的效益

進行比較和權衡O

(12)效益分析有有形效益和無形效益兩種。有形效益可以用貨幣的時間價值一、

投資回收期一和純收入一等指標進行度量;無形效益主要從性質上、心理上進行衡量,

很難直接進行量的比較。

(13)投資回收期_就是使累計的經濟效益等于最初的投資費用所需要的時間。項目

純收入—是指在整個生存周期之內的累計經濟效益(折合現在值)與投資之差。

(14)項目開發計劃的主要內容有:項目概述、一實施計劃、_人員組織和交付

期限。

(15)純收入是軟件生存周期內兩項值之差,這兩項受—經濟效益____與一投資o

(16)軟件工程有兩種效益,它們是一無形效益____和_有形效益_____o

(17)可行性分析具體步驟的最后一步是—編寫可行性報告。

(18)系統的經濟效益等于—因使用新的系統而增加的收入加上一使用新的系統可以

節疝的運行費用O

(19)成本一效益分析的目的是從一經濟角度____評價開發一個新的軟件項目是否可行。

(20)可行性分析中描述系統高層物理模型的工具是____系統流程圖―o

(21)可行性分析實質上是進行一次簡化、壓縮了的一需求分析和設計o

(22)可行性分析的第一個具體步驟走—確定項目的規模和目標o

2.選擇。

(1)研究開發資源的有效性是進行(A)可行性分析的一個方面。

A技術B經濟C社會D操作

(2)在軟件的可行性分析中,可以從不同的角度對軟件進行研究,其中從軟件的功能可行

性角度考慮的是(B)

A經濟可行性B技術可行性C操作可行性D法律可行性

(3)在遵循軟件工程原則開發軟件過程中,計劃階段應該依次完成(B)。

A軟件計劃、需求分析、系統定義B系統定義、軟件計劃、需求分析

C需求分析、概率設計、軟件計劃D軟件計劃、需求分析、概率設計

(4)技術可行性要解決(D)

A存在侵權否B成本一效益問題C運行方式可行D技術風險問題

(5)在軟件項目中,不隨參與人數的增加而使軟件的生產增加的主要問題是(D)

A工作階段間的等待時司B生產原型的復雜性

C參與人員所需的工作站數D參與人員之間的通信困難

(6)制定軟件計劃的目的在于盡早對欲開發的軟件進行合理估價,軟件計劃的任務是:D)。

A組織與管理B分析與估算C設計與測試D規劃與調度

(7)研究軟硬件資源的有效性是進行(A)研究的一方面。

A技術可行性B經濟可行性C社會可行性D操作可行性

(8)可行性的分析要進行的需求分析和設計應是(A)。

A詳細的B全面的C簡化的、壓縮的D砌底的

第三章

1.填空。

(1)用于描述基本加工說明的3種描述工具是一結構化語言、判定表和判定樹一。

(2)數據字典中有4類條目,分別是一數據流、數據項、數據存儲和基木加工一。

(3)需求分析階段產生的最重要的文檔是一需求規格說明書

(4)DFD利用圖形符號表示系統的傳統工具,它利用一信息流動—來表示系統中的各

個元素。

(5)DFD是描述系統的傳統工具,它用_圖形符號_來表示系統中的各個元素。

2.選擇。

(1)軟件質量必須從軟件分析開始,在(D)加以保證。

A開發之前B開發之后C可行性研究過程D整個開發過程

(2)SA方法的基本思想是(C)。

A自底向上逐步抽象B自底向上逐步分解

C自頂向下逐步分解D自頂向下逐步抽象

(3)DFD是常用的進行軟件需求分析的圖形工具,其基本符號是(C)。

A輸入、輸出、外部實體和加工

B變換、加工、數據流和存儲

C加工、數據流、數據存儲和外實部體

D變換、數據存儲、加工個數據流

(4)判斷表和判斷樹是DI;D中用以描述加工的工具,它通常描述的對象是(D)。

A邏輯判斷B層次分解C操作條目D組合組件

(5)系統流程圖用于可行性分析中的(A)的描述,

A當前運行系統B當前邏輯模型C目標系統D新系統

(6)系統流程圖是描述(D)的工具。

A邏輯系統B程序系統C體系系統D物理系統

(7)在程序的描述和分析中,用于指明數據來源、流向和處理的輔助圖形是(B)。

A數據結構圖B.DI'DC業務結構圖D其他圖

(8)U/C矩陣是用來進行(C)的方法。

A系統方法B系統分析C子系統劃分D系統規劃

(9)需求規格說明書的作用不應該包括(D)。

A軟件設計的依據B用戶與開發人員對軟件要做什么的共同理解

C軟件驗收的依據D軟件可行性研究的依據

第四章

1.填空。

(1)總設計又叫做.概要設計一。

(2)在設計階段,要充分體現軟件工程"一模塊化_"、“抽象”“信息隱蔽”等基本原

則。

(3)系統詳細設計階段最后產生的文檔是_詳細設計說明書一。

(4)浮動位置菜單又叫做一彈出式菜單一。

(5)數據的顯示形式主要包括字符顯示和_圖形顯示_。

2.選擇。

(1)以下(D)不屬于系統設計。

A總體設計B詳細設計C過程設計D需求設計

(2)為了提高模塊的獨立性,模塊之前最好是(C)。

A公共耦合B控制耦合C數據鼎合D內容鼎合

(3)詳細設計的任務上是確定每個模塊的(B)。

A外部特性B算法和數據結構C內部特性D功能

(4)數據庫設計時的概念數據模型一般用(B)圖表示。

A.PADB.E-RC.E-PD.HIPO

(5)以下(C)不屬于報告的布局。

A快結構表B列表報表C棧結構表D組結構表

第五章

1.填空。

(1)在面向對象分析和面向對象設計中,通常把對象的操作稱為一方法或服務

(2)對象的抽象是一類一,類的實例化是—對象一。

(3)面向對象的程序設計語言應具備對象方法所要求4個成分,它們是一類_、_對

象一、—繼承一、—消息通信

(4)可能的潛在對象有7類,它們是一夕卜部實體_、_事物_、-事件_、一角包_、

_場所或位置—、_組織機構_、_結構

(5)具有_相同特征和行為_的對象構成類。

2.選擇。

(1)汽車有一個發動機,汽車和發動機之間的關系是_B_關系。

A一般具體B整體部分C分類D組裝

(2)在面向對象方法中,信息隱蔽是通過對象—C_來實現的。

A分類性B繼承性C封裝性D共享性

(3)只有類的共有界面的成員才能成為使用類的操作,這是軟件設計(C)的原則。

A過程抽象B功能抽象C信息隱蔽D共享性E連通性

(4)當且僅當一個操作對類實例的用戶有用是,它才是類公共界面的一個成員,這是

軟件設計的(B)原則。

A標準調用B最小界而C高耦合D高效率E可讀性

(5)每個派生類應該當做基類的特殊化來開發,而基類所具有的公共界面是派生類的

共有界面的一個子集,這是軟件設計的(E)原則。

A動態聯編B異質.表C信息度,蔽D多態性E繼承性

第六章

1.填空0

(1)程序設計語言是人與—計算機—交流的—工具_。

(2)從語言層次上,程序設計語言可以分為一面向機器的語言_和_面向問題的語言

兩種類型。

(3)―20世紀5()一年代出現了模塊化程序設計方法,―20世紀60_年代出現了結構

化程序設計方法。

(4)程序設計風格是指一個人編制程序時表現出來的_特點_、習慣和_邏輯

(5)代碼實現可以分為數據庫、業務對象和用例實現,以及_自頂向下策略_和_自

底向上策略_3種策略。

2.選擇。

(1)下面(A)屬于專用語言。

A.LISPB.CC.PASCALDJAVA

(2)不屬于一般程序設計方法的是(B)。

A模塊化程序設計方法B體系化程序設計方法

C結構化設計方法D面向對象程序設計方法

(3)下面不符合命名規范的表識符是(D)。

A.sUmNmbcrB.SumNumbcrC.Sum_OfNumberD.SumC)fNumber

(4)下面(C)不屬于選擇面對對象語言應該考慮的因素。

A開發環境B發展前景C類庫的可擴展性D支持多繼承

(5)下面(C)是錯誤的說法。

A中間版本是軟件未完成前的版本B.a版本是可以提交嚴格測試的軟件版本

C.B版本是提交給測試一人員進行全面測試的軟件版本

D發布版本是正式想社會發布,或想用戶提交使用的軟件版本

第七章

L填空。

(1)軟件測試的目的是_發現軟件的錯誤

(2)單元測試一般以_白盒法—為主,測試的依據是一系統的模塊功能規格說明

(3)黑盒測試法是通過分析程序的_功能_來設計測試用例的方法。

(4)軟件測試用例主要由輸入數據和_預期輸出結果_兩部分組成。

(5)為適應軟硬件環境變化而修改軟件的過程是一適應性維護_。

2.選擇。

(1)成功的測試是指運行測試用例后(B)。

A未發現程序錯誤B發現了程序錯誤C證明程序正確D改正了程序錯誤

(2)白盒測試法是根據程序的(B)來設計測試用例的方法。

A應用范圍B內部邏輯C功能D輸入數據

(3)檢查軟件產品是否符合需求定義的過程稱為(C)o

A組裝測試B單元測試C系統測試D確認測試

(4)軟件的繼承測試工作最好由(D)承擔,以提高繼承測試的效果。

A該軟件的設計人員B該軟件開發組的負責人

C該軟件的編程人員D不屬于該軟件開發組的軟件設計人員

(5)(C)是決定軟件維護成敗和質量好壞的關鍵。

A修改程序B建立目標程序C分析和理解程序D重新險證程序

第八章

1.填空。

(1)項目是為了創造一個唯一的_產品—或提供一個唯一的_服務—而進行的一臨時

性_的努力。

(2)軟件項目啟動過程的主要的主要任務是確定項目的目標、_約束_和_自由度

并進行_投資/效益_分析和可行性研究,如果符合企業的_商業目標一則確定立項。

(3)軟件項目估算的內容主要有軟件一規模―估算、_工作量_估算、一成本—估算

和―進度—估算。

(4)風險就是損失的可能性。風險具有兩大屬性:一可能性—和—損失可能性是

風險發生_概率損失是指預期與后果之間的—差異一。

(5)項目監控就是為了保證項目能夠按照預先設定的目標發展。監控是一個_反饋_

過程,項目跟蹤是項目控制的_前提和條件_,項目控制是項目跟蹤的_目的和服務對象

2.選擇。

B(1)項目管理通過一個的、的柔性組織,運用相關的知識、技術、和

手段,對項目進行高效率的計劃、組織、指導和,以油畫項目目標的實現。

A標準長期方法管理B臨時性專門工具控制

C長期專門方法工具D標準兼職數據設計

B(2)從管理過程角度看,軟件項目管理可分為項目啟動、項目、項目、項

目、項目5個項目。

A需求分析組織實施監控交付B計劃組織實施監控收尾

C運行組織實施監控接受D設計實施監控運行

B(3)軟件項目啟動過程的主要任務是確定項目的、約束和自由度,并進行

分析和可行性研究,如果符合企業的則確定立項。立項的是正式下達項目任務書。

A范圍可行性利益決策B目標投資/效益商業目標標志

C目標設計利益原則D需求需求目標標志

D(4)關鍵路徑上的活動稱為活動。如果能夠縮短關鍵活動所需的時間,就可以

項目的完工時間。而縮短路徑上的各個活動所需要的時間,不能使項目完工

提前。

A規范交付標;隹簽入b規范交付非標準時間

C關鍵縮短標準日期D關鍵縮短非關鍵時間

C(5)在軟件項目的開發過程中必須及時跟蹤項目的質量計劃完成情況,測定是

否達到要求的o通過質量跟蹤來判斷項目執行過程的質量情況,決定產品是否可以

,還是需要返工或者放棄。

A文檔需求標準簽入B質量手冊原理規范交付

C產品質量標準結果接受D軟件質量數據運行

第九章

1.填空

(1)應用CMMI,評估機構_評估一軟件組織的軟件能力成熟度等級,軟件采購方能

夠用來.考查.軟件承包方軟件項目開發能力,軟件組織也可以用它來持續_改進一自身軟

件開發能力水平。

(2)在RUP4+1視圖中,_邏輯—視圖是面向對象設計時的對象模型。一開發—視圖

描述軟件在開發環境下的錚態組織。一處理一視圖描述系統的并發和同步方面的設計。—

物理—視圖描述軟件映射至】硬件方面的設計。一場景—視圖描述構件間的關系。

(3)MSF過程模型把一瀑布—模型中基于里程碑的規劃優勢與一螺旋一模型中增量迭

代的長處結合在一起,形成構思、_計劃_、開發、_穩定_和發布5個階段迭代改進螺旋

上升的流程。

(4)形式話方法的本質是用_數學_方法來描述軟件系統,不同的_形式化_方法其

數學基礎不同。在凈室軟件工程中,單元測試和調試被正確性—驗證一和基于一統計—的測

試所替代,這些活動使得凈室方法與眾不同。

(5)敏捷宣言宣稱:個體和交互勝過過程和_工具可以工作的軟件勝過面面俱到

的_文檔客戶合作勝過—合作談判響應變化勝過一遵循計劃

2.選擇

B(1)如要達到CMMI某個要求,就要達到該級別及其以下所有的要求。如

果要達到某個過程域某個的要求,就需要證明該目標所有都做到位了。

A目標過程域實踐級別B級別過程域,目標實踐

C過程域實踐科標原則D需求級別目標標志

A(2)IBMRational軟件工程體系以和而聞名,同時具有較為完善的軟件工具

集,支持、設計與構造、軟件質量、軟件配置管理、過程與項目管理、等軟件工程

各個階段。

A統一建模語言統一過程需求分析部署管理

B統一過程統一建模語言規范需求分析

C產品需求分析同一過程統一建模語言

D需求分析統一過程統一建模語言運行

B(3)微軟的軟件開發團隊實行交叉管理,縱向垂直管理與匯報關系為:產品總

經理-*部門經理小組長->組員。橫向管理為產品特性,產品特性項目組成員職能劃分

為5種,各角色地位____o

A對等過程組員平凡B矩陣式項目組角色對等

C產品對等項目組崇高D項目組角色語言非凡

D(4)敏捷過程模型是一個開發過程,消除了開發中不必要的和提交物。它

把開發活動一分析、設計'編碼和測試在一起,全過程采用開發、反饋修正和反復

測試的策略。

A迭代增量過程組織平凡B矩陣式項目組迭代對等

C產品增量增量項目D漸進型步驟結合迭代增量

C(5)在形式化方法中,規范描述采用數學的形式和記法;分析推理采用數學方

法對軟件形式化進行分析和推理;代碼實現運行數學方法從逐步推導出的程

序。

A對等規約規約一般B符號描述文檔源代碼

C語義規范高層描述可正確運行D數學文檔符號匯編

第1章概述

1.什么叫軟件危機?軟件危機主要有哪幾種表現?

答:軟件危機指的是軟件開發和維護過程中遇到的一系列嚴重問題。

軟件危機包含下述兩方面的問題:如何開發軟件,怎樣滿足對軟件日

益增長的需求;如何維護數量不斷膨脹的已有軟件。

軟件危機主要有下列表現:①產品不符合用戶的實際需要。②軟

件開發生產率提高的速度遠遠不能滿足客觀需要。③軟件產品的質量

差。④對軟件開發成本和進度的估計常常不準確。⑤軟件的可維護性

差。⑥軟件文檔資料通常既不完整,也不合格。⑦軟件的價格昂貴。

2.什么叫軟件工程?軟件工程是如何克服軟件危機的?

答:軟件工程是指導計算機軟件開發和維護的一門學科。它采用工程

的概念、原理、技術和方法,把經過時間考驗而證明是正確的管理技

術和當前能夠得到的最好的技術方法結合起來,用于開發與維護軟

件。

軟件工程是這樣克服軟件危機的:①用分階段的生存周期計劃嚴

格管理。②堅持進行階段評審。③實行嚴格的產品控制。④采用現代

程序設計技術。⑤應能清楚地審查結果。⑥合理安排軟件開發小組的

人員。

3.軟件工程的目標、原則和主要研究內容是什么?

答:軟件工程的目標是:①定義良好的方法學,面向計劃、開發維護

整個軟件生存周期的方法學。②確定軟件成分,記錄軟件生存周期每

一步的軟件文件資料,按步顯示其軌跡。③可預測結果,在生存周期

中,每隔一定時間可以進行復審。軟件工程學的最終目的,是以較少

的投資獲得易維護、易理解、可靠、高效率的軟件產品。

軟件工程的原則是:①分解。②抽象和信息隱蔽。③一致性《④

確定性。

軟件工程的主要研究內容是:軟件結構、軟件設計與維護方法、

軟件工具與環境、軟件工程標準與規范、軟件開發技術與管理技術的

相關理論。

第2章可行性研究

1.可行性研究的任務是什么?簡述可行性研究的步驟。

答:可行性研究的任務是:①經濟可行性。②技術可行性。③運行可

行性。④法律可行性。⑤開發方案可行性。

可行性研究的步驟是:①復查系統規模和目標。②研究目前正在

使用的系統。③導出新系統的高層邏輯模型。④重新定義問題。⑤導

出和評價供選擇的方案。⑥推薦一個方案并說明理由。⑦推薦行動方

針。⑧書寫計劃任務書。⑨提交審查。

第3章需求工程

1.需求分析的任務是什么?怎樣理解分析階段的任務是決定“做什

么”,而不是“怎樣做”?

答:需求分析的基本任務是分析與綜合已收集到的需求信息,通過分

析找出需求信息內在聯系和可能的矛盾,通過綜合找出解決問題的方

法并建立系統的邏輯模型。具體地說,需求分析是提煉、分析和審查

已收集到的需求信息,找出真正的和具體的需求,并確保所有相關人

員都理解其含義。此外,通過建立軟件系統的邏輯模型,發現和找出

需求信息中存在的沖突、遺漏、錯誤或含糊的問題。①繪制系統關聯

圖。②創建用戶接口原型。③分析需求可行性。④確定需求的優先級。

⑤為需求建立模型C⑥創建數據字典。⑦質量功能調配。

我是這樣理解分析階段的任務是決定“做什么”,而不是“怎樣

做”:分析階段主要是指用戶對軟件的功能與性能需求,也就是用戶

希望軟件能夠做什么事情,完成哪些功能,達到哪些性能等,而不是

如何去實現軟件的這些功能。

2.需求規格說明書由哪些部分組成?各部分的關系是什么?

答:需求規格說明書由下列部分組成:①引言。②任務概述。③數據

描述。④功能要求。⑤性能需求。⑥運行需求。⑦其他要求。⑧附錄。

各部分的關系是:首先用戶必須對軟件功能和性能提出初步要

求,并澄清一些模糊概念;然后軟件分析人員認真了解用戶的要求,

細致地進行調查分析,把用戶要求做什么的問題轉換成一個完全的、

精細的軟件邏輯模型并寫出軟件的需求規格說明,準確地表達用戶的

要求。

第4章概要設計

1.結構化設計方法的基本思想是什么?它如何與SA方法相銜接?

答:結構化設計方法的基本思想是:①系統分析員審查軟件計劃、軟

件需求分析提供的文檔,提出候選的最佳推薦方案以及系統流程圖、

組成系統物理元素清單、成本效益分析和系統的進度計劃供專家審

定,審定后進入設計。②確定模塊結構,劃分功能模塊,將軟件功能

需求分配給所劃分的最小單元模塊。確定模塊間的聯系,確定數據結

構、文件結構、數據庫模式,確定測試方法與策略。③編寫概要設計

說明書、用戶手冊、測試計劃,選用相關的軟件工具來描述軟件結構,

選擇分解功能與劃分模塊的設計原則。

它是這樣與SA方法相銜接的:①設計系統方案。②選取一組合

理的方案。③推薦最佳實施方案。④功能分解。⑤軟件結構設計。⑥

數據庫設計與文件結構設計。⑦制訂測試計劃o⑧編寫概要設計文檔O

⑨審查與復審概要設計文檔。

2.什么是模塊獨立性?用什么來度量?

答:模塊獨立性是指軟件系統中每個模塊只涉及軟件要求的具體子功

能,而且與其他模塊接口簡單。模塊獨立的概念是模塊化、抽象、信

息隱蔽和局部化概念的直接結果。

模塊的獨立程度可以由兩個定性標準度量,這兩個標準分別稱為

耦合和內聚。耦合衡量不同模塊彼此間互相依賴的緊密程度;內聚衡

量一個模塊內部各個元素彼此結合的緊密程度。

3.什么是自頂向下設計?為什么說它尤其適用于大型軟件的開發?

答:自頂向下設計:設計人員要對系統有一個全面的了解,然后從頂

層開始,連續地逐層向下分解,直至系統的所有模塊都小到便于掌握

為止。

對于大型軟件的開發,如若采用自頂向下的方法進行設計,可以

很好的把握整體系統,使得系統整體結構合理。

第5章詳細設計

1.簡述詳細說明書的主要內容。怎樣對它進行復審?

答:詳細說明書的主要內容是:①表示軟件結構的圖表。②對逐個模

塊的程序描述,包括算法和邏輯流程,輸入/輸出項與外部接口等。

這樣對它進行復審:詳細設計復審的重點應該放在各個模塊的具

體設計上。例如,設計的模塊能否滿足其功能與性能要求,選擇的算

法與數據結構是否合理,是否符合編碼語言的特點,設計描述是否簡

單而清晰等。

2.說明詳細設計的基本原則和任務。

答:詳細設計的基本原則是:①由于詳細設計的藍圖是給人閱讀的,

是編碼的基礎,所以模塊的邏輯描述要清晰易讀、正確可靠。②采用

結構化設計方法,改善控制結構,降低程序的復雜程度,從而提高程

序的可讀性、可測試性、可維護性。③選擇恰當的描述工具來描述各

模塊算法。

詳細設計的任務是:為每一個模塊確定使用的算法和相關的數據

結構,并用選定的表達工具清晰地描述。這一階段的主要任務如下:

①為每個模塊確定采用的算法,選擇某種適當的工具表達算法的過

程,寫出模塊的詳細過程性描述。②確定每一模塊使用的數據結構。

③確定模塊接口的細節。④要為每一個模塊設計出一組測試用例,以

便在編碼階段對模塊代碼(即程序)進行預定的測試。

第6章面向對象設計

1.什么是面向對象方法學?試闡述這種方法學的主要優點。

答:面向對象軟件開發方法是一種運用對象、類、繼承、封裝、聚合、

消息傳送、多態性等概念來構造系統的軟件開發方法。面向對象方法

的基本思想是從現實世界中客觀存在的事物出發來構造軟件系統,并

在系統構造中盡可能運用人類的自然思維方式。

面向對象方法學的主要優點:①從問題域中客觀存在的事物出發

來構造軟件系統,用對象作為對這些事物的抽象表示,并以此作為系

統的基本構成單位c②事物的靜態特征是可以用一些數據來表達的特

征,可以用對象的屬性表示,事物的動態特征(即事物的行為)用對

象的服務(或操作)表示。③對象的屬性與服務結合為一個獨立的實

體,對外屏蔽其內部細節,稱為封裝。④把具有相同屬性和相同服務

的對象歸為一類,類是這些對象的抽象描述,每個對象是它的類的一

個實例。⑤通過在不同程度上運用抽象的原則,可以得到較一般的類

和較特殊的類。特殊類繼承一般類的屬性和服務,面向對象方法支持

對這種繼承關系的描述與實現,從而簡化系統的構造過程及其文檔。

⑥復雜的對象可以用簡單的對象作為其構成部分,稱為聚合。⑦對象

之間通過消息進行通信,以實現對象之間的動態聯系。⑧通過關聯表

達對象之間的靜態關系。

2.面向對象分析的過程、遵循的準則是什么?

答:面向對象分析的過程:①發現對象、定義它們的類。②識別對象

的內部特征。③識別對象的外部關系。④劃分主題,建立主題圖c⑤

定義usecase,建立交互圖。⑥建立詳細說明。⑦原型開發。

面向對象分析遵循的準則是:①抽象。②分類。③聚合。④關聯。

⑤消息通信。⑥粒度控制。⑦行為分析。

3.為“火車站自動化售票系統”設計一個結構化模型。

答:

售/退票處理

第7章編碼

1.評價、選擇可用編程語言的準則是什么?

答:(1)理想標準:①應該有理想的模塊化機制,以及可讀性好的控

制結構和數據結構,以使程序容易測試和維護,同時減少軟件生存周

期的總成本。②應該使編譯程序能夠盡可能多地發現程序中的錯誤,

以便于調試和提高軟件的可靠性。③應該有良好的獨立編譯機制,以

降低軟件開發和維護的成本。(2)實踐標準:①語言自身的功能c②

系統用戶的要求。③編碼和維護成本。④軟件的兼容性。⑤可以使用

的軟件工具。⑥軟件可移植性。⑦開發系統的規模。⑧程序設計人員

的知識水平。

2.提高軟件可靠性的技術有哪些?它們有什么不同?

答:提高軟件可靠性的技術有:一類是避開錯誤技術,另一類是容錯

技術。兩者的不同是:避開錯誤技術是在開發的過程中不讓差錯潛入

軟件的技術;容錯技術是對某些無法避開的差錯,使其影響減至最小

的技術。避開錯誤技術是進行質量管理,實現產品應有質量所不可少

的技術,也就是軟件工程中所討論的先進的軟件分析和開發技術和管

理技術。但是,無論使用多么高水平的避開錯誤技術,也無法做到絕

無錯誤,這就需要采用容錯技術。實現容錯的主要手段是冗余和防錯

程序設計。

3.采用面向對象的程序設計方法時,基本步驟是什么?

答:(1)建立軟件系統的動態模型:①根據問題域和具體要求確定組

成軟件系統的對象及該對象所應具備的固有處理能力。②分析各對象

之間的所有聯系,并確定它們相互間的消息傳遞方式。③設計對象的

消息模式,由消息模式和對象的處理能力

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論