国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

UML在對象軟件工程教學(xué)中的應(yīng)用

2023-07-10 09:10:56李莉
關(guān)鍵詞:軟件工程

關(guān)鍵詞:UML建模;面向?qū)ο蠓治?;軟件工?/p>

中圖法分類號:TP311 文獻(xiàn)標(biāo)識碼:A

“軟件工程”課程的綜合性很強(qiáng),其將多門計算機(jī)相關(guān)課程的知識進(jìn)行了融合。“軟件工程”課程教學(xué)的主要目標(biāo)是幫助學(xué)生理解軟件開發(fā)的特點(diǎn)和原理,掌握基本的開發(fā)技能,能夠應(yīng)用軟件開發(fā)來解決實(shí)際問題,以提升其實(shí)踐能力和專業(yè)素養(yǎng)。當(dāng)前,面向?qū)ο蟮姆绞绞侵饕能浖_發(fā)方式,因此結(jié)合市場需求特點(diǎn)和技術(shù)發(fā)展形勢,在實(shí)際教學(xué)中也主要使用此方式。

面向?qū)ο蟮能浖_發(fā)和面向過程的軟件開發(fā)有一個共同特點(diǎn),即具有一定生命周期,體現(xiàn)在可行性分析、需求分析、設(shè)計等各個環(huán)節(jié),對于面向?qū)ο蟮能浖こ虂碚f,不同階段之間并沒有非常明確的界線。但是,在軟件開發(fā)中,發(fā)現(xiàn)問題越早,越能夠以更小的代價及時解決。因此,這就要求前期的設(shè)計分析必須嚴(yán)謹(jǐn)、到位、計劃明確,以避免后期實(shí)現(xiàn)過于倉促和粗糙,進(jìn)而導(dǎo)致后期需要付出極大的維護(hù)和修復(fù)成本。在眾多工程技術(shù)中,建模是其中普遍使用并且得到實(shí)踐檢驗(yàn)的技術(shù)。若要闡述清楚一個系統(tǒng)的組織結(jié)構(gòu)或動態(tài)邏輯,則可以嘗試采用不同的角度、模型來劃分系統(tǒng)結(jié)構(gòu)和組織,從而有效推動系統(tǒng)設(shè)計開發(fā)。

1 UML特點(diǎn)概述

UML的提出是“站在巨人的肩膀上”的,其吸收和提煉了眾多建模語言的特點(diǎn)和優(yōu)勢,因此其表達(dá)能力也是空前的優(yōu)越,能夠有效表達(dá)系統(tǒng)模型,其作為一種輔助工具可有效幫助面向?qū)ο蠓治鲈O(shè)計,主要特點(diǎn)如下。

(1) UML在圖形表示和基本概念方面,具有Booch,OMT和OOSE等方法特點(diǎn),對符號系統(tǒng)進(jìn)行了統(tǒng)一、規(guī)范和簡化,并且對符號系統(tǒng)進(jìn)行了補(bǔ)充和更新,使其具有更強(qiáng)大的表達(dá)能力。項(xiàng)目的具體需求不同,可以選擇不同的圖形符號,以滿足個性化表達(dá)需求。(2) UML是獨(dú)立存在和使用的,不受編程語言約束,能夠在設(shè)計開發(fā)中搭建起溝通的中介和橋梁。(3)在進(jìn)行具體建模時,若想實(shí)現(xiàn)最佳應(yīng)用效果,則應(yīng)選取簡單有效的UML圖形,并結(jié)合具體情況進(jìn)行合適的搭配和表達(dá)。(4)結(jié)合實(shí)際的應(yīng)用需求和環(huán)境變化,UML也在不斷演變更新,提出了很多新的概念和形式。

UML提出的模型類型多樣,能夠滿足不同情況和需求,從而更好地滿足人們解決實(shí)際問題的需求。其能夠建立更加完善、成熟的系統(tǒng)模型,從而更好地幫助不同人群理解問題,對抽象概念有更加準(zhǔn)確的了解,使后期的實(shí)際推進(jìn)和維護(hù)也更加可行。軟件工程教學(xué)也是采用面向?qū)ο蟮能浖こ探虒W(xué),為了讓學(xué)生對抽象的專業(yè)概念和冗雜的知識有更準(zhǔn)確、清晰的認(rèn)識,采用UML結(jié)合具體實(shí)例的方法,進(jìn)而使教學(xué)過程更加具體、可行。

