




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件開發(fā)工具軟件開發(fā)工具--背誦內(nèi)容#名詞解釋1.軟件配置(集成)答:設(shè)立一個有效的總控部分,它能夠在各個具體工具之上,實現(xiàn)信息的正確傳遞與轉(zhuǎn)換,幫助人們完成上述協(xié)調(diào)與配合的工作,從而形成一個統(tǒng)一的、完整的支撐環(huán)境,并通過一個統(tǒng)一的、友好的人機界面與用戶對話。2?項目管理(ProjectMangement)答:項目管理指與固定的生產(chǎn)線上的日常生產(chǎn)管理不同的,具有更大變動性、時間性的一類管理任3”數(shù)據(jù)字典(DataDictionary)答:數(shù)據(jù)字典是一種描述數(shù)據(jù)內(nèi)容的概念模式。(1)它用表格形式列出數(shù)據(jù)的基本屬性以及相互關(guān)系。(2)它的雛型是編寫軟件時的變量說明或標識符清單。(3)它也常常與其他描述工具互相補充、配合使用。4”實體關(guān)系圖答:實體關(guān)系圖是一種用于描述靜態(tài)數(shù)據(jù)的概念模式。它以實體、關(guān)系、屬性三個基本概念概括數(shù)據(jù)的基本結(jié)構(gòu)。它廣泛應(yīng)用于數(shù)據(jù)庫的設(shè)計中,常常和數(shù)據(jù)流程圖、結(jié)構(gòu)圖等互相配合使用。5.數(shù)據(jù)流程圖(DataFlowDiagram)答:數(shù)據(jù)流程圖描述某一業(yè)務(wù)處理系統(tǒng)的信息來源、存儲、處理、去向的全面情況,簡明扼要地勾畫全局?;颍簲?shù)據(jù)流程圖的基本元素是外部實體(系統(tǒng)外的信息來源或去向),數(shù)據(jù)處理與存儲,用箭頭表示信息在它們之間的流動情況。6”項目管理答:項目管理是與固定的生產(chǎn)線上的日常生產(chǎn)管理不同的,具有更大的變動性、時間性的一類管理任務(wù)。7”項目數(shù)據(jù)庫答:項目數(shù)據(jù)庫實際上是信息庫的一個組成部分。它記錄的是項目本身進展的各種有關(guān)信息。項目負責(zé)人應(yīng)當(dāng)隨時掌握這些情況,一方面把住驗收質(zhì)量關(guān),使每一步都扎扎實實,同時掌握全局,及時發(fā)現(xiàn)瓶頸環(huán)節(jié),從組織上加以解決。8”信息庫答:信息庫是一個包羅萬象的,隨著項目進度不斷修改與補充的數(shù)據(jù)集合。它在規(guī)模上不一定像數(shù)據(jù)倉庫那么大,分析提煉的要求也與數(shù)據(jù)倉庫不同。然而,作為軟件開發(fā)全過程的信息管理總框紐,它的數(shù)據(jù)結(jié)構(gòu)是相當(dāng)復(fù)雜的,而且會隨時間不斷變化,因此,保持一致性的任務(wù)變得十分復(fù)雜和艱巨。9”模塊的藕合性答:模塊之間的聯(lián)系及互相影響應(yīng)盡可能地少,對于必需的聯(lián)系都應(yīng)當(dāng)加以明確的說明。而且一般來說,盡量避免傳遞控制信號,而僅限于傳遞處理對象。這種聯(lián)系及相互影響稱為藕合性。10”面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮奶貏e高設(shè)計是人們?yōu)槟7卢F(xiàn)實世界模型而建立的程序設(shè)計方法,這種思想源于對現(xiàn)實世界自然結(jié)構(gòu)的認識。人們?yōu)榱藨?yīng)付現(xiàn)實世界的復(fù)雜性,逐漸形成了很好的概括、分類和抽象的能力,并在此基礎(chǔ)上應(yīng)用于程序設(shè)計就形成了面向?qū)ο蟮母拍睢?1”遺傳性答:抽象的、較大的對象所具有的性質(zhì),包括靜態(tài)屬性和動態(tài)操作,自然地成為它的子類的性質(zhì),不必加以說明或規(guī)定。這就是所謂的“遺傳性”。12”文檔答:功能說明書、總體設(shè)計、各模塊的設(shè)計任務(wù)書、每個部分的研制報告、測試報告,直到最終的驗收報告和給使用者的用戶手冊等通稱為文檔。13”黑箱檢驗答:輸入一些信息,通過觀察是否能得出預(yù)期輸出來判斷軟件是否正確的一種軟件測試方法。14”封裝性答:客觀世界的任何事物都是對象,它們都有一些靜態(tài)屬性,也都有一些有關(guān)的操作。作為一個整體,這些對象對外不必公開這些屬性與操作。這就是所謂的“封裝性”。15”模塊的凝聚性答:模塊的功能在邏輯上盡可能地單一化、明確化,最好做到一一對應(yīng)。即每一個模塊實現(xiàn)一項明確的任務(wù),反之每一項任務(wù)僅由一個模塊來完成。此即為模塊的凝聚性。17”軟件工程答:為了從根本上提高軟件開發(fā)的效率和質(zhì)量,人們吸取在各種傳統(tǒng)產(chǎn)業(yè)中的成功經(jīng)驗,從組織和管理的角度加強力量,使軟件生產(chǎn)從程序員的個人勞動提高成為有組織的、可控制的工程,這種開發(fā)軟件的方法就是軟件工程方法。簡言之,軟件工程方法就是以工程化的觀點來指導(dǎo)軟件開發(fā)的方法。18”軟件開發(fā)工具答:在高級程序設(shè)計語言(第三代語言)的基礎(chǔ)上,為提高軟件開發(fā)的質(zhì)量和效率,從規(guī)劃、分析、設(shè)計、測試、成文和管理各方面,對軟件開發(fā)者提供各種不同程度的幫助的一類新型的軟件。其要點是:(1)它是在高級程序設(shè)計語言(第三代語言)之后,軟件技術(shù)進一步發(fā)展的產(chǎn)物;(2)它的目的是在人們開發(fā)軟件中給予各種不同方面、不同程度的支持或幫助;(3)它支持軟件開發(fā)的全過程,而不是僅限于編碼或其他穩(wěn)定的工作階段。第四代語言(4GL)答:第四代語言的原意是非過程化的程序設(shè)計語言。針對以處理過程為中心的第三代語言,它希望通過某些標準處理過程的自動生成,使得用戶可以只說明要求做什么,而把具體的執(zhí)行步驟的安排交由軟件自動處理??梢暬幊檀穑嚎梢暬幊蹋阂浴八娂此谩钡木幊趟枷霝樵瓌t,力圖實現(xiàn)編程工作的可視化,即隨時可以看到結(jié)果,程序的調(diào)整與后果的調(diào)整同步進行??傮w測試答:由于設(shè)計不可能是百分之百地完美的,即使每個模塊都達到了設(shè)計任務(wù)書的要求,整個系統(tǒng)能否達到預(yù)期的目標還需要進行測試,另外,完成的軟件與編寫的文檔是否一致也是必須認真檢查的。這一測試稱為總體測試。所見即所得答:在程序設(shè)計時,對于界面上的設(shè)計只需要用鍵盤或鼠標在屏幕上直接設(shè)計,不用手寫代碼。設(shè)計人員在屏幕上看到的界面,就是所生成程序的運行界面。設(shè)計工具答:設(shè)計工具是指在實現(xiàn)階段對人們提供幫助的工具。例如各種代碼生成器,一般所說的第四代語言,幫助人們進行測試的工具(包括提供測試環(huán)境或測試數(shù)據(jù))等,都屬于設(shè)計工具之列;它是最直接地幫助人們編寫與調(diào)試軟件的工具。分析工具答:分析工具主要是指用于支持需求分析的工具。它們雖不是直接幫助人寫程序,但是它們幫助人們認識與表述信息需求與信息流程,從邏輯上明確軟件的功能與要求。計劃工具答:計劃工具是從宏觀角度去看待軟件開發(fā)的軟件開發(fā)工具。它不僅從項目管理的角度,幫助人們組織與實施項目,并且把有關(guān)進度、資源、質(zhì)量、驗收情況等信息有條不紊地管理起來,而且考慮到了項目的反復(fù)循環(huán)、版本更新。實現(xiàn)了“跨生命周期”的信息管理與共享,為信息以至軟件的重用創(chuàng)造了條件。模塊測試答:模塊測試是根據(jù)總體設(shè)計時制定的各個模塊的設(shè)計任務(wù)書,對于程序員完成模塊進行驗收,看它們是否實現(xiàn)了所要求的功能,是否達到了所要求的性能指標。需求分析答:軟件開發(fā)人員從用戶的初始要求出發(fā),經(jīng)過大量的調(diào)查研究工作,抽象出應(yīng)用領(lǐng)域中的實際的信息需求,設(shè)計出在計算機系統(tǒng)內(nèi)外的、合理的信息流程,并規(guī)定出軟件系統(tǒng)的功能與性能要求。這一過程稱為需求分析。28.程序?答:程序是指一套事先編好并存人機器的指令。一臺存人了某種程序的計算機與一臺沒有存入這種程序的計算機,在外表是看不出區(qū)別的。然而前者在接到一個啟動命令之后,就可以自己執(zhí)行某項任務(wù),而后者卻做不到這點。簡答與論述簡述軟件發(fā)展的幾個階段。答:(1)機器語言階段;使用0、1代碼進行編程。(2)匯編語言階段;使用助記符來編寫程序,由匯編程序匯編成機器碼,編程工作量大大降低,但仍未擺脫對硬件的依賴。與此同時,操作系統(tǒng)的出現(xiàn)從另一方面改善了人們應(yīng)用計算機的條件。(3)高級語言階段、高級語言突破了與機器指令一一對應(yīng)的限制,從而大大提高了程序的可移植性。(4)第四代語言階段,人們希望機器能夠自動地完成更多的工作,包括自動安排某些工作的順序,而做到只要給機器下達做什么的命令,由機器自己去安排執(zhí)行的順序。(5)利用通用軟件作為輔助工具的階段利用文字處理軟件來編寫文檔,利用繪圖軟件來繪制流程圖等。(6)專用軟件開發(fā)工具階段支持軟件開發(fā)的某一個階段或某一個環(huán)節(jié)。(7)集成的軟件開發(fā)工具階段零散的、分散地支持各個工作階段、各項具體工作的專用工具之間沒有有機地聯(lián)系起來,從而必然造成沖突與矛盾,以致抵消了使用工具帶來的益處。這種情況導(dǎo)致了集成的軟件開發(fā)工具的產(chǎn)生。試論述軟件開發(fā)方法發(fā)展的新階段的特點。答:要點:(1)自動化程度的提高。(2)明確地把需求分析包括進了軟件工作的范圍之內(nèi)。(3)把軟件開發(fā)工作延伸到項目及版本管理,從而超出了一次編程的局限。(4)在這一階段的研究中,吸收了許多管理科學(xué)的內(nèi)容與方法,如程序員的組織、質(zhì)量的控制等。軟件開發(fā)工具概念的要點是什么?答:(1)它是在高級程序設(shè)計語言(第三代語言)之后,軟件技術(shù)進一步發(fā)展的產(chǎn)物;(2)它的目的是在人們開發(fā)軟件中給予各種不同方面、不同程度的支持或幫助;(3)它支持軟件開發(fā)的全過程,而不是僅限于編碼或其它穩(wěn)定的工作階段。試述軟件開發(fā)的過程。答:(1)需求分析階段:根據(jù)初始要求形成嚴格的、明確的、可供實際開發(fā)使用的軟件功能說明書。(2)總體設(shè)計階段:根據(jù)軟件功能說明書的要求,完成軟件的總體設(shè)計,這包括整個軟件的結(jié)構(gòu)設(shè)計,公用的數(shù)據(jù)文件或數(shù)據(jù)庫的設(shè)計,各部分的連接方式及信息交換的標準等幾個主要內(nèi)容。(3)實現(xiàn)階段:完成程序的編寫與文檔的編寫。(4)調(diào)試階段:進行模塊的調(diào)試與整個軟件的聯(lián)調(diào)。學(xué)習(xí)軟件開發(fā)工具的目的是什么?答:了解軟件開發(fā)工具的概念、理論基礎(chǔ)、基本功能、發(fā)展現(xiàn)狀與前景,以便能夠在實際工作中正確地選擇與使用軟件開發(fā)工具,在必要時能夠參加或組織軟件開發(fā)工具的自行研制,從而達到提高軟件工作水平與效率之目標。這就是學(xué)習(xí)軟件開發(fā)工具的目的。試述軟件開發(fā)工具的類別。答:(1)按支持的工作階段劃分:設(shè)計工具:是最具體的工具,在實現(xiàn)階段對人們提供幫助。分析工具:主要用于支持需求分析。計劃工具:從更宏觀的角度去看待軟件開發(fā)。(2)按集成程度劃分:單向工具:專用的、面對某一工作階段或某一工作任務(wù)的工具。集成工具:集成化的、面對軟件開發(fā)的全過程的工具。(3)按與硬件、軟件的關(guān)系劃分:依賴于特定機器或軟件的工具。獨立于機器與軟件的工具。試述現(xiàn)階段軟件技術(shù)的特點答:(1)自動化程度的提高。由于代碼生成等技術(shù)的應(yīng)用,在一些特定的條件下,可以較容易地自動生成第三代語言(或更低級的語言)的代碼,從而大大節(jié)省人力和時間。(2)明確地把需求分析包括進了軟件工作的范圍之內(nèi),從而使軟件開發(fā)過程進一步向用戶方面延伸,離用戶更近了。這是軟件技術(shù)向前邁進的重要一步。(3)把軟件開發(fā)工作延伸到項目及版本管理,從而超出了一次編程的局限,而擴展到了作為一個不斷發(fā)展的客體生長完善的全過程。這也是軟件研制從個體的、手工作坊的方式向科學(xué)的、有組織、有計劃的方式轉(zhuǎn)變的一個重要表現(xiàn)。(4)在這一階段的研究中,吸收了許多管理科學(xué)的內(nèi)容與方法,如程序員的組織、質(zhì)量的控制等。軟件開發(fā)工具的范圍是什么?答:軟件開發(fā)工具的范圍大致可以描述為:在高級程序設(shè)計語言(第三代語言)的基礎(chǔ)上,為提高軟件開發(fā)的質(zhì)量和效率,從規(guī)劃、分析、測試、成文和管理各方面,對軟件開發(fā)者提供各種不同程度的幫助的一類新型的軟件。對于本概念可以從以下幾個方面去理解。首先,它是一類軟件,是開發(fā)軟件用的軟件。其次,它是在第三代語言的基礎(chǔ)上發(fā)展起來的。第三,這里強調(diào)對軟件開發(fā)全過程中各個階段的支持。軟件開發(fā)工作的發(fā)展過程是什么?答:軟件開發(fā)工作的發(fā)展過程可以歸納為四個不同的階段。(1)用機器語言開發(fā)軟件把用戶已經(jīng)明確表述出來的算法,用機器語言寫成一系列機器指令,供硬件運行使用。這是人們對軟件開發(fā)工作的最初的認識。(2)用匯編語言開發(fā)軟件,由匯編程序完成轉(zhuǎn)換。匯編語言產(chǎn)生之后,編程工作改為用匯編語言進行,編好的匯編指令由匯編程序轉(zhuǎn)化為機器指令,再交硬件執(zhí)行。軟件開發(fā)工作離硬件遠了,離用戶近了。(3)用高級語言開發(fā)軟件,由編譯程序完成轉(zhuǎn)換高級程序設(shè)計語言不再與機器指令一一對應(yīng),而且更加接近人類習(xí)慣的自然語言。軟件開發(fā)離機器更遠了,離用戶更近了。(4)在各種軟件開發(fā)工具的幫助下開發(fā)軟件,由編譯程序完成轉(zhuǎn)換。這是軟件開發(fā)工作發(fā)展的新階段,也使軟件開發(fā)工作的概念從一次性的、具體的編程,擴大到了長期的、不斷更新的過程。試述用通用軟件幫助軟件開發(fā)的弱點答:用通用軟件來幫助軟件開發(fā)人員編寫文檔或畫圖可以減少不少工作量,但是這種幫助實在是太表面、太初步了。用通用軟件幫助軟件開發(fā)有三個主要的弱點。第一,有許多工作是通用軟件所無法完成的。第二,用通用軟件完成某些工作,只能表現(xiàn)出其表面的形式,而不能反映其邏輯內(nèi)涵。第三,用通用軟件來幫助人們完成軟件開發(fā)工作時,常常遇到難于保持一致性的困難。軟件開發(fā)分為那幾個階段,各階段的文檔是什么?答:(1)需求分析。根據(jù)初始要求形成嚴格的、明確的、可供實際開發(fā)使用的功能說明書。(2)總體設(shè)計。根據(jù)軟件功能說明書的要求,完成軟件的總體設(shè)計,這包括整個軟件的結(jié)構(gòu)設(shè)計用的數(shù)據(jù)文件或數(shù)據(jù)庫的設(shè)計,各部分的連接方式及信息交換的標準等幾個主要內(nèi)容。(3)實現(xiàn)階段。完成程序的編寫與文檔的編寫。(4)測試或調(diào)試階段。包括模塊的調(diào)試與整個軟件的聯(lián)調(diào)。簡述軟件開發(fā)工具的功能要求答:(1)認識與描述客觀系統(tǒng)。主要是用在軟件開發(fā)工作的第一個階段——需求分析階段。需求分析工作不確定程度高,更需要經(jīng)驗,更難形成規(guī)范化,因而人們希望軟件開發(fā)工具能在這方面給予更多的幫助。(2)存儲及管理開發(fā)過程中的信息在軟件開發(fā)的各階段都要產(chǎn)生及使用許多信息。有些信息到了其它階段還要使用,故信息保存與管理問題顯得非常突出。(3)代碼的編寫或生成在整個軟件開發(fā)工作過程,程序編寫工作占了相當(dāng)比例的人力物力和時間,提高代碼的編制速度與效率顯然是改進軟件工作的一個重要方面。(4)文檔的編制或生成文檔編寫工作也是軟件開發(fā)工作中十分繁重的一項工作,不但費時費力,而且很難保持一致。在這方面,計算機輔助的作用可以得到充分的發(fā)揮。(5)軟件項目的管理這方面的功能更明確地是為項目管理人員提供支持,而不是為程序員提供支持。13.簡述軟件開發(fā)工具的項目管理功能。答:項目管理功能明確地是為項目管理人員提供支持,而不是為程序員提供支持。一般來說,項目管理包括進度管理,資源與費用管理,質(zhì)量管理三個基本內(nèi)容,在這方面項目管理已有不少成功的經(jīng)驗、方法與軟件工具。對于軟件項目來說,還有兩個比較特殊的問題。首先是測試工作方面的支持,由于軟件的質(zhì)量比較難以測定,所以不僅需要根據(jù)設(shè)計任務(wù)書提出測試方案,而且還需要提供相應(yīng)的測試環(huán)境與測試數(shù)據(jù)。人們很自然地希望軟件開發(fā)工具能夠在這些方面提供幫助。另一個問題是版本管理問題。當(dāng)軟件規(guī)模比較大的時候,版本的更新,各模塊之間以及模塊與使用說明之間的一致性,向外提供的版本的控制等,都帶來一系列十分復(fù)雜的版本管理問題。如果軟件開發(fā)工具能夠在這些方面給予支持或幫助,無疑將有利于軟件開發(fā)工作的進步。14.為什么說高級語言出現(xiàn)后計算機才真正獲得了應(yīng)用?答:第三代語言突破了與機器指令一一對應(yīng)的限制,用盡可能接近自然語言的表達方式描述人們設(shè)想的處理過程,而把這種表達方式向機器指令的轉(zhuǎn)化工作,交給專門的“工具”——編譯系統(tǒng)去完成。另一個重要的變化是高級設(shè)計語言實現(xiàn)了對機器的獨立性,即它不依賴特定的硬件系統(tǒng),抽象地邏輯地描述處理和算法,而把硬件系統(tǒng)之間的區(qū)別交給不同的編譯系統(tǒng)去處理,從而大大提高了程序的可移植性。這一進步的影響非常巨大、非常深遠。從六十年代以來,面向各個領(lǐng)域的,面向各種應(yīng)用的程序設(shè)計語言如雨后春筍般涌現(xiàn)出來,至今勢頭不減。也正因為有了這些語言,在短短的二、三十年中,計算機技術(shù)才真正地獲得了應(yīng)用。15.何謂第四代語言的非過程化思想?答:人們希望機器能夠自動地完成某些工作,包括自動安排某些(不是全部)工作的順序,而做到只要給機器下達做什么的命令,由機器自己去安排執(zhí)行的/頃序。這就是第四代語言——非過程化語言的思想。16.軟件工作的重要性何在?答:軟件工作的重要性現(xiàn)在已經(jīng)為越來越多人所認識。軟件是計算機的靈魂。的確,如果沒有相應(yīng)的、適用的軟件,計算機是不可能在各種應(yīng)用領(lǐng)域中發(fā)揮作用的。我們可以進一步說,軟件是廣大使用者與計算機之間的橋梁,軟件是人類在各個領(lǐng)域中積累的知識的結(jié)晶,軟件是人類文明與知識得以延續(xù)的新的載體,軟件是人類進一步成為一個整體,得以進一步相互聯(lián)系的紐帶。17.集成化的開發(fā)工具是在什么背景下產(chǎn)生的?答:由于大量的專用軟件開發(fā)工具的出現(xiàn),為軟件開發(fā)的各個階段提供了具體的支持,但它們是零散、分散地支持各個工作階段,這些專用工具之間沒有有機地聯(lián)系起來,從而必然造成沖突與矛盾。這就給用戶造成了沉重的、不堪忍受的負擔(dān),使用工具越多這種負擔(dān)越重,以致抵消了使用工具帶來的益處。這種情況導(dǎo)致了集成的軟件開發(fā)工具的產(chǎn)生。18.試述軟件開發(fā)工具的性能指標。答:(1)表達能力:因為軟件項目的情況干變?nèi)f化,軟件開發(fā)工具要能夠適用于某些軟件項目,就要能適應(yīng)軟件項目的種種不同的情況,否則就不可能對軟件開發(fā)提供有效的、實際的幫助。(2)邏輯能力(一致性的保證)軟件開發(fā)工作要求軟件開發(fā)工具不但要為人們存儲大量的有關(guān)信息,而且要有條不紊地管理這些信息,而管理的主要內(nèi)容就是保持它的一致性,至少在出現(xiàn)不一致的情況時要能夠給出警告與提示。(3)人機界面水平(易用程度)對于軟件開發(fā)工具來說,是否易用是一項重要的性能指標。(4)防錯能力(可靠性)軟件開發(fā)工具應(yīng)當(dāng)具有足夠的可靠性,即在各種各樣干擾下仍能保持正常工作,而不致丟失或弄錯息。(5)對硬軟環(huán)境的要求軟件開發(fā)工具對環(huán)境的要求不應(yīng)當(dāng)超出它所支持的應(yīng)用軟件的環(huán)境要求,有時甚至還應(yīng)當(dāng)?shù)陀趹?yīng)用軟件的環(huán)境要求。軟件開發(fā)工具的環(huán)境要求應(yīng)當(dāng)盡量降低,以有利于廣泛使用。19.試述軟件開發(fā)工具的基本功能。答:(1)描述系統(tǒng)主要是用在軟件開發(fā)工作的第一個階段——需求分析階段。需求分析工作不確定程度高,更需要經(jīng)驗,更難形成規(guī)范化,因而人們希望軟件開發(fā)工具能在這方面給予更多的幫助。(2)管理信息:在軟件開發(fā)的各階段都要產(chǎn)生及使用許多信息。有些信息到了其它階段還要使用,故信息保存與管理問題顯得非常突出。(3)生成代碼:在整個軟件開發(fā)工作過程中,程序編寫工作占了相當(dāng)比例的人力物力和時間,提高代碼的編制速度與效率顯然是改進軟件工作的一個重要方面。(4)生成文檔:文檔編寫工作也是軟件開發(fā)工作中十分繁重的一項工作,不但費時費力,而且很難保持一方面,計算機輔助的作用可以得到充分的發(fā)揮。(5)項目管理:這一功能是為項目管理人員提供支持,包括進度管理,資源與費用管理,質(zhì)量管理。20.什么是對象?答:面向?qū)ο蟮姆椒ㄊ侨藗冊噲D解決軟件危機的一種嘗試。E.Yourdon在回顧從事信息處理工作的實踐經(jīng)驗中,談到了多次出現(xiàn)的矛盾與沖突,認為其根源在于割裂了數(shù)據(jù)和功能這兩個要素。如果從一開始,就把數(shù)據(jù)和功能結(jié)合在一起,即把信息的靜態(tài)屬性-數(shù)據(jù)結(jié)構(gòu),和的處理-功能模塊,從根本上結(jié)合起來,那么這些矛盾和沖突也就迎刃而解了。這就是“對象這個概念的由來。什么是即插即用的軟件設(shè)計方法?答:一部分人專門生產(chǎn)軟件組件,而另一部分人則構(gòu)造整個軟件的結(jié)構(gòu),并且把軟件組件插入這個結(jié)構(gòu),以便迅速地完成大型軟件的研制工作,這就是即插即用的軟件設(shè)計方法。試述軟件組件的概念答:軟件組件相當(dāng)于硬件中的芯片,具有一定的標準,如輸入輸出的格式、參數(shù)的數(shù)量與類型類型等。從另一方面講,軟件組件cP庫中的函數(shù)是一回事。如果類庫中有足夠多的類及相應(yīng)的函數(shù)的話,程序設(shè)計的工作量就會減輕許多。什么是標準化的軟件部件?答:標準化軟件部件指按一定的標準制作的軟件組件,如同硬件芯片那樣為大家共用,因而要對每一個輸入與輸出進行詳細的規(guī)定。對一大批變量與結(jié)構(gòu)進行說明和定義,而這些至今尚無統(tǒng)一的標準。特別是對于各種對象的定義,很難寫出標準。試述結(jié)構(gòu)化程序設(shè)計的要點答:1)限制甚至不用GOTO語句,絕對禁止超越模塊邊界的GOTO語句。2)子程序盡可能做到只有一個入口、一個出口。3)程序風(fēng)格應(yīng)盡量明確、清晰,包括適當(dāng)增加注釋,書寫格式體現(xiàn)層次結(jié)構(gòu)(如循環(huán)內(nèi)的語句一致地右移兩格),變量名稱的選用盡量具有邏輯意義等。4)在程序編寫的同時完成有關(guān)的文檔編撰,不要拖延時間。工程化思想的要點是什么?答:對一項工作的步驟作出嚴格的規(guī)定,其順序決不能顛倒,前一項任務(wù)沒有完成或沒有達到必要的標準時,后一項任務(wù)就不能開始,每一個階段都有各自的明確的任務(wù),明確的起點,明確的終點,特別是要有確切的、可以檢查的成果。軟件工程的基本方法是什么?1)對于軟件開發(fā)的工作過程進行規(guī)范。將軟件開發(fā)過程分為若干個階段,如需求分析、總體設(shè)計、編碼、測試、運行及維護等。2)加強標準化。一方面是表達方式的標準化,如統(tǒng)一規(guī)格的數(shù)據(jù)流程圖、數(shù)據(jù)字典、模塊結(jié)構(gòu)圖等。另一方面是對工作的質(zhì)量及檢查制訂標準,基于上述工作過程,設(shè)置一毓檢查點,在一定時候,作一定的檢查。面向?qū)ο蟮某绦蛟O(shè)計方法的要點是什么?答:1)客觀世界的任何事物都是對象,它們都有一些靜態(tài)屬性,也都有一些有關(guān)的操作。作為一個整體,這些對象對外不心公開這些屬性與操作。2)對象之間有抽象與具體,群體與個體,整體與部分等幾種關(guān)系。這些關(guān)系則構(gòu)成對象的網(wǎng)絡(luò)結(jié)構(gòu)。3)抽象的、較大的對象所具有的性質(zhì),包括靜態(tài)屬性和動態(tài)操作,自然地成為它的子類的性質(zhì),不必加以說明或規(guī)定。4)對象之間可以互送消息,這一消息可以是傳送一個參數(shù),也可以是使這個對象開始某個操作。大型軟件開發(fā)中的困難有哪些?答:1)一致性的保持。在型軟件各部分之間有各種信息的交流與共享,它們直接影響到各部分之間的協(xié)調(diào)與配合,每個人對這些問題的理解可能有同,而程序的編寫又是個人的、腦力的勞動,很難加以控制。2)測試的問題。修改程序時,改動一處,影響到多處而檢驗只能證明程序有錯,不能證明程序沒錯。因此,在型軟件的測試比個人自己編寫時要困難得多。3)工作進度的控制。在型軟件測試時要聯(lián)調(diào)。從聯(lián)調(diào)中發(fā)現(xiàn)問題,要回到程序員手中去修改,這樣的反復(fù)是很難避免的,而且可能反復(fù)多次,因而工作進度很控制。4)文檔與代碼的協(xié)調(diào)。程序的調(diào)試是不斷反復(fù)進行的,有時文檔是編寫程序的依據(jù),有時需要根據(jù)編程情況撰寫文檔,顯然,這兩者心須一致,否則文檔不僅沒有用處,反而會千萬混亂。系統(tǒng)越大,涉及的人員越多,這種一致性就越難保持。5)版本更新帶來的問題。版本更新是大型軟件開發(fā)工作的不可缺少的部分。這種工作十分繁瑣,付出的勞動往往很多,但成果任憑不明顯。因此,很容易出現(xiàn)新版本中各部分代碼不一致和代碼與文檔不一致的情況。組合文件的思想是什么?答:組合文件的思想源于硬件制造。在計算機硬件制造中,芯片的制造與整機的制造是分開進行的。制造芯片的廠家只管制造芯片,而制造整機的廠家則利用這些芯片組成完整的計算機。于是,人們很自然地就想用同樣的思路來處理在型軟件的開發(fā)工作。一部分人專門生產(chǎn)相當(dāng)于芯片的軟件組件,而另一部分人則構(gòu)造相當(dāng)于計算機結(jié)構(gòu)的整個軟件的結(jié)構(gòu),并且把軟件組件插入這個結(jié)構(gòu),迅速地完成大型軟件的研制工作。試述OOP的基本特征。答:(1)封裝性:把數(shù)據(jù)和對它的處理綜合成一個整體。(2)遺傳性:類與子類之間屬性的傳遞。(3)多態(tài)性:同樣的消息被不同的對象接受以后,會因不同對象中所含方法的不同,而導(dǎo)致不同的行動。軟件評價的主要方面是什么?答:這些方面包括:正確性,易用性(或?qū)τ脩粲押?,效率,可靠性,可維護性(與可重用性)。怎樣建立一個好的項目組?答:(1)有嚴格的工作規(guī)范和文檔標準必須要有嚴格的、成文的工作規(guī)范和文檔標準,而且應(yīng)當(dāng)為全體成員所熟知,并且切實得到遵守。(2)人員之間有嚴格的分工。除了程序員之外,必須有專門的秘書(負責(zé)文檔的收集、審核及保管),必須有專門的測試人員(負責(zé)測試和驗收有關(guān)的部分),特別是要有專職的,不限于具體編程的項目負責(zé)人。(3)每個項目有詳細的時間安排并嚴格執(zhí)行每個項目都要事先制定詳細的時間表,并且得到嚴格執(zhí)行。每一項目完成之后都有完整的資料,并得到妥善保存,一旦需要修改或更新版本時可以立即使用。項目組對程序員的約束有哪些?答:(1)保證嚴格地在本模塊范圍內(nèi)操作,決不要使用可能干擾其它模塊的命令或函數(shù)。(2)嚴格按總體設(shè)計的要求和理解去傳遞參數(shù)值,決不要隨意修改其內(nèi)容或含義。(3)在對公用的文件或數(shù)據(jù)庫進行存取時,必須完全地、準確地按統(tǒng)一規(guī)定的格式去操作,決不能擅自改變。(4)在使用標識符時,應(yīng)按照統(tǒng)一的原則,盡量使用易于看出邏輯含義的名稱。特別是涉及公用數(shù)據(jù)及參數(shù)的時候。(5)嚴格按照統(tǒng)一的要求編寫文檔,在內(nèi)容、格式、表達方式、符號使用上遵循項目組的統(tǒng)一規(guī)定。(6)盡量保持程序風(fēng)格的一致。如注釋行的安排,行首空格的使用等。軟件質(zhì)量的評測有哪些?答:(1)正確性:正確地實現(xiàn)所要求的功能,準確地給出預(yù)定的輸出結(jié)果。(2)易用性:用戶界面友好,符合實際用戶的使用習(xí)慣與知識能力。(3)效率:具有足夠的速度,能在符合用戶要求的時間限度內(nèi),給出所要求的處理結(jié)果。(4)可靠性:具有足夠的可靠性,能夠在各種干擾下保持正常的工作。(5)可維護性:程序易讀,結(jié)構(gòu)良好,文檔齊全,從而保證系統(tǒng)易于修改。項目組對單個程序員的要求是什么?答:(1)具有程序設(shè)計所需要的基本知識與技能。(2)對本項目所在的領(lǐng)域有較深入的了解。(3)對于軟件開發(fā)的技術(shù)環(huán)境比較熟悉。IBM的AD/Cycle把軟件開發(fā)過程分為那幾個階段?各階段的任務(wù)是什么?答:劃分為五個階段:(1)第一階段,需求分析,其任務(wù)是:了解企業(yè)的結(jié)構(gòu)與功能,掌握組織及管理者的信息需求,弄清信息流通的實際情況。(2)第二階段,分析與設(shè)計階段,其任務(wù)是:進行功能分解及數(shù)據(jù)分析,完成處理過程及數(shù)據(jù)庫的邏輯設(shè)計。(3)第三階段,編程階段,其任務(wù)是:完成具體的程序編寫工作。(4)第四階段,測試階段,其任務(wù)是:對已有的代碼進行認真的檢測與試用。(5)第五階段,使用及維護階段,其任務(wù)是:組織使用者有效地使用,并及時檢查與修正發(fā)現(xiàn)的錯誤。簡述面向?qū)ο蠓椒ǔ霈F(xiàn)的背景。答:面向?qū)ο蟮姆椒ㄊ侨藗冊噲D解決軟件危機的一種嘗試,近年來,隨著C++,Smalltalk等面向?qū)ο蟮恼Z言的普及,這種方法得到了廣泛的傳播。E.Yourdon在一本書中曾回顧了他自己從事信息處理工作多年的實踐經(jīng)驗。他談到了多次出現(xiàn)的矛盾與沖突,認為其根源在于割裂了數(shù)據(jù)和功能這兩個要素,因此兩方面之間的認識和結(jié)論越差越遠。如果從一開始,就把數(shù)據(jù)和功能不可分割地結(jié)合在一起,即把信息的靜態(tài)屬性—數(shù)據(jù)結(jié)構(gòu),和對它的處理——功能模塊,從根本上結(jié)合起來,那么這些矛盾和沖突也就迎刃而解了。這就是面向?qū)ο蠓椒ǔ霈F(xiàn)的背景。面向?qū)ο蟪绦蛟O(shè)計方法對軟件開發(fā)工作有何影響?答:面向?qū)ο蟮某绦蛟O(shè)計語言使程序設(shè)計的思想方法越來越接近人們思維的方式。它屏棄了持續(xù)好久的“自頂向下”和“自底向上”的爭論,把對于復(fù)雜系統(tǒng)的認識歸結(jié)為對一批對象及其關(guān)系的認識。事實上,對象這個概念是相對的,它的選擇是和信息處理的目的的相連的。在認識的無窮的階梯式的層次結(jié)構(gòu)中,原則上每一層都可以作為觀察的基點,認識的方法既不是籠統(tǒng)地自頂向下,也不是籠統(tǒng)地自底向上,而是在于合理地選擇層次,使得系統(tǒng)的復(fù)雜性保持在可控制的范圍內(nèi),而不致由于細節(jié)過多而無所適從。因此,面向?qū)ο蟮某绦蛟O(shè)計語言使軟件工作進一步向用戶方面靠近,這對于計算機應(yīng)用深入到各個應(yīng)用領(lǐng)域是十分有利的。面向?qū)ο蟮某绦蛟O(shè)計語言的出現(xiàn),使軟件開發(fā)工作更加方便。即插即用程序設(shè)計方法實現(xiàn)起來有何困難?答:有兩個困難。1)標準化的問題。軟件部件很復(fù)雜,它涉及一大批變量與結(jié)構(gòu)的說明與定義的標準。而這些至今沒有統(tǒng)一。2)軟件部件的提供方式問題。軟件部件應(yīng)當(dāng)是封裝起來的,以二進制的機器代碼方式提供,看不到源程序,一般來說不必了解也不能改動它的內(nèi)部過程。但是,這就出現(xiàn)了與硬件、與操作系統(tǒng)的關(guān)系問題。目前仍存在著多種硬件,多種操作系統(tǒng),即使UNIX也還有許多大同小異的版本。但按這樣的思想設(shè)計的軟件部件不能容忍這種差異的,哪怕是“小異”,它要求的是絕對相同。自頂向下的設(shè)計方法。答:在實施模塊劃分時,不管軟件多大,都采取自上而下、逐步分解的辦法,分成若干部分,并把它們之間的關(guān)系明確地表達出來,直到最低層的模塊達到所要求的規(guī)模為止。簡述應(yīng)用領(lǐng)域之間的差別給軟件開發(fā)帶來的困難。答:軟件作為應(yīng)用領(lǐng)域與硬件之間的橋梁,一頭是固定的,另一頭卻是變化無窮的。世間各行各業(yè)盡管都要用到信息,都力圖與現(xiàn)代信息技術(shù)相結(jié)合,但是它們之間的差別卻是如此之大,給軟件開發(fā)工作者帶來了許多困難。結(jié)構(gòu)化程序設(shè)計方法中,如何實施模塊的劃分?答:實施模塊劃分的方法是:不管軟件多大,都采取自上而下、逐步分解的方法,分成若干部分,并把它們之間的關(guān)系明確地表達出來,直到最低層的模塊達到的所要求的規(guī)模為止。結(jié)構(gòu)化程序設(shè)計的缺點是什么?如何看待這些缺點?答:其缺點是它增大了程序工作量,增加了編程中的麻煩與瑣碎的工作,并且降低了程序的運行效率。但是,使用這種方法,可以保證軟件的可靠、準確,而且使軟件易于修改,故這種代價是值得的。簡述軟件工程方法的由來。答:工程常常是指復(fù)雜的、需要認真組織的、有許多人參加的事情。工程的觀點是和近、現(xiàn)代的大生產(chǎn)聯(lián)系在一起的,它是和依靠個人技藝的手工的生產(chǎn)方式相對立的。人類的生產(chǎn)從靠工匠手藝到靠工程化生產(chǎn)是一個重要的進步。這個思想正是軟件工程思想的由來。由于軟件危機的發(fā)生,人們認識到,把軟件的質(zhì)量寄托于各個程序員的技能與認真負責(zé)是不牢靠的、危險的,也是不現(xiàn)實的。要想大幅度地從根本上提高軟件開發(fā)的效率和質(zhì)量,就應(yīng)當(dāng)吸取人們在各種傳統(tǒng)產(chǎn)業(yè)中的成功經(jīng)驗,從組織和管理的角度加強力量,使軟件生產(chǎn)從程序員的個人勞動提高成為有組織的、可控制的工程,這就產(chǎn)生了軟件工程。結(jié)構(gòu)化程序設(shè)計中,模塊劃分的基本要求是什么?答:(1)模塊的功能在邏輯上盡可能地單一化、明確化,最好做到一一對應(yīng)。(2)模塊之間的聯(lián)系及互相影響盡可能地少,對于必需的聯(lián)系都應(yīng)當(dāng)加以明確的說明。(3)模塊的規(guī)模應(yīng)當(dāng)足夠小,以便使它本身的調(diào)試易于進行。即插即用程序設(shè)計方法的要點是什么?答:一部分人專門生產(chǎn)軟件組件,而另一部分人則構(gòu)造整個軟件的結(jié)構(gòu),并且把軟件組件插入這個結(jié)構(gòu),以便迅速地完成大型軟件的研制工作。47.人們對即插即用程序設(shè)計方法的態(tài)度如何?答:在即插即用程序設(shè)計方法中,由于標準化問題和軟件部件提供方式問題,對于這種思路的實現(xiàn)可能性仍是眾說紛紜。贊成者認為這將徹底改變程序設(shè)計的概念,加上可視化等方法,總有一天會實現(xiàn)不用寫程序的軟件開發(fā)。但是,持懷疑態(tài)度的人認為,由于應(yīng)用系統(tǒng)的復(fù)雜多樣,公共的部件庫是不可能實現(xiàn)的,至少在某個特定的領(lǐng)域中可以有限制地實現(xiàn)。也有人認為,如果真分解到能封裝起來的程度,那也就和高級語言的語句差不多了,至多不過是把編譯功能加強一點罷了。無論如何,這是人們試圖解決軟件危機的一種嘗試。其結(jié)果如何尚有待觀察。48.軟件開發(fā)的基本問題是什么?答:軟件開發(fā)中的基本問題是兩個轉(zhuǎn)換,一是從用戶的理解到程序員的理解的轉(zhuǎn)換,另一是從程序員的理解到程序的實現(xiàn)的轉(zhuǎn)換。49.保證從用戶的理解到程序員的理解這一轉(zhuǎn)換順利完成的手段是什么?答:保證這一轉(zhuǎn)換順利完成的手段就是利用盡可能標準化的方法編寫程序設(shè)計任務(wù)書,用明確的語言或圖形、表格,把程序要處理的信息的內(nèi)容、格式、來源、去向、存儲與處理清楚地表達出來,作為雙方共同的理解。50.保證從程序員的理解到程序的實現(xiàn)這一轉(zhuǎn)換順利完成的關(guān)鍵是什么?答:保證這一轉(zhuǎn)換順利完成的關(guān)鍵在于程序員的知識水平與實踐經(jīng)驗。51.大型軟件開發(fā)中的困難何在?答:大型軟件開發(fā)中的困難有五點:(1)一致性的保持。大型軟件各部分之間不可避免地要有各種信息的交流與共享,它們直接影響到各部分之間的協(xié)調(diào)與配合,這決定了它們能否有機地組成一個完整的軟件,而每個人對這些問題的理解可能不同,原因首先在于每個程序員的工作習(xí)慣、經(jīng)驗、背景不同,而程序的編寫又是個人的、腦力的勞動,很難加以控制。(2)測試的問題。修改程序時;改動一處,影響到多處(水波效應(yīng));而檢驗只能證明程序有錯而不能證明程序沒錯。因此,大型軟件的測試比個人自己編寫時要困難得多。3)工作進度的控制。大型軟件測試時要對系統(tǒng)進行聯(lián)調(diào)。從聯(lián)調(diào)中發(fā)現(xiàn)問題,要回到程序員手中去修改,這樣的反復(fù)是很難避免的,而且事先無法判斷要反復(fù)多少次,因而大型軟件開發(fā)中的進度控制是非常困難的。(4)文檔與代碼的協(xié)調(diào)。程序的調(diào)試是不斷反復(fù)進行的,有時文檔是編寫程序的依據(jù),有時又需要根據(jù)編程情況撰寫文檔。顯然,這兩者必須一致,否則文檔不僅沒有用處,反而會造成混亂。系統(tǒng)越大,涉及的人員越多,這種一致性就越難保持。(5)版本更新帶來的問題。版本更新是大型軟件開發(fā)工作的不可缺少的部分。這種工作十分繁瑣,付出的勞動往往很多,但成果往往不明顯。因此,很容易出現(xiàn)新版本中各部分代碼不一致和代碼與文檔不一致的情況。52.在開發(fā)大型軟件時,版本更新會帶來怎樣的困難?答:版本更新是大型軟件開發(fā)工作的不可缺少的部分。版本更新的大量工作往往在于審核與回顧,包括對代碼和文檔兩方面的認真檢查。這種工作是十分繁瑣的,它需要人們付出艱苦的勞動,但成果往往不明顯。因此,在這種情況下,很容易出現(xiàn)新版本中各部分代碼不一致和代碼與文檔不一致的情況。53.大型軟件開發(fā)時產(chǎn)生困難的原因何在?答:困難產(chǎn)生的原因有四個:(1)大系統(tǒng)的復(fù)雜性。大系統(tǒng)之所以復(fù)雜,是由于量的變化引起了質(zhì)的變化。同一個問題,在小程序中容易解決,而在大型軟件很難處理。(2)多人協(xié)同工作的組織管理。當(dāng)組織許多人共同完成一項大的軟件開發(fā)任務(wù)時,分工和協(xié)調(diào)頗為關(guān)鍵。分工是否合理,信息是否能及時地溝通,步調(diào)是否能一致,都需要精心地安排與考慮。(3)領(lǐng)域知識與軟件技術(shù)。軟件作為應(yīng)用領(lǐng)域與硬件之間的橋梁,一頭固定,而另一頭卻變化無窮。各行業(yè)之間的差別非常之大,給軟件開發(fā)工作者增添了許多困難。(4)時間因素及變更因素。用戶需求的變化,社會環(huán)境的變化,硬件及相關(guān)技術(shù)的變化,處處給軟件工作提出新要求。這種易變的性質(zhì),給軟件工作增添了不少困難。.54.舉例說明為什么大系統(tǒng)比小系統(tǒng)復(fù)雜得多。答:例如,一個程序如果只有五十行,那么,不管出現(xiàn)什么問題,都是好解決的。但是,如果一個軟件有五十萬行,那么即使是最簡單的問題,如搜索、標識符選用等都會成為相當(dāng)困難的問題。這是由于量的變化造成了質(zhì)的差別。正因如此,大系統(tǒng)比小系統(tǒng)復(fù)雜得多。55.在開發(fā)大型軟件的過程中,為什么軟件開發(fā)人員的組織與協(xié)調(diào)會帶來困難?答:從管理學(xué)的觀點來看,當(dāng)組織許多人共同完成一項大的軟件開發(fā)任務(wù)時,分工和協(xié)調(diào)就成為關(guān)鍵因素。分工是否合理,信息是否能及時溝通,步調(diào)是否能一致,這都不是自然形成的,都需要精心地安排與考慮,因而許多具有主動性的個人之間的組織與協(xié)調(diào)本身也帶來大量的困難。56.為什么時間因素、變更因素也會給軟件開發(fā)工作帶來困難?答:現(xiàn)實的社會經(jīng)濟生活每日每時都在變化,作為與社會生活緊密聯(lián)系的應(yīng)用軟件當(dāng)然也處在不斷的變化之中。用戶需求的變化,社會環(huán)境的變化,硬件及相關(guān)技術(shù)的變化,無處不給軟件工作提出新的要求。這種易變的性質(zhì),自然給軟件開發(fā)工作帶來了不少困難。57.什么是數(shù)據(jù)倉庫?答:數(shù)據(jù)倉庫是近年來針對大批數(shù)據(jù)的分析利用而提出來的概念,其基本思想是:現(xiàn)實中的大量原始數(shù)據(jù)與實際的應(yīng)用是具有相當(dāng)距離的,為了能夠切實為企業(yè)管理者提出對管理真正有用的信息,就要對信息或數(shù)據(jù)進行多次的加工或提煉,從而得出許多派生的或綜合的數(shù)據(jù)。58.什么是數(shù)據(jù)庫?答:數(shù)據(jù)庫是指在文件系統(tǒng)基礎(chǔ)上發(fā)展起來的一種數(shù)據(jù)管理技術(shù),其重點在于合理地組織數(shù)據(jù),體現(xiàn)出數(shù)據(jù)之間的邏輯關(guān)系,并盡可能地幫助用戶檢索,減少冗余。59.試述版本管理的意義與方法。答:版本管理的重要意義在于保持一致性。從時間上來說,后續(xù)的工作與以前的工作一致;從系統(tǒng)各部分之間的關(guān)系來說,它要求每一局部與整體保持一致。版本管理的具體方法包括規(guī)定長遠的版本更新計劃,制訂與版本有關(guān)的信息范圍及收集、管理方法,在項目組內(nèi)明確分工,在程序編寫、測試、文檔縮寫等工作中貫穿項目管理的思想及要求。60.軟件開發(fā)過程中設(shè)計的信息類型有哪些?答:(1)需求信息:用戶提出,分析人員采集,系需求分析及設(shè)計的依據(jù)。2)設(shè)計信息:分析人員(或設(shè)計人員)根據(jù)需求分析形成,體現(xiàn)為設(shè)計方案。3)軟件成果:程序員根據(jù)設(shè)計方案,依據(jù)某種計算機語言編制出來的代碼(程序)。4)變更信息:用戶在使用過程中逐步形成,由維護人員收集、整理,并實施必要的修改。61.軟件開發(fā)過程中常用的概念模式有哪些?答:(1)框圖:用于描述程序執(zhí)行的邏輯過程。(2)結(jié)構(gòu)圖:用來表示大型軟件的層次結(jié)構(gòu),即模塊結(jié)構(gòu)。3)數(shù)據(jù)流程圖:用于描述某一業(yè)務(wù)處理系統(tǒng)的信息來源、存儲、處理、去向的全面情況。4)實體關(guān)系圖:用于描述靜態(tài)數(shù)據(jù)結(jié)構(gòu)。5)數(shù)據(jù)字典:用于描述數(shù)據(jù)內(nèi)容。6)時序網(wǎng)絡(luò):用于描述系統(tǒng)狀態(tài)及其轉(zhuǎn)換方式。7)數(shù)學(xué)與邏輯模型:用于描述客觀系統(tǒng)的狀態(tài)或運動規(guī)律。8)計算機模擬模型:用于以程序的形式來實現(xiàn)客觀系統(tǒng)中的某些規(guī)律或規(guī)則,以便人們觀察與預(yù)測客觀系統(tǒng)的狀況。62.項目管理的含義與內(nèi)容是什么?答:項目管理是指與固定的生產(chǎn)線上的日常生產(chǎn)管理不同的,具有更大的變動性、時間性的另一類管理任務(wù)。項目管理的內(nèi)容包括:進度、質(zhì)量、費用和資源利用。63.軟件開發(fā)過程中的信息管理有哪些?答:(1)合理存儲,包括一致性檢查與維護和方便迅速地查詢與調(diào)用。2)正確轉(zhuǎn)化,即在許多環(huán)節(jié)上正確地進行數(shù)據(jù)的轉(zhuǎn)換或加工。3)順暢流通,使信息交流渠道通暢無阻。64.信息庫的研究方向是什么?答:(1)信息庫的內(nèi)容:有關(guān)軟件開發(fā)全過程的所有有用的信息。(2)信息庫的功能:除增刪改等數(shù)據(jù)庫的基本操作外,還需要把計算機內(nèi)外的信息存儲統(tǒng)一起來管理,還需要認真設(shè)計有關(guān)界面以便使用。(3)信息庫的一致性:信息庫中的信息需要不斷更新。但原有內(nèi)容一般不刪除,新信息存入時,老信息只是加上時間標志移入歷史信息中去,并且它還與新的信息保持著歷史的、邏輯的聯(lián)系,在需要時可以隨時再調(diào)出來。65.項目管理的目標是什么?答:(1)質(zhì)量控制。要對各子任務(wù)中存在的質(zhì)量問題及時發(fā)現(xiàn)與糾正,在它影響全局之前就被清除。(2)進度控制。嚴格檢查與促使各項子任務(wù)的完成;把資源集中于關(guān)鍵工序上,保證在個別次要子任務(wù)延期的情況下,整個項目仍能按時完成。(3)資源質(zhì)量控制。有效地利用各種資源,盡可能使資源的閑置與浪費減少。(4)費用控制??刂婆c降低成本。成本的降低是項目管理狀況的綜合的最終體現(xiàn)。AD/Cycle包括哪三個方向的接口?答:對程序員的接口CPI,對其它計算機系統(tǒng)的接口CCS,對用戶的接口CUA。CUA這一部分包括八種人機交互手段:鍵盤操作、屏幕滾動、菜單選擇、幫助系統(tǒng)、鼠標操作、色彩運用、數(shù)據(jù)錄入、信息顯示。簡述數(shù)學(xué)與邏輯模型的作用、基本思想及優(yōu)、缺點。答:數(shù)學(xué)與邏輯模型的作用、基本思想及優(yōu)、缺點:數(shù)學(xué)與邏輯模型用于描述客觀世界狀態(tài)與規(guī)律。數(shù)學(xué)與邏輯模型的基本思想是用一些數(shù)學(xué)公式或邏輯表達或來描述客觀系統(tǒng)的狀態(tài)或運動規(guī)律。數(shù)學(xué)與邏輯模型的最大優(yōu)點是嚴格、準確、可計算,也正因為如此,所以限制頗多,一般只能描述比較單純、比較基礎(chǔ)的功能。簡述DFD的作用、基本思想。使用范圍。答:DFD的作用、基本思想、使用范圍:數(shù)據(jù)流程圖用于描述某一業(yè)務(wù)處理系統(tǒng)的信息來源、存儲、處理、去向的全面情況。數(shù)據(jù)流程圖的基本思想是把信息流看作—個組織或系統(tǒng)運作的線索,力圖簡明扼要地勾畫出全局。簡述DD的作用、基本思想、使用范圍。答:DD用于描述數(shù)據(jù)內(nèi)容。DD的基本思想在于以表格的形式列出數(shù)據(jù)的基本屬性以及相互關(guān)系,作為人們對于數(shù)據(jù)的認識和了解。DD更適于記錄各種細節(jié),所以常常與其他描述工具互相補充、配合使用。簡述時序網(wǎng)絡(luò)的作用、基本思想、使用范圍、圖例及優(yōu)點。答:時序網(wǎng)絡(luò)的作用、基本思想、使用范圍、基本圖例及優(yōu)點:時序網(wǎng)絡(luò)用于描述系統(tǒng)狀態(tài)及其轉(zhuǎn)換方式。時序網(wǎng)絡(luò)的基本思想是,當(dāng)滿足某個條件時,系統(tǒng)從一個狀態(tài)向另一個狀態(tài)轉(zhuǎn)換。時序網(wǎng)絡(luò)常常用于一些實時控制方面的軟件的功能描述。版本管理的方法是什么?答:版本管理的具體方法包括規(guī)定長遠的版本更新計劃,制訂與版本有關(guān)的信息范圍及收集、管理方法,在項目組內(nèi)明確分工,在程序編寫、測試、文檔縮寫等工作中貫穿項目管理的思想及要求。無論對于軟件產(chǎn)品來說,還是對應(yīng)用系統(tǒng)來說,用戶的反饋信息是版本管理的重要資源。版本管理的核心是什么?答:版本管理的核心是保持兩個一致性。從時間上來說,它的主要關(guān)心點是系統(tǒng)的逐步完善,以前已經(jīng)達到的成果不要丟失掉,而且在需要時可以回溯,并且在必要時可以重用;而每一步新的進步都要切實與以前的工作一致,是改進而不是破壞或降低系統(tǒng)的已有功能。從系統(tǒng)各部分之間的關(guān)系來說,它要求每一局部與整體保持一致,合理地判斷每一次修改的必要性及影響范圍,從而合理地組成每一個新的版本,并通過命名、編號等方法,使新的版本成為系統(tǒng)進步的漫長過程中的一個臺階,一個有目的、有方向的、穩(wěn)定的進步。什么叫項目管理?其特點是什么?答:項目管理是指與固定的生產(chǎn)線上的日常生產(chǎn)管理不同的,具有更大的變動性、時間性的另一類管理任務(wù)。它的典型代表是建筑工程的管理,特別是大型建設(shè)工程,如水電站的建造、高爐的大修或改造、鐵路或公路的修建等等。項目管理具有以下四個突出的特點。第一,子任務(wù)多,關(guān)系復(fù)雜。第二,任務(wù)不可重復(fù),形勢不斷變更。第三,協(xié)調(diào)組織的任務(wù)十分突出,資源浪費閑置的風(fēng)險與合理地優(yōu)化組合、提高效益的機會并存。第四,信息處理工作的作用與意義更為突出。如何理解“用戶界面的主要功能是通信”?答:人機交互時,最關(guān)鍵的是要使人與計算機之間能夠準確地交流信息。一方面,由人向機器輸入時應(yīng)當(dāng)盡量采取自然的方式,另一方面由機器向人傳遞的信息必須準確、不致引起誤解或混亂。另外,不要把內(nèi)部的處理與加工與人機界面混在一起,人機界面的程序只是用于通訊,以免互相干擾及影響速度。信息庫的內(nèi)容包括那幾個方面?答:信息庫的內(nèi)容包括:(1)所述軟件的工作環(huán)境、功能需求、性能要求、有關(guān)的各種信息來源的狀況、用戶狀況、硬件環(huán)境以及在該專業(yè)領(lǐng)域中的作用等外部信息。(2)需求分析階段中收集的有關(guān)用戶的各種信息,包括用戶本身提供的,也包括在調(diào)查研究中得到的。(3)邏輯設(shè)計階段的各種調(diào)查材料和由此生成的各種文檔,這包括調(diào)查記錄、原始數(shù)據(jù)、報表及單證的樣本、繪制的各種圖以及最后生成的系統(tǒng)說明書。(4)設(shè)計階段的各種資料,包括所有的數(shù)據(jù)庫與數(shù)據(jù)文件格式、數(shù)據(jù)字典、程序模塊的要求、總體結(jié)構(gòu)、各種接口及參數(shù)的傳遞方式以及最后形成的設(shè)計方案。(5)編程階段的所有成果,包括程序代碼、框圖、變量說明、測試情況(輸人數(shù)據(jù)及輸出結(jié)果),驗收報告、使用說明等。(6)運行及使用情況的詳細記錄,包括每次使用的時間、狀態(tài)、問題,特別是有關(guān)錯誤及故障的記錄情況。(7)維護及修改的情況,包括修改的目標、責(zé)任人、過程、時間、修改前后的代碼與文檔以及修改后的結(jié)果,原系統(tǒng)的備份。(8)項目管理的有關(guān)信息、人員變更、資金投入、進度計劃及實施情況。這項還包括版本信息,即各次版本的備份,每個版本的推出日期,與以前版本相比的變更說明等。什么是信息庫?它與數(shù)據(jù)和數(shù)據(jù)倉庫有什么區(qū)別?其特點是什么?答:信息庫是一個包羅萬象的,隨著項目進度不斷修改與補充的數(shù)據(jù)集合。它在規(guī)模上不一定象數(shù)據(jù)倉庫那么大,分析提煉的要求也與數(shù)據(jù)倉庫不同,然而,作為軟件開發(fā)全過程的信息管理總樞紐,它的數(shù)據(jù)結(jié)構(gòu)是相當(dāng)復(fù)雜的,而且會隨時間不斷變化,因此保持一致性的任務(wù)變得十分復(fù)雜和艱巨。這些就是信息庫的特點。簡述信息庫這一概念提出的背景。答:信息庫是針對軟件開發(fā)或信息系統(tǒng)開發(fā)中的大量信息管理工作提出來的。早在手工進行系統(tǒng)分析的階段人們已經(jīng)發(fā)現(xiàn),許多問題出在信息交流中的誤解與損失。按照傳統(tǒng)的生命周期法,每一階段都是用相應(yīng)的文檔實現(xiàn)過渡的,在信息傳遞中,誤解與丟失十分嚴重。另外,軟件的修改與版本更新也引起一些問題,有時不得不從頭收集基礎(chǔ)信息。不但浪費很大,而且引起用戶的厭煩。隨著數(shù)據(jù)庫技術(shù)的發(fā)展,人們很自然地想到用計算機來辦這件事。這就是信息庫這個概念提出的背景。什么叫數(shù)據(jù)庫?其本質(zhì)是什么?什么叫數(shù)據(jù)倉庫?其本質(zhì)是什么?答:數(shù)據(jù)庫是指在文件系統(tǒng)基礎(chǔ)上發(fā)展起來的一種數(shù)據(jù)管理技術(shù),它的重點在于合理地組織數(shù)據(jù),體現(xiàn)出數(shù)據(jù)之間的邏輯關(guān)系,并盡可能地幫助用戶檢索,減少冗余。數(shù)據(jù)庫的本質(zhì)是以時間來換取空間。數(shù)據(jù)倉庫是近年來針對大批數(shù)據(jù)的分析利用提出來的概念。它的基本思想是:對原始數(shù)據(jù)進行多次的加工或提煉,計算出許多派生的或綜合的數(shù)據(jù),存放在大容量硬盤里,從而使檢索速度大大加快。數(shù)據(jù)倉庫的本質(zhì)是用容量來換速度。簡述計算機模擬模型的作用。答:計算機模擬模型的作用:計算機模擬是一種強有力的概念模式。它利用計算機大量、高速處理信息的能力,在計算機內(nèi)設(shè)置一定的環(huán)境(如資源條件等),又以程序來實現(xiàn)客觀系統(tǒng)中的某些規(guī)律或規(guī)則,在以上二者的基礎(chǔ)上,計算機就可以高速運行,以便人們觀察與預(yù)測客觀系統(tǒng)的狀況。簡述CR圖的作用、基本思想、使用范圍。答:ER圖的作用、基本思想、使用范圍:2R圖用于描述靜態(tài)數(shù)據(jù)結(jié)構(gòu)。其基本思想在于以實體、關(guān)系、屬性三個基本概念概括數(shù)據(jù)的基本結(jié)構(gòu)。它廣泛應(yīng)用于數(shù)據(jù)庫的設(shè)計中,常常和數(shù)據(jù)流程圖、結(jié)構(gòu)圖等互相配合使用。因為前二者重點描述信息的處理與流通,而缺乏對靜態(tài)數(shù)據(jù)結(jié)構(gòu)的描述方法。簡述結(jié)構(gòu)圖的作用、基本思想、優(yōu)點。答:結(jié)構(gòu)圖的作用、基本思想、優(yōu)點:在結(jié)構(gòu)化程序設(shè)計方法中,結(jié)構(gòu)圖用來表示大型軟件的層次結(jié)構(gòu),即模塊結(jié)構(gòu)。結(jié)構(gòu)圖以模塊的調(diào)用關(guān)系為線索,從宏觀上使人一目了然地掌握軟件的全貌。其中,模塊調(diào)用方式有三種:順序調(diào)用、選擇調(diào)用、循環(huán)調(diào)用。結(jié)構(gòu)圖的基本圖例為模塊,用自上而下的連線表示調(diào)用關(guān)系,并注明參數(shù)傳遞的方向與內(nèi)容。它用箭頭上的附加記號來表明這一點。結(jié)構(gòu)圖的優(yōu)點是能夠體現(xiàn)層次觀點,由粗到細、自頂向下地描述程序。特別是它可以迫使人們逐個地詳細劃分與描述模塊,體現(xiàn)結(jié)構(gòu)化程序設(shè)計的思想。82.人機界面設(shè)計應(yīng)遵循的原則是什么?答:(1)用戶界面的主要功能是通信。關(guān)鍵要使人機之間能夠準確地交流信息,人向機器輸入信息必須自然,機器向人傳遞信息必須準確,機器內(nèi)部的信息處理與加工不能與人機界面混在一起。(2)界面必須始終一致。讓用戶始終用同一種方式思考與操作。(3)界面必須使用戶隨時掌握任務(wù)的進展?fàn)顩r。人機界面應(yīng)當(dāng)隨時告訴用戶當(dāng)前工作的進展情況。4)界面必須能提供幫助。有關(guān)的信息、提示、說明應(yīng)該放在隨手可得的位置。(5)寧可讓程序多干,不可讓用戶多干。能夠由程序完成的工作,盡量由程序完成。83.試述概念模式的意義及其在認識中的作用。答:概念模式是人們在認識事物過程中,對于某一事物或某一系統(tǒng)形成的抽象的它具有客觀性、片面性,同時又具有主觀性。概念模式是人們認識客觀世界的一種方法、一種工具,也是人們在長期的實踐活動中逐漸形成的。它是在一定的理論、思想指導(dǎo)之下形成的,同時又不斷地根據(jù)實際情況加以修正。在這個不斷循環(huán)的過程中,概念模式逐漸完善、逐漸準確地反映客觀事物的實質(zhì)。84.試論述人機界面設(shè)計原則。答:五個要點:(1)用戶界面的主要功能是通信(2)界面必須始終一致(3)界面必須使用戶隨時掌握任務(wù)的進展?fàn)顩r(4)界面必須能提供幫助(5)寧可讓程序多干,不可讓用戶多干85.軟件開發(fā)過程中信息處理工作包括那幾個方面?答:軟件開發(fā)過程中信息處理工作包括如下幾個方面:(1)合理存儲:許多信息需要長期保存,因為它們并非只用一次,而是需要不斷更新,不斷被調(diào)用。這種存儲工作并不是只起一個簡單的存放作用,它包括一致性的檢查與維護,包括方便迅速的查詢與調(diào)用。(2)正確轉(zhuǎn)化:在許多環(huán)節(jié)上都要進行數(shù)據(jù)的轉(zhuǎn)換或加工,包括從手工方式向計算機方式的轉(zhuǎn)換,也包括從計算機方式向手工方式的轉(zhuǎn)換,有時也有在計算機內(nèi)部的不同形式的數(shù)據(jù)的轉(zhuǎn)換。在軟件開發(fā)過程中,這些信息必須能夠正確地進行轉(zhuǎn)換。(3)順暢流通:軟件開發(fā)過程中,分析人員、程序員、用戶和維護人員之間存在著各種交流,這些信息交流渠道的通暢,對于軟件開發(fā)的成功,也具有非常重要的作用。86.簡述軟件開發(fā)工具在信息處理方面的幫助與支持。答:軟件開發(fā)工具在信息處理方面的幫助與支持如下:軟件開發(fā)工具對需求信息、設(shè)計信息、軟件成果和變更信息的合理存儲、正確轉(zhuǎn)化和順暢流通提供幫助。當(dāng)然,幫助的程度各不相同。人與人之間的交流,顯然主要是人來進行,工具至多只能起到幫助與提示的作用,如用數(shù)據(jù)流程圖,或模擬圖形來溝通分析人員和程序員;另一些工作則可以用計算機來提供更多的幫助,如,可以提供方便迅速得多的數(shù)據(jù)庫技術(shù)服務(wù)。只要人們規(guī)定了合理的存儲模式和檢索途徑,就能在信息存儲、檢索以至一致性的保持上得到很大的幫助。至于象代碼與文檔的自動生成則可以在更大的程度上給人們提供幫助。88.軟件開發(fā)工具的理論基礎(chǔ)與技術(shù)基礎(chǔ)主要包括哪些方面?答:軟件開發(fā)工具的理論基礎(chǔ)與技術(shù)基礎(chǔ)主要包括以下六項:(1)概念模式的概念與方法(2)數(shù)據(jù)庫技術(shù)的理論與方法(3)編譯技術(shù)的有關(guān)方法(4)人機界面的理論與方法(5)項目管理與版本管理的理論與方法(6)系統(tǒng)科學(xué)與系統(tǒng)工程中的有關(guān)理論與方法。89.試論信息庫的管理功能。答:信息庫的管理功能有三項,錄入更新、使用查詢、一致性維護。其中許多功能是一般數(shù)據(jù)庫管理系統(tǒng)所已經(jīng)具備的,與一般數(shù)據(jù)庫管理系統(tǒng)不同的主要有下面兩點。首先,信息之間邏輯聯(lián)系的識別與記錄。例如,在系統(tǒng)運行中間,某一外界條件發(fā)生了變化,這時,一方面要記下這一變化的情況,同時,又要對與該系統(tǒng)狀況有關(guān)的原有的各條記錄進行修改,或者至少要加上已經(jīng)變化的標志。否則今后再用到這一信息時就會出現(xiàn)問題。在這里,困難在于,系統(tǒng)在接受某一信息時,怎么能夠自動地進行相應(yīng)的修改。顯然,這又與概念模式有關(guān)。簡單地說,信息庫管理模塊必須“記住”信息之間的邏輯聯(lián)系。例如,當(dāng)數(shù)據(jù)字典中某一數(shù)據(jù)項發(fā)生變化時,相應(yīng)的數(shù)據(jù)流程圖也必須隨之變更,不管這二者是不是在同一個數(shù)據(jù)庫中。另一個特殊的問題是如何實現(xiàn)定量信息與文字信息的協(xié)調(diào)一致。因為在系統(tǒng)狀況、設(shè)計成果等類信息中,除了定量的、數(shù)字型的信息之外,還有相當(dāng)多的文字信息,如說明書等。這些不同形式的信息相互之間又有許多密切的關(guān)系。比如,某—定量的數(shù)字發(fā)生了變化,而它已經(jīng)通過文檔生成等功能被寫進了某個文字材料之中,怎樣才能從這份文字材料中找出這個數(shù)字,并把它加以修改呢?這個問題是十分困難的。上述兩個困難的根源都在于數(shù)據(jù)之間的邏輯關(guān)系的認識與表達。目前可見的各種工具在這些問題上尚無十分令人滿意的解決辦法,一般只能用重新生成一次文檔的辦法來解決。90.項目數(shù)據(jù)庫的內(nèi)容應(yīng)當(dāng)支持項目負責(zé)人做好哪些工作?答:(1)研究與確定開發(fā)工作的方針與方法。如采用什么樣的階段劃分方法,采用什么樣的系統(tǒng)描述方法等。(2)開發(fā)任務(wù)的劃分與分工。即整個開發(fā)任務(wù)如何逐層分解為具體的任務(wù),這些任務(wù)委托給什么人來做,這些任務(wù)之間的相互關(guān)系。(3)資源狀況。即有多少人力、物力、設(shè)備、軟件、資金;它們現(xiàn)在都在做什么,是否得到充分利用,是否需要增加投入。(4)人員情況。每個人(或每個組)的進度如何,技術(shù)水平如何,是否需要重新培訓(xùn),是否需要調(diào)動工作。(5)變更情況。需求有什么變更,環(huán)境有什么變更,人員有什么變更,在開發(fā)期間設(shè)備(包括硬軟件)與技術(shù)有什么變更。(6)質(zhì)量情況。檢驗的標準是什么,如何檢驗,由誰來檢驗,用什么數(shù)據(jù)檢驗。91.信息庫管理的主要任務(wù)是什么?答:(1)邏輯聯(lián)系的識別與記錄(2)定量信息與文字信息的協(xié)調(diào)92.信息庫的內(nèi)容是什么?答:(1)系統(tǒng)狀況:包括應(yīng)用領(lǐng)域中的有關(guān)實體及它們之間的相互關(guān)系的描述,軟件要處理的信息的種類、格式、數(shù)量、流向,應(yīng)用領(lǐng)域?qū)浖囊?,使用者的情況、背景、工作目標、工作習(xí)慣等等。(2)設(shè)計成果:包括邏輯設(shè)計與物理設(shè)計的成果。(3)運行狀況記錄:包括它的運行效率、作用、用戶反映、故障情況、故障的原因及處理情況。(4)項目及版本管理信息:包括項目的進度、過程、人員分工、資源投入、版本組織等等。93.信息庫的組織方式有哪些?答:(1)集中方式:建立一個龐大的數(shù)據(jù)庫,把各種信息都存放在這個數(shù)據(jù)庫中,而各種工具,或?qū)崿F(xiàn)各項單項功能的模塊則圍繞在這個信息庫的周圍,對這個信息庫進行錄入、修改、查詢、刪除。(2)分散方式:把信息分別存人不同的數(shù)據(jù)庫,由不同的功能模塊來處理。(3)邏輯上集中,物理上分散:通過信息庫管理模塊來對分散的各個數(shù)據(jù)庫進行存取,并進行一致性的檢查與維護。94.實現(xiàn)項目管理的方法是什么?答:人們依據(jù)項目管理的經(jīng)驗,提出了以項目數(shù)據(jù)庫為中心進行項目管理的方法。項目數(shù)據(jù)庫實際上是信息庫的一個組成部分,它記錄的是項目本身進展的各種有關(guān)信息。95.版本管理的內(nèi)容是什么?答:版本管理主要內(nèi)容是:各個版本的編號、功能改變、模塊組成、文檔狀況、推出時間、用戶數(shù)量(或用戶名單)、用戶反映、封存情況等。96.為什么說總控部分和人機界面處于中心的位置?答:(1)從一體化的軟件開發(fā)工具來看為了有效地支持軟件開發(fā)人員的工作,軟件開發(fā)工具必須提供各工作環(huán)節(jié)之間的協(xié)調(diào)與配合。早期的、單項功能的工具,之所以不能真正發(fā)揮作用,就在于它們只是幫助人們完成某一項具體工作,而把各環(huán)節(jié)之間的協(xié)調(diào)與配合這一最麻煩的事情留給了使用者自己。隨著項目規(guī)模的擴大,這方面的矛盾更為突出。其結(jié)果往往是,單項工具使用所帶來的幫助,很快就被這種協(xié)調(diào)與融合中的麻煩抵銷了。而且,由于一些工具的封閉性,它們的輸出格式之間的差別使協(xié)調(diào)與配合更加困難。所以,隨著軟件開發(fā)項目規(guī)模的擴大,各項具體功能的實現(xiàn)已經(jīng)不重要了,而整個工具的總結(jié)構(gòu)、各部門之間的聯(lián)系方式及在用戶面前的統(tǒng)一形象就逐步成為中心議題。(2)從單項功能的工具集成的角度來看在實際工作中,常常采用來自不同廠家的單項工具,而由使用者自己來承擔(dān)集成的任務(wù)。顯然,在這種情況下,最關(guān)鍵的也是最麻煩的就是把前半段工作的輸出,準確無誤地轉(zhuǎn)化為后半段工作所要求的輸入。這就是設(shè)立一個有效的總控部分,它能夠在各個具體工具之上,實現(xiàn)信息的正確傳遞與轉(zhuǎn)換,幫助人們完成上述協(xié)調(diào)與配合的工作,從而形成一個統(tǒng)一的、完整的支撐環(huán)境,并通過一個統(tǒng)一的、友好的人機界面與用戶對話。因此,不論是從一體化的軟件開發(fā)工具來說,還是從單項功能的工具集成的角度來說,總控和人機界面都處于中心的位置。97.簡述總控部分和人機界面的地位和作用。答:在整個軟件開發(fā)工具中,總控部分和人機界面處于中心的位置,人機界面面對著不同的用戶類型,它既要保持統(tǒng)一和一致,又要能夠在正確區(qū)分和識別用戶的基礎(chǔ)上,針對不同用戶的要求與習(xí)慣,提供有效的幫助。另外,總控部分面對著系統(tǒng)內(nèi)部的各種功能與各種信息,它要保證各部分之間相互之間的協(xié)調(diào)一致,保證各部分之間信息有效地、準確地流通。由于各部分功能的不同,它們在實際工作中常常根本就是來自不同制造者的軟件工作環(huán)境,關(guān)鍵就在于總控部分把它們有機地聯(lián)系在一起,并且給予統(tǒng)一的人機界面。98.面向用戶的原則體現(xiàn)在幾個方面?答:面向用戶的原則具體體現(xiàn)在兩方面,一方面是總控部分對各部分的調(diào)度與安排應(yīng)當(dāng)體現(xiàn)符合軟件開發(fā)人員思路的概念模式,另一方面,向用戶提供的統(tǒng)一界面應(yīng)當(dāng)體現(xiàn)這個模式。不論是設(shè)計一體化的軟件開發(fā)工具,還是把分散的單項工具集成起來,都應(yīng)當(dāng)遵循這個基本原則。99.為什么要保證軟件開發(fā)工具各部分之間信息的準確傳遞?答:各個分散的軟件工具在集成為一個一體化的工具時,它們的內(nèi)部并不發(fā)生改變,而是通過相互之間的信息交流聯(lián)系起來。即使是有計劃地、有組織地統(tǒng)一開發(fā)的一體化的軟件開發(fā)工具,它的各部分之間也是這樣的情況,否則就會難以研制。在這種情況下,信息能夠準確地從一個部分傳送到另一個部分,就成為一體化是否成功的關(guān)鍵。某一部分的輸出總帶有這一部分的特殊性,當(dāng)它需要成為另一個部分的輸入的時候,這些因素就必須得到充分的考慮,并進行必要的交換或調(diào)整,否則,就會產(chǎn)生誤解以致干擾和破壞了整個軟件系統(tǒng)的正常運轉(zhuǎn)。因此,必須保證軟件開發(fā)工具各部分之間信息的準確傳遞。100.軟件開發(fā)工具理想的系統(tǒng)結(jié)構(gòu)應(yīng)該是什么樣的?答:理想的系統(tǒng)結(jié)構(gòu)應(yīng)當(dāng)是模塊式的,易于裁剪的。在這種結(jié)構(gòu)中,每一個模塊完成某一項相對獨立的任務(wù),它的內(nèi)部處理(包括處理過程與數(shù)據(jù)結(jié)構(gòu))對于外部來說是一個黑箱,而模塊之間的信息傳遞則盡可能地簡單明了,而且明確地表述出來,對使用者公開。這并不意味著系統(tǒng)結(jié)構(gòu)松散或互不相干,這里的分工與聯(lián)系都是在統(tǒng)一規(guī)劃之下,明確地、有計劃地安排與組織的。101.處理歷史信息時遇到哪兩個問題?以何種方法解決?答:處理歷史信息時遇到兩個問題,一個是歷史信息的數(shù)量太大,占用存儲設(shè)備過多。另一個是歷史信息格式不一致,難以有效地利用。對于前一個問題,一般采用脫機備份的方法解決。后一個問題是十分困難的。加強標準化,穩(wěn)定數(shù)據(jù)結(jié)構(gòu)會使這個問題得到一定程度的解決。102.代碼生成器的基本任務(wù)是什么?答:代碼生成器的基本任務(wù)是根據(jù)設(shè)計要求,自動地或者半自動地產(chǎn)生相應(yīng)的某種語言的程序。103.代碼生成器的代碼輸出方式有哪幾種?優(yōu)、缺點是什么?答:代碼生成器輸出的代碼有兩種情況:某種高級程序設(shè)計語言的代碼或某種機器環(huán)境下可運行的機器指令。前者的優(yōu)點是使用者可以在這基礎(chǔ)上進一步修改加工,即利用自動生成的模塊作為一個原型,然后在此基礎(chǔ)上形成自己所要求的系統(tǒng)(或系統(tǒng)的某一部分)。缺點是功能較死,效率不高。后者的優(yōu)點是可以直接運行,從而立即檢查是否符合要求,如果不合要求就可以立即調(diào)整命令或參數(shù)重新生成一遍。缺點是所生成的機器代碼,一般是無法直接修改的,勵D上這種產(chǎn)物對機器的硬軟件環(huán)境的依賴很大。104.哪類程序易于生成?哪類程序難于生成?為什么?答:一般來說,對話屏幕、輸入屏幕、輸出報表、菜單控制結(jié)構(gòu)等類型的模塊比較容易生成,因為它們的處理過程比較規(guī)范,比較容易通過一些參數(shù)來加以描述和規(guī)定。而對于統(tǒng)計分析、數(shù)據(jù)加工、決策判斷等類型的模塊則比較難以生成,因為它們的靈活程度較大。105.代碼生成器依據(jù)哪些資料工作?答:代碼生成器生成代碼依據(jù)三個方面的資料:(1)信息庫里已有的有關(guān)資料。在一個一體化的環(huán)境中,代碼生成必須充分利用信息庫中的各種資料,這不只是為了節(jié)省重復(fù)收集信息的勞動,更重要的是為了保證系統(tǒng)的統(tǒng)一。(2)各種標準模塊的框架和構(gòu)件。事實上,代碼生成的技術(shù)無非是根據(jù)人們對某一類模塊的編程經(jīng)驗,歸納出一些一般框架或一般構(gòu)件,事先存放在機器中,在實際使用時根據(jù)當(dāng)時輸入的參數(shù),填入框架或重新組合構(gòu)件,從而形成一個新的程序段落。(3)使用者當(dāng)時通過屏幕前的操作送人的信息。信息庫中不可能已經(jīng)存人了代碼設(shè)計所需要的全部信息,還有相當(dāng)一部分要求或參數(shù)是在編碼時才確定的,因此代碼生成決不會是完全隱藏在機器內(nèi)部的。106.試述軟件開發(fā)工具的基本功能答:(1)系統(tǒng)描述提供描述軟件狀況及其開發(fā)過程的概念模式,以協(xié)助軟件開發(fā)人員認識軟件工作的環(huán)境與要求、合理地組織與管理軟件開發(fā)的工作過程。(2)信息管理。提供存儲和管理有關(guān)信息的機制與手段。(3)文檔生成。幫助使用者編制、生成及修改各種文檔。(4)代碼生成。幫助使用者編寫程序代碼。(5)項目管理。對于歷史信息進行跨生命周期的管理,把項目運行與版本更新的有關(guān)信息科學(xué)地管理起來。107.軟件開發(fā)工具的一般結(jié)構(gòu)有哪些?答:(1)總控部分與人機界面。這部分是使用者和軟件開發(fā)工具之間交流信息,實現(xiàn)所有的支持功能的橋梁。這現(xiàn)對于軟件開發(fā)工具來說,是它的實用性和靈活性的主要保證。(2)信息庫及其管理模塊。軟件開發(fā)工具對軟件開發(fā)支持的范圍及深度取決于信息庫的功能和內(nèi)容。(3)文檔生成模塊。用于輸出文檔(軟件開發(fā)工具最重要的輸出之一)。(4)代碼生成模塊。用于生成代碼(亦為軟件開發(fā)工具最重要的輸出之一)。(5)項目管理模塊。用于實現(xiàn)跨越開發(fā)周期的信息共享、知識重用以至軟件重用。108.就準備從事的軟件開發(fā)工作的性質(zhì)與要求而言,什么條件下應(yīng)該購買工具?什么條件下應(yīng)該自行開發(fā)工具?答:為了開發(fā)一些一般性的、日常事務(wù)處理用的專用系統(tǒng),它們的功能比較簡單,重復(fù)量大對程序運行效率要求也不那么高,這時可以購置一些比較成熟的、能減輕重復(fù)勞動的現(xiàn)成工具。但是,如果是開發(fā)軟件產(chǎn)品的公司,要求開發(fā)工具有很高的效率與靈活性,而且針對某一類的特定的應(yīng)用問題,那么就很難找到現(xiàn)成的軟件開發(fā)工具,這時為了提高工作效率,加強本公司內(nèi)部工作的協(xié)調(diào)一致(如代碼格式、文檔格式方面的要求),往往是自行開發(fā)更為有利。109.對軟件開發(fā)工具的選擇應(yīng)明確什么目的與要求?答:在選擇之前,自己首先要搞清楚此次引入軟件開發(fā)工具要達到怎樣的目標。具體地說,下面幾點是必須明確的。(1)為哪個軟件開發(fā)項目而使用工具,為了一個項目還是為了一批項目而購置軟件開發(fā)工具,為哪一種類型的項目而購置這些工具?(2)在哪個工作階段使用工具,是單在代碼生成或文檔生成中使用工具,還是在其他階段也要使用工具,是在一個生命周期內(nèi)使用工具,還是準備長期開發(fā)、不斷更新版本?(3)工具將供哪些人使用,這些人以前用過工具沒有,他們熟悉的語言、開發(fā)環(huán)境、表達方示、交流方式是什么?這些人對于使用工具的態(tài)度、期望、可塑性如何?(4)工具將在怎樣的軟件、硬件環(huán)境下運行,機器的速度、內(nèi)存、外圍設(shè)備、通信條件如何?顯然,這些問題如果不事先了解清楚,選擇工具就會陷入盲目性。110.自行開發(fā)工具為什么也要注意文檔的齊全與資料的積累?答:因為應(yīng)用軟件開發(fā)工具是軟件技術(shù)發(fā)展的方向,自行開發(fā)的短小實用的工具是從根本上提高軟件生產(chǎn)效率和質(zhì)量的實際步驟。這里的每一步都應(yīng)當(dāng)向這個方向邁進,而保證這些成果能夠積累起來的關(guān)鍵就是文檔與資料的積累。所以,決不能因為是自行開發(fā)的工具,主要是供自己用,而忽略文檔和資料的積累工作。否則,就真成了零敲碎打的小技巧,而談不上從根本上提高軟件工作的水平和效率了。111.自行開發(fā)工具時,為什么一定要堅持短小實用、逐步積累,避免期望過高、貪大求全?答:這是立足于對軟件開發(fā)工具開發(fā)難度的認識。實踐表明,功能齊全的、一體化的軟件開發(fā)工具,即使對于有雄厚實力的大軟件公司來說,也往往難以在短期內(nèi)完成。因此,對于多數(shù)實際的使用者來說,更應(yīng)當(dāng)以十分謹慎的態(tài)度對待這個問題,堅持短小實用、積累,避免期望過高、貪大求全。但這并不是說不要考慮功能齊全的、較大規(guī)模的,以至一體化的軟件開發(fā)工具,而是強調(diào)從實用出發(fā)、逐步積累、逐步發(fā)展。112.引入軟件開發(fā)工具之后,組織管理工作為何非常必要?答:一旦引入了軟件開發(fā)工具,使用者必須從一開始就對它的使用過程進行認真的組織與管理。這種組織管理工作的成功與失敗,直接影響著軟件開發(fā)工具的作用的發(fā)揮程度。從不規(guī)范的、立足于程序員的編程技術(shù)上的軟件開發(fā)方式,轉(zhuǎn)變到嚴格的、按科學(xué)的方法組織管理的軟件開發(fā)方式,這本身就是一個極其深刻的變革,它必然要經(jīng)歷許多磨擦與碰撞。人們總是有意無意地試圖回到原先“省事”的工作方式或工作習(xí)慣去,從而違反嚴格的要求,造成種種信息不通、信息不一致的現(xiàn)象。因此,軟件開發(fā)工具的使用過程,就是一個逐步改變舊的工作習(xí)慣,建立科學(xué)的軟件開發(fā)方法的過程。這是一個必須深入到每一個工作人員的工作中的根本性的變革。.因此,如果沒有認真的組織管理,它是不可能輕易地、順利地實現(xiàn)的,因而引入軟件開發(fā)工具之后,組織管理工作是非常必要的。113.決定購置軟件一切工具還是自行研制軟件開發(fā)工具的基本原則是什么?答:(1)從實際需求出發(fā)。購買市場上已有的軟件開發(fā)工具,一般來說能夠幫助人們減輕一定的工作負擔(dān),在某些環(huán)節(jié)上代替一些簡單的、重復(fù)性的工具;當(dāng)項目比較大,時間持續(xù)比較長的情況下,使用工具還可以使工作的組織管理比較規(guī)范,信息的管理與檢索比較方便,部分地做到信息與知識的重用和共享。然而,軟件開發(fā)工具的引進常常是比較昂貴的,特別是面對項目管理或系統(tǒng)分析工作的工具。(2)客觀認識軟件開發(fā)工具的實際發(fā)展水平。目前真正經(jīng)過考驗的、一體化的軟件開發(fā)工具還不多,產(chǎn)品的作用與可靠程度還不盡如人意。這就常常使人們在購置軟件開發(fā)工具時猶豫再三,特別是有一定軟件開發(fā)力量的單位,就會考慮自己開發(fā)。114.自己用得很順手的軟件開發(fā)工具能直接商品化嗎?為什么?答:自己用得很順手的軟件開發(fā)工具絕對不能直接商品化,這是因為,各種應(yīng)用項目的千差萬別,再加上運行環(huán)境復(fù)雜多變,使得商品化軟件的開發(fā)任務(wù)要繁重得多。人們常常忘記了這一點,混淆了這兩種不同類型的任務(wù),簡單地把自己用得很順手的軟件開發(fā)工具直接當(dāng)做可以用于其他環(huán)境的商品化的軟件開發(fā)工具,這是一個嚴重的誤解。與其他軟件相比,軟件開發(fā)工具更多地依賴于應(yīng)用領(lǐng)域的特點、硬件與系統(tǒng)軟件的支持、開發(fā)人員的工作習(xí)慣與組織方式,所以,不能把自己用得很順手的軟件開發(fā)工具直接商品化。115.在為自己用而開發(fā)工具時,為什么需要從實際出發(fā),設(shè)定現(xiàn)實的、有限的目標?答:軟件開發(fā)工具的開發(fā)是十分復(fù)雜和困難的,尤其是一體化的或集成的軟件開發(fā)工具的開發(fā)。從本質(zhì)上講,軟件開發(fā)工具是幫助人們開發(fā)軟件的工具,只能支持人們工作,而不能取代程序員的工作,更不能取代項目負責(zé)人的組織與管理作用。因此,必須實事求是地根據(jù)項目組的實際情況,抓住真正需要加強,真正需要幫助的環(huán)節(jié),開發(fā)出短小實用的工具,用以支持項目組的工作。也就是說,一定要在確實需要的地方開發(fā)與使用工具,而不要盲目追求使用工具,或為使用工具而開發(fā)與使用工具。要使工具的開發(fā)與使用成為雪中送炭,而不是畫蛇添足。因此,在為自己用而開發(fā)工具時,需要從實際出發(fā),設(shè)定現(xiàn)實的、有限的目標。116.就開發(fā)軟件而言,為己所用的軟件開發(fā)工具與商品化的軟件開發(fā)工具有何區(qū)別?答:在這里,為自己使用而開發(fā)的工具,指的是當(dāng)市場上沒有適合自己需要的軟件開發(fā)工具時,針對自己的需要開發(fā)某種特定的工具。至于以銷售為目的生產(chǎn)出來的軟件開發(fā)工具,則與為自己用而開發(fā)的工具有很大差別。當(dāng)然有一些軟件最初是一些公司為了自己用而開發(fā)的,經(jīng)過相當(dāng)長時間的發(fā)展變化,形成了商品化的軟件開發(fā)工具,但這中間已經(jīng)有了質(zhì)的變化。因此,在討論工具的開發(fā)的時候,首先要區(qū)分是為自己用還是作為商品開發(fā),至少在一個時期內(nèi)二者必居其一。117.什么是審計?目的是什么?答:所謂審計是指對一個系統(tǒng)的運行狀況及效率進行檢測與評價,以便進一步用好或改進這個系統(tǒng)。審計的目的就是為了做到心中有數(shù),保證取得實際的應(yīng)用效果。審計可以由本項目組的人員自行進行,也
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 運動服裝生產(chǎn)中的快速響應(yīng)生產(chǎn)模式考核試卷
- 草原割草與草地碳氮平衡考核試卷
- 紙品加工技術(shù)考核試卷
- 實踐中遇到的嵌入式問題試題及答案
- 碳酸飲料配方設(shè)計考核試卷
- 數(shù)據(jù)庫性能監(jiān)控的關(guān)鍵指標試題及答案
- 公路工程資本運作試題及答案
- 納米技術(shù)在印刷包裝中的應(yīng)用考核試卷
- 行政組織理論的統(tǒng)計分析方法及2025年試題及答案
- 嵌入式技術(shù)的改進與趨勢試題及答案
- 眼球的結(jié)構(gòu)與功能
- 《社會主義制度在中國的確立》示范課教學(xué)設(shè)計【高中思想政治人教版必修1中國特色社會主義】
- 立方米臥式濃硫酸儲罐設(shè)計
- 三乙胺安全標簽
- GB/T 4490-2021織物芯輸送帶寬度和長度
- GB/T 28650-2012公路防撞桶
- GB/T 17793-1999一般用途的加工銅及銅合金板帶材外形尺寸及允許偏差
- ICU常見檢查項目及課件
- 土地荒漠化的防治(公開課)課件
- MSA量測系統(tǒng)分析RMSA量測系統(tǒng)分析課件
- 中考備考應(yīng)對中考歷史學(xué)科的復(fù)習(xí)策略和解題技巧課件
評論
0/150
提交評論