![軟件工程基礎(chǔ)知識(shí)試題精解_第1頁(yè)](http://file4.renrendoc.com/view11/M01/1B/00/wKhkGWeuySCAJeBfAABpUa_UqFs575.jpg)
![軟件工程基礎(chǔ)知識(shí)試題精解_第2頁(yè)](http://file4.renrendoc.com/view11/M01/1B/00/wKhkGWeuySCAJeBfAABpUa_UqFs5752.jpg)
![軟件工程基礎(chǔ)知識(shí)試題精解_第3頁(yè)](http://file4.renrendoc.com/view11/M01/1B/00/wKhkGWeuySCAJeBfAABpUa_UqFs5753.jpg)
![軟件工程基礎(chǔ)知識(shí)試題精解_第4頁(yè)](http://file4.renrendoc.com/view11/M01/1B/00/wKhkGWeuySCAJeBfAABpUa_UqFs5754.jpg)
![軟件工程基礎(chǔ)知識(shí)試題精解_第5頁(yè)](http://file4.renrendoc.com/view11/M01/1B/00/wKhkGWeuySCAJeBfAABpUa_UqFs5755.jpg)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件工程理論知識(shí)主講:鄧少勛版權(quán)所有:比特軟考培訓(xùn)中心軟件工程基礎(chǔ)知識(shí)精解一.什么是軟件?4二.軟件危機(jī)以及產(chǎn)生軟件危機(jī)的原因?4三.有哪些流行的軟件工程方法學(xué)及其要素?5四.什么是軟件生存周期?有哪些活動(dòng)?64.1軟件生存周期64.2開(kāi)發(fā)活動(dòng)64.3各活動(dòng)階段主要文檔84.3.1可行性分析和項(xiàng)目開(kāi)發(fā)計(jì)劃84.3.2需求分析中的文檔84.3.3概要設(shè)計(jì)階段文檔84.4.4詳細(xì)設(shè)計(jì)階段94.4.5編碼94.4.5測(cè)試94.4.5系統(tǒng)測(cè)試階段9五.有哪些主要生存期模型?105.1瀑布模型(傳統(tǒng)的軟件周期模型)105.2原型模型125.2.1快速原型模型125.2.2演化模型125.2.3增量模型(漸增式)135.2.4原型模型小結(jié)145.3螺旋模型155.4噴泉模型165.5迭代軟件開(kāi)發(fā)技術(shù)17六.軟件過(guò)程基礎(chǔ)知識(shí)196.1軟件過(guò)程196.2評(píng)估工具19七.軟件工程項(xiàng)目管理基本知識(shí)217.1時(shí)間管理217.1.1Gantt圖217.1.2PERT網(wǎng)圖與關(guān)鍵路徑237.2成本管理25八.模塊化基本知識(shí)288.1模塊特性288.1.1可分解性288.1.2可組裝性288.1.3可理解性298.1.4連續(xù)性298.1.5保護(hù)性298.2模塊與模塊的耦合性(7種)298.2.1內(nèi)容耦合308.2.2公共耦合308.2.3外部耦合308.2.4控制耦合308.2.5標(biāo)記耦合318.2.6數(shù)據(jù)耦合318.2.7非直接耦合(無(wú)耦合)318.3模塊的內(nèi)聚性328.4模塊的深度、寬度、扇出與扇入338.5模塊作用域和控制域338.6模塊化基礎(chǔ)知識(shí)小結(jié)34九.什么是軟件開(kāi)發(fā)方法?有哪些主要方法?359.1結(jié)構(gòu)化方法學(xué)359.1.1數(shù)據(jù)流圖(DFD圖)369.1.2數(shù)據(jù)字典409.1.3結(jié)構(gòu)化語(yǔ)言419.1.4實(shí)體-關(guān)系圖(E-R圖)419.2結(jié)構(gòu)化設(shè)計(jì)429.2.1概要設(shè)計(jì)439.2.2詳細(xì)設(shè)計(jì)489.3Jackson方法499.4面向?qū)ο蠓治龇椒ǎ?0A)50十.軟件工具50十一.軟件開(kāi)發(fā)環(huán)境51十二.軟件質(zhì)量管理基礎(chǔ)知識(shí)5112.1軟件質(zhì)量5112.2軟件質(zhì)量保證5412.3代碼評(píng)審技術(shù)55十三.成本-效益分析可用哪些指標(biāo)進(jìn)行度量?56十四.第四代語(yǔ)言(4GL)的主要特征?57十五.軟件測(cè)試5715.1軟件測(cè)試經(jīng)過(guò)的步驟5715.2測(cè)試與軟件開(kāi)發(fā)各階段的關(guān)系5815.3白盒測(cè)試5815.4黑盒測(cè)試6015.4灰盒測(cè)試6115.5回歸測(cè)試6115.6單元測(cè)試6215.7集成測(cè)試6215.8確認(rèn)測(cè)試6315.9系統(tǒng)測(cè)試64十六.軟件工程標(biāo)準(zhǔn)和軟件文檔6617.1軟件維護(hù)類(lèi)型6817.2軟件的可維護(hù)性69十八.軟件的可靠性70一.什么是軟件?1.滿(mǎn)足用戶(hù)功能需求和性能的指令或計(jì)算機(jī)程序集合;2.處理信息的數(shù)據(jù)結(jié)構(gòu);3.描述程序功能以及程序如何操作和使用所要求的文檔;以上三部分的組合構(gòu)成了軟件二.軟件危機(jī)以及產(chǎn)生軟件危機(jī)的原因?1.軟件開(kāi)發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)迅速普及的趨勢(shì)。軟件產(chǎn)品“供不應(yīng)求”。2.軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升?!伴_(kāi)發(fā)成本高“3.軟件開(kāi)發(fā)人員和用戶(hù)之間的信息交流往往很不充分,用戶(hù)對(duì)“已完成的”的軟件系統(tǒng)不滿(mǎn)足的現(xiàn)象經(jīng)常發(fā)生。4.軟件產(chǎn)品的質(zhì)量不容易保證。5.軟件產(chǎn)品常常是不可維護(hù)的。6.軟件產(chǎn)品的重用性差,同樣的軟件多次重復(fù)開(kāi)發(fā)。7.軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料。產(chǎn)生軟件危機(jī)的原因可歸結(jié)為兩個(gè)重要的方面:軟件生產(chǎn)本身存在的復(fù)雜性;軟件開(kāi)發(fā)所使用的方法和技術(shù)。三.有哪些流行的軟件工程方法學(xué)及其要素?1.使用最廣泛的軟件工程方法學(xué)是結(jié)構(gòu)化方法學(xué)和面向?qū)ο蟮姆椒▽W(xué)(上世紀(jì)70-90年代,流行結(jié)構(gòu)化方法學(xué),上世紀(jì)90年代到現(xiàn)在,流行面向?qū)ο蠓椒▽W(xué))。2.要素:方法、工具和過(guò)程。四.什么是軟件生存周期?有哪些活動(dòng)?4.1軟件生存周期一個(gè)軟件從提出開(kāi)發(fā)要求開(kāi)始到軟件廢棄不用的整個(gè)過(guò)程。4.2開(kāi)發(fā)活動(dòng)可行性分析和項(xiàng)目開(kāi)發(fā)計(jì)劃、需求分析和定義、軟件設(shè)計(jì)(先后細(xì)分為:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì))、編碼、測(cè)試和運(yùn)行維護(hù)可行性分析和項(xiàng)目開(kāi)發(fā)計(jì)劃:用戶(hù)、項(xiàng)目負(fù)責(zé)人和系統(tǒng)分析師搞清楚系統(tǒng)要解決的問(wèn)題是什么?以及從技術(shù)、經(jīng)濟(jì)、時(shí)間等方面論證項(xiàng)目開(kāi)發(fā)可行性。需求分析和定義:用戶(hù)、項(xiàng)目負(fù)責(zé)人和系統(tǒng)分析師確定系統(tǒng)必須做什么?但不關(guān)心具體怎么做?要確定系統(tǒng)的功能、性能、數(shù)據(jù)、界面等要求,從而確定系統(tǒng)的邏輯模型。軟件設(shè)計(jì)-概要設(shè)計(jì):系統(tǒng)分析師和軟件設(shè)計(jì)師在需求定義的基礎(chǔ)上,把各功能需求轉(zhuǎn)換成需要的體系結(jié)構(gòu),即劃分模塊、模塊的層次、模塊之間的調(diào)用關(guān)系以及各模塊的功能,同時(shí)設(shè)計(jì)應(yīng)用系統(tǒng)的總體數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫(kù)結(jié)構(gòu)。軟件設(shè)計(jì)-詳細(xì)設(shè)計(jì):軟件設(shè)計(jì)師和程序員對(duì)概要設(shè)計(jì)階段得出的各功能模塊進(jìn)行詳細(xì)描述成精確的、結(jié)構(gòu)化的過(guò)程描述,即各個(gè)功能模塊具體怎么實(shí)現(xiàn),用相應(yīng)的工具把模塊的控制結(jié)構(gòu)表示出來(lái),但還未進(jìn)行編碼。編碼:由程序員詳細(xì)設(shè)計(jì)階段得出的各模塊控制結(jié)構(gòu)(圖形)轉(zhuǎn)變成計(jì)算機(jī)能識(shí)別的指令代碼。測(cè)試:由另一部門(mén)(單位)的軟件設(shè)計(jì)師或系統(tǒng)分析師花費(fèi)最少的人力物力找出程序最多、最大的錯(cuò)誤(bug)。維護(hù):由用戶(hù)和維護(hù)人員進(jìn)行的軟件生存周期中時(shí)間最長(zhǎng)的階段。4.3各活動(dòng)階段主要文檔4.3.1可行性分析和項(xiàng)目開(kāi)發(fā)計(jì)劃可性行研究報(bào)告項(xiàng)目開(kāi)發(fā)計(jì)劃4.3.2需求分析中的文檔需求規(guī)格說(shuō)明書(shū)初步用戶(hù)使用手冊(cè)確認(rèn)測(cè)試的測(cè)試計(jì)劃修改完善的軟件開(kāi)發(fā)計(jì)劃系統(tǒng)測(cè)試計(jì)劃文檔4.3.3概要設(shè)計(jì)階段文檔概要設(shè)計(jì)說(shuō)明書(shū)數(shù)據(jù)庫(kù)說(shuō)明書(shū)用戶(hù)手冊(cè)修訂的測(cè)試計(jì)劃(測(cè)試的策略、方法、步驟)4.4.4詳細(xì)設(shè)計(jì)階段詳細(xì)設(shè)計(jì)說(shuō)明書(shū)4.4.5編碼程序清單4.4.5測(cè)試完善的測(cè)試計(jì)劃書(shū)軟件測(cè)試報(bào)告4.4.5系統(tǒng)測(cè)試階段系統(tǒng)測(cè)試報(bào)告2005年下半年應(yīng)該在(7)階段制定系統(tǒng)測(cè)試計(jì)劃。(7)A.需求分析B.概要設(shè)計(jì)C.詳細(xì)設(shè)計(jì)D.系統(tǒng)測(cè)試●(29)詳細(xì)描述軟件的功能、性能和用戶(hù)界面,以使用戶(hù)了解如何使用軟件。(29)A.概要設(shè)計(jì)說(shuō)明書(shū)B(niǎo).詳細(xì)設(shè)計(jì)說(shuō)明書(shū)C.用戶(hù)手冊(cè)D.用戶(hù)需求說(shuō)明書(shū)五.有哪些主要生存期模型?瀑布模型、原型開(kāi)發(fā)模型(快速原型模型、演化模型、增量模型)、螺旋模型、噴泉模型、基于知識(shí)的模型和變化模型。5.1瀑布模型(傳統(tǒng)的軟件周期模型)瀑布模型嚴(yán)格遵循軟件生命周期各階段的固定順序:計(jì)劃、分析、設(shè)計(jì)、編程、測(cè)試和維護(hù),上一階段完成后才能進(jìn)入到下一階段,整個(gè)模型就像一個(gè)飛流直下的瀑布,如圖4-1所示。優(yōu)點(diǎn):以文檔作為驅(qū)動(dòng),強(qiáng)迫開(kāi)發(fā)人員采用規(guī)范的方法,嚴(yán)格規(guī)定了各階段必須提交的文檔;要求每一階段結(jié)束后,都要進(jìn)行嚴(yán)格的評(píng)審。與它最相適應(yīng)的開(kāi)發(fā)方法是結(jié)構(gòu)化方法。缺點(diǎn):不適應(yīng)用戶(hù)需求的改動(dòng)。2004年下半年:●軟件開(kāi)發(fā)中的瀑布模型典型的刻畫(huà)了軟件生存周期的階段劃分,與其最相適應(yīng)的軟件開(kāi)發(fā)方法是__(9)__。
(9)A.構(gòu)件化方法B.結(jié)構(gòu)化方法C.面向?qū)ο蠓椒―.快速原型法5.2原型模型5.2.1快速原型模型快速原型的用途是獲知用戶(hù)的真正需求,一旦需求確定了,原型即被拋棄。主要用于需求分析階段。不追求也不可能要求對(duì)需求的嚴(yán)格定義,而是采用了動(dòng)態(tài)定義需求的方法,所以不能定義完善的文檔。特征:簡(jiǎn)化項(xiàng)目管理、盡快建立初步需求、加強(qiáng)用戶(hù)參與和決策。具有廣泛技能水平的原型化人員是原型實(shí)施的重要保證。原型化人員應(yīng)該是具有經(jīng)驗(yàn)與才干、訓(xùn)練有素的專(zhuān)業(yè)人員。衡量原型化人員能力的重要標(biāo)準(zhǔn)是他是否能夠從用戶(hù)的模糊描述中快速獲取需求。5.2.2演化模型在快速原型模型中,原型的用途是獲知用戶(hù)的真正需求,一旦需求確定了,原型即被拋棄。而演化模型應(yīng)用于整個(gè)軟件開(kāi)發(fā)過(guò)程,是從初始模型逐步演化為最終軟件產(chǎn)品的漸進(jìn)過(guò)程。也就是說(shuō),快速原型模型是一種“拋棄式”的原型化方法,而演化模型則是一種“漸進(jìn)式”的原型化方法。5.2.3增量模型(漸增式)增量模型主要用于設(shè)計(jì)階段,把軟件產(chǎn)品劃分為一系列的增量構(gòu)件,分別進(jìn)行設(shè)計(jì)、編程、集成和測(cè)試。新的增量構(gòu)件不得破壞已經(jīng)開(kāi)發(fā)出來(lái)的產(chǎn)品。其示意圖如圖4-2所示。5.2.4原型模型小結(jié)從下面的有關(guān)原型化方法的敘述中,選擇出正確的敘述:(1)快速原型方法是一種企圖克服傳統(tǒng)軟件周期模型缺點(diǎn)的開(kāi)發(fā)方法。(2)在用戶(hù)的數(shù)據(jù)資源沒(méi)有得到很好地組織和管理的時(shí)候,應(yīng)該使用原型化方法。(3)在用戶(hù)沒(méi)有明確地肯定其需求的時(shí)候,應(yīng)該使用原型化方法。(4)在用戶(hù)不希望把自己的時(shí)間花在軟件開(kāi)發(fā)過(guò)程中的時(shí)候,應(yīng)該使用原型化方法。(5)使用原型化方法時(shí)應(yīng)該使用第三代編程語(yǔ)言。(6)原型化加強(qiáng)了開(kāi)發(fā)過(guò)程中用戶(hù)的參與和決策。(7)原型化方法大致可分為三類(lèi):拋棄式、演化式和遞增式。(8)原型化方法大致可分為演化式和遞增式。(9)采用原型化方法時(shí),軟件的開(kāi)發(fā)成本較高。(10)采用原型化方法時(shí),關(guān)鍵的因素是建立原形的速度,而不是原形運(yùn)行的效率。5.3螺旋模型螺旋模型綜合了瀑布模型和原型模型中的演化模型的優(yōu)點(diǎn),還增加了風(fēng)險(xiǎn)分析。螺旋線第一圈的開(kāi)始點(diǎn)可能是一個(gè)概念項(xiàng)目。從第二圈開(kāi)始,一個(gè)新產(chǎn)品開(kāi)發(fā)項(xiàng)目開(kāi)始了,新產(chǎn)品的演化沿著螺旋線進(jìn)行若干次迭代,一直轉(zhuǎn)到軟件生命期結(jié)束。5.4噴泉模型噴泉模型主要用于描述面向?qū)ο蟮拈_(kāi)發(fā)過(guò)程。噴泉一詞體現(xiàn)了面向?qū)ο箝_(kāi)發(fā)過(guò)程的迭代和無(wú)間隙特征。迭代指的是開(kāi)發(fā)活動(dòng)常常需要重復(fù)多次,在不斷的迭代中逐漸完善軟件系統(tǒng),無(wú)間歇性指在開(kāi)發(fā)活動(dòng)之間不存在明顯的邊界,允許各開(kāi)發(fā)活動(dòng)交叉、迭代地進(jìn)行。5.5迭代軟件開(kāi)發(fā)技術(shù)Rational統(tǒng)一開(kāi)發(fā)流程RUP(RationalUnifiedProcess)是一個(gè)通用的軟件流程框架,它是一個(gè)以架構(gòu)為中心、用例驅(qū)動(dòng)的迭代化軟件開(kāi)發(fā)流程。RUP是從幾千個(gè)軟件項(xiàng)目的實(shí)踐經(jīng)驗(yàn)中總結(jié)出來(lái)的,對(duì)于實(shí)際的項(xiàng)目具有很強(qiáng)的指導(dǎo)意義,是軟件開(kāi)發(fā)行業(yè)事實(shí)上的行業(yè)標(biāo)準(zhǔn)。在RUP中,我們把軟件開(kāi)發(fā)生命周期劃分為四個(gè)階段,每個(gè)階段的結(jié)束標(biāo)志就是一個(gè)主要的里程碑(如下圖所示)。這四個(gè)階段主要是為了達(dá)到以下階段性的目標(biāo)里程碑:先啟(Inception):確定項(xiàng)目開(kāi)發(fā)的目標(biāo)和范圍精化(Elaboration):確定系統(tǒng)架構(gòu)和明確需求構(gòu)建(Construction):實(shí)現(xiàn)剩余的系統(tǒng)功能產(chǎn)品化(Transition):完成軟件的產(chǎn)品化工作,將系統(tǒng)移交給客戶(hù)2005年下半年:在開(kāi)發(fā)一個(gè)系統(tǒng)時(shí),如果用戶(hù)對(duì)系統(tǒng)的目標(biāo)是不很清楚,難以定義需求,這時(shí)最好使用(6)。(6)A.原型法B.瀑布模型C.V-模型D.螺旋模型2006年上半年:漸增式開(kāi)發(fā)方法有利于___(4)___。
(4)A.獲取軟件需求B.快速開(kāi)發(fā)軟件C.大型團(tuán)隊(duì)開(kāi)發(fā)D.商業(yè)軟件開(kāi)發(fā)2006年下半年:常見(jiàn)的軟件開(kāi)發(fā)模型有瀑布模型、演化模型、螺旋模型、噴泉模型等。其中(5)模型適用于需求明確或很少變更的項(xiàng)目,(6)主要用來(lái)描述面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程。(5)A.瀑布模型B.演化模型C.螺旋模型D.噴泉模型(6)A.瀑布模型B.演化模型C.螺旋模型D.噴泉模型●統(tǒng)一過(guò)程(UP)的基本特征是“用例驅(qū)動(dòng),以架構(gòu)為中心的和受控的迭代式增量開(kāi)發(fā)”。UP將一個(gè)周期的開(kāi)發(fā)過(guò)程化分為4個(gè)階段,其中___(26)_____提交結(jié)果包含了系統(tǒng)架構(gòu)。(26)A.先啟階段B.精化階段C.構(gòu)建階段D.提交階段六.軟件過(guò)程基礎(chǔ)知識(shí)6.1軟件過(guò)程軟件過(guò)程是指人們用于開(kāi)發(fā)和維護(hù)軟件及相關(guān)產(chǎn)品的一系列活動(dòng),包括軟件工程過(guò)程和軟件管理過(guò)程。6.2評(píng)估工具軟件過(guò)程的評(píng)估,通常采用軟件能力成熟度模型(CapabilityMaturityModel,CMM)。CMM1.1的5個(gè)等級(jí)(由低級(jí)到高級(jí)):初始級(jí)軟件過(guò)程是無(wú)序的,有時(shí)甚至是混亂的,對(duì)過(guò)程幾乎沒(méi)有定義,成功取決于個(gè)人努力,管理是反應(yīng)式(消防式)的??芍貜?fù)級(jí)建立了基本的項(xiàng)目管理過(guò)程來(lái)跟蹤費(fèi)用、進(jìn)度和功能特性。制定了必要的過(guò)程紀(jì)律,能重復(fù)早先類(lèi)似應(yīng)用項(xiàng)目取得的成功。已定義級(jí)已將軟件管理和工程兩方面的過(guò)程文檔化、標(biāo)準(zhǔn)化,并綜合成該組織的標(biāo)準(zhǔn)化軟件過(guò)程。所有項(xiàng)目均使用經(jīng)標(biāo)準(zhǔn)、裁減的標(biāo)準(zhǔn)軟件過(guò)程來(lái)開(kāi)發(fā)和維護(hù)軟件。已管理級(jí)收集對(duì)軟件過(guò)程和產(chǎn)品質(zhì)量的詳細(xì)度量,對(duì)軟件過(guò)程和產(chǎn)品都有定量的理解與控制。優(yōu)化級(jí)加強(qiáng)了定量分析,通過(guò)來(lái)自過(guò)程質(zhì)量反饋和來(lái)自新觀念、新技術(shù)的反饋使過(guò)程能持續(xù)不斷地改進(jìn)。巧記:初級(jí)程序員,可重復(fù)寫(xiě)程序,現(xiàn)已定義了管理策略來(lái)優(yōu)化程序設(shè)計(jì)!2006年下半年:●軟件能力成熟度模型(CMM)是目前國(guó)際上最流行、最實(shí)用的軟件生產(chǎn)過(guò)程標(biāo)準(zhǔn)和軟件企業(yè)成熟度的等級(jí)認(rèn)證標(biāo)準(zhǔn)。該模型將軟件能力成熟度自低到高依次劃分為初始級(jí)、可重復(fù)級(jí)、已定義級(jí)、已管理級(jí)、優(yōu)化級(jí)。從(17)開(kāi)始,要求企業(yè)建立基本的項(xiàng)目管理過(guò)程的政策和管理規(guī)程,使項(xiàng)目管理過(guò)程有章可循。(17)A.初始級(jí)B.可重復(fù)級(jí)C.已定義級(jí)D.已管理級(jí)七.軟件工程項(xiàng)目管理基本知識(shí)軟件項(xiàng)目管理開(kāi)始于任何技術(shù)活動(dòng)之前,并且貫穿于整個(gè)的軟件生命周期。軟件工程項(xiàng)目管理一般分為時(shí)間管理、成本管理、人力資源管理、風(fēng)險(xiǎn)管理。7.1時(shí)間管理7.1.1Gantt圖是一種簡(jiǎn)單的水平條形圖,它以水平線段表示子任務(wù)的工作階段,線段的起點(diǎn)和終點(diǎn)分別對(duì)應(yīng)著子任務(wù)的起始時(shí)間,線段長(zhǎng)度指示完成該任務(wù)所需要的時(shí)間。甘特圖的優(yōu)點(diǎn):直觀簡(jiǎn)明、易學(xué)易繪、可從圖上清楚地標(biāo)出子任務(wù)間的時(shí)間對(duì)比,但它也有缺點(diǎn):(a)不能顯示地描繪各項(xiàng)彼此間的依賴(lài)關(guān)系;(b)進(jìn)度計(jì)劃的關(guān)鍵部分不明顯,難以判斷哪些部分應(yīng)當(dāng)是主攻和主控的對(duì)象;(c)計(jì)劃中有潛力的部分以及潛力的大小不明確,往往造成潛力的浪費(fèi)。2006年5月:●在軟件項(xiàng)目管理中可以使用各種圖形工具來(lái)輔助決策,下面對(duì)Gantt圖的描述中,不正確的是___(5)___。
A.Gantt圖表現(xiàn)了各個(gè)活動(dòng)的持續(xù)時(shí)間
B.Gantt圖表現(xiàn)了各個(gè)活動(dòng)的起始時(shí)間
C.Gantt圖反映了各個(gè)活動(dòng)之間的依賴(lài)關(guān)系
D.Gantt圖表現(xiàn)了完成各個(gè)活動(dòng)的進(jìn)度7.1.2PERT網(wǎng)圖與關(guān)鍵路徑PERT網(wǎng)圖是一個(gè)由箭頭(標(biāo)識(shí)任務(wù))和結(jié)點(diǎn)(標(biāo)識(shí)事件)組成的有向圖。將網(wǎng)絡(luò)方法用于工作計(jì)劃安排的評(píng)審和檢查。開(kāi)發(fā)模塊A、B、C模塊的任務(wù)網(wǎng)絡(luò)圖PERT圖不僅給出了每個(gè)任務(wù)的開(kāi)始時(shí)間、結(jié)束時(shí)間和完成該任務(wù)所需的時(shí)間,還給出了任務(wù)之間的依賴(lài)關(guān)系,即哪些任務(wù)完成后才能開(kāi)始另一些任務(wù),以及如期完成整個(gè)工程的“關(guān)鍵路徑”。關(guān)鍵路徑(CriticalPath)是由一連串的任務(wù)所組成的鏈,距離最大的一條路徑。軟件項(xiàng)目的管理人員應(yīng)該密切注視關(guān)鍵任務(wù)的進(jìn)展情況。如果希望縮短工期,只有往關(guān)鍵任務(wù)中增加資源才會(huì)有效果。7.2成本管理一種常用的成本估算方法是先估計(jì)完成軟件項(xiàng)目所需的工作量(人月數(shù)),然后根據(jù)每個(gè)人月的代價(jià)(金額)計(jì)算機(jī)軟件的開(kāi)發(fā)費(fèi)用:開(kāi)發(fā)費(fèi)用=人月數(shù)×每個(gè)人月的代價(jià)另一種方法是估計(jì)軟件的規(guī)模(通常指源代碼行數(shù)),然后根據(jù)每行源代碼的平均開(kāi)發(fā)費(fèi)用(包括分析、設(shè)計(jì)、編碼、測(cè)試所花的費(fèi)用),計(jì)算機(jī)軟件的開(kāi)發(fā)費(fèi)用:開(kāi)發(fā)費(fèi)用=源代碼行數(shù)×每行平均費(fèi)用估算源代碼行數(shù)時(shí),可以請(qǐng)n為有經(jīng)驗(yàn)的專(zhuān)家,每位專(zhuān)家對(duì)軟件給出3個(gè)估計(jì)值:ai最少源代碼行數(shù)(該軟件可能的最小規(guī)模)bi最大源代碼行數(shù)(該軟件可能的最大規(guī)模)mi最可能的代碼行數(shù)(該軟件最可能的規(guī)模)然后計(jì)算出每位專(zhuān)家的估算期,n位專(zhuān)家的估算期望值的平均值就是代碼行數(shù)的估算值。Putnam模型和COCOMO模型:Putnam模型和COCOMO模型是常用的成本估算模型。Putnam模型:是一種動(dòng)態(tài)多變量模型,它是假設(shè)在軟件開(kāi)發(fā)的整個(gè)生存期中工作量的分布。COCOMO模型:是結(jié)構(gòu)性成本模型,是最精確、最易于使用的成本估算模型之一。該模型可以分為:(1)基本COCOMO模型,是一個(gè)靜態(tài)單變量模型,它是對(duì)整個(gè)軟件系統(tǒng)進(jìn)行估算。(2)中級(jí)COCOMO模型,是一個(gè)靜態(tài)多變量模型。它將軟件系統(tǒng)模型分為系統(tǒng)和部件兩個(gè)層次,系統(tǒng)由部件構(gòu)成,它把軟件開(kāi)發(fā)所需人力(成本)看作是程序大小和一系列“成本驅(qū)動(dòng)屬性”的函數(shù)。(3)詳細(xì)COCOMO模型,它將軟件系統(tǒng)模型分為系統(tǒng)、子系統(tǒng)和模塊3個(gè)層次,它除包括中級(jí)模型所考慮的因素外,還考慮了在需求分析、軟件設(shè)計(jì)等每一步的成本驅(qū)動(dòng)屬性的影響。2006年上半年:●使用LOC(linesofcode)度量軟件規(guī)模的優(yōu)點(diǎn)是___(9)___。
(9)A.容易計(jì)算B.與使用的編程語(yǔ)言相關(guān)
C.與使用的開(kāi)發(fā)模型有關(guān)D.在設(shè)計(jì)之前就可以計(jì)算出LOC●軟件項(xiàng)目開(kāi)發(fā)成本的估算依據(jù),通常是開(kāi)發(fā)成本估算模型,常用的模型有:①I(mǎi)BM模型②Putnam模型③基本COCOMO模型④中級(jí)COCOMO模型⑤C高級(jí)OCOMO模型其中(18)都是靜態(tài)單變量模型。(18)A.①②B.②④⑤C.①③D.③④⑤7.4其他管理人力資源管理風(fēng)險(xiǎn)管理風(fēng)險(xiǎn)管理的主要活動(dòng)有風(fēng)險(xiǎn)識(shí)別、風(fēng)險(xiǎn)估算、風(fēng)險(xiǎn)評(píng)價(jià)和風(fēng)險(xiǎn)控制。八.模塊化基本知識(shí)模塊是指執(zhí)行某一特定任務(wù)的數(shù)據(jù)和可執(zhí)行語(yǔ)句程序元素的集合,通常是指可通過(guò)名字來(lái)訪問(wèn)的過(guò)程、函數(shù)、子程序或宏調(diào)用等。模塊化就是將一個(gè)待開(kāi)發(fā)的軟件劃分成若干個(gè)可完成某一子功能的模塊,每個(gè)模塊可獨(dú)立地開(kāi)發(fā)、測(cè)試,最后組裝成完整的程序。8.1模塊特性8.1.1可分解性如果一種設(shè)計(jì)方法提供了將問(wèn)題分解成子問(wèn)題的系統(tǒng)化機(jī)制,它就能降低整個(gè)系統(tǒng)的復(fù)雜性,從而實(shí)現(xiàn)一種有效的模塊化解決方案。8.1.2可組裝性如果一種設(shè)計(jì)方法使現(xiàn)存的(可復(fù)用的)設(shè)計(jì)構(gòu)件能被組裝成新系統(tǒng),它就能提供一種不需要一切從頭開(kāi)始的模塊化解決方案。8.1.3可理解性如果一個(gè)模塊可以作為一個(gè)獨(dú)立的單位(不用參考其他模塊)被理解,那么它就易于構(gòu)造和修改。8.1.4連續(xù)性如果對(duì)系統(tǒng)需求的微小修改只導(dǎo)致對(duì)單個(gè)模塊,而不是整個(gè)系統(tǒng)的修改,則修改引起副作用就會(huì)被最小化。8.1.5保護(hù)性如果模塊內(nèi)部出現(xiàn)異常情況,并且它的影響限制在模塊內(nèi)部,不會(huì)影響其他模塊,則錯(cuò)誤引起的副作用就會(huì)被最小化。注意“連續(xù)性”和“保護(hù)性”的區(qū)別??!8.2模塊與模塊的耦合性(7種)耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。耦合可以分成下列幾種,它們之間的耦合度由高到低排列。8.2.1內(nèi)容耦合直接操作或修改另一模塊的數(shù)據(jù),或不通過(guò)正常入口轉(zhuǎn)入另一個(gè)模塊。軟件設(shè)計(jì)時(shí)應(yīng)堅(jiān)決禁止內(nèi)容耦合,應(yīng)設(shè)計(jì)成單入口、單出口的模塊,避免病態(tài)連接。8.2.2公共耦合多個(gè)模塊引用同一全局?jǐn)?shù)據(jù)區(qū)。例如,C語(yǔ)言中的external數(shù)據(jù)類(lèi)型、磁盤(pán)文件等都是全局?jǐn)?shù)據(jù)區(qū)。8.2.3外部耦合模塊與軟件以外的環(huán)境有關(guān)聯(lián)。例如,輸入輸出把一個(gè)模塊與特定的設(shè)備、格式、通信協(xié)議耦合在一起。8.2.4控制耦合一模塊明顯把開(kāi)關(guān)量、名字等信息送入另一模塊,控制另一模塊的功能。8.2.5標(biāo)記耦合兩個(gè)模塊之間通過(guò)傳遞公共指針或地址相互作用的耦合。8.2.6數(shù)據(jù)耦合模塊間通過(guò)傳遞數(shù)據(jù)交換信息。8.2.7非直接耦合(無(wú)耦合)模塊間無(wú)任何關(guān)系,獨(dú)立工作 原則上講,模塊化設(shè)計(jì)總是希望模塊之間的耦合表現(xiàn)為非直接耦合方式。在以上耦合中,耦合度從高到低,內(nèi)容耦合度最高,非直接耦合度最低??偨Y(jié):內(nèi)公不好,家外被控了,標(biāo)志數(shù)年心血白非了?。▋?nèi)功不好,家外被控了,標(biāo)志數(shù)年心血白費(fèi)了?。?.3模塊的內(nèi)聚性?xún)?nèi)聚是指一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度,它是信息隱蔽和局部的概念的自然擴(kuò)展。設(shè)計(jì)時(shí)應(yīng)該力求高內(nèi)聚,理想內(nèi)聚的模塊應(yīng)當(dāng)恰好做一件事情。1).偶然內(nèi)聚:一個(gè)模塊的各成分之間毫無(wú)關(guān)系。比如:一組語(yǔ)句在程序的多處出現(xiàn),為了節(jié)省內(nèi)存空間,這些語(yǔ)句放在一個(gè)模塊中,該模塊的內(nèi)聚是偶然內(nèi)聚的。 2)邏輯內(nèi)聚:把幾種邏輯上相關(guān)的功能組放在同一模塊中。 3)瞬時(shí)內(nèi)聚(時(shí)間內(nèi)聚):一個(gè)模塊所包含的任務(wù)必須在同一時(shí)間間隔內(nèi)執(zhí)行,例如初始化模塊。 4)過(guò)程內(nèi)聚:一個(gè)模塊的處理元素是相關(guān)的,而且必須按特定的次序執(zhí)行。 5)通信內(nèi)聚:一個(gè)模塊的所有成分都結(jié)合在同一個(gè)數(shù)據(jù)結(jié)構(gòu)上。 6)順序內(nèi)聚:模塊的成分同一個(gè)功能密切相關(guān),且輸出,作為另外一個(gè)成分的輸入。 7)功能內(nèi)聚:模塊內(nèi)的所有成分屬于一個(gè)整體,完成單一的功能。在以上的內(nèi)聚中,內(nèi)聚度從低到高,偶然內(nèi)聚度最低,功能內(nèi)聚度最高。模塊的高內(nèi)聚、低耦合的原則稱(chēng)為模塊獨(dú)立原則,也稱(chēng)為模塊設(shè)計(jì)的原則。巧記:偶然邏輯混亂,瞬間遺忘過(guò)程,打電話(huà)(通信)詢(xún)問(wèn),順序清楚,功能也搞定!8.4模塊的深度、寬度、扇出與扇入深度:表示軟件結(jié)構(gòu)中控制的層數(shù)。寬度是軟件結(jié)構(gòu)中同一個(gè)層次上的模塊總數(shù)的最大值一個(gè)模塊的扇入是指直接調(diào)用該模塊的上級(jí)模塊的個(gè)數(shù)。設(shè)計(jì)原則:低扇出、高扇入。8.5模塊作用域和控制域軟件設(shè)計(jì)時(shí),模塊的作用域應(yīng)在控制域之內(nèi)。8.6模塊化基礎(chǔ)知識(shí)小結(jié)通過(guò)模塊的合并和分解,降低模塊的耦合度。模塊的扇入應(yīng)盡量大,扇出應(yīng)盡量小。一個(gè)模塊的扇入是指直接調(diào)用該模塊的上級(jí)模塊的個(gè)數(shù)。一個(gè)模塊的扇出是指該模塊直接調(diào)用的下級(jí)模塊的個(gè)數(shù)。扇入大表示模塊的重用性高,利用率高。扇出大表示模塊的復(fù)雜度高。所以要高扇入,低扇出。要將模塊的作用范圍限制在模塊的控制范圍之內(nèi)。降低模塊之間的復(fù)雜性,避免“病態(tài)連接”。2006年上半年:●模塊的耦合度描述了___(16)___。
(16)A.模塊內(nèi)各種元素結(jié)合的程度B.模塊內(nèi)多個(gè)功能之間的接口
C.模塊之間公共數(shù)據(jù)的數(shù)量D.模塊之間相互關(guān)聯(lián)的程度●內(nèi)聚是一種指標(biāo),表示一個(gè)模塊___(17)___。
(17)A.代碼優(yōu)化的程度B.代碼功能的集中程度
C.完成任務(wù)時(shí)及時(shí)程度D.為了與其他模塊連接所要完成的工作量九.什么是軟件開(kāi)發(fā)方法?有哪些主要方法?軟件開(kāi)發(fā)方法:使用已定義好的技術(shù)集及符號(hào)表示習(xí)慣組織軟件生產(chǎn)的過(guò)程。結(jié)構(gòu)化方法、面向?qū)ο蠓椒?、JACKSON方法、維也納開(kāi)發(fā)方法(VDM)。9.1結(jié)構(gòu)化方法學(xué)結(jié)構(gòu)化方法學(xué)也稱(chēng)為生命周期方法學(xué)(瀑布模型方法),是一種面向數(shù)據(jù)流的需求分析方法。它的基本思想是自頂向下逐層分解。為了在需求改變時(shí)對(duì)軟件的影響較小,結(jié)構(gòu)化分析時(shí)應(yīng)該使程序結(jié)構(gòu)與問(wèn)題結(jié)構(gòu)相對(duì)應(yīng)。常用工具:數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、實(shí)例—關(guān)系圖(E-R圖)及描述加工處理的結(jié)構(gòu)化語(yǔ)言、判定表、判定樹(shù)。9.1.1數(shù)據(jù)流圖(DFD圖)DFD的基本成分?jǐn)?shù)據(jù)流圖主要由4種成分組成,如下表所示:數(shù)據(jù)流(dataflow):由一組固定成分的數(shù)據(jù)組成,表示數(shù)據(jù)的流向。它可以從源、文件流向加工,也可以從加工流向文件和宿,還可以從一個(gè)加工流向另一個(gè)加工。通常每個(gè)數(shù)據(jù)流必須有一個(gè)合適的名字,一方面是為了區(qū)別,另一方面也給人一個(gè)直觀的印象,使人容易理解這個(gè)數(shù)據(jù)流的含義。但流向文件或從文件流出的數(shù)據(jù)流不必命名,因?yàn)檫@種數(shù)據(jù)流的組成部分就是相應(yīng)文件的組成部分。加工(process):描述了輸入數(shù)據(jù)流到輸出數(shù)據(jù)流之間的變換,也就是輸入數(shù)據(jù)流做了什么處理后變成了輸出數(shù)據(jù)流。每個(gè)加工有一個(gè)名字和一個(gè)編號(hào)。編號(hào)反映了該加工位于分層DFD的哪個(gè)層次和哪張圖中以及它是哪個(gè)加工分解出來(lái)的子加工。文件(file):可以表示數(shù)據(jù)文件,也可以表示一個(gè)數(shù)據(jù)記錄。流向文件的數(shù)據(jù)流表示寫(xiě)文件,流出文件的數(shù)據(jù)流表示讀文件,雙向箭頭表示對(duì)文件既讀又寫(xiě)。每個(gè)文件都有一個(gè)文件名。源/宿(source/sink):源是指系統(tǒng)所需數(shù)據(jù)的發(fā)源地,宿(也稱(chēng)數(shù)據(jù)池)是指系統(tǒng)所產(chǎn)生的數(shù)據(jù)的歸宿地。無(wú)論源或宿,均對(duì)應(yīng)于外部實(shí)體,在框內(nèi)應(yīng)加注實(shí)體的名字,在一個(gè)軟件各級(jí)軟件系統(tǒng)中,有些源和宿可以是一個(gè)外部實(shí)體,外部實(shí)體是指存在于軟件系統(tǒng)之外的人員或組織,它指出系統(tǒng)所需數(shù)據(jù)的發(fā)源地和系統(tǒng)所產(chǎn)生數(shù)據(jù)的歸宿地。分層數(shù)據(jù)流圖一套分層的的數(shù)據(jù)流圖由頂層、底層、和中間層組成。畫(huà)分層數(shù)據(jù)流圖基本原則與注意事項(xiàng)a.自外向內(nèi),自頂向下,逐層細(xì)化,完善求精。b.保持父圖與子圖的平衡。也就是說(shuō),父圖中某加工的輸入數(shù)據(jù)流中的數(shù)據(jù)必須與它的子圖的輸入數(shù)據(jù)流在數(shù)量和意義上相同。c.保持?jǐn)?shù)據(jù)守恒。也就是說(shuō),一個(gè)加工所有輸出數(shù)據(jù)流中的數(shù)據(jù)必須能從該加工的輸入數(shù)據(jù)流中直接獲得,或者是通過(guò)該加工能產(chǎn)生的數(shù)據(jù)。c.加工細(xì)節(jié)隱藏。根據(jù)抽象原則,在畫(huà)父圖時(shí),只需畫(huà)出加工和加工之間的關(guān)系,而不必畫(huà)出各個(gè)加工內(nèi)部的細(xì)節(jié)。d.簡(jiǎn)化加工間關(guān)系。在數(shù)據(jù)流圖中,加工間的數(shù)據(jù)流越少,各加工就越相對(duì)獨(dú)立,所以應(yīng)盡量減少加工間輸入輸出數(shù)據(jù)流的數(shù)目。e.均勻分解。應(yīng)該使一個(gè)數(shù)據(jù)流中的各個(gè)加工分解層次大致相同。f.適當(dāng)?shù)貫閿?shù)據(jù)流、加工、文件、源/宿命名,名字應(yīng)反映該成分的實(shí)際意義,避免空洞的名字。g.忽略枝節(jié)。應(yīng)集中精力于主要的數(shù)據(jù)流,而暫不考慮一些例外情況、出錯(cuò)處理等枝節(jié)性問(wèn)題。h.表現(xiàn)的是數(shù)據(jù)流而不是控制流。i.每個(gè)加工必須既有輸入數(shù)據(jù)流,又有輸出數(shù)據(jù)流.在整套數(shù)據(jù)流圖中,每個(gè)文件必須既有讀文件的數(shù)據(jù)流又有寫(xiě)文件的數(shù)據(jù)流,但在某一張子圖中可能只有讀沒(méi)有寫(xiě)或者只有寫(xiě)沒(méi)有讀。小結(jié):一個(gè)軟件系統(tǒng),其數(shù)據(jù)流圖往往有多層。如果父圖有N個(gè)加工(Process),則父圖允許有0~N張子圖,但是每張子圖只能對(duì)應(yīng)一張父圖。在一張DFD圖中,任意兩個(gè)加工之間可以有0條或多條名字互不相同的數(shù)據(jù)流;在畫(huà)數(shù)據(jù)流圖時(shí),應(yīng)該注意父圖和子圖的平衡,即父圖中某加工的輸入輸出數(shù)據(jù)流必須與其輸入輸出流在數(shù)量和名字上相同。DFD信息流大致可分為兩類(lèi):交換流和事務(wù)流。2006年上半年:●在繪制數(shù)據(jù)流圖時(shí),要遵循的一個(gè)原則是父圖與子圖的平衡,所謂平衡是指___(31)___。
(31)A.父圖和子圖都不得改變數(shù)據(jù)流的性質(zhì)
B.子圖不改變父圖數(shù)據(jù)流的—致性
C.父圖的輸入/輸出數(shù)據(jù)流與子圖的輸入/輸出數(shù)據(jù)流一致
D.子圖的輸出數(shù)據(jù)流完全由父圖的輸入數(shù)據(jù)流確定9.1.2數(shù)據(jù)字典數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合也就是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合。組成部分:a.數(shù)據(jù)項(xiàng)條目b.數(shù)據(jù)流條目c.文件條目d.加工條目加工條目是對(duì)數(shù)據(jù)流圖中每一個(gè)不能再分解的基本加工的精確說(shuō)明。對(duì)于加工的描述是數(shù)據(jù)字典的組成內(nèi)容之一,常用的加工描述方法有結(jié)構(gòu)化語(yǔ)言、判定樹(shù)和判定表。9.1.3結(jié)構(gòu)化語(yǔ)言結(jié)構(gòu)化語(yǔ)言實(shí)際上是一種半形式化語(yǔ)言,它的結(jié)構(gòu)通常可分為內(nèi)外兩層。外層接近于形式化語(yǔ)言,而內(nèi)層近似于自然語(yǔ)言的描述。9.1.4實(shí)體-關(guān)系圖(E-R圖)實(shí)體-關(guān)系圖(Entity-RelabionshipDiagram),簡(jiǎn)稱(chēng)E-R圖,包含實(shí)體、關(guān)系和屬性等3種基本成分。通常用矩形框代表實(shí)體,并用直線把實(shí)體(或關(guān)系)與其屬性連接起來(lái)。E-R圖通常用于數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。9.2結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)通??煞譃楦乓O(shè)計(jì)和詳細(xì)設(shè)計(jì),但是主要用于概要設(shè)計(jì)階段。概要設(shè)計(jì)的任務(wù)是確定軟件系統(tǒng)的結(jié)構(gòu),進(jìn)行模塊劃分,確定每個(gè)模塊的功能、接口以及模塊間的調(diào)用關(guān)系。詳細(xì)設(shè)計(jì)的任務(wù)是為每個(gè)模塊設(shè)計(jì)實(shí)現(xiàn)的細(xì)節(jié)。9.2.1概要設(shè)計(jì) 經(jīng)過(guò)需求分析階段的工作,系統(tǒng)必須“做什么”已經(jīng)清楚了,概要設(shè)計(jì)的基本目的就是回答“概括地說(shuō),系統(tǒng)應(yīng)該如實(shí)現(xiàn)?”這個(gè)問(wèn)題。概要設(shè)計(jì)的重要任務(wù):將一個(gè)復(fù)雜的系統(tǒng)按功能化分為模塊、確定每個(gè)模塊的功能、確定模塊之間的調(diào)用關(guān)系、確定模塊之間的接口(模塊之間傳遞的信息)、評(píng)價(jià)模塊的結(jié)構(gòu)質(zhì)量。1.軟件結(jié)構(gòu)圖形工具 結(jié)構(gòu)化設(shè)計(jì)方法(SD)方法采用結(jié)構(gòu)圖(StructureChart)、層次圖和HIPO圖描述軟件結(jié)構(gòu)。 結(jié)構(gòu)圖的主要成分有模塊、調(diào)用和數(shù)據(jù),結(jié)構(gòu)圖中的模塊用矩形表示,在矩形框內(nèi)可標(biāo)上模塊的名字。模塊間如有箭頭或直線相連,表明它們之間有調(diào)用關(guān)系。層次圖用來(lái)描繪軟件的層次結(jié)構(gòu).層次圖中一個(gè)矩形框代表一個(gè)模塊,方框間的連線表示模塊間的調(diào)用關(guān)系.HIPO圖實(shí)際上就是層次圖加輸入/處理/輸出圖.HIPO圖是美國(guó)IBM公司發(fā)明的“層次圖加輸入/處理/輸出圖”,是在層次圖里出了最頂層的方框之外,每個(gè)方框都加了編號(hào)。編號(hào)規(guī)則和數(shù)據(jù)流圖的編號(hào)規(guī)則一樣。2.概要設(shè)計(jì)中的信息流變換流:信息沿著輸入通道進(jìn)入系統(tǒng),然后通過(guò)變換中心(也稱(chēng)主加工)處理,再沿著輸出通道離開(kāi)系統(tǒng).具有這一特性的信息流稱(chēng)為變換流.具有變換流型的數(shù)據(jù)流圖可明顯地分成輸入、變換(主加工)、輸出三大部分。事務(wù)流:信息流沿著輸入通道到達(dá)一個(gè)事務(wù)中心,事務(wù)中心根據(jù)輸入信息(即事務(wù))的類(lèi)型在若干個(gè)動(dòng)作序列(稱(chēng)為活動(dòng)流)中選擇一個(gè)來(lái)執(zhí)行,這種信息流稱(chēng)為事務(wù)流。事務(wù)流有明顯的事務(wù)中心,各活動(dòng)以事務(wù)中心為起點(diǎn)呈輻射狀流出。9.2.2詳細(xì)設(shè)計(jì)概要設(shè)計(jì)已經(jīng)確定了每個(gè)模塊的功能和接口,詳細(xì)設(shè)計(jì)的任務(wù)就是為每個(gè)模塊設(shè)計(jì)其實(shí)現(xiàn)的細(xì)節(jié)。詳細(xì)設(shè)計(jì)階段的根本目標(biāo)是確定應(yīng)該怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng),得出對(duì)目標(biāo)系統(tǒng)的精確描述。1.詳細(xì)設(shè)計(jì)階段的內(nèi)容為每個(gè)模塊進(jìn)行詳細(xì)的算法設(shè)計(jì)。為模塊內(nèi)部的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì)。對(duì)數(shù)據(jù)庫(kù)進(jìn)行物理設(shè)計(jì)。其他詳細(xì)設(shè)計(jì)工具主要包括程序流程圖(系統(tǒng)流程圖)、盒圖(N-S圖)、PAD圖和偽碼(PDL)。2.人機(jī)界面設(shè)計(jì)人機(jī)界面的設(shè)計(jì)質(zhì)量,直接影響用戶(hù)對(duì)軟件產(chǎn)品的評(píng)價(jià)。界面的美觀、靈活和風(fēng)格都很重要,但人機(jī)界面設(shè)計(jì)中最重要的也是最基本的目標(biāo)是軟件的易操作性。人機(jī)界面設(shè)計(jì)主要包括系統(tǒng)響應(yīng)時(shí)間、用戶(hù)幫助設(shè)計(jì)、出錯(cuò)信息處理和命令交互設(shè)計(jì)等幾個(gè)方面。9.3Jackson方法上面講的結(jié)構(gòu)化設(shè)計(jì)方法是面向數(shù)據(jù)流的,另外還有一種面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法,Jackson方法是最著名的面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法,而不是面向數(shù)據(jù)流的設(shè)計(jì)方法。Jackson方法的基本步驟是:建立系統(tǒng)的數(shù)據(jù)結(jié)構(gòu);以數(shù)據(jù)結(jié)構(gòu)為基礎(chǔ),對(duì)應(yīng)地建立程序結(jié)構(gòu);列出程序中要用到的各種基本操作,再將這些操作分配到程序結(jié)構(gòu)適當(dāng)?shù)哪K中。9.4面向?qū)ο蠓治龇椒ǎ?0A)OTM方法的三個(gè)模型,分別從三個(gè)不同側(cè)面描述了所要開(kāi)發(fā)的系統(tǒng):功能模型指明了系統(tǒng)應(yīng)該“做什么”;動(dòng)態(tài)模型明確了什么時(shí)候做;對(duì)象模型則定義了做事情的實(shí)體。對(duì)象模型描述了系統(tǒng)中對(duì)象的靜態(tài)結(jié)構(gòu)及對(duì)象間的聯(lián)系,用對(duì)象模型圖來(lái)表示。動(dòng)態(tài)模型描述了與時(shí)間和操作次序有關(guān)的系統(tǒng)屬性。動(dòng)態(tài)模型由多張狀態(tài)圖組成。各個(gè)類(lèi)的狀態(tài)圖通過(guò)共享事件組成系統(tǒng)的動(dòng)態(tài)模型。功能模型描述系統(tǒng)內(nèi)數(shù)據(jù)值的變化,它由數(shù)據(jù)流圖組成。數(shù)據(jù)流圖說(shuō)明數(shù)據(jù)流是如何從外部輸入、經(jīng)過(guò)操作和內(nèi)部存儲(chǔ)而得到輸出的。十.軟件工具軟件工具是指用于輔助軟件開(kāi)發(fā)、運(yùn)行、維護(hù)、管理、支持等過(guò)程中的活動(dòng)的軟件。通常也稱(chēng)為CASE(ComputerAidedSoftwareEngineering,計(jì)算機(jī)輔助軟件工程)工具。按軟件過(guò)程的活動(dòng)分為軟件開(kāi)發(fā)工具、軟件維護(hù)工具和軟件管理工具等。十一.軟件開(kāi)發(fā)環(huán)境集成型開(kāi)發(fā)環(huán)境通??捎晒ぞ呒铜h(huán)境集成機(jī)制兩部分組成。這種環(huán)境應(yīng)具有開(kāi)放性和可裁減性。環(huán)境集成機(jī)制主要有數(shù)據(jù)集成機(jī)制、控制集成機(jī)制和界面集成機(jī)制。十二.軟件質(zhì)量管理基礎(chǔ)知識(shí)12.1軟件質(zhì)量ISO/IEC9126軟件質(zhì)量模型可從軟件功能性、可靠性、可用性、效率、可維護(hù)性、可移植性6個(gè)方面來(lái)衡量。(1).功能性與功能及其指定的性質(zhì)的一組軟件屬性。(2)可靠性 軟件在規(guī)定的一段時(shí)間內(nèi)和規(guī)定的條件下保持其性能水平有關(guān)的一組軟件屬性。也可以稱(chēng)為在規(guī)定的條件下和規(guī)定的時(shí)間間隔內(nèi),軟件實(shí)現(xiàn)其規(guī)定功能的概率。(3)可用性 與使用的難易程度及規(guī)定或隱含用戶(hù)對(duì)使用方式所做的評(píng)價(jià)有關(guān)的軟件屬性。 (4)效率 與在規(guī)定條件的性能水平與所用資源量之間的關(guān)系有關(guān)的一組軟件屬性。 (5)可維護(hù)性 與軟件維護(hù)的難易程序有關(guān)的一組軟件屬性。 (6)可移植性 軟件可從某一環(huán)境轉(zhuǎn)移到另一環(huán)境的能力有關(guān)的一組屬性。即軟件從一個(gè)計(jì)算機(jī)系統(tǒng)轉(zhuǎn)換到另一個(gè)計(jì)算機(jī)系統(tǒng)運(yùn)行的難易程度是指軟件的可移植性。為了提高可移植性,應(yīng)注意提高軟件的設(shè)備獨(dú)立性。采用表格驅(qū)動(dòng)程序有助于提高設(shè)備獨(dú)立性。為了提高可移植性,還應(yīng)有完備的文檔資料。使用C語(yǔ)言開(kāi)發(fā)的系統(tǒng)軟件具有較好的可移植性。2006年下半年:●按照ISO/IEC9126軟件質(zhì)量度量模型定義,一個(gè)軟件可靠性的子特性包括(28):(28)A.容錯(cuò)性和安全性B.容錯(cuò)性和適應(yīng)性C.容錯(cuò)性和易恢復(fù)性D.易恢復(fù)性和安全性●某軟件在運(yùn)行初期運(yùn)行在WindowsNT環(huán)境中,現(xiàn)因某種原因,該軟件需要在UNIX環(huán)境中運(yùn)行,而且必須完成同樣的功能。為適應(yīng)這個(gè)要求,軟件本身需要進(jìn)行修改,而所需的工作量取決于該軟件的(27)(27)A.可擴(kuò)充性B.可靠性C.復(fù)用性D.可移植性2005年5月:●下列敘述中,與提高軟件可移植性相關(guān)的是___(18)____
A.選擇時(shí)間效率高的算法B.盡可能減少注釋C.選擇空間效率高的算法D.盡量用高級(jí)語(yǔ)言編寫(xiě)系統(tǒng)中對(duì)效率要求不高的部分12.2軟件質(zhì)量保證軟件質(zhì)量保證的主要困難表現(xiàn)在以下幾個(gè)方面:1)軟件開(kāi)發(fā)的管理人員往往關(guān)心項(xiàng)目開(kāi)發(fā)的成本與進(jìn)度。因?yàn)槌杀竞瓦M(jìn)度是顯而易見(jiàn)的,而軟件質(zhì)量則難以度量。如果軟件開(kāi)發(fā)的管理人員對(duì)交付的軟件含有多少隱患并不必負(fù)什么責(zé)任,他們必定沒(méi)有太高的熱情去控制開(kāi)發(fā)的質(zhì)量,更不必說(shuō)保證質(zhì)量并不容易且代價(jià)昂貴。開(kāi)發(fā)人員的習(xí)慣一旦形成難以改變,他們的形為也難于控制,而高質(zhì)量的軟件產(chǎn)品,又主要取決于參與開(kāi)發(fā)的人員。復(fù)雜的軟件項(xiàng)目需要許多技術(shù)人員和管理人員參與,對(duì)問(wèn)題的不同認(rèn)識(shí)和誤解如不能及時(shí)消除必然影響軟件質(zhì)量。軟件開(kāi)發(fā)人員的頻繁流動(dòng),特別是骨干開(kāi)發(fā)人員的流失,也會(huì)使軟件質(zhì)量受到一定的影響。軟件質(zhì)量的保證手段:開(kāi)發(fā)初期制定質(zhì)量保證計(jì)劃,并在開(kāi)發(fā)中堅(jiān)持實(shí)行。開(kāi)發(fā)前選定或制定開(kāi)發(fā)標(biāo)準(zhǔn)或開(kāi)發(fā)規(guī)范,并遵照實(shí)施。從開(kāi)始就選擇分析設(shè)計(jì)方法和工具,形成高質(zhì)量的分析模型和設(shè)計(jì)模型。嚴(yán)格執(zhí)行階段評(píng)審,以便及時(shí)發(fā)現(xiàn)問(wèn)題。各個(gè)開(kāi)發(fā)階段的測(cè)試。對(duì)軟件的每次“變動(dòng)”都要經(jīng)過(guò)申請(qǐng)、評(píng)估、批準(zhǔn)、實(shí)施等步驟。軟件質(zhì)量特性的度量化。軟件生存期的各階段都要完整的文檔。12.3代碼評(píng)審技術(shù)常用方法有代碼走查和代碼審查技術(shù)。代碼走查程序員和測(cè)試員組成審查小組,通過(guò)邏輯運(yùn)行程序。第一步:小組成員提前閱讀設(shè)計(jì)規(guī)格書(shū)、程序文本等相關(guān)文檔;第二步:利用測(cè)試用例,使程序邏輯運(yùn)行,記錄程序的蹤跡,發(fā)現(xiàn)、討論、解決問(wèn)題代碼審查程序員和測(cè)試員組成審查小組。第一步:小組成員提前閱讀設(shè)計(jì)規(guī)格書(shū)、程序文本等相關(guān)文檔;第二步:召開(kāi)程序?qū)彶闀?huì),開(kāi)發(fā)人員讀程序,審查小組討論、發(fā)現(xiàn)、解決問(wèn)題。兩者的區(qū)別代碼審查是一種正式的評(píng)審活動(dòng),而代碼走查的討論過(guò)程是非正式的。十三.成本-效益分析可用哪些指標(biāo)進(jìn)行度量?投資回收率:通常把建立系統(tǒng)若干年后所取得的收益折算成現(xiàn)在的價(jià)值和開(kāi)發(fā)系統(tǒng)所需的費(fèi)用進(jìn)行比較得出投資回收率。投資回收期:就是使累計(jì)的經(jīng)濟(jì)效益等于最初的投資費(fèi)用所需的時(shí)間。純收入:整個(gè)軟件生命周期之內(nèi)的累計(jì)經(jīng)濟(jì)效益(折成現(xiàn)在值)與投資之差。十四.第四代語(yǔ)言(4GL)的主要特征?友好的用戶(hù)界面兼有過(guò)程性和非過(guò)程性?xún)煞N特性高效的程序代碼完備的數(shù)據(jù)庫(kù)應(yīng)用程序生成器十五.軟件測(cè)試軟件測(cè)試的費(fèi)用已經(jīng)超過(guò)軟件開(kāi)發(fā)費(fèi)用的30%左右?!案弋a(chǎn)”測(cè)試是指用少量的測(cè)試用例,發(fā)現(xiàn)被測(cè)試程序盡可能多的錯(cuò)誤。15.1軟件測(cè)試經(jīng)過(guò)的步驟單元測(cè)試->集成測(cè)試->確認(rèn)測(cè)試->系統(tǒng)測(cè)試15.2測(cè)試與軟件開(kāi)發(fā)各階段的關(guān)系單元測(cè)試對(duì)程序中每一個(gè)程序單元進(jìn)行測(cè)試,檢查各個(gè)模塊是否都實(shí)現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯(cuò)誤,該階段涉及編碼和詳細(xì)設(shè)計(jì)文檔。集成測(cè)試是為了檢查與設(shè)計(jì)相關(guān)的軟件體系結(jié)構(gòu)的有關(guān)問(wèn)題,也就是檢查概要設(shè)計(jì)是否合理有效。確認(rèn)測(cè)試主要是檢查已實(shí)現(xiàn)的軟件是否滿(mǎn)足需求規(guī)格說(shuō)明書(shū)中已確定了的各種需求。系統(tǒng)測(cè)試是把已確認(rèn)的軟件與其他系統(tǒng)元素(如硬件,其他支持軟件、數(shù)據(jù)、人工等)結(jié)合在一起進(jìn)行測(cè)試,以確定軟件是否可以支付使用。15.3白盒測(cè)試白盒測(cè)試又稱(chēng)為結(jié)構(gòu)測(cè)試??梢园殉绦蚩闯裳b在一個(gè)透明盒子里,測(cè)試者(一般為編程者)完全知道程序的結(jié)構(gòu)和處理算法。按照程序內(nèi)部邏輯設(shè)計(jì)測(cè)試用例,檢測(cè)程序中的主要執(zhí)行通路是否能按預(yù)定要求正常工作。白盒測(cè)試多用于單元測(cè)試階段。邏輯覆蓋是主要的白盒測(cè)試技術(shù)。白盒測(cè)試時(shí),確定測(cè)試數(shù)據(jù)應(yīng)根據(jù)程序的內(nèi)部邏輯和指定的覆蓋方式。采用以下幾種邏輯覆蓋標(biāo)準(zhǔn):語(yǔ)句覆蓋判定覆蓋條件覆蓋判定/條件覆蓋條件組合覆蓋路徑覆蓋滿(mǎn)足條件組合覆蓋測(cè)試用例,也一定滿(mǎn)足判定條件覆蓋。因此,條件組合覆蓋是上述五種覆蓋標(biāo)準(zhǔn)中最強(qiáng)的一種。2006年下半年:當(dāng)用路徑覆蓋法測(cè)試時(shí),至少需要設(shè)計(jì)(31)個(gè)測(cè)試用例。(31)A.3B.4C.5D.815.4黑盒測(cè)試黑盒測(cè)試,又稱(chēng)為功能測(cè)試。把軟件看做是一個(gè)不透明的黑盒子,完全不考慮(或不了解)軟件內(nèi)部結(jié)構(gòu)和處理算法,它只檢測(cè)軟件功能是否能按照軟件需求說(shuō)明書(shū)的要求正常使用,軟件是否能適當(dāng)?shù)慕邮茌斎霐?shù)據(jù)并產(chǎn)生正確的輸出信息,軟件運(yùn)行過(guò)程中能否保持外部信息(例如文件和數(shù)據(jù)庫(kù))的完整性等。常用的黑盒測(cè)試技術(shù)包括等價(jià)類(lèi)劃分,邊值分析、錯(cuò)誤推測(cè)和因果圖等。其中等價(jià)類(lèi)劃分和邊界值分析法方法最常用。如果兩者結(jié)合使用,更有可能發(fā)現(xiàn)軟件中的錯(cuò)誤。15.4灰盒測(cè)試灰盒測(cè)試介于白盒測(cè)試和黑盒測(cè)試之間,它把軟件看做是一個(gè)半透明的灰盒子,結(jié)合考慮軟件的內(nèi)部結(jié)構(gòu)和外部功能設(shè)計(jì)測(cè)試用例15.5回歸測(cè)試糾正了程序中的錯(cuò)誤之后,選擇部分或全部原先已測(cè)試過(guò)的測(cè)試用例,對(duì)修改后程序重新測(cè)試以驗(yàn)證對(duì)軟件修改后有沒(méi)有引出新的錯(cuò)誤,稱(chēng)為回歸測(cè)試。15.6單元測(cè)試單元測(cè)試(Unittesting)也稱(chēng)為模塊測(cè)試或結(jié)構(gòu)測(cè)試,通??煞旁诰幊屉A段(實(shí)現(xiàn)階段),主要采用邏輯覆蓋技術(shù),由程序員對(duì)自己編寫(xiě)的模塊自行測(cè)試,檢查模塊是否能實(shí)現(xiàn)了詳細(xì)設(shè)計(jì)說(shuō)明書(shū)中規(guī)定的功能和算法。單元測(cè)試主要發(fā)現(xiàn)編程和詳細(xì)設(shè)計(jì)中產(chǎn)生的錯(cuò)誤。測(cè)試一個(gè)模塊時(shí)需要為該模塊編寫(xiě)一個(gè)驅(qū)動(dòng)模塊和若干個(gè)樁(stub)模塊。頂層模塊測(cè)試時(shí)不需要驅(qū)動(dòng)模塊,底層模塊測(cè)試時(shí)不需要樁模塊。在進(jìn)行單元測(cè)試時(shí),常用的方法是白盒測(cè)試(采用邏輯覆蓋的測(cè)試技術(shù)),輔之以黑盒測(cè)試。15.7集成測(cè)試集成測(cè)試(integrationtesting)也稱(chēng)為組裝測(cè)試,在單元測(cè)試的基礎(chǔ)之上,把所有的模塊組裝成一個(gè)系統(tǒng)進(jìn)行測(cè)試。主要測(cè)試設(shè)計(jì)階段產(chǎn)生的錯(cuò)誤,集成測(cè)試計(jì)劃應(yīng)該在概要設(shè)計(jì)階段制定。非漸增式集成測(cè)試首先將每個(gè)模塊分別進(jìn)行單元測(cè)試,再把所有的模塊組裝成一個(gè)完整的系統(tǒng)進(jìn)行測(cè)試。目前在進(jìn)行集成測(cè)試時(shí)已普遍采用漸增式集成。漸增式集成測(cè)試又可以分為自頂向下集成和自底向上集成。自頂向下集成先測(cè)試上層模塊,再測(cè)試下層模塊,由于測(cè)試下層模塊時(shí)上層模塊已經(jīng)測(cè)試過(guò),所以不必要另外編寫(xiě)驅(qū)動(dòng)模塊。自底向上集成,先測(cè)試下層模塊,再測(cè)試上層模塊同樣。頂層模塊測(cè)試時(shí)不需要驅(qū)動(dòng)模塊,底層模塊測(cè)試時(shí)不需要樁模塊。軟件的集成測(cè)試最好由不屬于該軟件開(kāi)發(fā)組的軟件設(shè)計(jì)人員承擔(dān),以提高集成測(cè)試的效果。三明治測(cè)試從系統(tǒng)的三個(gè)角往中間包圍測(cè)試的方法。15.8確認(rèn)測(cè)試在系統(tǒng)驗(yàn)收測(cè)試中,驗(yàn)證測(cè)試是在模擬的環(huán)境中進(jìn)行強(qiáng)度測(cè)試的基礎(chǔ)上進(jìn)行,主要依據(jù)軟件需求說(shuō)明書(shū)檢測(cè)軟件的功能,性能及其他特征是否與用戶(hù)的要求一致,而確認(rèn)測(cè)試是在一個(gè)實(shí)際環(huán)境中使用真實(shí)數(shù)據(jù)運(yùn)行系統(tǒng)。確認(rèn)測(cè)試計(jì)劃應(yīng)該在需求分析階段制定。α測(cè)試由用戶(hù)在開(kāi)發(fā)者的場(chǎng)所進(jìn)行,并且在開(kāi)發(fā)者的指導(dǎo)下進(jìn)行測(cè)試。開(kāi)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)品推廣與營(yíng)銷(xiāo)方案總結(jié)
- 私人心理咨詢(xún)服務(wù)免責(zé)協(xié)議書(shū)
- 廢舊物資購(gòu)銷(xiāo)合同
- 股份制企業(yè)合同審查文書(shū)模板
- Unit 1 You and Me 大單元整體教學(xué)設(shè)計(jì) 2024-2025學(xué)年人教版英語(yǔ)七年級(jí)上冊(cè)
- 第3章開(kāi)源硬件創(chuàng)意設(shè)計(jì)3.4審查并優(yōu)化方案 -高中教學(xué)同步《信息技術(shù)人工-開(kāi)源硬件項(xiàng)目設(shè)計(jì)》教學(xué)設(shè)計(jì)(人教-中圖版2019)
- 川教版信息技術(shù)(2019)五年級(jí)上冊(cè)第三單元 圖形化編程之聰明的角色 2 偵測(cè)太空垃圾-教學(xué)設(shè)計(jì)
- 20《美麗的小興安嶺》教學(xué)設(shè)計(jì)-2024-2025學(xué)年三年級(jí)上冊(cè)語(yǔ)文統(tǒng)編版(五四制)
- 2025屆高考生物備考教學(xué)設(shè)計(jì):第四章 細(xì)胞的生命歷程 課時(shí)1 細(xì)胞的增殖
- 第六單元課題3二氧化碳的實(shí)驗(yàn)室制取教學(xué)設(shè)計(jì)-2024-2025學(xué)年九年級(jí)化學(xué)人教版上冊(cè)
- 預(yù)防深靜脈血栓VTE持續(xù)改進(jìn)QCC品管圈PDCA案例3例
- 水環(huán)境綜合治理服務(wù)方案(技術(shù)標(biāo))
- 【原創(chuàng)】頭腦特工隊(duì)開(kāi)的那些心理學(xué)腦洞
- 美甲藝術(shù)全套教學(xué)課件
- 中國(guó)古代餐具
- 上海市嘉定一中2023年高二數(shù)學(xué)第一學(xué)期期末質(zhì)量檢測(cè)試題含解析
- 施工日志模板
- 消費(fèi)者起訴狀模板范文
- Agilent7820A氣相色譜儀操作規(guī)程知識(shí)講解
- 醫(yī)院招標(biāo)采購(gòu)管理辦法及實(shí)施細(xì)則(試行)
- 中華人民共和國(guó)文物保護(hù)法學(xué)習(xí)課程PPT
評(píng)論
0/150
提交評(píng)論