版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
PAGE39第1章名詞解釋1、軟件開發(fā)工具:在高級程序設(shè)計語言(第三代語言)的基礎(chǔ)上,為提高軟件開發(fā)的質(zhì)量和效率,從規(guī)劃、分析、設(shè)計、測試、成文和管理各階段,對軟件開發(fā)者提供各種不同程度幫助(支持)的一類廣泛的軟件。2、第一代語言:即機(jī)器語言,是用0、1組成的二進(jìn)制字符串書寫的程序,用紙帶等光電設(shè)備或通過控制臺上的扳鍵送入機(jī)器,得以存儲和執(zhí)行。3、第四代語言(4GL):第四代語言的原意是非過程化的程序設(shè)計語言。針對以處理過程為中心的第三代語言,它希望通過某些標(biāo)準(zhǔn)處理過程的自動生成,使用戶可以只要求做什么,而把具體的執(zhí)行步驟的安排交給軟件自動處理。4、CASE工具:CASE工具指“計算機(jī)輔助軟件工程”或“計算機(jī)輔助系統(tǒng)工程”,它的基本思想與軟件開發(fā)工具完全一致,即應(yīng)用計算機(jī)自身處理信息的巨大能力,幫助人們開發(fā)復(fù)雜的軟件或應(yīng)用系統(tǒng)。5、所見即所得:“所見即所得”原則力圖實現(xiàn)編程工作的可視化,即隨時可以看到結(jié)果,程序的調(diào)整與后果的調(diào)整同步進(jìn)行。6、需求分析:從用戶提出的初始要求出發(fā),經(jīng)過大量的調(diào)查研究,抽象出應(yīng)用領(lǐng)域中實際的信息需求,設(shè)計出在計算機(jī)系統(tǒng)內(nèi)外的、合理的信息流程,并規(guī)定軟件的功能與性能要求,最后形成嚴(yán)格的、明確的、可供實際開發(fā)使用的“軟件功能說明書”,這個階段稱為需求分析。7、總體設(shè)計:根據(jù)軟件功能說明書的要求,完成軟件的總體設(shè)計,包括整個軟件的結(jié)構(gòu)設(shè)計、公用數(shù)據(jù)庫文件或數(shù)據(jù)庫的設(shè)計、各部分的連接方式及信息交換的標(biāo)準(zhǔn)等。8、結(jié)構(gòu)設(shè)計:所謂結(jié)構(gòu)設(shè)計是把軟件劃分成若干個模塊,指定每個模塊的功能要求以及它們之間的相互關(guān)系。9、模塊測試:根據(jù)整體設(shè)計時制定的各個模塊的設(shè)計任務(wù)書,對程序員完成的模塊進(jìn)行驗收,看它們是否實現(xiàn)了所要求的功能和性能指標(biāo)。10、總體測試:每個模塊都達(dá)到了設(shè)計任務(wù)書的要求后,還要測試整個系統(tǒng)是否達(dá)到了預(yù)期的目標(biāo),另外還要檢查完成的軟件與編寫的文檔是否一致,這個工作成為總體測試。11、設(shè)計工具:設(shè)計工具是最具體的,它是指在實現(xiàn)階段對人們提供幫助的工具,是最直接幫助人們編寫與調(diào)試軟件的工具。12、分析工具:分析工具主要指用于支持需求分析的工具。它幫助人們認(rèn)識與表述信息需求和信息流程,從邏輯上明確軟件功能與要求。13、計劃工具:計劃工具從宏觀角度看待軟件開發(fā),它不僅從項目管理的角度幫助人們組織與實施項目,而且把有關(guān)進(jìn)度、資源、質(zhì)量、驗收情況等信息管理起來,同時考慮到了項目的反復(fù)循環(huán)、版本更新,實現(xiàn)了“跨生命周期”的信息管理與共享,為信息和軟件重用創(chuàng)造了條件。14、工具的可靠程度:軟件開發(fā)工具應(yīng)具有足夠的可靠性,即在各種各樣的干擾下仍能保持正常工作,而不致丟失或弄錯信息。第2章名詞解釋1、軟件危機(jī):指隨著軟件功能越來越多,規(guī)模越來越大,復(fù)雜性越來越高,引出一系列問題:軟件產(chǎn)品交付拖延、錯誤多、不可靠、費(fèi)用增大、不能適應(yīng)應(yīng)用變化等,因此懷疑大型軟件的復(fù)雜性是否超越了人的處理能力。2、水波效應(yīng):因修改程序帶來的連帶影響。當(dāng)人們修改程序的某一處時,由于沒有充分考慮到這一修改對相關(guān)部分帶來的影響,結(jié)果出現(xiàn)了新的錯誤。3、黑箱檢驗:輸入一些信息,通過觀察是否能得出預(yù)期輸出來判斷軟件是否正確的一種軟件測試方法。黑箱檢驗只能證明程序有錯,而不能證明程序沒錯。4、模塊的凝聚性:模塊的功能在邏輯上盡可能的單一化、明確化,最好做到模塊與任務(wù)的一一對應(yīng),即每個模塊完成一個任務(wù),反之每一項任務(wù)僅由一個模塊來完成。這也稱為模塊的凝聚性。5、模塊間的耦合(耦合性):模塊之間的聯(lián)系及相互影響稱為耦合。6、模塊間邏輯耦合:如果模塊間傳遞的是控制信號,則稱模塊間具有邏輯耦合。7、(對象的)封裝性:把對象的靜態(tài)屬性和相關(guān)操作作為一個整體,對外不必公開這些屬性與操作。8、(對象的)遺傳性:對象所具有的性質(zhì),包括靜態(tài)屬性和動態(tài)操作,自然地成為其子類的性質(zhì),不必加以重復(fù)說明或規(guī)定。9、即插即用程序設(shè)計:即插即用程序設(shè)計是一種軟件開發(fā)方法,它的基本思想是用制造硬件的思路來生產(chǎn)軟件。一部分人專門生產(chǎn)軟件組件,一部分人設(shè)計整個軟件結(jié)構(gòu),并且把軟件組件插入這個結(jié)構(gòu),以便迅速完成大型軟件的研制工作。10、開源軟件:開放源代碼的軟件。由開發(fā)者或知識產(chǎn)權(quán)所有者開放該功能模塊的源代碼,提供給后續(xù)開發(fā)者免費(fèi)使用。第3章名詞解釋1、概念模式:指人們在認(rèn)識事物過程中,對某一事物或某一系統(tǒng)形成的抽象的、一般化的概念框架。2、概念模式的兩重性:概念模式是在客觀事物或系統(tǒng)的基礎(chǔ)上形成的,在某種程度上反映了客觀現(xiàn)實。但它又不等同于客觀事物本身,因為它常常是抽象出的某一事物的部分屬性,所以往往只反映事物的某一方面。至于選取那些屬性或哪些方面,還決定與觀察者本身的目的與狀態(tài)。所以概念模式又具有主觀性。3、框圖:框圖是人們在編寫軟件時最早使用的一種概念模式,它用來描述程序執(zhí)行的邏輯過程。4、結(jié)構(gòu)圖:結(jié)構(gòu)圖是描述大型軟件的層次結(jié)構(gòu)(模塊的結(jié)構(gòu))的概念模式。它以模塊調(diào)用關(guān)系為線索,從宏觀上使人一目了然地掌握軟件的全貌。5、數(shù)據(jù)流程圖:數(shù)據(jù)流程圖是描述系統(tǒng)信息流程的一種概念模式,它描述系統(tǒng)的信息來源、存儲、去向的全面情況。它的基本思想是把信息流看作一個組織或系統(tǒng)運(yùn)作的線索,力圖簡明扼要地勾畫出全局。6、實體關(guān)系圖:是一種用于描述靜態(tài)數(shù)據(jù)結(jié)構(gòu)的概念模式,它以實體、關(guān)系、屬性三個基本概念概括數(shù)據(jù)的基本結(jié)構(gòu)。7、數(shù)據(jù)字典:是一種用于描述數(shù)據(jù)內(nèi)容的概念模式,它用表格的形式列出數(shù)據(jù)的基本屬性以及相互關(guān)系。8、時序網(wǎng)絡(luò)(PetriNet):主要用于描述系統(tǒng)狀態(tài)及其轉(zhuǎn)換方式的概念模式,常用于一些實時控制方面的軟件的功能。9、數(shù)學(xué)與邏輯模型:用于描述客觀世界的狀態(tài)與規(guī)律的概念模型,具有嚴(yán)格、準(zhǔn)確、可計算性的特點(diǎn),一般只能描述比較單純、基礎(chǔ)的功能。決策表和決策樹是常用的兩種表達(dá)方式。10、計算機(jī)模擬模型:利用計算機(jī)大量、高速處理信息的能力,在計算機(jī)內(nèi)設(shè)置一定的環(huán)境,用程序來表現(xiàn)客觀系統(tǒng)中的某種規(guī)律與規(guī)則,這樣計算機(jī)就可以高速運(yùn)行,以便人們觀察與預(yù)測客觀系統(tǒng)的狀況。11、信息庫:信息庫是針對軟件開發(fā)或信息系統(tǒng)開發(fā)中的大量信息管理工作提出來的,它是存放軟件開發(fā)全過程中所有有用信息、并隨著項目進(jìn)展而不斷修改與補(bǔ)充的數(shù)據(jù)集合。12、項目管理:指與固定的生產(chǎn)線上的日常生產(chǎn)活動不同的、具有更大變動性、時間性的一類管理任務(wù)。13、版本管理:實現(xiàn)軟件工程的跨周期管理,保持系統(tǒng)功能在時間上的一致性,功能逐步完善,成果不丟失,可回溯,可重用,使系統(tǒng)在局部和整體上保持一致性的管理工作。第4-6章名詞解釋1、軟件配置(集成)問題:軟件配置或集成問題的實質(zhì)是設(shè)立一個有效的總控部分,能夠在各個具體工具之上實現(xiàn)信息的正確傳遞與轉(zhuǎn)換,幫助人們完成軟件開發(fā)各階段的協(xié)調(diào)與配合工作,從而形成一個統(tǒng)一的、完整的支撐環(huán)境,并通過一個統(tǒng)一的、友好的人機(jī)界面與用戶對話。2、信息流通模型:用需求分析階段建立的邏輯模型來表達(dá)信息的來源、去向、存儲及處理的邏輯過程。3、代碼生成器:代碼生成器的基本任務(wù)是根據(jù)設(shè)計要求,自動或半自動地生產(chǎn)相應(yīng)的某種語言程序。4、項目數(shù)據(jù)庫:項目數(shù)據(jù)庫是信息庫的一部分,它記錄項目本身進(jìn)展的各種信息。5、(軟件)審計:審計是對一個系統(tǒng)的運(yùn)行狀況及效率進(jìn)行檢測與評價,以便進(jìn)一步用好或改進(jìn)這個系統(tǒng)。6、開發(fā)工具的工作環(huán)境:軟件開發(fā)工具都是在一定的工作環(huán)境中工作的,包括硬件配置、系統(tǒng)軟件、數(shù)據(jù)庫管理系統(tǒng)、網(wǎng)絡(luò)通信條件等。7、軟件開發(fā)工具的網(wǎng)絡(luò)化:軟件開發(fā)工具的網(wǎng)絡(luò)化是指人們在異地利用網(wǎng)絡(luò)合作開發(fā)同一個軟件,利用網(wǎng)絡(luò)實現(xiàn)信息的交流與共享,實現(xiàn)軟件重用,并進(jìn)行項目管理。8、軟件開發(fā)工具的標(biāo)準(zhǔn)化:軟件開工具的標(biāo)準(zhǔn)化是指軟件構(gòu)件的標(biāo)準(zhǔn)化以及用標(biāo)準(zhǔn)構(gòu)件組成大型軟件結(jié)構(gòu)的標(biāo)準(zhǔn)化。9、軟件開發(fā)工具的智能化:軟件開發(fā)工具的智能化就是在軟件開發(fā)工具的研究與使用中引用人工智能、神經(jīng)網(wǎng)絡(luò)等技術(shù),使得軟件開發(fā)工具對于不確定的信息、模糊信息具有更強(qiáng)的處理能力。10、軟件開發(fā)工具的一體化:軟件開發(fā)工具的一體化就是集成化,是指利用統(tǒng)一的信息庫,將支持軟件開發(fā)各個階段的專用工具集成為一個整體,對軟件開發(fā)的全過程給予幫助和支持。第7-13章名詞解釋運(yùn)行時內(nèi)核:Eclipse中的平臺運(yùn)行庫是內(nèi)核,它在啟動時檢查已安裝了哪些插件,并創(chuàng)建關(guān)于其注冊表信息。JDK:Java開發(fā)工具,是一個寫Java的applet和應(yīng)用程序的程序開發(fā)環(huán)境。它是整個Java的核心,包括了Java運(yùn)行環(huán)境、Java工具和Java基礎(chǔ)的類庫。EclipseCDT:專門用于編寫C和C++程序的Eclipse開發(fā)環(huán)境。Eclipse工作臺:Eclipse工作臺是一個高級用戶界面,它為用戶提供了一個整體架構(gòu)和可擴(kuò)展的用戶界面。它是使用標(biāo)準(zhǔn)窗口工具包(SWT)和一個更高級的API(JFace)來構(gòu)建的。Eclipse工作空間:工作空間是Eclipse在用戶計算機(jī)磁盤上劃出的一塊區(qū)域,用來存放用戶工作資料,如代碼、配置信息等。Eclipse的視圖:視圖是Eclipse工作臺中的一個可視化的組件,它提供了用戶正在工作臺中使用的一些對象的詳細(xì)信息。通常用來瀏覽工作臺中的資源,顯示編輯器中的屬性,顯示程序狀態(tài)等。導(dǎo)航器視圖:又稱資源管理器,顯示當(dāng)前Eclipse集成環(huán)境中加載的所有項目和各個項目中的文件列表。大綱視圖:顯示當(dāng)前活動編輯器中所打開文件的綱要,如函數(shù)、變量等的視圖,其內(nèi)容是特定于某個編輯器的??刂婆_視圖:顯示程序運(yùn)行結(jié)果的視圖。錯誤視圖:編寫代碼時,顯示程序中的錯誤,提示用戶及時改正的視圖。搜索視圖:顯示用戶搜索結(jié)果的詳細(xì)信息的視圖。任務(wù)視圖:顯示程序代碼中未完成的任務(wù)的視圖。編譯器:編譯器是工作臺中的一個可視化組件,是用來處理各種文檔的,它允許用戶打開、編輯、查看和保存文檔對象。項目:在Eclipse集成開發(fā)環(huán)境中,每個小程序都是以項目為單位存在的,源代碼、注釋、配置文件、各種文件夾等都封裝在項目里。歸檔文件:包括通過Jar命令或War命令打包后形成的壓縮文件。文件系統(tǒng):指操作系統(tǒng)文件夾中的各類文件。首選項文件:用戶可以通過首選項文件來個性化定制Eclipse。MinGW編譯器:MinGW是指用來生成純粹的Win32可執(zhí)行文件的編譯環(huán)境,它是以GNU為基礎(chǔ)的開發(fā)C/C++項目的工具集,能夠提供C/C++所需要的頭文件和庫文件。瀏覽功能:瀏覽功能可以從多個角度快速查看并定位到程序中的各個元素,包括代碼的層次結(jié)構(gòu)、調(diào)用關(guān)系、繼承關(guān)系等。打開變量聲明:Eclipse提供的瀏覽功能,可以從變量的任意引用位置直接定位到變量的定義行。打開類型層次結(jié)構(gòu):Eclipse提供的瀏覽功能,可以快速打開程序中已經(jīng)在使用的特定數(shù)據(jù)類型及其相關(guān)繼承結(jié)構(gòu)。打開調(diào)用層次結(jié)構(gòu):Eclipse提供的瀏覽功能,可以瀏覽函數(shù)的定義與調(diào)用層次關(guān)系并快速定位到需要的函數(shù)。文件包含瀏覽器:用于瀏覽程序中包含的頭文件。打開元素:Eclipse將命名空間、類、結(jié)構(gòu)、類型定義符、函數(shù)、變量等定義為元素,通過瀏覽功能,可以迅速打開需要的元素。重構(gòu)功能:使用Eclipse重構(gòu)功能,可以在不影響程序行為的情況下進(jìn)行系統(tǒng)范圍內(nèi)的代碼更改。抽取方法:將程序中多次出現(xiàn)的代碼段抽取出來形成方法,可以減少代碼的長度并增加程序的可讀性和易維護(hù)性,同時使方法的調(diào)用清晰簡單。抽取常量:抽取常量是將程序中的數(shù)字、字符等定義為常量,使得對常量的調(diào)用和修改變得簡單。GDB:GDB是GNU開源組織發(fā)布的一個強(qiáng)大的UNIX(不僅限于UNIX)工具,搭配MinGW使用,可以使用戶完成整個C/C++程序的編譯和運(yùn)行工作。斷點(diǎn):斷點(diǎn)是程序調(diào)試中的重要概念,它可以使程序在運(yùn)行到斷點(diǎn)位置時自動暫停并且顯示程序的當(dāng)前狀態(tài)。方法斷點(diǎn):對某個方法或函數(shù)設(shè)置斷點(diǎn),在程序運(yùn)行到該方法的第一行時自動暫停。事件斷點(diǎn):在程序運(yùn)行過程中發(fā)生特定事件時(如異常觸發(fā)、線程啟動、線程退出等)將程序暫停。調(diào)試視圖:顯示當(dāng)前調(diào)試的程序的線程和所處的狀態(tài)。變量視圖:顯示整個調(diào)試過程中程序變量值的變化情況,變量視圖是幫助程序員差錯和糾錯的主要手段。單步遍歷程序:單步遍歷程序可以讓用戶逐行地運(yùn)行整個程序。單步跳入:線程將運(yùn)行所在行的程序,并在下一個可暫停位置后暫停執(zhí)行。單步跳過:線程將跳過該行,并運(yùn)行至下一個可暫停位置后暫停執(zhí)行。單步返回:單步返回僅對函數(shù)調(diào)用時有效,如當(dāng)main函數(shù)調(diào)用其他函數(shù)時,執(zhí)行單步返回操作即可跳出該函數(shù),返回main函數(shù)繼續(xù)執(zhí)行調(diào)試。格式化代碼:格式化代碼功能可以幫助用戶將凌亂的程序代碼格式化為自己習(xí)慣的排列方式。版本控制軟件:版本控制軟件能夠完整的保存軟件開發(fā)中對應(yīng)用程序每一個源文件所有的修改記錄。并發(fā)版本控制系統(tǒng)CVS:使用CVS可以對代碼進(jìn)行集中管理,記錄代碼所有的更改歷史,提供協(xié)作開發(fā)的功能并支持多人同時修改代碼文件?;コ庑孕薷模耗骋怀绦蛟谕粫r間只能由一個開發(fā)人員修改。CVS資源庫:資源文件的集合。即軟件資源的存放地,是放置開發(fā)的代碼并對其進(jìn)行控制管理的一個文件夾。工作備份:用戶對資源的修改不是直接在Server端進(jìn)行的,而是根據(jù)資源庫的內(nèi)容創(chuàng)建一個本地的工作備份,用戶在工作備份中工作,工作完成后再將修改的內(nèi)容提交到資源庫。提出(簽出)CheckOut:獲得工作備份的操作。從CVS資源庫中復(fù)制一個軟件鏡像到本機(jī)的工作空間中,此時代碼和CVS中的代碼是一致的。這項技術(shù)稱為“提出”。提交:將對工作備份的修改反映到資源庫中的操作。代碼同步:程序開發(fā)過程中,本地代碼和CVS資源庫代碼可能會產(chǎn)生差別,這可能是代碼之間存在增減或沖突等關(guān)系造成的,代碼同步操作可以使代碼保持一致。CVS中的沖突:在資源庫與工作備份之間狀態(tài)不一致的狀態(tài)下進(jìn)行簽入或更新操作時,版本管理系統(tǒng)可能會盡量進(jìn)行合并,如果版本管理系統(tǒng)不能完全處理上述不一致,就稱之產(chǎn)生了沖突。插件:插件是一種遵循其所依附的軟件的接口規(guī)范所編寫出來的程序,是對原有軟件的擴(kuò)展。惰性導(dǎo)入機(jī)制:在Eclipse啟動時,僅加載必要的核心,其它的功能插件使用時才加載進(jìn)來,這樣節(jié)省了大量的導(dǎo)入和初始化插件的時間,提高了Eclipse平臺的運(yùn)行效率,這一機(jī)制稱為惰性機(jī)制。PDE:插件開發(fā)環(huán)境,幫助開發(fā)者創(chuàng)建、開發(fā)、測試、調(diào)試和部署插件,同時提供開發(fā)片段、功能部件和更新站點(diǎn)的工具,協(xié)助開發(fā)者完成插件開發(fā)的全過程。第14章名詞解釋1、UML:統(tǒng)一建模語言,是一種面向?qū)ο蟮慕UZ言,它提供了描述軟件系統(tǒng)模型的概念和圖形表示法,采用了面向?qū)ο蟮募夹g(shù)和方法,體現(xiàn)面向?qū)ο蟮姆治雠c設(shè)計風(fēng)格。它可以實現(xiàn)大型復(fù)雜系統(tǒng)各種成分描述的可視化、說明并構(gòu)造系統(tǒng)模型,以及建立各種所需的文檔,是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語言。2、抽象:抽象是人們認(rèn)識客觀世界復(fù)雜性的一種基本方法。抽象是事物或現(xiàn)象的簡括描述,突出事物或現(xiàn)象之間的共性,而暫不考慮它們之間的差異。3、方法:方法是駐留在對象中的過程。方法是當(dāng)對象接受消息時執(zhí)行的操作,方法還能發(fā)送消息至其他請求動作或信息的對象。4、類:類是對一組幾乎相同的對象的描述。5、屬性:屬性由靜態(tài)的數(shù)據(jù)組成,用以描述類和對象所固有的特征,是類和對象的性質(zhì)。6、封裝:封裝即信息隱藏。封裝使一個對象形成兩個部分:接口部分和實現(xiàn)部分。對用戶來說,接口部分是可見的,而具體實現(xiàn)部分則不可見。繼承:繼承指對象繼承它所在類的結(jié)構(gòu)。體現(xiàn)了父類和子類之間的共享機(jī)制。子類可以繼承其父類的特性,同時可以有自己的新特性和新方法。多態(tài):多態(tài)指不同事物具有不同表現(xiàn)形式的能力,多態(tài)機(jī)制使具有不同內(nèi)部結(jié)構(gòu)的對象可以共享相同的外部接口,不同對象接到同一個消息可以產(chǎn)生完全不同的結(jié)果。7、組件:組件是一個可重用的軟件構(gòu)件,一個預(yù)先構(gòu)建的封裝的代碼模塊,它能夠與其他組件或硬編碼一起很快地生成定制的應(yīng)用程序。8、視圖:視圖是從不同角度來觀察待建模的系統(tǒng)。它是由多個圖表組成的抽象體。9、使用事件視圖(用例視圖):從系統(tǒng)外部使用者對系統(tǒng)的需求來描述該系統(tǒng)工程所應(yīng)具備和完成的功能,是UML的核心視圖。10、邏輯視圖:用于描述系統(tǒng)內(nèi)實現(xiàn)的邏輯功能。它描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)關(guān)系和系統(tǒng)內(nèi)的動態(tài)協(xié)作關(guān)系。11、組件視圖:從系統(tǒng)實現(xiàn)的角度描述模型對象間的關(guān)系。12、配置視圖:用于說明系統(tǒng)的物理配置,如所用的計算機(jī)和設(shè)備以及相互間的連接關(guān)系。13、用例圖:用于描述外部項與系統(tǒng)提供的使用事件之間的聯(lián)系。14、類圖:用于描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。15、對象圖:用于表述系統(tǒng)的靜態(tài)結(jié)構(gòu)。它使用與類圖一樣的符號表示,但不是同一種圖,對象圖表示的是類中的許多對象實例,而不是類本身。16、狀態(tài)圖:用于說明類中的對象可能具有的狀態(tài),以及由事件引起的狀態(tài)改變。17、順序圖:用于描述對象間的動態(tài)協(xié)作關(guān)系。由一條縱線上的一些對象組成,以時間流動為方向,表達(dá)對象間消息的交換。18、協(xié)作圖:用于描述對象的動態(tài)協(xié)作關(guān)系。19、活動圖:用于描述系統(tǒng)活動的流程。20、組件圖:用于描述組件代碼的物理結(jié)構(gòu)??梢允谴a組件、二進(jìn)制文件或任意可執(zhí)行的組件。21、配置圖:用于描述系統(tǒng)中軟件和硬件的物理結(jié)構(gòu)。22、模型元素:各種圖表中所用的概念符號稱為模型元素。23、UML的基本機(jī)制:UML的基本機(jī)制表現(xiàn)為各種圖表上的附加信息,用于描述那些模型無法表達(dá)的內(nèi)容。包括修飾、注釋、說明三種方式。簡答題第一章1、什么是軟件開發(fā)工具?在高級程序設(shè)計語言的(第三代語言)的基礎(chǔ)上,為提高軟件開發(fā)的質(zhì)量和效率,從規(guī)劃、分析、設(shè)計、測試、成文和管理各方面,對軟件開發(fā)者提供各種不同程度的幫助的一類廣泛的軟件。軟件開發(fā)工具概念要點(diǎn)有三:(1)它是在高級程序設(shè)計語言(第三代語言)之后,軟件技術(shù)進(jìn)一步發(fā)展的產(chǎn)物;(2)它的目的是在人們開發(fā)軟件過程中給予人們各種不同方面、不同程度的支持或幫助;(3)它支持軟件開發(fā)的全過程,而不是僅限于某個特定的階段。2、簡述計算機(jī)軟件發(fā)展的幾個階段。四個階段:第一代計算機(jī)語言——機(jī)器語言階段。第二代計算機(jī)語言——匯編語言階段。第三代計算機(jī)語言——高級程序設(shè)計語言,過程化語言第四代計算機(jī)語言——非過程化語言(4GL)3、簡述軟件工作的重要性和困難性。軟件工作的重要性越來越為人們所認(rèn)識,軟件是計算機(jī)的靈魂,是廣大使用者與計算機(jī)之間的橋梁,是人類在各個領(lǐng)域中積累的知識的結(jié)晶,是人類文明與知識得以延續(xù)的新的載體,是人類進(jìn)一步成為一個整體、得以進(jìn)一步相互聯(lián)系的紐帶。人們在認(rèn)識到軟件工作的重要性的同時也越來越認(rèn)識到了它的困難性。這就是所謂的“軟件危機(jī)”問題。人類社會和客觀世界的復(fù)雜性,決定了軟件本身的復(fù)雜性;人類知識的豐富多彩,決定了軟件的多樣性;客觀世界的動態(tài)性,決定了軟件對可維護(hù)、可重用性越來越高的要求。面對規(guī)模日益擴(kuò)大的軟件,如何保證它的正確性、可靠性,如何控制軟件開發(fā)的進(jìn)度與成本,成為十分重要的課題。4、簡述軟件開發(fā)工具的演變過程。軟件開發(fā)工具的演變是從無到有,從分散到集中的過程,是軟件發(fā)展的必然趨勢。主要分為四個階段:第一階段:利用通用軟件作為輔助工具的階段——沒有專用軟件開發(fā)工具的階段。第二階段:專用的軟件開發(fā)工具階段。如:第三階段:集成的軟件開發(fā)工具階段。如:第四階段:面向網(wǎng)絡(luò)和開源軟件的軟件開發(fā)工具階段。5、試述用通用軟件輔助軟件開發(fā)的弱點(diǎn)。用通用軟件來幫助開發(fā)人員編寫文檔或畫圖可以減少很多工作量,但是與軟件開發(fā)工作相比,這種幫助實在太表面、太初級了。用通用軟件幫助軟件開發(fā)有三個主要弱點(diǎn):(1)許多工作通用軟件無法完成。(2)用通用軟件完成某些工作,只能表現(xiàn)其表面的形式,不能反映其邏輯內(nèi)涵(形似,神不似)。(3)常遇到難于保持一致性的困難。6、集成化的軟件開發(fā)工具是在什么背景下產(chǎn)生的?大批專用軟件開發(fā)工具的出現(xiàn)并未解決一致性的問題。其根源在于對軟件的開發(fā)缺乏全面的、統(tǒng)一的支撐環(huán)境。這些零散的、分散的支持軟件開發(fā)各個階段、各項具體工作的專用工具之間沒有有機(jī)的聯(lián)系起來,必然造成沖突與矛盾。這對用戶造成了沉重的負(fù)擔(dān),以致抵消了使用工具帶來的益處,從而導(dǎo)致集成軟件開發(fā)工具的產(chǎn)生。7、試述軟件開發(fā)工作的發(fā)展變化。軟件開發(fā)工作的發(fā)展變化主要有五個階段:(1)最初階段——把用戶已經(jīng)明確表述出來的算法,用機(jī)器語言寫成一系列機(jī)器指令,供硬件運(yùn)行使用。(2)第二階段——編程工作改為匯編語言進(jìn)行,編好的指令由匯編程序轉(zhuǎn)化為機(jī)器指令,再交硬件執(zhí)行。與用戶的距離近了。(3)第三階段——匯編語言換成了高級程序設(shè)計語言(第三代語言),不再與機(jī)器指令一一對應(yīng),更加接近自然語言,離機(jī)器更遠(yuǎn)了,離用戶更近了。(4)第四階段——以應(yīng)用軟件開發(fā)工具為標(biāo)志,把需求分析納入了軟件開發(fā)工作中,進(jìn)一步擴(kuò)大了軟件開發(fā)的范圍。(5)新階段——規(guī)模更大、應(yīng)用更廣的階段,大量開源軟件出現(xiàn),總體設(shè)計的作用進(jìn)一步加強(qiáng),并出現(xiàn)了軟件構(gòu)架師的概念。8、試述現(xiàn)階段軟件技術(shù)的特點(diǎn)(作為軟件技術(shù)發(fā)展的一個新階段,使用軟件開發(fā)工具與以往的區(qū)別)(1)自動化程度的提高。由于代碼生成等技術(shù)的應(yīng)用,在一些特定條件下,可以較容易地自動生成第三代語言(或更低的語言)的代碼,從而大大節(jié)省人力和時間。(2)明確地把需求分析納入軟件工作范圍之內(nèi),從而使軟件開發(fā)過程進(jìn)一步向用戶方面延伸,離用戶更近了。這是軟件技術(shù)向前邁進(jìn)的重要一步。(3)把軟件開發(fā)工作延伸到項目及版本管理,從而超出了一次編程的局限,而擴(kuò)大到了作為一個不斷發(fā)展的客體的生長完善的全過程。這也是軟件研制從個體的、手工作坊的方式向科學(xué)的、有組織、有計劃的方式轉(zhuǎn)變的一個重要表現(xiàn)。(4)吸收了許多管理科學(xué)的內(nèi)容與方法,如程序員的組織,質(zhì)量的控制,使軟件開發(fā)技術(shù)不再只是討論單個程序員自己工作的技術(shù)與方法問題,而是把組織、管理等項目負(fù)責(zé)人的思想與方法放到了更重要的位置??傊?,軟件開發(fā)工具的提出與使用,是軟件技術(shù)發(fā)展的一個新階段。9、軟件開發(fā)一般分為哪幾個階段?其主要任務(wù)和形成的文檔是什么?開發(fā)階段主要任務(wù)文檔需求分析從用戶提出的初始要求出發(fā),經(jīng)過大量的調(diào)查研究,抽象出應(yīng)用領(lǐng)域中實際的信息需求,設(shè)計出在計算機(jī)系統(tǒng)內(nèi)外的、合理的信息流程,并規(guī)定軟件的功能與性能要求,最后形成嚴(yán)格的、明確的、可供實際開發(fā)使用的“軟件功能說明書”。軟件功能說明書總體設(shè)計根據(jù)軟件功能說明書的要求,完成軟件的總體設(shè)計,包括整個軟件的結(jié)構(gòu)設(shè)計、公用數(shù)據(jù)庫文件或數(shù)據(jù)庫的設(shè)計、各部分的連接方式及信息交換的標(biāo)準(zhǔn)等。系統(tǒng)的總體設(shè)計文件(結(jié)構(gòu)圖、模塊清單、公用數(shù)據(jù)結(jié)構(gòu))和各個模塊的設(shè)計任務(wù)書實現(xiàn)階段兩個并行的工作:程序的編寫與文檔的編寫程序代碼、文檔(使用說明、用戶手冊)測試階段完成模塊的調(diào)試與整個軟件的聯(lián)調(diào)測試報告10、什么是功能?軟件開發(fā)工具應(yīng)具有什么樣的功能?功能是軟件能做什么事。軟件開發(fā)工具的主要功能:(1)認(rèn)識與描述客觀系統(tǒng)(2)存儲與管理開發(fā)過程中的信息(3)代碼的編寫與生成(4)文檔的編制或生成(5)軟件項目的管理11、什么是性能?軟件開發(fā)工具重要的性能指標(biāo)有哪些?性能是軟件能把事情能做到什么程度。性能指標(biāo)主要有:(1)表達(dá)能力或描述能力(2)保持信息一致性的能力(3)使用的方便程度(4)工具的可靠程度(5)對軟、硬件環(huán)境的要求12、試述軟件開發(fā)工具的類別。1)按支持的工作階段把軟件開發(fā)工具劃分成三類:(1)設(shè)計工具:在實現(xiàn)階段對人們提供幫助,是最直接幫助人們編程、調(diào)試軟件與編寫文檔的工具。如各種代碼生成器,第四代語言和測試的工具等。(2)分析工具:主要用于需求分析的工具,幫助人們認(rèn)識與表述信息需求和信息流程,從邏輯上明確軟件功能與要求。如數(shù)據(jù)字典管理系統(tǒng),繪制數(shù)據(jù)流圖、系統(tǒng)結(jié)構(gòu)圖或ER圖的專用工具。(3)計劃工具:從宏觀角度看待軟件開發(fā),保存與管理的信息都是與整個項目相關(guān)的宏觀信息,完全是為項目主管人員服務(wù)的。2)按集成程度劃分成兩類:(1)專用的工具:面對某一工作階段或某一工作任務(wù)的軟件開發(fā)工具。(2)集成化的工具:是集成化的、面對軟件開發(fā)全過程的軟件開發(fā)工具。3)按與硬件、軟件的關(guān)系劃分成兩類:(1)依賴于特定機(jī)器或軟件的工具,如多數(shù)設(shè)計工具和集成化的工具。(2)獨(dú)立于硬件與軟件的工具,如分析工具和計劃工具。13、對軟件開發(fā)工具的研究來源于哪些方面?對軟件開發(fā)工具的研究主要來源于三方面:(1)軟件開發(fā)工具的使用者。他們是軟件開發(fā)工具得以發(fā)展的基礎(chǔ)。這些人員大致有兩種:一種是計算機(jī)專業(yè)出身的技術(shù)人員;一種是應(yīng)用領(lǐng)域的人員,如會計、金融、企業(yè)管理等。(2)一些廠家和研究單位。既包括一些計算機(jī)硬件的制造商,也包括一些軟件公司,如DEC、HP、ORACLE等,由此形成了軟件開發(fā)工具的研制隊伍。(3)軟件技術(shù)專家(如ACM、IEEE)和系統(tǒng)工程專家。14、學(xué)習(xí)軟件開發(fā)工具的目的是什么?作為一般的使用者,學(xué)習(xí)軟件開發(fā)工具的目的在于了解軟件開發(fā)工具的概念、理論基礎(chǔ)、基本功能、發(fā)展現(xiàn)狀與前景,以便在實際工作中正確地選擇與使用軟件開發(fā)工具,在必要時能參加或組織軟件開發(fā)工具的自行研制,從而達(dá)到提高軟件工作水平與效率的目標(biāo)。軟件開發(fā)工具總結(jié):軟件開發(fā)工具非軟件開發(fā)工具專用的軟件開發(fā)工具設(shè)計工具各種代碼生成程序(代碼生成器);
綜合性的第四代語言;
專用于某種文檔的編寫工具;
測試工具通用軟件字處理軟件(wordstar)分析工具數(shù)據(jù)字典管理系統(tǒng)(CDD、Dictionary/3000);專用于畫數(shù)據(jù)流程圖(FLOW)、ER圖或程序框圖的繪圖軟件計算機(jī)硬件;操作系統(tǒng)、匯編程序、編譯系統(tǒng);磁盤處理程序、病毒防治程序、系統(tǒng)備份;pctools;第三代高級程序設(shè)計語(C,COBOL,FORTRAN)集成的軟件開發(fā)工具IBM的AD/Cycle理論框架;
Rational公司的Objectory、Rose;北大青鳥系列第二章1、軟件開發(fā)中的基本問題及解決辦法是什么?(單個程序員做好軟件工作的關(guān)鍵是什么?)對單個程序員來說,做好軟件的關(guān)鍵是做好兩個轉(zhuǎn)換:第一個轉(zhuǎn)換:從用戶對軟件功能的理解到程序員對軟件功能的理解之間的轉(zhuǎn)換。第二個轉(zhuǎn)換:從程序員的理解到程序的實現(xiàn)。保證第一個轉(zhuǎn)換順利完成的手段:利用盡可能標(biāo)準(zhǔn)化的方法編寫程序設(shè)計任務(wù)書,用明確的語言或圖形、表格,把程序要處理的信息的內(nèi)容、格式、來源、去向、存儲、處理清楚地表達(dá)出來,作為雙方共同理解。保證第二個轉(zhuǎn)換順利完成的手段:提高程序員的知識水平和實際經(jīng)驗。2、大型軟件開發(fā)中的困難體現(xiàn)在哪些方面?困難產(chǎn)生的原因是什么?大型軟件開發(fā)中的困難主要有:(1)一致性的保持成為十分困難的問題(2)測試的困難大大增加(3)工作進(jìn)度難以控制(4)文檔與代碼的協(xié)調(diào)十分困難(5)版本更新帶來的困難困難產(chǎn)生的原因:(1)大系統(tǒng)的復(fù)雜性;(2)個人之間的組織與協(xié)調(diào);(3)各應(yīng)用領(lǐng)域間的差別;(4)時間、變化的因素。3、幾十年來,為了提高軟件開發(fā)的水平和效率人們提出了哪些軟件開發(fā)方法?面對軟件開發(fā)中的種種困難和問題,軟件工作者千方百計從各種不同角度,用各種不同方法試圖使軟件開發(fā)工作的水平和效率有大幅提高。僅從軟件開發(fā)方法而言,先后提出了:結(jié)構(gòu)化程序設(shè)計方法軟件工程方法面向?qū)ο蟮某绦蛟O(shè)計方法即插即用的程序設(shè)計方法面向開源軟件的程序設(shè)計方法4、大型軟件開發(fā)過程中涉及幾種角色,他們承擔(dān)的工作有哪些?大型軟件開發(fā)過程中涉及幾種角色,他們承擔(dān)的工作有:(1)用戶:提出需求、驗收軟件、使用軟件、提出修改要求(2)程序員:編程、寫文檔、調(diào)試自己的程序、向項目負(fù)責(zé)人提交工作成果(3)項目負(fù)責(zé)人:分析用戶需求形成設(shè)計方案、向程序員分配任務(wù)、驗收程序員的工作成果、對整個軟件聯(lián)調(diào)、向用戶交付使用、接收與分析用戶的修改要求、向程序員分配修改任務(wù)、驗收修改成果、向用戶提交新的版本或修改的結(jié)果(4)計算機(jī)硬件:運(yùn)行、試運(yùn)行5、試述結(jié)構(gòu)化程序設(shè)計的基本思想與方法(論述)。結(jié)構(gòu)化程序設(shè)計的基本思想是把程序的結(jié)構(gòu)分解成三種基本模塊:處理單元、循環(huán)機(jī)制、二分決策機(jī)制,并保證模塊的劃分符合“結(jié)構(gòu)良好”的要求:(1)模塊的功能在邏輯上盡可能的單一化、明確(2)模塊間的聯(lián)系及相互影響盡可能的少(3)模塊的規(guī)模應(yīng)當(dāng)足夠小,以便其易于調(diào)試劃分模塊時采用“自頂向下”的方法,即不管軟件多大,都采取自上而下、逐步分解的辦法,分成若干部分,并把他們之間的關(guān)系明確地表達(dá)出來,畫出系統(tǒng)結(jié)構(gòu)圖,直到最底層的模塊達(dá)到所要求的規(guī)模為止。實施結(jié)構(gòu)化程序設(shè)計的思想時,要遵守以下原則:(1)限制甚至不用GOTO語句,絕對禁止超越模塊邊界的GOTO語句。(2)子程序盡可能做到只有一個入口、一個出口;(3)程序風(fēng)格應(yīng)盡量明確、清晰,包括適當(dāng)增加注釋,書寫格式體現(xiàn)層次結(jié)構(gòu),變量名稱的選用盡量具有邏輯意義等;(4)在程序編寫的同時完成有關(guān)的文檔編撰,不要拖延時間。結(jié)構(gòu)化程序設(shè)計的方法主要是為程序員服務(wù)的。它的缺點(diǎn)是增大了程序的工作量,增加了編程中的麻煩與瑣碎的工作,降低了程序的運(yùn)行效率。但它保證了軟件的可靠、準(zhǔn)確與易于修改。6、試述軟件工程的基本思想和方法(論述)。軟件工程的基本思想來源于傳統(tǒng)工程,要想大幅度地從根本上提高軟件開發(fā)的質(zhì)量和效率,就應(yīng)當(dāng)吸取各種傳統(tǒng)產(chǎn)業(yè)的成功經(jīng)驗,從組織和管理的角度加強(qiáng)力量,使軟件生產(chǎn)從程序員的個人勞動提高成為有組織、可控制的工程。軟件工程借鑒傳統(tǒng)工程的思想,從軟件開發(fā)的經(jīng)驗中歸納出相應(yīng)的工作步驟和交流標(biāo)準(zhǔn),大家都來遵守和執(zhí)行,從而保證軟件開發(fā)的進(jìn)度與質(zhì)量。軟件工程的實施方法:首先,對軟件開發(fā)的工作過程進(jìn)行規(guī)范。如IBM的AD/Cycle,對應(yīng)用軟件的開發(fā)過程做了如下劃分和規(guī)定:第一階段,需求分析。了解企業(yè)的結(jié)構(gòu)與功能,掌握組織及管理者的信息需求,弄清信息流通的實際情況。
第二階段,分析與設(shè)計。進(jìn)行功能分解及數(shù)據(jù)分析,完成處理過程及數(shù)據(jù)庫的邏輯設(shè)計。
第三階段,編程階段。完成具體的程序編寫工作。
第四階段,測試階段。對已有代碼進(jìn)行認(rèn)真檢測與試用。
第五階段,使用及維護(hù)。組織使用者有效的使用,并及時檢查與修正發(fā)現(xiàn)的錯誤。在標(biāo)準(zhǔn)化方面主要從兩個方面探索。(1)表達(dá)方式的標(biāo)準(zhǔn)化,如統(tǒng)一規(guī)格的數(shù)據(jù)流程圖、數(shù)據(jù)字典、模塊結(jié)構(gòu)圖等。(2)對工作的質(zhì)量及檢查制定標(biāo)準(zhǔn),在一定的時候作一定的檢查。如著名的ISO9001標(biāo)準(zhǔn)。軟件工程的思想主要集中于加強(qiáng)項目管理者的工作上,對程序員關(guān)系不大,與結(jié)構(gòu)化程序設(shè)計方法剛好互補(bǔ)。目前軟件開發(fā)還主要依賴程序員的個體工作,完全做到工程還是相當(dāng)困難的。7、面向?qū)ο蟪绦蛟O(shè)計的基本思想(論述)。面向?qū)ο蟮某绦蛟O(shè)計是人們試圖解決軟件危機(jī)的又一種嘗試,近年來,隨著面向?qū)ο笳Z言的普及,這種思想得到了廣泛的傳播。面向?qū)ο蟪绦蛟O(shè)計的基本思想可以歸納為四點(diǎn):(1)客觀世界的任何事物都是對象,它們都有一些靜態(tài)屬性(相應(yīng)于數(shù)據(jù)結(jié)構(gòu))和相關(guān)的操作(相應(yīng)于程序模塊)。作為一個整體,這些對象不必對外公開這些屬性與操作。這就是“封裝性”。(2)對象之間有抽象與具體、群體與個體、整體與部分等幾種關(guān)系。這些關(guān)系構(gòu)成對象概念之間的網(wǎng)絡(luò)結(jié)構(gòu)。(3)抽象的、較大的對象所具有的性質(zhì),包括靜態(tài)屬性和動態(tài)操作,自然地成為它的子類的性質(zhì),不必加以重復(fù)說明或規(guī)定。這就是“遺傳性”。(4)對象之間可以互送消息,這一消息可以是傳送一個參數(shù),也可以是使這個對象開始某個操作。面向?qū)ο蟪绦蛟O(shè)計語言反映了程序設(shè)計的思想方法越來越接近人們思維的方式,它摒棄了持續(xù)許久的“自頂向下”和“自底向上”的爭論,把對于復(fù)雜系統(tǒng)的認(rèn)識歸結(jié)為對一批對象及其關(guān)系的認(rèn)識,通過合理地選擇認(rèn)識的層次,使系統(tǒng)的復(fù)雜性保持在可控制的范圍內(nèi)。8、即插即用程序設(shè)計的基本思想?即插即用程序設(shè)計是在面向?qū)ο蟪绦蛟O(shè)計方法的基礎(chǔ)上提出來的。它的基本思想是用制造硬件的思路來生產(chǎn)軟件。在硬件的制造中,芯片的制造與整機(jī)是分開進(jìn)行的。制造芯片的廠家只管制造芯片,而制造整機(jī)的廠家則利用這些芯片組成完整的計算機(jī)。人們想用同樣的思路來處理大型軟件的開發(fā),一部分人專門生產(chǎn)軟件組件,一部分人設(shè)計整個軟件結(jié)構(gòu),并且把軟件組件插入這個結(jié)構(gòu),以便迅速完成大型軟件的研制工作。然而這種思想的真正實現(xiàn)并不那么簡單。首先,標(biāo)準(zhǔn)化的問題十分困難。其次,軟件部件的提供方式也是問題。依照這種思路,一些軟件公司或機(jī)構(gòu)已經(jīng)在標(biāo)準(zhǔn)化方面提出了方案,如著名的CORBA和COM101。9、面向開源軟件的程序設(shè)計的基本思想?隨著開源軟件的出現(xiàn)和發(fā)展,利用開源軟件進(jìn)行程序設(shè)計,已經(jīng)成為越來越普遍的方法。目前社會上和學(xué)術(shù)界對開源軟件有不同看法,有支持者有反對者。在實際使用中,在一些應(yīng)用面廣,流程比較清晰、比較規(guī)范的應(yīng)用領(lǐng)域,開源代碼的重用是比較有把握的,如:網(wǎng)站的設(shè)計。但由于應(yīng)用領(lǐng)域的復(fù)雜性和多樣性,在使用開源軟件前還需要仔細(xì)權(quán)衡。這里起決定作用的是兩方面因素,一方面是對應(yīng)用領(lǐng)域的充分了解,這是判斷能否用開源軟件的主要依據(jù);另一方面是開源軟件的質(zhì)量,包括文檔和代碼的規(guī)范程度。10、什么樣的軟件才是好的軟件?(1)正確地實現(xiàn)所要求的功能,準(zhǔn)確地給出預(yù)定的輸出結(jié)果;(2)用戶界面友好,符合實際用戶的使用習(xí)慣和知識水平;(3)具有足夠的速度(不是越快越好),能在符合用戶要求的時間限度內(nèi),給出所要求的結(jié)果;(4)具有足夠的可靠性,能夠在各種干擾下保持正常工作;(5)程序易讀,結(jié)構(gòu)良好,文檔齊全,從而保證系統(tǒng)易于修改。11、評價單個程序員的主要性能指標(biāo)是什么?就單個程序員來說,主要的指標(biāo)有:(1)具有程序設(shè)計所需要的基本知識與技能,如關(guān)于數(shù)理邏輯的知識與訓(xùn)練,關(guān)于各類數(shù)據(jù)結(jié)構(gòu)的概念及處理方法等;(2)對本項目所在的那個領(lǐng)域有較深入的了解,從而能夠準(zhǔn)確的理解用戶的信息需求,正確地把握有關(guān)的信息流程與信息處理原則;(3)對于軟件開發(fā)的技術(shù)環(huán)境比較熟悉,包括硬件設(shè)備、軟件環(huán)境和網(wǎng)絡(luò)環(huán)境,特別是對于所用的語言,應(yīng)當(dāng)有足夠的、實際運(yùn)用的經(jīng)驗。12、作為項目組的一員,要遵守哪些要求?作為項目組的一員,除了完成自己承擔(dān)的任務(wù)之外,重要的是使自己的工作融入整個系統(tǒng),與其他部分協(xié)調(diào)一致的工作,以下幾點(diǎn)必須嚴(yán)格遵守:(1)保證嚴(yán)格在本模塊內(nèi)操作,絕不要使用可能干擾其它模塊的命令或函數(shù)。(2)嚴(yán)格按總體設(shè)計的要求和理解去傳遞參數(shù)值,絕不要隨意修改其內(nèi)容或含義。(3)在對公用的文件或數(shù)據(jù)庫進(jìn)行存取時,必須完全地、準(zhǔn)確地按統(tǒng)一規(guī)定的格式去操作,絕不能擅自改變。(4)在使用標(biāo)識符時,應(yīng)按照統(tǒng)一的原則盡量使用易于看出邏輯含義的名稱。特別是涉及公用數(shù)據(jù)及參數(shù)的時候。(5)嚴(yán)格按照統(tǒng)一的要求編寫文檔,在內(nèi)容、格式、表達(dá)方式、符號使用上遵循項目組的統(tǒng)一規(guī)定。(6)盡量保持程序風(fēng)格的一致。如注釋行的安排,行首空格的使用等。13、一個好的項目組應(yīng)具備哪些條件?好的項目組是在長期工作中逐漸形成的,根據(jù)衡量項目組的CMM模型,一個好的項目組至少應(yīng)當(dāng)具備以下幾個條件:(1)有嚴(yán)格的、成文的工作規(guī)范和文檔標(biāo)準(zhǔn),而且應(yīng)當(dāng)為全體成員所熟知,并切實得到遵守。(2)人員之間有嚴(yán)格的分工,除了程序員之外,必須有專門的秘書(負(fù)責(zé)文檔的收集、審核及保管),必須有專門的測試人員(負(fù)責(zé)測試和驗收有關(guān)的部分),特別是要有專職的、不陷入具體編程的項目負(fù)責(zé)人。(3)每個項目都要事先制定詳細(xì)的時間表,并且得到嚴(yán)格執(zhí)行每一項目完成之后都有完整的資料,并得到妥善保存,一但需要修改或更新版本時可以立即使用。第三章1、簡述在軟件開發(fā)過程中,信息流通的主要內(nèi)容。軟件開發(fā)過程的信息流通狀況圖描述了各種信息在各種人員與計算機(jī)之間的流通狀況。其中涉及到四類人:用戶、分析人員、程序員和維護(hù)人員。涉及四類信息:第一類,有關(guān)環(huán)境、現(xiàn)狀及需求的信息。第二類,有關(guān)軟件的功能設(shè)計與物理設(shè)計的各種信息。第三類,軟件成果本身,包括程序和文檔。第四類,用戶對系統(tǒng)的各種變更要求,以及系統(tǒng)的各種變更記錄。是跨越開發(fā)周期的。2、軟件開發(fā)過程中涉及的信息管理工作有哪些?軟件開發(fā)過程中涉及的信息管理工作包括:(1)信息的存儲(2)數(shù)據(jù)的轉(zhuǎn)換與加工:①手工形式和計算機(jī)形式之間的相互轉(zhuǎn)換;②計算機(jī)內(nèi)部不同形式數(shù)據(jù)的轉(zhuǎn)換。(3)人與人之間的信息交流:分析人員、程序員、用戶和維護(hù)人員軟件開發(fā)工具正是為軟件開發(fā)過程中涉及的四類信息的合理存儲、正確轉(zhuǎn)化和順暢流通提供幫助的。3、軟件開發(fā)工具涉及到的理論和方法主要有哪些?第一,認(rèn)知科學(xué)中關(guān)于概念模式的概念與方法。第二,數(shù)據(jù)庫技術(shù)的理論與方法。第三,編譯技術(shù)的有關(guān)方法。第四,關(guān)于人機(jī)界面的理論與方法。第五,管理科學(xué)中關(guān)于項目管理與版本管理的理論與方法。第六,系統(tǒng)科學(xué)與系統(tǒng)工程中的有關(guān)理論與方法。4、概念模式的作用和意義。概念模式是指人們在認(rèn)識事物過程中,對某一事物或某一系統(tǒng)形成的抽象的、一般化的概念框架。概念模式具有二重性意義,它既反映了客觀現(xiàn)實,同時又具有主觀性。概念模式是在客觀事物或系統(tǒng)的基礎(chǔ)上形成的,在某種程度上反映了客觀現(xiàn)實。但它又不等同于客觀事物本身,因為它常常是抽象出的某一事物的部分屬性,所以往往只反映事物的某一方面。至于選取那些屬性或哪些方面,還決定于觀察者本身的目的與狀態(tài)。概念模式的作用:(1)概念模式是人們認(rèn)識客觀世界的一種方法和工具。(2)概念模式是人們進(jìn)行交流與表達(dá)的重要工具。5、舉出三種常用的概念模式,說明他們的作用與使用方法。(參考名詞解釋)6、什么是信息庫?它與數(shù)據(jù)庫、數(shù)據(jù)倉庫有什么區(qū)別?信息庫是針對軟件開發(fā)或信息系統(tǒng)開發(fā)中的大量信息管理工作提出來的,它存放軟件開發(fā)全過程中所有有用信息。數(shù)據(jù)庫是指在文件系統(tǒng)基礎(chǔ)上發(fā)展起來的一種數(shù)據(jù)管理技術(shù),它的重點(diǎn)在于合理地組織數(shù)據(jù),體現(xiàn)出數(shù)據(jù)之間的邏輯關(guān)系,并盡可能地幫助用戶檢索,減少冗余。數(shù)據(jù)倉庫是針對大批數(shù)據(jù)的分析利用而提出的概念。基本思想是對現(xiàn)實中的大量原始數(shù)據(jù)進(jìn)行多次加工與提煉,得出許多派生的或綜合的數(shù)據(jù),保證原始數(shù)據(jù)和派生數(shù)據(jù)的一致性,就是數(shù)據(jù)倉庫的任務(wù)。信息庫是一個包羅萬象的,隨著項目進(jìn)展而不斷修改與補(bǔ)充的數(shù)據(jù)集合。它在規(guī)模上不一定像數(shù)據(jù)倉庫那么大,分析提煉的要求也與數(shù)據(jù)倉庫不同,然而作為軟件開發(fā)全過程的信息管理總樞紐,它的特點(diǎn)是數(shù)據(jù)結(jié)構(gòu)相當(dāng)復(fù)雜,而且會不斷變化,保持一致性的任務(wù)十分艱巨。7、信息庫中應(yīng)該包括哪些內(nèi)容?(1)軟件的工作環(huán)境、功能需求、性能要求,有關(guān)的各種信息來源的狀況、用戶狀況、硬件環(huán)境以及在該領(lǐng)域中的作用等外部信息。(2)需求分析階段中收集的有關(guān)用戶的各種信息。(3)邏輯設(shè)計階段的各種調(diào)查材料和由此生成的各種文檔——調(diào)查記錄、原始數(shù)據(jù)、報表及單證的樣本、繪制的各種圖、系統(tǒng)說明書。(4)設(shè)計階段的各種資料——數(shù)據(jù)庫與數(shù)據(jù)文件格式、數(shù)據(jù)字典、程序模塊的要求、總體結(jié)構(gòu)、各種接口及參數(shù)的傳遞方式、設(shè)計方案。(5)編程階段的所有成果——程序代碼、框圖、變量說明、測試情況、驗收報告、使用說明。(6)運(yùn)行及使用情況的詳細(xì)記錄。(7)維護(hù)及修改的情況。(8)項目管理的有關(guān)信息,版本信息。8、信息庫應(yīng)具備哪些管理功能?1)一般數(shù)據(jù)庫的基本功能:增、刪、改操作2)特殊功能:(1)把計算機(jī)內(nèi)外的信息存儲統(tǒng)一起來管理——規(guī)定復(fù)雜的內(nèi)部結(jié)構(gòu)以存放信息。(2)面對分析人員、程序員和維護(hù)人員等不同的對象,他們有各自的權(quán)限和使用目標(biāo)——需要認(rèn)真設(shè)計有關(guān)的界面以便使用。9、信息庫應(yīng)該如何保持一致性?(1)信息庫中的內(nèi)容一般不刪除,老信息加上時間標(biāo)志移入歷史信息中,并與新信息保持著歷史的、邏輯的聯(lián)系,在需要時可以隨時調(diào)出來。(2)由多個程序模塊組成的大型軟件系統(tǒng)中,如何保證某個模塊更新后與其它模塊一起構(gòu)成一個新的版本。(3)保證程序和使用手冊之間的一致性。(4)對國際性的大軟件公司來說,各種語言的資料之間的一致性同樣需要認(rèn)真地、細(xì)致的組織與安排。10、用戶界面設(shè)計的基本原則是什么?(1)用戶界面的主要功能是通信。(2)界面必須始終一致。(3)界面必須使用戶隨時掌握任務(wù)的進(jìn)展情況。(4)界面必須能提供幫助。(5)寧可讓程序多干,不可讓用戶多干。11、IBM的AD/Cycle框架中,應(yīng)用系統(tǒng)框架SAA(系統(tǒng)應(yīng)用體系結(jié)構(gòu))由哪幾部分構(gòu)成?具體內(nèi)容是什么?構(gòu)成硬件平臺用戶接口CUA程序員接口CPI通信接口CCS內(nèi)容鍵盤操作、屏幕滾動、菜單選擇、幫助系統(tǒng)、鼠標(biāo)操作、色彩應(yīng)用、數(shù)據(jù)錄入、信息顯示語言:過程化語言、非過程化語言、生成器服務(wù):數(shù)據(jù)庫查詢、對話顯示、通信服務(wù)面向?qū)ο蟮慕Y(jié)構(gòu)、數(shù)據(jù)流、應(yīng)用服務(wù)、作業(yè)管理、網(wǎng)絡(luò)管理、數(shù)據(jù)安全控制12、人機(jī)界面的技術(shù)手段有哪些?(包含在11題中)13、與一般日常生產(chǎn)管理相比,項目管理的突出特點(diǎn)是什么?(1)子任務(wù)多,關(guān)系復(fù)雜。(2)任務(wù)不可重復(fù),形勢不斷變更。(3)組織協(xié)調(diào)的任務(wù)十分突出,資源浪費(fèi)閑置的風(fēng)險與合理地優(yōu)化組合、提高效益的機(jī)會并存。(4)信息處理工作的作用與意義更為突出。14、項目管理的基本目標(biāo)是什么?(1)使產(chǎn)品(或工程)的質(zhì)量得到有效的控制。(2)保證整個系統(tǒng)按預(yù)定的進(jìn)度完成。(3)有效的利用各種資源,盡可能使資源的閑置與浪費(fèi)減少。(4)控制與降低成本。15、版本管理的核心是什么?具體方法有哪些?版本管理的核心是保持兩個一致性:從時間上說,要保證系統(tǒng)的逐步完善,以前達(dá)到的結(jié)果不丟失,需要時可以回溯,必要時可以重用;每一步新的進(jìn)步都要切實與以前的工作一致,是改進(jìn)而不是破壞或者降低系統(tǒng)的已有功能。從系統(tǒng)各部分之間的關(guān)系上說,要求局部與整體保持一致,合理地判斷每一次修改的必要性及影響范圍,合理地組成每一個新版本,并通過命名、編號等方法,使新的版本成為系統(tǒng)進(jìn)步的漫長過程中的一個臺階,一個有目的、有方向的穩(wěn)定的進(jìn)步。版本管理的具體方法:規(guī)定長遠(yuǎn)的版本更新計劃;制定版本有關(guān)的信息范圍及收集、管理方法;在項目組內(nèi)明確分工;在編程、測試、文檔編寫等工作中貫穿項目管理的思想及要求。第四章1、完整的、一體化的軟件開發(fā)工具應(yīng)具備哪些基本功能?(1)提供描述軟件狀況及其開發(fā)過程的概念模式,協(xié)助軟件開發(fā)人員認(rèn)識軟件工作的環(huán)境與要求、合理地組織與管理軟件開發(fā)的過程。(2)提供存儲和管理有關(guān)信息的機(jī)制與手段。(3)幫助使用者編制、生成及修改各種文檔。(4)幫助使用者編寫程序代碼,即代碼生成。(5)對于歷史信息進(jìn)行跨生命周期的管理,把項目運(yùn)行與版本更新的有關(guān)信息科學(xué)地管理起來。2、一體化的軟件開發(fā)工具包括那幾個主要部分?(1)總控和人機(jī)界面——中心位置,使用者和工具間的橋梁,工具實用性和靈活性的保證。(2)信息庫和信息庫管理模塊——工具功能與作用的最基本依據(jù)。(3)文檔生成和代碼生成——兩個重要輸出(4)項目管理和版本管理——跨周期信息共享、知識重用、軟件重用的關(guān)鍵問題。3、為什么說總控和人機(jī)界面是系統(tǒng)開放性和靈活性的關(guān)鍵?總控和人機(jī)界面是使用者和軟件開發(fā)工具之間交流信息、實現(xiàn)所有的支持功能的橋梁。這一部分的有效實現(xiàn)對于軟件開發(fā)工具來說,是實用性和靈活性的主要保證。一方面,人機(jī)界面面對不同類型的用戶,這些用戶既有區(qū)別,又有共性,人機(jī)界面既要保持統(tǒng)一和一致,又要能夠在正確區(qū)分和識別用戶的基礎(chǔ)上,針對不同用戶的要求與習(xí)慣提供有效的幫助。另一方面,總控部分面對系統(tǒng)內(nèi)部的各種功能與各種信息,它要保證各部分之間相互的協(xié)調(diào)一致,保證各部分之間信息有效地、準(zhǔn)確地流通。4、為什么說總控和人機(jī)界面處于軟件開發(fā)工具的中心位置?(1)作為一個完整的、一體化的軟件開發(fā)工具,總控和人機(jī)界面提供了各個工作環(huán)節(jié)之間的協(xié)調(diào)與配合,并在用戶面前保持統(tǒng)一的形象。(2)實際工作中,常采用來自不同廠家的單項工具,由使用者自己承擔(dān)集成的任務(wù)。這種情況下,最關(guān)鍵的問題是把前半段工作的輸出準(zhǔn)確無誤地轉(zhuǎn)化為后半段工作要求的輸入。解決這個問題的實質(zhì)就是設(shè)立一個有效的總控部分,能夠在各個具體工具之上實現(xiàn)信息的正確傳遞與轉(zhuǎn)換,從而形成一個統(tǒng)一的、完整的支撐環(huán)境,并通過一個統(tǒng)一的、友好的人機(jī)界面與用戶對話。因此無論是建立一體化的軟件開發(fā)工具,還是把單項功能的工具集成起來,總控部分和人機(jī)界面都處于中心位置。5、總控和人機(jī)界面設(shè)計的原則是什么?(1)面向使用者(用戶)的原則(2)保證各部分之間信息的準(zhǔn)確傳遞(3)保證系統(tǒng)的開放性或靈活性——理想的系統(tǒng)結(jié)構(gòu)應(yīng)當(dāng)是模塊式的,易于剪裁的。6、IBM的AD/Cycle將軟件開發(fā)過程分為幾個階段?每個階段的任務(wù)是什么?IBM的AD/Cycle將軟件開發(fā)過程的每個周期分為五個階段:①需求分析,建立邏輯模型(企業(yè)模型,數(shù)據(jù)模型,信息流通模型)。②分析設(shè)計,完成系統(tǒng)的總體設(shè)計。③編碼,具體編寫軟件的階段。④測試,對已經(jīng)完成的各個模塊或子系統(tǒng)進(jìn)行試算、調(diào)整,以最終形成完整的軟件。⑤運(yùn)行維護(hù),組織和管理軟件的日常運(yùn)行,收集運(yùn)行中的狀態(tài)信息及出現(xiàn)的問題并及時進(jìn)行局部修改與完善。7、信息庫技術(shù)主要涉及哪些問題?信息庫的技術(shù)主要涉及四個問題:信息庫的內(nèi)容、信息庫的組織方式、信息庫的管理功能、歷史信息的處理方法。8、信息庫中應(yīng)包含哪些內(nèi)容?(1)關(guān)于軟件應(yīng)用的領(lǐng)域與環(huán)境的狀況。(2)設(shè)計成果,包括邏輯設(shè)計與物理設(shè)計的成果。(3)運(yùn)行狀況的記錄。(4)有關(guān)項目管理與版本管理的信息。9、信息庫的組織方式有幾種?各自的優(yōu)缺點(diǎn)是什么?組織方式特點(diǎn)集中存儲優(yōu)點(diǎn):充分利用已有的數(shù)據(jù)庫技術(shù),較容易保持一致性。缺點(diǎn):與模塊化的要求相沖突。分散存儲優(yōu)點(diǎn):易于變更和剪裁,一旦某一部分發(fā)生變更,不致影響整個系統(tǒng)。缺點(diǎn):每個模塊都要自己進(jìn)行一整套刪改操作,各部分間的一致性無從保證。邏輯上統(tǒng)一、物理上分散(信息庫管理模塊)通過信息庫管理模塊對分散的各數(shù)據(jù)庫進(jìn)行存取,并進(jìn)行一致性檢查與維護(hù),使數(shù)據(jù)庫與模塊都實現(xiàn)了模塊化,保持了一致性和靈活性。10、信息庫管理模塊的作用是什么?它應(yīng)該具備哪些功能?1)與一般數(shù)據(jù)庫管理系統(tǒng)相同的功能:錄入更新、使用查詢、一致性維護(hù)。2)與一般數(shù)據(jù)庫不同的管理功能:(1)信息之間邏輯聯(lián)系的識別與記錄。(2)如何實現(xiàn)定量信息與文字信息的協(xié)調(diào)一致。11、信息庫中對歷史信息的處理有哪些困難?解決辦法是什么?信息庫管理中歷史信息的處理是一個重點(diǎn)和難點(diǎn),主要存在兩個困難:(1)歷史信息的數(shù)據(jù)太大,占用存儲設(shè)備過多;(2)歷史信息格式不一致,難以有效利用。第一個問題的解決一般采用脫機(jī)備份的方法。第二個問題至今尚無令人滿意的解決辦法,加強(qiáng)標(biāo)準(zhǔn)化,穩(wěn)定數(shù)據(jù)結(jié)構(gòu)不能完全解決這個問題。需要用一些智能化方法,使得跨生命周期的信息得以相互轉(zhuǎn)化、實現(xiàn)共享與重用。12、代碼生成的輸出形式有幾種?各有什么特點(diǎn)?代碼生成的輸出主要有兩種形式:(1)某種高級程序設(shè)計語言的代碼優(yōu)點(diǎn):使用者可以利用自動生成的模塊為原型,在此基礎(chǔ)上修改加工,形成自己所要求的系統(tǒng)或系統(tǒng)的某一部分。缺點(diǎn):功能較死,效率不高,需要修改(2)某種機(jī)器環(huán)境下可運(yùn)行的機(jī)器指令優(yōu)點(diǎn):可以直接運(yùn)行,如果不合要求可以立即調(diào)整命令或參數(shù)重新生成一遍。缺點(diǎn):這種代碼一般無法直接修改,對硬件環(huán)境的依賴性大,用的不多。13、代碼生成器依據(jù)哪些資料工作?代碼生成器依據(jù)三方面的資料:(1)信息庫里已有的有關(guān)資料(2)各種標(biāo)準(zhǔn)模塊的框架和構(gòu)件(3)使用者通過屏幕臨時送入的信息14、簡述項目管理中應(yīng)考慮的問題(項目管理的任務(wù)包括哪些方面?)(1)研究與確定開發(fā)工作的方針與方法。如采用什么樣的階段劃分方法,什么樣的系統(tǒng)描述方法等。(2)開發(fā)任務(wù)的劃分與分工。整個開發(fā)任務(wù)如何逐層分解為具體任務(wù),任務(wù)之間的相互關(guān)系(順序、制約等),委托給什么人來做。(3)資源情況。有多少人力、物力、設(shè)備、軟件、資金,是否得到充分利用,是否需要增加投入。(4)人員情況。個人進(jìn)度、技術(shù)水平如何,是否需要重新培訓(xùn),是否需要調(diào)動工作。(5)變更情況。需求、環(huán)境、人員、設(shè)備、技術(shù)的變更。(6)質(zhì)量情況。檢驗得標(biāo)準(zhǔn)是什么,如何檢驗,由誰來檢驗,用什么數(shù)據(jù)檢驗。15、版本管理的主要內(nèi)容?版本管理的主要內(nèi)容包括:各版本的編號,功能改變,模塊組成,文檔情況,推出時間,用戶數(shù)量,用戶反映,封存情況等。第五章1、怎樣權(quán)衡購置還是自行開發(fā)軟件開發(fā)工具?必須考慮的因素有哪些?購買市場上已有的軟件開發(fā)工具的優(yōu)勢是能夠幫助人們在某些環(huán)節(jié)上完成簡單的、重復(fù)性的工作;在項目規(guī)模比較大的時,可以使工作的組織管理比較規(guī)范、信息的管理與檢索比較方便,部分做到信息與知識的重用和共享。劣勢是價格比較昂貴;真正經(jīng)過考驗的、一體化的工具不多,其作用與可靠程度不盡如人意。自己開發(fā)軟件工具的優(yōu)勢是目標(biāo)明確,符合需要,便于進(jìn)一步擴(kuò)充和升級,不存在引進(jìn)外面產(chǎn)品時的沖突與不一致。如果做的順利還可以做成軟件產(chǎn)品出售。劣勢是單項的、專用的工具比較好開發(fā);商品化、集成化的工具開發(fā)困難,需要大量人力物力,非一般單位所能承受。購置與開發(fā)的權(quán)衡,必須考慮以下四個因素:(1)準(zhǔn)備開發(fā)的軟件的性質(zhì)與要求權(quán)衡購置還是自行開發(fā)的最基本因素(2)開發(fā)人員對支持工作與支持程度的實際需要(3)工作環(huán)境(硬件配置、操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、網(wǎng)絡(luò)通信等)(4)人員的因素2、在選擇軟件開發(fā)工具之前要明確哪些問題?在選擇軟件開發(fā)工具之前,首先要清楚此次引入工具要達(dá)到怎樣的目標(biāo),下面幾點(diǎn)必須明確:(1)為哪個軟件開發(fā)項目而使用工具,為了一個項目還是為了一批項目而購置軟件開發(fā)工具,為哪一種類型的項目而購置這些工具?(2)在哪個工作階段使用工具,是單在代碼生成或文檔生成中使用工具,還是準(zhǔn)備長期開發(fā)、不斷更新版本?(3)工具將供哪些人使用,這些人以前用過工具沒有,他們熟悉的語言、開發(fā)環(huán)境、表達(dá)圖示、交流方式是什么?這些人對于使用工具的態(tài)度、期望、可塑性如何?(4)工具將在怎樣的軟件、硬件環(huán)境下運(yùn)行,機(jī)器的速度、內(nèi)存、外圍設(shè)備、通信條件如何?3、對軟件開發(fā)工具的市場調(diào)查應(yīng)包括哪些內(nèi)容?(1)工具的功能。(2)工具的性能。(3)工具所使用或依據(jù)的開發(fā)方法或開發(fā)理論與自己的方法、理論是否一致。(4)工具的運(yùn)行環(huán)境。(5)這些工具的文檔資料是否齊全?使用時的學(xué)習(xí)、掌握是否簡單易行?(6)這些工具的服務(wù)、培訓(xùn)條件如何?(7)價格。4、購置軟件開發(fā)工具的步驟應(yīng)當(dāng)如何安排?(1)明確購買工具的目的與要求--正確使用工具的基礎(chǔ)工作。(2)明確購買工具的環(huán)境條件與制約條件。(3)市場調(diào)查。(4)對可供選擇的各種工具進(jìn)行綜合比較。(5)進(jìn)行測試和檢驗。(6)正式簽約購置。包含了技術(shù)洽談和各種服務(wù)條件的確認(rèn)。(7)安裝與試用。5、引入軟件開發(fā)工具后的組織管理工作包括哪些?購置工具后,使用者必須對它的使用過程進(jìn)行認(rèn)真地組織與管理,主要包括四個方面:(1)制定嚴(yán)格的使用制度。(2)記錄使用的詳細(xì)過程。(3)培訓(xùn)使用人員。(4)經(jīng)常進(jìn)行審計與評價工作。6、對軟件開發(fā)工具進(jìn)行審計的范圍是什么?包括哪些問題?審計的范圍包括:工具的使用環(huán)境、人員、工作負(fù)擔(dān)、效果、存在的問題、改進(jìn)的方向等。審計的問題:參加教材P86。7、研制為自己所用軟件開發(fā)工具要注意哪些問題?研制商品化的軟件開發(fā)工具應(yīng)注意哪些問題?二者有什么區(qū)別?1)為自己使用而開發(fā)軟件工具時應(yīng)注意的問題:(1)需要從實際出發(fā),設(shè)定現(xiàn)實的、有限的目標(biāo)。(2)自行開發(fā)工具一定要堅持短小實用、逐步積累,避免期望過高、貪大求全。(3)要注意文檔的齊全與資料的積累。2)開發(fā)商品化的軟件工具時應(yīng)注意的問題:(1)必須十分謹(jǐn)慎地設(shè)定目標(biāo)和要求,使之符合實際。(2)在前人工作的基礎(chǔ)上,把精力集中于進(jìn)一步的開拓方面,而不是低水平的重復(fù)別人已經(jīng)做過的工作。(3)明確工具的適用范圍與使用條件。工具的目標(biāo)越具體、越明確越能發(fā)揮作用。(4)注重服務(wù)與文檔—決定其成敗的首要因素。開發(fā)面向?qū)嶋H應(yīng)用領(lǐng)域的、商品化的軟件工具,其難度要比為自己開發(fā)工具的難度大得多。第六章1、比較國內(nèi)、外軟件開發(fā)工具的發(fā)展?fàn)顩r從軟件開發(fā)工具的研究水平上看,國內(nèi)并不比國外低,主要的差別在于沒有廣泛地使用這些工具??偟膩碚f,我國的軟件產(chǎn)業(yè)還沒有形成一批穩(wěn)定的、高度有組織的軟件開發(fā)群體,因而能夠真正發(fā)揮軟件開發(fā)工具作用的環(huán)境與社會需求還不具備。我國軟件產(chǎn)業(yè)當(dāng)務(wù)之急是大力普及軟件工程及方法學(xué)的知識,提高軟件開發(fā)工作的水平,這才能使軟件開發(fā)工具的應(yīng)用具有實踐的基礎(chǔ)。2、軟件開發(fā)工具發(fā)展的趨勢是什么?(結(jié)合名詞解釋)軟件開發(fā)工具的發(fā)展方向:(1)智能化。如:KnowledgeWare公司開發(fā)的以知識處理為基礎(chǔ)的工具(2)網(wǎng)絡(luò)化。如:專門用于網(wǎng)絡(luò)環(huán)境的HTML、Java(3)一體化。信息庫的內(nèi)容和處理功能的討論,從理論上為實現(xiàn)一體化提供了基礎(chǔ)(4)標(biāo)準(zhǔn)化。圍繞這一思想提出的一些標(biāo)準(zhǔn)如:CORBA、COM1013、在軟件開發(fā)工具發(fā)展軌跡圖上,可以看到軟件開發(fā)工具包含了那些方面的工具,他們的特點(diǎn)是什么?在軟件開發(fā)工具發(fā)展軌跡圖上可以看出,“軟件開發(fā)工具”包含了從非常具體的一些計算機(jī)語言到內(nèi)容豐富、功能齊全的開發(fā)環(huán)境的相當(dāng)廣泛的龐大譜系。譜系的一端是從某些計算機(jī)語言,通過增添各種輔助功能發(fā)展出來的工具,它們更多地針對計算機(jī)語言特性進(jìn)行了支持,以最大限度提高相應(yīng)的計算機(jī)語言開發(fā)效率為依據(jù),可以理解為計算機(jī)語言在開發(fā)方向上的一個延伸,但對軟件開發(fā)過程中涉及的交互、文檔管理、代碼版本管理的支持略顯不足。典型代表如:VB、VC、PB、C++Builder/Delphi、JAVA。譜系的另一端是從較為抽象的概念模式或過程模式出發(fā)設(shè)計的開發(fā)平臺或開發(fā)環(huán)境。對于開發(fā)周期長、交互性高的大型的、復(fù)雜的項目提供了良好的集成開發(fā)環(huán)境。如VisualStudio、Eclipse。4、從計算機(jī)語言發(fā)展而來的工具主要有哪些?從計算機(jī)語言發(fā)展而來的工具的典型代表:VB、VC、PB、C++Builder/Delphi、JAVA。5、比較VisualStudio和Eclipse集成開發(fā)環(huán)境兩款軟件開發(fā)環(huán)境的共同點(diǎn):都具有編譯、運(yùn)行等基本功能,都具備代碼援助、語法高亮、錯誤預(yù)防等擴(kuò)展功能,使得開發(fā)人員可以在代碼編寫的過程中及時排除基本的拼寫、引用錯誤,把精力集中到代碼邏輯和算法優(yōu)化上,提高了開發(fā)的準(zhǔn)確度和代碼產(chǎn)出的速度。VisualStudio的特點(diǎn):與微軟公司其他產(chǎn)品的交互協(xié)同性好,并獲得了更多Windows操作系統(tǒng)級的支持,速度上比Eclipse有較大的優(yōu)勢。如果基于操作系統(tǒng)是Windows,開發(fā)中又需要使用大量的微軟公司的產(chǎn)品,那么可以優(yōu)先考慮VisualStudio。Eclipse的特點(diǎn):是一款免費(fèi)的、面向各平臺開發(fā)者的軟件開發(fā)環(huán)境,在各種操作系統(tǒng)上表現(xiàn)差異非常小。安裝后的核心部分大小只有數(shù)十兆,還可以根據(jù)需求添加免費(fèi)的插件。Eclipse具有“大平臺,小核心,多插件”的特點(diǎn),更富有靈活性,如果開發(fā)成果最終需要被部署在非Windows平臺上而又希望開發(fā)環(huán)境最大程度模擬運(yùn)行環(huán)境,使用Eclipse能夠打消來自操作系統(tǒng)方面的憂慮。實踐篇(7-13章)1、Eclipse的主要用途是什么?Eclipse是一個開放源代碼的、基于Java的可擴(kuò)展集成應(yīng)用程序開發(fā)環(huán)境。其本身只是一個框架和一組服務(wù),通過插件組件構(gòu)建開發(fā)環(huán)境,Eclipse中的每樣?xùn)|西都是插件。Eclipse最初主要用來進(jìn)行Java語言開發(fā),此外還支持如C/C++、C#、PHP、J2EE、Javascript等編程語言的插件,如CDT。Eclipse作為一個框架平臺還包括插件開發(fā)環(huán)境(PDE),這主要是針對希望擴(kuò)展Eclipse的軟件開發(fā)人員,允許他們構(gòu)建與Eclipse環(huán)境無縫集成的工具。Eclipse框架還可以用來作為與軟件開發(fā)無關(guān)的其它應(yīng)用程序類型的基礎(chǔ)。2、試述Eclipse的體系結(jié)構(gòu)。Eclipse的體系結(jié)構(gòu)主要包括四部分:(1)運(yùn)行時內(nèi)核。平臺運(yùn)行庫是內(nèi)核,它在啟動時檢查已安裝了哪些插件,并創(chuàng)建關(guān)于其注冊表信息。為降低啟動時間和資源使用,平臺運(yùn)行庫在實際需要插件時才加載。(2)工作空間。工作空間負(fù)責(zé)管理用戶資源并負(fù)責(zé)通知其他插件關(guān)于資源變更的信息。(3)工作臺。工作臺為Eclipse提供用戶界面。(4)其他插件。包括幫助組件、團(tuán)隊支持組件等。3、Eclipse的歡迎界面中包含了哪些圖標(biāo)?Eclipse的歡迎界面中包含五個圓形圖標(biāo):概況、新特點(diǎn)、實例、向?qū)?、工作臺4、Eclipse工作臺的組成Eclipse的工作臺主要由以下幾個部分組成:菜單欄、工具欄(主工具欄、視圖工具欄)、透視圖(視圖、編輯器)5、Eclipse中主要包含哪幾種視圖?各自的作用是什么?導(dǎo)航器視圖:資源管理器視圖,顯示當(dāng)前Eclipse集成環(huán)境中加載的所有項目和各個項目中的文件列表。大綱視圖:顯示當(dāng)前活動編輯器中所打開文件的綱要,如函數(shù)、變量等??刂婆_視圖:顯示程序的輸出內(nèi)容。錯誤視圖:編寫代碼時顯示程序中的錯誤,提示用戶及時改正。搜索視圖:顯示用戶搜索結(jié)果的詳細(xì)信息。任務(wù)視圖:顯示程序代碼中未完成的任務(wù),在代碼中加一條以TODO開頭的注釋標(biāo)記,就可以在任務(wù)視圖中添加一項任務(wù)。6、Eclipse中常用的編輯器有哪些?作用是什么?c/c++編輯器——打開c/c++文件文本編輯器——打開文本文件任務(wù)編輯器——打開任務(wù)文件二進(jìn)制文件編輯器——打開二進(jìn)制文件Web瀏覽器——打開網(wǎng)頁文件7、Eclipse提供的瀏覽功能包括哪些?各自的作用、打開方式以及快捷方式是什么?功能作用Navigate菜單快捷鍵打開變量聲明(定位變量和變量底色標(biāo)注)從變量的任意引用位置直接定位到變量定義行OpenDeclaration打開變量聲明F3打開類型層次結(jié)構(gòu)快速打開程序中已經(jīng)在使用的特定數(shù)據(jù)類型及其相關(guān)繼承結(jié)構(gòu)OpenTypeHierarchy打開類型層次結(jié)構(gòu)F4打開調(diào)用層次結(jié)構(gòu)瀏覽函數(shù)的定義與調(diào)用層次關(guān)系并快速定位到需要的函數(shù)OpenCallHierarchy打開調(diào)用層次結(jié)構(gòu)Ctrl+Alt+H打開文件包含瀏覽器瀏覽程序中包含的頭文件OpenIncludeBrowser打開文件包含瀏覽器Ctrl+Alt+I打開元素打開命名空間、類、結(jié)構(gòu)、類型定義符、函數(shù)、變量等OpenElement打開元素Ctrl+Shift+T8、Eclipse重構(gòu)功能的本質(zhì)是什么?包含哪些內(nèi)容?各自有什么作用?在一個復(fù)雜的項目系統(tǒng)中,存在繼承、聯(lián)合等復(fù)雜的應(yīng)用和交錯使用的代碼,而編程中調(diào)整代碼以避免沖突也是很頻繁的工作,使用Eclipse重構(gòu)功能,可以在不影響程序行為的情況下進(jìn)行系統(tǒng)范圍內(nèi)的代碼更改。主要包括:(1)重命名變量:重命名功能解決了變量、類、函數(shù)等重命名的所有問題。(2)抽取方法:將程序中多次出現(xiàn)的代碼段抽取出來形成方法,可以減少代碼的長度并增加程序的可讀性和易維護(hù)性,同時使方法的調(diào)用清晰簡單。(3)抽取常量:抽取常量的本質(zhì)是將程序中的數(shù)字、字符等定義為常量,使得對常量的調(diào)用和修改變得簡單。9、簡述Eclipse搜索的類型及使用方式。(1)使用查找/替換方法,這是最基本的查找功能。方法:“Edit”菜單,“查找/替換Find/Replace”選項??旖萱I:Ctrl+F(2)使用Search菜單進(jìn)行搜索在EclipseCDT特有的Search功能中,可以執(zhí)行文件、任務(wù)和C/C++搜索功能,這些搜索是針對代碼結(jié)構(gòu)進(jìn)行的,速度更快,效率更高。包括:C/C++搜索、任務(wù)搜索、文件搜索。搜索結(jié)果在搜索視圖中顯示。10、簡述GDB的功能。GDB可以幫助用戶實現(xiàn)如下幾個功能:1)啟動C/C++程序,可以按照用戶自定義的要求運(yùn)行和暫停程序。2)可讓被調(diào)試的程序在用戶指定的調(diào)試的斷點(diǎn)處停住。3)當(dāng)程序被停住時,用戶可以檢查此時引起程序中斷的原因。4)動態(tài)地改變程序的執(zhí)行環(huán)境。5)單步調(diào)試程序,在每個斷點(diǎn)顯示程序中各個變量的狀態(tài)和值。11、簡述GDB的安裝步驟。下載GDB后(注意:下載bin文件而不是src文件),打開文件壓縮包,進(jìn)入bin文件夾找到gdb.exe文件;然后將gdb.exe文件解壓到MinGW安裝目錄下的bin文件夾中。12、什么是斷點(diǎn)?斷點(diǎn)有哪些可用動作?簡述斷點(diǎn)的分類。斷點(diǎn)可以使程序在運(yùn)行到斷點(diǎn)位置時自動暫停并且顯示程序的當(dāng)前狀態(tài)。Eclipse規(guī)定了四種可用動作:=1\*GB3①聲音動作=2\*GB3②日志動作=3\*GB3③重新啟動程序動作=4\*GB3④外部工具動作斷點(diǎn)有三種類型:(1)行斷點(diǎn)——使程序在運(yùn)行到該斷點(diǎn)位置時自動暫停。(2)方法斷點(diǎn)——對某個方法或函數(shù)設(shè)置方法斷點(diǎn),可以使程序運(yùn)行到該方法的第一行時自動暫停。(3)事件斷點(diǎn)——在程序運(yùn)行過程中發(fā)生特定事件時(如異常觸發(fā)、線程啟動、線程退出等)將程序暫停。13、程序運(yùn)行中常見的事件有哪些?程序運(yùn)行過程中的事件包括:進(jìn)程和線程的開始、暫停和退出,庫文件的讀取,異常事件(拋出異常、捕獲異常等)。14、Eclipse調(diào)試透視圖主要包含哪些內(nèi)容?其中調(diào)試視圖和變量視圖的作用是什么?Eclipse調(diào)試透視圖主要包括:調(diào)試視圖、變量視圖、斷點(diǎn)視圖、編輯器、大綱視圖和控制臺。調(diào)試視圖:顯示當(dāng)前調(diào)試的程序的線程和所處的狀態(tài)變量視圖:顯示整個調(diào)試過程中程序變量值的變化情況,變量視圖是幫助程序員差錯和糾錯的主要手段。15、單步遍歷程序的作用是什么?主要包括哪些方式?各自的作用是什么?單步遍歷程序可以讓用戶逐行地運(yùn)行整個程序。主要包括三種方式:(1)單步跳入(Stepinto按鈕或F5):線程將運(yùn)行所在行的程序,并在下一個可暫停位置后暫停執(zhí)行。(2)單步跳過(Stepover按鈕或F6):線程將跳過該行,并運(yùn)行至下一個可暫停位置后暫停執(zhí)行。(3)單步返回(StepReturn按鈕或F7):僅對函數(shù)調(diào)用時有效,如當(dāng)main函數(shù)調(diào)用其他函數(shù)時,執(zhí)行單步返回操作即可跳出該函數(shù),返回main函數(shù)繼續(xù)執(zhí)行調(diào)試。16、是否鎖定工具欄的區(qū)別在于什么?解鎖狀態(tài)——工具欄區(qū)域被豎直的虛線分成若干部分;用戶可以隨意更改工具欄的狀態(tài)。鎖定狀態(tài)——豎直的虛線消失,變成一個整體;用戶不可以更改工具欄的狀態(tài)。17、簡述為“About”操作設(shè)定快捷鍵<Ctrl+=>的方法。選中About將光標(biāo)定位到Binding綁定輸入框=3\*GB3③同時按下鍵盤上的<Ctrl>和<=>鍵18、格式化代碼的作用是什么?其操作步驟如何?格式化代碼的功能可以幫助用戶將凌亂的程序代碼格式化為用戶習(xí)慣的排列方式。=1\*GB3①設(shè)置代碼格式——新建代碼格式或從外部導(dǎo)入已有的代碼格式=2\*GB3②格式化代碼19、簡述生成歷史記錄的作用。Eclipse不僅支持使用版本管理軟件進(jìn)行版本控制,還自帶有保存歷史記錄的功能,可以支持用戶隨時將程序恢復(fù)到之前某個時間點(diǎn)。但Eclipse只會記錄較短時間的文件版本,如果需要長時間的版本控制則需要借助如CVS等版本控制軟件完成。20、在軟件開發(fā)過程中使用版本控制軟件的好處?(1)隨時將程序恢復(fù)到以前某一時間;(2)實現(xiàn)程序的互斥性修改(某一程序在同一時間只能由一個開發(fā)人員修改);(3)對程序修改進(jìn)行高效的管理;(4)將開發(fā)環(huán)境與測試環(huán)境、運(yùn)行環(huán)境進(jìn)行有效的隔離;(5)評估軟件開發(fā)人員編寫的程序質(zhì)量,控制軟件開發(fā)的進(jìn)度。(6)管理文檔21、簡述利用版本控制軟件對程序進(jìn)行修改的流程。(1)用戶提交需求書,程序員提交程序設(shè)計說明書,項目主管審核通過后,管理員將程序解凍;(2)由程序員提出程序;(3)程序員修改程序;(4)修改完成后程序員提交測試請求給測試小組,測試小組進(jìn)行測試,如果測試不通過,轉(zhuǎn)向第3步;(5)測試通過后程序員填寫本次修改解釋,然后放入程序;(6)管理員將程序凍結(jié)。22、舉出5中常見的版本控制軟件,并簡要說明它們的特點(diǎn)。(1)RationalClearCase——涵蓋的范圍包括版本控制、建立管理、工作空間管理和過程控制;支持絕大多數(shù)操作系統(tǒng);安裝、配置、使用相對較復(fù)雜,需要進(jìn)行團(tuán)隊培訓(xùn)。(2)VisualSourceSafe(VSS)——入門級工具,易學(xué)易用,得到微軟穩(wěn)定的技術(shù)支持;只用于Windows系統(tǒng);安全性不高。(3)CVS——簡單易用、功能強(qiáng)大、跨平臺、支持并發(fā)版本控制,免費(fèi);缺少相應(yīng)的技術(shù)支持。(4)StarTeam——用于管理配置和變更的集成環(huán)境。(5)Firefly——管理、維護(hù)整個企業(yè)的軟件資產(chǎn),包括程序代碼和相關(guān)文檔。23、簡述CVS的特點(diǎn)和優(yōu)勢。CVS并發(fā)版本系統(tǒng),是一個常用的代碼版本控制系統(tǒng)。使用CVS可以對代碼進(jìn)行集中管理,記錄代碼所有的更改歷史,提供協(xié)作開發(fā)的功能并支持多人同時修改代碼文件。CVS簡單易用、功能強(qiáng)大、跨平臺、支持并發(fā)版本控制,而且免費(fèi),它在全球中小型軟件企業(yè)中得到了廣泛使用。其最大的遺憾就是缺少相應(yīng)的技術(shù)支持,許多問題的解決需要使用者尋找資料,甚至是讀源代碼。24、CVS的訪問權(quán)限分為幾種?CVS的訪問權(quán)限分為管理員賬戶和一般用戶賬戶。25、CVS代碼同步工作完成后一般會出現(xiàn)幾種狀態(tài)?分別代表什么含義?如何對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空設(shè)備維修專家面試題及參考答案
- 2025廣西崇左龍州縣金龍鎮(zhèn)中心衛(wèi)生院招聘工作人員6人筆試考試參考題庫及答案解析
- 鄭州大學(xué)煉焦煤資源綠色開發(fā)全國重點(diǎn)實驗室面向高校2025屆畢業(yè)生招聘非事業(yè)編制(勞務(wù)派遣)工作人員1人筆試考試參考試題及答案解析
- 數(shù)據(jù)治理考試題及答案解析
- 期貨業(yè)務(wù)員年度績效考核總結(jié)
- 2025-2026年初一語文(綜合復(fù)習(xí))上學(xué)期期末試題及答案
- 2025湖南長沙市食品藥品檢驗所公開招聘編外合同制人員12人筆試考試參考題庫及答案解析
- 2025年中職歷史學(xué)(中國古代史)試題及答案
- 2025湖北恩施州恩施市福牛物業(yè)有限公司招聘15人筆試考試備考題庫及答案解析
- 承攬合同(定制2025年)
- 中國特色社會主義理論與實踐研究知到課后答案智慧樹章節(jié)測試答案2025年春北京交通大學(xué)
- 25年高考語文滿分作文范文4篇
- 北京市海淀區(qū)2022-2023學(xué)年五年級上學(xué)期語文期末試卷(含答案)
- 醫(yī)學(xué)檢驗技術(shù)專業(yè)《血液學(xué)檢驗》課程標(biāo)準(zhǔn)
- 預(yù)防控制冬蚊
- 經(jīng)典話劇劇本《雷雨》
- 半導(dǎo)體廠耗能指標(biāo)及節(jié)能方案之研究57張課件
- 吊車吊裝專項施工方案
- 奶牛產(chǎn)后癱瘓的綜合防治畢業(yè)設(shè)計論文
- 池州市排水有限公司天堂湖污水處理廠項目環(huán)境影響報告表
- 啟爾暢產(chǎn)品介紹專家講座
評論
0/150
提交評論