第一篇:軟件開發工具總結
1.軟件開發工具:在高級程序設計語言(第三代語言)的基礎上,為提高軟件開發的質量和效率,從規劃、分析、設計、測試、成文和管理各方面,對軟件開發者提供各種不同程度的幫助的一類廣泛的軟件。
2.軟件開發工具的功能要求:(1)認識與描述客觀系統
(2)存儲及管理開發過程中的信息
(3)代碼的編寫或生成(4)文檔的編制或生成(5)軟件項目的管理
3.軟件開發工具的性能:(1)表達能力或描述能力
(2)保持信息一致性的能力
(3)使用的方便程度
(4)工具的可靠程度
(5)對硬件和軟件環境的要求
4軟件開發工具的類別(1)按工作階段劃分:分為設計工具、分析工具、計劃工具
(2)按集成程度劃分:分為集成化的和專用的(3)按與硬件、軟件的關系劃分:分為依賴于特定的計算機或特定的軟件、獨立于硬件與其他軟件的。
5.軟件開發過程:需求分析、總體設計、實現階段、測試或調試階段
6.通用軟件的弱點:
(1)有許多工作是通用軟件所無法完成的。
(2)用通用軟件完成某些工作,只能表現其表面的形式,而不能反映其邏輯內涵。
(3)用通用軟件來幫助人們完成軟件開發工作時,常會遇到難于保持一致性的困難。
7.軟件開發工具的發展表現在:
(1)自動化程度的提高
(2)把需求分析包括進了軟件工作范圍之內,從而使軟件開發過程進一步向用戶方面延伸,離用戶更近了。
(3)把軟件開發工作延伸到項目及版本管理。
(4)吸收了許多管理科學的內容與方法。
8大型軟件開發中的困難:(1)一致性的保持成為十分困難的問題。
(2)測試的困難大大增加
(3)工作進度難以控制。
(4)文檔與代碼的協調十分困難。
(5)版本更新帶來的困難。
9大型軟件開發中困難產生的原因
(1)這些困難來自大系統的復雜性
(2)許多具有主動性的個人之間的組織與協調本身也會帶來大量的困難。
(3)各個應用領域之間的差別也導致這些困難的加重。
(4)時間的因素、變化的因素也給軟件開發工作帶來許多困難。
10.結構化程序設計分解的三個基本模塊:處理單元、循環機制、二分決策機制。
11.結構化程序設計劃分模塊的基本要求:
(1)模塊的功能在邏輯上盡可能地單一化、明確化。
(2)模塊之間的聯系及相互影響盡可能少,明確說明必需的聯系,避免傳遞控制信號,避免邏輯耦合,僅限于數據耦合。
(3)模塊的規模應足夠小,以便使它本身的調試易于進行。
1.IBM提出的應用軟件的開發過程:需求分析、分析與設計階段、編程階段、測試階段、使用及維護階段。
2.面向對象的程序設計的基本思想:
(1)課觀世界的任何事物都是對象,它們都有一些靜態屬性,也都有一些有關的操作,作為一個整體,這些對象對外不必公開這些屬性與操作,這就是所謂“封裝性”
(2)對象之間有抽象與具體、群體與個體、整體與部分等幾種關系
(3)抽象的、較大的對象所具有的性質包括靜態屬性和動態操作,自然地成為它的子類的性質,不必加以重復說明或規定,這是“遺傳性”
(4)對象之間可以互送消息,這一消息可以是傳送一個參數,也可使這個對象開始某個操作
3.對軟件質量進行測評的標準:
(1)正確地實現所要求的功能,準確地給出預定的輸出結果
(2)用戶界面友好,符合實際用戶的使用習慣與知識水平
(3)具有足夠的速度,能在符合用戶要求的時間限度內,給出所要求的處理結果
(4)具有足夠的可靠性,能夠在各種干擾下保持正常的工作
(5)程序易讀,結構良好,文檔齊全,從而保證系統易于修改
4.單個程序員需要具備的知識與技能:
(1)具有程序設計所需要的基本知識與技能
(2)對本項目所在的領域有較深入的了解
(3)對軟件開發的技術環境比較熟悉
5.項目組的一員,除了實現自己分擔的功能外,還需要
(1)保證嚴格地在本模塊范圍內操作,絕不要使用可能干擾其他模塊的命令或函數
(2)嚴格按總體設計的要求和理解去傳遞參數值,決不要隨意修改其內容或函數
(3)在對公用的文件或數據庫進行存取時,必須完全地、準確地按統一規定的格式去操作,決不能擅自改變
(4)在使用標識符時,應按照統一的原則,盡量使用易于看出邏輯含義的名稱,特別是涉及公用數據及參數的時候
(5)嚴格按照統一的要求編寫文檔,在內容、格式、表達方式、符號使用上遵循項目組的統一規定
(6)盡量保持程序風格的一致
6.好的項目組應具備的條件:
(1)有嚴格的、成文的工作規范和文檔標準
(2)人員之間有嚴格的分工
(3)每個項目都要事先制定詳細的時間表,且得到嚴格執行,每一項目完成之后都有完整的資料,并得到妥善保存
7.可視化程序設計的技術手段:
(1)指點與卡嗒,簡稱“點”
(2)刪剪與粘貼,簡稱“剪貼”
(3)拖拉與扔下,簡稱“拖扔”
8.軟件開發中涉及的信息有
(1)有關系統環境、現狀及需求的信息
(2)有關軟件的功能設計與物理設計的各種信息
(3)軟件成果本身,包括程序與文檔
(4)用戶對系統的各種變更要求,以及系統的各種變更的記錄
9.對各類信息的管理工作有:
(1)許多信息需要長期保存,包括一致性的檢查與維護、方便迅速的查詢與調用
(2)在許多環節上都要進行數據的轉換與加工
(3)大量的人與人之間的信息交流
10.軟件開發工具用到的理論和方法:
(1)認知科學中關于概念模式的概念與方法
(2)數據庫技術的理論與方法
(3)編譯技術的有關方法
(4)關于人機界面的理論與方法
(5)管理科學中關于項目管理與版本管理的理論與方法
(6)系統科學與系統工程中的有關理論與方法
1.在選擇與購置軟件開發工具時,最重要的是設置有限的、現實的目標,以及充分考慮各方面的環境因素,這兩點對于軟件開發工具是否切實發揮作用起著根本性的制約作用。
2.自行開發軟件開發工具時應注意:
(1)從實際出發,設定現實的、有限的目標
(2)堅持短小實用、逐步積累、避免期望過高,貪大求全
(3)注意文檔的齊全與資料的積累
(4)謹慎對待商品化
3.對于自行研制軟件開發工具來說,除了技術上的各種考慮之外,主要是區分自己用還是作為商品出售
4.軟件開發工具購置與開發權衡,考慮以下因素:
(1)準備從事軟件開發工作的性質與要求
(2)開發人員對支持工作與支持程度的實際需要
(3)工作環境
(4)人員的情況
5.購置軟件開發工具應考慮的問題:開發工具的功能如何,性能/價格比如何,開發工具所使用或依據的開發方法或開發理論是什么,開發工具運行環境是什么,文檔資料是否齊全,服務、培訓的條件如何以及實用性如何。
6.購置軟件開發工具時,首先要明確目的與要求。
7.確定購置軟件開發工具后,要明確目的與要求即明確
(1)為哪個軟件開發項目而使用工具
(2)在哪個工作階段使用工具
(3)工具將供那些人使用
(4)工具將在怎樣的軟、硬件環境下運行
8.在引入軟件開發工具后,使用者必須從一開始就對它的使用過程進行認真地組織與管理,包括
(1)制定嚴格的使用制度
(2)記錄實用的詳細過程
(3)培訓使用人員
(4)經常進行審計與評價工作
9.記錄的內容包括:系統運行的次數、時間;信息庫的輸入與更新時間;各種輸出的質量與
數據量;使用者的反映與滿意程度,各種故障及處理的情況。
10.在軟件開發工具的選擇與購置中,應按照一下步驟進行
(1)明確購買軟件開發工具的目的與要求
(2)明確購買軟件開發工具的環境與制約條件
(3)市場調查
(4)對可供選擇的各種工具進行綜合比較
(5)進行測試和檢驗
(6)正式簽約購置
(7)安裝與試用
11.工作環境包括硬件配置、系統軟件、網絡通信等各種條件
12.決定購置還是自行開發工具的最根本因素是準備從事軟件開發工作的性質與要求。
13.如果已決定配置軟件開發工具,進行市場調查時,首先應該調查軟件開發工具的功能。
14.引入軟件開發工具后,還需要經常進行審計工作,即對軟件工具使用的環境、人員、工作效果、存在問題及改進方向等方面進行評價。
第二篇:自考軟件開發工具復習資料總結
一、軟件開發工具的功能要求:
1、認識描述客觀系統
2、存儲管理開發過程中的信息
3、代碼生成和編寫
4、文檔生成和編寫
5、軟件項目管理
二、軟件開發工具性能:
1、表達能力或描述能力(首先考慮)
2、保持信息一致性能力(十分關鍵)
3、使用方便程度
4、工具可靠程度
5、對硬件和軟件的要求(不應當超出所支持的軟件環境要求)
三、軟件開發工具基本功能:
1、提供描述軟件狀況及開發過程的概念模式
2、提供存儲和管理有關信息的機制與手段
3、幫助使用者編制、生成及修改各種文檔
4、幫助使用者編寫程序代碼
5、對于歷史信息進行跨生命周期的管理
四、大型軟件開發困難:1、2、3、一致性保持
測試困難加大 進度難以控制4、5、文檔和代碼協調困難
版本更新困難
原因:1、2、3、4、大系統的復雜性
主動性的個人之間組織和協調困難
領域間的差別使困難加重 時間因素、變化因素
五、AD/Cylce(軟件開發過程的抽象理解):
1、需求分析階段(任務:建立邏輯模型)
2、分析設計階段(任務:完成系統的總體設計 包括:詳細設計 子系統或模塊化分)
3、編碼階段
4、測試階段
5、維護階段(任務:管理軟件的日常運行)
六、軟件開發工具:
1、設計工具(最具體實現階段 第四代語言 直接幫助編寫和調試
最早)
2、分析工具(需求分析FLOW 數據字典 數據字典管理系統CDD Dictionary/3000)
3、計劃工具(宏觀 組織項目管理實施)
七、模塊劃分的要求:
1、功能在邏輯上單一,明確模塊和任務一一對應,一個模塊完成 一個任務(凝聚性)
2、模塊間聯系盡可能少,對必要的聯系加以說明(數據耦合)
3、規模應足夠小,調試易于進行
八、好軟件:
1、實現功能
2、界面友好
3、足夠的運行速度(不是越快越好)
4、可靠性
5、易讀、結構良好、文文件齊全、易于修改
九、好程序員:
1、基本知識技能
2、項目領域理解深入
3、熟悉開發環境
十、CMM好項目組:
1、有嚴格、成文工作規范標準,并為全體成員熟知,切實遵守
2、人員嚴格分工,除程序員外還要專門秘書(負責文檔收集、審核及保管),專門測試人員,專職的不限于編程的項目負責人
3、詳細時間表并嚴格執行
十一、用戶界面基本原則:
1、主要功能通信
2、用戶界面始終保持一致
3、使用戶隨時掌握任務的進展狀況
4、必須能夠提供幫助
5、寧可讓程序多干,不可讓用戶多干
十二、項目管理基本目標:
1、使產品質量得以有效的控制
2、保證整個系統按預定的進度完成3、有效的利用各種資源
4、控制和降低成本
十三、生成代碼的依據:
1、信息庫已有的資料
2、利用各種模塊的框架和構件
3、使用者臨時通過屏幕前操作送入的信息
十四、信息庫需要四大類信息:
1、軟件應用的領域與環境狀況(系統狀況)
2、設計成果(物理設計和邏輯設計)
3、運行狀況與測試記錄
4、項目管理和本管理信息
十五、AD/Cycle項目考慮范圍:
1、研究確定工作方法方針
2、開發任務劃分和分工
3、資源狀況
4、人員情況
5、變更情況
6、質量情況
十六、權衡購買軟件的因素:
1、準備開發軟件的性質與要求
2、開發人員支持工作與支持程度的實際需要
3、工作環境
4、人員因素
十七、人機界面總控技術上基本原則:
1、面向使用者
2、保證信息的準確傳遞
3、保證系統的開放性(靈活性)
十八、軟開工具的開發:
1、從實際出發設定現實有限的目標
2、堅持短小實用,逐步積累,避免期望過高,貪大求全
3、文檔的齊全與資料的積累
十九、信息庫技術涉及問題:
1、內容
2、組織方式
3、管理功能
4、歷史信息處理方法
二十、版本管理的核心問題:保持兩個一致性
1、新舊工作保持一致
2、局部與整體保持一致
二
十一、軟件開發工具發展主要表現:
1、自動化程度提高
2、需求分析包含在軟件工作中,向用戶延伸
3、把項目及版本管理包進來,超出一次編程的局限
4、吸收了很多管理科學的方法 二
十二、軟件開發基本問題:
1、用戶理解到程序員理解
2、程序員理解到程序實現
二十三、軟件開發工具的購置方法與步驟:
1、明確購買軟件的目的與要求
2、明確購買軟件的環境條件與制約條件
3、對于可選工具進行綜合比較
4、進行測試和檢驗
5、正式簽約購置
6、安裝與試用
審計:對一個系統運行狀況及效率進行檢查和評價,以便進一步用好或改進這個系統
軟件開發定義:在高級程序設計語言(第三代語言)基礎上,為提高軟件開發效率和質量,從規劃、分析設計測試成文管理各方面,為軟件開發者提供幫助的軟件。
非過程化語言(4GL):只要給機器下達需要做什么的命令,由機器自己去安排執行的順序。即插即用:一部分人專門生產組件,一部分人專門設計整個軟件結構,并把軟件組件插入這個結構以便迅速完成大型軟件開發工作。數據庫:重點合理組織數據,體現數據邏輯關系,并盡可能的幫助用戶檢索,減少冗余。
概念模式:對某一事物或某一系統形成的抽象的一般化的概念??驁D(FC):用來描述程序執行邏輯過程
最早
Flow chart
結構圖(SC):用以表示大型軟件層次結構
好處:體現層次觀點:由粗到細 自頂向下Structure Chart 數據流程圖(DFD):適用于客觀描述,重于軟件間的控制
基本元素:外部實體、數據處理、數據存儲 實體關系圖(E-R):描述靜態數據結構的概念模式
以實體 關系 屬性為基本結構
數據字典(DD):描述數據內容的概念模式用表格形式表示基本屬性以及數據關系
時序網絡(PN):描述系統狀態及其轉換方式
基本概念:狀態和轉換
數學與邏輯模型:描述客觀世界狀態和規律
運動學公式、計量經濟學模型、決策表和決策樹
計算機模型:強有力概念模式。以便人們觀察客觀系統的狀況不需要事先作更多的假設
第一個重要文檔:軟件功能說明書 程序分解三種基本模塊:處理單元 循環機制 二分決策機制 軟件開發核心:質量問題
軟件開發工具對開發工作支持是在:信息管理和信息處理方面 信息庫研究核心問題:一致性
項目版本管理核心:跨生命周期管理
歷史信息是項目版本管理的關鍵問題
項目管理基本問題:質量、進度、資源配置及費用 中心位置:總控和人機界面 歷史信息處理:
問題:信息數量大,占用存儲設備多;歷史信息格式不一致,很難有效利用
方法:脫機備份、加強標準、穩定數據結構 組織和管理工作好壞影響軟開工具作用發揮程度 :
1、制定嚴格使用制度
2、記錄使用詳細過程
3、培訓使用人員
4、進行審計和評價工作
第三篇:03173軟件開發工具模擬試題參考答案
軟件開發工具模擬試題一參考答案
一、單項選擇題(本大題共10 小題,每小題1 分,共10 分)
1、B2、D3、A4、C5、B6、A7、D8、A9、C10、C
二、多項選擇題(本大題共10 小題,每小題2 分,共20 分)
11、ABCD12、ABCDE13、ABD14、ACDE15、ABE16、BCE17、CE18、ABCDE19、AC20、ACD
三、填空題(本大題共10 空,每空1 分,共10 分)
21.標記符
22.運行環境
23.面向使用者
24.代碼生成25.信息管理
26.交流
27.測試的問題 版本更新帶來的問題(次序無關)
28.FORTRAN/ALGOL/COBOL
29.軟件工作環境
四、名詞解釋題(本大題共4 小題,每小題4 分,共16 分)
參考答案:略
五、簡答題(本大題共2 小題,每小題5 分,共10 分)
參考答案:略
六、論述題(本大題共1 小題,10 分)
參考答案:首先是自動化程序大大提高;其次,軟件開發工具把用戶需求也包括到軟 件工作的范圍,從而使軟件開發向用戶方面延伸;第三,軟件開發過程中,引入了軟件項目 管理及軟件版本管理;第四,所有的軟件開發工具,吸收了許多科學的管理內容和方法。
七、應用題(本大題共1 小題,14 分)
參考答案:s_info、c_info、sc
數據窗口對象d_student,SQL select ,Grid
dw_student,dw_student 數據窗口對象設置 d_student;
兩個按鈕控件“檢索”和 “退出”
dw_student.retrieve();
close(parent);
open(w_student);
一、單項選擇題
1、D
2、D3、A4、C5、D6、D7、B8、C9、C10、C
二、多項選擇題
11、ABCDE12、ACE13、ABCDE14、ACDE15、ACDE16、BD17、ABCDE18、ABCDE19、CDE20、ABDE
四、名詞解釋題
參考答案:略
五、簡答題
參考答案:略
六、論述題
39.參考答案:不一致的原因有兩個:一是信息在傳遞中,誤解與丟失下分嚴重;二是由軟件的 修改與版本更新引起的;為了解決這兩個問題,信息庫主要解決的辦法是:信息庫中的內容 一般不刪除,當新信息存入時,老信息只是加上時間標志移入歷史信息中去,并與新信息保 持著歷史的,邏輯的聯系,在需要的時候可以隨時調出來。
七、應用題
參考答案:略__
一、單項選擇題
1、A2、B3、C4、C5、B6、D7、C8、B9、B10、B
二、多項選擇題
11、ABCDE12、BCDE13、ABCD14、BDE15、ABE16、ABCE17、ABCDE18、ABCDE19、ABDE20、ACD
三、填空題
參考答案:軟件功能說明書,計劃,延續,載體,三,編碼,測試,控制,靜態,控制 關系,基本屬性,轉換方式,表格,圖形,脫機備份,歷史信息,逐步積累,系統計計人員,程序員,變更
四、名詞解釋題
略
五、簡答題
39.第一、有關系統環境、現狀及需求的信息。第二、有關軟件的功能設計與特理設計的各種 信息 第三、軟件成果本身,包括軟件和方檔;第四、用戶對系統的各種變更要求。40.用戶界面的主要是通信是否強大;界面一致性;軟件界面是否能讓用戶提供進度展示; 界面必須能提供幫助;軟件功能是否方便(寧可讓程序多干,不可讓用戶多干)
六、論述題
41.參考答案:
1)用戶需求不明確
在軟件開發過程中,用戶需求不明確問題主要體現在四個方面:
◇ 在軟件開發出來之前,用戶自己也不清楚軟件的具體需求;
◇ 用戶對軟件需求的描述不精確,可能有遺漏、有二義性、甚至有錯誤;
◇ 在軟件開發過程中,用戶還提出修改軟件功能、界面、支撐環境等方面的要求; ◇ 軟件開發人員對用戶需求的理解與用戶本來愿望有差異。
(2)缺乏正確的理論指導
缺乏有力的方法學和工具方面的支持。由于軟件不同于大多數其他工業產品,其開發過程是 復雜的邏輯思維過程,其產品極大程度地依賴于開發人員高度的智力投入。由于過分地依靠 程序設計人員在軟件開發過程中的技巧和創造性,加劇軟件產品的個性化,也是發生軟件危 機的一個重要原因。
(3)軟件規模越來越大
隨著軟件應用范圍的增廣,軟件規模愈來愈大。大型軟件項目需要組織一定的人力共同完成,而多數管理人員缺乏開發大型軟件系統的經驗,而多數軟件開發人員又缺乏管理方面的經 驗。各類人員的信息交流不及時、不準確、有時還會產生誤解。軟件項目開發人員不能有效 地、獨立自主地處理大型軟件的全部關系和各個分支,因此容易產生疏漏和錯誤。
(4)軟件復雜度越來越高
軟件不僅僅是在規模上快速地發展擴大,而且其復雜性也急劇地增加。軟件產品的特殊 性和人類智力的局限性,導致人們無力處;復雜問題“。所謂”復雜問題"的概念是相對的,一 旦人們采用先進的組織形式、開發方法和工具提高了軟件開發效率和能力,新的、更大的、更復雜的問題又擺在人們的面前。
七、應用題
參考答案:
1.w_Goods 的Opent 事件腳本:
dw_result.settransobject(sqlca)
2.cb_query 的Clicked 腳本
If sle_Goods.txt=” ” then
MessageBox(“提示”,“請輸入商品名稱”)
Sle_Goods.Setfocus()
Else
dw_result.retrives(sle_Goods.txt)
end if
3.cb_clear 的Clicked 腳本:
Sle_Goods.text=””
dw_result.reset()
sle_Goods.Setfocus()
4.cb_quit 的Clicked 腳本
Close(parent)
??在數據窗口畫板新建一個數據窗口對象
??定義其數據源為SQL select 表現風格為Grid
??為數據窗口定義一個參數,名為GoodsName,類型為String
??定義Where 條件為”Goods”,“GoodsName”=:GoodsName__
一、單項選擇題
1、B
2、B3、B4、A5、B6、A7、B8、A9、D10、D
二、多項選擇題
11、ABCD12、ABC13、ABCDE14、ABE15、ABCDE16、BCE17、CDE18、BCE19、ABCDE20、ABDE
三、填空題
參考答案:開發軟件,第三代語言, 軟件,AD/Cycle, 程序,文檔,軟件開發工具學, 軟件開發工具,進度管理,資源與費用管理,質量管理, 軟件開發工具按工作階段分,設計工具、分析工具、計劃工具,從用戶的理解到程序員的理解,從程序員的理解到程序的實現,處理單元,循環機制,二分決策機制,CMM
四、名詞解釋題
參考答案:略
五、簡答題
35.參考答案:提供描述軟件狀況及其開發過程的概念模式,以協助軟件開發人員認識軟 件工作的環境與要求,合理地組織與管理軟件開發的工作過程;提供存儲和管理有關信息的 機制與手段;幫助使用者編制,生成及修改各種文檔;幫助使用者編定程序代碼,即代碼生 成;對于歷史信息進行跨生命周期的管理。
36.參考答案:首先是自動化程序大大提高;其次,軟件開發工具把用戶需求也包括到軟件 工作的范圍,從而使軟件開發向用戶方面延伸;第三,軟件開發過程中,引入了軟件項目管 理及軟件版本管理;第四,所有的軟件開發工具,吸收了許多科學的管理內容和方法。
六、論述題
37.第一、通用軟件不能完成整個軟件開發過程中的所有工作;第二、通用軟件完成某些工 作、只能表現其表現形式,而不能反映軟件的內在邏輯內涵;第三、通用軟件在幫助人們工 作的時候,常遇到難以保持數據一致性的問題。
七、應用題
參考答案:略__
一、單項選擇題
1、C2、D3、B4、A5、D
6、D7、B8、B9、D10、B
二、多項選擇題
11、ABDE12、ABCD13、ABCDE14、ABD15、ACD16、AB
17、AC18、BCE19、ACDE20、BC
三、填空題
參考答案:21.需求分析 實現階段 調試階段
22.從用戶的理解到程序員的理解 從程序員的理解到程序的實現
23.系統 客觀 控制
24.用戶
25.質量 資源利用 質量
26.實際出發 現實有限的27.文章 表格 表格
28.定量 文字 邏輯
29.跨生命周期的信息管理 項目數據庫
30.標準化 提供方式
四、名詞解釋題
略
五、簡答題
35.參考答案:(1)軟件成本日益增長(2)開發進度難以控制(3)軟件質量差(4)軟件維護困難
36.參考答案:使產品的質量得到有效的控制;保證整個系統按預定的進度完成;有效地利 用各種資源,盡可能使資源的閑置與浪費減少;控制與降低成本。
六、論述題
37..參考答案
(1)認知科學中關于概念模式的概念方法
(2)數據庫技術的理論和方法
(3)編譯技術的有關方法
(4)關于人機界面的理論和方法
(5)管理科學中關于項目管理與版本管理的理論和方法
(6)系統科學與系統工程中有關理論與方法
七、應用題
參考答案:略
第四篇:全國2013年1月高等教育自學考試軟件開發工具試題
絕密★考試結束前
全國2013年1月高等教育自學考試
軟件開發工具試題
課程代碼:03173
請考生按規定用筆將所有試題的答案涂、寫在答題紙上。
選擇題部分
注意事項:
1.答題前,考生務必將自己的考試課程名稱、姓名、準考證號用黑色字跡的簽字筆或鋼筆填寫在答題紙規定的位置上。
2.每小題選出答案后,用2B鉛筆把答題紙上對應題目的答案標號涂黑。如需改動,用橡皮擦干凈后,再選涂其他答案標號。不能答在試題卷上。
一、單項選擇題(本大題共20小題,每小題1分,共20分)
在每小題列出的四個備選項中只有一個是符合題目要求的,請將其選出并將“答題紙”的相應代碼涂黑。錯涂、多涂或未涂均無分。
1.在需求分析階段,人們最希望軟件開發工具提供的幫助是
A.認識與描述客觀系統
C.文檔的編制或生成 B.存儲及管理開發過程中的信息 D.軟件項目的管理
2.在實際工作中,數量最大的軟件開發工具是
A.分析工具
C.設計工具 B.計劃工具 D.軟件工作環境
3.為了提高軟件開發工作的水平和效率,人們提出了多種程序設計方法。其中,主要為項目管理者服務的是
A.結構化程序設計
C.面向對象的方法 B.軟件工程方法 D.即插即用的程序設計
4.IBM公司宣布一個名為AD/Cycle的巨大的理論框架,標志著進入集成的軟件開發環境階段,時間是20世紀
A.80年代初
C.90年代初 B.80年代末 D.90年代末
5.在軟件開發過程中,確定信息流通模型的階段是
A.系統設計階段
C.需求分析階段
6.自行開發軟件開發工具的主要缺點是
A.不易于商品化
C.往往低估開發難度 B.不便于擴充 D.目標不明確 B.程序編碼階段 D.系統維護階段
7.在權衡購置或自行開發軟件開發工具時不必考慮的因素是 ..
A.人員的因素
B.準備從事的軟件開發工作的性質與要求
C.資金的多少
8.不成功的商品化軟件開發工具往往由于
A.應用范圍廣泛
C.使用手冊簡單 D.開發人員對工作與支持程度的實際需要 B.應用范圍專一 D.使用手冊復雜
9.2008年,國際電子電氣工程師學會的權威刊物《軟件》的九月/十月號,以“軟件開發工具”(Software Development Tools)為題的一期??懈爬?0年來軟件開發工具的發展軌跡,指出抽象程度最高的軟件開發工具是
A.Eclipse
C.Delphi B.XMF Mosaic D.Turbo Oascal
10.以下幾種語言及其開發工具中,發展潛力最差的是
A.VB
C.PB
11.在大型軟件開發中,程序員承擔的工作是
A.驗收模塊
C.交付檢驗 B.要求修改 D.試運行 B.VC D.C++Builder/Delphi
12.為創建一個C Project,在選擇向導窗口“Select a wizard”對話框中打開C/C++文件夾,選擇“C Project”后,單擊的按鈕是
A.Next
C.Finish B.Back D.Cancel
13.為了在不影響程序行為的情況下進行系統范圍內的代碼更改,用戶可以使用Eclipse的A.重構功能
C.搜索功能 B.重命名功能 D.抽取方法
14.在GDB添加行斷點時,應打開調試文件,從菜單中選擇的選項是
A.Add Bookmark
C.Toggle Breakpoint B.Disable Breakpoint D.Breakpoint Froperties
15.在Eclipse代碼模板編輯中,變量用{}括起來,開頭的字符是
A.$
C.&
16.在CVS中,獲得工作備份的操作稱為
A.輸入
C.簽出 B.提交 D.更新 B.¥ D.@
17.在軟件開發過程中,直接與設計方案關聯的界面是
A.分析界面
C.用戶界面 B.編程界面 D.管理界面
18.在GDB添加方法斷點時,采用鼠標右鍵單擊add的方法,在彈出菜單中應選擇的選項是
A.Refactor
B.Toggle Breakpoint
C.References D.Open Declaration
19.在Eclipse插件中,用戶配置項目日志所使用的插件是
A.Login
C.Lomboz
20.使用Rational Rose建模不能支持 ..
A.UML的建模
C.采用基于組件的開發 B.HTML開發 D.系統分析到系統實現雙向工程 B.Log4E D.DBEdit
非選擇題部分
注意事項:
用黑色字跡的簽字筆或鋼筆將答案寫在答題紙上,不能答在試題卷上。
二、填空題(本大題共20小題,每空1分,共20分)
21.軟件開發工具是在______程序設計語言的基礎上,為提高軟件開發的質量和效率,對軟件開發者提供幫助的一類新型的軟件。
22.對于單個的程序員來說,以下兩個轉換是做好軟件工作的關鍵。首先是從用戶的理解到程序員的理解,其次是從程序員的理解到______的實現。
23.框圖是描述程序執行的邏輯過程的概念模式,把程序執行的基本步驟歸納為判斷、處理、______、起始或終止幾個基本功能。
24.人機交互手段的八個方面是:鍵盤操作、屏幕滾動、______、菜單選擇、鼠標操作,色彩應用、數據錄入和信息顯示。
25.面對軟件開發中的種種困難和問題,幾十年來,軟件工作者先后提出了結構化程序設計,______方法,面向對象的方法,即插即用的程序設計方法,面向開源軟件的程序設計等方法。
26.軟件開發工具是引導人們建立正確、有效的______的一種手段。
27.Eclipse重構中的重命名功能為我們解決了變量、______、函數等重命名的所有問題。
28.軟件開發過程的每一個周期可以分為五個階段:需求分析、分析設計、______、測試和維護。
29.對于CASE工具有兩種理解。一種是計算機輔助______,另一種是計算機輔助系統工程。
30.軟件開發的工作環境包括硬件配置、系統軟件、______、網絡通信等各種條件。
31.在Eclipse中允許用戶在______、代碼和文件三個維度設置代碼模板。
32.Eclipse CDT編輯器的首選項設置包括外觀、鍵、搜索、工作空間和______。
33.通過網絡,人們可以更方便地互通信息、______,這就給軟件重用、知識重用提供了新的機會。
34.Eclipse的團隊支持組件負責提供______和配置管理支持。
35.Eclipse的工作空間是負責管理______的插件。
36.Eclipse CDT調試器允許用戶使用設置斷點、暫停、______的方法來控制程序的運行過程。
37.在Eclipse定制透視圖編輯器中的四個標簽,分別定制的是______、菜單欄、命令組和快捷方式。
38.版本控制軟件ClearCase涵蓋的范圍包括版本管理、建立管理、工作空間管理和______。
39.在Eclipse插件清單文件中描述了插件的名字、______以及使用的或本身定義的擴展點等信息。
40.使用UML建模時一般分為用例視圖設計,邏輯設計和______設計幾大部分。
三、簡答題(本大題共6小題,每小題5分,共30分)
41.軟件開發工具的主要性能指標有哪些?
42.簡述結構良好的軟件應滿足的條件。
43.簡述軟件開發工具使用中,審計的范圍。
44.簡述軟件開發中常用的概念模式。
45.什么是軟件開發工具的標準化?
46.簡述面向對象過程的一般步驟。
四、論述題(本大題共1小題,10分)
47.試論信息庫管理功能與一般數據庫管理系統的區別。
五、應用題(本大題共1小題,20分)
48.以下兩題中的程序代碼分別是用C和C++語言編寫的“數字求和”的C和C++程序代碼,任選其中一題,都選的以前一題計分。
(1)已編寫C程序代碼如下:
#include
#include
int add(int x,iIlt y){
return x+y;
}
void main(void){
int result,i;
int Max_NUM;
result = 0;
printf(“請輸入要求和的數字\n”);
scanf(“%d”,&Max_NUM);
for(i=0;i<=Max_NUM;i++)
result= add(i);
print(“求和結果是:”);
printf(“%dn”,:result);
return EXIT_SUCCESS;
}
1)將該程序在Eclipse編輯器中進行編譯后,在result = add(i);等代碼行前顯示“X”符號,請回答代碼行前顯示的“X”符號說明了什么?
2)修改該程序中出現的錯誤。
3)若要將名為SUM的C程序外部項目導入到Eclipse集成環境中,根據下面提供的菜單、按鈕、窗口等操作選項,請寫出導入SUM項目到Eclipse集成環境中的基本操作步驟(從菜單欄上的file開始)。
File、Export、Import、General文件夾、C/C++文件夾、CVS文件夾、Existing Projects into Workspace、Preferences、Next、Select root directory,Select archive file、Finish、cancel。
(2)已編寫C++程序代碼如下:
#include
using namespace std;
int add(int x,int y){
return x+y;
}
void main(void){
int result,i;
int Max_NUM;
result=0;
cout <<“請輸入要求和的數字:”<< endl;
cin>>Max_NUM;
for(i=0;i<=Max_NUM;i++)
result = add(i);
cout<<“求和結果是:”< return EXIT_SUCCESS; } 1)將此程序在Eclipse編輯器中進行編譯時,在result = add(i);等代碼行前顯示“X”符號,請回答代碼行前顯示的“X”符號說明了什么? 2)修改該程序中出現的錯誤。 3)若要將名為SUM的C++程序外部項目導入到Eclipse集成環境中,根據下面提供的菜單、按鈕、窗口等操作選項,請寫出導入SVM項目到Eclipse集成環境中的基本操作步驟(從菜單欄上的file開始)。 File、Export、Import、General文件夾、C/C++文件夾、CVS文件夾、Existing Projects into Workspace、Preferences、Next、Select root directory、Select archive file、Finish、cancel。 網絡游戲開發工具介紹 從當前的一些工具來看,一般的團隊,利用Unity的WEB功能,同時結合SmartFoxServer,可以開發小型的運行在WEB上的3D游戲,給玩家帶來更好的體驗;如果團隊人數更少,可以考慮開發Flash的2D網游,也是一個選擇方案。網絡游戲開發,其工具已經日益成熟,其技術門檻,在各種各樣的工具支持下,已經越來越低。未來的網絡游戲開發,各大廠商肯定會越來越把重心放在策劃、美工、運營等層面上,而研發、技術,在其中占有的比例肯定會逐步降低。為何可能會出現這種狀況,主要是各種工具軟件的日益成熟,對于各種類型的游戲開發來說,只需要低成本的選擇特定的工具,就肯定可以使網絡游戲的開發事半功倍;但是在當前的階段,對于各種能夠快速掌握新工具的公司和團隊來說,特別是對于小公司來說,船小好調頭,能夠更快速的接納并選擇這些工具,從而擁有可以和大公司大團隊一拼的實力。 那么,現在市場上存在哪些物美價廉的開發工具呢?經過一些調查,發現工具本身雖然繁多,但還是沒有可以一統市場的占絕對優勢的產品,因此需要各個公司自行甄別。 首先值得一談的是各種3D游戲客戶端引擎。如果要開發一款3D網絡游戲,那么客戶端的3D處理必不可少,這一塊在以前是最麻煩的地方,隨著技術的發展,這一塊也已經是工具發展得最好的一塊。 3D引擎: 談到3D引擎,必須要說Unity,這款工具,包括了3D運行時引擎,可視化的場景編輯器,強大的腳本支持;值得一提的是,Unity的開發教程做的很不錯,這一款起源于Mac平臺的開發引擎,基于C語言編寫,由于廠商的不斷完善,已經擁有很多的成熟游戲樣本,并且越來越穩定。更值得一提的是,Unity的Web Player,只有2.5M的大小,但是可以在WEB界面上展現強大的3D處理效果,廠商基于Unity開發的3D游戲,可以無縫的移植到WEB上,可以看出來,Unity應該會逐漸占領WEB 3D的一些市場,并可能會發展的更好。Unity的授權費用,也不是很高,一個完整包的開發授權,大概在2000多美金左右;不過Unity不開源,對于技術實力較強的大團隊來說,有時不太合適。值得一提的是,Unity在內部對象的實現上,采用了“組合”的方式來體現不同對象的差異,比純粹的“繼承”為主的對象架構,進了很大一步,并擁有更好的擴展性。 Torque也是一款歷史悠久的3D引擎,最早的版本是一個開源項目,也是基于C語言編寫;Torque也提供了3D運行時引擎,可視化的場景編輯器,腳本支持等等;Torque的開發授權比較便宜,大概在1000美金左右,并且包含源代碼,可以稱得上物美價廉了,當前中國有一些小團隊,已經采用這款引擎進行一些3D游戲開發了。 最大的問題在于,Torque引擎最新版本Torque 3D 2009,經過重新設計和重構,在性能上存在較大的問題,相信其在下一個版本會得到更大的改進。值得一提的是,Torque和PhysicX最新版本結合很緊密,可以打造出最好的物理效果,并且可以充分的驅動GPU,打造最完美的粒子效果。對于資金缺乏的小團隊來說,Torque是最物美價廉的選擇。 3D顯示引擎:Ogre Ogre這款引擎,因為最近“火炬之光”的上市,顯得非常的火爆。Ogre與以上的兩款引擎不同,它的核心是一款運行時的Framework,該框架的設計借用了一些優秀的設計模式,使得可以很容易的開發C語言的新模塊,并掛接到Ogre上。Ogre只處理客戶端的3D渲染邏輯,其他的都不考慮,正因為如此,它的3D渲染功能做的非常強大,能夠跟上最新的渲染技術。但是也因為此,它自身不能作為一款游戲開發的工具來單獨試用,必須和很多其他工具進行配合。Ogre是一款開源引擎,對于技術實力比較強的大團隊,可以借用該引擎處理3D顯示方面的功能,當前國內的一些自主研發游戲引擎的大公司,也有采用該方案的。值得一提的是,有很多愛好者基于Ogre的基礎上,開發了很多的插件,以擴充Ogre的功能。其實類似于Ogre這種的項目也有很多,譬如LUA,僅僅實現腳本功能,譬如PhysicX,僅僅實現物理效果功能;同時,還有大量的工具來實現音樂、網絡等等各種專屬模塊。 3D的MMORPG開發引擎:Unreal 虛幻3號稱是世界上最好的游戲開發引擎,它的價格也體現了這一點,如果你用它開發游戲,并且該游戲上線運營的話,它要與你分享運營收費,最高要達到25%,也正因為如此,虛幻3一直屬于貴族引擎,小公司幾乎沒有機會使用。但是今年11月份,虛幻3公布了一個免費版本,該版本可以免費用于開發,并且如果你上線運營的收益低于5000美金,可以不需要向虛幻3付費。該版本的推出,應該會吸引一大批的開發小團隊加入到虛幻3的隊伍。虛幻3最值得稱道的是他有一款配套的ATALAS系統,該系統整合了MMORPG開發的精華,是一整套MMORPG的3D游戲開發解決方案,不過該系統自身還在研發中。 以上,列舉了很多做3D游戲開發的引擎,有了這些引擎和工具,3D游戲開發,只需要美工做做建模工作了,同時網絡游戲開發,要搭建一套對應的服務器系統,并解決多人并發的問題,關于這個問題上,還沒有特別好的解決方案,這一塊,當前也是各個大團隊技術研發的重點,并且也有一些開源項目以解決這個為目標,不過都沒有形成氣候。但是小范圍的話還是形成了一些產品,也值得采用。 網絡游戲服務器平臺:SmartFoxServer SFS服務器平臺的解決目標為與客戶端技術FLASH集成,其完整解決方案包括:服務器引擎、客戶端API框架、防火墻HTTP穿透。 FLASH地圖開發工具、腳本技術等等;利用SFS平臺,可以輕松的開發客戶端是FLASH的網絡游戲,該平臺擁有大量的已經開發完整的產品,看它的showcase,不乏WEB Game的優秀作品,最近非常流行的彈彈堂、熱血大唐等rpg游戲,都可以找到雛形。SFS的實質乃是一款Chat框架,搭建在java平臺上,特別適合用來做回合制或者房間制的游戲,并配合Flash的強大表現力,做出來的游戲非常利于傳播,主要以制作休閑類游戲為主。SFS的全部工具授權,大概在5000美金左右,但是其缺乏可擴展性,分布式部署麻煩,同時源代碼不公開,對開發商來說存在一定隱患。優點是有大量項目采用,系統運行的穩定性高,對于小團隊來說,可以利用該工具很快搭建Web game;對于大團隊來說,可以復制其架構,自行開發類似的系統。另外,SFS采用java架構,在服務器性能上,會帶來一定的損失。 從當前的一些工具來看,一般的團隊,利用Unity的WEB功能,同時結合SmartFoxServer,可以開發小型的運行在WEB上的3D游戲,給玩家帶來更好的體驗;如果團隊人數更少,可以選擇考慮開發Flash的2D網游。第五篇:網絡游戲開發工具介紹