第一篇:軟件工程導(dǎo)論心得與感想
軟件工程導(dǎo)論
在前不久的幾周里,剛剛結(jié)束了“軟件工程導(dǎo)論”課程的學(xué)習(xí)。這門課程帶給了我很大的啟發(fā),讓我對軟件工程這一新興學(xué)科有了全面的,深刻的認(rèn)識。盧葦老師精彩的講演,同學(xué)們積極地提問與回答,都帶給了我深刻的認(rèn)識。下面是我在學(xué)完該課程后的一些啟發(fā)。
一、我對軟件行業(yè)的認(rèn)識
眾所周知,計算機(jī)已經(jīng)是現(xiàn)代人生活的必需品。無論是工作、學(xué)習(xí)、生活、娛樂,我們的生活每時每刻都能見到它的蹤影。大到航天飛機(jī)的研制,原子彈、氫彈的引爆,笑道一個小小的電子表,都需要會軟件會變成的人來研制它,讓其工作。所以,伴隨著計算機(jī)而生的的潛在市場是十分巨大的,無數(shù)因此成功的公司便是印證,無論是喬布斯的“蘋果”,還是比爾蓋茨的微軟,亦或是馬克·扎克伯克的facebook,都獲得了世人的肯定。他們的成功被人稱道,但是不可否認(rèn)的是他們的成功是建立在如此巨大的市場空間上的。所以,首先軟件行業(yè)有著充足的市場。
其次是我國的軟件力量。我們國家面臨著一個良好的社會的環(huán)境,社會安定,政府穩(wěn)定,特別是當(dāng)前經(jīng)濟(jì)發(fā)展迅速,法制建設(shè)不斷完善,高新技術(shù)領(lǐng)域突飛猛進(jìn)。但是由于法律制度不完善,并且從業(yè)人員普遍創(chuàng)新的意識不夠完善等等多方面的因素,我國的市場并非特別樂觀。我們都能清晰地看到許許多多成功的企業(yè)都未做到完全的創(chuàng)新,如“淘寶網(wǎng)”便是借鑒“亞馬遜”網(wǎng)站,而“人人網(wǎng)”也與facebook有極大的相似度,而騰訊更是眾所周知的山寨之王。但是換個角度看看,這正說明,我國的軟件具有極大地潛力,在未來的幾年,幾十年之間,我國的軟件行業(yè)必會重新洗牌,涌現(xiàn)出強(qiáng)大的軟件企業(yè),而我們,也一定有機(jī)會實現(xiàn)自己的軟件夢。
第三是我國軟件行業(yè)的人員構(gòu)成。我國的軟件行業(yè)目前主要還是中低素質(zhì)人員構(gòu)成。打不風(fēng)程序員,他們沒有系統(tǒng)的、完整的學(xué)習(xí)整個軟件工程的知識,僅僅靠自學(xué)或者短期學(xué)習(xí),掌握到部分的、片面的知識就已經(jīng)進(jìn)入從業(yè)階段,這樣的學(xué)業(yè)使他們不能夠勝任自己的工作。而高端的軟件從業(yè)人員相比較而言是相對稀少的,所以我國的軟件行業(yè)并未真正崛起。我們急需那樣的高端人才,而這些人才,便是現(xiàn)在我們學(xué)院所努力培養(yǎng)的。
二、我對我們學(xué)院軟件工程專業(yè)的認(rèn)識
IT行業(yè)是隨著電子信息產(chǎn)業(yè)的發(fā)展而逐步發(fā)展起來的,并且日益得到完善。IT行業(yè)的平穩(wěn)增長必然會帶來軟件工程師需求的增長,目前隨著IT產(chǎn)品出現(xiàn)的技術(shù)融合,市場需求的巨大和專業(yè)人才的缺乏,由此可知,軟件行業(yè)還是比較樂觀的。但軟件行業(yè)需要的也是復(fù)合型人才,軟件工程師需要掌握更多的編程語言。
北京交通大學(xué)軟件學(xué)院是經(jīng)教育部批準(zhǔn)的國家示范性軟件學(xué)院。學(xué)院成立于2003年2月,是為適應(yīng)我國經(jīng)濟(jì)結(jié)構(gòu)戰(zhàn)略性調(diào)整的要求和軟件產(chǎn)業(yè)發(fā)展對人才的迫切需求,實現(xiàn)我國軟件人才培養(yǎng)的跨越式發(fā)展而建立的。學(xué)院充分發(fā)揮學(xué)校的計算機(jī)學(xué)科優(yōu)勢和 IT 企業(yè)資源綜合優(yōu)勢,利用已有的辦學(xué)與市場資源,與國內(nèi)外著名的 IT 企業(yè)開展合作,在管理體制、運行機(jī)制、教育思想與理念、人才培養(yǎng)方案與課程體系、教學(xué)模式與方法、產(chǎn)學(xué)研合作等領(lǐng)域大膽創(chuàng)新,已探索出一條有效地培養(yǎng)“國際化、工業(yè)化、高層次、復(fù)合型” 軟件人才的辦學(xué)之路。
作為教育部批準(zhǔn)的全國36所示范性軟件學(xué)院和學(xué)校教育體制改革與辦學(xué)機(jī)制創(chuàng)新的試驗田,北交大軟件學(xué)院承載著學(xué)校的殷切期望。作為國家重要的軟件人才培養(yǎng)基地,在管理體制、運行機(jī)制、教育思想與理念、人才培養(yǎng)方案與課程體系、教學(xué)模式與方法、產(chǎn)學(xué)研合作等領(lǐng)域大膽創(chuàng)新,探索出一條有效地培養(yǎng)“國際化、工業(yè)化、高層次” 軟件人才的辦學(xué)之路,推出了“2+1+1”人才培養(yǎng)模式。作為一名北京交通大學(xué)軟件學(xué)院的靴子,我感到十分自豪。
三、我未來的職業(yè)規(guī)劃
在學(xué)習(xí)完院長的導(dǎo)論課后,我對自己的直接規(guī)劃產(chǎn)生了很深的想法并且做出了很大的改變。首先,我一定要努力完成大學(xué)的學(xué)業(yè)。在大學(xué)一年級,我要認(rèn)真地完成專業(yè)課程,努力學(xué)好c語言和java的課程,同時擴(kuò)大自己的知識面,多多學(xué)習(xí)一些有關(guān)軟件方面的知識,不斷地充實自己。
在大學(xué)二、三年級,我要注重學(xué)習(xí)Java基礎(chǔ)知識、多學(xué)習(xí)項目開發(fā)經(jīng)驗,了解項目開發(fā)業(yè)務(wù)知識,并在學(xué)習(xí)中掌握DB2數(shù)據(jù)庫的SQL語句的復(fù)雜查詢以及管理操作,并深入學(xué)習(xí)了解struts、hibernate、spring相關(guān)操作。同時在大三結(jié)束之前,我要至少了解并熟悉2門編程語言,如.net、C++、PHP;并學(xué)習(xí)掌握nOracle、MS-SQL數(shù)據(jù)庫管理操作;掌握軟件開發(fā)各個階段的基本技能,如市場分析, 可行性分析, 需求分析, 結(jié)構(gòu)設(shè)計, 詳細(xì)設(shè)計, 軟件測試等。如果有時間的話,還要學(xué)習(xí)管理方面的相關(guān)知識,由技術(shù)型向管理型方面的轉(zhuǎn)移。我要多多鍛煉自己的能力,不論待人接物,還是進(jìn)行演練,都要積極參見,努力爭取較大的提升。
在大學(xué)四年級,學(xué)校會安排比較多的實習(xí),到那時候,就要好好工作,發(fā)揮自己前三年學(xué)到的知識,努力完成自己的畢業(yè)實習(xí),最后,優(yōu)秀地完成自己的大學(xué)學(xué)業(yè)。如果能夠,我將選擇繼續(xù)深造,可以通過保研,考研等等許多途徑,努力獲得研究生的資格。同時,就業(yè)也是一個不錯的選擇,但是不論考研還是工作,我都要一如既往地補充自己,不斷提高自己的專業(yè)水平。在工作時,我會優(yōu)先選擇私人的,創(chuàng)意性比較強(qiáng)的公司,從中積累經(jīng)驗,并且努力奮斗,成為復(fù)合型人才,我便可憑此進(jìn)入大公司或者幫助自己的公司變得更加強(qiáng)大和成功,最后成為IT行業(yè)中優(yōu)秀的一員。
四、總結(jié)
盧葦教授的“軟件工程導(dǎo)論”真的讓我獲益良多,對于軟件工程專業(yè)有了深刻的了解,對自己以后的道路的安排也有了深刻的認(rèn)識。上課的日子總是很快,不知不覺中遍結(jié)了課,我感到如夢初醒,因為我們才敲開軟件知識的大門。路漫漫其修遠(yuǎn)兮,吾將上下而求索。不經(jīng)歷風(fēng)雨怎能見彩虹。我要時刻保持一顆清醒的頭腦,隨時為自己的目標(biāo)而奮斗。其實,每個人心中都有一幅畫,描述著理想、信念、追求、抱負(fù);每個人心中都有一片森林,承載著鳥語花香的甜蜜、陰森恐懼的彷徨。一個人,若要獲得成功,必須拿出勇氣,付出努力、拼搏、奮斗、成功。機(jī)遇不同情眼淚的憂傷、不相信頹廢的絕望,只期待愛打拼、時刻準(zhǔn)備著的人。
第二篇:學(xué)習(xí)軟件工程的心得與體會
學(xué)習(xí)軟件工程的心得體會
整本書的內(nèi)容邏輯很清晰明了,由淺入深循序漸進(jìn),首先我就大概描述下我們所學(xué)的內(nèi) 容,第一章是從整體分析軟件工程這門學(xué)科的發(fā)展和所處的社會環(huán)境,接著后面的幾章深入分析了軟件開放過程和模式、軟件項目管理、計算機(jī)工程、需求分析、結(jié)構(gòu)化分析建模以及基于UML面向?qū)ο蠓治鼋5?。接著我就詳?xì)介紹下我對這門課程知識點的理解概括:
軟件工程是指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。
軟件生存周期:一個軟件從定義到開發(fā)、使用和維護(hù),直到最終被棄用,要經(jīng)歷一個漫長的時期,通常把軟件經(jīng)歷的這個漫長的時期稱為生存周期。軟件的生存周期可分為八個階段:①問題定義;②可行性研究;③需求分析;④總體(概要)設(shè)計;⑤詳細(xì)設(shè)計;⑥編碼與單元測試;⑦綜合測試;⑧軟件維護(hù); 瀑布模式:原型進(jìn)化模式:增量模式:螺旋模式:
軟件開發(fā)的整個過程:①需要項目團(tuán)隊,組建優(yōu)秀的團(tuán)隊可以開發(fā)出更搞質(zhì)量的軟件產(chǎn)品。任務(wù)開發(fā)團(tuán)隊要求小而精,成員大多在8人以內(nèi),主要成員有項目負(fù)責(zé)人、開發(fā)人員、資料管理員和軟件測試員。②項目計劃是為了使軟件開發(fā)各項工作有秩序地進(jìn)行,包括任務(wù)分配和基于里程碑的進(jìn)度安排,甘特圖和任務(wù)網(wǎng)絡(luò)圖是用來描述進(jìn)度計劃的工具。項目計劃書可以作為軟件開發(fā)的工作指南。③項目成本估算,由于項目有來自各方面的成本包括工資開支、場地費、差旅費、設(shè)備費和資料費等,但是軟件主要是對人力成本的估算,常用的方法有程序代碼成本估算法等。④軟件風(fēng)險管理包括很多不確定的風(fēng)險因素,如計劃風(fēng)險、管理風(fēng)險、需求風(fēng)險、技術(shù)風(fēng)險、人員風(fēng)險、產(chǎn)品風(fēng)險、用戶風(fēng)險和商業(yè)風(fēng)險等等,而風(fēng)險管理的主要任務(wù)是:風(fēng)險識別、風(fēng)險評估、和風(fēng)險防范。⑤軟件文檔管理,軟件文檔是工程模式軟件開發(fā)的成果體現(xiàn),包括技術(shù)文檔、管理文檔和用戶文檔。⑥軟件配置管理與軟件質(zhì)量管理,包括配置規(guī)劃、軟件變更控制、軟件版本控制和質(zhì)量控制計劃。
《軟件工程》課程既強(qiáng)調(diào)基本概念和基本知識的理解和掌握,又側(cè)重軟件項目的分析、設(shè)計、實現(xiàn)和維護(hù)的基本技能。比較注意“點”和“面”的結(jié)合。我還是蠻喜歡這門課的,通過對這門課的學(xué)習(xí)讓我意識到理論學(xué)習(xí)很重要,實踐更重要,實踐是檢驗真理的唯一標(biāo)準(zhǔn),只有將理論與實際結(jié)合,才更能發(fā)揮我們所學(xué)的知識的作用,更能直接的創(chuàng)造效益,社會和國家做出貢獻(xiàn)。
第三篇:卷-軟件工程導(dǎo)論
21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達(dá)了系統(tǒng)中各種元素之間的(信息流動)情況。
[解析]系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中的各個元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫、文件、設(shè)備等,表達(dá)了元素之間的信息流動的情況。22.成本效益分析的目的是從(經(jīng)濟(jì))角度評價開發(fā)一個項目是否可行。[解析]成本效益分析首先是估算將要開發(fā)的系統(tǒng)的開發(fā)成本,然后與可能取得的效益進(jìn)行比較和權(quán)衡,其目的是從經(jīng)濟(jì)角度評價開發(fā)一個新的軟件項目是否可行。
23.自頂向下結(jié)合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和(寬度優(yōu)先策略)。
[解析]漸增式測試法有自頂向下結(jié)合和自底向上結(jié)合兩種組裝模塊的方法,其中自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,不需要編寫驅(qū)動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或?qū)挾葍?yōu)先的策略,逐步把各個模塊集成在一起。
24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條(在其他獨立路徑中未有過)的邊的路徑。[解析]在基本路徑測試中,以詳細(xì)設(shè)計或源程序為基礎(chǔ),導(dǎo)出控制流程圖的拓?fù)浣Y(jié)構(gòu)——程序圖,在計算了程序圖的環(huán)路復(fù)雜性之后,確定只包含獨立路徑的基本路徑圖,其中獨立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。
25.匯編語言是面向(機(jī)器)的,可以完成高級語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。
[解析]匯編語言屬于低級語言,是一種面向機(jī)器的語言,它與高級語言相比有許多優(yōu)越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設(shè)備的接口工作等,是能夠利用計算機(jī)硬件特性直接控制硬件設(shè)備的唯一語言。
26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是(中間數(shù)據(jù)結(jié)構(gòu)或中間文件)。
[解析]JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法。它定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,根據(jù)輸入、輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過程描述,在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件,將沖突部分分隔開來,建立多個程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個系統(tǒng)的整體。
27.詳細(xì)設(shè)計的任務(wù)是確定每個模塊的內(nèi)部特性,即模塊的算法、(使用的數(shù)據(jù))。[解析]詳細(xì)設(shè)計的基本任務(wù)是為每個模塊進(jìn)行詳細(xì)的算法設(shè)計,為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計,確定每個模塊的內(nèi)部特性,包括模塊的算法和使用的數(shù)據(jù)。對數(shù)據(jù)庫進(jìn)行物理設(shè)計等。28.所有軟件維護(hù)申請報告要按規(guī)定方式提出,該報告也稱(軟件問題)報告。[解析]在軟件維護(hù)的流程中,第一步就是制定維護(hù)申請報告,也稱為軟件問題報告,它是維護(hù)階段的一種文檔,由申請維護(hù)的用戶填寫。
29.有兩類維護(hù)技術(shù):在開發(fā)階段使用來減少錯誤、提高軟件可維護(hù)性的面向維護(hù)的技術(shù);在維護(hù)階段用來提高維護(hù)的效率和質(zhì)量的(維護(hù)支援)技術(shù)。[解析]面向維護(hù)的技術(shù)涉及軟件開發(fā)的所有階段,能夠減少軟件錯誤,提高軟件的可維護(hù)性。而維護(hù)支援技術(shù)則包含信息收集,錯誤原因分析,維護(hù)方案評價等項,是在軟件維護(hù)階段用來提高維護(hù)效率和質(zhì)量的技術(shù)。
30.科學(xué)工程計算需要大量的標(biāo)準(zhǔn)庫函數(shù),以便處理復(fù)雜的數(shù)值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。
[解析]計算機(jī)語言根據(jù)不同行業(yè)的需求,使用的側(cè)重點也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫語言如FOXPRO、ORICAL有很多的應(yīng)用,在工程行業(yè),計算機(jī)語言的科學(xué)計算能力就顯得格外重要,如MATLAB、PL/
1、FORTRAN語言都是工程計算中常用的語言。
解:投資回收期就是使累計的經(jīng)濟(jì)效益等于最初的投資費用所需的時間。[解析]通常我們用投資回收期來衡量一個開發(fā)項目的價值,投資回收期越短,就越快獲得利潤。34.對應(yīng)關(guān)系
解:即有直接因果關(guān)系在程序中可以同時處理。[解析]對應(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方法時會遇到此類結(jié)構(gòu)沖突問題,對此,Jackson提出了引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件的辦法,將沖突部分分隔開來,建立多個程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個系統(tǒng)的整體。
40.請使用PAD圖和PDL語言描述在數(shù)組A(1)~A(10)中找最大數(shù)的算法。解:PDL語言: N=1 WHILE N<=10 DO IF A(N)<=A(N+1)MAX =A(N+1);ELSE MAX =A(N)ENDIF;N=N+1;ENDWHILE;PAD圖:
42.某電器集團(tuán)公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位?,F(xiàn)在想建立一個計算機(jī)輔助企業(yè)管理系統(tǒng),其中: 生產(chǎn)科的任務(wù)是:
(1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計劃。
(2)根據(jù)車間實際生產(chǎn)日報表、周報表調(diào)整月生產(chǎn)計劃
(3)以月生產(chǎn)計劃為以及,制定產(chǎn)品設(shè)計(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計劃。(4)將產(chǎn)品的組裝計劃傳達(dá)到各科,將組裝月計劃分解為周計劃,下達(dá)給車間 技術(shù)科的任務(wù)是:
(1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計劃進(jìn)行產(chǎn)品結(jié)構(gòu)設(shè)計,產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。
(2)根據(jù)組裝計劃進(jìn)行產(chǎn)品工藝設(shè)計,根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件廠。試寫出以上系統(tǒng)中生產(chǎn)科和技術(shù)科處理的軟件結(jié)構(gòu)圖。解
[解析]軟件結(jié)構(gòu)圖是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控制層次體系,軟件結(jié)構(gòu)往往用樹狀或網(wǎng)狀結(jié)構(gòu)的圖形來表示,其主要內(nèi)容有模塊及模塊的控制關(guān)系,根據(jù)題意,可繪制出生產(chǎn)科和技術(shù)科的軟件結(jié)構(gòu)圖,其中生產(chǎn)科的結(jié)構(gòu)圖深度和寬度均為4,技術(shù)科的結(jié)構(gòu)圖的深度和寬度均為3
填空題
1.在信息處理和計算機(jī)領(lǐng)域內(nèi),一般認(rèn)為軟件是 _程序、_文檔____ 和_數(shù)據(jù)
2.數(shù)據(jù)流圖的基本組成部分有 數(shù)據(jù)的源點與終點、數(shù)據(jù)流_、加工、數(shù)據(jù)文件。3.數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成了系統(tǒng)的邏輯模型,是需求規(guī)格說明書的主要組成部分。4.劃分模塊時盡量做到__高內(nèi)聚、低耦合,保持模塊的獨立性,盡量使用公共模塊。5.類的實例化是_對象_______。
6.人們常用硬件可靠性的定量度量方法來度量軟件的可靠性和可用性,常用的度量軟件可靠性的兩個指標(biāo)是_成功地運行的概率_______和_平均故障時間_______。8.將待開發(fā)的軟件細(xì)化,分別估算每一個子任務(wù)所需要的開發(fā)工作量,然后將它們加起來,將得到軟件的總開發(fā)量。這種成本估算方法稱為_自底向上_______。
9.如果一個模塊被 n 個模塊調(diào)用,其中直接的上級模塊的個數(shù)是 m 個(m<=n)那么該模塊的扇入數(shù)是 ____N_______ 個。
10.結(jié)構(gòu)化設(shè)計以 __數(shù)據(jù)流圖_________ 為基礎(chǔ),按一定的步驟映射成軟件結(jié)構(gòu)。
11.軟件的風(fēng)險分析可包括風(fēng)險識別、風(fēng)險預(yù)測 和風(fēng)險駕馭(或風(fēng)險管理)等3項活動。12.軟件著作權(quán)登記的3種主要類型:(1)著作權(quán)登記;(2)著作權(quán)延續(xù)登記;(3)權(quán)利轉(zhuǎn)移備案登記。
13.軟件工程管理的主要內(nèi)容有:項目經(jīng)費管理,軟件質(zhì)量管理,項目進(jìn)度管理和人員管理。15.面向?qū)ο蠓治龅哪康氖菍陀^世界的系統(tǒng)進(jìn)行 ___建模_______________。16.軟件維護(hù)工作的生產(chǎn)性活動包括分析評價、修改設(shè)計和 ____編寫程序代碼等。17.為了使應(yīng)用軟件適應(yīng)計算機(jī)環(huán)境的變化而 ___修改軟件的過程稱為適應(yīng)性維護(hù)。18.一個進(jìn)行學(xué)生成績統(tǒng)計的模塊其功能是先對學(xué)生的成績進(jìn)行累加,然后求平均值,則該模塊的內(nèi)聚性是 __________順序內(nèi)聚________。
19.投資回收期就是使累計的經(jīng)濟(jì)效益等于 __最初的投資費用_所需的時間。
20.軟件生存周期是指一個軟件從提出開發(fā)要求開始直到 _軟件廢棄_為止的整個時期。21.曾被譽為“程序設(shè)計方法的革命”的 結(jié)構(gòu)化 程序設(shè)計,使程序設(shè)計從主要依賴于程序員個人的自由活動變成為有章可循的一門科學(xué)。
22.從結(jié)構(gòu)化程序設(shè)計到 面向?qū)ο蟪绦蛟O(shè)計,是程序設(shè)計方法的又一次飛躍。23.在單元測試時,需要為被測模塊設(shè)計___測試用例_______。
三、應(yīng)用題
1.商店業(yè)務(wù)處理系統(tǒng)的業(yè)務(wù)描述及數(shù)據(jù)流圖如下:
顧客到商店購物時,在經(jīng)過挑選之后填寫了一張訂單,詳細(xì)列出了想要購買的物品名稱、規(guī)格和數(shù)量等。商店接到訂單后首先查商品庫存,看是否有足夠的存貨。若有,則出庫且修改商品庫存文件,然后給顧客開發(fā)貨票,讓顧客交款、給顧客開收據(jù)并取貨,最后登記銷售歷史。若存貨不足,則暫存顧客訂單并向采購部門發(fā)出訂貨通知。采購部門根據(jù)商品庫存和暫存訂單信息向供應(yīng)商訂貨。待接到供應(yīng)商發(fā)來的相應(yīng)商品時,通知財務(wù)部門向供應(yīng)商付款,并向銷售部門發(fā)出到貨通知,同時,采購部門要修改商品庫存和暫存訂單信息。當(dāng)銷售部門接到到貨通知時,應(yīng)通知顧客來付款取貨。財務(wù)部門依據(jù)供應(yīng)商送來的收據(jù)記賬。
試求解下列問題: 1).針對處理1,給出該處理的一級細(xì)化的DFD(要求給出合適的數(shù)據(jù)流與數(shù)據(jù)存儲說明); 2).針對處理2,給出該處理的一級細(xì)化的DFD(要求給出合適的數(shù)據(jù)流與數(shù)據(jù)存儲說明); 3).給出“發(fā)貨單”的DD定義; 4).給出“訂貨單”的DD定義; 5).根據(jù)你對問題的理解,給出“商品庫存”這個數(shù)據(jù)存儲的數(shù)據(jù)結(jié)構(gòu)描述。6).根據(jù)你對問題的理解,給出“銷售歷史”這個數(shù)據(jù)存儲的數(shù)據(jù)結(jié)構(gòu)描述。
第一章:軟件工程學(xué)概述 一.填空題
1.計算機(jī)科學(xué)中的研究成果均可用于軟件工程,但計算機(jī)科學(xué)更側(cè)重于_____________、而 軟件工程側(cè)重于_____________。
2.計算機(jī)程序及其說明程序的各種文檔稱為_____________。計算任務(wù)的處理圖像對象和處 理規(guī)則的描述稱為_____________。有關(guān)計算機(jī)程序功能、設(shè)計、編制、使用的文字或圖形資
料稱為_____________。
3.軟件開發(fā)環(huán)境是相關(guān)一組_____________的集合,它支持一定的軟件開發(fā)方法或按照一定 的軟件開發(fā)模型組織而成的。
4.CASE這一術(shù)語的英文是_____________。
5._____________是指工具運行在相同的硬件/操作系統(tǒng)平臺上。_____________是指工具使 用共享數(shù)據(jù)模型來操作。_____________是指工具提供相同的用戶界面。
6.根據(jù)支持的范圍,CASE工具可分為_____________、_____________和_____________工具。
7.軟件危機(jī)的主要原因有_____________和_____________。8._____________模型是一種非整體開發(fā)的模型。軟件在該模型中是“逐漸”開發(fā)處理的,開發(fā)出一部分,向用戶展示一部分,可讓用戶及早看到部分軟件,及早發(fā)現(xiàn)問題?;蛘呦乳_ 發(fā)一個“原型”軟件,完成部分主要功能,展示給用戶并征求意見,然后逐步完善,最終獲 得滿意的軟件產(chǎn)品。
9.結(jié)構(gòu)化方法總得指導(dǎo)思想是_____________。它的基本原則是功能的_____________與___ __________。它是軟件工程中最早出現(xiàn)的開發(fā)方法,特別適用于數(shù)據(jù)處理領(lǐng)域的問題。10.面向?qū)ο箝_發(fā)方法包括_____________、_____________、_____________、三部分。11.瀑布模型是將軟件生存周期各個活動規(guī)定為依線性順序連接的若干階段的模型。它包括_____________、項目開發(fā)計劃、_____________、_____________、_____________、_ ____________、_____________、_____________,它規(guī)定了由前至后、相互銜接的固定次序,如同瀑布流水,逐級下落。12.瀑布模型本質(zhì)上是一種_____________順序模型。
13.構(gòu)造原型時,必須注意_____________取舍,忽略一切暫時不關(guān)心的部分。
14.屬性指的是類中對象所具有的_____________。不同對象的同一屬性可以具有相同或不同 的_____________。
15.結(jié)構(gòu)化方法和原型化方法是軟件開發(fā)中常使用的兩種方法,在實際的應(yīng)用中,它們之間 的關(guān)系表現(xiàn)為_____________。解答: 1.原理和理論、如何建造一個軟件系統(tǒng) 2.文件、程序、文檔; 3.軟件工具; 4.Computer Aided Software Engineering;5.平臺集成、數(shù)據(jù)集成、表示集成; 6.窄支持、較寬支持、一般支持; 7.軟件本身的特點、缺乏好的開發(fā)方法和手段; 8.增量; 9.自頂而下逐步求精、分解、抽象; 10.面向?qū)ο蠓治?、面向?qū)ο笤O(shè)計、面向?qū)ο髮崿F(xiàn); 11.可行性分析、需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼、測試、維護(hù); 12.線性; 13.功能性能; 14.性質(zhì)(數(shù)據(jù)值)、屬性值; 15.相互補充;第二章: 可行性研究 一.填空題
1.數(shù)據(jù)詞典中四種類型的條目是_____________、_____________、_____________和加工。2._____________的目的就是用最小的代價在盡可能短的時間內(nèi)確定該軟件項目是否能夠開 發(fā),是否值得開發(fā)。
3.可行性研究的目的不是去開發(fā)一個軟件項目,而是研究這個軟件項目是否_____________。
4.可行性研究實質(zhì)上是要進(jìn)行一次簡化、壓縮了的_____________和_____________過程,要在較高層次上以較抽象的方式進(jìn)行需求分析和設(shè)計過程。
5.可行性研究需要從_____________可行性、_____________可行性、_____________可行性 三個方面分析研究每種解決方法的可行性。
6.成本-效益分析首先是估算將要開發(fā)的系統(tǒng)的_____________,然后與可能取得的效益進(jìn) 行_____________。
7.投資回收期就是使累計的經(jīng)濟(jì)效益等于最初的投資費用所需要的時間。項目的_________ ____是指在整個生命周期之內(nèi)的累計經(jīng)濟(jì)效益(折合成現(xiàn)在值)與投資之差。8.軟件工程有兩種效益,它們是_____________和_____________。
9.成本-效益分析的目的是從_____________評價開發(fā)一個新的軟件項目是否可行。10.研究開發(fā)資源的有效性是進(jìn)行_____________可行性研究的一方面。
11.在軟件的可行性研究中,可以從不同的角度對軟件進(jìn)行研究,其中是從軟件的功能可行 性角度考慮的是_____________。12.制定軟件計劃的目的在于盡早對欲開發(fā)的軟件進(jìn)行合理估價,軟件計劃的任務(wù)是_______ ______。
13.數(shù)據(jù)流圖是常用的進(jìn)行軟件需求分析的圖形工具,其基本符合是_____________、______ _______、_____________和_____________。
14.決定大型程序模型組織基本原則的兩種交替設(shè)計策略為_____________和_____________。
15.軟件系統(tǒng)可行性分析應(yīng)考慮_____________、_____________、_____________和________ _____等方面因素。解答: 1.數(shù)據(jù)流、數(shù)據(jù)存儲、數(shù)據(jù)項、加工2.軟件可行性研究 3.值得去開發(fā)且其中的問題能否解決; 4.需求分析、設(shè)計 5.技術(shù)、經(jīng)濟(jì)、社會 6.開發(fā)成本、比較和權(quán)衡 7.純收入 8.無形效益、有形效益 9.經(jīng)濟(jì)角度 10.技術(shù) 11.技術(shù)可行性 12.規(guī)劃與調(diào)度 13.加工、數(shù)據(jù)流、數(shù)據(jù)存儲、外部實體 14.數(shù)據(jù)分解、算法分解 15.經(jīng)濟(jì)、技術(shù)、社會環(huán)境和人。第三章: 需求分析 一.填空題
1.軟件需求分析過程應(yīng)該建立_____________、_____________和_____________ 三種模型。2.需求分析的基本任務(wù)是要準(zhǔn)確地定義_____________,為了滿足用戶需要,回答系統(tǒng)必須 做什么的問題。
3.數(shù)據(jù)流圖有4個基本成分:_____________、_____________、_____________和_________ ____。
4.流向數(shù)據(jù)存儲的數(shù)據(jù)流可理解為_____________文件或_____________文件,從數(shù)據(jù)存儲 流出的數(shù)據(jù)可理解為從文件_____________數(shù)據(jù)或得到_____________結(jié)果。
5.需求分析的困難主要體現(xiàn)在4個方面:問題的復(fù)雜性、_____________、_____________需
求易變性。
6.由于數(shù)據(jù)流是流動中的數(shù)據(jù),所以必須有_____________。除了與_____________之間的 數(shù)據(jù)流不用命名外,數(shù)據(jù)流應(yīng)該用名詞或名詞短語命名。
7.結(jié)構(gòu)化分析方法是面向_____________進(jìn)行需求分析的方法。8.經(jīng)過需求分析,開發(fā)人員已經(jīng)基本上理解了用戶的要求,確定了目標(biāo)系統(tǒng)的功能,定義 了系統(tǒng)數(shù)據(jù),描述了處理這些數(shù)據(jù)的基本策略。將這些共同的理解進(jìn)行了整理,最后形成文 檔_____________。
9.在數(shù)據(jù)流圖中,有名字及方向的成分是_____________。
10.在軟件需求分析中,開發(fā)人員要從用戶那里解決的最重要的問題是_____________。11.需求分析的最終結(jié)果是產(chǎn)生_____________。12.SA方法用DFD描述_____________。13.SA方法的基本思想是_____________。
14.常用的需求分析方法有面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法,_____________,面向數(shù)據(jù)結(jié)構(gòu) 的
分析方法等。
15.通過_____________可以完成數(shù)據(jù)流圖的細(xì)化。解答: 1.數(shù)據(jù)模型、功能模型、行為模型 2.新系統(tǒng)的目標(biāo) 3.數(shù)據(jù)流、加工(又稱數(shù)據(jù)處理)、數(shù)據(jù)存儲、數(shù)據(jù)源點和終點 4.寫入、查詢、讀、查詢 5.交流障礙、不完備性和不一致性 6.流向、數(shù)據(jù)存儲 7.數(shù)據(jù)流 8.需求說明書 9.數(shù)據(jù)流 10.要讓軟件做什么 11.需求規(guī)格說明書 12.系統(tǒng)的功能 13.自頂向下逐步分解 14.面向?qū)ο蟮姆治龇椒?15.功能分解 第五章: 總體設(shè)計 一.填空題
1.過程設(shè)計語言的重復(fù)結(jié)構(gòu)有_____________結(jié)構(gòu)、_____________結(jié)構(gòu)_____________、結(jié) 構(gòu)三種。
2.結(jié)構(gòu)化程序設(shè)計方法的基本要點是:(1)采用_____________、_____________、的程序 設(shè)計方法;(2)使用_____________構(gòu)造程序;(3)主程序員組的組織形式。
3.在詳細(xì)設(shè)計階段,為了提高數(shù)據(jù)的輸入、存儲、檢索等操作的效率并節(jié)約存儲空間,對 某些數(shù)據(jù)項的值要進(jìn)行_____________設(shè)計。
4.任何程序都可由_____________、_____________和_____________三種基本控制結(jié)構(gòu)構(gòu)造。這三種基本結(jié)構(gòu)的共同點是_____________、_____________。
5.在詳細(xì)設(shè)計階段,除了對模塊內(nèi)的算法進(jìn)行設(shè)計,還應(yīng)對模塊內(nèi)的_____________進(jìn)行設(shè) 計。
6.在詳細(xì)設(shè)計階段,經(jīng)常采用的工具有_____________、PDL、PAD等。7.在單元測試中,測試一個模塊時,需要設(shè)計_____________。
8.軟件產(chǎn)品在交付使用之前一般要經(jīng)過以下4步測試_____________、_____________、____ _________、_____________。
9.軟件測試用例由_____________和_____________組成。10.用黑盒技術(shù)設(shè)計測試用例的方法有_____________、_____________、_____________和__ ___________。
11.源程序中加注釋是幫助理解程序的重要手段,注釋分為_____________、_____________ 兩類。
12.近年來,推出了許多面向?qū)ο蟮恼Z言,如_____________、_____________等。
13.匯編語言是面向_____________的,可以完成_____________語言無法滿足要求的特殊功 能,如與外部設(shè)備之間的一些接口操作。
14.語句構(gòu)造的原則是簡單直接,不能為了追求效率而使代碼_____________ 15._____________是指程序從一個計算機(jī)環(huán)境移植到另一個計算機(jī)環(huán)境的容易程度 解答: 1.for、while、until 2.自頂向下、逐步求精、三種基本控制結(jié)構(gòu) 3.代碼 4.順序、選擇、重復(fù)、單入口、單出口 5.數(shù)據(jù)結(jié)構(gòu) 6.程序流程圖 7.驅(qū)動模塊和樁模塊 8.單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試 9.測試輸入數(shù)據(jù)和對應(yīng)的預(yù)期輸出 10.等價類劃分、邊界值分析、錯誤推斷、因果圖 11.序言行注釋、功能性注釋 12.C++、JAVA 13.機(jī)器、高級 14.復(fù)雜化; 15.可移植性。
第四篇:軟件工程導(dǎo)論試題
軟件工程導(dǎo)論試題 一.選擇
1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計、詳細(xì)設(shè)計、編碼、測試和運行、維護(hù)。八個階段又可歸納為三個大的階段:計劃階段、開發(fā)階段和(C)。A、詳細(xì)計劃 B、可行性分析
C、運行階段 D、測試與排錯
2、從結(jié)構(gòu)化的瀑布模型看,在它的生命周期中的八個階段中,下面的幾個選項中哪個環(huán)節(jié)出錯,對軟件的影響最大(C)。A、詳細(xì)設(shè)計階段 B、概要設(shè)計階段 C、需求分析階段 D、測試和運行階段
3、在結(jié)構(gòu)化的瀑布模型中,哪一個階段定義的標(biāo)準(zhǔn)將成為軟件測試中的系統(tǒng)測試階段的目標(biāo)(A)。
A、需求分析階段 B、詳細(xì)設(shè)計階段 C、概要設(shè)計階段 D、可行性研究階段
4、軟件工程的出現(xiàn)主要是由于(C)。
A.程序設(shè)計方法學(xué)的影響 B.其它工程科學(xué)的影響 C.軟件危機(jī)的出現(xiàn) D.計算機(jī)的發(fā)展
5、軟件工程方法學(xué)的目的是:使軟件生產(chǎn)規(guī)范化和工程化,而軟件工程方法得以實施的主要保證是(C)A、硬件環(huán)境 B、軟件開發(fā)的環(huán)境 C、軟件開發(fā)工具和軟件開發(fā)的環(huán)境 D、開發(fā)人員的素質(zhì)
6、軟件開發(fā)常使用的兩種基本方法是結(jié)構(gòu)化和原型化方法,在實際的應(yīng)用中,它們之間的關(guān)系表現(xiàn)為(B)A、相互排斥 B、相互補充
C、獨立使用 D、交替使用
7、UML是軟件開發(fā)中的一個重要工具,它主要應(yīng)用于哪種軟件開發(fā)方法(C)A、基于瀑布模型的結(jié)構(gòu)化方法 B、基于需求動態(tài)定義的原型化方法 C、基于對象的面向?qū)ο蟮姆椒?D、基于數(shù)據(jù)的數(shù)據(jù)流開發(fā)方法
8、在下面的軟件開發(fā)方法中,哪一個對軟件設(shè)計和開發(fā)人員的開發(fā)要求最高(B)A、結(jié)構(gòu)化方法 B、原型化方法 C、面向?qū)ο蟮姆椒?D、控制流方法
9、結(jié)構(gòu)化分析方法是一種預(yù)先嚴(yán)格定義需求的方法,它在實施時強(qiáng)調(diào)的是分析對象的(B)A、控制流 B、數(shù)據(jù)流 C、程序流 D、指令流
10、軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成(A)A、計劃階段、開發(fā)階段、運行階段 B、計劃階段、編程階段、測試階段 C、總體設(shè)計、詳細(xì)設(shè)計、編程調(diào)試 D、需求分析、功能定義、系統(tǒng)設(shè)計
11、軟件開發(fā)中常采用的結(jié)構(gòu)化生命周期方法,由于其特征而一般稱其為(A)A、瀑布模型 B、對象模型 C、螺旋模型 D、層次模型
12、軟件開發(fā)的瀑布模型,一般都將開發(fā)過程劃分為:分析、設(shè)計、編碼和測試等階段,一般認(rèn)為可能占用人員最多的階段是(C)A、分析階段 B、設(shè)計階段 C、編碼階段 D、測試階段 二.填空
21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達(dá)了系統(tǒng)中各種元素之間的(信息流動)情況。
[解析]系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中的各個元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫、文件、設(shè)備等,表達(dá)了元素之間的信息流動的情況。
22.成本效益分析的目的是從(經(jīng)濟(jì))角度評價開發(fā)一個項目是否可行。
[解析]成本效益分析首先是估算將要開發(fā)的系統(tǒng)的開發(fā)成本,然后與可能取得的效益進(jìn)行比較和權(quán)衡,其目的是從經(jīng)濟(jì)角度評價開發(fā)一個新的軟件項目是否可行。23.自頂向下結(jié)合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和(寬度優(yōu)先策略)。
[解析]漸增式測試法有自頂向下結(jié)合和自底向上結(jié)合兩種組裝模塊的方法,其中自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,不需要編寫驅(qū)動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或?qū)挾葍?yōu)先的策略,逐步把各個模塊集成在一起。
24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條(在其他獨立路徑中未有過)的邊的路徑。
[解析]在基本路徑測試中,以詳細(xì)設(shè)計或源程序為基礎(chǔ),導(dǎo)出控制流程圖的拓?fù)浣Y(jié)構(gòu)——程序圖,在計算了程序圖的環(huán)路復(fù)雜性之后,確定只包含獨立路徑的基本路徑圖,其中獨立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。
25.匯編語言是面向(機(jī)器)的,可以完成高級語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。
[解析]匯編語言屬于低級語言,是一種面向機(jī)器的語言,它與高級語言相比有許多優(yōu)越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設(shè)備的接口工作等,是能夠利用計算機(jī)硬件特性直接控制硬件設(shè)備的唯一語言。
26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是(中間數(shù)據(jù)結(jié)構(gòu)或中間文件)。
[解析]JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法。它定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,根據(jù)輸入、輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過程描述,在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件,將沖突部分分隔開來,建立多個程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個系統(tǒng)的整體。
27.詳細(xì)設(shè)計的任務(wù)是確定每個模塊的內(nèi)部特性,即模塊的算法、(使用的數(shù)據(jù))。
[解析]詳細(xì)設(shè)計的基本任務(wù)是為每個模塊進(jìn)行詳細(xì)的算法設(shè)計,為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計,確定每個模塊的內(nèi)部特性,包括模塊的算法和使用的數(shù)據(jù)。對數(shù)據(jù)庫進(jìn)行物理設(shè)計等。
28.所有軟件維護(hù)申請報告要按規(guī)定方式提出,該報告也稱(軟件問題)報告。
[解析]在軟件維護(hù)的流程中,第一步就是制定維護(hù)申請報告,也稱為軟件問題報告,它是維護(hù)階段的一種文檔,由申請維護(hù)的用戶填寫。
29.有兩類維護(hù)技術(shù):在開發(fā)階段使用來減少錯誤、提高軟件可維護(hù)性的面向維護(hù)的技術(shù);在維護(hù)階段用來提高維護(hù)的效率和質(zhì)量的(維護(hù)支援)技術(shù)。
[解析]面向維護(hù)的技術(shù)涉及軟件開發(fā)的所有階段,能夠減少軟件錯誤,提高軟件的可維護(hù)性。而維護(hù)支援技術(shù)則包含信息收集,錯誤原因分析,維護(hù)方案評價等項,是在軟件維護(hù)階段用來提高維護(hù)效率和質(zhì)量的技術(shù)。
30.科學(xué)工程計算需要大量的標(biāo)準(zhǔn)庫函數(shù),以便處理復(fù)雜的數(shù)值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。
[解析]計算機(jī)語言根據(jù)不同行業(yè)的需求,使用的側(cè)重點也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫語言如FOXPRO、ORICAL有很多的應(yīng)用,在工程行業(yè),計算機(jī)語言的科學(xué)計算能力就顯得格外重要,如MATLAB、PL/
1、FORTRAN語言都是工程計算中常用的語言。三.判斷
1.軟件的開發(fā)與運行經(jīng)常受到硬件的限制和制約。(√)
2.模塊內(nèi)的高內(nèi)聚往往意味著模塊間的松耦合。(√)
3.Jackson圖只能表達(dá)程序結(jié)構(gòu),不能表達(dá)數(shù)據(jù)結(jié)構(gòu)。(X)
上述數(shù)據(jù)流圖表示數(shù)據(jù)A和B同時輸入變換成C。(X)
5.軟件的質(zhì)量好壞主要由驗收人員負(fù)責(zé),其他開發(fā)人員不必關(guān)心。(X)
6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。(√)
7.應(yīng)該盡量使用機(jī)器語言編寫代碼,提高程序運行效率,而減少高級語言的使用。(X)
8.UML只能應(yīng)用于軟件系統(tǒng)模型的建立。(X)
9.容錯就是每個程序采用兩種不同的算法編寫。(X)
10.軟件測試的目的是為了無一遺漏的找出所有的錯誤。(X)
四、名詞解釋題(本大題共5小題,每小題3分,共15分)
31.軟件開發(fā)環(huán)境
32.錯誤推測法
33.黑盒測試法
34.軟件質(zhì)量保證
35.瀑布模型 31.經(jīng)濟(jì)可行性
解:進(jìn)行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項目是否值得投資開發(fā)。
[解析]對于一個系統(tǒng)所必須要衡量的是經(jīng)濟(jì)上是否合算,經(jīng)濟(jì)可行性的范圍很廣,包括效益分析、潛在市場前景等。
32.社會可行性
解:要開發(fā)的項目是否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項目目的運行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行。
[解析]社會可行性包括合同、責(zé)任、侵權(quán)等技術(shù)人員不甚了解的諸多問題。
33.投資回收期
解:投資回收期就是使累計的經(jīng)濟(jì)效益等于最初的投資費用所需的時間。
[解析]通常我們用投資回收期來衡量一個開發(fā)項目的價值,投資回收期越短,就越快獲得利潤。
34.對應(yīng)關(guān)系
解:即有直接因果關(guān)系在程序中可以同時處理。
[解析]對應(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方法時會遇到此類結(jié)構(gòu)沖突問題,對此,Jackson提出了引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件的辦法,將沖突部分分隔開來,建立多個程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個系統(tǒng)的整體。
五、圖 a 中,模塊 G 為判定,判斷涉及到模塊 B、F、G,請指出設(shè)計中的錯誤,再根據(jù) 改進(jìn)模 塊圖的基本原則,畫出 1~2 個改進(jìn)方案(不改變模塊 G 的判斷關(guān)系),并說明是按照
哪條基本 原則進(jìn)行改進(jìn)的。
解:圖 b 為一個改進(jìn)方案,將模塊 G 的位置提高,使其作用范圍為控制范圍的子集,減 少模塊 之間的聯(lián)系。
40.請使用PAD圖和PDL語言描述在數(shù)組A(1)~A(10)中找最大數(shù)的算法。
解:PDL語言:
N=1
WHILE N<=10 DO
IF A(N)<=A(N+1)MAX =A(N+1);
ELSE MAX =A(N)ENDIF;
N=N+1;
ENDWHILE;
PAD圖:
[解析]人工查找時,是從第一個元素開始查找,用當(dāng)前元素與下一個元素比較,將較大者作為當(dāng)前元素又與下一元素比較,如此循環(huán),直到數(shù)組末尾。
41.根據(jù)下列條件使用等價類劃分法設(shè)計測試用例。
某一8位微機(jī),其八進(jìn)制常數(shù)定義為:以零開頭的數(shù)是八進(jìn)制整數(shù),其值的范圍是-177~177,如05,0127,-065
解:(1)劃分等價類并編號,如下表示:(4分)
(2)為合理等價類設(shè)計測試用例,表中有兩個合理等價類,設(shè)計兩個例子(2分)
(3)為不合理等價類測試用例,至少設(shè)計一個測試用例(2分)
[解析]等價類劃分屬于黑盒測試的一種,它將輸入數(shù)據(jù)域按有效的或無效的劃分成若干個等價類,測試每個等價類的代表值就等于對該類其他值的測試,這樣用少量有代表性的例子代替大量測試目的相同的例子,可以有效提高測試效率。本題劃分了3個合理等價類,9個不合理等價類進(jìn)行測試,取到了預(yù)期的效果。
42.某電器集團(tuán)公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位?,F(xiàn)在想建立一個計算機(jī)輔助企業(yè)管理系統(tǒng),其中:
生產(chǎn)科的任務(wù)是:
(1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計劃。
(2)根據(jù)車間實際生產(chǎn)日報表、周報表調(diào)整月生產(chǎn)計劃
(3)以月生產(chǎn)計劃為以及,制定產(chǎn)品設(shè)計(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計劃。
(4)將產(chǎn)品的組裝計劃傳達(dá)到各科,將組裝月計劃分解為周計劃,下達(dá)給車間
技術(shù)科的任務(wù)是:
(1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計劃進(jìn)行產(chǎn)品結(jié)構(gòu)設(shè)計,產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。
(2)根據(jù)組裝計劃進(jìn)行產(chǎn)品工藝設(shè)計,根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件廠。試寫出以上系統(tǒng)中生產(chǎn)科和技術(shù)科處理的軟件結(jié)構(gòu)圖。
解:
畫出生產(chǎn)科圖的給6分,畫出技術(shù)科的給4分。
[解析]軟件結(jié)構(gòu)圖是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控制層次體系,軟件結(jié)構(gòu)往往用樹狀或網(wǎng)狀結(jié)構(gòu)的圖形來表示,其主要內(nèi)容有模塊及模塊的控制關(guān)系,根據(jù)題意,可繪制出生產(chǎn)科和技術(shù)科的軟件結(jié)構(gòu)圖,其中生產(chǎn)科的結(jié)構(gòu)圖深度和寬度均為4,技術(shù)科的結(jié)構(gòu)圖的深度和寬度均為3。
一、判斷題(每題2分,共30分)
1.螺旋模型是在瀑布模型和增量模型的基礎(chǔ)上增加了風(fēng)險分析活動。(對)
2.數(shù)據(jù)字典是對數(shù)據(jù)流圖中的數(shù)據(jù)流,加工、數(shù)據(jù)存儲、數(shù)據(jù)的源和終點進(jìn)行詳細(xì)定義。(錯)
3.JAVA語言編譯器是一個CASE工具。(對)。
4.軟件是指用程序設(shè)計語言(如PASCAL ,C,VISUAL BASIC 等)編寫的程序,軟件開發(fā)實際上就是
編寫程序代碼。(錯)
5.軟件模塊之間的耦合性越弱越發(fā)。(對)6.數(shù)據(jù)庫設(shè)計說明書是一個軟件配置項(對)
7.在面向?qū)ο蟮能浖_發(fā)方法中,每個類都存在其相應(yīng)的對象,類是對象的實例,對象是生成類的模
板。(錯)
8.過程描述語言可以用于描述軟件的系統(tǒng)結(jié)構(gòu)。(錯)
9.如果通過軟件測試沒有發(fā)現(xiàn)錯誤,則說明軟件是正確的。(錯)
10.快速原型模型可以有效地適應(yīng)用戶需求的動態(tài)變化。(對)
11.模塊化,信息隱藏,抽象和逐步求精的軟件設(shè)計原則有助于得到高內(nèi)聚,低耦合度的軟件產(chǎn)品。
(對)
12.集成測試主要由用戶來完成。(錯)
13.確認(rèn)測試計劃應(yīng)該在可行性研究階段制定(錯)
14.白盒測試無需考慮模塊內(nèi)部的執(zhí)行過程和程序結(jié)構(gòu),只要了解模塊的功能即可。(錯)
15.軟件概要設(shè)計包括軟件系統(tǒng)結(jié)構(gòu)設(shè)計以及數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫設(shè)計。(對)
二。單選題(每題2分,共20分)1.瀑布模型的關(guān)鍵不足在于(2)
(1)過于簡單(2)不能適應(yīng)需求的動態(tài)變更(3)過于靈活(4)各個階段需要進(jìn)行評審
2.在面向?qū)ο筌浖_發(fā)方法中,類與類之間主要有以下結(jié)構(gòu)關(guān)系(1)
(1)繼承和聚集(2)繼承和一般(3)聚集和消息傳遞(4)繼承和方法調(diào)用
3.以下哪一項不是軟件危機(jī)的表現(xiàn)形式(3)
(1)成本高(2)生產(chǎn)率低(3)技術(shù)發(fā)展快(4)質(zhì)量得不到保證
4.以下哪一項不是面向?qū)ο蟮奶卣鳎?)
(1)多態(tài)性(2)繼承性(3)封裝性(4)過程調(diào)用
5.面向?qū)ο竽P椭饕梢韵履男┠P徒M成(1)
(1)對象模型、動態(tài)模型、功能模型(2)對象模型、數(shù)據(jù)模型、功能模型(3)數(shù)據(jù)模型、動態(tài)模型、功能模型(4)對象模型、動態(tài)模型、數(shù)據(jù)模型
6.軟件可行性研究一般不考慮(4)
(1)是否有足夠的人員和相關(guān)的技術(shù)來支持系統(tǒng)開發(fā)(2)是否有足夠的工具和相關(guān)的技術(shù)來支持系統(tǒng)開發(fā)(3)待開發(fā)軟件是否有市場、經(jīng)濟(jì)上是否合算(4)待開發(fā)的軟件是否會有質(zhì)量問題
7.軟件維護(hù)的副作用主要有以下哪幾種(3)
(1)編碼副作用、數(shù)據(jù)副作用、測試副作用(2)編碼副作用、數(shù)據(jù)副作用、調(diào)試副作用(3)編碼副作用、數(shù)據(jù)副作用、文檔副作用(4)編碼副作用、文檔副作用、測試副作用
8.軟件項目計劃一般不包括以下哪項內(nèi)容(4)
(1)培訓(xùn)計劃(2)人員安排(3)進(jìn)度安排(4)軟件開發(fā)標(biāo)準(zhǔn)的選擇和制定
9.以下哪一項不屬于面向?qū)ο蟮能浖_發(fā)方法(3)
(1)coad方法(2)booch方法(3)jackson方法(4)omt方法
10.以下哪種測試方法不屬于白盒測試技術(shù)(2)
(1)基本路徑測試(2)邊界值分析測試(3)循環(huán)覆蓋測試(4)邏輯覆蓋測試
第五篇:軟件工程導(dǎo)論試題
軟件工程導(dǎo)論試題
一.選擇
1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計、詳細(xì)設(shè)計、編碼、測試和運行、維護(hù)。八個階段又可歸納為三個大的階段:計劃階段、開發(fā)階段和(C)。A、詳細(xì)計劃 B、可行性分析
C、運行階段 D、測試與排錯
2、從結(jié)構(gòu)化的瀑布模型看,在它的生命周期中的八個階段中,下面的幾個選項中哪個環(huán)節(jié)出錯,對軟件的影響最大(C)。A、詳細(xì)設(shè)計階段 B、概要設(shè)計階段
C、需求分析階段 D、測試和運行階段
3、在結(jié)構(gòu)化的瀑布模型中,哪一個階段定義的標(biāo)準(zhǔn)將成為軟件測試中的系統(tǒng)測試階段的目標(biāo)(A)。
A、需求分析階段 B、詳細(xì)設(shè)計階段
C、概要設(shè)計階段 D、可行性研究階段
4、軟件工程的出現(xiàn)主要是由于(C)。
A.程序設(shè)計方法學(xué)的影響 B.其它工程科學(xué)的影響
C.軟件危機(jī)的出現(xiàn) D.計算機(jī)的發(fā)展
5、軟件工程方法學(xué)的目的是:使軟件生產(chǎn)規(guī)范化和工程化,而軟件工程方法得以實施的主要保證是(C)A、硬件環(huán)境 B、軟件開發(fā)的環(huán)境
C、軟件開發(fā)工具和軟件開發(fā)的環(huán)境 D、開發(fā)人員的素質(zhì)
6、軟件開發(fā)常使用的兩種基本方法是結(jié)構(gòu)化和原型化方法,在實際的應(yīng)用中,它們之間的關(guān)系表現(xiàn)為(B)A、相互排斥 B、相互補充
C、獨立使用 D、交替使用
7、UML是軟件開發(fā)中的一個重要工具,它主要應(yīng)用于哪種軟件開發(fā)方法(C)A、基于瀑布模型的結(jié)構(gòu)化方法 B、基于需求動態(tài)定義的原型化方法 C、基于對象的面向?qū)ο蟮姆椒?D、基于數(shù)據(jù)的數(shù)據(jù)流開發(fā)方法
8、在下面的軟件開發(fā)方法中,哪一個對軟件設(shè)計和開發(fā)人員的開發(fā)要求最高(B)A、結(jié)構(gòu)化方法 B、原型化方法 C、面向?qū)ο蟮姆椒?D、控制流方法
9、結(jié)構(gòu)化分析方法是一種預(yù)先嚴(yán)格定義需求的方法,它在實施時強(qiáng)調(diào)的是分析對象的(B)A、控制流 B、數(shù)據(jù)流 C、程序流 D、指令流
10、軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成(A)A、計劃階段、開發(fā)階段、運行階段 B、計劃階段、編程階段、測試階段 C、總體設(shè)計、詳細(xì)設(shè)計、編程調(diào)試 D、需求分析、功能定義、系統(tǒng)設(shè)計
11、軟件開發(fā)中常采用的結(jié)構(gòu)化生命周期方法,由于其特征而一般稱其為(A)A、瀑布模型 B、對象模型 C、螺旋模型 D、層次模型
12、軟件開發(fā)的瀑布模型,一般都將開發(fā)過程劃分為:分析、設(shè)計、編碼和測試等階段,一般認(rèn)為可能占用人員最多的階段是(C)A、分析階段 B、設(shè)計階段 C、編碼階段 D、測試階段 二.填空
21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達(dá)了系統(tǒng)中各種元素之間的(信息流動)情況。
[解析]系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中的各個元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫、文件、設(shè)備等,表達(dá)了元素之間的信息流動的情況。
22.成本效益分析的目的是從(經(jīng)濟(jì))角度評價開發(fā)一個項目是否可行。
[解析]成本效益分析首先是估算將要開發(fā)的系統(tǒng)的開發(fā)成本,然后與可能取得的效益進(jìn)行比較和權(quán)衡,其目的是從經(jīng)濟(jì)角度評價開發(fā)一個新的軟件項目是否可行。23.自頂向下結(jié)合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和(寬度優(yōu)先策略)。
[解析]漸增式測試法有自頂向下結(jié)合和自底向上結(jié)合兩種組裝模塊的方法,其中自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,不需要編寫驅(qū)動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或?qū)挾葍?yōu)先的策略,逐步把各個模塊集成在一起。
24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條(在其他獨立路徑中未有過)的邊的路徑。
[解析]在基本路徑測試中,以詳細(xì)設(shè)計或源程序為基礎(chǔ),導(dǎo)出控制流程圖的拓?fù)浣Y(jié)構(gòu)——程序圖,在計算了程序圖的環(huán)路復(fù)雜性之后,確定只包含獨立路徑的基本路徑圖,其中獨立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。
25.匯編語言是面向(機(jī)器)的,可以完成高級語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。
[解析]匯編語言屬于低級語言,是一種面向機(jī)器的語言,它與高級語言相比有許多優(yōu)越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設(shè)備的接口工作等,是能夠利用計算機(jī)硬件特性直接控制硬件設(shè)備的唯一語言。
26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是(中間數(shù)據(jù)結(jié)構(gòu)或中間文件)。
[解析]JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法。它定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,根據(jù)輸入、輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過程描述,在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件,將沖突部分分隔開來,建立多個程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個系統(tǒng)的整體。
27.詳細(xì)設(shè)計的任務(wù)是確定每個模塊的內(nèi)部特性,即模塊的算法、(使用的數(shù)據(jù))。
[解析]詳細(xì)設(shè)計的基本任務(wù)是為每個模塊進(jìn)行詳細(xì)的算法設(shè)計,為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計,確定每個模塊的內(nèi)部特性,包括模塊的算法和使用的數(shù)據(jù)。對數(shù)據(jù)庫進(jìn)行物理設(shè)計等。
28.所有軟件維護(hù)申請報告要按規(guī)定方式提出,該報告也稱(軟件問題)報告。
[解析]在軟件維護(hù)的流程中,第一步就是制定維護(hù)申請報告,也稱為軟件問題報告,它是維護(hù)階段的一種文檔,由申請維護(hù)的用戶填寫。
29.有兩類維護(hù)技術(shù):在開發(fā)階段使用來減少錯誤、提高軟件可維護(hù)性的面向維護(hù)的技術(shù);在維護(hù)階段用來提高維護(hù)的效率和質(zhì)量的(維護(hù)支援)技術(shù)。
[解析]面向維護(hù)的技術(shù)涉及軟件開發(fā)的所有階段,能夠減少軟件錯誤,提高軟件的可維護(hù)性。而維護(hù)支援技術(shù)則包含信息收集,錯誤原因分析,維護(hù)方案評價等項,是在軟件維護(hù)階段用來提高維護(hù)效率和質(zhì)量的技術(shù)。
30.科學(xué)工程計算需要大量的標(biāo)準(zhǔn)庫函數(shù),以便處理復(fù)雜的數(shù)值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。
[解析]計算機(jī)語言根據(jù)不同行業(yè)的需求,使用的側(cè)重點也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫語言如FOXPRO、ORICAL有很多的應(yīng)用,在工程行業(yè),計算機(jī)語言的科學(xué)計算能力就顯得格外重要,如MATLAB、PL/
1、FORTRAN語言都是工程計算中常用的語言。三.判斷
1.軟件的開發(fā)與運行經(jīng)常受到硬件的限制和制約。(√)
2.模塊內(nèi)的高內(nèi)聚往往意味著模塊間的松耦合。(√)3.Jackson圖只能表達(dá)程序結(jié)構(gòu),不能表達(dá)數(shù)據(jù)結(jié)構(gòu)。(X)
上述數(shù)據(jù)流圖表示數(shù)據(jù)A和B同時輸入變換成C。(X)
5.軟件的質(zhì)量好壞主要由驗收人員負(fù)責(zé),其他開發(fā)人員不必關(guān)心。(X)
6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。(√)
7.應(yīng)該盡量使用機(jī)器語言編寫代碼,提高程序運行效率,而減少高級語言的使用。(X)
8.UML只能應(yīng)用于軟件系統(tǒng)模型的建立。(X)
9.容錯就是每個程序采用兩種不同的算法編寫。(X)
10.軟件測試的目的是為了無一遺漏的找出所有的錯誤。(X)
四、名詞解釋題(本大題共5小題,每小題3分,共15分)
31.軟件開發(fā)環(huán)境
32.錯誤推測法
33.黑盒測試法
34.軟件質(zhì)量保證
35.瀑布模型 31.經(jīng)濟(jì)可行性
解:進(jìn)行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項目是否值得投資開發(fā)。
[解析]對于一個系統(tǒng)所必須要衡量的是經(jīng)濟(jì)上是否合算,經(jīng)濟(jì)可行性的范圍很廣,包括效益分析、潛在市場前景等。
32.社會可行性
解:要開發(fā)的項目是否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項目目的運行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行。
[解析]社會可行性包括合同、責(zé)任、侵權(quán)等技術(shù)人員不甚了解的諸多問題。
33.投資回收期
解:投資回收期就是使累計的經(jīng)濟(jì)效益等于最初的投資費用所需的時間。
[解析]通常我們用投資回收期來衡量一個開發(fā)項目的價值,投資回收期越短,就越快獲得利潤。
34.對應(yīng)關(guān)系
解:即有直接因果關(guān)系在程序中可以同時處理。
[解析]對應(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方法時會遇到此類結(jié)構(gòu)沖突問題,對此,Jackson提出了引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件的辦法,將沖突部分分隔開來,建立多個程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個系統(tǒng)的整體。
五、圖 a 中,模塊 G 為判定,判斷涉及到模塊 B、F、G,請指出設(shè)計中的錯誤,再根據(jù) 改進(jìn)模 塊圖的基本原則,畫出 1~2 個改進(jìn)方案(不改變模塊 G 的判斷關(guān)系),并說明是按照
哪條基本 原則進(jìn)行改進(jìn)的。
解:圖 b 為一個改進(jìn)方案,將模塊 G 的位置提高,使其作用范圍為控制范圍的子集,減 少模塊 之間的聯(lián)系。
40.請使用PAD圖和PDL語言描述在數(shù)組A(1)~A(10)中找最大數(shù)的算法。
解:PDL語言:
N=1
WHILE N<=10 DO
IF A(N)<=A(N+1)MAX =A(N+1);
ELSE MAX =A(N)ENDIF;
N=N+1;
ENDWHILE;
PAD圖:
[解析]人工查找時,是從第一個元素開始查找,用當(dāng)前元素與下一個元素比較,將較大者作為當(dāng)前元素又與下一元素比較,如此循環(huán),直到數(shù)組末尾。
41.根據(jù)下列條件使用等價類劃分法設(shè)計測試用例。
某一8位微機(jī),其八進(jìn)制常數(shù)定義為:以零開頭的數(shù)是八進(jìn)制整數(shù),其值的范圍是-177~177,如05,0127,-065
解:(1)劃分等價類并編號,如下表示:(4分)
(2)為合理等價類設(shè)計測試用例,表中有兩個合理等價類,設(shè)計兩個例子(2分)
(3)為不合理等價類測試用例,至少設(shè)計一個測試用例(2分)
[解析]等價類劃分屬于黑盒測試的一種,它將輸入數(shù)據(jù)域按有效的或無效的劃分成若干個等價類,測試每個等價類的代表值就等于對該類其他值的測試,這樣用少量有代表性的例子代替大量測試目的相同的例子,可以有效提高測試效率。本題劃分了3個合理等價類,9個不合理等價類進(jìn)行測試,取到了預(yù)期的效果。
42.某電器集團(tuán)公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位?,F(xiàn)在想建立一個計算機(jī)輔助企業(yè)管理系統(tǒng),其中:
生產(chǎn)科的任務(wù)是:
(1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計劃。
(2)根據(jù)車間實際生產(chǎn)日報表、周報表調(diào)整月生產(chǎn)計劃
(3)以月生產(chǎn)計劃為以及,制定產(chǎn)品設(shè)計(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計劃。
(4)將產(chǎn)品的組裝計劃傳達(dá)到各科,將組裝月計劃分解為周計劃,下達(dá)給車間
技術(shù)科的任務(wù)是:
(1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計劃進(jìn)行產(chǎn)品結(jié)構(gòu)設(shè)計,產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。
(2)根據(jù)組裝計劃進(jìn)行產(chǎn)品工藝設(shè)計,根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件廠。試寫出以上系統(tǒng)中生產(chǎn)科和技術(shù)科處理的軟件結(jié)構(gòu)圖。
解:
畫出生產(chǎn)科圖的給6分,畫出技術(shù)科的給4分。
[解析]軟件結(jié)構(gòu)圖是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控制層次體系,軟件結(jié)構(gòu)往往用樹狀或網(wǎng)狀結(jié)構(gòu)的圖形來表示,其主要內(nèi)容有模塊及模塊的控制關(guān)系,根據(jù)題意,可繪制出生產(chǎn)科和技術(shù)科的軟件結(jié)構(gòu)圖,其中生產(chǎn)科的結(jié)構(gòu)圖深度和寬度均為4,技術(shù)科的結(jié)構(gòu)圖的深度和寬度均為3。