




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件工程課后答案呂云翔
1.與計(jì)算機(jī)硬件相比,計(jì)算機(jī)軟件有哪些特點(diǎn),
答:一、無法直接觀察計(jì)算機(jī)軟件的物理形態(tài),只能通過觀察它的實(shí)際運(yùn)行情
況來了解它的功能、特性和質(zhì)量等;二、人們?cè)诜治觥⒃O(shè)計(jì)、開發(fā)、測(cè)試軟件產(chǎn)品
的過程中,以及在軟件開發(fā)項(xiàng)目的管理過程中,滲透了大量的腦力勞動(dòng);三、不存
在像硬件一樣的磨損和老化現(xiàn)象,但存在著缺陷維護(hù)和技術(shù)更新的問題;四、軟件
的開發(fā)和運(yùn)行必須依賴于特定的計(jì)算機(jī)系統(tǒng)環(huán)境;五、具有可復(fù)用性。
2.為什么說軟件工程的發(fā)展可以在一定程度上解決軟件危機(jī)的各種弊端,
答:因?yàn)?,軟件工程的提出是為了解決軟件危機(jī)所帶來的各種弊端。具體地
講,軟件工程的目標(biāo)主要包括以下幾點(diǎn)。
(1)使軟件開發(fā)的成本能夠控制在預(yù)計(jì)的合理范圍內(nèi)。
(2)使軟件產(chǎn)品的各項(xiàng)功能和性能能夠滿足用戶需求。
(3)提高軟件產(chǎn)品的質(zhì)量。
(4)提高軟件產(chǎn)品的可靠性。
(5)使生產(chǎn)出來的軟件產(chǎn)品易于移植、維護(hù)、升級(jí)和使用。
(6)使軟件產(chǎn)品的開發(fā)周期能夠控制在預(yù)計(jì)的合理時(shí)間范圍內(nèi)。
3.請(qǐng)簡(jiǎn)述軟件工程的基本原則。
答:(1)將軟件的生命周期劃分為多個(gè)階段,對(duì)各個(gè)階段實(shí)行嚴(yán)格的項(xiàng)目管
理。
(2)堅(jiān)持階段評(píng)審制度,以確保軟件產(chǎn)品的質(zhì)量。
(3)實(shí)施嚴(yán)格的產(chǎn)品控制,以適應(yīng)軟件規(guī)格的變更。在軟件開發(fā)的過程中,用
戶需求很可能不斷發(fā)生變化。(4)采用現(xiàn)代程序設(shè)計(jì)技術(shù)。
(5)開發(fā)出來的軟件產(chǎn)品應(yīng)該能夠清楚地被審查。
(6)合理地安排軟件開發(fā)小組的人員,并且開發(fā)小組的人員要少而精。
(7)不斷地改進(jìn)軟件工程實(shí)踐。
4.如何理解軟件生命周期的內(nèi)在特征,
答:軟件產(chǎn)品的生命周期是指從設(shè)計(jì)該產(chǎn)品的構(gòu)想開始,到軟件需求的確定、
軟件設(shè)計(jì)、軟件實(shí)現(xiàn)、產(chǎn)品測(cè)試與驗(yàn)收、投入使用以及產(chǎn)品版本的不斷更新,到最
終該產(chǎn)品被市場(chǎng)淘汰的全過程。軟件生命周期這個(gè)概念從時(shí)間的角度將軟件的開發(fā)
和維護(hù)的復(fù)雜過程分解為了若干個(gè)階段,每個(gè)階段都完成特定的相對(duì)獨(dú)立的任務(wù)。
由于每個(gè)階段的任務(wù)相對(duì)于總?cè)蝿?wù)難度會(huì)大幅度降低,在資源分配、時(shí)間把握和項(xiàng)
目管理上都會(huì)比較容易控制。合理地劃分軟件生命周期的各個(gè)階段,使各個(gè)階段之
間既相互區(qū)別又相互聯(lián)系,為每個(gè)階段賦予特定的任務(wù)。
5.請(qǐng)對(duì)比瀑布模型、原型模型、增量模型和螺旋模型。
答:瀑布模型是出現(xiàn)得比較早的軟件開發(fā)模型。在這種模型中,各階段之間的
組織方式就如同瀑布流水一樣,逐級(jí)下落。開發(fā)人員必須在完成前一階段的任務(wù)
后,才能開始下一階段的工作,各個(gè)階段之間通常是按固定順序連接的,前一階段
的輸出往往就是后一階段的輸入。
根據(jù)瀑布模型的理論,這種模型具有以下幾個(gè)特點(diǎn)。
(1)瀑布模型是一種線性的軟件開發(fā)模型,回溯性很差。
(2)瀑布模型是一種基于里程碑的階段過程模型。
(3)瀑布模型強(qiáng)調(diào)軟件開發(fā)過程的階段性,每個(gè)階段完成特定的任務(wù)。
瀑布模型適用于具有以下特征的軟件開發(fā)項(xiàng)目。
(1)在軟件開發(fā)的過程中,需求不發(fā)生或很少發(fā)生變化,并且開發(fā)人員可以一
次性獲取到全部需求.(2)軟件開發(fā)人員具有豐富的經(jīng)驗(yàn),對(duì)軟件應(yīng)用領(lǐng)域很熟
悉。
(3)軟件項(xiàng)目的風(fēng)險(xiǎn)較低。瀑布模型不具有完善的風(fēng)險(xiǎn)控制機(jī)制。
瀑布模型的優(yōu)點(diǎn)是階段性強(qiáng),易于對(duì)項(xiàng)目進(jìn)行管理,缺點(diǎn)是開發(fā)過程不靈活,
不能適應(yīng)環(huán)境的變化。如果后續(xù)階段中發(fā)現(xiàn)前期工作的錯(cuò)誤或需求發(fā)生了變更,會(huì)
造成巨大的損失。
原型模型是開發(fā)人員為了快速而準(zhǔn)確地獲取需求經(jīng)常采用的方法。在初步獲取
需求后,開發(fā)人員會(huì)快速地
開發(fā)一個(gè)原型系統(tǒng)。通過對(duì)原型系統(tǒng)進(jìn)行模擬操作,開發(fā)人員可以更直觀、更
全面和更準(zhǔn)確地了解用戶對(duì)待開發(fā)系統(tǒng)的各項(xiàng)要求,同時(shí)還能挖掘到隱藏的需求。
如果開發(fā)人員對(duì)將采用的開發(fā)技術(shù)把握不大,也可以采用原型模型進(jìn)行技術(shù)上的嘗
試,以降低后續(xù)開發(fā)的風(fēng)險(xiǎn)。
原型模型具有以下特點(diǎn)。
(1)原型模型主要用于挖掘需求,或是進(jìn)行某種技術(shù)或開發(fā)方法的可行性研
究。
(2)原型系統(tǒng)通常針對(duì)軟件開發(fā)系統(tǒng)的子功能模塊,所以功能相對(duì)不完善。
(3)由于原型系統(tǒng)功能的局部性以及存在階段的局部性,在軟件開發(fā)的實(shí)踐
中,原型模型通常結(jié)合其他的軟件開發(fā)模型共同使用,發(fā)揮作用。
原型模型適用于具有以下特征的軟件開發(fā)項(xiàng)目。
(1)對(duì)現(xiàn)有的軟件系統(tǒng)進(jìn)行產(chǎn)品升級(jí)或功能完善。
(2)開發(fā)人員與用戶之間交流受限,需求獲取困難。
(3)開發(fā)人員對(duì)將要采用的技術(shù)手段不熟悉或把握性不大。
(4)具備快速開發(fā)的工具。
原型模型的優(yōu)點(diǎn)是簡(jiǎn)單和快速,缺點(diǎn)是需要花費(fèi)一些額外的成本來構(gòu)造原型,
并且不利于創(chuàng)新。增量模型是把待開發(fā)的軟件系統(tǒng)模塊化,將每個(gè)模塊作為一個(gè)
增量組件,從而分批次地分析、設(shè)計(jì)、編碼和測(cè)試這些增量組件。運(yùn)用增量模型的
軟件開發(fā)過程是遞增式的過程。相對(duì)于瀑布模型而言,采用增量模型進(jìn)行開發(fā),開
發(fā)人員不需要一次性地把整個(gè)軟件產(chǎn)品提交給用戶,而是可以分批次進(jìn)行提交。
增量模型的最大特點(diǎn)就是將待開發(fā)的軟件系統(tǒng)模塊化和組件化。
基于這個(gè)特點(diǎn),增量模型具有以下優(yōu)點(diǎn)。
(1)將待開發(fā)的軟件系統(tǒng)模塊化,可以分批次地提交軟件產(chǎn)品,使用戶可以及
時(shí)了解軟件項(xiàng)目的進(jìn)展。(2)以組件為單位進(jìn)行開發(fā)降低了軟件開發(fā)的風(fēng)險(xiǎn)。一
個(gè)開發(fā)周期內(nèi)的錯(cuò)誤不會(huì)影響到整個(gè)軟件系統(tǒng)。(3)開發(fā)順序靈活。
增量模型的缺點(diǎn)是要求待開發(fā)的軟件系統(tǒng)可以被模塊化。如果待開發(fā)的軟件系
統(tǒng)很難被模塊化,那么將會(huì)給增量開發(fā)帶來很多麻煩。
增量模型適用于具有以下特征的軟件開發(fā)項(xiàng)目。
(1)軟件產(chǎn)品可以分批次地進(jìn)行交付。
(2)待開發(fā)的軟件系統(tǒng)能夠被模塊化。
(3)軟件開發(fā)人員對(duì)應(yīng)用領(lǐng)域不熟悉,難以一次性地進(jìn)行系統(tǒng)開發(fā)。
(4)項(xiàng)目管理人員把握全局的水平較高。
螺旋模型是一種用于風(fēng)險(xiǎn)較大的大型軟件項(xiàng)目開發(fā)的過程模型。它把開發(fā)過程
分為制定計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)施工程和客戶評(píng)估4種活動(dòng)。制定計(jì)劃就是要確定軟
件系統(tǒng)的目標(biāo),了解各種資源限制,并選定合適的開發(fā)方案。風(fēng)險(xiǎn)分析旨在對(duì)所選
方案進(jìn)行評(píng)價(jià),識(shí)別潛在的風(fēng)險(xiǎn),并制定消除風(fēng)險(xiǎn)的機(jī)制。實(shí)施工程的活動(dòng)中滲透
了瀑布模型的各個(gè)階段,開發(fā)人員對(duì)下一版本的軟件產(chǎn)品進(jìn)行開發(fā)和驗(yàn)證??蛻粼u(píng)
估是獲取客戶意見的重要活動(dòng)。
螺旋模型適應(yīng)于風(fēng)險(xiǎn)較大的大型軟件項(xiàng)目的開發(fā)。它的優(yōu)點(diǎn)是將風(fēng)險(xiǎn)分析擴(kuò)展
到各個(gè)階段中,大幅度降低了軟件開發(fā)的風(fēng)險(xiǎn)。但是這種模型的控制和管理較為復(fù)
雜,可操作性不強(qiáng),對(duì)項(xiàng)目管理人員的要求較高。6.在統(tǒng)一軟件開發(fā)過程模型中
核心工作流程包含哪些,
答:核心工作流程有業(yè)務(wù)建模、需求、分析設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試和部署。
1.可行性研究的內(nèi)容有哪些,
答:可行性研究主要是從技術(shù)、經(jīng)濟(jì)和社會(huì)三個(gè)方面對(duì)軟件項(xiàng)目的可行性進(jìn)行
分析。技術(shù)可行性研究是對(duì)技術(shù)解決方案的實(shí)用性、技術(shù)資源的可用性和設(shè)備條件
做出評(píng)估。經(jīng)濟(jì)可行性研究要對(duì)項(xiàng)目的開發(fā)總成本與開發(fā)系統(tǒng)將帶來的經(jīng)濟(jì)效益之
間的差值進(jìn)行度量,從經(jīng)濟(jì)的角度去判斷是否值得為軟件開發(fā)項(xiàng)目進(jìn)行投資。社會(huì)
可行性研究從政策、法律和制度等社會(huì)因素方面考慮項(xiàng)目開發(fā)的合理性和意義。2,
如何理解需求分析的作用和重要性。
答:一般情況下,用戶并不熟悉計(jì)算機(jī)的相關(guān)知識(shí),而軟件開發(fā)人員對(duì)相關(guān)的
業(yè)務(wù)領(lǐng)域也不甚了解,用戶與開發(fā)人
員之間對(duì)同一問題理解的差異和習(xí)慣用語的不同往往會(huì)為需求分析帶來很大的
困難。所以,開發(fā)人員和用戶之間充分和有效的溝通在需求分析的過程中至關(guān)重
要。
3.常用的需求獲取的方法有哪些,對(duì)比各種方法的優(yōu)缺點(diǎn)。
答:獲取需求的方法有很多種,比如,問卷調(diào)查、訪談、實(shí)地操作、建立原型
和研究資料等。問卷調(diào)查法是采用調(diào)查問卷的形式來進(jìn)行需求分析的一種方法。
通過對(duì)用戶填寫的調(diào)查問卷進(jìn)行匯總、統(tǒng)計(jì)和分析,開發(fā)人員便可以得到一些有用
的信息。一般在設(shè)計(jì)調(diào)查問卷時(shí),要合理地控制開放式問題和封閉式問題的比例。
開放式問題的回答不受限制,自由靈活,能夠激發(fā)用戶的思維,使他們能盡可能地
闡述自己的真實(shí)想法。但是,對(duì)開放式問題進(jìn)行匯總和分析的工作會(huì)比較復(fù)雜。封
閉式問題的答案是預(yù)先設(shè)定的,用戶從若干答案中進(jìn)行選擇。封閉式問題便于對(duì)問
卷信息進(jìn)行歸納與整理,但是會(huì)限制用戶的思維。訪談通過開發(fā)人員與特定的用
戶代表進(jìn)行座談,進(jìn)而了解到用戶的意見,是最直接的需求獲取方法。。由于被訪
談的用戶身份可能多種多樣,開發(fā)人員要根據(jù)用戶的身份特點(diǎn),進(jìn)行提問,給予啟
發(fā)。當(dāng)然,進(jìn)行詳細(xì)的記錄也是訪談過程中必不可少的工作。
親身實(shí)踐可以更直接地體會(huì)現(xiàn)有系統(tǒng)的弊端以及新系統(tǒng)應(yīng)該解決的問題,這種
需求獲取方法就是實(shí)地操作。通過實(shí)地操作得到的信息會(huì)更加準(zhǔn)確和真實(shí),但是這
種方法會(huì)比較費(fèi)時(shí)間。
當(dāng)用戶本身對(duì)需求的了解不太清晰的時(shí)候,開發(fā)人員通常采用建立原型系統(tǒng)的
方法對(duì)用戶需求進(jìn)行挖掘。通過對(duì)原型系統(tǒng)進(jìn)行模擬操作,開發(fā)人員能及時(shí)獲得用
戶的意見,從而對(duì)需求進(jìn)行明確。4.如何理解結(jié)構(gòu)化需求分析方法的基本思想。
答:結(jié)構(gòu)化需求分析是一種面向數(shù)據(jù)流的需求分析方法。它基于“分解”和
“抽象”的基本思想,逐步建立目標(biāo)系統(tǒng)的邏輯模型,進(jìn)而描繪出滿足用戶要求的
軟件系統(tǒng)。
“分解”是指對(duì)于一個(gè)復(fù)雜的系統(tǒng),為了將復(fù)雜性降低到可以掌握的程度,可
以把大問題分解為若干個(gè)小問題,然后再分別解決。
最頂層描述了整個(gè)目標(biāo)系統(tǒng),中間層將目標(biāo)系統(tǒng)劃分為若干個(gè)模塊,每個(gè)模塊
完成一定的功能,而最底層是對(duì)每個(gè)模塊實(shí)現(xiàn)方法的細(xì)節(jié)性描述??梢姡谥饘臃?/p>
解的過程中,起初并不考慮細(xì)節(jié)性的問題,而是先關(guān)注問題最本質(zhì)的屬性,隨著分
解自頂向下進(jìn)行,才逐漸考慮越來越具體的細(xì)節(jié)。這種用最本質(zhì)的屬性表示一個(gè)軟
件系統(tǒng)的方法就是“抽象”。
5.請(qǐng)闡述面向?qū)ο蟮幕靖拍睢?/p>
答:。面向?qū)ο蟮幕靖拍畎▽?duì)象、類、封裝、繼承和多態(tài)。對(duì)象可以是客
觀世界中存在的事物,也可以是概念化的實(shí)體,它由一組屬性和操作組成。屬性是
用來描述對(duì)象靜態(tài)特征的數(shù)據(jù)項(xiàng),是對(duì)客觀世界實(shí)體所具有性質(zhì)的抽象。操作是用
來描述對(duì)象動(dòng)態(tài)特征。類是對(duì)對(duì)象的抽象,是對(duì)具有相同屬性和相同操作的一組相
似對(duì)象的定義。封裝是指把對(duì)象的屬性和操作結(jié)合在一起,組成一個(gè)獨(dú)立的單元。
繼承表示類之間的層次關(guān)系,它使得某類對(duì)象可以自動(dòng)擁有另外一個(gè)或多個(gè)對(duì)象的
全部屬性和操作。多態(tài)是一種使父類中定義的屬性或操作被子類繼承后,可以有不
同的實(shí)現(xiàn)的機(jī)制。
6.對(duì)比面向?qū)ο笮枨蠓治龇椒ê徒Y(jié)構(gòu)化需求分析方法。
答:結(jié)構(gòu)化需求分析方法基于“分解”和“抽象”的基本思想,逐步建立目標(biāo)
系統(tǒng)的邏輯模型,進(jìn)而描繪出滿足用戶要求的軟件系統(tǒng)。常用的結(jié)構(gòu)化需求分析工
具有數(shù)據(jù)流圖、數(shù)據(jù)字典和E-R圖。數(shù)據(jù)流圖把軟件系統(tǒng)看成是由數(shù)據(jù)流聯(lián)系的各
種功能的組合,可以用來建立目標(biāo)系統(tǒng)的邏輯模型。數(shù)據(jù)字典用于定義數(shù)據(jù)流圖中
各個(gè)圖元的具體內(nèi)容,為數(shù)據(jù)流圖中出現(xiàn)的圖形元素做出確切的解釋。E-R圖可以
用于描述應(yīng)用系統(tǒng)的概念結(jié)構(gòu)數(shù)據(jù)模型,它采用實(shí)體、聯(lián)系和屬性這三個(gè)基本概念
來進(jìn)行建模。
面向?qū)ο笮枨蠓治龇椒ㄖ饕诿嫦驅(qū)ο蟮乃枷?,以用例模型為基礎(chǔ)進(jìn)行需求
分析。面向?qū)ο蟮母拍钪兄饕婕傲藢?duì)象、類、封裝、繼承和多態(tài)等概念。因?yàn)槊?/p>
向?qū)ο蟮能浖こ谭椒ǜ先祟惖乃季S習(xí)慣,穩(wěn)定性好,而且可復(fù)用性好,所以
在目前的軟件開發(fā)領(lǐng)域中最為流行。
L比較概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)的目標(biāo),并分別闡述概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)的內(nèi)容。
答:概要設(shè)計(jì),得到軟件系統(tǒng)的基本框架。它以需求規(guī)格說明書為基礎(chǔ),概要
地說明軟件系統(tǒng)的實(shí)現(xiàn)方案,包括目標(biāo)系統(tǒng)的總體架構(gòu)、每個(gè)模塊的功能描述、數(shù)
據(jù)接口描述及模塊之間的調(diào)用關(guān)系、數(shù)據(jù)庫、數(shù)據(jù)定義和數(shù)據(jù)結(jié)構(gòu)等。
詳細(xì)設(shè)計(jì),明確系統(tǒng)內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)。在進(jìn)行詳細(xì)設(shè)計(jì)的過程中,設(shè)計(jì)人員的
工作涉及的內(nèi)容有過程、數(shù)據(jù)和接口等。過程設(shè)計(jì)主要是指描述系統(tǒng)中每個(gè)模塊的
實(shí)現(xiàn)算法和細(xì)節(jié)。數(shù)據(jù)設(shè)計(jì)是對(duì)各模塊所用到的數(shù)據(jù)結(jié)構(gòu)的進(jìn)一步細(xì)化。接口設(shè)計(jì)
針對(duì)的是軟件系統(tǒng)各模塊之間的關(guān)系或通信方式以及目標(biāo)系統(tǒng)與外部系統(tǒng)之間的聯(lián)
系。
2.為什么說“高內(nèi)聚、低耦合”的設(shè)計(jì)有利于提高系統(tǒng)的獨(dú)立性,
答:內(nèi)聚和耦合往往密切相關(guān),模塊的高內(nèi)聚通常意味著低耦合。低耦合因?yàn)?/p>
模塊之間的耦合程度越低,相互影響就越小,發(fā)生異常后產(chǎn)生連鎖反應(yīng)的概率就越
低;在修改一個(gè)模塊時(shí),低耦合的系統(tǒng)可以把修改范圍盡量控制在最小的范圍內(nèi);對(duì)
一個(gè)模塊進(jìn)行維護(hù)時(shí),其他模塊的內(nèi)部程序的正常運(yùn)行不會(huì)受到較大的影響。
4.對(duì)基于面向?qū)ο笏枷氲脑O(shè)計(jì)而言,有哪些方法或機(jī)制可以實(shí)現(xiàn)信息隱藏,
答:通常,模塊的信息隱藏可以通過接口來實(shí)現(xiàn)。模塊通過接口與外部進(jìn)行通
信,而把模塊的具體實(shí)現(xiàn)細(xì)節(jié)(如數(shù)據(jù)結(jié)構(gòu)、算法等內(nèi)部信息、)隱藏起來。一般來
說,一個(gè)模塊具有有限個(gè)接口,外部模塊通過調(diào)用相應(yīng)的接口來實(shí)現(xiàn)對(duì)目標(biāo)模塊的
操作。
6.如果要求兩個(gè)正整數(shù)的最小公倍數(shù),請(qǐng)用程序流程圖、N-S圖和PAD圖分別
表示出求解該問題的算法。答:程序流程圖:
開始
x?m,
y?n
z?x*y
x>yYNi?x-li?y-li?i+li?i+1
NNi%y==Oi%x==O&&i〈z&&i<z
YY輸出i
結(jié)束
開始
x?m,
y?n
z?x*y
x>yYN
i?x-li?y-l
i?i+li?i+1
7.比較結(jié)構(gòu)化軟件設(shè)計(jì)方法和面向?qū)ο筌浖O(shè)計(jì)方法。
答:結(jié)構(gòu)化軟件設(shè)計(jì)方法和面向?qū)ο筌浖O(shè)計(jì)方法是兩種主流的軟件設(shè)計(jì)方
法。NN結(jié)構(gòu)化軟件設(shè)計(jì)方法更關(guān)注于系統(tǒng)的功能,采用自頂向下、逐步求精的設(shè)
計(jì)過程,以模塊為中心來解決問題,按照工程標(biāo)準(zhǔn)和嚴(yán)格的規(guī)范將目標(biāo)系統(tǒng)劃分為
若干功能模塊。面向數(shù)據(jù)流的方法和面向數(shù)據(jù)結(jié)構(gòu)的方
i%y==Oi%x==O法是兩種常用的結(jié)構(gòu)化軟件設(shè)計(jì)方法。面向數(shù)據(jù)流的設(shè)計(jì)方法多
在概要設(shè)計(jì)階段使用,它借助于數(shù)據(jù)流圖來進(jìn)行設(shè)計(jì)工作,而面向數(shù)
據(jù)結(jié)構(gòu)的設(shè)計(jì)方法通常在詳細(xì)設(shè)計(jì)階段使用,它按輸入、輸出以及計(jì)算機(jī)內(nèi)部存儲(chǔ)
信息的數(shù)據(jù)結(jié)構(gòu)進(jìn)行軟件結(jié)構(gòu)的設(shè)計(jì),從而把對(duì)數(shù)據(jù)結(jié)構(gòu)的描述轉(zhuǎn)換為對(duì)軟件結(jié)構(gòu)
的描述。常用的結(jié)構(gòu)化軟件設(shè)工具有流程圖、N-S圖和PAD圖等。
與結(jié)構(gòu)化軟件設(shè)計(jì)方法相比,面向?qū)ο筌浖O(shè)計(jì)方法的使用范圍更廣。與傳統(tǒng)
的軟件工程方法不同的是,面向?qū)ο蟮姆椒ú粡?qiáng)調(diào)需求分析和軟件設(shè)計(jì)的嚴(yán)格區(qū)
分。從分析到設(shè)計(jì)的過渡,是一個(gè)逐漸擴(kuò)充、細(xì)化和
YY輸出i
結(jié)束
完善分析階段所得到的各種模型的過程。面向?qū)ο蟮脑O(shè)計(jì)可以分為系統(tǒng)設(shè)計(jì)和
對(duì)象設(shè)計(jì)兩個(gè)階段。系統(tǒng)設(shè)計(jì)關(guān)注于確定實(shí)現(xiàn)系統(tǒng)的策略和目標(biāo)系統(tǒng)的高層結(jié)構(gòu),
而對(duì)象設(shè)計(jì)是對(duì)需求分析階段得到的對(duì)象模型的進(jìn)一步完善、細(xì)化或擴(kuò)充。
2.在選擇編程語言時(shí)?,通常要考慮哪些因素,
答:在選擇編程語言時(shí),通常需考慮以下因素。
(1)待開發(fā)系統(tǒng)的應(yīng)用領(lǐng)域,即項(xiàng)目的應(yīng)用范圍。
(2)用戶的要求。
(3)軟件開發(fā)人員的喜好和能力。
(4)系統(tǒng)的可移植性要求。
(5)算法和數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性。
3.對(duì)標(biāo)識(shí)符命名時(shí);要注意哪些原則,
答:對(duì)標(biāo)識(shí)符進(jìn)行命名時(shí).,要注意以下幾點(diǎn)。
(1)按照標(biāo)識(shí)符的實(shí)際意義命名,使其名稱具有直觀性,能夠體現(xiàn)標(biāo)識(shí)符的語
義。這樣可以幫助開發(fā)人員對(duì)標(biāo)識(shí)符進(jìn)行理解和記憶。
(2)遵循一定的命名規(guī)則,比如縮寫的使用,字母大小寫的選擇,對(duì)常量和變
量命名的區(qū)分等。一般不推薦使用單詞縮寫進(jìn)行命名,因?yàn)槭褂每s寫在閱讀時(shí)容易
產(chǎn)生歧義。
(3)變量名不要過于相似,這樣容易引起誤解。
(4)在定義變量時(shí),最好對(duì)其含義和用途做出注釋。
4.為什么要對(duì)源程序進(jìn)行注釋,
答:注釋是軟件開發(fā)人員之間以及開發(fā)人員和用戶之間進(jìn)行交流的重要途徑,
它闡述了程序的細(xì)節(jié),有利于日后的維護(hù)工作。經(jīng)常對(duì)較難理解、邏輯性強(qiáng)或比較
重要的代碼進(jìn)行解釋,從而提高代碼的可理解性。1(簡(jiǎn)述靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試的
區(qū)別。
答:按照?qǐng)?zhí)行測(cè)試時(shí)是否需要運(yùn)行程序,軟件測(cè)試可以劃分為靜態(tài)測(cè)試和動(dòng)態(tài)
測(cè)試。靜態(tài)測(cè)試以人工測(cè)試為主,通過測(cè)試人員認(rèn)真閱讀文檔和代碼,仔細(xì)分析
其正確性、一致性及邏輯結(jié)構(gòu)的正確性,從而找出軟件產(chǎn)品中的錯(cuò)誤或缺陷。靜態(tài)
測(cè)試對(duì)自動(dòng)化工具的依賴性較小,通過人腦的思考和邏輯判斷來查找錯(cuò)誤,因而可
以更好地發(fā)揮人的主觀能動(dòng)性。
與靜態(tài)測(cè)試不同的是,動(dòng)態(tài)測(cè)試需要通過實(shí)際運(yùn)行被測(cè)程序來發(fā)現(xiàn)問題。測(cè)試
人員可以輸入一系列的測(cè)試用例,通過觀察測(cè)試用例的輸出結(jié)果是否與預(yù)期相符來
檢驗(yàn)系統(tǒng)內(nèi)潛在的問題或缺陷。2(現(xiàn)有一段判定三角形類型的程序,可以根據(jù)輸
入的三角形的三邊長(zhǎng)來判定可構(gòu)成的三角形是否為等腰三角形。請(qǐng)用等價(jià)類劃分法
來為此段代碼設(shè)計(jì)測(cè)試用例。
答:畫出該問題的等價(jià)類表,并為每個(gè)等價(jià)類進(jìn)行編號(hào):
有效等價(jià)類無效等價(jià)類
a=b??(1)
a=c??(2)(a!=b)and(b!=c)and(a!=c)??(4)
b=c??(3)
根據(jù)等價(jià)類表,該問題測(cè)試用例設(shè)計(jì)如下表所示:
序號(hào)[a,b,c]覆蓋等價(jià)類輸出
13,3,4(1)
23,4,4(2)等腰三角形
33,4,4(3)
43,4,5(4)非等腰三角形3(為什么軟件開發(fā)人員不能同時(shí)完成測(cè)試工作,
答:開發(fā)工作和測(cè)試工作不能由同一部分人來完成。如果開發(fā)人員對(duì)程序的功
能要求理解錯(cuò)了,就很容易按照錯(cuò)誤的思路來設(shè)計(jì)測(cè)試用例。如果開發(fā)人員同時(shí)完
成測(cè)試工作,那么測(cè)試工作就很難取得成功。
4(軟件測(cè)試的常用模型有哪些,請(qǐng)簡(jiǎn)述它們的優(yōu)缺點(diǎn)。
答:常用的軟件測(cè)試模型有V模型、W模型和H模型。每種模型都有各自的優(yōu)缺
點(diǎn)。V模型的價(jià)值在于非常明確地標(biāo)明了測(cè)試過程中存在的不同級(jí)別,并且清楚
地描述了這些測(cè)試階段和開發(fā)過程各階段的對(duì)應(yīng)關(guān)系。在V模型中,測(cè)試工作在編
碼之后才能進(jìn)行,所以在軟件開發(fā)早期各個(gè)階段引入的錯(cuò)誤不能及時(shí)被發(fā)現(xiàn)。尤其
是需求階段的錯(cuò)誤只有等到最后的驗(yàn)收測(cè)試才能被識(shí)別。對(duì)分析、設(shè)計(jì)階段產(chǎn)生的
錯(cuò)誤不能及時(shí)發(fā)現(xiàn)并改正的缺點(diǎn)會(huì)對(duì)后期的修復(fù)工作帶來諸多不便,造成更多資源
的浪費(fèi)和時(shí)間的延遲。
在V模型的基礎(chǔ)上,增加開發(fā)階段的同步測(cè)試,就是W模型。W模型的最大優(yōu)
勢(shì)在于,測(cè)試活動(dòng)可以與開發(fā)活動(dòng)并行進(jìn)行,這樣有利于及早地發(fā)現(xiàn)錯(cuò)誤,但是W
模型也有一定的局限性。在W模型中,需求、設(shè)計(jì)、編碼等活動(dòng)依然是依次進(jìn)行
的,只有上一階段完全結(jié)束,才有可能開始下一階段的工作。與迭代的開發(fā)模型相
比,這種線性的開發(fā)模型在靈活性和對(duì)環(huán)境的適應(yīng)性上有很大差距。
在H模型中,軟件測(cè)試過程的活動(dòng)完全獨(dú)立,貫穿于整個(gè)軟件產(chǎn)品的生命周
期,與其他流程并行進(jìn)行。當(dāng)軟件測(cè)試人員認(rèn)為測(cè)試準(zhǔn)備完成,即某個(gè)測(cè)試點(diǎn)準(zhǔn)備
就緒時(shí),就可以從測(cè)試準(zhǔn)備階段進(jìn)入到測(cè)試執(zhí)行階段。5(已知有如下一段代碼:
inta,b,c;
if(a<1andb>0)
c=5;
elseif(b<-3)
c=4;
else
c=3;
請(qǐng)畫出這段代碼的程序流程圖,并分別采用語句覆蓋、分支覆蓋、條件覆蓋、
分支一條件覆蓋、條件組合覆蓋和路徑覆蓋的方法設(shè)計(jì)測(cè)試用例。
答:程序流程圖:
開始
a
Ya<l&&b>0c?5b
Nc
Yb<-3c?4d
f
Ne
c?3語句覆蓋:
結(jié)束
輸入執(zhí)行路徑
a=0,b=labf
a=0,b=-4acdf
a=0,b=0acef分支覆蓋:
輸入執(zhí)行路徑
a=0,b=labf
a=l,b=-4acdf
a=0,b=0acef條件覆蓋:
對(duì)于判斷語句a<l&&b>0:
T1條件a〈l取真為Tl,取假為-
條件b>0取真為T2,取假為-T2
對(duì)于判斷語句b<-3:
條件b<-3取真為T3,取假為-T3
測(cè)試用例如下表所示:
輸入通過路徑條件取值覆蓋分支
A=0,b=labfTl,T2,-T3bf
A=0,b=0acefTl,-T2,-T3cef
A=l,b=-4acdf-Tl,-T2,T3cdf分支一條件覆蓋:
取分支覆蓋和條件覆蓋的并集如下表所示:
輸入通過路徑條件取值覆蓋分支
A=0,b=labfTl,T2,-T3bf
A=0,b=0acefTl,-T2,-T3cef
A=l,b=-4acdf-T1,-T2,T3cdf條件組合覆蓋:
對(duì)各判斷語句的邏輯條件的取值組合標(biāo)記如下:
(1)a>=Lb>0,記作-Tl,T2,條件組合取值-M
(2)a>=l,b<=0,記作-Tl,?T2,條件組合取值M
(3)a<l,b>0,記作TLT2,條件組合取值M
(4)a<l,b<=0,記作Tl,?T2,條件組合取值-M
(5)b>=-3,記作73,條件組合取值-N
(6)b<-3,記作T3,條件組合取值N
測(cè)試用例如下表所示:
輸入通過路徑條件取值覆蓋組合號(hào)
A=0,b=labfTl,T2,-T33,5
A=0,b=0acefTl,-T2,-T34,5
A=l,b=-4acdf-Tl,-T2,T32,6
A=l,b=lacef-T1,T2.T31,6路徑覆蓋:
輸入通過路徑覆蓋條件
a=0,b=labfTl,T2,-T3
a=0,b=0acefTl,-T2,-T3
a=l,b=-4acdf-Tl,-T2,T3第六章
1(為什么要進(jìn)行軟件維護(hù),軟件維護(hù)的作用有哪些,
答:軟件維護(hù)是軟件產(chǎn)品生命周期的最后一個(gè)階段。在產(chǎn)品交付并且投入使用
之后,為了解決在使用過程中不斷發(fā)現(xiàn)的各種問題,保證系統(tǒng)正常運(yùn)行,同時(shí)使系
統(tǒng)功能隨著用戶需求的更新而不斷升級(jí),軟件維護(hù)的工作是非常必要的。概括地
說,軟件維護(hù)就是指在軟件產(chǎn)品交付給用戶之后,為了改正軟件測(cè)試階段未發(fā)現(xiàn)的
缺陷,改進(jìn)軟件產(chǎn)品的性能,補(bǔ)充軟件產(chǎn)品的新功能等,所進(jìn)行的修改軟件的過
程。2(什么是軟件的可維護(hù)性,軟件的可維護(hù)性與哪些因素有關(guān),
答:軟件的可維護(hù)性是用來衡量對(duì)軟件產(chǎn)品進(jìn)行維護(hù)的難易程度的標(biāo)準(zhǔn),它是
軟件質(zhì)量的主要特征之一。影響軟件可維護(hù)性的因素有很多,如可理解性、可測(cè)試
性、可修改性等。
3(請(qǐng)簡(jiǎn)述McCall對(duì)軟件質(zhì)量的定義。
答:McCall軟件質(zhì)量特性模型中的每種特性的定義如下。
正確性:系統(tǒng)在預(yù)定的環(huán)境下,正確完成系統(tǒng)預(yù)期功能的程度。
效率:完成預(yù)期功能所需的時(shí)間、人力、計(jì)算機(jī)資源等指標(biāo)。
可靠性:在規(guī)定的時(shí)間和條件下,軟件維持其性能水平能力的屬性的組合。
可用性:衡量軟件產(chǎn)品在運(yùn)行中使用靈活、方便的程度。
完整性:保存必要的數(shù)據(jù),使之免受偶然或有意的破壞
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中建施工方案流程詳解
- 項(xiàng)目管理中的可持續(xù)發(fā)展理念實(shí)踐試題及答案
- 2025年注冊(cè)會(huì)計(jì)師備考時(shí)間分配試題及答案
- 財(cái)務(wù)報(bào)表披露中的常見合規(guī)問題試題及答案
- 2024項(xiàng)目管理資格的考試重點(diǎn)與趨勢(shì)分析試題及答案
- 2024年項(xiàng)目管理復(fù)習(xí)策略試題及答案
- 礦區(qū)塑膠跑道施工方案
- 證券從業(yè)資格證考試監(jiān)測(cè)試題及答案
- 2024項(xiàng)目管理考試復(fù)習(xí)試題及答案
- 2025年注會(huì)備考的自我監(jiān)督與激勵(lì)機(jī)制試題及答案
- 煤礦隱蔽致災(zāi)因素普查課件
- 項(xiàng)目七-質(zhì)譜法及其在食品分析中的應(yīng)用001課件
- 《預(yù)防未成年人犯罪》主題班會(huì)
- 建設(shè)項(xiàng)目安全設(shè)施“三同時(shí)”審批流程圖
- 軟件系統(tǒng)功能需求調(diào)研表(信息系統(tǒng)項(xiàng)目需求調(diào)研表)
- 中國(guó)電信LTE網(wǎng)絡(luò)質(zhì)量評(píng)估測(cè)試規(guī)范(試行稿)V1
- 藍(lán)牙音響成品檢驗(yàn)規(guī)范
- 材料5:個(gè)人征信系統(tǒng)機(jī)構(gòu)接入和接口驗(yàn)收工作流程
- 項(xiàng)目選址比選方案分析參考范本
- 中機(jī)2015~2016年消防系統(tǒng)維保養(yǎng)護(hù)年度總結(jié)報(bào)告
- 預(yù)制混凝土襯砌管片生產(chǎn)工藝技術(shù)規(guī)程doc
評(píng)論
0/150
提交評(píng)論