2對象軟件工程教學(xué)中UML的應(yīng)用

開發(fā)軟件的第一步是需求分析,由開發(fā)人員進(jìn)行需求調(diào)查和解析,力求準(zhǔn)確、全面;第二步是在需求分析的基礎(chǔ)上進(jìn)行產(chǎn)品的設(shè)計,將其轉(zhuǎn)換為成果,并且根據(jù)產(chǎn)品特點(diǎn)選擇匹配的語言,實(shí)現(xiàn)編碼需求;最后一步,需要進(jìn)行后續(xù)的測試環(huán)節(jié),包括單元、集成和系統(tǒng)測試,至此目標(biāo)系統(tǒng)才算完成。開發(fā)階段不同,所使用的開發(fā)方法也不同。“軟件工程”課程的特點(diǎn)是關(guān)注理論教學(xué)和實(shí)踐提升,前者主要采用案例教學(xué)方法,后者主要利用軟件項(xiàng)目進(jìn)行驅(qū)動。綜上,實(shí)際的教學(xué)過程主要是以軟件開發(fā)為導(dǎo)向和線索,通過實(shí)際工程案例的分析,結(jié)合UML技術(shù),進(jìn)行建模實(shí)踐,從而推動實(shí)現(xiàn)軟件,并以此為依據(jù)進(jìn)行軟件測試。項(xiàng)目講解過程中全程貫穿UML技術(shù),學(xué)生通過實(shí)際案例深刻理解面向?qū)ο笏枷氲囊I(lǐng)作用。同時,理論結(jié)合實(shí)踐,幫助學(xué)生理解抽象概念知識,如類、接口等,又使其對軟件工程的開發(fā)過程和指導(dǎo)思想有了實(shí)際理解。

UML建模技術(shù)對于面向?qū)ο蟮能浖_發(fā)過程主要的作用體現(xiàn)在以下幾方面:可以根據(jù)實(shí)際需求進(jìn)行系統(tǒng)個性化的可視化操作;能夠?qū)ο到y(tǒng)行為、結(jié)構(gòu)進(jìn)行描述;系統(tǒng)構(gòu)造有一定模板;決策能夠更好地進(jìn)行文檔化操作。這里的具體分析和解釋說明選擇的案例是圖書館管理系統(tǒng)的讀者功能。

2.1需求分析

軟件開發(fā)過程中的第一個環(huán)節(jié)就是對用戶需求進(jìn)行明確和分析。對于面向?qū)ο蟮能浖_發(fā)來說,主要以用例模型來體現(xiàn)。用例模型的構(gòu)成部分包括參與者、用例、它們的關(guān)系,參與者和用例之間的關(guān)系為關(guān)聯(lián)關(guān)系,參與者相互之間的關(guān)系為泛化關(guān)系,用例相互之間的關(guān)系有不同類型,包括包含、擴(kuò)展、泛化等,這里選擇的實(shí)際案例是圖書管理系統(tǒng)。

當(dāng)前的圖書館管理系統(tǒng),讀者主要的權(quán)限是自助借還書,通過實(shí)際調(diào)查和分析發(fā)現(xiàn),讀者還有很多其他功能需求,包括賬號登錄和操作,對圖書信息的查詢處理,以及超時提交罰款等。若要建立用例模型,首先需要對參與者進(jìn)行識別,然后是讀者。其次,需要對用例進(jìn)行確定,也就是讀者的功能需求,包括借還書、賬號登錄操作、書籍信息查詢等。最后需要對用例間關(guān)系進(jìn)行明確,例如登錄系統(tǒng)可能會忘記密碼,需要進(jìn)行密碼找回,因此找回密碼與登錄之間存在拓展關(guān)系:借書時需要對讀者身份進(jìn)行驗(yàn)證,因此身份驗(yàn)證和借書兩個功能間存在包含關(guān)系:還書時如果超時,需要進(jìn)行罰款提交,因此罰款提交和還書之間存在擴(kuò)展關(guān)系等。通過對這些用例關(guān)系進(jìn)行梳理和分析,能夠?qū)⒆x者用例圖構(gòu)建起來,如圖1所示。這種具體的實(shí)際案例、用例模型的分析,學(xué)生能夠?qū)ζ渲械牟煌巧懈玫睦斫?,并且更加明確這些關(guān)系概念,從而對其邏輯關(guān)系、知識結(jié)構(gòu)等有更深刻的理解和掌握。

