第一篇:軟件工程試題及答案
軟件工程試題及解答
一,單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分)
在每小題列出的四個(gè)選項(xiàng)中只有一個(gè)選項(xiàng)是符合題目要求的,請將正確選項(xiàng)前的字母填在題后的橫線上。
1.可行性研究要進(jìn)行一次_____需求分析。
參考答案為:C
A.詳細(xì)的B.全面的
C.簡化的、壓縮的D.徹底的
[解析]軟件的可行性研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定該軟件項(xiàng)目是否能夠開發(fā),是否值得去開發(fā)。其實(shí)質(zhì)是要進(jìn)行一次簡化、壓縮了的需求分析、設(shè)計(jì)過程,要在較高層次上以較抽象的方式進(jìn)行需求分析和設(shè)計(jì)過程。因此答案為C。
2.系統(tǒng)流程圖用于可行性分析中的_____的描述。
參考答案為:A
A.當(dāng)前運(yùn)行系統(tǒng)
B.當(dāng)前邏輯模型
C.目標(biāo)系統(tǒng)
D.新系統(tǒng)
[解析]可行性研究首先要確定項(xiàng)目的規(guī)模和目標(biāo),然后就需要對當(dāng)前運(yùn)行的系統(tǒng)進(jìn)行研究了,在考察系統(tǒng)的基礎(chǔ)上,通過描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖,與有關(guān)人員一起審查該系統(tǒng)流程圖是否正確。描述的對象是當(dāng)前正在運(yùn)行的系統(tǒng),因此選擇A。
3.系統(tǒng)流程圖是描述_____的工具。
參考答案為:C
A.邏輯系統(tǒng)
B.程序系統(tǒng)
C.體系結(jié)構(gòu)
D.物理系統(tǒng)
[解析]系統(tǒng)流程圖是用圖形符號(hào)來表示系統(tǒng)中的各個(gè)元素,例如人工處理、數(shù)據(jù)庫、設(shè)備等,流程圖表達(dá)了系統(tǒng)中各個(gè)元素之間的信息流動(dòng)情況。是描繪物理系統(tǒng)的傳統(tǒng)工具。
4._______工具在軟件詳細(xì)設(shè)計(jì)過程中不采用。
參考答案為:D
A.判定表
B.IPO圖
C.PDL
D.DFD圖
[解析]詳細(xì)描述處理過程常用三種工具:圖形、表格和語言。其中圖形工具有結(jié)構(gòu)化流程圖、盒圖和問題分析圖三種,答案中的判定表是用來表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對應(yīng)關(guān)系。IPO圖用來描述每個(gè)模塊輸入/輸出數(shù)據(jù)、處理功能及模塊調(diào)用的詳細(xì)情況。PDL是過程設(shè)計(jì)語言的縮寫,也稱程序描述語言,用于描述模塊算法設(shè)計(jì)和處理細(xì)節(jié)的語言,這三種都可以在軟件詳細(xì)設(shè)計(jì)過程中使用,而DFD圖則是數(shù)據(jù)流圖,是以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過程,只反映系統(tǒng)必須完成的邏輯功能,所以它只是一種功能模型,不能在詳細(xì)設(shè)計(jì)過程中使用。
5.程序的三種基本控制結(jié)構(gòu)是
參考答案為:B
A.過程、子程序和分程序
B.順序、選擇和重復(fù)
C.遞歸、堆棧和隊(duì)列
D.調(diào)用、返回和轉(zhuǎn)移
[解析]程序的三種基本控制結(jié)構(gòu)是順序、選擇和循環(huán)(重復(fù))。子程序只是程序設(shè)計(jì)一種方法,遞歸則是一種算法,都算不上是控制結(jié)構(gòu)。
6.程序的三種基本控制結(jié)構(gòu)的共同特點(diǎn)是
參考答案為:D
A.不能嵌套使用
B.只能用來寫簡單程序
C.已經(jīng)用硬件實(shí)現(xiàn)
D.只有一個(gè)入口和一個(gè)出口
[解析]程序的特點(diǎn)就是從一個(gè)入口開始,最終以一個(gè)出口結(jié)束,其間可以用順序,選擇和循環(huán)方式對程序的流向進(jìn)行控制。三種結(jié)構(gòu)可以寫出非常復(fù)雜的程序,而且選擇和循環(huán)都可以嵌套設(shè)計(jì)。
7.產(chǎn)生軟件維護(hù)的副作用,是指
參考答案為:C
A.開發(fā)時(shí)的錯(cuò)誤
B.隱含的錯(cuò)誤
C.因修改軟件而造成的錯(cuò)誤
D.運(yùn)行時(shí)誤操作
[解析]因修改軟件而造成的錯(cuò)誤或其他不希望出現(xiàn)的情況稱為維護(hù)的副作用,包括編碼副作用、數(shù)據(jù)副作用、文檔副作用三種。只有答案C是正確的表述。
8.維護(hù)中,因誤刪除一個(gè)標(biāo)識(shí)符而引起的錯(cuò)誤是_________副作用。
參考答案為:C
A.文檔
B.?dāng)?shù)據(jù)
C.編碼
D.設(shè)計(jì)
[解析]編碼副作用指的是在使用程序設(shè)計(jì)語言修改源代碼時(shí)可能引入錯(cuò)誤,比如刪除或修改一個(gè)子程序、一個(gè)標(biāo)號(hào)、一個(gè)標(biāo)識(shí)符,改變程序代碼的時(shí)序關(guān)系,修改文件的打開或關(guān)閉等。因此本題答案為C。
9.可維護(hù)性的特性中相互促進(jìn)的是
參考答案為:A
A.可理解性和可測試性
B.效率和可移植性
C.效率和可修改性
D.效率和結(jié)構(gòu)好
[解析]軟件的可維護(hù)性可用七個(gè)質(zhì)量特性來衡量,分別是:可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。對于不同類型的維護(hù),這些特性的側(cè)重點(diǎn)也不相同,有一些可維護(hù)特性是可以相互促進(jìn)的,比如可理解性和可測試性,可理解性和可修改性,另外一些則是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的結(jié)構(gòu)好則不屬于可維護(hù)性的特征。
10.汽車有一個(gè)發(fā)動(dòng)機(jī)。汽車和發(fā)動(dòng)機(jī)之間的關(guān)系是_____關(guān)系。
參考答案為:B
A.一般具體
B.整體部分
C.分類關(guān)系
D.主從關(guān)系
[解析]類有兩種主要的結(jié)構(gòu)關(guān)系,即一般——具體結(jié)構(gòu)關(guān)系和整體——部分結(jié)構(gòu)關(guān)系。前者稱為分類結(jié)構(gòu),用來描述現(xiàn)實(shí)世界中的一般化的抽象關(guān)系。后者稱為組裝結(jié)構(gòu),用來描述現(xiàn)實(shí)世界中的類的組成的抽象關(guān)系。汽車和發(fā)動(dòng)機(jī)的關(guān)系很明顯,應(yīng)該屬于整體——部分關(guān)系。
11.在變更控制中,______可以用來確保由不同用戶所執(zhí)行的并發(fā)變更。
參考答案為:B
A.異步控制
B.同步控制
C.存取控制
D.基線控制
[解析]變更控制包括建立控制點(diǎn)和建立報(bào)告與審查制度,其過程中的“檢出”和“登入”處理實(shí)現(xiàn)了存取控制和同步控制,存取控制管理各個(gè)用戶存取和修改一個(gè)特定軟件配置對象的權(quán)限,同步控制可用來確保由不同用戶所執(zhí)行任務(wù)的并發(fā)變更。
12.變更控制是一項(xiàng)最重要的軟件配置任務(wù),其中“檢出”和______處理實(shí)現(xiàn)了兩個(gè)重要的變更控制要素,即存取控制和同步控制。
參考答案為:A
A.登入
B.管理
C.填寫變更要求
D.審查
[解析]“檢出”和“登入”處理實(shí)現(xiàn)了兩個(gè)重要的變更控制要素。具體說明見上題。
13.提高軟件質(zhì)量和可靠的技術(shù)大致可分為兩大類:其中一類就是避開錯(cuò)誤技術(shù),但避開錯(cuò)誤技術(shù)無法做到完美無缺和絕無錯(cuò)誤,這就需要
參考答案為:D
A.消除錯(cuò)誤
B.檢測錯(cuò)誤
C.避開錯(cuò)誤
D.容錯(cuò)
[解析]提高軟件質(zhì)量和可靠性的技術(shù)大致可分為兩類,一類是避開錯(cuò)誤技術(shù),即在開發(fā)的過程中不讓差錯(cuò)潛入軟件的技術(shù),另一類是容錯(cuò)技術(shù),即對某些無法避開的差錯(cuò),使其影響減至最小的技術(shù)。
14._____是以提高軟件質(zhì)量為目的的技術(shù)活動(dòng)。
參考答案為:D
A.技術(shù)創(chuàng)新
B.測試
C.技術(shù)創(chuàng)造
D.技術(shù)評審
[解析]技術(shù)評審是以提高軟件質(zhì)量為目的的技術(shù)活動(dòng),是對軟件本身的結(jié)構(gòu)、與運(yùn)行環(huán)境的接口、變更帶來的影響等方面進(jìn)行的評審活動(dòng)。
15.面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和基本原則是盡可能模擬人類習(xí)慣的思維方式,分析、設(shè)計(jì)和實(shí)現(xiàn)一個(gè)軟件系統(tǒng)的方法和過程,盡可能接近于人類認(rèn)識(shí)世界解決問題的方法和過程。因此面向?qū)ο蠓椒ㄓ性S多特征,如軟件系統(tǒng)是由對象組成的;________;對象彼此之間僅能通過傳遞消息互相聯(lián)系;層次結(jié)構(gòu)的繼承。
參考答案為:C
A.開發(fā)過程基于功能分析和功能分解
B.強(qiáng)調(diào)需求分析重要性
C.把對象劃分成類,每個(gè)對象類都定義一組數(shù)據(jù)和方法
D.對既存類進(jìn)行調(diào)整
[解析]面向?qū)ο蠓椒ㄓ兴膫€(gè)特征,分別是對象唯一性、分類性、繼承性和多態(tài)性。其中分類性是指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對象抽象成類,每個(gè)類是具有相同性質(zhì)的個(gè)體集合,而每個(gè)對象相關(guān)類的實(shí)例,對象彼此之間通過傳遞消息互相聯(lián)系。
16.軟件開發(fā)過程中,抽取和整理用戶需求并建立問題域精確模型的過程叫
參考答案為:D
A.生存期
B.面向?qū)ο笤O(shè)計(jì)
C.面向?qū)ο蟪绦蛟O(shè)計(jì)
D.面向?qū)ο蠓治?/p>
[解析]面向?qū)ο蟮姆治龅倪^程就是認(rèn)識(shí)客觀世界的過程,其目的就是建立對客觀世界的精確、簡潔、可理解的正確模型,也就是所謂的建模。因此本題答案為D。
17.原型化方法是用戶和設(shè)計(jì)者之間執(zhí)行的一種交互構(gòu)成,適用于______系統(tǒng)。
參考答案為:A
A.需求不確定性高的 B.需求確定的 C.管理信息
D.實(shí)時(shí)
[解析]原型不同于最終系統(tǒng),它只實(shí)現(xiàn)所選擇的部分功能,僅是為了試驗(yàn)或是演示而用,部分功能需求可以忽略或者模擬實(shí)現(xiàn),因此適用于需求不確定性高的系統(tǒng)。
18.原型化方法是一種_______型的設(shè)計(jì)過程。
參考答案為:A
A.自外向內(nèi)
B.自頂向下
C.自內(nèi)向外
D.自底向上
[解析]原型化方法的基本思想是根據(jù)用戶給出的基本需求,通過快速實(shí)現(xiàn)構(gòu)造出一個(gè)小型的、可執(zhí)行的模型,用戶在計(jì)算機(jī)上實(shí)際運(yùn)行這個(gè)用戶界面原型,在試用過程中提出意見或建議,然后開發(fā)者再對原型進(jìn)行改進(jìn)。如此周而復(fù)始,逐步彌補(bǔ)不足之處,從而提高了最終產(chǎn)品的質(zhì)量。它是一種自外向內(nèi)的設(shè)計(jì)過程。
19.為了提高測試的效率,應(yīng)該
參考答案為:D
A.隨機(jī)地選取測試數(shù)據(jù)
B.取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)
C.在完成編碼以后制定軟件的測試計(jì)劃
D.選擇發(fā)現(xiàn)錯(cuò)誤可能性大的數(shù)據(jù)作為測試數(shù)據(jù)
[解析]軟件測試是為了盡可能多的發(fā)現(xiàn)程序中的錯(cuò)誤,尤其是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤。在選取測試用例時(shí),不可能進(jìn)行窮舉測試,在每一個(gè)細(xì)節(jié)進(jìn)行測試,也不能無目的地隨機(jī)選取測試數(shù)據(jù),為了提高測試的效率,測試用例應(yīng)該選擇發(fā)現(xiàn)錯(cuò)誤可能性大的部分,這樣的測試結(jié)果才符合軟件測試的目的。
20.使用白盒測試方法時(shí),確定測試數(shù)據(jù)應(yīng)根據(jù)_______和指定的覆蓋標(biāo)準(zhǔn)。
參考答案為:A
A.程序的內(nèi)部邏輯
B.程序的復(fù)雜結(jié)構(gòu)
C.使用說明書
D.程序的功能
[解析]白盒測試是把測試對象看作一個(gè)打開的盒子,測試人員須了解程序的內(nèi)部結(jié)構(gòu)和處理過程,由于白盒測試是一種結(jié)構(gòu)測試,所以被測對象基本上是源程序,以程序的內(nèi)部邏輯和指定的覆蓋標(biāo)準(zhǔn)確定測試數(shù)據(jù)。
二,填空題(本大題共10小題,每小題2分,共20分)
21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號(hào)表示系統(tǒng)中各個(gè)元素表達(dá)了系統(tǒng)中各種元素之間的()情況。
解:信息流動(dòng)
[解析]系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具,用圖形符號(hào)表示系統(tǒng)中的各個(gè)元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫、文件、設(shè)備等,表達(dá)了元素之間的信息流動(dòng)的情況。
22.成本效益分析的目的是從()角度評價(jià)開發(fā)一個(gè)項(xiàng)目是否可行。
解:經(jīng)濟(jì)
[解析]成本效益分析首先是估算將要開發(fā)的系統(tǒng)的開發(fā)成本,然后與可能取得的效益進(jìn)行比較和權(quán)衡,其目的是從經(jīng)濟(jì)角度評價(jià)開發(fā)一個(gè)新的軟件項(xiàng)目是否可行。
23.自頂向下結(jié)合的漸增式測試法,在組合模塊時(shí)有兩種組合策略:深度優(yōu)先策略和()。
解:寬度優(yōu)先策略
[解析]漸增式測試法有自頂向下結(jié)合和自底向上結(jié)合兩種組裝模塊的方法,其中自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,不需要編寫驅(qū)動(dòng)模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或?qū)挾葍?yōu)先的策略,逐步把各個(gè)模塊集成在一起。
24.獨(dú)立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨(dú)立路徑是至少包含有一條()的邊的路徑。
解:在其他獨(dú)立路徑中未有過
[解析]在基本路徑測試中,以詳細(xì)設(shè)計(jì)或源程序?yàn)榛A(chǔ),導(dǎo)出控制流程圖的拓?fù)浣Y(jié)構(gòu)——程序圖,在計(jì)算了程序圖的環(huán)路復(fù)雜性之后,確定只包含獨(dú)立路徑的基本路徑圖,其中獨(dú)立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨(dú)立路徑是至少包含有一條在其他獨(dú)立路徑中未有過的邊的路徑。
25.匯編語言是面向()的,可以完成高級(jí)語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。
解:機(jī)器
[解析]匯編語言屬于低級(jí)語言,是一種面向機(jī)器的語言,它與高級(jí)語言相比有許多優(yōu)越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設(shè)備的接口工作等,是能夠利用計(jì)算機(jī)硬件特性直接控制硬件設(shè)備的唯一語言。
26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是()。
解:中間數(shù)據(jù)結(jié)構(gòu)或中間文件
[解析]JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法。它定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,根據(jù)輸入、輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過程描述,在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件,將沖突部分分隔開來,建立多個(gè)程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個(gè)系統(tǒng)的整體。
27.詳細(xì)設(shè)計(jì)的任務(wù)是確定每個(gè)模塊的內(nèi)部特性,即模塊的算法、()。
解:使用的數(shù)據(jù)
[解析]詳細(xì)設(shè)計(jì)的基本任務(wù)是為每個(gè)模塊進(jìn)行詳細(xì)的算法設(shè)計(jì),為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì),確定每個(gè)模塊的內(nèi)部特性,包括模塊的算法和使用的數(shù)據(jù)。對數(shù)據(jù)庫進(jìn)行物理設(shè)計(jì)等。
28.所有軟件維護(hù)申請報(bào)告要按規(guī)定方式提出,該報(bào)告也稱()報(bào)告。
解:軟件問題
[解析]在軟件維護(hù)的流程中,第一步就是制定維護(hù)申請報(bào)告,也稱為軟件問題報(bào)告,它是維護(hù)階段的一種文檔,由申請維護(hù)的用戶填寫。
29.有兩類維護(hù)技術(shù):在開發(fā)階段使用來減少錯(cuò)誤、提高軟件可維護(hù)性的面向維護(hù)的技術(shù);在維護(hù)階段用來提高維護(hù)的效率和質(zhì)量的()技術(shù)。
解:維護(hù)支援
[解析]面向維護(hù)的技術(shù)涉及軟件開發(fā)的所有階段,能夠減少軟件錯(cuò)誤,提高軟件的可維護(hù)性。而維護(hù)支援技術(shù)則包含信息收集,錯(cuò)誤原因分析,維護(hù)方案評價(jià)等項(xiàng),是在軟件維護(hù)階段用來提高維護(hù)效率和質(zhì)量的技術(shù)。
30.科學(xué)工程計(jì)算需要大量的標(biāo)準(zhǔn)庫函數(shù),以便處理復(fù)雜的數(shù)值計(jì)算,可供選擇的語言有:()、PASCAL語言、C語言和PL/1語言。
解:FORTRAN語言
[解析]計(jì)算機(jī)語言根據(jù)不同行業(yè)的需求,使用的側(cè)重點(diǎn)也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫語言如FOXPRO、ORICAL有很多的應(yīng)用,在工程行業(yè),計(jì)算機(jī)語言的科學(xué)計(jì)算能力就顯得格外重要,如MATLAB、PL/
1、FORTRAN語言都是工程計(jì)算中常用的語言。
三,名詞解釋(本大題共5小題,每小題3分,共15分)
31.經(jīng)濟(jì)可行性
解:進(jìn)行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項(xiàng)目是否值得投資開發(fā)。
[解析]對于一個(gè)系統(tǒng)所必須要衡量的是經(jīng)濟(jì)上是否合算,經(jīng)濟(jì)可行性的范圍很廣,包括效益分析、潛在市場前景等。
32.社會(huì)可行性
解:要開發(fā)的項(xiàng)目是否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項(xiàng)目目的運(yùn)行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行。
[解析]社會(huì)可行性包括合同、責(zé)任、侵權(quán)等技術(shù)人員不甚了解的諸多問題。
33.投資回收期
解:投資回收期就是使累計(jì)的經(jīng)濟(jì)效益等于最初的投資費(fèi)用所需的時(shí)間。
[解析]通常我們用投資回收期來衡量一個(gè)開發(fā)項(xiàng)目的價(jià)值,投資回收期越短,就越快獲得利潤。
34.對應(yīng)關(guān)系
解:即有直接因果關(guān)系在程序中可以同時(shí)處理。
[解析]對應(yīng)關(guān)系是指數(shù)據(jù)單元在數(shù)據(jù)內(nèi)容上、數(shù)量上和順序上有直接的因果關(guān)系,對于重復(fù)的數(shù)據(jù)單元,重復(fù)的次序和次數(shù)都相同才有對應(yīng)關(guān)系。
35.結(jié)構(gòu)沖突
解:輸入數(shù)據(jù)與輸出數(shù)據(jù)結(jié)構(gòu)找不到對應(yīng)關(guān)系的情況,稱為結(jié)構(gòu)沖突。
[解析]使用JSP方法時(shí)會(huì)遇到此類結(jié)構(gòu)沖突問題,對此,Jackson提出了引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件的辦法,將沖突部分分隔開來,建立多個(gè)程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個(gè)系統(tǒng)的整體。
第二篇:軟件工程試題及答案
1、瀑布模型把軟件生命周期劃分為8個(gè)階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試和運(yùn)行、維護(hù)。八個(gè)階段又可歸納為三個(gè)大的階段:計(jì)劃階段、開發(fā)階段和(運(yùn)行階段)。
2、從結(jié)構(gòu)化的瀑布模型看,在它的生命周期中的八個(gè)階段中,(需求分析階段)出錯(cuò),對軟件的影響最大。
3、在結(jié)構(gòu)化的瀑布模型中,(需求分析階段)定義的標(biāo)準(zhǔn)將成為軟件測試中的系統(tǒng)測試階段的目標(biāo)。
4、軟件工程的出現(xiàn)主要是由于(軟件危機(jī)的出現(xiàn))。
5軟件工程方法學(xué)的目的:使軟件生產(chǎn)規(guī)范化和工程化,而軟件工程方法得以實(shí)施的主要保證是軟件開發(fā)工具和軟件開發(fā)的環(huán)境。
6、軟件開發(fā)常使用的兩種基本方法是結(jié)構(gòu)化和原型化方法,在實(shí)際的應(yīng)用中,它們之間的關(guān)系表現(xiàn)為相互補(bǔ)充。
7、UML是軟件開發(fā)中的一個(gè)重要工具,它主要應(yīng)用于基于對象的(面向?qū)ο?的方法。
8、在下面的軟件開發(fā)方法中,哪一個(gè)對軟件設(shè)計(jì)和開發(fā)人員的開發(fā)要求最高(原型化方法)。
9、結(jié)構(gòu)化分析方法是一種預(yù)先嚴(yán)格定義需求的方法,它在實(shí)施時(shí)強(qiáng)調(diào)的是分析對象的(數(shù)據(jù)流)。
10、軟件開發(fā)的瀑布模型,一般都將開發(fā)過程劃分為:分析、設(shè)計(jì)、編碼和測試等階段,一般認(rèn)為可能占用人員最多的階段是(編碼階
段)。
11、軟件開發(fā)模型是指軟件開發(fā)的全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。主要的開發(fā)模型有瀑布模型、演化模型、螺旋模型、噴泉模型和智能模型。螺旋模型將瀑布模型和演化模型相結(jié)合,并增加了(風(fēng)險(xiǎn)分析),它建立在()的基礎(chǔ)上,沿著螺線自內(nèi)向外每旋轉(zhuǎn)一圈,就得到(原型)的一個(gè)新版本。噴泉模型描述了(面向?qū)ο?的開發(fā)模型,它體現(xiàn)了這種開發(fā)方法創(chuàng)建軟件的過程所固有的(遞歸)和(開發(fā)各階段之間無“間隙”)的特征。
12、以下不屬于白盒測試技術(shù)的是(等價(jià)類劃分)。
13、為改正軟件系統(tǒng)中潛藏的錯(cuò)誤而進(jìn)行的維護(hù)活動(dòng)稱為(糾錯(cuò)性維護(hù))。
14、保證軟件質(zhì)量的手段有復(fù)審、復(fù)查、管理復(fù)審和測試等。其中復(fù)審發(fā)生在軟件生命周期的(每個(gè)階段結(jié)束之前)。
15、完整的系統(tǒng)設(shè)計(jì)應(yīng)包括(計(jì)算機(jī)系統(tǒng)設(shè)計(jì)、應(yīng)用軟件設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)和網(wǎng)絡(luò)設(shè)計(jì))。
16、在信息系統(tǒng)的物理模型中,表示系統(tǒng)各個(gè)物理組成部分之間的數(shù)據(jù)流動(dòng)情況的工具是(系統(tǒng)流程圖)。
二、填空題(每題1分,共10分)
1、系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號(hào)表示系統(tǒng)中各個(gè)元素表達(dá)了系統(tǒng)中各種元素之間的(信息流動(dòng))情況。
2、成本效益分析的目的是從(經(jīng)濟(jì))角度評價(jià)開發(fā)一個(gè)項(xiàng)目是否可行。
3、自頂向下結(jié)合的漸增式測試法,在組合模塊時(shí)有兩種組合策略:深度
優(yōu)先策略和(寬度優(yōu)先策略)。
4、在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是(中間數(shù)據(jù)結(jié)構(gòu)或中間文件)。
5、詳細(xì)設(shè)計(jì)的任務(wù)是確定每個(gè)模塊的內(nèi)部特性,即模塊的算法、(使用的數(shù)據(jù))。
6、所有軟件維護(hù)申請報(bào)告要按規(guī)定方式提出,該報(bào)告也稱(軟件問題)報(bào)告。
7、獨(dú)立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨(dú)立路徑是至少包含有一條(在其他獨(dú)立路徑中未有過)的邊的路徑。
8、設(shè)計(jì)任何一個(gè)人機(jī)界面,一般必須考慮(系統(tǒng)響應(yīng)時(shí)間)、用戶幫助機(jī)制、錯(cuò)誤信息處理和命令方式四個(gè)方面。
9、在軟件測試中,已知產(chǎn)品內(nèi)部工作過程,通過測試檢驗(yàn)產(chǎn)品內(nèi)部動(dòng)作是否按照產(chǎn)品規(guī)格說明的規(guī)定正常進(jìn)行的方法稱為(白盒)測試法。
10、(耦合度)是對軟件結(jié)構(gòu)中??扉g關(guān)聯(lián)程度的一種度量。
三、判斷題(每題1分,共10分)
1.缺乏有力的方法學(xué)的指導(dǎo)和有效的開發(fā)工具的支持,這往往是產(chǎn)生軟件危機(jī)的原因之一。(T)
2.一個(gè)好的開發(fā)人員應(yīng)具備的素質(zhì)和能力不包括具有良好的書面和口頭表達(dá)能力。(F)
3.在用戶需求分析時(shí)觀察用戶手工操作過程不是為了模擬手工操作過程,而是為了獲取第一手資料,并從中提取出有價(jià)值的需求。(F)4.快速原型技術(shù)的適用于軟件產(chǎn)品要求大量的用戶交互、或產(chǎn)生大量的
可視輸出、或設(shè)計(jì)一些復(fù)雜的算法等場合。(T)5.流程圖也稱為程序框圖是最常用的一種表示法。(T)6.面向數(shù)據(jù)設(shè)計(jì)方法一般都包括下列任務(wù): 確定數(shù)據(jù)結(jié)構(gòu)特征;用順序、選擇和重復(fù)三種基本形式表示數(shù)據(jù)等步驟。(T)
7.理想的人機(jī)界面應(yīng)針對具有典型個(gè)性的特定的一類用戶設(shè)計(jì)。(T)
8.數(shù)據(jù)輸入的一般準(zhǔn)則中包括盡量增加用戶輸入的動(dòng)作。(F)9.用窮舉測試是較現(xiàn)實(shí)的測試方法。(F)
10、在軟件維護(hù)過程中改善性維護(hù)是為適應(yīng)環(huán)境的變化而修改軟件的活動(dòng)。(T)
四、論述題
1、軟件維護(hù)是軟件生命周期的重要組成,而影響維護(hù)的因素較多,除了人員因素、技術(shù)因素和管理因素外,還有程序自身的因素,具體影響因素可歸納為:a)軟件系統(tǒng)的規(guī)模; b)軟件系統(tǒng)的年齡;c)軟件系統(tǒng)的結(jié)構(gòu)。試回答以下問題:
1)給出上述三項(xiàng)因素的解釋,闡述“規(guī)?!?、“年齡”和“結(jié)構(gòu)”的具體含義。(5分)
答:系統(tǒng)的規(guī)模。指軟件系統(tǒng)規(guī)模的大小,系統(tǒng)規(guī)模越大,維護(hù)困難越大。
系統(tǒng)的年齡。系統(tǒng)運(yùn)行時(shí)間越長,可能經(jīng)過多次修改,從而造成維護(hù)的困難。
系統(tǒng)的結(jié)構(gòu)。系統(tǒng)結(jié)構(gòu)合理與否,會(huì)給維護(hù)帶來困難。2)扼要分析影響維護(hù)工作量的因素,即分析可能增加維護(hù)工作量的因素和可能減少維護(hù)工作量的因素。(5分)
答:(1)增加維護(hù)工作量的因素有:軟件系統(tǒng)的年齡和規(guī)模、結(jié)構(gòu)合理性、程序復(fù)雜性、用戶的數(shù)量、應(yīng)用的變化和文檔的質(zhì)量。(2)減少維護(hù)工作量的因素有:結(jié)構(gòu)化技術(shù)的使用、自動(dòng)化工具的使用、數(shù)據(jù)庫技術(shù)應(yīng)用、高性能軟件使用、新的軟件技術(shù)的應(yīng)用。3)簡單傳述軟件可維護(hù)性度量的含義。(5分)
答:可維護(hù)性度量表示軟件系統(tǒng)維護(hù)工作的強(qiáng)度或維護(hù)工作量的大小。人們?yōu)榱硕攘靠删S護(hù)性,常將可維護(hù)性度量問題分解為對:可測試性、可理解性、可修改性、可移植性、可靠性、有效性和可用性的度量。
2、可行性研究報(bào)告的主要內(nèi)容有哪些?(5分)
3、系統(tǒng)設(shè)計(jì)的內(nèi)容是什么?(10分)
五、綜合題(10分)某電器集團(tuán)公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位?,F(xiàn)在想建立一個(gè)計(jì)算機(jī)輔助企業(yè)管理系統(tǒng),其中:
生產(chǎn)科的任務(wù)是:
(1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號(hào)、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計(jì)劃。
(2)根據(jù)車間實(shí)際生產(chǎn)日報(bào)表、周報(bào)表調(diào)整月生產(chǎn)計(jì)劃
(3)以月生產(chǎn)計(jì)劃為以及,制定產(chǎn)品設(shè)計(jì)(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計(jì)劃。
(4)將產(chǎn)品的組裝計(jì)劃傳達(dá)到各科,將組裝月計(jì)劃分解為周計(jì)劃,下
達(dá)給車間
技術(shù)科的任務(wù)是:
(1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計(jì)劃進(jìn)行產(chǎn)品結(jié)構(gòu)設(shè)計(jì),產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計(jì)劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。
(2)根據(jù)組裝計(jì)劃進(jìn)行產(chǎn)品工藝設(shè)計(jì),根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件廠。
試寫出以上系統(tǒng)中生產(chǎn)科和技術(shù)科處理的軟件結(jié)構(gòu)圖。
軟件工程試題A答案
一、選擇題
1.C 2.C 3.A 4.C 5.C 6.B 7.C 8.B 9.B 10.C 11.⑴B⑵D⑶A⑷D⑸A
12、D
13、A
14、A
15、C
16、D
二、填空題
1、信息流動(dòng)
2、經(jīng)濟(jì)
3、寬度優(yōu)先策略
4、中間數(shù)據(jù)結(jié)構(gòu)或中間文件
5、使用的數(shù)據(jù)
6、軟件問題
7、在其他獨(dú)立路徑中未有過
8、系統(tǒng)響應(yīng)時(shí)間
9、白盒測試法
10、耦合度
三、判斷題
1、√
2、X
3、√
4、√
5、√
6、√
7、√
8、X
9、X
10、X
四、論述題
1、系統(tǒng)的規(guī)模。指軟件系統(tǒng)規(guī)模的大小,系統(tǒng)規(guī)模越大,維護(hù)困難越大。
系統(tǒng)的年齡。系統(tǒng)運(yùn)行時(shí)間越長,可能經(jīng)過多次修改,從而造成維護(hù)的困難。
系統(tǒng)的結(jié)構(gòu)。系統(tǒng)結(jié)構(gòu)合理與否,會(huì)給維護(hù)帶來困難。
2、增加維護(hù)工作量的因素有:
軟件系統(tǒng)的年齡和規(guī)模、結(jié)構(gòu)合理性、程序復(fù)雜性、用戶的數(shù)量、應(yīng)用的變化和文檔的質(zhì)量。減少維護(hù)工作量的因素有:
結(jié)構(gòu)化技術(shù)的使用、自動(dòng)化工具的使用、數(shù)據(jù)庫技術(shù)應(yīng)用、高性能軟件使用、新的軟件技術(shù)的應(yīng)用。
3、可維護(hù)性度量表示軟件系統(tǒng)維護(hù)工作的強(qiáng)度或維護(hù)工作量的大
小。人們?yōu)榱硕攘靠删S護(hù)性,常將可維護(hù)性度量問題分解為對:可測試性、可理解性、可修改性、可移植性、可靠性、有效性和可用性的度量。
2、個(gè)可行性研究報(bào)告的主要內(nèi)容如下:
(1)引言:說明編寫本文檔的目的;項(xiàng)目的名稱、背景;本文檔用到的專門術(shù)語和參考資料。
(2)可行性研究前提:可行性研究前提。說明開發(fā)項(xiàng)目的功能、性能和基本要求;達(dá)到的目標(biāo);各種限制條件;可行性研究方法和決定可行性的主要因素。
(3)對現(xiàn)有系統(tǒng)的分析:說明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負(fù)荷;各項(xiàng)費(fèi)用支出;所需要各類專業(yè)技術(shù)人員的數(shù)量;所需要各種設(shè)備;現(xiàn)有系統(tǒng)存在什么問題。
(4)所建議系統(tǒng)的技術(shù)可行性分析:所建議系統(tǒng)的簡要說明;處理流程和數(shù)據(jù)流程;與現(xiàn)有的系統(tǒng)比較的優(yōu)越性;采用所建議系統(tǒng)對用戶的影響;對各種設(shè)備、現(xiàn)有軟件、開發(fā)環(huán)境、運(yùn)行環(huán)境的影響;對經(jīng)費(fèi)支出的影響;對技術(shù)可行性的評價(jià)。
(5)所建議系統(tǒng)的經(jīng)濟(jì)可行性分析:說明所建議系統(tǒng)的各種支出,各種效益;收益投資比;投資回收周期。
(6)社會(huì)因素可行性分析:說明法律因素,對合同責(zé)任、侵犯專利權(quán)、侵犯版權(quán)等問題的分析;說明用戶使用可行性,是否滿足用戶行政管理、工作制度、人員素質(zhì)的要求。
(7)其他可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由。
(8)結(jié)論意見:說明項(xiàng)目是否能開發(fā);還需要什么條件才能開發(fā);對項(xiàng)目目標(biāo)有什么變動(dòng)等。
3、系統(tǒng)設(shè)計(jì)階段先從高層入手,然后細(xì)化。系統(tǒng)設(shè)計(jì)要決定整個(gè)結(jié)構(gòu)及風(fēng)格,這種結(jié)構(gòu)為后面設(shè)計(jì)階段的更詳細(xì)策略的設(shè)計(jì)提供了基礎(chǔ)。
(1)系統(tǒng)分解。系統(tǒng)中主要的組成部分稱為子系統(tǒng),子系統(tǒng)既不是一個(gè)對象也不是一個(gè)功能,而是類、關(guān)聯(lián)、操作、時(shí)間和約束的集合。每次分解的各子系統(tǒng)數(shù)目不能太多,最底層子系統(tǒng)稱為模塊。
(2)確定并發(fā)性。分析模型、現(xiàn)實(shí)世界及硬件中不少對象均是并發(fā)的。系統(tǒng)設(shè)計(jì)的一個(gè)重要目標(biāo)就是確定哪些是必須同時(shí)動(dòng)作的對象,哪些不是同時(shí)動(dòng)作的對象。后者可以放在一起,而綜合成單個(gè)控制線或任務(wù)。
(3)處理器及任務(wù)分配。各并發(fā)子系統(tǒng)必須分配給單個(gè)硬件單元,要么是一個(gè)一般的處理器,要么是一個(gè)具體的功能單元,必須 9
完成下面的工作:估計(jì)性能要求和資源需求,選擇實(shí)現(xiàn)子系統(tǒng)的硬軟件,將軟件子系統(tǒng)分配給各處理器以滿足性能要求和極小化處理器之間的通信,決定實(shí)現(xiàn)各子系統(tǒng)的各物理單元的連接。
(4)數(shù)據(jù)存儲(chǔ)管理。系統(tǒng)中的內(nèi)部數(shù)據(jù)和外部數(shù)據(jù)的存儲(chǔ)管理是一項(xiàng)重要的任務(wù)。通常各數(shù)據(jù)存儲(chǔ)可以將數(shù)據(jù)結(jié)構(gòu)、文件、數(shù)據(jù)庫組合在一起,不同數(shù)據(jù)存儲(chǔ)要在費(fèi)用、訪問時(shí)間、容量以及可靠性之間做折中考慮。
(5)全局資源的處理。必須確定全局資源,并且制定訪問全局資源的策略。全局資源包括:物理資源,如處理器、驅(qū)動(dòng)器等;空間,如盤空間、工作站屏等;邏輯名字,如對象標(biāo)識(shí)符、類名、文件名等。
如果資源是物理對象,則可以通過建立協(xié)議實(shí)現(xiàn)對并發(fā)系統(tǒng)的訪問,以達(dá)到自身控制;如果資源是邏輯實(shí)體,如對象標(biāo)識(shí)符,那么在共享環(huán)境中有沖突訪問的可能,如獨(dú)立的事務(wù)可能同時(shí)使用同一個(gè)對象標(biāo)識(shí)符,則各個(gè)全局資源都必須有一個(gè)保護(hù)對象,由保護(hù)對象來控制對該資源的訪問。
(6)選擇軟件控制機(jī)制。分析模型中所有交互行為都表示為對象之間的事件。系統(tǒng)設(shè)計(jì)必須從多種方法中選擇某種方法來實(shí)現(xiàn)軟件的控制。
(7)人機(jī)交互接口設(shè)計(jì)。設(shè)計(jì)中的大部分工作都與穩(wěn)定的狀態(tài)行為有關(guān),但必須考慮用戶使用系統(tǒng)的交互接口。
五、綜合題
第三篇:軟件工程試題及答案(A)
A卷
1、瀑布模型把軟件生命周期劃分為8個(gè)階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試和運(yùn)行、維護(hù)。八個(gè)階段又可歸納為三個(gè)大的階段:計(jì)劃階段、開發(fā)階段和(運(yùn)行階段)。
2、從結(jié)構(gòu)化的瀑布模型看,在它的生命周期中的八個(gè)階段中,需求分析階段出錯(cuò),對軟件的影響最大。
3、在結(jié)構(gòu)化的瀑布模型中,(需求分析階段)定義的標(biāo)準(zhǔn)將成為軟件測試中的系統(tǒng)測試階段的目標(biāo)。
4、軟件工程的出現(xiàn)主要是由于(軟件危機(jī)的出現(xiàn))。
5軟件工程方法學(xué)的目的:使軟件生產(chǎn)規(guī)范化和工程化,而軟件工程方法得以實(shí)施的主要保證是軟件開發(fā)工具和軟件開發(fā)的環(huán)境。
6、軟件開發(fā)常使用的兩種基本方法是結(jié)構(gòu)化和原型化方法,在實(shí)際的應(yīng)用中,它們之間的關(guān)系表現(xiàn)為相互補(bǔ)充。
7、UML是軟件開發(fā)中的一個(gè)重要工具,它主要應(yīng)用于基于對象的面向?qū)ο蟮姆椒ā?/p>
8、在下面的軟件開發(fā)方法中,哪一個(gè)對軟件設(shè)計(jì)和開發(fā)人員的開發(fā)要求最高(原型化方法)。
9、結(jié)構(gòu)化分析方法是一種預(yù)先嚴(yán)格定義需求的方法,它在實(shí)施時(shí)強(qiáng)調(diào)的是分析對象的(數(shù)據(jù)流)。
10、軟件開發(fā)的瀑布模型,一般都將開發(fā)過程劃分為:分析、設(shè)計(jì)、編碼和測試等階段,一般認(rèn)為可能占用人員最多的階段是(編碼階段)。
11、軟件開發(fā)模型是指軟件開發(fā)的全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。主要的開發(fā)模型有瀑布模型、演化模型、螺旋模型、噴泉模型和智能模型。螺旋模型將瀑布模型和演化模型相結(jié)合,并增加了(風(fēng)險(xiǎn)分析),它建立在()的基礎(chǔ)上,沿著螺線自內(nèi)向外每旋轉(zhuǎn)一圈,就得到(原型)的一個(gè)新版本。噴泉模型描述了(面向?qū)ο?的開發(fā)模型,它體現(xiàn)了這種開發(fā)方法創(chuàng)建軟件的過程所固有的(遞歸)和(開發(fā)各階段之間無“間隙”)的特征。
12、以下不屬于白盒測試技術(shù)的是(等價(jià)類劃分)。
13、為改正軟件系統(tǒng)中潛藏的錯(cuò)誤而進(jìn)行的維護(hù)活動(dòng)稱為(糾錯(cuò)性維護(hù))。
14、保證軟件質(zhì)量的手段有復(fù)審、復(fù)查、管理復(fù)審和測試等。其中復(fù)審發(fā)生在軟件生命周期的(每個(gè)階段結(jié)束之前)。
15、完整的系統(tǒng)設(shè)計(jì)應(yīng)包括(計(jì)算機(jī)系統(tǒng)設(shè)計(jì)、應(yīng)用軟件設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)和網(wǎng)絡(luò)設(shè)計(jì))。
16、在信息系統(tǒng)的物理模型中,表示系統(tǒng)各個(gè)物理組成部分之間的數(shù)據(jù)流動(dòng)情況的工具是(系統(tǒng)流程圖)。
二、填空題(每題1分,共10分)
1、系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號(hào)表示系統(tǒng)中各個(gè)元素表達(dá)了系統(tǒng)中各種元素之間的(信息流動(dòng))情況。
2、成本效益分析的目的是從(經(jīng)濟(jì))角度評價(jià)開發(fā)一個(gè)項(xiàng)目是否可行。
3、自頂向下結(jié)合的漸增式測試法,在組合模塊時(shí)有兩種組合策略:深度優(yōu)先策略和(寬度優(yōu)先策略)。
4、在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是(中間數(shù)據(jù)結(jié)構(gòu)或中間文件)。
5、詳細(xì)設(shè)計(jì)的任務(wù)是確定每個(gè)模塊的內(nèi)部特性,即模塊的算法、(使用的數(shù)據(jù))。
6、所有軟件維護(hù)申請報(bào)告要按規(guī)定方式提出,該報(bào)告也稱(軟件問題)報(bào)告。
7、獨(dú)立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨(dú)立路徑是至少包含有一條(在其他獨(dú)立路徑中未有過)的邊的路徑。
8、設(shè)計(jì)任何一個(gè)人機(jī)界面,一般必須考慮(系統(tǒng)響應(yīng)時(shí)間、用戶幫助機(jī)制、錯(cuò)誤信息處理和命令方式四個(gè)方面。
9、在軟件測試中,已知產(chǎn)品內(nèi)部工作過程,通過測試檢驗(yàn)產(chǎn)品內(nèi)部動(dòng)作是否按照產(chǎn)品規(guī)格說明的規(guī)定正常進(jìn)行的方法稱為(白盒)測試法。
10、(耦合度)是對軟件結(jié)構(gòu)中模快間關(guān)聯(lián)程度的一種度量。
三、判斷題(每題1分,共10分)
1.缺乏有力的方法學(xué)的指導(dǎo)和有效的開發(fā)工具的支持,這往往是產(chǎn)生軟件危機(jī)的原因之一。()
2.一個(gè)好的開發(fā)人員應(yīng)具備的素質(zhì)和能力不包括具有良好的書面和口頭表達(dá)能力。()
3.在用戶需求分析時(shí)觀察用戶手工操作過程不是為了模擬手工操作過程,而是為了獲取第一手資料,并從中提取出有價(jià)值的需求。()4.快速原型技術(shù)的適用于軟件產(chǎn)品要求大量的用戶交互、或產(chǎn)生大量的可視輸出、或設(shè)計(jì)一些復(fù)雜的算法等場合。()
5.流程圖也稱為程序框圖是最常用的一種表示法。
6.面向數(shù)據(jù)設(shè)計(jì)方法一般都包括下列任務(wù): 確定數(shù)據(jù)結(jié)構(gòu)特征;用順序、選擇和重復(fù)三種基本形式表示數(shù)據(jù)等步驟。()
7.理想的人機(jī)界面應(yīng)針對具有典型個(gè)性的特定的一類用戶設(shè)計(jì)。()
8.數(shù)據(jù)輸入的一般準(zhǔn)則中包括盡量增加用戶輸入的動(dòng)作。()9.用窮舉測試是較現(xiàn)實(shí)的測試方法。()
10、在軟件維護(hù)過程中改善性維護(hù)是為適應(yīng)環(huán)境的變化而修改軟件的活動(dòng)。()
四、論述題
1、軟件維護(hù)是軟件生命周期的重要組成,而影響維護(hù)的因素較多,除了人員因素、技術(shù)因素和管理因素外,還有程序自身的因素,具體影響因素可歸納為:a)軟件系統(tǒng)的規(guī)模; b)軟件系統(tǒng)的年齡; c)軟件系統(tǒng)的結(jié)構(gòu)。試回答以下問題:
1)給出上述三項(xiàng)因素的解釋,闡述“規(guī)?!?、“年齡”和“結(jié)構(gòu)”的具體含義。(5分)
2)扼要分析影響維護(hù)工作量的因素,即分析可能增加維護(hù)工作量的因素和可能減少維護(hù)工作量的因素。(5分)3)簡單傳述軟件可維護(hù)性度量的含義。(5分)
2、可行性研究報(bào)告的主要內(nèi)容有哪些?(5分)
3、系統(tǒng)設(shè)計(jì)的內(nèi)容是什么?(10分)
五、綜合題(10分)某電器集團(tuán)公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位?,F(xiàn)在想建立一個(gè)計(jì)算機(jī)輔助企業(yè)管理系統(tǒng),其中:
生產(chǎn)科的任務(wù)是:
(1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號(hào)、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計(jì)劃。
(2)根據(jù)車間實(shí)際生產(chǎn)日報(bào)表、周報(bào)表調(diào)整月生產(chǎn)計(jì)劃
(3)以月生產(chǎn)計(jì)劃為以及,制定產(chǎn)品設(shè)計(jì)(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計(jì)劃。
(4)將產(chǎn)品的組裝計(jì)劃傳達(dá)到各科,將組裝月計(jì)劃分解為周計(jì)劃,下達(dá)給車間
技術(shù)科的任務(wù)是:
(1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計(jì)劃進(jìn)行產(chǎn)品結(jié)構(gòu)設(shè)計(jì),產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計(jì)劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。
(2)根據(jù)組裝計(jì)劃進(jìn)行產(chǎn)品工藝設(shè)計(jì),根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件廠。
試寫出以上系統(tǒng)中生產(chǎn)科和技術(shù)科處理的軟件結(jié)構(gòu)圖。
軟件工程試題A答案
一、選擇題
1.C 2.C 3.A 4.C 5.C 6.B 7.C 8.B 9.B 10.C 11.⑴B⑵D⑶A⑷D⑸A
12、D
13、A
14、A
15、C
16、D
二、填空題
1、信息流動(dòng)
2、經(jīng)濟(jì)
3、寬度優(yōu)先策略
4、中間數(shù)據(jù)結(jié)構(gòu)或中間文件
5、使用的數(shù)據(jù)
6、軟件問題
7、在其他獨(dú)立路徑中未有過
8、系統(tǒng)響應(yīng)時(shí)間
9、白盒測試法
10、耦合度
三、判斷題
1、√
2、X
3、√
4、√
5、√
6、√
7、√
8、X
9、X
10、X
四、論述題
1、系統(tǒng)的規(guī)模。指軟件系統(tǒng)規(guī)模的大小,系統(tǒng)規(guī)模越大,維護(hù)困難越大。
系統(tǒng)的年齡。系統(tǒng)運(yùn)行時(shí)間越長,可能經(jīng)過多次修改,從而造成維護(hù)的困難。
系統(tǒng)的結(jié)構(gòu)。系統(tǒng)結(jié)構(gòu)合理與否,會(huì)給維護(hù)帶來困難。
2、增加維護(hù)工作量的因素有:
軟件系統(tǒng)的年齡和規(guī)模、結(jié)構(gòu)合理性、程序復(fù)雜性、用戶的數(shù)量、應(yīng)用的變化和文檔的質(zhì)量。減少維護(hù)工作量的因素有:
結(jié)構(gòu)化技術(shù)的使用、自動(dòng)化工具的使用、數(shù)據(jù)庫技術(shù)應(yīng)用、高性能軟件使用、新的軟件技術(shù)的應(yīng)用。
3、可維護(hù)性度量表示軟件系統(tǒng)維護(hù)工作的強(qiáng)度或維護(hù)工作量的大小。人們?yōu)榱硕攘靠删S護(hù)性,常將可維護(hù)性度量問題分解為對:可測試性、可理解性、可修改性、可移植性、可靠性、有效性和可用性的度量。
2、個(gè)可行性研究報(bào)告的主要內(nèi)容如下:
(1)引言:說明編寫本文檔的目的;項(xiàng)目的名稱、背景;本文檔用到的專門術(shù)語和參考資料。
(2)可行性研究前提:可行性研究前提。說明開發(fā)項(xiàng)目的功能、性能和基本要求;達(dá)到的目標(biāo);各種限制條件;可行性研究方法和決定可行性的主要因素。
(3)對現(xiàn)有系統(tǒng)的分析:說明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負(fù)荷;各項(xiàng)費(fèi)用支出;所需要各類專業(yè)技術(shù)人員的數(shù)量;所需要各種設(shè)備;現(xiàn)有系統(tǒng)存在什么問題。
(4)所建議系統(tǒng)的技術(shù)可行性分析:所建議系統(tǒng)的簡要說明;處理流程和數(shù)據(jù)流程;與現(xiàn)有的系統(tǒng)比較的優(yōu)越性;采用所建議系統(tǒng)對用戶的影響;對各種設(shè)備、現(xiàn)有軟件、開發(fā)環(huán)境、運(yùn)行環(huán)境的影響;對經(jīng)費(fèi)支出的影響;對技術(shù)可行性的評價(jià)。
(5)所建議系統(tǒng)的經(jīng)濟(jì)可行性分析:說明所建議系統(tǒng)的各種支出,各種效益;收益投資比;投資回收周期。
(6)社會(huì)因素可行性分析:說明法律因素,對合同責(zé)任、侵犯專利權(quán)、侵犯版權(quán)等問題的分析;說明用戶使用可行性,是否滿足用戶行政管理、工作制度、人員素質(zhì)的要求。
(7)其他可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由。
(8)結(jié)論意見:說明項(xiàng)目是否能開發(fā);還需要什么條件才能開發(fā);對項(xiàng)目目標(biāo)有什么變動(dòng)等。
3、系統(tǒng)設(shè)計(jì)階段先從高層入手,然后細(xì)化。系統(tǒng)設(shè)計(jì)要決定整個(gè)結(jié)構(gòu)及風(fēng)格,這種結(jié)構(gòu)為后面設(shè)計(jì)階段的更詳細(xì)策略的設(shè)計(jì)提供了基礎(chǔ)。
(1)系統(tǒng)分解。系統(tǒng)中主要的組成部分稱為子系統(tǒng),子系統(tǒng)既不是一個(gè)對象也不是一個(gè)功能,而是類、關(guān)聯(lián)、操作、時(shí)間和約束的集合。每次分解的各子系統(tǒng)數(shù)目不能太多,最底層子系統(tǒng)稱為模塊。
(2)確定并發(fā)性。分析模型、現(xiàn)實(shí)世界及硬件中不少對象均是并發(fā)的。系統(tǒng)設(shè)計(jì)的一個(gè)重要目標(biāo)就是確定哪些是必須同時(shí)動(dòng)作的對象,哪些不是同時(shí)動(dòng)作的對象。后者可以放在一起,而綜合成單個(gè)控制線或任務(wù)。
(3)處理器及任務(wù)分配。各并發(fā)子系統(tǒng)必須分配給單個(gè)硬件單元,要么是一個(gè)一般的處理器,要么是一個(gè)具體的功能單元,必須完成下面的工作:估計(jì)性能要求和資源需求,選擇實(shí)現(xiàn)子系統(tǒng)的硬軟件,將軟件子系統(tǒng)分配給各處理器以滿足性能要求和極小化處理器之間的通信,決定實(shí)現(xiàn)各子系統(tǒng)的各物理單元的連接。
(4)數(shù)據(jù)存儲(chǔ)管理。系統(tǒng)中的內(nèi)部數(shù)據(jù)和外部數(shù)據(jù)的存儲(chǔ)管理是一項(xiàng)重要的任務(wù)。通常各數(shù)據(jù)存儲(chǔ)可以將數(shù)據(jù)結(jié)構(gòu)、文件、數(shù)據(jù)庫組合在一起,不同數(shù)據(jù)存儲(chǔ)要在費(fèi)用、訪問時(shí)間、容量以及可靠性之間做折中考慮。
(5)全局資源的處理。必須確定全局資源,并且制定訪問全局資源的策略。全局資源包括:物理資源,如處理器、驅(qū)動(dòng)器等;空間,如盤空間、工作站屏等;邏輯名字,如對象標(biāo)識(shí)符、類名、文件名等。
如果資源是物理對象,則可以通過建立協(xié)議實(shí)現(xiàn)對并發(fā)系統(tǒng)的訪問,以達(dá)到自身控制;如果資源是邏輯實(shí)體,如對象標(biāo)識(shí)符,那么在共享環(huán)境中有沖突訪問的可能,如獨(dú)立的事務(wù)可能同時(shí)使用同一個(gè)對象標(biāo)識(shí)符,則各個(gè)全局資源都必須有一個(gè)保護(hù)對象,由保護(hù)對象來控制對該資源的訪問。
(6)選擇軟件控制機(jī)制。分析模型中所有交互行為都表示為對象之間的事件。系統(tǒng)設(shè)計(jì)必須從多種方法中選擇某種方法來實(shí)現(xiàn)軟件的控制。
(7)人機(jī)交互接口設(shè)計(jì)。設(shè)計(jì)中的大部分工作都與穩(wěn)定的狀態(tài)行為有關(guān),但必須考慮用戶使用系統(tǒng)的交互接口。
五、綜合題
畫出生產(chǎn)科圖的給6分,畫出技術(shù)科的給4分。
第四篇:軟件工程模擬試題及答案2[推薦]
《軟件工程》模擬B卷
專業(yè)年級(jí)姓名得分
一.名詞解釋(每個(gè)2分)
1. 軟件危機(jī)
3.數(shù)據(jù)字典
4.模塊
5.PDL
一、填空題(每題2分)
1.————是計(jì)算機(jī)程序及其說明程序的各種文檔?!怯嘘P(guān)計(jì)算機(jī)程序功能、設(shè)計(jì)、編制、使用的文字或圖形資料。
2.軟件生存周期是指一個(gè)軟件從提出開發(fā)要求開始直到該軟件報(bào)廢不止的整個(gè)時(shí)期。通常,軟件生存周期包括問題定義、——,——,總體設(shè)計(jì),詳細(xì)設(shè)計(jì),——,——,維護(hù)活動(dòng),可以將這些活動(dòng)以適當(dāng)方式分配到不同階段去完成。
3.Jackson方法是一種————的開發(fā)方法。
4.M=P+K(C-D)是――――。
5.————的目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定該軟件項(xiàng)目是否能夠開發(fā),是否值得去開發(fā)。
6.效益分有形效益和無形效益兩種。有形效益可用純收入、————、————等指標(biāo)進(jìn)行度量;無形效益主要從性質(zhì)上、心理上進(jìn)行衡量,很難直接進(jìn)行量的比較。
7.需求分析的基本任務(wù)是要準(zhǔn)確回答系統(tǒng)必須“”的問題。
8.?dāng)?shù)據(jù)流圖有四種基本成分:————、————、————、————。
9.通過————可以完成數(shù)據(jù)流圖的細(xì)化。
二、單選題(每題2分)
1.軟件生存周期包括可行性分析的項(xiàng)目開發(fā)計(jì)劃、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、()、維護(hù)等活動(dòng)。
A. 應(yīng)用B.檢測C.測試D.以上答案都不正確
2系統(tǒng)定義明確之后,應(yīng)對系統(tǒng)的可行性進(jìn)行研究??尚行匝芯繎?yīng)包括()。E. 軟件環(huán)境可行性、技術(shù)可行性、經(jīng)濟(jì)可行性、社會(huì)可行性
F. 經(jīng)濟(jì)可行性、技術(shù)可行性、操作可行性
G. 經(jīng)濟(jì)可行性、社會(huì)可行性、系統(tǒng)可行性
H. 經(jīng)濟(jì)可行性、實(shí)用性、社會(huì)可行性
3.在考察系統(tǒng)的一些涉及時(shí)序和改變的狀態(tài)時(shí),要用動(dòng)態(tài)模型來表示。動(dòng)態(tài)模型著重于系統(tǒng)的控制邏輯,它包括兩個(gè)圖:一個(gè)是事件追蹤圖,另一個(gè)是()。
A.狀態(tài)圖B.數(shù)據(jù)流圖C.系統(tǒng)結(jié)構(gòu)圖D.時(shí)序圖
4.結(jié)構(gòu)分析方法就是面向()自頂向下逐步求精進(jìn)行需求分析的方法。
A. 目標(biāo)B.數(shù)據(jù)流C.功能D.對象
5.模塊(),則說明模塊的獨(dú)立性越強(qiáng)。
A. 耦合越強(qiáng)B.扇入數(shù)越高C.耦合越弱D.扇入數(shù)越低
6.()數(shù)據(jù)處理問題的工作過程大致分為三步,即取得數(shù)據(jù)、變換數(shù)據(jù)和給出數(shù)據(jù)。
A. 變換型B.事務(wù)型C.結(jié)構(gòu)化驗(yàn)室D.非結(jié)構(gòu)化
7.在對數(shù)據(jù)流的分析中,主要是找到中心變換,這是從()導(dǎo)出結(jié)構(gòu)圖的關(guān)鍵。
A. 數(shù)據(jù)結(jié)構(gòu)B.實(shí)體關(guān)系C.數(shù)據(jù)流圖D.E—R圖
8.程序內(nèi)部的各個(gè)部分之間存在的聯(lián)系,用結(jié)構(gòu)圖表達(dá)時(shí),最關(guān)心的是模塊的()和
耦合性。
A. 一致性B.作用域C.嵌套限制D.內(nèi)聚性
9.在多層次的結(jié)構(gòu)圖中,其模塊的層次數(shù)稱為結(jié)構(gòu)圖的()。
A. 深度B.跨度C.控制域D.粒度
10.模塊()定義為受該模塊內(nèi)一個(gè)判斷影響的所有模塊集合。
A. 控制域B.作用域C.寬度D.接口《軟件工程》試卷B卷答案:[V`'f]C @
六、名詞解釋!w*k b*t }-FH-wHz @
1.指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。,^3@$f4G1Q 2.在整個(gè)生命周期內(nèi)系統(tǒng)的累計(jì)經(jīng)濟(jì)效益(折合成現(xiàn)在值)與投資之差。
+eb$W1K Z!];y 3.是關(guān)于數(shù)據(jù)信息的集合。,DF'b,r d 4.是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?。}(t*Yp J r(H
5.是使用樣機(jī),使用戶通過實(shí)踐獲得對未來系統(tǒng)的的概念,可以更準(zhǔn)確提出要求。2E
Z)$x;X&C#z8M
七、填空
!Df#~e-b 1.軟件文檔
{^(oMa 2.可行性研究需求分析 編碼 測試
p0m6Y
3.面向數(shù)據(jù)結(jié)構(gòu)/m+Is?^
4.維護(hù)工作量模型 P-生產(chǎn)性工作量 C-復(fù)雜度 D-熟悉度 K-常數(shù)otBr&_#i
5.可行性研究
iEt_Z/JOK 6.投資回收期 回收率K.{ Vy-O bg
7.做什么
SC(Y'@+y G 8.源、終點(diǎn),處理,存儲(chǔ),數(shù)據(jù)流8g i-W“o/b/K9D3pc
9.功能分解#b~0[ O M6VP{7SKxsw
10.子功能 組裝
7z'L K7c0j
八、選擇
W l.u1q1dKL w] 1.C2.B3.A4.B5.C6.A7.C8.D9.A10.B
5G7k-k-[Bk b'R4qw L
九、問答:
[/p!NsW aV 5.用符號(hào)描繪信息在系統(tǒng)中流動(dòng)的情況,源點(diǎn)、終點(diǎn)、處理、數(shù)
據(jù)存儲(chǔ)、數(shù)據(jù)流。$J(R |sA
.NTMKA
U#BD*p0}%^/n,uK]2~C2RB#F
-F3cSm O{9~
'^R2[ i{k 6.測試的目的是為了發(fā)現(xiàn)錯(cuò)誤..|mgh|+Ja
7.兩種都用于集成測試。漸增式是把下一個(gè)要測試的摸塊同已經(jīng)測試好的模塊結(jié)合起來進(jìn)行測試,每次增加一個(gè)模塊。非漸增式先分別測每個(gè)模塊,再把所有模塊按設(shè)計(jì)要求
放在一起結(jié)合成所要的程序。Tt!SqpQ
8.答:自上而下,逐步求精_bn
C4u;K9^+hW
十、應(yīng)用題oR+h+b0QQ8Hu
1.判定樹如下:!o,uk%f)I-d4{@8E
年齡≤20歲初中脫產(chǎn)學(xué)習(xí)
9H!e$.Bh qtH高中電工
js”Lv%QQc H~ h?-Xos
高中或初中男性鉗
工/D4KE#f9Y 確定職工工作――
h5U8F#g k @20歲<年齡≤40歲
A,ilS4d3~
n女性 車工大學(xué)技術(shù)員
RZ'Z“x0y8Y A年齡>40歲高中或初中材料員UM ~
XCZJh d5I
大學(xué)技術(shù)員
[:p$sV$R_:L
三、簡答題(每題5分)Y8[ z,h'Wo|
6. 什么是數(shù)據(jù)流圖?其中的基本符號(hào)各表示什么含義?
!N9gOz7pM1h&W 7. 軟件測試的目的是什么?
pc;~ I0_ e!@ 8. 非漸增式測試與漸增式測試有什么區(qū)別? mNP)e@7B+|8s 4.結(jié)構(gòu)化程序設(shè)計(jì)的思想是什么? ~_9D }SA4mdU
四、應(yīng)用題(每題10分)
6biP4g.y&` 1. 某廠對部分職工重新分配工作的政策是:年齡在20歲以下者,初中文化程度脫產(chǎn)學(xué)習(xí),高中文化程度當(dāng)電工;年齡在20歲至40歲之間者,中學(xué)文化程度男性當(dāng)鉗工,女性當(dāng)車工,大學(xué)文化程度都當(dāng)技術(shù)員;年齡在40歲以上者,中學(xué)文化程度當(dāng)材料員,大學(xué)文化程度當(dāng)技術(shù)員。請用判定樹描述上述問題。
s+B ^ D|5O 2.對以下程序進(jìn)行測試:(d7HR;`cX
PROCEDUREEX(A,B:REAL;VARX:REAL);
4P h7p8k”M?/cPvBEGIN
.UsQ# j7h3Xn8zIF(A=3)OR(B> 1)THENX:=A×B
/{gT!?
EiM7rVc{hIF(A>2)AND(B=0)THENX:=A-3pf7b.N3sEND
dPn?&r N;};V-@Mr0~FO先畫出程序流程圖。再按語句覆蓋法設(shè)計(jì)測試數(shù)據(jù)。
第五篇:軟件工程答案
第一次作業(yè)
1.什么是軟件?
答:計(jì)算機(jī)程序和相關(guān)文檔。
2.什么是軟件危機(jī)?
答:軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。
3.什么是軟件工程?
答:軟件工程是關(guān)于軟件生產(chǎn)的各個(gè)方面的工程學(xué)科。或者說:采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,或者說把經(jīng)過時(shí)間考驗(yàn)而證明是正確的管理技術(shù)和當(dāng)前能夠得到的合適的開發(fā)工具結(jié)合起來開發(fā)與維護(hù)軟件,這就是“軟件工程”。
第二次作業(yè)
說明:以下題目在考試時(shí),可能變成填空題、也可能變成選擇題、還有可能變成名詞解釋。
1.軟件工程方法學(xué)包括了幾個(gè)關(guān)鍵要素?
答:包括了3個(gè)關(guān)鍵要素,即方法、工具和過程。
2.軟件過程包含了那幾項(xiàng)基本活動(dòng)?
答:軟件過程包含了4項(xiàng)基本活動(dòng):(1)軟件描述;(2)軟件開發(fā);(3)軟件有效性驗(yàn)證;
例如:填空題
軟件過程包含了4項(xiàng)基本活動(dòng):(1)軟件描述;(2)軟件開發(fā);(3)軟件有效性驗(yàn)證;
(4)軟件維護(hù)或進(jìn)化。
例如:選擇題
軟件過程包含了4項(xiàng)基本活動(dòng):(1)軟件描述;(2)軟件開發(fā);(3)軟件有效性驗(yàn)證;
(4)軟件維護(hù)或進(jìn)化。
A.驗(yàn)證B.檢查C.軟件有效性驗(yàn)證D.軟件有效性檢查
3.什么是模型?
答:模型是人們認(rèn)識(shí)客觀事物時(shí),用文字、符號(hào)或者圖表等進(jìn)行簡化問題描述的一種方式。
第三次作業(yè)
1.可行性研究包含哪幾個(gè)方面?
答:(1)技術(shù)可行性、(2)經(jīng)濟(jì)可行性、(3)操作可行性。
2.軟件維護(hù)分為哪幾類?
答:根據(jù)軟件維護(hù)的任務(wù)與性質(zhì)不同,通??蓪④浖S護(hù)分為糾錯(cuò)性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù)四類活動(dòng)。
3.軟件可維護(hù)性的定義是什么?
答:指維護(hù)人員理解、改正軟件的難易程度。決定軟件可維護(hù)性的因素有:指整個(gè)軟件文檔和程序的可理解性、可測試性、可修改性。
第四次作業(yè)
1.原型法的基本概念是什么?
答:原型法的基本概念有如下三點(diǎn):(1)原型法不僅可以幫助系統(tǒng)分析員盡早獲得更完整更準(zhǔn)確的需求,還可以幫助設(shè)計(jì)人員驗(yàn)證設(shè)計(jì)方案或演進(jìn)目標(biāo)系統(tǒng)。(2)原型法適用于需求非常不明確的系統(tǒng)開發(fā)。(3)快速原型法如果使用得當(dāng),可以減少軟件的總成本。
2.快速原型模型的主要優(yōu)點(diǎn)是什么?
答:快速原型的本質(zhì)是用原型系統(tǒng)獲取用戶的真正需求,開發(fā)人員便可依據(jù)原型系統(tǒng)書寫規(guī)格說明文檔,根據(jù)這份文檔開發(fā)出的軟件可以滿足用戶的真實(shí)需求。
3.什么是面向數(shù)據(jù)結(jié)構(gòu)方法?
答:面向數(shù)據(jù)結(jié)構(gòu)方法是結(jié)構(gòu)化方法的變形,它著重?cái)?shù)據(jù)結(jié)構(gòu)而不是數(shù)據(jù)流。根據(jù)需求基本上都采用順序、選擇和重復(fù)構(gòu)造成分表示數(shù)據(jù)結(jié)構(gòu)。
第五次作業(yè)
1.面向?qū)ο蠓治瞿P偷奈鍌€(gè)層次是什么?
答:面向?qū)ο蠓治瞿P偷奈鍌€(gè)層次是主題層、類及對象層、結(jié)構(gòu)層、屬性層和服務(wù)層,因此其分析步驟也是按五個(gè)層次逐步展開。
2.對象的五個(gè)特點(diǎn)是什么?
答:對象的五個(gè)特點(diǎn)是:自治性;封裝性;通信性;被動(dòng)性(除主動(dòng)對象外);暫存性。
3.為什么說對象是動(dòng)態(tài)的?
答:面向?qū)ο蟮某绦蛴梢唤M相關(guān)類組成,所以類是靜態(tài)的,程序的執(zhí)行體現(xiàn)為一組相互通信的對象的活動(dòng),所以對象是動(dòng)態(tài)的。
第六次作業(yè)
1.需求分析階段的工作成果是產(chǎn)生大量的系統(tǒng)文檔,那么文檔的作用有哪些? 答:文檔的作用有(1)提高軟件的可理解性,便于開發(fā)人員之間的溝通與交流;(2)變可見性的軟件為部分可見性的文檔資料,階段性的工作成果,便于實(shí)施工程管理;(3)階段性的審查依據(jù);(4)便于用戶或其他非開發(fā)人員熟悉該軟件。
2.需求分析有哪三種方法?
答:需求分析有面向功能分析、面向數(shù)據(jù)分析、面向?qū)ο蠓治龇椒ā?/p>
3.需求分析階段主要綜合考慮的因素有哪些?
答:需求分析階段主要綜合考慮的因素有(1)功能、(2)性能、(3)運(yùn)行、(4)將來可能提出的要求。
第七次作業(yè)
1.軟件系統(tǒng)的非功能需求是什么?
答:非功能需求是指那些不直接與系統(tǒng)具體業(yè)務(wù)功能相關(guān)的一類需求。它們與系統(tǒng)的總體特性相關(guān),如可靠性、信息安全性、響應(yīng)時(shí)間和存儲(chǔ)空間等。
2.為什么對系統(tǒng)來說非功能需求比功能需求更關(guān)鍵?
答:許多非功能需求關(guān)心的是系統(tǒng)整體特性而不是個(gè)別的系統(tǒng)特性,因此,非功能需求比功能需求對系統(tǒng)來說更關(guān)鍵。一個(gè)功能需求沒有滿足可能降低系統(tǒng)的能力,而一個(gè)非功能系統(tǒng)需求沒有滿足則可能使整個(gè)系統(tǒng)無法使用或者說系統(tǒng)的靈活性、應(yīng)變能力達(dá)不到要求。
3.數(shù)據(jù)流圖的作用是什么?
答:數(shù)據(jù)流圖的作用是用來描述系統(tǒng)的邏輯模型,表示信息在系統(tǒng)中的流動(dòng)和處理情況。
4.畫數(shù)據(jù)流圖可采用的步驟是什么?
答:畫數(shù)據(jù)流圖時(shí):首先考慮數(shù)據(jù)的源點(diǎn)和終點(diǎn)(人或者作為輸入/輸出對象);接下來考慮處理(動(dòng)詞);最后考慮數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)(名詞)。
第八次作業(yè)
1.什么是執(zhí)行者?
答:執(zhí)行者是與系統(tǒng)交互的人或物,它代表外部實(shí)體,是一個(gè)群體概念,代表的是一類能夠使用某個(gè)功能的人或物,而不是某個(gè)個(gè)體。
2.數(shù)據(jù)字典的定義是什么?
答:數(shù)據(jù)字典的定義是指對數(shù)據(jù)流、數(shù)據(jù)流分量即數(shù)據(jù)元素、數(shù)據(jù)存儲(chǔ)和處理四類元素進(jìn)行定義。
3.數(shù)據(jù)字典的作用是什么?
答:數(shù)據(jù)字典的作用是:(1)與數(shù)據(jù)流圖配合、描述軟件系統(tǒng)的邏輯模型;(2)階段性文檔;(3)對數(shù)據(jù)流圖中除源、終點(diǎn)外的其余成分均進(jìn)行嚴(yán)格的無二義的、詳盡的定義。
第九次作業(yè)
1.軟件設(shè)計(jì)階段的任務(wù)是什么?
答:軟件設(shè)計(jì)階段的任務(wù)是對軟件需求有了完整、準(zhǔn)確、具體的理解之后,接下來的工作任務(wù)就是用軟件正確地實(shí)現(xiàn)這些需求。這個(gè)階段的工作目標(biāo)是產(chǎn)生概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)文檔。
2.結(jié)構(gòu)程序設(shè)計(jì)常見的三種結(jié)構(gòu)是什么?
答:結(jié)構(gòu)程序設(shè)計(jì)常見的三種基本結(jié)構(gòu):順序、循環(huán)、選擇。
3.面向?qū)ο蠼S心膸追N?
答:面向?qū)ο蠼S?種:(1)描述系統(tǒng)功能的功能模型;(2)描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的對象模型;(3)描述系統(tǒng)控制結(jié)構(gòu)的動(dòng)態(tài)模型。即功能模型;對象模型、動(dòng)態(tài)模型。
第十次作業(yè)
1.對象的定義是什么?
答:對象的定義是(1)從面向?qū)ο蟪绦蛟O(shè)計(jì)角度看對象定義:對象是具有相同狀態(tài)的一組操作的集合;(2)從信息的模擬角度看對象定義:對象是對問題域某個(gè)東西的抽象,這種抽象反映了系統(tǒng)保存有關(guān)這個(gè)東西的信息或與它交互的能力。也就是說,對象是對屬性值和操作的封裝。(3)形式化定義:對象::=
2.面向?qū)ο蠓椒▽W(xué)的主要優(yōu)點(diǎn)是什么?
答:1.與人類習(xí)慣的思維方法一致;2.穩(wěn)定性好;3.可重用性好;4.較易開發(fā)大型軟件產(chǎn)品;5.可維護(hù)性好。
3.什么是類(Class)?
答: 類就是對相同數(shù)據(jù)和相同操作的一組相似對象的定義,或者說,類是對具有相同屬性和行為的一個(gè)或多個(gè)相似對象的描述。
第十一次作業(yè)
1.提高軟件可重用性的主要準(zhǔn)則是什么?
答:提高軟件可重用性的主要準(zhǔn)則是:(1)提高方法內(nèi)聚;(2)減小方法的規(guī)模;(3)保持方法的一致性;(4)把策略與實(shí)現(xiàn)分開;(5)全面覆蓋;(6)盡量不使用全局信息;(7)利用繼承機(jī)制
2.為什么說在軟件開發(fā)工作臨近結(jié)束時(shí)才補(bǔ)寫有關(guān)的一系列文檔是不符合軟件工程思想的?
答:文檔作為軟件產(chǎn)品的有形部分,既可作為各開發(fā)階段的成果,又可作為評價(jià)、審查工作的主要對象,還可作為前后階段交接的重要文字資料,這樣有助于軟件工程管理工作的開展,對于規(guī)范化的工作有助于保證軟件各階段的工作質(zhì)量。若最后才補(bǔ)文檔就失去了上述的價(jià)值。
3.假設(shè)你的任務(wù)是對一個(gè)已有的軟件做重大修改,而且只允許你從下述文檔中選取兩份:(a)程序的規(guī)格說明;(b)程序的詳細(xì)設(shè)計(jì)結(jié)果(自然語言描述加上某種設(shè)計(jì)工具表示);(c)源程序清單(其中有適當(dāng)數(shù)量的注釋)。你將選取哪兩份文檔?為什么這樣選?。?/p>
答:選擇(a)和(b)重大修改可能追加到改動(dòng)系統(tǒng)的需求約定和設(shè)計(jì)方案,而源程序的改動(dòng),甚至程序編制,在詳細(xì)設(shè)計(jì)完成后才可進(jìn)行,比起修改需求或設(shè)計(jì)方案而言要容易得多。
第十二次作業(yè)
1.測試的正確定義是什么?
答:測試的正確定義是“為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程”。這和某些人通常想象的“測試是為了表明程序是正確的”,“成功的測試是沒有發(fā)現(xiàn)錯(cuò)誤的測試’等是完全相反的。
2.什么是黑盒測試?
答:黑盒測試把程序看成一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。即只測試程序的接口信息。適用于黑盒測試方法有:邊界值分析、等價(jià)劃分、錯(cuò)誤推理。
3.計(jì)算環(huán)形復(fù)雜度。
答:流圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度;流圖G的環(huán)形復(fù)雜度V(G)=E-N+2,其中E是流圖中邊的條數(shù),N是流圖中節(jié)點(diǎn)數(shù);流圖G的環(huán)形復(fù)雜度V(G)=P + 1,其中P是流圖中判定節(jié)點(diǎn)的數(shù)目。
4.調(diào)試的目標(biāo)是什么?它有幾種途徑?
答:無論采用什么方法,調(diào)試的根本目標(biāo)都是尋找軟件錯(cuò)誤的原因并改正之。這個(gè)目標(biāo)是通過把系統(tǒng)地評估、直覺和運(yùn)氣組合起來實(shí)現(xiàn)的。一般來說,有下列三種調(diào)試途徑可以采用:·蠻干法;·回溯法;·原因排除法。
第十三次
1.主程序員組的核心有幾個(gè)人?其角色名稱與分工是什么?
答:主程序員:全面負(fù)責(zé)系統(tǒng)定義、設(shè)計(jì)、編碼、調(diào)試、安裝。輔助程序員:協(xié)助主程序員,必要時(shí)替代主程序員(平時(shí)側(cè)重于測試方案,分析測試結(jié)果)。程序管理員:全部事務(wù)性工作(提交上機(jī)程序、保存運(yùn)行語言、進(jìn)行軟件配置)。
2.什么是基線?
答:在軟件工程范圍內(nèi),基線是軟件開發(fā)的里程碑,它的標(biāo)志是交付一個(gè)或多個(gè)軟件配置項(xiàng),這些軟件配置項(xiàng)已經(jīng)通過正式的技術(shù)復(fù)審而獲得認(rèn)可?;蛘哒f,基線是軟件生存期中各開發(fā)階段的一個(gè)特定點(diǎn),它標(biāo)志著一個(gè)階段的結(jié)束。
3.能力成熟度模型的組成成分是什么?
答:能力成熟度模型的組成包括以下成分?!こ墒於鹊燃?jí)(Maturity levels);·過程能力(Process Capability);·關(guān)鍵過程域(Key Process Areas,KPA);·目標(biāo)(Goals);·公共特性(Common Features);·關(guān)鍵實(shí)踐(Key Practices)。
4.能力成熟度的五個(gè)等級(jí)是什么?
答:能力成熟度的五個(gè)等級(jí)從低到高是:初始級(jí)、可重復(fù)級(jí)、已定義級(jí)、已管理級(jí)和優(yōu)化級(jí)。
第十四次
1.軟件重用的基本要求是什么?
答:為使軟構(gòu)件也像硬件集成電路那樣,能在構(gòu)造各種各樣的軟件系統(tǒng)時(shí)方便地重復(fù)使用,就必須使它們滿足下列要求。(l)模塊獨(dú)立性強(qiáng);(2)具有高度可塑性;(3)接口清晰、簡明、可靠。
2.類構(gòu)件的重用方式有哪些?
答:類構(gòu)件的重用方式有:(1)實(shí)例重用;(2)繼承重用;(3)多態(tài)重用。
3.什么是3C模型?
答:描述可重用的軟件構(gòu)件一種理想的方式是3C模型——概念(concept)、內(nèi)容(content)和語境(context)。