版權(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ù)過程中碰到的一系列嚴(yán)重問題。(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è)界認(rèn)識(shí)認(rèn)識(shí)到必須把軟件生產(chǎn)從個(gè)人化方式變化為工程化。采用工程的概念、原理、技術(shù)和辦法開發(fā)與維護(hù)軟件,把通過時(shí)間考驗(yàn)而證明對(duì)的的管理技術(shù)和現(xiàn)在能夠得到的最佳的技術(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)一種辦法提出來并證明有效后,往往隨之研制出對(duì)應(yīng)的工具,來協(xié)助實(shí)現(xiàn)和推行這種辦法。新辦法在推行早期,總有人不肯接受和采用。若將新辦法融合于工具之中,使人們通過使用工具來理解新辦法,就能更快增進(jìn)新辦法的推廣。
(2)在工業(yè)生產(chǎn)中,即使有先進(jìn)的技術(shù)和設(shè)備,管理不善的公司也不能獲得良好的效益。軟件在生產(chǎn)中不能按質(zhì)準(zhǔn)時(shí)完畢計(jì)劃,管理混亂往往是其中的重要因素。因此對(duì)于一種抱負(fù)的軟件工程環(huán)境,應(yīng)當(dāng)同時(shí)含有技術(shù)和管理兩個(gè)方面。試從你的親身實(shí)踐,談?wù)勡浖ぞ咴谲浖_發(fā)中的作用。答:用C++開發(fā)一種軟件,是校園一卡通的模塊。首先,要在編輯程序支持下在計(jì)算機(jī)中輸入源程序。然后編譯程序,把源程序翻譯成目的程序。如果發(fā)現(xiàn)錯(cuò)誤,就重新調(diào)入編輯程序?qū)υ闯绦蜻M(jìn)行修改。編譯通過后,再調(diào)用連接程序吧全部通過了編譯目的程序連同與之有關(guān)的程序連接起來,構(gòu)成一種能在計(jì)算機(jī)上運(yùn)行的可執(zhí)行軟件。編譯程序,編輯程序,連接程序以及支持他們的計(jì)算機(jī)操作系統(tǒng),都屬于軟件工具。離開這些工具,軟件開發(fā)就是去了支持,變得十分困難和低效,甚至不能運(yùn)行。5.什么是軟件工程環(huán)境?談?wù)勀銓?duì)環(huán)境重要性的認(rèn)識(shí)。答:辦法與工具相結(jié)合,再加上配套的軟、硬件支持就形成環(huán)境。例如在批解決時(shí)代,顧客開發(fā)的程序是分批送入計(jì)算機(jī)中心的計(jì)算機(jī)的,有了錯(cuò)誤,就得下機(jī)修改。程序員對(duì)自己寫的程序只能繼續(xù)地跟蹤,思路經(jīng)常被迫中斷,效率難于提高。分時(shí)系統(tǒng)的使用,使開發(fā)人員從此能在自己的終端上跟蹤程序的開發(fā),僅此一點(diǎn),就明顯提高了開發(fā)的效率。6.何謂面對(duì)對(duì)象軟件工程?簡(jiǎn)述它與傳統(tǒng)軟件工程在各型軟件開發(fā)中的作用。答:以面對(duì)對(duì)象程序設(shè)計(jì)為基礎(chǔ)。7.軟件按規(guī)模大小可分成哪幾類?簡(jiǎn)述軟件工程中各型軟件開發(fā)中的作用。答:按規(guī)模分為極小、小、中、大、甚大、極大。(1)中小型軟件:軟件工程對(duì)改善軟件質(zhì)量,提高程序員生產(chǎn)率和滿足顧客的需求,有很大的作用。(2)大型軟件:這類軟件必須從頭至尾堅(jiān)持軟件工程的辦法,嚴(yá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ā)模型什么是軟件生存周期?把生存周期劃分為階段的目的是什么?答:軟件生存周期劃分為計(jì)劃、開發(fā)和運(yùn)行3個(gè)時(shí)期;把整個(gè)生存周期劃分為較小的階段,給每個(gè)階段賦予擬定而有限的任務(wù),就能夠化簡(jiǎn)每一步的工作內(nèi)容,使由于軟件規(guī)模而增加而大大增加了軟件復(fù)雜性變得交易控制和管理。傳統(tǒng)的瀑布模型把生存周期分為哪些階段?瀑布模型軟件開發(fā)有哪些特點(diǎn)?答:瀑布模型在編碼以前安排了分析階段和設(shè)計(jì)階段;階段間含有次序性和依賴性。闡明文檔和復(fù)審對(duì)于軟件質(zhì)量的控制的作用。答:每一階段都要完畢規(guī)定的文檔,沒有完畢文檔,就認(rèn)為沒有完畢該階段的任務(wù)。軟件開發(fā)是許多人共同參加的計(jì)劃,完整與合格的文檔,不僅是開發(fā)時(shí)期軟件人員之間互相通信的媒介,也是運(yùn)行時(shí)期對(duì)軟件進(jìn)行維護(hù)的中要根據(jù)。每一階段都要對(duì)已完畢的文檔進(jìn)行復(fù)審,方便盡早發(fā)現(xiàn)問題,消除隱患。愈是早期潛伏下來的故障,暴露出來的時(shí)間愈晚,排除故障需付出的代價(jià)也就愈高。及時(shí)復(fù)審是確保軟件質(zhì)量,減少開發(fā)成本的重要方法。什么是快速原型法?其快速體現(xiàn)在哪里?答:首先建立一種能夠反映顧客重要需求的原型,讓顧客實(shí)際看一看將來系統(tǒng)的概貌,方便判斷哪些功效是符合需要的,哪些方面還需要改善。然后將原型改善,最后建立完全符合顧客規(guī)定的新系統(tǒng)。它的快速體現(xiàn)在能夠縮短開發(fā)周期的語言和工具,能在短時(shí)間內(nèi)提供出成品,但不涉及成品中的細(xì)節(jié),然后讓客戶進(jìn)行對(duì)比。5.實(shí)現(xiàn)快速原型法的最后系統(tǒng)能夠有幾個(gè)辦法?請(qǐng)闡明并加以比較。答:原型系統(tǒng)僅涉及將來系統(tǒng)的重要功效,以及系統(tǒng)的重要接口。為了盡快向顧客提供原型,開發(fā)原型系統(tǒng)時(shí)應(yīng)盡量使用能縮短開發(fā)周期的語言和工具。最后系統(tǒng)的形成能夠采用原型廢棄不用,另一辦法是補(bǔ)充修改模型獲得最后系統(tǒng)。辦法一不涉及系統(tǒng)的細(xì)節(jié)。后一種辦法在實(shí)際工作中,由于原型系統(tǒng)使用的語言往往存在效率不高等因素,除了少數(shù)簡(jiǎn)樸的事務(wù)系統(tǒng)外,大多數(shù)原型都廢棄不用,僅把建立原型的過程當(dāng)作協(xié)助定義軟件需求的一種手段。6.比較增量模型和螺旋模型的特點(diǎn),有什么不同和相似的地方?答:增量模型是瀑布模型的次序特性與快速原型法的迭代特性相結(jié)合的產(chǎn)物。螺旋模型是一種迭代模型,每迭代一次,螺旋線就邁進(jìn)一周。增量模型每個(gè)增量含有高內(nèi)聚低耦合,高度的獨(dú)立性。而螺旋模型它在結(jié)合瀑布模型與快速原型的基礎(chǔ)上還增加了風(fēng)險(xiǎn)分析。7.為什么運(yùn)用轉(zhuǎn)換模型開發(fā)軟件有一定難度?什么是凈室軟件工程?答:從理論上說,一種對(duì)的的,滿足客戶需要的形式化規(guī)格闡明,通過一系列對(duì)的的程序變化后,能夠確保得到這樣一種形式化規(guī)格闡明,現(xiàn)在尚有較高的難度,同時(shí),軟件開發(fā)者極少含有實(shí)用形式化辦法所需的背景知識(shí),況且,轉(zhuǎn)換模型開發(fā)軟件現(xiàn)在還很費(fèi)時(shí)和昂貴!凈室基本思想是力求在分析和設(shè)計(jì)階段就消除錯(cuò)誤,確保對(duì)的,然后在無缺點(diǎn)或“干凈”的狀態(tài)下實(shí)現(xiàn)軟件的制作。8.哪些開發(fā)模型合用于面對(duì)對(duì)象的軟件開發(fā)?答:構(gòu)件集成模型9.比較螺旋模型和構(gòu)件集成模型的異同。答:構(gòu)件集成模型運(yùn)用預(yù)先對(duì)封裝好的軟件構(gòu)件來構(gòu)造應(yīng)用軟件系統(tǒng),它融合了螺旋模型的諸多特性,支持軟件開發(fā)的迭代辦法。軟件需求分析需求分析的任務(wù)是什么?如何理解分析階段的任務(wù)是決定“做什么”,而不是“怎么做”?答:需求分析重要有兩個(gè)任務(wù):第一是通過對(duì)問題及其環(huán)境的理解、分析和綜合建立分析模型;第二是在完全搞清顧客對(duì)軟件系統(tǒng)確實(shí)切規(guī)定的基礎(chǔ)上,用“軟件需求規(guī)格闡明書”把顧客的需求體現(xiàn)出來。需求分析的任務(wù)就是為了明確要開發(fā)的是一種什么樣的系統(tǒng),而不是去怎么去實(shí)現(xiàn)這個(gè)系統(tǒng)。需求分析要通過哪些環(huán)節(jié)?答:需求獲取、需求提煉、需求描述、需求驗(yàn)證。有哪兩種重要的分析模型,它們有什么聯(lián)系?答:面對(duì)對(duì)象分析模型、構(gòu)造化分析模型。前者是采用面對(duì)對(duì)象的思想進(jìn)行軟件需求分析的建模過程,而后者模型的核心是DD,它是設(shè)計(jì)多個(gè)數(shù)據(jù)對(duì)象的總和。他們的模型分別起到了描述數(shù)據(jù)模型,功效模型與行為模型的作用。什么是構(gòu)造化分析?它的“構(gòu)造化”體現(xiàn)在哪里?答:是使用DFD、DD、構(gòu)造化語言、鑒定表和鑒定樹等工具,來建立一種新的、稱為構(gòu)造化闡明書的目的文檔。什么是面對(duì)對(duì)象分析?其重要思想是什么?答:OOA面對(duì)對(duì)象的分析是采用面對(duì)對(duì)象的思想進(jìn)行軟件需求分析建模的過程.重要思想是采用面對(duì)對(duì)象的思想。需求闡明(或需求規(guī)格闡明書)由哪些部分構(gòu)成?各部分的重要內(nèi)容是什么?答:引言、信息描述、功效描述、行為描述、質(zhì)量描述、接口描述、其它描述。引言:重要敘述在文體定義階段擬定的有關(guān)軟件的目的與范疇,簡(jiǎn)要介紹系統(tǒng)背景、蓋帽、軟件項(xiàng)目約束和按考資料等。信息描述:給出對(duì)軟件所含信息的具體描述,涉及信息的內(nèi)容、關(guān)系、數(shù)據(jù)流向、控制流向和構(gòu)造等。功效描述:對(duì)軟件功效規(guī)定的闡明,涉及系統(tǒng)功效劃分、每個(gè)功效的解決闡明、限制和控制描述等。行為描述:涉及對(duì)系統(tǒng)狀態(tài)變化及事件和動(dòng)作的描述,據(jù)此能夠檢查外部事件和軟件內(nèi)部的控制特性。質(zhì)量描述:闡明在軟件交付使用前需要進(jìn)行的共更能測(cè)試和性能測(cè)試,并且規(guī)定源程序和文檔應(yīng)當(dāng)恪守的多個(gè)原則。接口描述:涉及系統(tǒng)的顧客界面、硬件接口、軟件接口和通信接口等的闡明。其它描述:敘述系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)上的限制,系統(tǒng)的假設(shè)和依賴等其它需要闡明的內(nèi)容。為什么DFD要分層?畫分層DFD要遵照哪些原則?答:大型復(fù)雜的軟件系統(tǒng),其DFD可能含有數(shù)百乃至數(shù)千個(gè)加工,不能構(gòu)想一次就將它們?nèi)慨孆R。對(duì)的的做法是:從系統(tǒng)的基本模型(把整個(gè)系統(tǒng)當(dāng)作一種加工)開始,逐級(jí)地對(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)外部事件---系統(tǒng)的行為模型。建立一種對(duì)象行為模型普通要經(jīng)歷某些過程:評(píng)定因此的用例來理解系統(tǒng)中的交互序列;找出驅(qū)動(dòng)交互序列的事件;為每個(gè)用例創(chuàng)立事件軌跡;為對(duì)象創(chuàng)立狀態(tài)轉(zhuǎn)換圖。選一種系統(tǒng)(例如工資解決系統(tǒng)、飛機(jī)訂票系統(tǒng)、圖書館管理系統(tǒng)等),分別用SA辦法和OOA辦法對(duì)它進(jìn)行分析,并給出分析模型。答:軟件設(shè)計(jì)概述1.傳統(tǒng)軟件工程把設(shè)計(jì)過程分成2步:概要設(shè)計(jì)與具體設(shè)計(jì)。試述這2個(gè)階段個(gè)字重要完畢的任務(wù)。答:概要設(shè)計(jì),涉及構(gòu)造設(shè)計(jì)和接口設(shè)計(jì),并編寫設(shè)計(jì)文檔。具體設(shè)計(jì),其任務(wù)是擬定各個(gè)軟件組件的數(shù)據(jù)構(gòu)造和操作,產(chǎn)生描述個(gè)軟件組件的具體設(shè)計(jì)文檔。為什么大型軟件設(shè)計(jì)必須分成兩步走?答:概要設(shè)計(jì)和具體設(shè)計(jì)是軟件設(shè)計(jì)的兩步,概要設(shè)計(jì)擬定模塊的劃分,模塊之間的調(diào)用關(guān)系,接口等;具體設(shè)計(jì)細(xì)分模塊、數(shù)據(jù)構(gòu)造等;大型系統(tǒng)中分兩步走是必要的,概要設(shè)計(jì)擬定模塊劃分后,具體設(shè)計(jì)可把各模塊交給不同的人做具體設(shè)計(jì),大型系統(tǒng)中這樣的分工是比較合理的,能提高效率,做到合理分工。2.解釋下列名詞:(1)模塊;(2)模塊化;(3)模塊化設(shè)計(jì)。答:模塊是一種擁有明擬定義的、輸出和特性的程序?qū)嶓w。模塊化是指解決一種復(fù)雜問題時(shí)自頂向下逐級(jí)把軟件系統(tǒng)劃分成若干模塊的過程。每個(gè)模塊完畢一種特定的子功效,全部的模塊按某種辦法組裝起來,成為一種整體,完畢整個(gè)系統(tǒng)所規(guī)定的功效。模塊化設(shè)計(jì)是把大型軟件按照規(guī)定的原則劃分成一種個(gè)較小的、相對(duì)獨(dú)立但又互有關(guān)聯(lián)的模塊。但又互有關(guān)聯(lián)的模塊。3.什么是模塊獨(dú)立性?用什么度量?答:模塊獨(dú)立性指每個(gè)模塊只完畢系統(tǒng)規(guī)定的獨(dú)立的子功效,并且與其它模塊的聯(lián)系最少且接口簡(jiǎn)樸。模塊獨(dú)立的概念是模塊化、抽象、信息隱蔽和局部化概念的直接成果。獨(dú)立性能夠從兩個(gè)方面來度量:模塊本身的內(nèi)聚性(Cohesion)和模塊之間的耦合(Coupling)。4.具體闡明“一種模塊,一種功效”的含義,并試討論這類模塊的優(yōu)點(diǎn)。5.什么是自頂向下設(shè)計(jì)?為什么說它特別合用于大型軟件的開發(fā)?答:設(shè)計(jì)時(shí)首先對(duì)所設(shè)計(jì)的系統(tǒng)有一種全方面的理解。然后從頂層開始,持續(xù)的逐級(jí)向下分解,直至系統(tǒng)的全部模塊都笑道便于掌握為止。自底向上設(shè)計(jì)反映了軟件規(guī)模較小的設(shè)計(jì)思想,隨著軟件規(guī)模的增加,這種辦法的缺點(diǎn)逐步暴露出來。而自頂向下的設(shè)計(jì)需要進(jìn)行具體的可行性論證,易于修改和擴(kuò)展,整體測(cè)試較易通過。6.自頂向下逐步細(xì)化的辦法也合用于編寫教材。使用這種辦法闡明編寫一本教材的過程。7.輸入三角形的3條邊長(zhǎng)(假定這些邊確實(shí)能構(gòu)成一種三角形),用它們來鑒別三角形的性質(zhì)(等腰、等邊、任意或者直角),并輸出成果。試用逐步細(xì)化的辦法設(shè)計(jì)這一程序,并用構(gòu)造化語言(漢語或英語)寫出細(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)放在模塊的具體設(shè)計(jì)上。例如模塊設(shè)計(jì)能否滿足其功效與性能規(guī)定?選擇算法與數(shù)據(jù)構(gòu)造與否合理,與否符合編程語言的特點(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)造由最少一條接受途徑、一種事務(wù)中心與若干條動(dòng)作途徑構(gòu)成。變換型構(gòu)造由最少一條傳入途徑、變換中心和傳出途徑構(gòu)成。簡(jiǎn)述從DFD圖到SC圖的映射規(guī)則。答:(1)復(fù)審DFD圖,必要時(shí)可再次進(jìn)行修改或細(xì)化;(2)鑒別DFD圖所示的軟件系統(tǒng)的構(gòu)造特性,擬定它所代表的軟件構(gòu)造是屬于變換型還是事務(wù)型。(3)按照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ù)顧客給出的多個(gè)產(chǎn)品數(shù)量,計(jì)算出各工種的需要工時(shí)和缺額工時(shí);(4)2號(hào)命令計(jì)算材料消耗,根據(jù)產(chǎn)品的材料定額和顧客給出的生產(chǎn)數(shù)量,計(jì)算多個(gè)材料的需求量(5)3號(hào)命令編制材料訂貨計(jì)劃(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)命令要具體描述和設(shè)計(jì),3號(hào)命令和4號(hào)命令允許從略,可僅用示意圖表達(dá)。7.簡(jiǎn)述過程(具體)設(shè)計(jì)闡明書的重要內(nèi)容,如何對(duì)它進(jìn)行復(fù)審?答:(1)為每個(gè)模塊擬定采用的算法。選擇某種適宜的工具體現(xiàn)算法的過程,寫出模塊的具體過程描述;(2)擬定每一模塊使用的數(shù)據(jù)構(gòu)造;(3)擬定模塊接口的細(xì)節(jié),涉及對(duì)系統(tǒng)外部的接口和顧客界面,對(duì)系統(tǒng)內(nèi)部其它模塊的接口,以及有關(guān)模塊輸入數(shù)據(jù)、輸出數(shù)據(jù)及局部數(shù)據(jù)的全部細(xì)節(jié)。8.簡(jiǎn)化比較本章解說的幾個(gè)過程設(shè)計(jì)體現(xiàn)工具的優(yōu)缺點(diǎn)。答:流程圖和N-S圖,偽代碼和PDL語言。流程圖含有能隨意體現(xiàn)任何程序邏輯的有點(diǎn),隨著構(gòu)造化程序設(shè)計(jì)辦法的普及,流程圖在描述程序邏輯時(shí)的隨意性與靈活性恰恰變成了它的缺點(diǎn)。N-S圖全部的程序構(gòu)造均用方框來表達(dá),無論并列或者嵌套,程序的構(gòu)造清晰可見。容易養(yǎng)成良好的程序設(shè)計(jì)風(fēng)格。缺點(diǎn)是當(dāng)程序內(nèi)嵌的層數(shù)增多時(shí),內(nèi)層的方塊越畫越小,不僅增加畫圖的困難,也使圖形的清晰性受到影響。偽代碼工作量比畫圖小,又容易轉(zhuǎn)換為真正的代碼,PDL含有很強(qiáng)的描述功效,是一種十分靈活和有用的過程體現(xiàn)工具。9.任選一種排序(從小到大)算法,分別用流程圖、N-S圖和PDL語言描述其具體過程。試將下列用PDL偽代碼表達(dá)的某種模塊的過程性描述改用N-S圖表達(dá)?!璄xecuteprocessaREPEATUNTILconditionX8ExecuteprocessbIFconditionX1
THENBEGIN
ExecuteprocessfIFconditionX6
THEN
REPEATUNTILconditionX7
Executeprocessi
ENDREPELSEBEGIN
ExecuteprocessgExecuteprocesshENDENDIFELSECASEOFXiWHENcontditionX2SELECT
DOWHILEcontitionX5executeprocessCENDDOWHENconditionX3SELECTprocessdWHENconditionX4SELECTprocesseENDCASEENDIFENDREPExecuteprocessjENDexecuteprocessa
executeprocessbTX1Fexecuteprocessf
TX3
FTX4
FTX6F
executeprocessd
executeprocesse
executeprocessiexecuteprocessgREPEATUNTIL
X7executeprocesshexecuteprocessjREPEATUNTILconditionX8圖5-63顯示了某倉庫零件收發(fā)管理程序的數(shù)據(jù)構(gòu)造,用Jackson圖表達(dá)。圖中Part表達(dá)零件,Issue和Recept分別表達(dá)零件的出庫量和入庫量?,F(xiàn)規(guī)定:(1)找出輸入構(gòu)造與輸出構(gòu)造之間的對(duì)應(yīng)單元(2)畫出用Jackson圖表達(dá)的程序構(gòu)造(3)列出程序所需要的操作,并加到第(2)步畫出的程序構(gòu)造圖上(4)用偽代碼寫出收發(fā)管理程序的過程性表達(dá)Input
filepartgroup*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ā)現(xiàn)程序錯(cuò)誤;測(cè)試的任務(wù)是通過在計(jì)算機(jī)上執(zhí)行程序,暴露程序中潛在的錯(cuò)誤。糾錯(cuò)的目的是定位和糾正錯(cuò)誤;糾錯(cuò)的任務(wù)是軟件故障,確保程序的可靠運(yùn)行。普通把一次程序執(zhí)行需要的測(cè)試數(shù)據(jù)成為一種測(cè)試用例,每個(gè)測(cè)試用例產(chǎn)生一種對(duì)應(yīng)的測(cè)試成果,如果它與盼望成果不符,便闡明程序中存在錯(cuò)誤,需要用糾錯(cuò)來改正。2.如何理解下面的話所蘊(yùn)含的意義:“程序測(cè)試只能證明錯(cuò)誤的存在,但不能證明錯(cuò)誤不存在”、“測(cè)試是為了證明程序有錯(cuò),而不是證明程序無錯(cuò)”揭示了測(cè)試固有的一種重要性質(zhì)——不徹底性。徹底測(cè)試就是讓被測(cè)程序在一切可能的輸入狀況下全部執(zhí)行一遍,又稱窮舉測(cè)試。在實(shí)際狀況中是根本無法實(shí)現(xiàn)的。這就注定了一切實(shí)際測(cè)試都是不徹底的,固然也就不能確保測(cè)試后的程序不存在遺留的錯(cuò)誤?!魷y(cè)試的分類◆測(cè)試辦法測(cè)試用例和測(cè)試成果測(cè)試用例={測(cè)試數(shù)據(jù)+盼望成果}測(cè)試成果={測(cè)試數(shù)據(jù)+盼望成果+實(shí)際成果}黑盒測(cè)試①
等價(jià)測(cè)試把輸入數(shù)據(jù)的可能值劃分為若干個(gè)等價(jià)類,使每類中的任何一種測(cè)試用例,都能代表同一等價(jià)類中的其它測(cè)試用例。采用等價(jià)測(cè)試注意下列兩點(diǎn):劃分等價(jià)類不僅要考慮代表“有效”輸入值的有效等價(jià)類,還要考慮代表“無效”輸入值得無效等價(jià)類;每一無效等價(jià)類最少要用一種測(cè)試用例,否則可能遺漏某一類錯(cuò)誤,但允許若干個(gè)有效等價(jià)類合用一種測(cè)試用例,方便進(jìn)一步減少測(cè)試的次數(shù)。【例】某工廠公開招工,規(guī)定報(bào)名者年紀(jì)在16周歲至35周歲(在1967年2月到1986年3月)。如果出生年月不在上述范疇內(nèi),將回絕接受,并顯示“年紀(jì)不合格”等出錯(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)在19之間(6)<196702(7)>198603月份對(duì)應(yīng)數(shù)值(8)在1-12之間(9)等于“0”(10)>12第二步:設(shè)計(jì)有效等價(jià)類需要的測(cè)試用例測(cè)試數(shù)據(jù)盼望成果測(cè)試范疇197011輸入有效(1)、(5)、(8)第三步:為每一無效等價(jià)類設(shè)計(jì)一種測(cè)試用例測(cè)試數(shù)據(jù)盼望成果測(cè)試范疇MAY,70輸入無效(2)19705輸入無效(3)1968011輸入無效(4)1955齡不合格(6)1960齡不合格(7)196200輸入無效(9)197222輸入無效(10)②
邊界測(cè)試程序員在解決邊界狀況時(shí),很容易因無視或考慮不周發(fā)生編碼錯(cuò)誤。例如,數(shù)組容量、循環(huán)次數(shù)以及輸入數(shù)據(jù)與輸出數(shù)據(jù)在邊界值附近程序出錯(cuò)概率往往較大。采用邊界值分析法就是要這樣來選擇測(cè)試用例,使得被測(cè)試程序能在邊界值及其附近運(yùn)行,從而更有效地暴露程序中潛在的錯(cuò)誤。例如程序可能設(shè)有語句If(196702<=value(birthdate)<=198603)
thenread(birthdate)
elsewrite“invalidage”將上式<=寫成<,以上全部測(cè)試都不能發(fā)現(xiàn)該錯(cuò)誤?!纠可项}年月日的測(cè)試用例(邊界分析法)輸入等價(jià)類測(cè)試用例闡明測(cè)試數(shù)據(jù)盼望成果選用理由出生年月1個(gè)數(shù)字字符5個(gè)數(shù)字字符7個(gè)數(shù)字字符有1個(gè)非數(shù)字字符全是非數(shù)字字符51119705AAUGUST輸入無效僅有一種正當(dāng)字符比有效長(zhǎng)度恰少一種字符比有效字符恰多一種字符非法字符最少非法字符最多6個(gè)數(shù)字字符196702輸入有效類型與長(zhǎng)度都有效對(duì)應(yīng)數(shù)值35周歲16周歲3合格年紀(jì)最大符合年紀(jì)最小符合年紀(jì)>35周歲<16周歲4不合格年紀(jì)恰不不大于合格年紀(jì)恰不大于合格年紀(jì)月份對(duì)應(yīng)數(shù)值月份為1月份為122輸入有效最小月份最大月份月份<1月份>123輸入無效恰不大于最小月份恰不不大于最大月份③
錯(cuò)誤猜想法猜錯(cuò)就是猜想被測(cè)程序放在哪些地方容易出錯(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)分辨5種覆蓋原則:語句覆蓋:每條語句最少執(zhí)行一次。鑒定覆蓋:每一鑒定的每個(gè)分支最少執(zhí)行一次。條件覆蓋:每一鑒定中的每個(gè)條件,分別按“真”、“假”最少各執(zhí)行一次。鑒定/條件覆蓋:同時(shí)滿足鑒定覆蓋和條件覆蓋的規(guī)定。條件組合覆蓋:求出鑒定中全部條件的多個(gè)可能組合值,每一可能的條件子和最少執(zhí)行一次。覆蓋原則程序構(gòu)造舉例測(cè)試用例應(yīng)滿足的條件語句覆蓋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è)試的最低規(guī)定。語句覆蓋加鑒定覆蓋是對(duì)白盒測(cè)試的最低規(guī)定,同時(shí)滿足這兩種原則的覆蓋為“完全覆蓋”。從對(duì)途徑測(cè)試的規(guī)定可見,它本身就包含了語句覆蓋和鑒定覆蓋(在程序圖上分別為點(diǎn)覆蓋與邊覆蓋)。
軟件復(fù)用什么是軟件復(fù)用?答:在構(gòu)造新的軟件系統(tǒng)的過程中,對(duì)已存在的軟件人工制品的使用技術(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)件倉庫的過程。答:按復(fù)用活動(dòng)所應(yīng)用的領(lǐng)域范疇,復(fù)用可劃分為橫向復(fù)用和縱向復(fù)用。橫向復(fù)用是指復(fù)用不同應(yīng)用領(lǐng)域中的軟件元素如數(shù)據(jù)構(gòu)造、分類算法等??v向復(fù)用是指在一類含有較多公共性的應(yīng)用領(lǐng)域之間進(jìn)行軟部分復(fù)用??v向復(fù)用涉及下列幾個(gè)方面的活動(dòng):(1)實(shí)施領(lǐng)域分析:根據(jù)應(yīng)用領(lǐng)域的特性及相似性,可預(yù)測(cè)軟構(gòu)件的可復(fù)用性,發(fā)現(xiàn)并描述可復(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)件庫:將軟件構(gòu)件及其文檔進(jìn)行分類歸并,形成有關(guān)的分類檢索機(jī)制,成為可供后繼項(xiàng)目使用的可復(fù)用資源。什么是CBSD?實(shí)施軟件構(gòu)件技術(shù)要解決哪些問題?答:基于構(gòu)件的軟件開發(fā)(Component-BasedSoftwareDevelopment,簡(jiǎn)稱CBSD)是在一定構(gòu)件模型的支持下,復(fù)用構(gòu)件庫中的一種或多個(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ì)框架:原則數(shù)據(jù)、原則接口合同、程序模板。軟件維護(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è)試的不徹底性,任何大型軟件交付使用后,都會(huì)繼續(xù)發(fā)現(xiàn)潛在的錯(cuò)誤,對(duì)它們進(jìn)行診療和改正。目的在于糾正在開發(fā)期間未能發(fā)現(xiàn)的遺留錯(cuò)誤。什么是軟件配備?闡明搞好維護(hù)時(shí)期配備的意義與辦法。答:軟件配備是一種軟件在生存周期內(nèi),它的多個(gè)形式、多個(gè)版本的文檔與程序的總稱。對(duì)軟件配備進(jìn)行科學(xué)的管理,是確保軟件質(zhì)量的重要
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年農(nóng)業(yè)機(jī)械設(shè)備借用與農(nóng)業(yè)技術(shù)推廣合同3篇
- 2024年版?zhèn)€人間購車借款協(xié)議樣本一
- 2025樣板房設(shè)計(jì)合同
- 2024年度網(wǎng)絡(luò)文學(xué)改編與影視制作委托合同3篇
- 2024年物流服務(wù)合同:甲方委托乙方提供國(guó)際物流服務(wù)
- 2024年度創(chuàng)業(yè)投資與融資合作協(xié)議書范本3篇
- 2025公司集體合同書
- 2025廣告牌制作合同(廣告塔)
- 2024年債務(wù)擔(dān)保協(xié)議3篇
- 勞動(dòng)合同終止通知期限
- 廣東省2024年中考數(shù)學(xué)試卷三套合卷【附答案】
- 2024-2025學(xué)年四川省成都市高新區(qū)六年級(jí)數(shù)學(xué)第一學(xué)期期末考試試題含解析
- 《管理學(xué)原理與方法》考試復(fù)習(xí)題庫(含答案)
- 2023年格力電器償債能力分析
- 2024年人工智能訓(xùn)練師認(rèn)證考試題庫(濃縮600題)
- 比亞迪試駕協(xié)議書模板
- 國(guó)家開放大學(xué)《初級(jí)經(jīng)濟(jì)學(xué)》形考任務(wù)1-3參考答案
- 重度哮喘診斷與處理中國(guó)專家共識(shí)(2024)解讀課件
- 2024青海海東市水務(wù)集團(tuán)限責(zé)任公司招聘27人(高頻重點(diǎn)提升專題訓(xùn)練)共500題附帶答案詳解
- 2024-2030年色素提取行業(yè)市場(chǎng)發(fā)展分析與發(fā)展趨勢(shì)及投資前景預(yù)測(cè)報(bào)告
- 人教版地理八年級(jí)下冊(cè):6.2 白山黑水-東北三省 說課稿4
評(píng)論
0/150
提交評(píng)論