時(shí)間:2021年07月05日 分類:電子論文 次數(shù):
摘要:專業(yè)課程實(shí)驗(yàn)內(nèi)容設(shè)計(jì)既要體現(xiàn)重點(diǎn)知識(shí)的針對(duì)性,又要反映相關(guān)知識(shí)的綜合性。在圖形建模實(shí)驗(yàn)中加入測(cè)試技術(shù)的應(yīng)用,能具有更好的實(shí)踐效果。該文針對(duì)不同的建模工具,詳細(xì)描述了各自的界面組成、建模過程、建模效果及實(shí)施特點(diǎn)。并基于這些內(nèi)容介紹了相關(guān)的測(cè)試方法,通過實(shí)際建模案例說明了測(cè)試方法的具體應(yīng)用以及提高圖形建模效率的方法,還將圖形建模測(cè)試與程序代碼測(cè)試進(jìn)行了詳細(xì)比較。建模工具的多樣化激發(fā)了學(xué)生的學(xué)習(xí)興趣,技術(shù)的多樣化提高了學(xué)生對(duì)知識(shí)綜合應(yīng)用的重視程度。
關(guān)鍵詞:UML建模;靜態(tài)測(cè)試;動(dòng)態(tài)測(cè)試;StarUML;PlantUML
實(shí)驗(yàn)教學(xué)是計(jì)算機(jī)專業(yè)教學(xué)的重要組成部分。各種編程語(yǔ)言掌握、輔助工具應(yīng)用、理論知識(shí)點(diǎn)理解都必須在相應(yīng)的實(shí)驗(yàn)課程中得到鍛煉與提升。實(shí)驗(yàn)教學(xué)環(huán)節(jié)的良好設(shè)置應(yīng)能體現(xiàn)專業(yè)知識(shí)點(diǎn)的特定性與綜合性,既要有助于對(duì)當(dāng)前學(xué)習(xí)的知識(shí)點(diǎn)加深認(rèn)識(shí),又要與已有的知識(shí)技能形成一個(gè)整體。
軟件測(cè)試技術(shù)是軟件開發(fā)過程的重要內(nèi)容,貫穿于軟件產(chǎn)品的整個(gè)生命周期,對(duì)軟件進(jìn)行系統(tǒng)驗(yàn)證和確認(rèn)的目的是盡快盡早地發(fā)現(xiàn)在軟件產(chǎn)品中存在的各種問題[1-2]。同樣,在計(jì)算機(jī)專業(yè)課程實(shí)驗(yàn)中,測(cè)試技術(shù)也一直貫穿其中,例如編程語(yǔ)言類的C/C++課程實(shí)驗(yàn),需要使用測(cè)試技術(shù)來驗(yàn)證程序的正確性;圖形建模如UML需要使用測(cè)試技術(shù)來保證圖形的合理性;文檔編寫如需求規(guī)格說明書編寫需要使用測(cè)試技術(shù)驗(yàn)證文檔的有效性等。測(cè)試技術(shù)在整個(gè)計(jì)算機(jī)專業(yè)學(xué)習(xí)過程中的作用是非常大的。
基于UML的面向?qū)ο蠓治雠c設(shè)計(jì)是一門專業(yè)主干課程,其實(shí)驗(yàn)教學(xué)以UML建模工具使用為主,要求學(xué)生掌握常用模型的閱讀和繪制方法[3-5]。構(gòu)建好的模型是否符合問題描述?圖形符號(hào)使用是否正確?彼此之間的關(guān)系是否恰當(dāng)?回答這些問題則需要適當(dāng)?shù)剡\(yùn)用已經(jīng)學(xué)過的各種軟件測(cè)試技術(shù)。UML建模工具種類較多,可以簡(jiǎn)單地分為拖放式建模和編程式建模。使用不同工具的建模在一定程度上決定了軟件測(cè)試方法、過程和技術(shù)的具體應(yīng)用。結(jié)合這兩類工具的建模實(shí)例,本文將描述常用的軟件測(cè)試技術(shù)在實(shí)驗(yàn)中的應(yīng)用情況。
1圖形建模實(shí)驗(yàn)的測(cè)試現(xiàn)狀及特點(diǎn)
完成UML建模實(shí)驗(yàn)的過程包括閱讀問題描述、分析各類事物、分析事物之間的關(guān)系及類型、繪制圖形、測(cè)試與調(diào)整圖形等步驟。但實(shí)際建模實(shí)驗(yàn)中,測(cè)試與調(diào)整圖形往往得不到重視,甚至直接被忽略,具體有以下幾種表現(xiàn)。(1)認(rèn)為只要繪制出圖形即是結(jié)束。就像程序設(shè)計(jì)實(shí)驗(yàn)過程一樣,認(rèn)為只要通過開發(fā)工具的編譯器程序編寫就完成了,其實(shí)這僅僅說明程序沒有語(yǔ)法錯(cuò)誤,并不表示它沒有邏輯錯(cuò)誤。同樣,圖形繪制出來還需思考,有沒有可以改正或改進(jìn)之處。(2)知道需要進(jìn)行測(cè)試,但不知道如何進(jìn)行測(cè)試。有的學(xué)生在建模之后會(huì)簡(jiǎn)單地檢查一下,但不了解之前學(xué)過的軟件測(cè)試知識(shí)中的哪些啟發(fā)式規(guī)則、測(cè)試模型、測(cè)試步驟、測(cè)試技術(shù)可以具體應(yīng)用到實(shí)際建模中。(3)知道如何測(cè)試,但難以形成習(xí)慣。實(shí)驗(yàn)教學(xué)時(shí)間是有限的,到圖形建模測(cè)試步驟時(shí),課內(nèi)課時(shí)往往已用完,課后進(jìn)行測(cè)試的完成率及效果明顯比課內(nèi)要差。圖形建模的測(cè)試與一般程序設(shè)計(jì)實(shí)驗(yàn)的測(cè)試相比,具有以下較為獨(dú)特之處。
(4)測(cè)試對(duì)象不同。程序設(shè)計(jì)的測(cè)試對(duì)象為一系列語(yǔ)句所構(gòu)成的完整源代碼,而圖形建模的測(cè)試對(duì)象為多個(gè)圖形符號(hào)所構(gòu)成的整體圖形,例如UML建模中的圖形符號(hào)有橢圓形、人形、矩形、線形等。(5)測(cè)試元素不同。程序設(shè)計(jì)的測(cè)試需要考慮數(shù)據(jù)和算法處理,而圖形建模的測(cè)試則需要考慮各個(gè)點(diǎn)以及點(diǎn)與點(diǎn)之間的連線,例如UML建模中的圖形基本就是由四類事物(點(diǎn))和四種關(guān)系(線)所組成。
(6)測(cè)試結(jié)構(gòu)不同。程序設(shè)計(jì)的測(cè)試涉及順序、選擇、循環(huán)三大基本結(jié)構(gòu),而圖形建模的測(cè)試涉及的結(jié)構(gòu)以網(wǎng)狀結(jié)構(gòu)和層次結(jié)構(gòu)為主,例如UML建模中大部分圖形是網(wǎng)狀結(jié)構(gòu)的,但其圖形結(jié)構(gòu)又在一定程度上體現(xiàn)了程序的結(jié)構(gòu)控制。(7)測(cè)試用例不同。程序設(shè)計(jì)的測(cè)試需要具體的數(shù)據(jù)作為輸入,用例有其固定格式和用法,而圖形建模的測(cè)試則沒有明確的用例可循,需要憑借一定的建模經(jīng)驗(yàn)。雖然圖形建模測(cè)試與程序設(shè)計(jì)測(cè)試有所不同,但二者之間也存在一定關(guān)聯(lián)。
(8)最終目的相同。都是驗(yàn)證其最終結(jié)果的正確性及合理性。(9)測(cè)試過程類似。程序設(shè)計(jì)的測(cè)試過程是一個(gè)測(cè)試、調(diào)試、回歸測(cè)試的循環(huán)迭代過程,圖形建模的測(cè)試過程則是一個(gè)不斷反復(fù)調(diào)整的過程。(10)技術(shù)互通。圖形建模的測(cè)試技術(shù)可以很好地借鑒程序設(shè)計(jì)的測(cè)試技術(shù),例如靜態(tài)測(cè)試、動(dòng)態(tài)測(cè)試等。
2拖放式圖形建模的測(cè)試技術(shù)應(yīng)用
計(jì)算機(jī)專業(yè)課程中的建模工具種類多、數(shù)量多,學(xué)生應(yīng)根據(jù)自己的實(shí)際情況選擇合適的建模工具。例如UML建模課程中,從網(wǎng)絡(luò)是否連接可以分為在線建模工具如ProcessOn、離線建模工具如UMLet;從專業(yè)相關(guān)度可以分為通用建模工具如Visio、專業(yè)建模工具如RationalRose;從是否編碼可以分為拖放式建模工具如StarUML、編程式建模工具如PlantUML[6-7]。本文以StarUML和PlantUML為例進(jìn)行說明。
主要由個(gè)區(qū)域構(gòu)成,正中間面積最大的就是繪圖區(qū),符合人們?cè)诂F(xiàn)實(shí)生活中利用圖紙進(jìn)行各種設(shè)計(jì)的行為和思考習(xí)慣[8]。建模過程也較為簡(jiǎn)單,先閱讀問題描述,再根據(jù)題目要求添加需要繪制的圖形類型,將所需要的圖形符號(hào)逐個(gè)從工具箱拖放至繪圖區(qū)即可。
靜態(tài)測(cè)試是指不運(yùn)行被測(cè)程序本身,僅通過分析或檢查源程序的語(yǔ)法、結(jié)構(gòu)、過程、接口等來驗(yàn)證程序的正確性。靜態(tài)測(cè)試技術(shù)包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量等。其中代碼檢查就是研究源程序,并從中發(fā)現(xiàn)錯(cuò)誤,最好在源程序編碼完成之后及編譯和動(dòng)態(tài)測(cè)試之前進(jìn)行[9-10]。在拖放式圖形建模測(cè)試中,主要借鑒的是程序靜態(tài)測(cè)試中的代碼檢查和結(jié)構(gòu)分析,只不過檢查的對(duì)象換成了圖形。在分析錯(cuò)誤時(shí),將錯(cuò)誤進(jìn)行分類是有幫助的。UML圖形建模將錯(cuò)誤分成五個(gè)類型。通過對(duì)錯(cuò)誤分類,可以迅速找出哪一類錯(cuò)誤的問題最大,然后集中精力預(yù)防和排除這一類錯(cuò)誤。
3編程式圖形建模的測(cè)試技術(shù)應(yīng)用
UML圖形建模除了可以使用拖放式方式實(shí)現(xiàn),還可以使用編程方式實(shí)現(xiàn)。PlantUML是一個(gè)開源項(xiàng)目,支持快速繪制UML模型,同時(shí)還支持架構(gòu)圖、SDL圖、甘特圖、思維導(dǎo)圖等非UML圖繪制。通過簡(jiǎn)單直觀的語(yǔ)言來定義這些示意圖,可以生成PNG、SVG或LaTex格式的圖片。這里以在線PlantUML為例,說明編程式建模的實(shí)施和測(cè)試過程。在線PlantUML提供了各種模型的詳細(xì)語(yǔ)法介紹及相關(guān)示例,使讀者能夠快速入門,各類幫助信息的獲取也極為方便。與一般程序的開發(fā)界面相似,PantUMLWebServer的建模界面主要由兩個(gè)區(qū)域組成,一個(gè)是代碼編輯區(qū),一個(gè)是結(jié)果顯示區(qū),代碼通過“submit”按鈕提交。
計(jì)算機(jī)論文投稿刊物:《電腦知識(shí)與技術(shù)》雜志創(chuàng)刊于1994年,是經(jīng)國(guó)家批準(zhǔn)的旬刊雜志,主管單位:安徽出版集團(tuán)有限責(zé)任公司,主辦單位:時(shí)代出版傳媒股份有限公司 、中國(guó)計(jì)算機(jī)函授學(xué)院。國(guó)內(nèi)統(tǒng)一刊號(hào):CN34-1205/TP,國(guó)際標(biāo)準(zhǔn)刊號(hào):ISSN1009-3044。
4結(jié)語(yǔ)
計(jì)算機(jī)專業(yè)的實(shí)驗(yàn)設(shè)計(jì)不應(yīng)僅關(guān)注單個(gè)知識(shí)點(diǎn)的 應(yīng)用,而應(yīng)在細(xì)節(jié)上保持技術(shù)的連貫性和綜合性。在實(shí)驗(yàn)內(nèi)容設(shè)計(jì)上將軟件測(cè)試與軟件建模的內(nèi)容融會(huì)貫通,能使學(xué)生思想上得到認(rèn)識(shí)、理論上得到實(shí)踐、技能上得到提高,取得了很好的實(shí)驗(yàn)教學(xué)效果。
參考文獻(xiàn)(References)
[1]張海藩,牟永敏.軟件工程導(dǎo)論[M].北京:清華大學(xué)出版社,2013.
[2]龍浩,王文樂,劉金,等.軟件工程軟件建模與文檔寫作[M].北京:人民郵電出版社,2016.
[3]呂云翔,趙天宇,叢碩.UML面向?qū)ο蠓治觥⒔Ec設(shè)計(jì)[M].北京:清華大學(xué)出版社,2018.
[4]侯愛民,歐陽(yáng)驥,胡傳福.面向?qū)ο蠓治雠c設(shè)計(jì)(UML)[M].北京:清華大學(xué)出版社,2015.
[5]鄔卓恒,姜全坤.UML課程案例驅(qū)動(dòng)教學(xué)研究[J].軟件導(dǎo)刊,2020,19(5):264266.
[6]劉秋香,劉振偉.淺析幾款主流的UML建模工具[J].電腦知識(shí)與技術(shù),2018,14(32):245,253.
作者:戴莉萍,黃龍軍
Take the first step of our cooperation邁出我們合作第一步