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