2.2系統(tǒng)分析和設(shè)計

系統(tǒng)分析的主要任務(wù)是解決“怎么做”的問題,重點(diǎn)是依托概念層的類圖對系統(tǒng)靜態(tài)結(jié)構(gòu)進(jìn)行再現(xiàn),通過交互圖、狀態(tài)圖等來反映系統(tǒng)的變化。描述系統(tǒng)動態(tài)行為可以表現(xiàn)對象之間的關(guān)系,反映彼此信息溝通,發(fā)現(xiàn)可能導(dǎo)致對象狀態(tài)變化的事件、行為等,繼而發(fā)現(xiàn)類的屬性與行為,形成具有完全意義的類。

UML中交互圖的構(gòu)成是由適應(yīng)不同使用場景的順序圖、通信圖、交互概覽圖以及時序圖等構(gòu)成的,其中,順序圖和通信圖是主要構(gòu)成要素。順序圖反映消息傳輸?shù)臅r間順序,以及反映用例的行為順序,通信圖是表示信息收發(fā)雙方之間的組織關(guān)系。通常來說,順序圖和通信圖能夠?qū)崿F(xiàn)轉(zhuǎn)換。

讀者選用自助借書功能時,第一步需要通過驗(yàn)證讀者證來確認(rèn)合法身份。驗(yàn)證成功后,讀者可以根據(jù)提示在指定位置放置書籍,系統(tǒng)會對書籍進(jìn)行自動識別,從而明確借閱是否超期等。若該圖書證還可以借閱書籍,則會在系統(tǒng)里創(chuàng)建該讀者借閱該書的信息。順序圖就可以反映這個過程,包含讀者的行為順序和時間消耗等。若讀者完成身份驗(yàn)證,則借書記錄方要進(jìn)行借書合法性查閱和借書操作、更新圖書信息等,這屬于有對應(yīng)的方法。若要反映交互的空間性,則可以采用通信圖來描述。

在對象的有效時間周期中,如果發(fā)生變化或者狀態(tài)改變,就需要狀態(tài)圖對該段時間內(nèi)的變化進(jìn)行描述,通過對引發(fā)狀態(tài)改變的行為進(jìn)行分析和歸類,以總結(jié)出引發(fā)變化的方法。在圖書自動化管理系統(tǒng)中,新書信息寫入系統(tǒng)后才能實(shí)現(xiàn)自動借閱,此時書籍會存在可借、借出和超期等狀態(tài),這些狀態(tài)可以改變。如果不允許書籍流通,就需要將其信息刪除。描述書籍狀態(tài)的改變就是狀態(tài)圖。分析導(dǎo)致狀態(tài)改變的行為、條件等,就能找到書籍類新增、借出、已還等方法。若完成某個任務(wù)需要多個對象進(jìn)行交互,或者反映某個工作的具體流程,則就需要活動圖進(jìn)行描述,如圖2所示。

無論是系統(tǒng)分析或是設(shè)計階段,類圖建模都是重要的內(nèi)容,包括簡單的概念層類圖,和較為復(fù)雜的能夠?yàn)橄到y(tǒng)開發(fā)小組所理解的類。設(shè)計階段需要借助類圖、包等進(jìn)行接口設(shè)計,活動圖能夠?qū)ζ渲械膹?fù)雜方法和主要算法流程進(jìn)行描述。比如,在圖書館信息系統(tǒng)中,例圖、順序圖、狀態(tài)圖等就能反映讀者的基本情況和圖書的借閱信息等。在搭建類圖的流程中,要明確類的屬性和具體操作,對類與類間的多重性等進(jìn)行具體闡述。初步完成系統(tǒng)模型后,還要立足項(xiàng)目設(shè)計需求,對整個設(shè)計進(jìn)行完善和升級,如對設(shè)計進(jìn)行整體統(tǒng)籌,明確各類指標(biāo)的優(yōu)先級,實(shí)現(xiàn)具體參數(shù)的優(yōu)化;闡述較為實(shí)用的增效的技術(shù),包括增加冗余關(guān)聯(lián),提升訪問效率,擴(kuò)大限定關(guān)聯(lián),縮小查詢范圍,減少派生屬性等具體操作方面的技巧。

2.3實(shí)現(xiàn)階段

