




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件工程
緒論什么是軟件危機(jī)?為什么會(huì)產(chǎn)生軟件危機(jī)?答:軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中遇到的一系列緊要問題。(1).軟件維護(hù)費(fèi)用急劇上升,干脆威逼計(jì)算機(jī)應(yīng)用的夸張。(2).軟件生產(chǎn)技術(shù)進(jìn)步緩慢什么是軟件生產(chǎn)工程化?工程化生產(chǎn)方法及早期的程序設(shè)計(jì)方法主要差異在哪里?答:構(gòu)造化程序設(shè)計(jì)地出現(xiàn),使許多產(chǎn)業(yè)界相識(shí)相識(shí)到必需把軟件生產(chǎn)從個(gè)人化方式變更為工程化。接受工程的概念、原理、技術(shù)和方法開發(fā)及維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程,同時(shí)這也是工程化生產(chǎn)方法。分別說明〔1〕軟件開發(fā)方法及開發(fā)工具;〔2〕軟件技術(shù)及軟件管理的相互關(guān)系。答:〔1〕工具和方法,是軟件開發(fā)技術(shù)的兩大支柱,它們密切相關(guān)。當(dāng)一種方法提出來并證明有效后,往往隨之研制出相應(yīng)的工具,來幫助實(shí)現(xiàn)和推行這種方法。新方法在推行初期,總有人不愿承受和接受。假設(shè)將新方法融合于工具之中,使人們通過運(yùn)用工具來了解新方法,就能更快促進(jìn)新方法的推廣。
〔2〕在工業(yè)生產(chǎn)中,即使有先進(jìn)的技術(shù)和設(shè)備,管理不善的企業(yè)也不能獲得良好的效益。軟件在生產(chǎn)中不能按質(zhì)按時(shí)完成準(zhǔn)備,管理混亂往往是其中的重要緣由。所以對(duì)于一個(gè)志向的軟件工程環(huán)境,應(yīng)當(dāng)同時(shí)具備技術(shù)和管理兩個(gè)方面。試從你的親身實(shí)踐,談?wù)勡浖ぞ咴谲浖_發(fā)中的作用。答:用C++開發(fā)一個(gè)軟件,是校內(nèi)一卡通的模塊。首先,要在編輯程序支持下在計(jì)算機(jī)中輸入源程序。然后編譯程序,把源程序翻譯成目標(biāo)程序。假如發(fā)覺錯(cuò)誤,就重新調(diào)入編輯程序?qū)υ闯绦蜻M(jìn)展修改。編譯通過后,再調(diào)用連接程序吧全部通過了編譯目標(biāo)程序連同及之有關(guān)的程序連接起來,構(gòu)成一個(gè)能在計(jì)算機(jī)上運(yùn)行的可執(zhí)行軟件。編譯程序,編輯程序,連接程序以及支持他們的計(jì)算機(jī)操作系統(tǒng),都屬于軟件工具。離開這些工具,軟件開發(fā)就是去了支持,變得特別困難和低效,甚至不能運(yùn)行。5.什么是軟件工程環(huán)境?談?wù)勀銓?duì)環(huán)境重要性的相識(shí)。答:方法及工具相結(jié)合,再加上配套的軟、硬件支持就形成環(huán)境。例如在批處理時(shí)代,用戶開發(fā)的程序是分批送入計(jì)算機(jī)中心的計(jì)算機(jī)的,有了錯(cuò)誤,就得下機(jī)修改。程序員對(duì)自己寫的程序只能接著地跟蹤,思路常常被迫中斷,效率難于提高。分時(shí)系統(tǒng)的運(yùn)用,使開發(fā)人員從今能在自己的終端上跟蹤程序的開發(fā),僅此一點(diǎn),就明顯提高了開發(fā)的效率。6.何謂面對(duì)對(duì)象軟件工程?簡(jiǎn)述它及傳統(tǒng)軟件工程在各型軟件開發(fā)中的作用。答:以面對(duì)對(duì)象程序設(shè)計(jì)為根底。7.軟件按規(guī)模大小可分成哪幾類?簡(jiǎn)述軟件工程中各型軟件開發(fā)中的作用。答:按規(guī)模分為微小、小、中、大、甚大、極大?!?〕中小型軟件:軟件工程對(duì)改良軟件質(zhì)量,提高程序員生產(chǎn)率和滿足用戶的需求,有很大的作用?!?〕大型軟件:這類軟件必需從頭至尾堅(jiān)持軟件工程的方法,嚴(yán)格遵守標(biāo)準(zhǔn)文檔格式和正規(guī)的復(fù)審制度,才能幸免或削減混亂,真正開發(fā)出大型的軟件。8.什么是形式化軟件開發(fā)方法?實(shí)現(xiàn)這類開發(fā)的困難和出路在哪里?答:它是一種基于數(shù)學(xué)的開發(fā)技術(shù),主要接受數(shù)學(xué)的方法來描述系統(tǒng)的性質(zhì)〔例如程序變換和程序驗(yàn)證等〕。形式化的方法加上自動(dòng)化的開發(fā)環(huán)境,可能是解決這一難題的出路。軟件開發(fā)模型什么是軟件生存周期?把生存周期劃分為階段的目的是什么?答:軟件生存周期劃分為準(zhǔn)備、開發(fā)和運(yùn)行3個(gè)時(shí)期;把整個(gè)生存周期劃分為較小的階段,給每個(gè)階段賜予確定而有限的任務(wù),就能夠化簡(jiǎn)每一步的工作內(nèi)容,使因?yàn)檐浖?guī)模而增長(zhǎng)而大大增加了軟件困難性變得交易限制和管理。傳統(tǒng)的瀑布模型把生存周期分為哪些階段?瀑布模型軟件開發(fā)有哪些特點(diǎn)?答:瀑布模型在編碼以前支配了分析階段和設(shè)計(jì)階段;階段間具有依次性和依靠性。說明文檔和復(fù)審對(duì)于軟件質(zhì)量的限制的作用。答:每一階段都要完成規(guī)定的文檔,沒有完成文檔,就認(rèn)為沒有完成該階段的任務(wù)。軟件開發(fā)是許多人共同參加的準(zhǔn)備,完整及合格的文檔,不僅是開發(fā)時(shí)期軟件人員之間相互通信的媒介,也是運(yùn)行時(shí)期對(duì)軟件進(jìn)展維護(hù)的中要依據(jù)。每一階段都要對(duì)已完成的文檔進(jìn)展復(fù)審,以便盡早發(fā)覺問題,消退隱患。愈是早期潛藏下來的故障,暴露出來的時(shí)間愈晚,解除故障需付出的代價(jià)也就愈高。剛好復(fù)審是保證軟件質(zhì)量,降低開發(fā)本錢的重要措施。什么是快速原型法?其快速表此時(shí)此刻哪里?答:首先建立一個(gè)能夠反映用戶主要需求的原型,讓用戶實(shí)際看一看將來系統(tǒng)的概貌,以便判定哪些功能是符合須要的,哪些方面還須要改良。然后將原型改良,最終建立完全符合用戶要求的新系統(tǒng)。它的快速表此時(shí)此刻能夠縮短開發(fā)周期的語(yǔ)言和工具,能在短時(shí)間內(nèi)供應(yīng)出成品,但不包括成品中的微小環(huán)節(jié),然后讓客戶進(jìn)展比照。5.實(shí)現(xiàn)快速原型法的最終系統(tǒng)可以有幾種方法?請(qǐng)說明并加以比擬。答:原型系統(tǒng)僅包括將來系統(tǒng)的主要功能,以及系統(tǒng)的重要接口。為了盡快向用戶供應(yīng)原型,開發(fā)原型系統(tǒng)時(shí)應(yīng)盡量運(yùn)用能縮短開發(fā)周期的語(yǔ)言和工具。最終系統(tǒng)的形成可以接受原型廢棄不用,另一方法是補(bǔ)充修改模型獲得最終系統(tǒng)。方法一不包括系統(tǒng)的微小環(huán)節(jié)。后一種方法在實(shí)際工作中,由于原型系統(tǒng)運(yùn)用的語(yǔ)言往往存在效率不高等緣由,除了少數(shù)簡(jiǎn)潔的事務(wù)系統(tǒng)外,大多數(shù)原型都廢棄不用,僅把建立原型的過程當(dāng)作幫助定義軟件需求的一種手段。6.比擬增量模型和螺旋模型的特點(diǎn),有什么不同和相像的地方?答:增量模型是瀑布模型的依次特征及快速原型法的迭代特征相結(jié)合的產(chǎn)物。螺旋模型是一種迭代模型,每迭代一次,螺旋線就前進(jìn)一周。增量模型每個(gè)增量具有高內(nèi)聚低耦合,高度的獨(dú)立性。而螺旋模型它在結(jié)合瀑布模型及快速原型的根底上還增加了風(fēng)險(xiǎn)分析。7.為什么利用轉(zhuǎn)換模型開發(fā)軟件有必需難度?什么是凈室軟件工程?答:從理論上說,一個(gè)正確的,滿足客戶須要的形式化規(guī)格說明,經(jīng)過一系列正確的程序變更后,可以確保得到這樣一個(gè)形式化規(guī)格說明,目前還有較高的難度,同時(shí),軟件開發(fā)者很少具有管用形式化方法所需的背景學(xué)問,況且,轉(zhuǎn)換模型開發(fā)軟件此時(shí)此刻還很費(fèi)時(shí)和昂貴!凈室根本思想是力求在分析和設(shè)計(jì)階段就消退錯(cuò)誤,確保正確,然后在無缺陷或“干凈”的狀態(tài)下實(shí)現(xiàn)軟件的制作。8.哪些開發(fā)模型適用于面對(duì)對(duì)象的軟件開發(fā)?答:構(gòu)件集成模型9.比擬螺旋模型和構(gòu)件集成模型的異同。答:構(gòu)件集成模型利用預(yù)先對(duì)封裝好的軟件構(gòu)件來構(gòu)造應(yīng)用軟件系統(tǒng),它融合了螺旋模型的許多特征,支持軟件開發(fā)的迭代方法。軟件需求分析需求分析的任務(wù)是什么?怎樣理解分析階段的任務(wù)是確定“做什么”,而不是“怎么做”?答:需求分析主要有兩個(gè)任務(wù):第一是通過對(duì)問題及其環(huán)境的理解、分析和綜合建立分析模型;其次是在完全弄清用戶對(duì)軟件系統(tǒng)的精確要求的根底上,用“軟件需求規(guī)格說明書”把用戶的需求表達(dá)出來。需求分析的任務(wù)就是為了明確要開發(fā)的是一個(gè)什么樣的系統(tǒng),而不是去怎么去實(shí)現(xiàn)這個(gè)系統(tǒng)。需求分析要經(jīng)過哪些步驟?答:需求獲得、需求提煉、需求描述、需求驗(yàn)證。有哪兩種主要的分析模型,它們有什么聯(lián)系?答:面對(duì)對(duì)象分析模型、構(gòu)造化分析模型。前者是接受面對(duì)對(duì)象的思想進(jìn)展軟件需求分析的建模過程,而后者模型的核心是DD,它是設(shè)計(jì)各種數(shù)據(jù)對(duì)象的總和。他們的模型分別起到了描述數(shù)據(jù)模型,功能模型及行為模型的作用。什么是構(gòu)造化分析?它的“構(gòu)造化”體此時(shí)此刻哪里?答:是運(yùn)用DFD、DD、構(gòu)造化語(yǔ)言、判定表和判定樹等工具,來建立一種新的、稱為構(gòu)造化說明書的目標(biāo)文檔。什么是面對(duì)對(duì)象分析?其主要思想是什么?答:OOA面對(duì)對(duì)象的分析是接受面對(duì)對(duì)象的思想進(jìn)展軟件需求分析建模的過程.主要思想是接受面對(duì)對(duì)象的思想。需求說明〔或需求規(guī)格說明書〕由哪些局部組成?各局部的主要內(nèi)容是什么?答:引言、信息描述、功能描述、行為描述、質(zhì)量描述、接口描述、其他描述。引言:主要表達(dá)在文體定義階段確定的關(guān)于軟件的目標(biāo)及范圍,簡(jiǎn)要介紹系統(tǒng)背景、蓋帽、軟件工程約束和按考資料等。信息描述:給出對(duì)軟件所含信息的詳細(xì)描述,包括信息的內(nèi)容、關(guān)系、數(shù)據(jù)流向、限制流向和構(gòu)造等。功能描述:對(duì)軟件功能要求的說明,包括系統(tǒng)功能劃分、每個(gè)功能的處理說明、限制和限制描述等。行為描述:包括對(duì)系統(tǒng)狀態(tài)變更及事務(wù)和動(dòng)作的描述,據(jù)此可以檢查外部事務(wù)和軟件內(nèi)部的限制特征。質(zhì)量描述:說明在軟件交付運(yùn)用前須要進(jìn)展的共更能測(cè)試和性能測(cè)試,并且規(guī)定源程序和文檔應(yīng)當(dāng)遵守的各種標(biāo)準(zhǔn)。接口描述:包括系統(tǒng)的用戶界面、硬件接口、軟件接口和通信接口等的說明。其他描述:闡述系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)上的限制,系統(tǒng)的假設(shè)和依靠等其他須要說明的內(nèi)容。為什么DFD要分層?畫分層DFD要遵循哪些原那么?答:大型困難的軟件系統(tǒng),其DFD可能含有數(shù)百乃至數(shù)千個(gè)加工,不能設(shè)想一次就將它們?nèi)慨孆R。正確的做法是:從系統(tǒng)的根本模型〔把整個(gè)系統(tǒng)看成一個(gè)加工〕起先,逐層地對(duì)系統(tǒng)進(jìn)展分解。原那么:由頂向下,逐步細(xì)化。DFD和CFD有什么區(qū)分?什么是系統(tǒng)的行為模型,如何建立?答:類對(duì)象模型所表示的是面對(duì)對(duì)象分析模型中的靜態(tài)局部,而對(duì)象行為模型那么用于描述系統(tǒng)的動(dòng)態(tài)行為,即系統(tǒng)如何對(duì)應(yīng)外部事務(wù)---系統(tǒng)的行為模型。建立一個(gè)對(duì)象行為模型一般要閱歷一些過程:評(píng)估所以的用例來理解系統(tǒng)中的交互序列;找出驅(qū)動(dòng)交互序列的事務(wù);為每個(gè)用例創(chuàng)立事務(wù)軌跡;為對(duì)象創(chuàng)立狀態(tài)轉(zhuǎn)換圖。選一個(gè)系統(tǒng)〔例如工資處理系統(tǒng)、飛機(jī)訂票系統(tǒng)、圖書館管理系統(tǒng)等〕,分別用SA方法和OOA方法對(duì)它進(jìn)展分析,并給出分析模型。答:軟件設(shè)計(jì)概述1.傳統(tǒng)軟件工程把設(shè)計(jì)過程分成2步:概要設(shè)計(jì)及詳細(xì)設(shè)計(jì)。試述這2個(gè)階段個(gè)字主要完成的任務(wù)。答:概要設(shè)計(jì),包括構(gòu)造設(shè)計(jì)和接口設(shè)計(jì),并編寫設(shè)計(jì)文檔。詳細(xì)設(shè)計(jì),其任務(wù)是確定各個(gè)軟件組件的數(shù)據(jù)構(gòu)造和操作,產(chǎn)生描述個(gè)軟件組件的詳細(xì)設(shè)計(jì)文檔。為什么大型軟件設(shè)計(jì)必需分成兩步走?答:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)是軟件設(shè)計(jì)的兩步,概要設(shè)計(jì)確定模塊的劃分,模塊之間的調(diào)用關(guān)系,接口等;詳細(xì)設(shè)計(jì)細(xì)分模塊、數(shù)據(jù)構(gòu)造等;大型系統(tǒng)中分兩步走是必要的,概要設(shè)計(jì)確定模塊劃分后,詳細(xì)設(shè)計(jì)可把各模塊交給不同的人做詳細(xì)設(shè)計(jì),大型系統(tǒng)中這樣的分工是比擬合理的,能提高效率,做到合理分工。2.說明以下名詞:〔1〕模塊;〔2〕模塊化;〔3〕模塊化設(shè)計(jì)。答:模塊是一個(gè)擁有明確定義的、輸出和特性的程序?qū)嶓w。模塊化是指解決一個(gè)困難問題時(shí)自頂向下逐層把軟件系統(tǒng)劃分成假設(shè)干模塊的過程。每個(gè)模塊完成一個(gè)特定的子功能,全部的模塊按某種方法組裝起來,成為一個(gè)整體,完成整個(gè)系統(tǒng)所要求的功能。模塊化設(shè)計(jì)是把大型軟件遵照規(guī)定的原那么劃分成一個(gè)個(gè)較小的、相對(duì)獨(dú)立但又相互關(guān)聯(lián)的模塊。但又相互關(guān)聯(lián)的模塊。3.什么是模塊獨(dú)立性?用什么度量?答:模塊獨(dú)立性指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且及其他模塊的聯(lián)系最少且接口簡(jiǎn)潔。模塊獨(dú)立的概念是模塊化、抽象、信息隱藏和局部化概念的干脆結(jié)果。獨(dú)立性可以從兩個(gè)方面來度量:模塊本身的內(nèi)聚性(Cohesion)和模塊之間的耦合(Coupling)。4.詳細(xì)說明“一個(gè)模塊,一個(gè)功能”的含義,并摸索討這類模塊的優(yōu)點(diǎn)。5.什么是自頂向下設(shè)計(jì)?為什么說它尤其適用于大型軟件的開發(fā)?答:設(shè)計(jì)時(shí)首先對(duì)所設(shè)計(jì)的系統(tǒng)有一個(gè)全面的理解。然后從頂層起先,連續(xù)的逐層向下分解,直至系統(tǒng)的全部模塊都笑道便于駕馭為止。自底向上設(shè)計(jì)反映了軟件規(guī)模較小的設(shè)計(jì)思想,隨著軟件規(guī)模的增長(zhǎng),這種方法的缺點(diǎn)慢慢暴露出來。而自頂向下的設(shè)計(jì)須要進(jìn)展詳細(xì)的可行性論證,易于修改和擴(kuò)展,整體測(cè)試較易通過。6.自頂向下逐步細(xì)化的方法也適用于編寫教材。運(yùn)用這種方法說明編寫一本教材的過程。7.輸入三角形的3條邊長(zhǎng)〔假定這些邊的確能組成一個(gè)三角形〕,用它們來鑒別三角形的性質(zhì)〔等腰、等邊、隨意或者直角〕,并輸出結(jié)果。試用逐步細(xì)化的方法設(shè)計(jì)這一程序,并用構(gòu)造化語(yǔ)言〔漢語(yǔ)或英語(yǔ)〕寫出細(xì)化過程中每一步的過程描述。8.比擬概要設(shè)計(jì)復(fù)審和過程設(shè)計(jì)復(fù)審的評(píng)審內(nèi)容,并說明他們接受的復(fù)審方式有何異同。答:概要設(shè)計(jì)復(fù)審的重點(diǎn)放在系統(tǒng)的總體構(gòu)造、模塊劃分、內(nèi)外構(gòu)造等方面。例如軟件構(gòu)造是否滿足需求?構(gòu)造形態(tài)是否合理?層次是否清晰?模塊的劃分是不是符合優(yōu)化原那么?系統(tǒng)的人機(jī)界面、內(nèi)外部接口、以及出錯(cuò)處理是不是合理等。過程設(shè)計(jì)復(fù)審的重點(diǎn)放在模塊的詳細(xì)設(shè)計(jì)上。例如模塊設(shè)計(jì)能否滿足其功能及性能要求?選擇算法及數(shù)據(jù)構(gòu)造是否合理,是否符合編程語(yǔ)言的特點(diǎn)?設(shè)計(jì)描述簡(jiǎn)潔、清晰等。概要設(shè)計(jì)復(fù)審常用的復(fù)審方式是正式復(fù)審。傳統(tǒng)的設(shè)計(jì)方法簡(jiǎn)釋事務(wù)、事務(wù)型構(gòu)造和變換型構(gòu)造。答:一次動(dòng)作、時(shí)間或狀態(tài)變更也可以成為一次事務(wù)。事務(wù)型構(gòu)造由至少一條承受路徑、一個(gè)事務(wù)中心及假設(shè)干條動(dòng)作路徑組成。變換型構(gòu)造由至少一條傳入路徑、變換中心和傳出路徑組成。簡(jiǎn)述從DFD圖到SC圖的映射規(guī)那么。答:〔1〕復(fù)審DFD圖,必要時(shí)可再次進(jìn)展修改或細(xì)化;〔2〕鑒別DFD圖所表示的軟件系統(tǒng)的構(gòu)造特征,確定它所代表的軟件構(gòu)造是屬于變換型還是事務(wù)型?!?〕遵照SD方法規(guī)定一組規(guī)那么,把DFD圖轉(zhuǎn)換為初始的SC圖;〔4〕遵照優(yōu)化設(shè)計(jì)的指導(dǎo)原那么改良初始的SC圖,獲得最終SC圖。5.某事務(wù)系統(tǒng)具有以下功能:〔1〕讀入用戶叮囑,并檢查其有效性;〔2〕遵照叮囑的編號(hào)〔1-4號(hào)〕進(jìn)展分類處理〔3〕1號(hào)叮囑計(jì)算產(chǎn)品共識(shí),能依據(jù)用戶給出的各種產(chǎn)品數(shù)量,計(jì)算出各工種的須要工時(shí)和缺額工時(shí);〔4〕2號(hào)叮囑計(jì)算材料消耗,依據(jù)產(chǎn)品的材料定額和用戶給出的生產(chǎn)數(shù)量,計(jì)算各種材料的需求量〔5〕3號(hào)叮囑編制材料訂貨準(zhǔn)備〔6〕4號(hào)叮囑計(jì)算產(chǎn)品成品試用構(gòu)造化分析和設(shè)計(jì)方法畫出該系統(tǒng)的DFD圖并據(jù)此到處系統(tǒng)的SC圖。對(duì)動(dòng)作分支中的1號(hào)和2號(hào)叮囑要詳細(xì)描述和設(shè)計(jì),3號(hào)叮囑和4號(hào)叮囑允許從略,可僅用示意圖表示。7.簡(jiǎn)述過程〔詳細(xì)〕設(shè)計(jì)說明書的主要內(nèi)容,怎樣對(duì)它進(jìn)展復(fù)審?答:(1)為每個(gè)模塊確定接受的算法。選擇某種適當(dāng)?shù)墓ぞ弑磉_(dá)算法的過程,寫出模塊的詳細(xì)過程描述;(2)確定每一模塊運(yùn)用的數(shù)據(jù)構(gòu)造;(3)確定模塊接口的微小環(huán)節(jié),包括對(duì)系統(tǒng)外部的接口和用戶界面,對(duì)系統(tǒng)內(nèi)部其它模塊的接口,以及關(guān)于模塊輸入數(shù)據(jù)、輸出數(shù)據(jù)及局部數(shù)據(jù)的全部微小環(huán)節(jié)。8.簡(jiǎn)化比擬本章講解的幾種過程設(shè)計(jì)表達(dá)工具的優(yōu)缺點(diǎn)。答:流程圖和N-S圖,偽代碼和PDL語(yǔ)言。流程圖具有能隨意表達(dá)任何程序邏輯的有點(diǎn),隨著構(gòu)造化程序設(shè)計(jì)方法的普及,流程圖在描述程序邏輯時(shí)的隨意性及靈敏性恰恰變成了它的缺點(diǎn)。N-S圖全部的程序構(gòu)造均用方框來表示,無論并列或者嵌套,程序的構(gòu)造清晰可見。簡(jiǎn)潔養(yǎng)成良好的程序設(shè)計(jì)風(fēng)格。缺點(diǎn)是當(dāng)程序內(nèi)嵌的層數(shù)增多時(shí),內(nèi)層的方塊越畫越小,不僅增加畫圖的困難,也使圖形的清晰性受到影響。偽代碼工作量比畫圖小,又簡(jiǎn)潔轉(zhuǎn)換為真正的代碼,PDL具有很強(qiáng)的描述功能,是一種特別靈敏和有用的過程表達(dá)工具。9.任選一種排序〔從小到大〕算法,分別用流程圖、N-S圖和PDL語(yǔ)言描述其詳細(xì)過程。試將以下用PDL偽代碼表示的某種模塊的過程性描述改用N-S圖表示。……ExecuteprocessaREPEATUNTILconditionX8ExecuteprocessbIFconditionX1
THENBEGIN
ExecuteprocessfIFconditionX6
THEN
REPEATUNTILconditionX7
Executeprocessi
ENDREPELSEBEGIN
ExecuteprocessgExecuteprocesshENDENDIFELSECASEOFXiWHENcontditionX2SELECT
DOWHILEcontitionX5executeprocessCENDDOWHENconditionX3SELECTprocessdWHENconditionX4SELECTprocesseENDCASEENDIFENDREPExecuteprocessjENDexecuteprocessa
executeprocessbTX1Fexecuteprocessf
TX3
FTX4
FTX6F
executeprocessd
executeprocesse
executeprocessiexecuteprocessgREPEATUNTIL
X7executeprocesshexecuteprocessjREPEATUNTILconditionX8圖5-63顯示了某倉(cāng)庫(kù)零件收發(fā)管理程序的數(shù)據(jù)構(gòu)造,用Jackson圖表示。圖中Part表示零件,Issue和Recept分別表示零件的出庫(kù)量和入庫(kù)量?,F(xiàn)要求:〔1〕找出輸入構(gòu)造及輸出構(gòu)造之間的對(duì)應(yīng)單元〔2〕畫出用Jackson圖表示的程序構(gòu)造〔3〕列出程序所須要的操作,并加到第〔2〕步畫出的程序構(gòu)造圖上〔4〕用偽代碼寫出收發(fā)管理程序的過程性表示Input
group*receptMovementrecord*issueNetmovementline*bodyheadingOutputreport
13.某工資管理程序的輸入/輸出數(shù)據(jù)中包括:輸入數(shù)據(jù):職工姓名,日工資率,工作天數(shù),加班天數(shù),病事假天數(shù),補(bǔ)貼變更,扣款變更等;輸出數(shù)據(jù):職工姓名,根本工資,各項(xiàng)補(bǔ)貼,各項(xiàng)扣款,事發(fā)工資等;試用Jackson方法設(shè)計(jì)這一程序
。軟件測(cè)試1.軟件測(cè)試的根本任務(wù)是什么?測(cè)試及糾錯(cuò)有什么不同?測(cè)試的目的是發(fā)覺程序錯(cuò)誤;測(cè)試的任務(wù)是通過在計(jì)算機(jī)上執(zhí)行程序,暴露程序中潛在的錯(cuò)誤。糾錯(cuò)的目的是定位和訂正錯(cuò)誤;糾錯(cuò)的任務(wù)是軟件故障,保證程序的牢靠運(yùn)行。通常把一次程序執(zhí)行須要的測(cè)試數(shù)據(jù)成為一個(gè)測(cè)試用例,每個(gè)測(cè)試用例產(chǎn)生一個(gè)相應(yīng)的測(cè)試結(jié)果,假如它及期望結(jié)果不符,便說明程序中存在錯(cuò)誤,須要用糾錯(cuò)來改正。2.怎樣理解下面的話所蘊(yùn)含的意義:“程序測(cè)試只能證明錯(cuò)誤的存在,但不能證明錯(cuò)誤不存在”、“測(cè)試是為了證明程序有錯(cuò),而不是證明程序無錯(cuò)”提示了測(cè)試固有的一個(gè)重要性質(zhì)——不徹底性。徹底測(cè)試就是讓被測(cè)程序在一切可能的輸入狀況下全部執(zhí)行一遍,又稱窮舉測(cè)試。在實(shí)際狀況中是根本無法實(shí)現(xiàn)的。這就注定了一切實(shí)際測(cè)試都是不徹底的,當(dāng)然也就不能保證測(cè)試后的程序不存在遺留的錯(cuò)誤?!魷y(cè)試的分類◆測(cè)試方法測(cè)試用例和測(cè)試結(jié)果測(cè)試用例={測(cè)試數(shù)據(jù)+期望結(jié)果}測(cè)試結(jié)果={測(cè)試數(shù)據(jù)+期望結(jié)果+實(shí)際結(jié)果}黑盒測(cè)試①
等價(jià)測(cè)試把輸入數(shù)據(jù)的可能值劃分為假設(shè)干個(gè)等價(jià)類,使每類中的任何一個(gè)測(cè)試用例,都能代表同一等價(jià)類中的其它測(cè)試用例。接受等價(jià)測(cè)試留意以下兩點(diǎn):劃分等價(jià)類不僅要考慮代表“有效”輸入值的有效等價(jià)類,還要考慮代表“無效”輸入值得無效等價(jià)類;每一無效等價(jià)類至少要用一個(gè)測(cè)試用例,不然可能漏掉某一類錯(cuò)誤,但允許假設(shè)干個(gè)有效等價(jià)類合用一個(gè)測(cè)試用例,以便進(jìn)一步削減測(cè)試的次數(shù)?!纠磕彻S公開招工,規(guī)定報(bào)名者年齡在16周歲至35周歲(在1967年2月到1986年3月)。假如誕生年月不在上述范圍內(nèi),將拒絕承受,并顯示“年齡不合格”等出錯(cuò)信息。試用等價(jià)分類法設(shè)計(jì)這一程序功能的測(cè)試用例。第一步:劃分等價(jià)類輸入數(shù)據(jù)有效等價(jià)類無效等價(jià)類誕生年月(1)6位數(shù)字字符(2)有非數(shù)字字符(3)少于6個(gè)數(shù)字字符(4)多于6個(gè)數(shù)字字符對(duì)應(yīng)數(shù)值(5)在196702-198603之間(6)<196702(7)>198603月份對(duì)應(yīng)數(shù)值(8)在1-12之間(9)等于“0”(10)>12其次步:設(shè)計(jì)有效等價(jià)類須要的測(cè)試用例測(cè)試數(shù)據(jù)期望結(jié)果測(cè)試范圍197011輸入有效(1)、(5)、(8)第三步:為每一無效等價(jià)類設(shè)計(jì)一個(gè)測(cè)試用例測(cè)試數(shù)據(jù)期望結(jié)果測(cè)試范圍MAY,70輸入無效(2)19705輸入無效(3)1968011輸入無效(4)195512年齡不合格(6)196006年齡不合格(7)196200輸入無效(9)197222輸入無效(10)②③
錯(cuò)誤推想法猜錯(cuò)就是推想被測(cè)程序放在哪些地方簡(jiǎn)潔出錯(cuò),然后針對(duì)可能的薄弱環(huán)節(jié)來設(shè)計(jì)測(cè)試用例。一般先用等價(jià)分類法和邊界值分析法設(shè)計(jì)測(cè)試用例,然后用猜錯(cuò)法補(bǔ)充一些例子作為幫助的手段。白盒測(cè)試①
邏輯覆蓋測(cè)試:用流程圖來設(shè)計(jì)測(cè)計(jì)用例。主要考察的重點(diǎn)是圖中的判定框(選擇或循環(huán))。遵照被測(cè)試程序所作測(cè)試的有效程度,邏輯測(cè)試可由弱到強(qiáng)區(qū)分5種覆蓋標(biāo)準(zhǔn):語(yǔ)句覆蓋:每條語(yǔ)句至少執(zhí)行一次。判定覆蓋:每一判定的每個(gè)分支至少執(zhí)行一次。條件覆蓋:每一判定中的每個(gè)條件,分別按“真”、“假”至少各執(zhí)行一次。判定/條件覆蓋:同時(shí)滿足判定覆蓋和條件覆蓋的要求。條件組合覆蓋:求出判定中全部條件的各種可能組合值,每一可能的條件子和至少執(zhí)行一次。覆蓋標(biāo)準(zhǔn)程序構(gòu)造舉例測(cè)試用例應(yīng)滿足的條件語(yǔ)句覆蓋AÙB=.T.判定覆蓋AÙB=.T.,AÙB=.F.條件覆蓋A=.T.,A=.F.B=.T.,B=.F.判定/條件覆蓋AÙB=.T.,AÙB=.F.A=.T.,A=.F.B=.T.,B=.F.條件組合覆蓋A=.T.ÙB=.T.A=.T.ÙB=.F.A=.F.ÙB=.T.A=.F.ÙB=.F.②路徑測(cè)試法程序圖:是一種簡(jiǎn)化的流程圖。對(duì)程序圖中每一條可能的程序執(zhí)行路徑至少測(cè)試一次。假如程序中含有循環(huán)(在程序中表現(xiàn)為環(huán)),那么每個(gè)循環(huán)至少執(zhí)行一次。路徑測(cè)試具有如下特征:滿足構(gòu)造測(cè)試的最低要求。語(yǔ)句覆蓋加判定覆蓋是對(duì)白盒測(cè)試的最低要求,同時(shí)滿足這兩種標(biāo)準(zhǔn)的覆蓋為“完全覆蓋”。從對(duì)路徑測(cè)試的要求可見,它本身就包含了語(yǔ)句覆蓋和判定覆蓋(在程序圖上分別為點(diǎn)覆蓋及邊覆蓋)。
軟件復(fù)用什么是軟件復(fù)用?答:在構(gòu)造新的軟件系統(tǒng)的過程中,對(duì)已存在的軟件人工制品的運(yùn)用技術(shù)。什么是領(lǐng)域工程?簡(jiǎn)述其活動(dòng)內(nèi)容。答:領(lǐng)域工程是指通過領(lǐng)域分析找出最優(yōu)復(fù)用,把它們?cè)O(shè)計(jì)和構(gòu)造為可復(fù)用構(gòu)件,進(jìn)而建立大規(guī)模的軟件構(gòu)件倉(cāng)庫(kù)的過程。答:按復(fù)用活動(dòng)所應(yīng)用的領(lǐng)域范圍,復(fù)用可劃分為橫向復(fù)用和縱向復(fù)用。橫向復(fù)用是指復(fù)用不同應(yīng)用領(lǐng)域中的軟件元素如數(shù)據(jù)構(gòu)造、分類算法等。縱向復(fù)用是指在一類具有較多公共性的應(yīng)用領(lǐng)域之間進(jìn)展軟局部復(fù)用。縱向復(fù)用包括以下幾個(gè)方面的活動(dòng):(1)實(shí)施領(lǐng)域分析:依據(jù)應(yīng)用領(lǐng)域的特征及相像性,可預(yù)料軟構(gòu)件的可復(fù)用性,發(fā)覺并描述可復(fù)用實(shí)體,進(jìn)而建立相關(guān)的模型和需求規(guī)約。(2)開發(fā)可復(fù)用構(gòu)件:一旦確認(rèn)了構(gòu)件的復(fù)用價(jià)值,即可進(jìn)展構(gòu)件的開發(fā),并對(duì)具有復(fù)用價(jià)值的軟構(gòu)件進(jìn)展抽象、一般化和參數(shù)化,以便它們能夠適應(yīng)新的類似的應(yīng)用領(lǐng)域。(3)建立可復(fù)用構(gòu)件庫(kù):將軟件構(gòu)件及其文檔進(jìn)展分類歸并,形成相關(guān)的分類檢索機(jī)制,成為可供后繼工程運(yùn)用的可復(fù)用資源。什么是CBSD?實(shí)施軟件構(gòu)件技術(shù)要解決哪些問題?答:基于構(gòu)件的軟件開發(fā)(Component-BasedSoftwareDevelopment,簡(jiǎn)稱CBSD)是在必需構(gòu)件模型的支持下,復(fù)用構(gòu)件庫(kù)中的一個(gè)或多個(gè)軟件構(gòu)件,通過組合構(gòu)件來構(gòu)造應(yīng)用軟件系統(tǒng)的開發(fā)過程。要解決的問題:構(gòu)件應(yīng)具有的特征:通用性、可變性、易組裝性。在建立構(gòu)件時(shí),必需考略應(yīng)用領(lǐng)域的特征。領(lǐng)域構(gòu)件設(shè)計(jì)框架:標(biāo)準(zhǔn)數(shù)據(jù)、標(biāo)準(zhǔn)接口協(xié)議、程序模板。軟件維護(hù)為什么說軟件維護(hù)是不行幸免的?答:滿足用戶對(duì)已開發(fā)產(chǎn)品的性能及運(yùn)行環(huán)境不斷提高的須要,進(jìn)而到達(dá)延長(zhǎng)軟件的壽命。糾錯(cuò)和糾錯(cuò)性維護(hù)有哪些異同?答:糾錯(cuò)的目的是定位和訂正錯(cuò)誤;糾錯(cuò)的任務(wù)是軟件故障,保證程序的牢靠運(yùn)行。糾錯(cuò)性維護(hù)是由于軟件測(cè)試的不徹底性,任何大型軟件交付運(yùn)用后,都會(huì)接著發(fā)覺潛在的錯(cuò)誤,對(duì)它們進(jìn)展診斷和改正。目的在于訂正在開發(fā)期間未能發(fā)覺的遺留錯(cuò)誤。什么是軟件配置?說明搞好維護(hù)時(shí)期配置的意義及方法。答:軟件配置是一個(gè)軟件在生存周期內(nèi),它的各種形式、各種版本的文檔及程序的總稱。對(duì)軟件配置進(jìn)展科學(xué)的管理,是保證軟件質(zhì)量的重要手段。配置管理貫穿于整個(gè)生存周期,在運(yùn)行和維護(hù)時(shí)期,其任務(wù)尤為繁重。為了便利對(duì)多種產(chǎn)品和多種版本進(jìn)展跟蹤和限制
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 語(yǔ)義關(guān)聯(lián)模型評(píng)估-深度研究
- 融合設(shè)計(jì)效果評(píng)估-深度研究
- 交通大數(shù)據(jù)的分析與應(yīng)用-深度研究
- 智能控制系統(tǒng)研究-深度研究
- 跨鏈建模協(xié)作機(jī)制-深度研究
- 混合算法復(fù)雜性分析-深度研究
- 營(yíng)養(yǎng)健康信息傳播-深度研究
- 虛擬運(yùn)動(dòng)場(chǎng)景沉浸感提升-深度研究
- 大數(shù)據(jù)在賽事分析中的應(yīng)用-深度研究
- 保險(xiǎn)業(yè)可持續(xù)發(fā)展-深度研究
- 《大模型原理與技術(shù)》全套教學(xué)課件
- 2024年青海省中考生物地理合卷試題(含答案解析)
- 2019譯林版高中英語(yǔ)全七冊(cè)單詞總表
- 2024年中鐵集裝箱運(yùn)輸有限責(zé)任公司招聘筆試參考題庫(kù)附帶答案詳解
- 蘇少版小學(xué)一年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)單元備課
- 《園林生態(tài)學(xué)》課件
- 人教版三年級(jí)數(shù)學(xué)下冊(cè) (認(rèn)識(shí)東北、西北、東南、西南)位置與方向教育教學(xué)課件
- 《藥劑學(xué)》-阿昔洛韋軟膏的制備
- 畢業(yè)設(shè)計(jì)-膽囊結(jié)石患者的護(hù)理計(jì)劃
- 倒排工期計(jì)劃表
- 項(xiàng)目承包制實(shí)施方案
評(píng)論
0/150
提交評(píng)論