




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件開發(fā)概念解釋
軟件配置(集成)
答:設(shè)立一個(gè)有效的總控部分,它能夠在各個(gè)具體工具之上,實(shí)現(xiàn)信息的正確傳
遞與轉(zhuǎn)換,幫助人們完成上述協(xié)調(diào)與配合的工作,從而形成一個(gè)統(tǒng)一的、完整的
支撐環(huán)境,并通過(guò)一個(gè)統(tǒng)一的、友好的人機(jī)界面與用戶對(duì)話。
CASE工具指“計(jì)算機(jī)輔助軟件工程”或“計(jì)算機(jī)輔助系統(tǒng)工程”,它的基本思
想與軟件開發(fā)工具完全一致,即應(yīng)用計(jì)算機(jī)自身處理信息的巨大能力,幫助人們
開發(fā)復(fù)雜的軟件或應(yīng)用系統(tǒng)。
水波效應(yīng):因修改程序帶來(lái)的連帶影響。當(dāng)人們修改程序的某--處時(shí),由于沒(méi)有
充分考慮到這一修改對(duì)相關(guān)部分帶
來(lái)的影響,結(jié)果出現(xiàn)了新的錯(cuò)誤。
項(xiàng)目管理(ProjectMangement)
答:項(xiàng)目管理指與固定的生產(chǎn)線上的日常生產(chǎn)管理不同的,具有更大變動(dòng)性、時(shí)
間性的一類管理任
數(shù)據(jù)字典(DataDictionary)
答:數(shù)據(jù)字典是一種描述數(shù)據(jù)內(nèi)容的概念模式。它用表格形式列出數(shù)據(jù)的基本屬
性以及相互關(guān)系。它的雛型是編寫軟件時(shí)的變量說(shuō)明或標(biāo)識(shí)符清單。它也常常與
其他描述工具互相補(bǔ)充、配合使用。
實(shí)體關(guān)系圖
答:實(shí)體關(guān)系圖是一種用于描述靜態(tài)數(shù)據(jù)的概念模式。它以實(shí)體、關(guān)系、屬性三
個(gè)基本概念概括數(shù)據(jù)的基本結(jié)構(gòu)。
數(shù)據(jù)流程圖(DataFlowDiagram)
答:數(shù)據(jù)流程圖描述某一業(yè)務(wù)處理系統(tǒng)的信息來(lái)源、存儲(chǔ)、處理、去向的全面情
況,簡(jiǎn)明扼要地勾畫全局。
項(xiàng)目管理
答:項(xiàng)目管理是與固定的生產(chǎn)線上的日常生產(chǎn)管理不同的,具有更大的變動(dòng)性、
時(shí)間性的一類管理任務(wù)。
項(xiàng)目數(shù)據(jù)庫(kù)
答:項(xiàng)目數(shù)據(jù)庫(kù)實(shí)際上是信息庫(kù)的一個(gè)組成部分。它記錄的是項(xiàng)目本身進(jìn)展的各
種有關(guān)信息。項(xiàng)目負(fù)責(zé)人應(yīng)當(dāng)隨時(shí)掌握這些情況,一方面把住驗(yàn)收質(zhì)量關(guān),使每
一步都扎扎實(shí)實(shí),同時(shí)掌握全局,及時(shí)發(fā)現(xiàn)瓶頸環(huán)節(jié),從組織上加以解決。
黑箱檢驗(yàn):輸入一些信息,通過(guò)觀察是否能得出預(yù)期輸出來(lái)判斷軟件是否正確的
一種軟件測(cè)試方法。黑箱檢驗(yàn)只能
證明程序有錯(cuò),而不能證明程序沒(méi)錯(cuò)。
模塊的凝聚性:模塊的功能在邏輯上盡可能的單一化、明確化,最好做到模塊與
任務(wù)的一一對(duì)應(yīng),即每個(gè)模塊完成
一個(gè)任務(wù),反之每一項(xiàng)任務(wù)僅由一個(gè)模塊來(lái)完成。這也稱為模塊的凝聚性。
信息庫(kù)答:信息庫(kù)是一個(gè)包羅萬(wàn)象的,隨著項(xiàng)目進(jìn)度不斷修改與補(bǔ)充的數(shù)據(jù)集合。
它在規(guī)模上不一定像數(shù)據(jù)倉(cāng)庫(kù)那么大,分析提煉的要求也與數(shù)據(jù)倉(cāng)庫(kù)不同。然而,
作為軟件開發(fā)全過(guò)程的信息管理總框紐,它的數(shù)據(jù)結(jié)構(gòu)是相當(dāng)復(fù)雜的,而且會(huì)隨
時(shí)間不斷變化,因此,保持一致性的任務(wù)變得十分復(fù)雜和艱巨。
模塊的藕合性答:模塊之間的聯(lián)系及互相影響應(yīng)盡可能地少,對(duì)于必需的聯(lián)系都
應(yīng)當(dāng)加以明確的說(shuō)明。而且一般來(lái)說(shuō),盡量避免傳遞控制信號(hào),而僅限于傳遞處
理對(duì)象。這種聯(lián)系及相互影響稱為藕合性。
面向?qū)ο蟮某绦蛟O(shè)計(jì)面向?qū)ο蟮奶貏e高設(shè)計(jì)是人們?yōu)槟7卢F(xiàn)實(shí)世界模型而建立
的程序設(shè)計(jì)方法,這種思想源于對(duì)現(xiàn)實(shí)世界自然結(jié)構(gòu)的認(rèn)識(shí)。人們?yōu)榱藨?yīng)付現(xiàn)實(shí)
世界的復(fù)雜性,逐漸形成了很好的概括、分類和抽象的能力,并在此基礎(chǔ)上應(yīng)用
于程序設(shè)計(jì)就形成了面向?qū)ο蟮母拍睢?/p>
遺傳性答:抽象的、較大的對(duì)象所具有的性質(zhì),包括靜態(tài)屬性和動(dòng)態(tài)操作,自然
地成為它的子類的性質(zhì),不必加以說(shuō)明或規(guī)定。這就是所謂的“遺傳性”。
文檔答:功能說(shuō)明書、總體設(shè)計(jì)、各模塊的設(shè)計(jì)任務(wù)書、每個(gè)部分的研制報(bào)告、
測(cè)試報(bào)告,直到最終的驗(yàn)收?qǐng)?bào)告和給使用者的用戶手冊(cè)等通稱為文檔。
黑箱檢驗(yàn)答:輸入一些信息,通過(guò)觀察是否能得出預(yù)期輸出來(lái)判斷軟件是否正確
的一種軟件測(cè)試方法。
封裝性
答:客觀世界的任何事物都是對(duì)象,它們都有一些靜態(tài)屬性,也都有一些有關(guān)的
操作。作為一個(gè)整體,這些對(duì)象對(duì)外不必公開這些屬性與操作。
模塊的凝聚性答:模塊的功能在邏輯上盡可能地單一化、明確化,最好做到一一
對(duì)應(yīng)。即每一個(gè)模塊實(shí)現(xiàn)一項(xiàng)明確的任務(wù),反之每一項(xiàng)任務(wù)僅由一個(gè)模塊來(lái)完成。
此即為模塊的凝聚性。
軟件工程答:為了從根本上提高軟件開發(fā)的效率和質(zhì)量,人們吸取在各種傳統(tǒng)產(chǎn)
業(yè)中的成功經(jīng)驗(yàn),從組織和管理的角度加強(qiáng)力量,使軟件生產(chǎn)從程序員的個(gè)人勞
動(dòng)提高成為有組織的、可控制的工程,這種開發(fā)軟件的方法就是軟件工程方法。
簡(jiǎn)言之,軟件工程方法就是以工程化的觀點(diǎn)來(lái)指導(dǎo)軟件開發(fā)的方法。
軟件開發(fā)工具答:在高級(jí)程序設(shè)計(jì)語(yǔ)言(第三代語(yǔ)言)的基礎(chǔ)上,為提高軟件開發(fā)
的質(zhì)量和效率,從規(guī)劃、分析、設(shè)計(jì)、測(cè)試、成文和管理各方面,對(duì)軟件開發(fā)者
提供各種不同程度的幫助的一類新型的軟件。其要點(diǎn)是:(1)它是在高級(jí)程序設(shè)
計(jì)語(yǔ)言(第三代語(yǔ)言)之后,軟件技術(shù)進(jìn)一步發(fā)展的產(chǎn)物;(2)它的目的是在人們開
發(fā)軟件中給予各種不同方面、不同程度的支持或幫助;(3)它支持軟件開發(fā)的全
過(guò)程,而不是僅限于編碼或其他穩(wěn)定的工作階段。
第四代語(yǔ)言(4GL)答:第四代語(yǔ)言的原意是非過(guò)程化的程序設(shè)計(jì)語(yǔ)言。針對(duì)以
處理過(guò)程為中心的第三代語(yǔ)言,它希望通過(guò)某些標(biāo)準(zhǔn)處理過(guò)程的自動(dòng)生成,使得
用戶可以只說(shuō)明要求做什么,而把具體的執(zhí)行步驟的安排交由軟件自動(dòng)處理。
可視化編程答:可視化編程:以“所見(jiàn)即所得”的編程思想為原則,力圖實(shí)現(xiàn)編
程工作的可視化,即隨時(shí)可以看到結(jié)果,程序的調(diào)整與后果的調(diào)整同步進(jìn)行。
總體測(cè)試答:由于設(shè)計(jì)不可能是百分之百地完美的,即使每個(gè)模塊都達(dá)到了設(shè)計(jì)
任務(wù)書的要求,整個(gè)系統(tǒng)能否達(dá)到預(yù)期的目標(biāo)還需要進(jìn)行測(cè)試,另外,完成的軟
件與編寫的文檔是否一致也是必須認(rèn)真檢查的。這一測(cè)試稱為總體測(cè)試。
所見(jiàn)即所得答:在程序設(shè)計(jì)時(shí),對(duì)于界面上的設(shè)計(jì)只需要用鍵盤或鼠標(biāo)在屏幕上
直接設(shè)計(jì),不用手寫代碼。設(shè)計(jì)人員在屏幕上看到的界面,就是所生成程序的運(yùn)
行界面。
設(shè)計(jì)工具答:設(shè)計(jì)工具是指在實(shí)現(xiàn)階段對(duì)人們提供幫助的工具。例如各種代碼生
成器,一般所說(shuō)的第四代語(yǔ)言,幫助人們進(jìn)行測(cè)試的工具(包括提供測(cè)試環(huán)境或
測(cè)試數(shù)據(jù))等,都屬于設(shè)計(jì)工具之列;它是最直接地幫助人們編寫與調(diào)試軟件的
工具。
分析工具答:分析工具主要是指用于支持需求分析的工具。它們雖不是直接幫助
人寫程序,但是它們幫助人們認(rèn)識(shí)與表述信息需求與信息流程,從邏輯上明確軟
件的功能與要求。
計(jì)劃工具答:計(jì)劃工具是從宏觀角度去看待軟件開發(fā)的軟件開發(fā)工具。它不僅從
項(xiàng)目管理的角度,幫助人們組織與實(shí)施項(xiàng)目,并且把有關(guān)進(jìn)度、資源、質(zhì)量、驗(yàn)
收情況等信息有條不紊地管理起來(lái),而且考慮到了項(xiàng)目的反復(fù)循環(huán)、版本更新實(shí)
現(xiàn)了“跨生命周期”的信息管理與共享,為信息以至軟件的重用創(chuàng)造了條件。
模塊測(cè)試答:模塊測(cè)試是根據(jù)總體設(shè)計(jì)時(shí)制定的各個(gè)模塊的設(shè)計(jì)任務(wù)書,對(duì)于程
序員完成模塊進(jìn)行驗(yàn)收看它們是否實(shí)現(xiàn)了所要求的功能是否達(dá)到了所要求的性
能指標(biāo)。
需求分析答:軟件開發(fā)人員從用戶的初始要求出發(fā),經(jīng)過(guò)大量的調(diào)查研究工作,
抽象出應(yīng)用領(lǐng)域中的實(shí)際的信息需求,設(shè)計(jì)出在計(jì)算機(jī)系統(tǒng)內(nèi)外的、合理的信息
流程,并規(guī)定出軟件系統(tǒng)的功能與性能要求。
程序答:程序是指一套事先編好并存人機(jī)器的指令。
所見(jiàn)即所得:“所見(jiàn)即所得”原則力圖實(shí)現(xiàn)編程工作的可視化即隨時(shí)可以看到結(jié)
果,程序的調(diào)整與后果的調(diào)整同步進(jìn)行。
開源軟件:開放源代碼的軟件。由開發(fā)者或知識(shí)產(chǎn)權(quán)所有者開放該功能模塊的源
代碼,提供給后續(xù)開發(fā)者免費(fèi)使用。
運(yùn)行時(shí)內(nèi)核:Eclipse中的平臺(tái)運(yùn)行庫(kù)是內(nèi)核,它在啟動(dòng)時(shí)檢查已安裝了哪些插
件,并創(chuàng)建關(guān)于其注冊(cè)表信息。JDK:Java開發(fā)工具,是一?個(gè)寫Java的applet
和應(yīng)用程序的程序開發(fā)環(huán)境。它是整個(gè)Java的核心,包括了Java運(yùn)行環(huán)境、
Java工具和Java基礎(chǔ)的類庫(kù)
EclipseCDT:專門用于編寫C和C++程序的Eclipse開發(fā)環(huán)境。
Eclipse工作臺(tái):Eclipse工作臺(tái)是一個(gè)高級(jí)用戶界面,它為用戶提供了一個(gè)整
體架構(gòu)和可擴(kuò)展的用戶界面。它是使用標(biāo)準(zhǔn)窗口工具包(SWT)和?個(gè)更高級(jí)的
API(JFace)來(lái)構(gòu)建
Eclipse工作空間:工作空間是Eclipse在用戶計(jì)算機(jī)磁盤上劃出的一塊區(qū)域,
用來(lái)存放用戶工作資料,如代碼、配置信息等。
Eclipse的視圖:視圖是Eclipse工作臺(tái)中的一個(gè)可視化的組件,它提供了用
戶正在工作臺(tái)中使用的一些對(duì)象的詳細(xì)信息通常用來(lái)瀏覽工作臺(tái)中的資源,顯示
編輯器中的屬性顯示程序狀態(tài)等。
導(dǎo)航器視圖:又稱資源管理器,顯示當(dāng)前Eclipse集成環(huán)境中加載的所有項(xiàng)目
和各個(gè)項(xiàng)目中的文件列表。
大綱視圖:顯示當(dāng)前活動(dòng)編輯器中所打開文件的綱要,如函數(shù)、變量等的視圖,
其內(nèi)容是特定于某個(gè)編輯器的。
控制臺(tái)視顯示程序運(yùn)行結(jié)果的視圖。
錯(cuò)誤視圖:編寫代碼時(shí),顯示程序中的錯(cuò)誤,提示用戶及時(shí)改正的視圖。
搜索視圖:顯示用戶搜索結(jié)果的詳細(xì)信息的視圖。
任務(wù)視圖:顯示程序代碼中未完成的任務(wù)的視圖。
編譯器:編譯器是工作臺(tái)中的一個(gè)可視化組件,是用來(lái)處理各種文檔的,它允許
用戶打開、編輯、查看和保存文檔對(duì)象。
項(xiàng)目:在Eclipse集成開發(fā)環(huán)境中,每個(gè)小程序都是以項(xiàng)目為單位存在的,源
代碼、注釋、配置文件、各種文件夾等都封裝在項(xiàng)目里。
歸檔文件:包括通過(guò)Jar命令或War命令打包后形成的壓縮文件。
文件系統(tǒng):指操作系統(tǒng)文件夾中的各類文件。
首選項(xiàng)文件:用戶可以通過(guò)首選項(xiàng)文件來(lái)個(gè)性化定制Eclipseo
MinGW編譯器:MinGW是指用來(lái)生成純粹的Win32可執(zhí)行文件的編譯環(huán)境,它
是以GNU為基礎(chǔ)的開發(fā)C/C++
項(xiàng)目的工具集,能夠提供C/C++所需要的頭文件和庫(kù)文件。
瀏覽功能:瀏覽功能可以從多個(gè)角度快速查看并定位到程序中的各個(gè)元素包括代
碼的層次結(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é)Eelipse提供的瀏覽功能可以瀏覽函數(shù)的定義與調(diào)用層次關(guān)系
并快速定位到需要的函數(shù)。
文件包含瀏覽器:用于瀏覽程序中包含的頭文件。
打開元素:Eclipse將命名空間、類、結(jié)構(gòu)、類型定義符、函數(shù)、變量等定義為
元素,通過(guò)瀏覽功能,可以迅速打開需要的元素。
重構(gòu)功能:使用Eclipse重構(gòu)功能,可以在不影響程序行為的情況下進(jìn)行系統(tǒng)
范圍內(nèi)的代碼更改。
抽取方法:將程序中多次出現(xiàn)的代碼段抽取出來(lái)形成方法,可以減少代碼的長(zhǎng)度
并增加程序的可讀性和易維護(hù)性,同時(shí)使方法的調(diào)用清晰簡(jiǎn)單。
抽取常量:抽取常量是將程序中的數(shù)字、字符等定義為常量,使得對(duì)常量的調(diào)用
和修改變得簡(jiǎn)單。
GDB:GDB是GNU開嫄組織發(fā)布的一個(gè)強(qiáng)大的UNIX(不僅限于UNIX)工具,
搭配MinGW使用,可以使用戶完成整個(gè)C/C++程序的編譯和運(yùn)行工作。
斷點(diǎn):斷點(diǎn)是程序調(diào)試中的重要概念,它可以使程序在運(yùn)行到斷點(diǎn)位置時(shí)自動(dòng)暫
停并且顯示程序的當(dāng)前狀態(tài)。
方法斷點(diǎn):對(duì)某個(gè)方法或函數(shù)設(shè)置斷點(diǎn),在程序運(yùn)行到該方法的第一行時(shí)自動(dòng)暫
停。
事件斷點(diǎn):在程序運(yùn)行過(guò)程中發(fā)生特定事件時(shí)(如異常觸發(fā)、線程啟動(dòng)、線程退
出等)將程序暫停。
調(diào)試視圖:顯示當(dāng)前調(diào)試的程序的線程和所處的狀態(tài)。
變量視圖:顯示整個(gè)調(diào)試過(guò)程中程序變量值的變化情況,變量視圖是幫助程序員
差錯(cuò)和糾錯(cuò)的主要手段。
單步遍歷程序:?jiǎn)尾奖闅v程序可以讓用戶逐行地運(yùn)行整個(gè)程序。
單步跳入:線程將運(yùn)行所在行的程序,并在下一個(gè)可暫停位置后暫停執(zhí)行。
單步跳過(guò):線程將跳過(guò)該行,并運(yùn)行至下一個(gè)可暫停位置后暫停執(zhí)行。單步返回:
單步返回僅對(duì)函數(shù)調(diào)用時(shí)有效,如當(dāng)main函數(shù)調(diào)用其他函數(shù)時(shí),執(zhí)行單步返回
操作即可跳出該函數(shù)返回main函數(shù)繼續(xù)執(zhí)行調(diào)試。
格式化代碼:格式化代碼功能可以幫助用戶將凌亂的程序代碼格式化為自己習(xí)慣
的排列方式。
版本控制軟件:版本控制軟件能夠完整的保存軟件開發(fā)中對(duì)應(yīng)用程序每一個(gè)源文
件所有的修改記錄。
并發(fā)版本控制系統(tǒng)CVS:使用CVS可以對(duì)代碼進(jìn)行集中管理,記錄代碼所有的
更改歷史,提供協(xié)作開發(fā)的功能并支持多人同時(shí)修改代碼文件。
互斥性修改:某一程序在同一時(shí)間只能由一個(gè)開發(fā)人員修改。
資源庫(kù):資源文件的集合。即軟件資源的存放地,是放置開發(fā)的代碼并對(duì)其進(jìn)行
控制管理的一個(gè)文件夾。
工作備份:用戶對(duì)資源的修改不是直接在Server端進(jìn)行的,
而是根據(jù)資源庫(kù)的內(nèi)容創(chuàng)建一個(gè)本地的工作備份,用戶在工作備份中工作,工作
完成后再將修改的內(nèi)容提交到資源庫(kù)。
提出(簽出)Checkout:獲得工作備份的操作。從CVS資源庫(kù)中復(fù)制一個(gè)軟件
鏡像到本機(jī)的工作空間中,此時(shí)代碼和CVS中的代碼是一致的。這項(xiàng)技術(shù)稱為
“提出”。
提交:將對(duì)工作備份的修改反映到資源庫(kù)中的操作。
代碼同步:程序開發(fā)過(guò)程中,本地代碼和CVS資源庫(kù)代碼可能會(huì)產(chǎn)生差別,這
可能是代碼之間存在增減或沖突等關(guān)系造成的,代碼同步操作可以使代碼保持…
致。
CVS中的沖突:在資源庫(kù)與工作備份之間狀態(tài)不一致的狀態(tài)下進(jìn)行簽入或更新操
作時(shí),版本管理系統(tǒng)可能會(huì)盡量進(jìn)行合并,如果版本管理系統(tǒng)不能完全處理上述
不一致,就稱之產(chǎn)生了沖突。
插件:插件是一種遵循其所依附的軟件的接口規(guī)范所編寫出來(lái)的程序,是對(duì)原有
軟件的擴(kuò)展。
惰性導(dǎo)入機(jī)制:在Eclipse啟動(dòng)時(shí),僅加載必要的核心,其它的功能插件使用
時(shí)才加載進(jìn)來(lái),這樣節(jié)省了大量的導(dǎo)入和初始化插件的時(shí)間,提高了Eclipse
平臺(tái)的運(yùn)行效率,這一機(jī)制稱為惰性機(jī)制。PDE:插件開發(fā)環(huán)境,幫助開發(fā)者創(chuàng)
建、開發(fā)、測(cè)試、調(diào)試和部署插件,同時(shí)提供開發(fā)片段、功能部件和更新站點(diǎn)的
工具,協(xié)助開發(fā)者完成插件開發(fā)的全過(guò)程。
UML:統(tǒng)一建模語(yǔ)言,是一種面向?qū)ο蟮慕UZ(yǔ)言,它提供了描述軟件系統(tǒng)模型
的概念和圖形表示法,采用了面向?qū)ο蟮募夹g(shù)和方法,體現(xiàn)面向?qū)ο蟮姆治雠c設(shè)
計(jì)風(fēng)格。它可以實(shí)現(xiàn)大型復(fù)雜系統(tǒng)各種成分描述的可視化、說(shuō)明并構(gòu)造系統(tǒng)模型,
以及建立各種所需的文檔,是一種定義良好易于表達(dá)功能強(qiáng)大且普遍適用的建模
語(yǔ)言。
抽象:抽象是人們認(rèn)識(shí)客觀世界復(fù)雜性的--種基本方法。抽象是事物或現(xiàn)象的簡(jiǎn)
括描述,突出事物或現(xiàn)象之間的共性,而暫不考慮它們之間的差異。
方法:方法是駐留在對(duì)象中的過(guò)程。方法是當(dāng)對(duì)象接受消息時(shí)執(zhí)行的操作,方法
還能發(fā)送消息至其他請(qǐng)求動(dòng)作或信
息的對(duì)象。
類:類是對(duì)一組幾乎相同的對(duì)象的描述。
屬性:屬性由靜態(tài)的數(shù)據(jù)組成,用以描述類和對(duì)象所固有的特征,是類和對(duì)象的
性質(zhì)。
封裝:封裝即信息隱藏。封裝使一個(gè)對(duì)象形成兩個(gè)部分:接口部分和實(shí)現(xiàn)部分。
對(duì)用戶來(lái)說(shuō),接口部分是可見(jiàn)的,
而具體實(shí)現(xiàn)部分則不可見(jiàn)。
繼承:繼承指對(duì)象繼承它所在類的結(jié)構(gòu)。體現(xiàn)了父類和子類之間的共享機(jī)制。子
類可以繼承其父類的特性,同時(shí)可以有自己的新特性和新方法。
多態(tài):多態(tài)指不同事物具有不同表現(xiàn)形式的能力,多態(tài)機(jī)制使具有不同內(nèi)部結(jié)構(gòu)
的對(duì)象可以共享相同的外部接口,不同對(duì)象接到同一個(gè)消息可以產(chǎn)生完全不同的
結(jié)果。
組件:組件是一個(gè)可重用的軟件構(gòu)件,一個(gè)預(yù)先構(gòu)建的封裝的代碼模塊,它能夠
與其他組件或硬編碼一起很快地生成定制的應(yīng)用程序。
視圖:視圖是從不同角度來(lái)觀察待建模的系統(tǒng)。它是由多個(gè)圖表組成的抽象體。
使用事件視圖(用例視圖):從系統(tǒng)外部使用者對(duì)系統(tǒng)的需求來(lái)描述該系統(tǒng)工程
所應(yīng)具備和完成的功能,是UML的核心視圖。
邏輯視圖:用于描述系統(tǒng)內(nèi)實(shí)現(xiàn)的邏輯功能。它描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)關(guān)系和系
統(tǒng)內(nèi)的動(dòng)態(tài)協(xié)作關(guān)系。
組件視圖:從系統(tǒng)實(shí)現(xiàn)的角度描述模型對(duì)象間的關(guān)系。
配置視圖:用于說(shuō)明系統(tǒng)的物理配置,如所用的計(jì)算機(jī)和設(shè)備以及相互間的連接
關(guān)系。
用例圖:用于描述外部項(xiàng)與系統(tǒng)提供的使用事件之間的聯(lián)系。
類圖:用于描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。
對(duì)象圖:用于表述系統(tǒng)的靜態(tài)結(jié)構(gòu)。它使用與類圖一樣的符號(hào)表示,但不是同
一種圖,對(duì)象圖表示的是類中的許多對(duì)象實(shí)例,而不是類本身。
狀態(tài)圖用于說(shuō)明類中的對(duì)象可能具有的狀態(tài)以及由事件引起狀態(tài)改變。
順序圖:用于描述對(duì)象間的動(dòng)態(tài)協(xié)作關(guān)系。由一條縱線上的一些對(duì)象組成,以時(shí)
間流動(dòng)為方向,表達(dá)對(duì)象間消息
的交換。
協(xié)作圖用于描述對(duì)象動(dòng)態(tài)協(xié)作關(guān)系。
活動(dòng)圖:用于描述系統(tǒng)活動(dòng)的流程。
組件圖:用于描述組件代碼的物理結(jié)構(gòu)??梢允谴a組件、二進(jìn)制文件或任意可
執(zhí)行的組件。
配置圖:用于描述系統(tǒng)中軟件和硬件的物理結(jié)構(gòu)。
模型元素:各種圖表中所用的概念符號(hào)稱為模型元素。
UML的基本機(jī)制:UML的基本機(jī)制表現(xiàn)為各種圖表上的附加信息,用于描述那些
模型無(wú)法表達(dá)的內(nèi)容。包括修
飾、注釋、說(shuō)明三種方式。
簡(jiǎn)述軟件開發(fā)工具的演變過(guò)程和原因
軟件開發(fā)工具的演變是從無(wú)到有,從分散到集中的過(guò)程,是軟件發(fā)展的必然趨勢(shì)。
主要分為四個(gè)階段:
第一階段:利用通用軟件作為輔助工具的階段——沒(méi)有專用軟件開發(fā)工具的階
段。
第二階段:專用的軟件開發(fā)工具階段。如:
第三階段:集成的軟件開發(fā)工具階段。如:
第四階段:面向網(wǎng)絡(luò)和開源軟件的軟件開發(fā)工具階段。
試論述軟件開發(fā)方法發(fā)展的新階段的特點(diǎn)。
答:要點(diǎn):(1)自動(dòng)化程度的提高。(2)明確地把需求分析包括進(jìn)了軟件工作的范
圍之內(nèi)。(3)把軟件開發(fā)工作延伸到項(xiàng)目及版本管理,從而超出了一次編程的局
限。(4)在這一階段的研究中,吸收了許多管理科學(xué)的內(nèi)容與方法,如程序員的
組織、質(zhì)量的控制等。
軟件開發(fā)工具的性能指標(biāo):表達(dá)能力或描述能力保持信息致的能力使用的方
便程度工具的可靠程度對(duì)硬件軟件的環(huán)境的要求
軟件開發(fā)工具概念的要點(diǎn)是什么?
答:(1)它是在高級(jí)程序設(shè)計(jì)語(yǔ)言(第三代語(yǔ)言)之后,軟件技術(shù)進(jìn)一步發(fā)展的產(chǎn)物;
⑵它的目的是在人們開發(fā)軟件中給予各種不同方面、不同程度的支持或幫助;(3)
它支持軟件開發(fā)的全過(guò)程,而不是僅限于編碼或其它穩(wěn)定的工作階段。
試述軟件開發(fā)的過(guò)程。
答:(1)需求分析階段:根據(jù)初始要求形成嚴(yán)格的、明確的、可供實(shí)際開發(fā)使用
的軟件功能說(shuō)明書。(2)總體設(shè)計(jì)階段:根據(jù)軟件功能說(shuō)明書的要求,完成軟件
的總體設(shè)計(jì),這包括整個(gè)軟件的結(jié)構(gòu)設(shè)計(jì),公用的數(shù)據(jù)文件或數(shù)據(jù)庫(kù)的設(shè)計(jì),各
部分的連接方式及信息交換的標(biāo)準(zhǔn)等幾個(gè)主要內(nèi)容。(3)實(shí)現(xiàn)階段:完成程序的
編寫與文檔的編寫。(4)調(diào)試階段:進(jìn)行模塊的調(diào)試與整個(gè)軟件的聯(lián)調(diào)。
學(xué)習(xí)軟件開發(fā)工具的目的是什么?
答:了解軟件開發(fā)工具的概念、理論基礎(chǔ)、基本功能、發(fā)展現(xiàn)狀與前景,以便能
夠在實(shí)際工作中正確地選擇與使用軟件開發(fā)工具,在必要時(shí)能夠參加或組織軟件
開發(fā)工具的自行研制,從而達(dá)到提高軟件工作水平與效率之目標(biāo)。這就是學(xué)習(xí)軟
件開發(fā)工具的目的。
試述軟件開發(fā)工具的類別。
答:(1)按支持的工作階段劃分:設(shè)計(jì)工具:是最具體的工具,在實(shí)現(xiàn)階段對(duì)人
們提供幫助。分析工具:主要用于支持需求分析。計(jì)劃工具:從更宏觀的角
度去看待軟件開發(fā)。(2)按集成程度劃分:?jiǎn)蜗蚬ぞ撸簩S玫?、面?duì)某一工作階
段或某一工作任務(wù)的工具。集成工具:集成化的、面對(duì)軟件開發(fā)的全過(guò)程的工具。
⑶按與硬件、軟件的關(guān)系劃分:依賴于特定機(jī)器或軟件的工具。獨(dú)立于機(jī)器與
軟件的工具。
試述現(xiàn)階段軟件技術(shù)的特點(diǎn)
答:(1)自動(dòng)化程度的提高。由于代碼生成等技術(shù)的應(yīng)用,在一些特定的條件下,
可以較容易地自動(dòng)生成第三代語(yǔ)言(或更低級(jí)的語(yǔ)言)的代碼,從而大大節(jié)省人力
和時(shí)間。(2)明確地把需求分析包括進(jìn)了軟件工作的范圍之內(nèi),從而使軟件開發(fā)
過(guò)程進(jìn)一步向用戶方面延伸,離用戶更近了。這是軟件技術(shù)向前邁進(jìn)的重要一步。
⑶把軟件開發(fā)工作延伸到項(xiàng)目及版本管理,從而超出了一次編程的局限,而擴(kuò)
展到了作為一個(gè)不斷發(fā)展的客體生長(zhǎng)完善的全過(guò)程。這也是軟件研制從個(gè)體的、
手工作坊的方式向科學(xué)的、有組織、有計(jì)劃的方式轉(zhuǎn)變的一個(gè)重要表現(xiàn)。(4)在
這一階段的研究中,吸收了許多管理科學(xué)的內(nèi)容與方法,如程序員的組織、質(zhì)量
的控制等。
軟件開發(fā)工具的范圍是什么?
答:軟件開發(fā)工具的范圍大致可以描述為:在高級(jí)程序設(shè)計(jì)語(yǔ)言(第三代語(yǔ)言)的
基礎(chǔ)上,為提高軟件開發(fā)的質(zhì)量和效率,從規(guī)劃、分析、測(cè)試、成文和管理各方
面,對(duì)軟件開發(fā)者提供各種不同程度的幫助的一類新型的軟件。對(duì)于本概念可以
從以下幾個(gè)方面去理解。首先,它是一類軟件,是開發(fā)軟件用的軟件。其次,它
是在第三代語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的。第三,這里強(qiáng)調(diào)對(duì)軟件開發(fā)全過(guò)程中各個(gè)
階段的支持。
軟件開發(fā)工作的發(fā)展過(guò)程是什么?
答:四個(gè)不同的階段(1)用機(jī)器語(yǔ)言開發(fā)軟件把用戶已經(jīng)明確表述出來(lái)的算法,
用機(jī)器語(yǔ)言寫成一系列機(jī)器指令,供硬件運(yùn)行使用。這是人們對(duì)軟件開發(fā)工作的
最初的認(rèn)識(shí)。(2)用匯編語(yǔ)言開發(fā)軟件,由匯編程序完成轉(zhuǎn)換。匯編語(yǔ)言產(chǎn)生之
后,編程工作改為用匯編語(yǔ)言進(jìn)行,編好的匯編指令由匯編程序轉(zhuǎn)化為機(jī)器指令,
再交硬件執(zhí)行。軟件開發(fā)工作離硬件遠(yuǎn)了,離用戶近了(3)用高級(jí)語(yǔ)言開發(fā)軟件,
由編譯程序完成轉(zhuǎn)換高級(jí)程序設(shè)計(jì)語(yǔ)言不再與機(jī)器指令--對(duì)應(yīng),而且更加接近
人類習(xí)慣的自然語(yǔ)言。軟件開發(fā)離機(jī)器更遠(yuǎn)了,離用戶更近了(4)在各種軟件開
發(fā)工具的幫助下開發(fā)軟件,由編譯程序完成轉(zhuǎn)換。這是軟件開發(fā)工作發(fā)展的新階
段,也使軟件開發(fā)工作的概念從一次性的、具體的編程,擴(kuò)大到了長(zhǎng)期的、不斷
更新的過(guò)程。
試述用通用軟件幫助軟件開發(fā)的弱點(diǎn)
答:用通用軟件來(lái)幫助軟件開發(fā)人員編寫文檔或畫圖可以減少不少工作量,但是
這種幫助實(shí)在是太表面、太初步了。用通用軟件幫助軟件開發(fā)有三個(gè)主要的弱點(diǎn)。
第、有許多工作是通用軟件所無(wú)法完成的。第二,用通用軟件完成某些工作,
只能表現(xiàn)出其表面的
形式,而不能反映其邏輯內(nèi)涵。第三,用通用軟件來(lái)
幫助人們完成軟件開發(fā)工作時(shí),常常遇到難于保持一致性的困難。
軟件開發(fā)分為那幾個(gè)階段,各階段的文檔是什么?
答:(1)需求分析。根據(jù)初始要求形成嚴(yán)格的、明確的、可供實(shí)際開發(fā)使用的功
能說(shuō)明書。(2)總體設(shè)計(jì)。根據(jù)軟件功能說(shuō)明書的要求,完成軟件的總體設(shè)計(jì),
這包括整個(gè)軟件的結(jié)構(gòu)設(shè)計(jì)用的數(shù)據(jù)文件或數(shù)據(jù)庫(kù)的設(shè)計(jì),各部分的連接方式及
信息交換的標(biāo)準(zhǔn)等兒個(gè)主要內(nèi)容。(3)實(shí)現(xiàn)階段。完成程序的編寫與文檔的編寫。
(4)測(cè)試或調(diào)試階段。包括模塊的調(diào)試與整個(gè)軟件的聯(lián)調(diào)。
簡(jiǎn)述軟件開發(fā)工具的功能要求
答:(1)認(rèn)識(shí)與描述客觀系統(tǒng)。主要是用在軟件開發(fā)工作的第一個(gè)階段——需求
分析階段。需求分析工作不確定程度高,更需要經(jīng)驗(yàn),更難形成規(guī)范化,(2)存
儲(chǔ)及管理開發(fā)過(guò)程中的信息在軟件開發(fā)的各階段都要產(chǎn)生及使用許多信息(3)
代碼的編寫或生成在整個(gè)軟件開發(fā)工作過(guò)程,程序編寫工作占了相當(dāng)比例的
人力物力和時(shí)間,提高代碼的編制速度與效率顯然是改進(jìn)軟件工作的一個(gè)重要方
面。(4)文檔的編制或生成文檔編寫工作也是軟件開發(fā)工作中十分繁重的一項(xiàng)
工作,不但費(fèi)時(shí)費(fèi)力,而且很難保持一致。在這方面,計(jì)算機(jī)輔助的作用可以得
到充分的發(fā)揮。(5)軟件項(xiàng)目的管理這方面的功能更明確地是為項(xiàng)目管理人員
提供支持,而不是為程序員提供支持。
簡(jiǎn)述軟件開發(fā)工具的項(xiàng)目管理功能。
答:項(xiàng)目管理功能明確地是為項(xiàng)目管理人員提供支持,而不是為程序員提供支持。
一般來(lái)說(shuō),項(xiàng)目管理包括進(jìn)度管理,資源與費(fèi)用管理,質(zhì)量管理三個(gè)基本內(nèi)容,
在這方面項(xiàng)目管理已有不少成功的經(jīng)驗(yàn)、方法與軟件工具。對(duì)于軟件項(xiàng)目來(lái)說(shuō),
還有兩個(gè)比較特殊的問(wèn)題。首先是測(cè)試工作方面的支持,由于軟件的質(zhì)量比較難
以測(cè)定,所以不僅需要根據(jù)設(shè)計(jì)任務(wù)書提出測(cè)試方案,而且還需要提供相應(yīng)的測(cè)
試環(huán)境與測(cè)試數(shù)據(jù)。人們很自然地希望軟件開發(fā)工具能夠在這些方面提供幫助。
另一個(gè)問(wèn)題是版本管理問(wèn)題。當(dāng)軟件規(guī)模比較大的時(shí)候,版本的更新,各模塊之
間以及模塊與使用說(shuō)明之間的一致性,向外提供的版本的控制等,都帶來(lái)一系列
十分復(fù)雜的版本管理問(wèn)題。如果軟件開發(fā)工具能夠在這些方面給予支持或幫助,
無(wú)疑將有利于軟件開發(fā)工作的進(jìn)步。
為什么說(shuō)高級(jí)語(yǔ)言出現(xiàn)后計(jì)算機(jī)真正獲得了應(yīng)用?
答:第三代語(yǔ)言突破了與機(jī)器指令一一對(duì)應(yīng)的限制,用盡可能接近自然語(yǔ)言的表
達(dá)方式描述人們?cè)O(shè)想的處理過(guò)程,而把這種表達(dá)方式向機(jī)器指令的轉(zhuǎn)化工作,交
給專門的“工具”——編譯系統(tǒng)去完成。另一個(gè)重要的變化是高級(jí)設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)
了對(duì)機(jī)器的獨(dú)立性,即它不依賴特定的硬件系統(tǒng),抽象地邏輯地描述處理和算法,
而把硬件系統(tǒng)之間的區(qū)別交給不同的編譯系統(tǒng)去處理,從而大大提高了程序的可
移植性。這一進(jìn)步的影響非常巨大、非常深遠(yuǎn)。從六十年代以來(lái),面向各個(gè)領(lǐng)域
的,面向各種應(yīng)用的程序設(shè)計(jì)語(yǔ)言如雨后春筍般涌現(xiàn)出來(lái),至今勢(shì)頭不減。也正
因?yàn)橛辛诉@些語(yǔ)言,在短短的二、三十年中,計(jì)算機(jī)技術(shù)才真正地獲得了應(yīng)用。
何謂第四代語(yǔ)言的非過(guò)程化思想?
答:人們希望機(jī)器能夠自動(dòng)地完成某些工作,包括自動(dòng)安排某些(不是全部)工作
的順序,而做到只要給機(jī)器下達(dá)做什么的命令,由機(jī)器自己去安排執(zhí)行的/頃序。
這就是第四代語(yǔ)言——非過(guò)程化語(yǔ)言的思想。
軟件工作的重要性何在?
答:軟件工作的重要性現(xiàn)在已經(jīng)為越來(lái)越多人所認(rèn)識(shí)。軟件是計(jì)算機(jī)的靈魂。的
確,如果沒(méi)有相應(yīng)的、適用的軟件,計(jì)算機(jī)是不可能在各種應(yīng)用領(lǐng)域中發(fā)揮作用
的。我們可以進(jìn)一步說(shuō),軟件是廣大使用者與計(jì)算機(jī)之間的橋梁,軟件是人類在
各個(gè)領(lǐng)域中積累的知識(shí)的結(jié)晶,軟件是人類文明與知識(shí)得以延續(xù)的新的載體,軟
件是人類進(jìn)一步成為一個(gè)整體,得以進(jìn)一步相互聯(lián)系的紐帶。
集成化的開發(fā)工具是在什么背景下產(chǎn)生的?
答:由于大量的專用軟件開發(fā)工具的出現(xiàn),為軟件開發(fā)的各個(gè)階段提供了具體的
支持,但它們是零散、分散地支持各個(gè)工作階段,這些專用工具之間沒(méi)有有機(jī)地
聯(lián)系起來(lái),從而必然造成沖突與矛盾。這就給用戶造成了沉重的、不堪忍受的負(fù)
擔(dān),使用工具越多這種負(fù)擔(dān)越重,以致抵消了使用工具帶來(lái)的益處。這種情況導(dǎo)
致了集成的軟件開發(fā)工具的產(chǎn)生。
試述軟件開發(fā)工具的性能指標(biāo)。
答:(1)表達(dá)能力:因?yàn)檐浖?xiàng)目的情況干變?nèi)f化,軟件開發(fā)工具要能夠適用于
某些軟件項(xiàng)目,就要能適應(yīng)軟件項(xiàng)目的種種不同的情況,否則就不可能對(duì)軟件開
發(fā)提供有效的、實(shí)際的幫助。(2)邏輯能力(一致性的保證)軟件開發(fā)工作要求軟件
開發(fā)工具不但要為人們存儲(chǔ)大量的有關(guān)信息,而且要有條不紊地管理這些信息,
而管理的主要內(nèi)容就是保持它的一致性,至少在出現(xiàn)不一致的情況時(shí)要能夠給出
警告與提示。(3)人機(jī)界面水平(易用程度)對(duì)于軟件開發(fā)工具來(lái)說(shuō),是否易用是一
項(xiàng)重要的性能指標(biāo)。(4)防錯(cuò)能力(可靠性)軟件開發(fā)工具應(yīng)當(dāng)具有足夠的可靠性,
即在各種各樣干擾下仍能保持正常工作,而不致丟失或弄錯(cuò)息。(5)對(duì)硬軟環(huán)境
的要求軟件開發(fā)工具對(duì)環(huán)境的要求不應(yīng)當(dāng)超出它所支持的應(yīng)用軟件的環(huán)境要求,
有時(shí)甚至還應(yīng)當(dāng)?shù)陀趹?yīng)用軟件的環(huán)境要求。軟件開發(fā)工具的環(huán)境要求應(yīng)當(dāng)盡量降
低,以有利于廣泛使用。
什么是對(duì)象?答:面向?qū)ο蟮姆椒ㄊ侨藗冊(cè)噲D解決軟件危機(jī)的一種嘗試。
E.Yourdon在回顧從事信息處理工作的實(shí)踐經(jīng)驗(yàn)中,談到了多次出現(xiàn)的矛盾與
沖突,認(rèn)為其根源在于割裂了數(shù)據(jù)和功能這兩個(gè)要素。如果從一開始,就把數(shù)據(jù)
和功能結(jié)合在一起,即把信息的靜態(tài)屬性一數(shù)據(jù)結(jié)構(gòu),和的處理一功能模塊,從
根本上結(jié)合起來(lái),那么這些矛盾和沖突也就迎刃而解了。這就是“對(duì)象這個(gè)概念
的由來(lái)。
什么是即插即用的軟件設(shè)計(jì)方法答:一部分人專門生產(chǎn)軟件組件,而另一部分人
則構(gòu)造整個(gè)軟件的結(jié)構(gòu),并且把軟件組件插入這個(gè)結(jié)構(gòu),以便迅速地完成大型軟
件的研制工作,這就是即插即用的軟件設(shè)計(jì)方法。
試述軟件組件的概念答:軟件組件相當(dāng)于硬件中的芯片,具有一定的標(biāo)準(zhǔn),如輸
入輸出的格式、參數(shù)的數(shù)量與類型類型等。從另一方面講,軟件組件C++庫(kù)中的
函數(shù)是一回事。如果類庫(kù)中有足夠多的類及相應(yīng)的函數(shù)的話,程序設(shè)計(jì)的工作量
就會(huì)減輕許多。
什么是標(biāo)準(zhǔn)化的軟件部件?
答:標(biāo)準(zhǔn)化軟件部件指按一定的標(biāo)準(zhǔn)制作的軟件組件,如同硬件芯片那樣為大家
共用,因而要對(duì)每一個(gè)輸入與輸出進(jìn)行詳細(xì)的規(guī)定。對(duì)一大批變量與結(jié)構(gòu)進(jìn)行說(shuō)
明和定義,而這些至今尚無(wú)統(tǒng)一的標(biāo)準(zhǔn)。特別是對(duì)于各種對(duì)象的定義,很難寫出
標(biāo)準(zhǔn)。
試述結(jié)構(gòu)化程序設(shè)計(jì)的要點(diǎn)1)限制甚至不用GOTO語(yǔ)句,絕對(duì)禁止超越模塊邊
界的GOTO語(yǔ)句。2)子程序盡可能做到只有一個(gè)入口、一個(gè)出口。3)程序風(fēng)
格應(yīng)盡量明確、清晰,包括適當(dāng)增加注釋,書寫格式體現(xiàn)層次結(jié)構(gòu)(如循環(huán)內(nèi)的
語(yǔ)句一致地右移兩格),變量名稱的選用盡量具有邏輯意義等。4)在程序編寫的
同時(shí)完成有關(guān)的文檔編撰,不要拖延時(shí)間。
工程化思想的要點(diǎn)是什么?答:對(duì)一項(xiàng)工作的步驟作出嚴(yán)格的規(guī)定,其順序決不
能顛倒,前一項(xiàng)任務(wù)沒(méi)有完成或沒(méi)有達(dá)到必要的標(biāo)準(zhǔn)時(shí),后一項(xiàng)任務(wù)就不能開始,
每一個(gè)階段都有各自的明確的任務(wù),明確的起點(diǎn),明確的終點(diǎn),特別是要有確切
的、可以檢查的成果。
軟件工程的基本方法是什么?1)對(duì)于軟件開發(fā)的工作過(guò)程進(jìn)行規(guī)范。將軟件開
發(fā)過(guò)程分為若干個(gè)階段,如需求分析、總體設(shè)計(jì)、編碼、測(cè)試、運(yùn)行及維護(hù)等。
2)加強(qiáng)標(biāo)準(zhǔn)化。一方面是表達(dá)方式的標(biāo)準(zhǔn)化,另一方面是對(duì)工作的質(zhì)量及檢查
制訂標(biāo)準(zhǔn)設(shè)置檢查點(diǎn),
面向?qū)ο蟮某绦蛟O(shè)計(jì)方法的要點(diǎn)?答1)客觀世界的任何事物都是對(duì)象,它們都
有一些靜態(tài)屬性,也都有一些有關(guān)的操作。作為一個(gè)整體,這些對(duì)象對(duì)外不心公
開這些屬性與操作。2)對(duì)象之間有抽象與具體,群體與個(gè)體,整體與部分等兒
種關(guān)系。這些關(guān)系則構(gòu)成對(duì)象的網(wǎng)絡(luò)結(jié)構(gòu)。3)抽象的、較大的對(duì)象所具有的性
質(zhì),包括靜態(tài)屬性和動(dòng)態(tài)操作,自然地成為它的子類的性質(zhì),不必加以說(shuō)明或規(guī)
定。4)對(duì)象之間可以互送消息,這一消息可以是傳送一個(gè)參數(shù),也可以是使這
個(gè)對(duì)象開始某個(gè)操作。
大型軟件開發(fā)中的困難有哪些?答:1)一致性的保持。每個(gè)人對(duì)這些問(wèn)題的理
解可能有同,而程序的編寫又是個(gè)人的、腦力的勞動(dòng),很難加以控制。2)測(cè)試
的問(wèn)題。修改程序時(shí),改動(dòng)一處,影響到多處而檢驗(yàn)只能證明程序有錯(cuò),不能證
明程序沒(méi)錯(cuò)3)工作進(jìn)度的控制。4)文檔與代碼的協(xié)調(diào)5)版本更新帶來(lái)的問(wèn)題。
很容易出現(xiàn)新版本中各部分代碼不一致和代碼與文檔不一致的情況。
大型軟件開發(fā)時(shí)產(chǎn)生困難的原因何在?答(1)大系統(tǒng)的復(fù)雜性。大系統(tǒng)之所以復(fù)
雜,是由于量的變化引起了質(zhì)的變化。同一個(gè)問(wèn)題,在小程序中容易解決,而在
大型軟件很難處理。(2)多人協(xié)同工作的組織管理。當(dāng)組織許多人共同完成一項(xiàng)
大的軟件開發(fā)任務(wù)時(shí),分工和協(xié)調(diào)頗為關(guān)鍵。分工是否合理,信息是否能及時(shí)地
溝通,步調(diào)是否能一致,都需要精心地安排與考慮。(3)領(lǐng)域知識(shí)與軟件技術(shù)(4)
時(shí)間因素及變更因素。用戶需求的變化,社會(huì)環(huán)境的變化,硬件及相關(guān)技術(shù)的變
化,處處給軟件工作提出新要求
組合文件的思想是什么?答組合文件的思想源于硬件制造。一部分人專門生產(chǎn)相
當(dāng)于芯片的軟件組件,而另一部分人則構(gòu)造相當(dāng)于計(jì)算機(jī)結(jié)構(gòu)的整個(gè)軟件的結(jié)
構(gòu),并且把軟件組件插入這個(gè)結(jié)構(gòu),迅速地完成大型軟件的研制工作。
試述面向?qū)ο蟮牡幕咎卣骱蛢?yōu)點(diǎn)。
答:(1)封裝性:把數(shù)據(jù)和對(duì)它的處理綜合成一個(gè)整體。(2)遺傳性:類與子類之
間屬性的傳遞。(3)多態(tài)性:同樣的消息被不同的對(duì)象接受以后,會(huì)因不同對(duì)象
中所含方法的不同,而導(dǎo)致不同的行動(dòng)。(4)持久性為對(duì)象分配空間確實(shí)駐留內(nèi)
存時(shí)間長(zhǎng)短保證內(nèi)存的有效使用
怎樣建立一個(gè)好的項(xiàng)目組?答:(1)有嚴(yán)格的工作規(guī)范和文檔標(biāo)準(zhǔn)必須要有嚴(yán)格
的、成文的工作規(guī)范和文檔標(biāo)準(zhǔn),而且應(yīng)當(dāng)為全體成員所熟知,并且切實(shí)得到遵
守。(2)人員之間有嚴(yán)格的分工。除了程序員之外,必須有專門的秘書(負(fù)責(zé)文檔
的收集、審核及保管),必須有專門的測(cè)試人員(負(fù)責(zé)測(cè)試和驗(yàn)收有關(guān)的部分),特
別是要有專職的,不限于具體編程的項(xiàng)目負(fù)責(zé)人。(3)每個(gè)項(xiàng)目有詳細(xì)的時(shí)間安
排并嚴(yán)格執(zhí)行每個(gè)項(xiàng)目都要事先制定詳細(xì)的時(shí)間表,并且得到嚴(yán)格執(zhí)行。每一項(xiàng)
目完成之后都有完整的資料,并得到妥善保存,一旦需要修改或更新版本時(shí)可以
立即使用。
項(xiàng)目組對(duì)程序員的約束有哪些?答:(1)保證嚴(yán)格地在本模塊范圍內(nèi)操作,決不要
使用可能干擾其它模塊的命令或函數(shù)。(2)嚴(yán)格按總體設(shè)計(jì)的要求和理解去傳遞
參數(shù)值,決不要隨意修改其內(nèi)容或含義。(3)在對(duì)公用的文件或數(shù)據(jù)庫(kù)進(jìn)行存取
時(shí),必須完全地、準(zhǔn)確地按統(tǒng)一規(guī)定的格式去操作,決不能擅自改變。(4)在使
用標(biāo)識(shí)符時(shí),應(yīng)按照統(tǒng)一的原則,盡量使用易于看出邏輯含義的名稱。特別是涉
及公用數(shù)據(jù)及參數(shù)的時(shí)候。(5)嚴(yán)格按照統(tǒng)一的要求編寫文檔,在內(nèi)容、格式、
表達(dá)方式、符號(hào)使用上遵循項(xiàng)目組的統(tǒng)一規(guī)定。(6)盡量保持程序風(fēng)格的一致。
如注釋行的安排,行首空格的使用等。
軟件質(zhì)量的評(píng)測(cè)有哪些?
答:(1)正確性:正確地實(shí)現(xiàn)所要求的功能,準(zhǔn)確地給出預(yù)定的輸出結(jié)果。(2)易
用性:用戶界面友好,符合實(shí)際用戶的使用習(xí)慣與知識(shí)能力。(3)效率:具有足
夠的速度,能在符合用戶要求的時(shí)間限度內(nèi),給出所要求的處理結(jié)果。(4)可靠
性:具有足夠的可靠性,能夠在各種干擾下保持正常的工作。(5)可維護(hù)性:程
序易讀,結(jié)構(gòu)良好,文檔齊全,從而保證系統(tǒng)易于修改。
IBM的AD/Cycle把軟件開發(fā)過(guò)程分為那幾個(gè)階段?各階段的任務(wù)是什么?
答:五個(gè)階1)第一階段,需求分析,其任務(wù)是:了解企業(yè)的結(jié)構(gòu)與功能,掌握
組織及管理者的信息需求,弄清信息流通的實(shí)際情況。(2)第二階段,分析與設(shè)
計(jì)階段,其任務(wù)是:進(jìn)行功能分解及數(shù)據(jù)分析,完成處理過(guò)程及數(shù)據(jù)庫(kù)的邏輯設(shè)
計(jì)。(3)第三階段,編程階段,其任務(wù)是:完成具體的程序編寫工作。(4)第四階
段,測(cè)試階段,其任務(wù)是:對(duì)已有的代碼進(jìn)行認(rèn)真的檢測(cè)與試用。⑸第五階段,
使用及維護(hù)階段,其任務(wù)是:組織使用者有效地使用,并及時(shí)檢查與修正發(fā)現(xiàn)的
錯(cuò)誤。
簡(jiǎn)述面向?qū)ο蠓椒ǔ霈F(xiàn)的背景。
答:面向?qū)ο蟮姆椒ㄊ侨藗冊(cè)噲D解決軟件危機(jī)的--種嘗試,近年來(lái),隨著C++,
Smalltalk等面向?qū)ο蟮恼Z(yǔ)言的普及,這種方法得到了廣泛的傳播。E.Yourdon
在一本書中曾回顧了他自己從事信息處理工作多年的實(shí)踐經(jīng)驗(yàn)。他談到了多次出
現(xiàn)的矛盾與沖突,認(rèn)為其根源在于割裂了數(shù)據(jù)和功能這兩個(gè)要素,因此兩方面之
間的認(rèn)識(shí)和結(jié)論越差越遠(yuǎn)。如果從一開始,就把數(shù)據(jù)和功能不可分割地結(jié)合在一
起,即把信息的靜態(tài)屬性一數(shù)據(jù)結(jié)構(gòu),和對(duì)它的處理——功能模塊,從根本上結(jié)
合起來(lái),那么這些矛盾和沖突也就迎刃而解了。這就是面向?qū)ο蠓椒ǔ霈F(xiàn)的背景。
面向?qū)ο蟪绦蛟O(shè)計(jì)方法對(duì)軟件開發(fā)工作有何影響?
答:面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言使程序設(shè)計(jì)的思想方法越來(lái)越接近人們思維的方
式。它屏棄了持續(xù)好久的“自頂向下”和“自底向上”的爭(zhēng)論,把對(duì)于復(fù)雜系統(tǒng)
的認(rèn)識(shí)歸結(jié)為對(duì)一批對(duì)象及其關(guān)系的認(rèn)識(shí)。事實(shí)上,對(duì)象這個(gè)概念是相對(duì)的,它
的選擇是和信息處理的目的的相連的。在認(rèn)識(shí)的無(wú)窮的階梯式的層次結(jié)構(gòu)中,原
則上每一層都可以作為觀察的基點(diǎn),認(rèn)識(shí)的方法既不是籠統(tǒng)地自頂向下,也不是
籠統(tǒng)地自底向上,而是在于合理地選擇層次,使得系統(tǒng)的復(fù)雜性保持在可控制的
范圍內(nèi),而不致由于細(xì)節(jié)過(guò)多而無(wú)所適從。因此,面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言使軟
件工作進(jìn)一步向用戶方面靠近,這對(duì)于計(jì)算機(jī)應(yīng)用深入到各個(gè)應(yīng)用領(lǐng)域是十分有
利的。面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言的出現(xiàn),使軟件開發(fā)工作更加方便。
即插即用程序設(shè)計(jì)方法實(shí)現(xiàn)起來(lái)有何困難?
答:有兩個(gè)困難。1)標(biāo)準(zhǔn)化的問(wèn)題。軟件部件很復(fù)雜,它涉及一大批變量與結(jié)構(gòu)
的說(shuō)明與定義的標(biāo)準(zhǔn)。而這些至今沒(méi)有統(tǒng)一。2)軟件部件的提供方式問(wèn)題。軟件
部件應(yīng)當(dāng)是封裝起來(lái)的,以二進(jìn)制的機(jī)器代碼方式提供,看不到源程序,一般來(lái)
說(shuō)不必了解也不能改動(dòng)它的內(nèi)部過(guò)程。但是,這就出現(xiàn)了與硬件、與操作系統(tǒng)的
關(guān)系問(wèn)題。目前仍存在著多種硬件,多種操作系統(tǒng),即使UNIX也還有許多大同
小異的版本。但按這樣的思想設(shè)計(jì)的軟件部件不能容忍這種差異的,哪怕是“小
異”,它要求的是絕對(duì)相同。
自頂向下的設(shè)計(jì)方法。
答:在實(shí)施模塊劃分時(shí),不管軟件多大,都采取自上而下、逐步分解的辦法,分
成若干部分,并把它們之間的關(guān)系明確地表達(dá)出來(lái),直到最低層的模塊達(dá)到所要
求的規(guī)模為止。
簡(jiǎn)述應(yīng)用領(lǐng)域之間的差別給軟件開發(fā)帶來(lái)的困難。
答:軟件作為應(yīng)用領(lǐng)域與硬件之間的橋梁,一頭是固定的,另一頭卻是變化無(wú)窮
的。世間各行各業(yè)盡管都要用到信息,都力圖與現(xiàn)代信息技術(shù)相結(jié)合,但是它們
之間的差別卻是如此之大,給軟件開發(fā)工作者帶來(lái)了許多困難、
幾十年來(lái),為了提高軟件開發(fā)的水平和效率人們提出了哪些軟件開發(fā)方法?結(jié)
構(gòu)化程序設(shè)計(jì)方法,軟件工程方法面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,即插即用的程序設(shè)
計(jì)方法,面向開源軟件的程序設(shè)計(jì)方法
大型軟件開發(fā)過(guò)程中涉及幾種角色,他們承擔(dān)的工作有:(1)用戶:提出需求、
驗(yàn)收軟件、使用軟件、提出修改要求
2)程序員:編程、寫文檔、調(diào)試自己的程序、向項(xiàng)目負(fù)責(zé)人提交工作成果3)項(xiàng)
目負(fù)責(zé)人:分析用戶需求形成設(shè)計(jì)方案、向程序員分配任務(wù)、驗(yàn)收程序員的工作
成果、對(duì)整個(gè)軟件聯(lián)調(diào)、向用戶交付使用、接收與分析用戶的修改要求、向程序
員分配修改任務(wù)、驗(yàn)收修改成果、向用戶提交新的版本或修改的結(jié)果(4)計(jì)算
機(jī)硬件:運(yùn)行、試運(yùn)行
結(jié)構(gòu)化程序設(shè)計(jì)方法中,如何實(shí)施模塊的劃分?
答:方法是:不管軟件多大,都采取自上而下、逐步分解的方法,分成若干部分,
并把它們之間的關(guān)系明確地表達(dá)出來(lái),直到最低層的模塊達(dá)到的所要求的規(guī)模為
止。基本要求:1模塊的基本功能在邏輯上盡可能單一化明確化最好做到一一對(duì)
應(yīng)2模塊的間的聯(lián)系和互相影響盡可能的少對(duì)于必須的聯(lián)系加以明確說(shuō)明3模塊
的規(guī)模應(yīng)當(dāng)足夠小以便易于調(diào)試
結(jié)構(gòu)化程序設(shè)計(jì)的缺點(diǎn)是什么?如何看待這些缺點(diǎn)?
答:其缺點(diǎn)是它增大了程序工作量,增加了編程中的麻煩與瑣碎的工作,并且降
低了程序的運(yùn)行效率。但是,使用這種方法,可以保證軟件的可靠、準(zhǔn)確,而且
使軟件易于修改,故這種代價(jià)是值得的。
簡(jiǎn)述軟件工程方法的由來(lái)。
答:工程常常是指復(fù)雜的、需要認(rèn)真組織的、有許多人參加的事情。工程的觀點(diǎn)
是和近、現(xiàn)代的大生產(chǎn)聯(lián)系在一起的,它是和依靠個(gè)人技藝的手工的生產(chǎn)方式相
對(duì)立的。人類的生產(chǎn)從靠工匠手藝到靠工程化生產(chǎn)是一個(gè)重要的進(jìn)步。這個(gè)思想
正是軟件工程思想的由來(lái)。由于軟件危機(jī)的發(fā)生,人們認(rèn)識(shí)到,把軟件的質(zhì)量寄
托于各個(gè)程序員的技能與認(rèn)真負(fù)責(zé)是不牢靠的、危險(xiǎn)的,也是不現(xiàn)實(shí)的。要想大
幅度地從根本上提高軟件開發(fā)的效率和質(zhì)量,就應(yīng)當(dāng)吸取人們?cè)诟鞣N傳統(tǒng)產(chǎn)業(yè)中
的成功經(jīng)驗(yàn),從組織和管理的角度加強(qiáng)力量,使軟件生產(chǎn)從程序員的個(gè)人勞動(dòng)提
高成為有組織的、可控制的工程,這就產(chǎn)生了軟件工程。
即插即用程序設(shè)計(jì)方法的要點(diǎn)是什么?
答:一部分人專門生產(chǎn)軟件組件,而另一部分人則構(gòu)造整個(gè)軟件的結(jié)構(gòu),并且把
軟件組件插入這個(gè)結(jié)構(gòu),以便迅速地完成大型軟件的研制工作。
人們對(duì)即插即用程序設(shè)計(jì)方法的態(tài)度如何?
答:在即插即用程序設(shè)計(jì)方法中,由于標(biāo)準(zhǔn)化問(wèn)題和軟件部件提供方式問(wèn)題,對(duì)
于這種思路的實(shí)現(xiàn)可能性仍是眾說(shuō)紛紜。贊成者認(rèn)為這將徹底改變程序設(shè)計(jì)的概
念,加上可視化等方法,總有一天會(huì)實(shí)現(xiàn)不用寫程序的軟件開發(fā)。但是,持懷疑
態(tài)度的人認(rèn)為,由于應(yīng)用系統(tǒng)的復(fù)雜多樣,公共的部件庫(kù)是不可能實(shí)現(xiàn)的,至少
在某個(gè)特定的領(lǐng)域中可以有限制地實(shí)現(xiàn)。也有人認(rèn)為,如果真分解到能封裝起來(lái)
的程度,那也就和高級(jí)語(yǔ)言的語(yǔ)句差不多了,至多不過(guò)是把編譯功能加強(qiáng)一點(diǎn)罷
To無(wú)論如何,這是人們?cè)噲D解決軟件危機(jī)的一種嘗試。其結(jié)果如何尚有待觀察。
軟件開發(fā)的基本問(wèn)題是什么?
答:軟件開發(fā)中的基本問(wèn)題是兩個(gè)轉(zhuǎn)換,一是從用戶的理解到程序員的理解的轉(zhuǎn)
換,另一是從程序員的理解到程序的實(shí)現(xiàn)的轉(zhuǎn)換。
保證從用戶的理解到程序員的理解這一轉(zhuǎn)換順利完成的手段是什么?
答:保證這一轉(zhuǎn)換順利完成的手段就是利用盡可能標(biāo)準(zhǔn)化的方法編寫程序設(shè)計(jì)任
務(wù)書,用明確的語(yǔ)言或圖形、表格,把程序要處理的信息的內(nèi)容、格式、來(lái)源、
去向、存儲(chǔ)與處理清楚地表達(dá)出來(lái),作為雙方共同的理解。
保證從程序員的理解到程序的實(shí)現(xiàn)這一轉(zhuǎn)換順利完成的關(guān)鍵是什么?
答:保證這一轉(zhuǎn)換順利完成的關(guān)鍵在于程序員的知識(shí)水平與實(shí)踐經(jīng)驗(yàn)。
在開發(fā)大型軟件時(shí),版本更新會(huì)帶來(lái)怎樣的困難?
答:版本更新是大型軟件開發(fā)工作的不可缺少的部分。版本更新的大量工作往往
在于審核與回顧,包括對(duì)代碼和文檔兩方面的認(rèn)真檢查。這種工作是十分繁瑣的,
它需要人們付出艱苦的勞動(dòng),但成果往往不明顯。因此,在這種情況下,很容易
出現(xiàn)新版本中各部分代碼不一致和代碼與文檔不一致的情況。
舉例說(shuō)明為什么大系統(tǒng)比小系統(tǒng)復(fù)雜得多。
答:例如,一個(gè)程序如果只有五十行,那么,不管出現(xiàn)什么問(wèn)題,都是好解決的。
但是,如果一個(gè)軟件有五十萬(wàn)行,那么即使是最簡(jiǎn)單的問(wèn)題,如搜索、標(biāo)識(shí)符選
用等都會(huì)成為相當(dāng)困難的問(wèn)題。這是由于量的變化造成了質(zhì)的差別。正因如此,
大系統(tǒng)比小系統(tǒng)復(fù)雜得多。
在開發(fā)大型軟件的過(guò)程中,為什么軟件開發(fā)人員的組織與協(xié)調(diào)會(huì)帶來(lái)困難?
答:從管理學(xué)的觀點(diǎn)來(lái)看,當(dāng)組織許多人共同完成一項(xiàng)大的軟件開發(fā)任務(wù)時(shí),分
工和協(xié)調(diào)就成為關(guān)鍵因素。分工是否合理,信息是否能及時(shí)溝通,步調(diào)是否能一
致,這都不是自然形成的,都需要精心地安排與考慮,因而許多具有主動(dòng)性的個(gè)
人之間的組織與協(xié)調(diào)本身也帶來(lái)大量的困難。
為什么時(shí)間因素、變更因素也會(huì)給軟件開發(fā)工作帶來(lái)困難?
答現(xiàn)實(shí)的社會(huì)經(jīng)濟(jì)生活每日每時(shí)都在變化,作為與社會(huì)生活緊密聯(lián)系的應(yīng)用軟件
當(dāng)然也處在不斷的變化之中。用戶需求的變化,社會(huì)環(huán)境的變化,硬件及相關(guān)技
術(shù)的變化,無(wú)處不給軟件工作提出新的要求。這種易變的性質(zhì),自然給軟件開發(fā)
工作帶來(lái)了不少困難。
什么是數(shù)據(jù)倉(cāng)庫(kù)?
答:數(shù)據(jù)倉(cāng)庫(kù)是近年來(lái)針對(duì)大批數(shù)據(jù)的分析利用而提出來(lái)的概念,其基本思想是:
現(xiàn)實(shí)中的大量原始數(shù)據(jù)與實(shí)際的應(yīng)用是具有相當(dāng)距離的,為了能夠切實(shí)為企業(yè)管
理者提出對(duì)管理真正有用的信息,就要對(duì)信息或數(shù)據(jù)進(jìn)行多次的加工或提煉,從
而得出許多派生的或綜合的數(shù)據(jù)。
什么是數(shù)據(jù)庫(kù)?
答:數(shù)據(jù)庫(kù)是指在文件系統(tǒng)基礎(chǔ)上發(fā)展起來(lái)的一種數(shù)據(jù)管理技術(shù),其重點(diǎn)在于合
理地組織數(shù)據(jù),體現(xiàn)出數(shù)據(jù)之間的邏輯關(guān)系,并盡可能地幫助用戶檢索,減少冗
余。
試述版本管理的意義與方法。
答:版本管理的重要意義在于保持一致性。從時(shí)間上來(lái)說(shuō),后續(xù)的工作與以前的
工作一致;從系統(tǒng)各部分之間的關(guān)系來(lái)說(shuō),它要求每?局部與整體保持-?致。版
本管理的具體方法包括規(guī)定長(zhǎng)遠(yuǎn)的版本更新計(jì)劃,制訂與版本有關(guān)的信息范圍及
收集、管理方法,在項(xiàng)目組內(nèi)明確分工,在程序編寫、測(cè)試、文檔縮寫等工作中
貫穿項(xiàng)目管理的思想及要求。
軟件開發(fā)過(guò)程中設(shè)計(jì)的信息類型有哪些?
答:(1)需求信息:用戶提出,分析人員采集,系需求分析及設(shè)計(jì)的依據(jù)。2)設(shè)計(jì)
信息:分析人員(或設(shè)計(jì)人員)根據(jù)需求分析形成,體現(xiàn)為設(shè)計(jì)方案。3)軟件成果:
程序員根據(jù)設(shè)計(jì)方案,依據(jù)某種計(jì)算機(jī)語(yǔ)言編制出來(lái)的代碼(程序)。4)變更信息:
用戶在使用過(guò)程中逐步形成,由維護(hù)人員收集、整理,并實(shí)施必要的修改。
軟件開發(fā)過(guò)程中常用的概念模式有哪些?
答:(1)框圖:用于描述程序執(zhí)行的邏輯過(guò)程。(2)結(jié)構(gòu)圖:用來(lái)表示大型軟件的
層次結(jié)構(gòu),即模塊結(jié)構(gòu)。3)數(shù)據(jù)流程圖:用于描述某一業(yè)務(wù)處理系統(tǒng)的信息來(lái)源、
存儲(chǔ)、處理、去向的全面情況。4)實(shí)體關(guān)系圖:用于描述靜態(tài)數(shù)據(jù)結(jié)構(gòu)。5)數(shù)據(jù)
字典:用于描述數(shù)據(jù)內(nèi)容。6)時(shí)序網(wǎng)絡(luò):用于描述系統(tǒng)狀態(tài)及其轉(zhuǎn)換方式。7)數(shù)
學(xué)與邏輯模型:用于描述客觀系統(tǒng)的狀態(tài)或運(yùn)動(dòng)規(guī)律。8)計(jì)算機(jī)模擬模型:用于
以程序的形式來(lái)實(shí)現(xiàn)客觀系統(tǒng)中的某些規(guī)律或規(guī)則,以便人們觀察與預(yù)測(cè)客觀系
統(tǒng)的狀況。
項(xiàng)目管理的含義與內(nèi)容是什么?
答:項(xiàng)目管理是指與固定的生產(chǎn)線上的日常生產(chǎn)管理不同的,具有更大的變動(dòng)性、
時(shí)間性的另一類管理任務(wù)。項(xiàng)目管理的內(nèi)容包括:進(jìn)度、質(zhì)量、費(fèi)用和資源利用。
軟件開發(fā)過(guò)程中的信息管理有哪些?
答:(1)合理存儲(chǔ),包括一致性檢查與維護(hù)和方便迅速地查詢與調(diào)用。2)正確轉(zhuǎn)化,
即在許多環(huán)節(jié)上正確地進(jìn)行數(shù)據(jù)的轉(zhuǎn)換或加工。3)順暢流通,使信息交流渠道通
暢無(wú)阻。
信息庫(kù)的研究方向是什么?
1)信息庫(kù)的內(nèi)容:有關(guān)軟件開發(fā)全過(guò)程的所有有用的信息⑵信息庫(kù)的功能:除增
刪改等數(shù)據(jù)庫(kù)的基本操作外,還需要把計(jì)算機(jī)內(nèi)外的信息存儲(chǔ)統(tǒng)一起來(lái)管理,還
需要認(rèn)真設(shè)計(jì)有關(guān)界面以便使用。(3)信息庫(kù)的一致性:信息庫(kù)中的信息需要不
斷更新。但原有內(nèi)容一般不刪除,新信息存入時(shí),老信息只是加上時(shí)間標(biāo)志移入
歷史信息中去,并且它還與新的信息保持著歷史的、邏輯的聯(lián)系,在需要時(shí)可以
隨時(shí)再調(diào)出來(lái)。
項(xiàng)目管理的目標(biāo)是什么?
答:(1)質(zhì)量控制。(2)進(jìn)度控制。(3)資源質(zhì)量控制。4)費(fèi)用控制??刂婆c降低
成本。成本的降低是項(xiàng)目管理狀況的綜合
的最終體現(xiàn)。
AD/Cycle包括哪三個(gè)方向的接口?
答:對(duì)程序員的接口CPI,對(duì)其它計(jì)算機(jī)系統(tǒng)的接口CCS,對(duì)用戶的接口CUA。
CUA這一部分包括八種人機(jī)交互手段:鍵盤操作、屏幕滾動(dòng)、菜單選擇、幫助
系統(tǒng)、鼠標(biāo)操作、色彩運(yùn)用、數(shù)據(jù)錄入、信息顯示。
簡(jiǎn)述數(shù)學(xué)與邏輯模型的作用、基本思想及優(yōu)、缺點(diǎn)。
答:數(shù)學(xué)與邏輯模型用于描述客觀世界狀態(tài)與規(guī)律。數(shù)學(xué)與邏輯模型的基本思想
是用一些數(shù)學(xué)公式或邏輯表達(dá)或來(lái)描述客觀系統(tǒng)的狀態(tài)或運(yùn)動(dòng)規(guī)律。數(shù)學(xué)與邏輯
模型的最大優(yōu)點(diǎn)是嚴(yán)格、準(zhǔn)確、可計(jì)算,也正因?yàn)槿绱?,所以限制頗多,一般只
能描述比較單純、比較基礎(chǔ)的功能。
簡(jiǎn)述數(shù)據(jù)流程圖①FD)的作用、基本思想。使用范圍。
答:數(shù)據(jù)流程圖用于描述某一業(yè)務(wù)處理系統(tǒng)的信息來(lái)源、存儲(chǔ)、處理、去向的全
面情況。數(shù)據(jù)流程圖的基本思想是把信息流看作一個(gè)組織或系統(tǒng)運(yùn)作的線索,力
圖簡(jiǎn)明扼要地勾畫出全局。
簡(jiǎn)述DD的作用、基本思想、使用范圍。
答:DD用于描述數(shù)據(jù)內(nèi)容。DD的基本思想在于以表格的形式列出數(shù)據(jù)的基本
屬性以及相互關(guān)系,作為人們對(duì)于數(shù)據(jù)的認(rèn)識(shí)和了解。DD更適于記錄各種細(xì)節(jié),
所以常常與其他描述工具互相補(bǔ)充、配合使用。
簡(jiǎn)述時(shí)序網(wǎng)絡(luò)的作用、基本思想、使用范圍、圖例及優(yōu)點(diǎn)。
答:時(shí)序網(wǎng)絡(luò)的作用、基本思想、使用范圍、基本圖例及優(yōu)點(diǎn):時(shí)序網(wǎng)絡(luò)用于描
述系統(tǒng)狀態(tài)及其轉(zhuǎn)換方式。時(shí)序網(wǎng)絡(luò)的基本思想是,當(dāng)滿足某個(gè)條件時(shí),系統(tǒng)從
一個(gè)狀態(tài)向另一個(gè)狀態(tài)轉(zhuǎn)換。時(shí)序網(wǎng)絡(luò)常常用于一些實(shí)時(shí)控制方面的軟件的功能
描述。
版本管理的方法是什么?
答:版本管理的具體方法包括規(guī)定長(zhǎng)遠(yuǎn)的版本更新計(jì)劃,制訂與版本有關(guān)的信息
范圍及收集、管理方法,在項(xiàng)目組內(nèi)明確分工,在程序編寫、測(cè)試、文檔縮寫等
工作中貫穿項(xiàng)目管理的思想及要求。無(wú)論對(duì)于軟件產(chǎn)品來(lái)說(shuō),還是對(duì)應(yīng)用系統(tǒng)來(lái)
說(shuō),用戶的反饋信息是版本管理的重要資源。
版本管理的核心是什么?
答:版本管理的核心是保持兩個(gè)一致性。從時(shí)間上來(lái)說(shuō),它的主要關(guān)心點(diǎn)是系統(tǒng)
的逐步完善,以前已經(jīng)達(dá)到的成果不要丟失掉,而且在需要時(shí)可以回溯,并且在
必要時(shí)可以重用;而每一步新的進(jìn)步都要切實(shí)與以前的工作一致,是改進(jìn)而不是
破壞或降低系統(tǒng)的已有功能。從系統(tǒng)各部分之間的關(guān)系來(lái)說(shuō),它要求每一局部與
整體保持一致,合理地判斷每一次修改的必要性及影響范圍從而合理地組成每一
個(gè)新的版本,并通過(guò)命名、編號(hào)等方法使新的版本成為系統(tǒng)進(jìn)步的漫長(zhǎng)過(guò)程中的
一個(gè)臺(tái)階一個(gè)有目的有方向的穩(wěn)定的進(jìn)步。
什么叫項(xiàng)目管理?其特點(diǎn)是什么?
答:項(xiàng)目管理是指與固定的生產(chǎn)線上的日常生產(chǎn)管理不同的,具有更大的變動(dòng)性、
時(shí)間性的另一類管理任務(wù)。它的典型代表是建筑工程的管理,特別是大型建設(shè)工
程,如水電站的建造、高爐的大修或改造、鐵路或公路的修建等等。項(xiàng)目管理具
有以下四個(gè)突出的特點(diǎn)。第一,子任務(wù)多,關(guān)系復(fù)雜。第二,任務(wù)不可重復(fù),形
勢(shì)不斷變更。第三,協(xié)調(diào)組織的任務(wù)十分突出,資源浪費(fèi)閑置的風(fēng)險(xiǎn)與合理地優(yōu)
化組合、提高效益的機(jī)會(huì)并存第四,信息處理工作的作用與意義更為突出。
如何理解“用戶界面的主要功能是通信”?
答:人機(jī)交互時(shí),最關(guān)鍵的是要使人與計(jì)算機(jī)之間能夠準(zhǔn)確地交流信息。??方面,
由人向機(jī)器輸入時(shí)應(yīng)當(dāng)盡量采取自然的方式,另一方面由機(jī)器向人傳遞的信息必
須準(zhǔn)確、不致引起誤解或混亂。另外,不要把內(nèi)部的處理與加工與人機(jī)界面混在
一起,人機(jī)界面的程序只是用于通訊,以免互相干擾及影響速度。
信息庫(kù)的內(nèi)容包括那幾個(gè)方面?
答(1)所述軟件的工作環(huán)境、功能需求、性能要求、有關(guān)的各種信息來(lái)嫄的狀況、
用戶狀況、硬件環(huán)境以及在該專業(yè)領(lǐng)域中的作用等外部信息。(2)需求分析階段
中收集的有關(guān)用戶的各種信息,包括用戶本身提供的,也包括在調(diào)查研究中得到
的。(3)邏輯設(shè)計(jì)階段的各種調(diào)查材料和由此生成的各種文檔,這包括調(diào)查記錄、
原始數(shù)據(jù)、報(bào)表及單證的樣本、繪制的各種圖以及最后生成的系統(tǒng)說(shuō)明書。(4)
設(shè)計(jì)階段的各種資料,包括所有的數(shù)據(jù)庫(kù)與數(shù)據(jù)文件格式、數(shù)據(jù)字典、程序模塊
的要求、總體結(jié)構(gòu)、各種接口及參數(shù)的傳遞方式以及最后形成的設(shè)計(jì)方案。(5)
編程階段的所有成果,包括程序代碼、框圖、變量說(shuō)明、測(cè)試情況(輸人數(shù)據(jù)及
輸出結(jié)果),驗(yàn)收?qǐng)?bào)告、使用說(shuō)明等。(6)運(yùn)行及使用情況的詳細(xì)記錄,包括每次
使用的時(shí)間、狀態(tài)、問(wèn)題,特別是有關(guān)錯(cuò)誤及故障的記錄情況。(7)維護(hù)及修改
的情況,包括修改的目標(biāo)、責(zé)任人、過(guò)程、時(shí)間、修改前后的代碼與文檔以及修
改后的結(jié)果,原系統(tǒng)的備份。(8)項(xiàng)目管理的有關(guān)信息、人員變更、資金投入、
進(jìn)度計(jì)劃及實(shí)施情況。這項(xiàng)還包括版本信息,即各次版本的備份,每個(gè)版本的推
出日期,與以前版本相比的變更說(shuō)明等。
什么是信息庫(kù)?它與數(shù)據(jù)和數(shù)據(jù)倉(cāng)庫(kù)有什么區(qū)別?其特點(diǎn)是什么?
答:信息庫(kù)是一個(gè)包羅萬(wàn)象的,隨著項(xiàng)目進(jìn)度不斷修改與補(bǔ)充的數(shù)據(jù)集合。它在
規(guī)模上不一定象數(shù)據(jù)倉(cāng)庫(kù)那么大,分析提煉的要求也與數(shù)據(jù)倉(cāng)庫(kù)不同,然而,作
為軟件開發(fā)全過(guò)程的信息管理總樞紐,它的數(shù)據(jù)結(jié)構(gòu)是相當(dāng)復(fù)雜的,而且會(huì)隨時(shí)
間不斷變化,因此保持一致性的任務(wù)變得十分復(fù)雜和艱巨。這些就是信息庫(kù)的特
點(diǎn)。
簡(jiǎn)述信息庫(kù)這一概念提出的背景。
答:信息庫(kù)是針對(duì)軟件開發(fā)或信息系統(tǒng)開發(fā)中的大量信息管理工作提出來(lái)的。早
在手工進(jìn)行系統(tǒng)分析的階段人們已經(jīng)發(fā)現(xiàn),許多問(wèn)題出在信息交流中的誤解與損
失。按照傳統(tǒng)的生命周期法,每一階段都是用相應(yīng)的文檔實(shí)現(xiàn)過(guò)渡的,在信息傳
遞中,誤解與丟失十分嚴(yán)重。另外,軟件的修改與版本更新也引起一些問(wèn)題,有
時(shí)不得不從頭收集基礎(chǔ)信息。不但浪費(fèi)很大,而且引起用戶的厭煩。隨著數(shù)據(jù)庫(kù)
技術(shù)的發(fā)展,人們很自然地想到用計(jì)算機(jī)來(lái)辦這件事。這就是信息庫(kù)這個(gè)概念提
出的背景。
什么叫數(shù)據(jù)庫(kù)?其本質(zhì)是什么?什么叫數(shù)據(jù)倉(cāng)庫(kù)?其本質(zhì)是什么?
答:數(shù)據(jù)庫(kù)是指在文件系統(tǒng)基礎(chǔ)上發(fā)展起來(lái)的一種數(shù)據(jù)管理技術(shù),它的重點(diǎn)在于
合理地組織數(shù)據(jù),體現(xiàn)出數(shù)據(jù)之間的邏輯關(guān)系,并盡可能地幫助用戶檢索,減少
冗余。數(shù)據(jù)庫(kù)的本質(zhì)是以時(shí)間來(lái)?yè)Q取空間。數(shù)據(jù)倉(cāng)庫(kù)是近年來(lái)針對(duì)大批數(shù)據(jù)的分
析利用提出來(lái)的概念。它的基本思想是:對(duì)原始數(shù)據(jù)進(jìn)行多次的加工或提煉,計(jì)
算出許多派生的或綜合的數(shù)據(jù),存放在大容量硬盤里,從而使檢索速度大大加快。
數(shù)據(jù)倉(cāng)庫(kù)的本質(zhì)是用容量來(lái)?yè)Q速度。
簡(jiǎn)述計(jì)算機(jī)模擬模型的作用。
答:計(jì)算機(jī)模擬模型的作用:計(jì)算機(jī)模擬是一種強(qiáng)有力的概念模式。它利用計(jì)算
機(jī)大量、高速處理信息的能力,在計(jì)算機(jī)內(nèi)設(shè)置一定的環(huán)境(如資源條件等),又
以程序來(lái)實(shí)現(xiàn)客觀系統(tǒng)中的某些規(guī)律或規(guī)則,在以上二者的基礎(chǔ)上,計(jì)算機(jī)就可
以高速運(yùn)行,以便人們觀察與預(yù)測(cè)客觀系統(tǒng)的狀況。
簡(jiǎn)述ER圖的作用、基本思想、使用范圍。
答:ER圖的作用、基本思想、使用范圍:ER圖用于描述靜態(tài)數(shù)據(jù)結(jié)構(gòu)。其基本
思想在于以實(shí)體、關(guān)系、屬性三個(gè)基本概念概括數(shù)據(jù)的基本結(jié)構(gòu)。它廣泛應(yīng)用于
數(shù)據(jù)庫(kù)的設(shè)計(jì)中,常常和數(shù)據(jù)流程圖、結(jié)構(gòu)圖等互相配合使用。因?yàn)榍岸咧攸c(diǎn)
描述信息的處理與流通,而缺乏對(duì)靜態(tài)數(shù)據(jù)結(jié)構(gòu)的描述方法。
簡(jiǎn)述結(jié)構(gòu)圖的作用、基本思想、優(yōu)點(diǎn)。
答:在結(jié)構(gòu)化程序設(shè)計(jì)方法中,結(jié)構(gòu)圖用來(lái)表示大型軟件的層次結(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)容。它
用箭頭上的附加記號(hào)來(lái)表明這一點(diǎn)。結(jié)構(gòu)圖的優(yōu)點(diǎn)是能夠體現(xiàn)層次觀點(diǎn),由粗到
細(xì)、自頂向下地描述程序。特別是它可以迫使人們逐個(gè)地詳細(xì)劃分與描述模塊,
體現(xiàn)結(jié)構(gòu)化程序設(shè)計(jì)的思想。
人機(jī)界面設(shè)計(jì)應(yīng)遵循的原則是什么?
答:(1)用戶界面的主要功能是通信。(2)界面必須始終一致。讓用戶始終用同一
種方式思考與操作。(3)界面必須使用戶隨時(shí)掌握任務(wù)的進(jìn)展?fàn)顩r。人機(jī)界面應(yīng)
當(dāng)隨時(shí)告訴用戶當(dāng)前工作的進(jìn)展情況。4)界面必須能提供幫助。5)寧可讓程序多
干,不可讓用戶多干。能夠由程序完成的工作,盡量由程序完成。
試述概念模式的意義及其在認(rèn)識(shí)中的作用。
答:概念模式是人們?cè)谡J(rèn)識(shí)事物過(guò)程中,對(duì)于某一事物或某一系統(tǒng)形成的抽象的
它具有客觀性、片面性,同時(shí)又具有主觀性。概念模式是人們認(rèn)識(shí)客觀世界的一
種方法、-?種工具,也是人們?cè)陂L(zhǎng)期的實(shí)踐活動(dòng)中逐漸形成的。它是在一定的理
論、思想指導(dǎo)之下形成的,同時(shí)又不斷地根據(jù)實(shí)際情況加以修正。在這個(gè)不斷循
環(huán)的過(guò)程中,概念模式逐漸完善、逐漸準(zhǔn)確地反映客觀事物的實(shí)質(zhì)。
試論述人機(jī)界面設(shè)計(jì)原則。
答:五個(gè)要點(diǎn):(1)用戶界面的主要功能是通信(2)界面必須始終一致(3)界面必須
使用戶隨時(shí)掌握任務(wù)的進(jìn)展?fàn)顩r(4)界面必須能提供幫助(5)寧可讓程序多干,不
可讓用戶多干
軟件開發(fā)過(guò)程中信息處理工作包括那幾個(gè)方面?
答:軟件開發(fā)過(guò)程中信息處理工作包括如下幾個(gè)方面:(1)合理存儲(chǔ):許多信息
需要長(zhǎng)期保存,因?yàn)樗鼈儾⒎侵挥靡淮?,而是需要不斷更新,不斷被調(diào)用。這種
存儲(chǔ)工作并不是只起一個(gè)簡(jiǎn)單的存放作用,它包括一致性的檢查與維護(hù),包括方
便迅速的查詢與調(diào)用。(2)正確轉(zhuǎn)化:在許多環(huán)節(jié)上都要進(jìn)行數(shù)據(jù)的轉(zhuǎn)換或加工,
包括從手工方式向計(jì)算機(jī)方式的轉(zhuǎn)換,也包括從計(jì)算機(jī)方式向手工方式的轉(zhuǎn)換,
有時(shí)也有在計(jì)算機(jī)內(nèi)部的不同形式的數(shù)據(jù)的轉(zhuǎn)換。在軟件開發(fā)過(guò)程中,這些信息
必須能夠正確地進(jìn)行轉(zhuǎn)換。(3)順暢流通:軟件開發(fā)過(guò)程中,分析人員、程序員、
用戶和維護(hù)人員之間存在著各種交流,這些信息交流渠道的通暢,對(duì)于軟件開發(fā)
的成功,也具有非常重要的作用。
簡(jiǎn)述軟件開發(fā)工具在信息處理方面的幫助與支持。
答:軟件開發(fā)工具在信息處理方面的幫助與支持如下:軟件開發(fā)工具對(duì)需求信息、
設(shè)計(jì)信息、軟件成果和變更信息的合理存儲(chǔ)、正確轉(zhuǎn)化和順暢流通提供幫助。當(dāng)
然,幫助的程度各不相同。人與人之間的交流,顯然主要是人來(lái)進(jìn)行,工具至多
只能起到幫助與提示的作用,如用數(shù)據(jù)流程圖,或模擬圖形來(lái)溝通分析人員和程
序員;另一些工作則可以用計(jì)算機(jī)來(lái)提供更多的幫助,如,可以提供方便迅速得
多的數(shù)據(jù)庫(kù)技術(shù)服務(wù)。只要人們規(guī)定了合理的存儲(chǔ)模式和檢索途徑,就能在信息
存儲(chǔ)、檢索以至一致性的保持上得到很大的幫助。至于象代碼與文檔的自動(dòng)生成
則可以在更大的程度上給人們提供幫助。
軟件開發(fā)工具的理論基礎(chǔ)與技術(shù)基礎(chǔ)主要包括哪些方面?
答:軟件開發(fā)工具的理論基礎(chǔ)與技術(shù)基礎(chǔ)主要包括以下六項(xiàng):(1)概念模式的概
念與方法(2)數(shù)據(jù)庫(kù)技術(shù)的理論與方法(3)編譯技術(shù)的有關(guān)方法(4)人機(jī)界面的
理論與方法(5)項(xiàng)目管理與版本管理的理論與方法(6)系統(tǒng)科學(xué)與系
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程項(xiàng)目分包合同
- 綠色能源項(xiàng)目投資風(fēng)險(xiǎn)防控協(xié)議書
- 現(xiàn)代商業(yè)房屋買賣合同
- 產(chǎn)品供貨合同范本(32篇)
- 離婚房產(chǎn)協(xié)議書
- 純?nèi)斯趧?wù)分包合同
- 環(huán)保設(shè)備銷售安裝維修服務(wù)合同
- 合伙人股份轉(zhuǎn)讓協(xié)議書
- 居間合同服務(wù)協(xié)議書
- 煤炭銷售居間合同樣本
- 供電所安全第一課
- 前程無(wú)憂測(cè)評(píng)題庫(kù)及答案
- 《軌道交通工程盾構(gòu)施工技術(shù)》 課件 項(xiàng)目3 盾構(gòu)選型
- 造價(jià)咨詢進(jìn)度控制措施全
- 新能源汽車底盤概論課件
- 物業(yè)管理服務(wù)房屋及公用設(shè)施維修養(yǎng)護(hù)方案
- 學(xué)習(xí)弘揚(yáng)紅船精神課件
- 敦刻爾克大撤退課件
- 醫(yī)療器械法規(guī)培訓(xùn)
- 新生兒敗血癥(共22張課件)
- 頌缽療愈師培訓(xùn)
評(píng)論
0/150
提交評(píng)論