面向?qū)ο蟮募夹g(shù)研發(fā)在實(shí)現(xiàn)層面需要完成的任務(wù)有2部分:一是把之前分析設(shè)計的結(jié)果進(jìn)行解讀,以便對具體面向?qū)ο蟮某绦蛘Z言進(jìn)行理解并書寫,二是完成具體的實(shí)效測試。在設(shè)計的實(shí)現(xiàn)階段,主要從實(shí)現(xiàn)層類圖變成具體的程序結(jié)構(gòu),增加控制類;順序圖、活動圖等可以表述程序的完成流程;根據(jù)通信圖中的消息傳輸情況,可以找到對應(yīng)的操作函數(shù)和屬性變量;根據(jù)狀態(tài)圖反映的變量或者行為發(fā)現(xiàn)對應(yīng)類的操作。

設(shè)計實(shí)現(xiàn)的各個階段都要依托具體的測試,包括單元測試、集成測試和系統(tǒng)測試等。它們的關(guān)系具體表現(xiàn)為:單元測試是根據(jù)實(shí)現(xiàn)層類圖和類的說明書來測試已經(jīng)完成的程序,集成測試是依據(jù)設(shè)計類圖、構(gòu)件圖、通信圖等,確保程序模塊在系統(tǒng)中的正確位置;系統(tǒng)測試是依據(jù)例圖對系統(tǒng)功能順利、正確運(yùn)行進(jìn)行測試,以滿足用戶的具體要求。講解測試?yán)碚摵蛯?shí)現(xiàn)要結(jié)合UML系統(tǒng)的分析和設(shè)計,從而讓理論更便于理解,以及對UML在面向?qū)ο筌浖_發(fā)中的重要意義進(jìn)行精準(zhǔn)描述,以加深認(rèn)識。

2.4運(yùn)行和維護(hù)階段

完成全部系統(tǒng)測試后,要對系統(tǒng)進(jìn)行運(yùn)行和維護(hù),依據(jù)UML配置圖,讓系統(tǒng)軟件和硬件在具體場景中進(jìn)行運(yùn)行。在這個過程中,如果發(fā)現(xiàn)問題就要及時進(jìn)行維護(hù)和調(diào)試,從而發(fā)現(xiàn)問題并進(jìn)行整改。

3結(jié)束語

講解面向?qū)ο蟮摹败浖こ獭闭n程需要引入多個抽象的概念和理論,UML提供了多角度觀察和描述軟件系統(tǒng)特征的具體策略,能夠被應(yīng)用到軟件開發(fā)的具體場景和不同階段中:UML模型和軟件工程項(xiàng)目實(shí)踐相結(jié)合,能夠提升教學(xué)的直觀性和實(shí)用性,讓學(xué)生能夠更深入地了解教學(xué)內(nèi)容,也能更好地展示教學(xué)內(nèi)容的系統(tǒng)性,從而有助于落實(shí)各項(xiàng)教學(xué)任務(wù)和教學(xué)要求。

作者簡介:

李莉(1980—),碩士,講師,研究方向:軟件工程。

猜你喜歡
軟件工程
應(yīng)用型本科軟件工程專業(yè)課程體系改革
青年時代(2016年27期)2016-12-08 22:49:16
關(guān)于《軟件工程》教學(xué)改革的研究
計算機(jī)技術(shù)在機(jī)械能源中的應(yīng)用
軟件工程標(biāo)準(zhǔn)化現(xiàn)狀與分析
依托工作室的軟件工程實(shí)踐教學(xué)研究
高職軟件工程課程改革研究
軟件工程應(yīng)用型課程建設(shè)與實(shí)踐
應(yīng)用瀑布模型的MOOC制作方法
融合APTECH體系的軟件產(chǎn)業(yè)人才培養(yǎng)探究
基于工程教育認(rèn)證的《軟件工程》課程教學(xué)質(zhì)量建設(shè)研究 
庆安县| 德昌县| 浪卡子县| 措勤县| 鹤峰县| 齐齐哈尔市| 呼伦贝尔市| 资源县| 保定市| 文成县| 许昌县| 志丹县| 门头沟区| 太原市| 玛纳斯县| 连山| 和平区| 抚宁县| 五寨县| 莫力| 灌阳县| 西平县| 泗阳县| 文化| 通化市| 农安县| 永德县| 安远县| 黔南| 惠安县| 隆子县| 神池县| 偃师市| 小金县| 昌平区| 柘荣县| 平塘县| 错那县| 江城| 会理县| 枣阳市|