管理信息化信息化知識(shí)軟件工程導(dǎo)論課后習(xí)題答案95829882_第1頁(yè)
管理信息化信息化知識(shí)軟件工程導(dǎo)論課后習(xí)題答案95829882_第2頁(yè)
管理信息化信息化知識(shí)軟件工程導(dǎo)論課后習(xí)題答案95829882_第3頁(yè)
管理信息化信息化知識(shí)軟件工程導(dǎo)論課后習(xí)題答案95829882_第4頁(yè)
管理信息化信息化知識(shí)軟件工程導(dǎo)論課后習(xí)題答案95829882_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

管理信息化信息化知識(shí)軟件工程{管理信息化信息化知識(shí)}軟件工程導(dǎo)論課后習(xí)題答得到的最好技術(shù)方法結(jié)合起來(lái),以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。/字)基于上述假設(shè)可以比較計(jì)算機(jī)硬件和軟件成本的變化趨勢(shì)。要求計(jì)算:軟件過(guò)程是為了開發(fā)出高質(zhì)量的軟件產(chǎn)品所需完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。軟件過(guò)程定義了運(yùn)用技術(shù)方法的順序、應(yīng)該交付的文檔資料、為保證軟件質(zhì)量和協(xié)調(diào)軟件變化必須采取的管理措施,以及標(biāo)志完成了相應(yīng)開發(fā)活動(dòng)的里程碑。7.什么是軟件生命周期模型?試比較瀑布模型、快速模型、增量模型和螺旋模型的優(yōu)缺點(diǎn),說(shuō)明每種模型的適用范圍。通俗的說(shuō),簡(jiǎn)潔地描述軟件過(guò)程的模型叫做軟件生命周期模型,生命周期模型規(guī)定基礎(chǔ)模型、廣泛使用、標(biāo)準(zhǔn)是是基本需求、原形系統(tǒng)、可行是是量構(gòu)件、并行是是原形系統(tǒng)、風(fēng)險(xiǎn)分析、大規(guī)模附帶風(fēng)險(xiǎn)分析的快速原形是是關(guān)系、事件等)都是圍繞對(duì)象組成的,目的是保證分析工作中得到的信息不會(huì)丟失或改變,因此,對(duì)生命周期各個(gè)階段的區(qū)分自然也就不重要了,不明顯了。分析階段的得到的對(duì)象模型也適用于設(shè)計(jì)階段和實(shí)現(xiàn)階段。由于各階段都使用統(tǒng)一的概念和表示符號(hào),因此,整個(gè)開發(fā)過(guò)程都是吻合一致的,或者說(shuō)是“無(wú)縫”連接的,這自然也就很容易實(shí)現(xiàn)各個(gè)開發(fā)步驟的多次反復(fù)迭代,達(dá)到認(rèn)識(shí)的逐步深化。所以說(shuō)噴泉模型較好的體現(xiàn)了面向?qū)ο筌浖_發(fā)過(guò)程無(wú)縫和迭代的特性。4.構(gòu)成軟件項(xiàng)目的最終產(chǎn)品:應(yīng)用程序、系統(tǒng)程序、面向用戶的文檔資料和面向開發(fā)者的文檔資料。軟件生存周期是指從軟件定義、開發(fā)、使用、維護(hù)到淘汰的全過(guò)程。(1)任何一個(gè)階段的具體任務(wù)不僅獨(dú)立,而且簡(jiǎn)單,便于不同人員分工協(xié)作,從而降低整個(gè)軟件開發(fā)工作的困難程度。(2)可以降低每個(gè)階段任務(wù)的復(fù)雜程度,簡(jiǎn)化不同階段的聯(lián)系,有利于工程的組織管理,也便于采用良好的技術(shù)方法。(3)使軟件開發(fā)的全過(guò)程以一種有條不紊的方式進(jìn)行,保證軟件的質(zhì)量,特別是提高(1)每一個(gè)階段的任務(wù)盡可能獨(dú)立;(2)同一階段內(nèi)的任務(wù)性質(zhì)盡可能相同;(3)每一個(gè)階段任務(wù)的開始和結(jié)束有嚴(yán)格的標(biāo)準(zhǔn)。軟件開發(fā)模型有瀑布型、漸增型和變換型。瀑布型開發(fā)方法是按照軟件生存周期的劃分依次實(shí)施,每一個(gè)階段有明確規(guī)定的任(1)各個(gè)階段的順序性和依賴性;(2)劃分邏輯設(shè)計(jì)與物理設(shè)計(jì),盡可能推遲程序的物理實(shí)現(xiàn);(3)每個(gè)階段必須完成規(guī)定的文檔,對(duì)其中問(wèn)題通過(guò)復(fù)審及早發(fā)現(xiàn),及早解決。(1)從部分需求出發(fā),先建立一個(gè)不完全的系統(tǒng),通過(guò)測(cè)試運(yùn)行該系統(tǒng)取得經(jīng)驗(yàn)和信息反饋,加深對(duì)軟件需求的理解,進(jìn)一步使系統(tǒng)擴(kuò)充和完善。如此反復(fù),直至軟件人員和用戶對(duì)所設(shè)計(jì)完成的軟件系統(tǒng)滿意為止。(2)在漸增型開發(fā)下的軟件是隨軟件開發(fā)的過(guò)程而逐漸形成的。(3)漸增型開發(fā)方法適合于知識(shí)型軟件的開發(fā),設(shè)計(jì)系統(tǒng)時(shí)對(duì)用戶需求的認(rèn)識(shí)開始不是很清楚的,需要在開發(fā)過(guò)程中不斷認(rèn)識(shí)、不斷獲得新的知識(shí)去豐富和完善系統(tǒng)。(1)從軟件需求的形式化規(guī)格說(shuō)明出發(fā),經(jīng)過(guò)一系列的程序變換,得到最終的程序系統(tǒng)。(2)該方法必須有嚴(yán)格的數(shù)學(xué)理論和形式化技術(shù)的支持。9.什么是軟件工程?軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。(1)它采用工程的概念、原理、技術(shù)和方法來(lái)開發(fā)和維護(hù)軟件;(2)它將管理技術(shù)與當(dāng)前經(jīng)過(guò)時(shí)間考驗(yàn)的而證明是正確的技術(shù)方法結(jié)合起來(lái);(3)它強(qiáng)調(diào)使用生存周期方法學(xué)和結(jié)構(gòu)分析和結(jié)構(gòu)技術(shù);(4)經(jīng)過(guò)人們長(zhǎng)期的努力和探索,圍繞著實(shí)現(xiàn)軟件優(yōu)質(zhì)高產(chǎn)這個(gè)目標(biāo),從技術(shù)到管理兩個(gè)方面做了大量的努力,逐漸形成了"軟件工程學(xué)"這一新的學(xué)科。方法與工具的結(jié)合,加上配套的軟、硬件支持稱為軟件工程環(huán)境。它能支持開發(fā)者按照軟件工程的方法,全面完成生存周期中的各項(xiàng)任務(wù)。問(wèn)題定義的任務(wù):將用戶提出的要求具體化、定量化;確定研制系統(tǒng)的范圍,明確研制的邊界。(1)通過(guò)調(diào)查研究,了解系統(tǒng)需求;(2)確定系統(tǒng)的功能需求、性能需求、可靠性需求、安全及保密性、資源、開發(fā)費(fèi)用(3)問(wèn)題定義階段的產(chǎn)品--系統(tǒng)目標(biāo)與范圍說(shuō)明書。2.可行性研究目的?確定在問(wèn)題定義中所提出的問(wèn)題是否值得去解,在限制條件下,問(wèn)題能否解決。(1)進(jìn)一步分析和澄清問(wèn)題的定義,在澄清問(wèn)題的基礎(chǔ)上,導(dǎo)出系統(tǒng)的邏輯模型;(2)從系統(tǒng)邏輯模型中,選擇問(wèn)題的若干種主要解法,研究每一種解法的可行性,為(3)如果問(wèn)題沒(méi)有可行的解,建議停止系統(tǒng)開發(fā);如果問(wèn)題有可行的解,應(yīng)該推薦一個(gè)較好的解決方案,并為工程制定一個(gè)初步的計(jì)劃。(1)技術(shù)可行性:現(xiàn)有技術(shù)能否實(shí)現(xiàn)本系統(tǒng),現(xiàn)有技術(shù)人員能否勝任,開發(fā)系統(tǒng)的資(2)經(jīng)濟(jì)可行性:經(jīng)濟(jì)效益是否超出開發(fā)成本;(1)復(fù)查系統(tǒng)的規(guī)模和目標(biāo);(2)研究目前正在使用的系統(tǒng),總結(jié)現(xiàn)有系統(tǒng)的優(yōu)劣,提出新系統(tǒng)的雛形;(3)導(dǎo)出新系統(tǒng)的高層邏輯模型;(4)推薦建議方案;(5)推薦行動(dòng)方針;(6)書寫計(jì)劃任務(wù)書(可行性報(bào)告);(7)提交審查。(1)系統(tǒng)概述:說(shuō)明開發(fā)的系統(tǒng)名稱,提出單位和開發(fā)單位。(2)可行性研究的前提:系統(tǒng)目標(biāo);要求;約束和限制;可行性研究的基本準(zhǔn)則等。(3)對(duì)現(xiàn)有系統(tǒng)的分析:處理流程,圖示說(shuō)明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;現(xiàn)有系統(tǒng)存在的問(wèn)題。(4)系統(tǒng)需求:主要功能;主要性能及其要求;操作要求;信息要求;限制性要求。(5)建議系統(tǒng):系統(tǒng)目標(biāo);處理流程;系統(tǒng)結(jié)構(gòu),功能,性能;系統(tǒng)技術(shù)可行性;投資和效益分析;操作可行性;法律可行性。(6)其它可選方案:與國(guó)內(nèi)外同類型方案的比較;提出一兩個(gè)可行性方案供論證和探討。(7)制定下一階段的預(yù)算。(8)結(jié)論性意見(jiàn):由用戶方、設(shè)計(jì)方和投資方共同簽署意見(jiàn)。察危重病人的病情變化,還會(huì)延誤搶救時(shí)機(jī)。某醫(yī)院打算開發(fā)一個(gè)以計(jì)算機(jī)為中心的患者監(jiān)護(hù)系統(tǒng),請(qǐng)分層次地畫出描述本系統(tǒng)功能的數(shù)據(jù)流圖。生規(guī)定的安全范圍時(shí)向值班護(hù)士發(fā)出警告信息,此外,護(hù)士在需要時(shí)還可以要求系統(tǒng)印出某個(gè)指定病人的病情報(bào)告。D2患者安全范圍E2病人D2患者安全范圍E2病人P3產(chǎn)生警告信息lP3產(chǎn)生警告信息l危及病人信息P2分析信號(hào)危及病人信息P2分析信號(hào)F4警告信息F2F4警告信息F2生理信號(hào)E1護(hù)士F2生理信號(hào)P1接收信號(hào)F2生理信號(hào)E3時(shí)鐘E1護(hù)士F2生理信號(hào)P1接收信號(hào)F2生理信號(hào)E3時(shí)鐘P5更新日志F3日前、時(shí)間P5更新日志F3日前、時(shí)間定時(shí)的生理信號(hào) F6日志P4定時(shí)取樣生理信號(hào)3.怎樣建立目標(biāo)系統(tǒng)的邏輯模型?要經(jīng)過(guò)哪些步驟? F6日志P6 F6日志P6 建立一種新的、稱為結(jié)構(gòu)化說(shuō)明書的目標(biāo)文檔-需求規(guī)格說(shuō)明書。結(jié)構(gòu)化體現(xiàn)在將軟件系統(tǒng)抽象為一系列的邏輯加工單元,各單元之間以數(shù)據(jù)流發(fā)生5.軟件需求規(guī)格說(shuō)明書由哪些部分組成?(1)引言:編寫目的、背景說(shuō)明、術(shù)語(yǔ)定義及參考資料等。(2)概述主要功能、約束條件或特殊需求。(3)數(shù)據(jù)流圖與數(shù)據(jù)字典。(4)用戶接口、硬件接口及軟件接口。(5)性能需求、屬性等。(6)其它需求,如數(shù)據(jù)庫(kù)、操作及故障處理等。分層的目的:便于逐步細(xì)化、結(jié)構(gòu)清晰。(1)父圖與子圖之間數(shù)據(jù)要平衡。(2)分解的深度和層次達(dá)到使加工足夠簡(jiǎn)單、易于理解的基本加工為止。(3)區(qū)分局部文件和局部外部項(xiàng)(局限于數(shù)據(jù)流中某一層或某幾層的文件和外部項(xiàng))。(4)不要把控制流作為數(shù)據(jù)流。(5)忽略瑣碎的枝節(jié)。(6)每個(gè)數(shù)據(jù)流要有一個(gè)合適的名字,盡量使用現(xiàn)實(shí)系統(tǒng)中有具體意義的名字。系統(tǒng)流程圖從系統(tǒng)功能的角度抽象的描述系統(tǒng)的各個(gè)部分及其相互之間信息流動(dòng)的情況。數(shù)據(jù)流程圖從數(shù)據(jù)傳送和加工的角度抽象的描述信息在系統(tǒng)中的流動(dòng)和數(shù)據(jù)處理的工作狀況。數(shù)據(jù)字典是描述數(shù)據(jù)流圖中數(shù)據(jù)的信息的集合。它對(duì)數(shù)據(jù)流圖上每一個(gè)成分:數(shù)據(jù)項(xiàng)、文件(數(shù)據(jù)結(jié)構(gòu))、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、加工和外部項(xiàng)等給以定義和說(shuō)明;它主要由數(shù)據(jù)流描述、加工描述和文件描述三部分組成。對(duì)用戶來(lái)講,數(shù)據(jù)字典為供了數(shù)據(jù)的明確定義;對(duì)系統(tǒng)分析員來(lái)講,數(shù)據(jù)字典幫助他們比較容易修改已系統(tǒng)邏輯模型。9.描述加工邏輯的工具有哪些?有決策樹(又稱判定樹)、決策表(又稱判斷表)和結(jié)構(gòu)化語(yǔ)言等。統(tǒng)計(jì)等功能。房產(chǎn)科將用戶申請(qǐng)表輸入系統(tǒng)后,系統(tǒng)首先檢查申請(qǐng)表的合法性,對(duì)不合法的申請(qǐng)表,系統(tǒng)拒絕接收;對(duì)合法的申請(qǐng)表根據(jù)類型分別進(jìn)行處理。(1)如果是分房申請(qǐng),則根據(jù)申請(qǐng)者的情況(年齡、工齡、職稱、職務(wù)、家庭人口等)計(jì)算其分?jǐn)?shù),當(dāng)分?jǐn)?shù)高于閥值分?jǐn)?shù)時(shí),按分?jǐn)?shù)高低將申請(qǐng)單插到分房隊(duì)列的適當(dāng)位置。在進(jìn)行分房時(shí),從空房文件中讀出空房信息,如房號(hào)、面積、等級(jí)、單位面積房租等,把好房?jī)?yōu)先分給排在分房隊(duì)列前面的符合該等級(jí)房條件的申請(qǐng)者;從空房文件中刪掉這個(gè)房號(hào)的信息,并從分房隊(duì)列中刪掉該申請(qǐng)單,再把此房號(hào)的信息和住戶信息一起寫到住房文件中,輸出住房分配單給住戶,同時(shí)計(jì)算房租,并將算出的房租寫到房租文件中。(2)如果是退房申請(qǐng),則從住房文件和房租文件中刪除有關(guān)信息,再把此房號(hào)的信息(3)如果是調(diào)房申請(qǐng),則根據(jù)申請(qǐng)者的情況確定其住房等級(jí),然后在空房文件中查找屬于該等級(jí)的空房,退掉原住房,再進(jìn)行與分房類似的處理。(4)住戶可以向系統(tǒng)查詢目前分房的閥值分?jǐn)?shù),居住某類房屋的條件,某房號(hào)的單位面積及房租等信息。房產(chǎn)科可以要求系統(tǒng)打印住房情況的統(tǒng)計(jì)表,或更改某類房屋用數(shù)據(jù)流圖描繪該系統(tǒng)的功能需求;在數(shù)據(jù)字典中給出主要的數(shù)據(jù)流、文件和加工說(shuō)明。參考第四章4.5應(yīng)用舉例教案之二分析??傮w設(shè)計(jì)的主要任務(wù)是完成軟件結(jié)構(gòu)的設(shè)計(jì),確定系統(tǒng)的模塊及其模塊之間的關(guān)系。模塊是數(shù)據(jù)說(shuō)明、可執(zhí)行語(yǔ)句等程序?qū)ο蟮募?,可以單?dú)命名且可通過(guò)名字來(lái)訪模塊具有輸入和輸出(參數(shù)傳遞)、功能、內(nèi)部數(shù)據(jù)結(jié)構(gòu)(局部變量)和程序代碼四個(gè)特性。概要設(shè)計(jì)主要考慮輸入、輸出(參數(shù)傳遞)和功能兩個(gè)特性。模塊化是按規(guī)定的原則將一個(gè)大型軟件劃分為一個(gè)個(gè)較小的、相對(duì)獨(dú)立但又相關(guān)的模塊。模塊設(shè)計(jì)的準(zhǔn)則:(1)改進(jìn)軟件結(jié)構(gòu),提高模塊獨(dú)立性:在對(duì)初步模塊進(jìn)行合并、分解和移動(dòng)的分析、精化過(guò)程中力求提高模塊的內(nèi)聚,降低藕合。(2)模塊大小要適中:大約50行語(yǔ)句的代碼,過(guò)大的模塊應(yīng)分解以提高理解性和可維護(hù)性;過(guò)小的模塊,合并到上級(jí)模塊中。個(gè)。(4)盡量降低模塊接口的復(fù)雜程度;(5)設(shè)計(jì)單入口、單出口的模塊。(6)模塊的作用域應(yīng)在控制域之內(nèi)。變換型結(jié)構(gòu)由三部分組成:傳入路徑、變換(加工)中心和傳出路徑。(2)完成第一級(jí)分解:建立初始SC圖的框架;(3)完成第二級(jí)分解:分解SC圖的各個(gè)分支;(4)對(duì)初始結(jié)構(gòu)圖按照設(shè)計(jì)準(zhǔn)則進(jìn)行精化與改進(jìn)。事務(wù)型結(jié)構(gòu)由至少一條接受路徑、一個(gè)事務(wù)中心與若干條動(dòng)作路徑組成。(1)在DFD圖中確定事務(wù)中心、接收部分(包含全部接收路徑)和發(fā)送部分(包含全部動(dòng)作路徑);(2)畫出SC圖框架,把DFD圖的三部分分?quot;映射"為事務(wù)控動(dòng)作發(fā)送模塊.一般得到SC圖的頂層和第一層(如果第一層簡(jiǎn)單可以并入頂層);(4)對(duì)初始結(jié)構(gòu)圖按照設(shè)計(jì)準(zhǔn)則進(jìn)行精化與改進(jìn)。(1)層次方框圖描繪數(shù)據(jù)的層次結(jié)構(gòu),結(jié)構(gòu)圖描繪的是軟件結(jié)構(gòu)。(2)二者都采用多層次矩形框樹形結(jié)構(gòu)。層次方框圖的頂層矩形框代表完整的數(shù)據(jù)結(jié)構(gòu),下面各層矩形框依次代表上個(gè)框數(shù)據(jù)的子集;結(jié)構(gòu)圖是在層次圖的每一個(gè)方注明模塊的名字或主要功能,方框之間的直線表示模塊的調(diào)用關(guān)系,用帶注解的箭頭表示模塊調(diào)用過(guò)程中傳遞的信息。10.欲開發(fā)一個(gè)銀行的活期存取款業(yè)務(wù)的處理系統(tǒng):儲(chǔ)戶將填好的存/取款單和存折(1)業(yè)務(wù)分類處理:系統(tǒng)首先根據(jù)儲(chǔ)戶所填的存/取款單,確定本次業(yè)務(wù)的性質(zhì),并將存/取款單和存折交下一步處理;(2)存款處理:系統(tǒng)將存款單上的存款金額分別記錄在存折和帳目文件中,并將現(xiàn)金存入現(xiàn)金庫(kù);最后將存折還給儲(chǔ)戶;(3)取款處理:系統(tǒng)將取款單上的取款金額分別記錄在存折和帳目文件中,并從現(xiàn)金庫(kù)提取現(xiàn)金;最后將現(xiàn)金和存折還給儲(chǔ)戶。繪制該系統(tǒng)的數(shù)據(jù)流圖和軟件結(jié)構(gòu)圖。1.詳細(xì)設(shè)計(jì)的目的?種選定的表達(dá)工具給出清晰的描述.2.詳細(xì)設(shè)計(jì)的主要任務(wù)?編寫軟件的“詳細(xì)設(shè)計(jì)說(shuō)明書”.軟件人員要完成的工作:(1)為每一個(gè)模塊確定采用的算法,選擇某種適當(dāng)?shù)墓ぞ弑磉_(dá)算法的過(guò)程,寫出模塊(2)確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu).(3)確定模塊結(jié)構(gòu)的細(xì)節(jié),包括對(duì)系統(tǒng)外部的接口和用戶界面,對(duì)系統(tǒng)內(nèi)部其它模塊(4)為每一個(gè)模塊設(shè)計(jì)出一組測(cè)試用例,以便在編碼階段對(duì)模塊代碼(即程序)進(jìn)行預(yù)3.結(jié)構(gòu)化程序設(shè)計(jì)的基本原則?在詳細(xì)設(shè)計(jì)中所有模塊都使用單入口、單出口的順序、選擇、循環(huán)三種基本控制結(jié)構(gòu).4.比較面向數(shù)據(jù)流和面向數(shù)據(jù)結(jié)構(gòu)兩類設(shè)計(jì)方法的異同?相同點(diǎn):(1)遵守結(jié)構(gòu)程序設(shè)計(jì)“由頂向下”逐步細(xì)化的原則,并以其為共同的基礎(chǔ);(2)均服從“程序結(jié)構(gòu)必須適應(yīng)問(wèn)題結(jié)構(gòu)”的基本原則,各自擁有從問(wèn)題結(jié)構(gòu)(包括數(shù)據(jù)結(jié)構(gòu))導(dǎo)出程序結(jié)構(gòu)的一組映射規(guī)則。在設(shè)計(jì)階段按數(shù)據(jù)流類型,將數(shù)據(jù)流圖轉(zhuǎn)換為軟件結(jié)構(gòu)。面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)以數(shù)據(jù)結(jié)構(gòu)為基礎(chǔ),從問(wèn)題的數(shù)據(jù)結(jié)構(gòu)出發(fā)導(dǎo)出它的程序結(jié)構(gòu)。(2)面向數(shù)據(jù)流的設(shè)計(jì)的最終目標(biāo)是軟件的最終SC圖,面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)的最終設(shè)計(jì)步驟基本相似。它們的主要差別是:方法則更加嚴(yán)密。無(wú)論哪類描述工具不僅要具有描述設(shè)計(jì)過(guò)程,如控制流程、處理功能、數(shù)據(jù)組織及其它方面的細(xì)節(jié)的能力,而且在編碼階段能夠直接將它翻譯為用程序設(shè)計(jì)語(yǔ)言書寫的源程序。二.給出一組數(shù)從小到大的排序算法,分別用下列工具描述其詳細(xì)過(guò)程:三.根據(jù)后面給出“卡片的分類及統(tǒng)計(jì)”項(xiàng)目說(shuō)明,完成下列工作:(3)列出程序所需用的操作,并加到上一步畫出的程序結(jié)構(gòu)圖上;-----統(tǒng)計(jì)起始卡前卡片的張數(shù),存入A;-----打印起始卡的內(nèi)容;-----打印終了卡的內(nèi)容;使用選定的程序設(shè)計(jì)語(yǔ)言,把模塊的過(guò)程性描述翻譯為用語(yǔ)言書寫的源程序(源代碼)。源程序要求:正確可靠、簡(jiǎn)明清晰、效率高。(1)源程序的正確性是對(duì)程序質(zhì)量的最基本要求;(2)源程序的簡(jiǎn)明清晰,便于驗(yàn)證源代碼和模塊規(guī)格說(shuō)明的一致性,容易進(jìn)行測(cè)試和維護(hù);(3)對(duì)于大多數(shù)模塊,編碼時(shí)應(yīng)該把簡(jiǎn)明清晰放在第一位;(4)除了編碼階段產(chǎn)生源代碼外,在測(cè)試階段也需要編寫一些測(cè)試程序,用于對(duì)軟件的測(cè)試。3.程序設(shè)計(jì)語(yǔ)言的特點(diǎn)?(1)名字說(shuō)明:程序中使用對(duì)象的名字,能為編譯程序所檢查和識(shí)別;(2)類型說(shuō)明:定義對(duì)象的類型,確定該對(duì)象的使用方式;(3)初始化:為變量提供適當(dāng)?shù)某跏贾祷蛴上到y(tǒng)給變量賦一特殊的表明未初始化(4)對(duì)象的局部性:程序中真正需要的那部分才能訪問(wèn)的對(duì)象;(5)程序模塊:控制程序?qū)ο蟮拿郑?8)異常處理:為程序運(yùn)行過(guò)程中發(fā)生的錯(cuò)誤和意外事件提供檢測(cè)和處理上的幫助;(9)獨(dú)立編譯:能分別編譯各個(gè)程序單元。(1)選擇用戶熟悉、便于用戶維護(hù)的語(yǔ)言。(2)選擇目標(biāo)系統(tǒng)的環(huán)境中可以提供的編譯程序所能選用的語(yǔ)言。(3)選擇可以得到的軟件工具,能支持程序開發(fā)中可以利用的語(yǔ)言。(4)根據(jù)工程規(guī)模的大小、目標(biāo)系統(tǒng)應(yīng)用范圍,如實(shí)時(shí)應(yīng)用選擇Ada語(yǔ)言或匯編(5)選擇程序員熟悉的語(yǔ)言。(6)選擇標(biāo)準(zhǔn)化程度高、程序可移植性好的語(yǔ)言。(7)根據(jù)算法與計(jì)算的復(fù)雜性、數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性選擇。如對(duì)于系統(tǒng)程序和結(jié)構(gòu)復(fù)雜的應(yīng)用程序,選擇支持?jǐn)?shù)組、記錄(或結(jié)構(gòu))與指針動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)的Pascal(8)根據(jù)實(shí)時(shí)要求系統(tǒng)需要的響應(yīng)速度和效率選擇相應(yīng)的語(yǔ)言。5.編碼風(fēng)格的指導(dǎo)原則。(1)源程序:包括適當(dāng)?shù)臉?biāo)識(shí)符、適當(dāng)?shù)淖⒔?、程序清單的合理布局與清晰;(2)數(shù)據(jù)說(shuō)明:數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)類型的說(shuō)明次序標(biāo)準(zhǔn)化;變量名稱盡量有意義;對(duì)復(fù)雜的數(shù)據(jù)結(jié)構(gòu)在注解中要說(shuō)明在程序設(shè)計(jì)中實(shí)現(xiàn)這個(gè)數(shù)據(jù)結(jié)構(gòu)的方法。(3)語(yǔ)句的構(gòu)造簡(jiǎn)單明了:不要為節(jié)省空間將多個(gè)語(yǔ)句寫在同一行;盡量避免復(fù)是為了使邏輯表達(dá)式和算術(shù)表達(dá)式的運(yùn)算順序清晰直觀。(4)效率:考慮程序運(yùn)行的時(shí)間存儲(chǔ)器效率、輸入/輸出的效率;在處理程序正確簡(jiǎn)單以求快;書寫清楚,不為“效率”犧牲清晰。(1)具有很強(qiáng)的數(shù)據(jù)管理能力,能對(duì)數(shù)據(jù)庫(kù)進(jìn)行有效的存取、查詢和其它有關(guān)操作;(2)能提供一組高效的、非過(guò)程化的命令,組成語(yǔ)言的基本語(yǔ)句,編程時(shí)用戶只(3)能滿足多功能、一體化的要求。為此,語(yǔ)言中除必須含有控制程序邏輯與實(shí)開發(fā)的需要。未發(fā)現(xiàn)錯(cuò)誤的測(cè)試;成功的測(cè)試方案是發(fā)現(xiàn)迄今尚未(1)(1)測(cè)試從一個(gè)側(cè)面證明程序員的失??;調(diào)試證明程序員的正確;(2)(2)測(cè)試從已知條件開始,使用預(yù)先定義的程序,且有預(yù)知的結(jié)果,不可預(yù)見(jiàn)的僅是程序是否通過(guò)測(cè)試;調(diào)試從不可知內(nèi)部條件開始,除統(tǒng)計(jì)性調(diào)試外,結(jié)果是不可(3)(3)測(cè)試有計(jì)劃并且要進(jìn)行測(cè)試設(shè)計(jì);調(diào)試不受時(shí)間約束;(4)(4)測(cè)試是發(fā)現(xiàn)錯(cuò)誤、改正錯(cuò)誤、重新測(cè)試的過(guò)程;調(diào)試是一個(gè)推理的過(guò)程;(5)(5)測(cè)試執(zhí)行是有規(guī)程的;調(diào)試執(zhí)行要求程序員進(jìn)行必要的推理;(6)(6)測(cè)試由獨(dú)立的測(cè)試組在不了解軟件設(shè)計(jì)的件下完成;調(diào)試由了解詳細(xì)設(shè)計(jì)的程序員完成;(7)(7)大多數(shù)測(cè)試的執(zhí)行和設(shè)計(jì)可由工具支持;調(diào)試用的工具主要是調(diào)試器。3.人工復(fù)審的方式和作用?人工復(fù)審的方式:代碼會(huì)審、走查和排練和辦公桌檢查;人工復(fù)審的作用:檢查程序的靜態(tài)錯(cuò)誤。4.什么是黑盒測(cè)試?黑盒測(cè)試主要采用的技術(shù)有哪些?試者把被測(cè)程序看成一個(gè)黑盒,不用關(guān)心程序的內(nèi)部結(jié)構(gòu)。黑盒測(cè)試是在程序接口處進(jìn)行測(cè)數(shù)據(jù)產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫(kù)或文件)的完整性。黑盒測(cè)試主要采用的技術(shù)有:等價(jià)分類法、邊沿值分析法、錯(cuò)誤推測(cè)法和因果圖等技術(shù)。5.什么是白盒測(cè)試?白盒測(cè)試主要采用的技術(shù)有哪些?測(cè)試者了解被測(cè)程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程,對(duì)程序的所有邏輯路徑進(jìn)行測(cè)試,在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)與預(yù)期狀態(tài)是否一致。斷或條件組合的程序采用基于邏輯的測(cè)試技術(shù)。6.路徑測(cè)試技術(shù)中幾種主要覆蓋的含義?舉例說(shuō)明?語(yǔ)句覆蓋:至少執(zhí)行程序中所有語(yǔ)句一次。判定覆蓋:使被測(cè)程序中的每一個(gè)分支至少執(zhí)行一次。故也稱為分支覆蓋。條件覆蓋:執(zhí)行所有可能的穿過(guò)程序的控制路流程。條件組合測(cè)試:設(shè)計(jì)足夠的測(cè)試用例,使每個(gè)判定中的所有可能條件取值組合至少執(zhí)行一次。(例略)7.等價(jià)分類法的測(cè)試技術(shù)采用的一般方法?舉例說(shuō)明?(1)(1)為每個(gè)等價(jià)類編號(hào);(2)(2)設(shè)計(jì)一個(gè)新的測(cè)試方案,以盡可能多的覆蓋尚未被覆蓋的有效等價(jià)類,重復(fù)這一(3)(3)設(shè)計(jì)一個(gè)新的測(cè)試方案,使它覆蓋一個(gè)尚未被覆蓋的無(wú)效等價(jià)類,重復(fù)這一步驟,(例略)8.軟件測(cè)試的一般步驟?單元測(cè)試、子系統(tǒng)測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試、平行測(cè)試。非漸增式測(cè)試方式:分別測(cè)試模塊,再把所有模塊按設(shè)計(jì)要求放在一起組成所要的程序。該方法利用已測(cè)試過(guò)的模塊作測(cè)試軟件,開銷小,較早發(fā)現(xiàn)模塊間的接口錯(cuò)誤,錯(cuò)誤定位往徹底,需要較多的測(cè)試時(shí)間,不能并行測(cè)試。(1)(1)在任何情況下都應(yīng)使用邊界值分析的方法。(2)(2)必要時(shí)用等價(jià)類劃分法補(bǔ)充測(cè)試方案。(3)(3)必要時(shí)再用錯(cuò)誤推測(cè)法補(bǔ)充測(cè)試方案。(4)(4)對(duì)照程序邏輯,檢查已設(shè)計(jì)出的測(cè)試方案。(5)(5)根據(jù)對(duì)程序可靠性的要求采用不同的邏輯覆蓋標(biāo)準(zhǔn),再補(bǔ)充一些測(cè)試方案。123456下Y上Y峰下Y上Y下Y上YA類▲▲▲C類▲▲D類▲AB動(dòng)力用電非BCCD三.如圖顯示某程序的邏輯結(jié)構(gòu)。試為它設(shè)計(jì)足夠的測(cè)試用例,分別實(shí)現(xiàn)對(duì)程序的判定覆概、條件覆概和條件組合覆概。A£1,B10A£1A£1,B=0A£1,B10四.某城市電話號(hào)碼由三部分組成。它們的名稱和內(nèi)容分別是:該程序的規(guī)格說(shuō)明,作等價(jià)類的劃分,并設(shè)計(jì)測(cè)試方案。1.劃分等價(jià)類1.空白;2.三位數(shù);1.1.有非數(shù)字字符;2.少于三位數(shù)字;3.多于三位數(shù)字。位8.多于三位數(shù)字。4.四位數(shù)字。9.有非數(shù)字字符;10.少于四位數(shù)字;方案123456789到延長(zhǎng)軟件壽命的目的。預(yù)防性維護(hù):為了改善未來(lái)的可維護(hù)性或可靠性而修改軟件的工作。解與糾錯(cuò)是至關(guān)重要的;開發(fā)過(guò)程中模塊的獨(dú)立程度越高,對(duì)軟件修改越容易,對(duì)軟件的改進(jìn)和移植越方便。用規(guī)范化的文檔資料可為維護(hù)提供更好的依據(jù)。(1)一般來(lái)講,維護(hù)人員對(duì)開發(fā)人員寫的程序及文檔,理解都比較困難,對(duì)維護(hù)(2)維護(hù)持續(xù)時(shí)間都很長(zhǎng),在開發(fā)人員不在現(xiàn)場(chǎng)的輕快下,維護(hù)軟件通常是很困難的;(3)絕大多數(shù)軟件在設(shè)計(jì)時(shí)對(duì)將來(lái)的軟件修改都沒(méi)有考慮或考慮不多,尤其未能在設(shè)計(jì)中強(qiáng)調(diào)并認(rèn)真解決好模塊的獨(dú)立性,使軟件的修改既困難又易發(fā)生差錯(cuò)。(1)軟件的可理解性、可測(cè)試性、可修改性;(2)文檔描述符合要求、用戶文檔簡(jiǎn)潔明確、系統(tǒng)文檔完整并且標(biāo)準(zhǔn)。該計(jì)入維護(hù)成本。(1)教材銷售采購(gòu)系統(tǒng);(2)圖書管理系統(tǒng);(3)房產(chǎn)管理系統(tǒng)。(略)(1)費(fèi)用管理:對(duì)軟件開發(fā)進(jìn)行成本核算,使軟件生產(chǎn)按照商品生產(chǎn)的規(guī)律辦事。包括:以簡(jiǎn)單、科學(xué)方法估算軟件開發(fā)費(fèi)用,作為簽定開發(fā)合同的根據(jù);管理開發(fā)(2)質(zhì)量管理:按項(xiàng)目的質(zhì)量保證計(jì)劃,確保各個(gè)開發(fā)階段的開發(fā)和維護(hù)工作全部按軟件工程的規(guī)范進(jìn)行,保證軟件產(chǎn)品的質(zhì)量。(3)配置管理:通過(guò)對(duì)于程序、文檔和數(shù)據(jù)的各種版本所進(jìn)行的管理,保證資料的完整性與一致性。生產(chǎn)。最終目標(biāo)是以合理的費(fèi)用和進(jìn)度,圓滿完成計(jì)劃所規(guī)定的軟件項(xiàng)目。(1)軟件項(xiàng)目與其他任何產(chǎn)業(yè)項(xiàng)目不同,它是算法、思想、概念、組織、流程、(2)開發(fā)軟件項(xiàng)目產(chǎn)品,在多數(shù)情況下,用戶給不出明確的想法和要求。(3)在開發(fā)過(guò)程中,程序及其相關(guān)的文檔資料常常需要修改,在修改過(guò)程中又可能帶來(lái)新的問(wèn)題,且這些問(wèn)題要在很久以后才會(huì)發(fā)現(xiàn)。(4)在研制開發(fā)過(guò)程中,文檔資料是不可缺少的,但工作量又是巨大的,往往也是人們不愿去作的。(5)參加軟件項(xiàng)目的工作人員,要求具有一定的業(yè)務(wù)水平和實(shí)際工作經(jīng)驗(yàn),而很信息,而且?guī)ё吡斯ぷ鹘?jīng)驗(yàn)。自頂向下估計(jì):首先估算出項(xiàng)目總的開發(fā)成本,然后在項(xiàng)目?jī)?nèi)部進(jìn)行成本分配。自底向上估計(jì):將開發(fā)任務(wù)分成若干子任務(wù),子任務(wù)又分成子子任務(wù),直到每一個(gè)單元內(nèi)容足夠明確為止;把各個(gè)任務(wù)單元的成本估計(jì)該方法得到的結(jié)果比較接近實(shí)際。大量軟件開發(fā)實(shí)踐說(shuō)明:向一個(gè)已經(jīng)延遲的項(xiàng)目追加開發(fā)人員,可能使它完成得往往"得不償失"。(1)產(chǎn)品運(yùn)行:正確性、風(fēng)險(xiǎn)性、效率、完整性、健壯性和可用性;(2)產(chǎn)品修改:可理解性、可維護(hù)性、靈活性、可測(cè)試性;(3)產(chǎn)品轉(zhuǎn)移:可移植性、可重用性和互運(yùn)行性。(1)找出關(guān)鍵路徑和完成項(xiàng)目的最早時(shí)間;(2)標(biāo)出每項(xiàng)活動(dòng)的最早起止時(shí)間與最遲起止時(shí)間。(見(jiàn)該章教案舉例)(見(jiàn)該章教案舉例)制的程序系統(tǒng)。按照軟件生存周期可將其分為如下幾類:(1)需求分析:如數(shù)據(jù)流圖繪制與分析工具、狀態(tài)轉(zhuǎn)換圖繪制與分析工具、面向?qū)ο蟮哪P秃头治龉ぞ?、快速原型?gòu)造工具、數(shù)據(jù)字典與數(shù)據(jù)庫(kù)工具等。(3)編碼:集成化的程序員工作平臺(tái)。如各種正文編輯器和常規(guī)的編譯程序、匯編程序、連結(jié)程序及符號(hào)調(diào)試器等。(4)軟件測(cè)試:如靜態(tài)分析器、動(dòng)態(tài)覆蓋率測(cè)試器、測(cè)試用例生成器、測(cè)試報(bào)告生成器及環(huán)境模擬器等。(5)軟件維護(hù):如反匯編程序、反編譯程序、程序結(jié)構(gòu)分析器、源程序格式化工2.評(píng)價(jià)軟件工具的原則?(1)易用性:友好的用戶界面,用戶樂(lè)于使用;(2)對(duì)開發(fā)方法的支持:能滿足預(yù)期的任務(wù)和功能需求,且能支持完成該任務(wù)所(3)穩(wěn)健性:具備自檢測(cè)機(jī)制,即使在故障情況下也不會(huì)導(dǎo)致嚴(yán)重后果;(4)性能:能使資源得到充分有效的利用;(5)工具結(jié)構(gòu)柔性:工具結(jié)構(gòu)是柔軟的、可修改的和可擴(kuò)充的。的整個(gè)軟件生命周期的計(jì)算機(jī)輔輔助

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論