• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

      2023-07-10 09:10:56李莉
      計(jì)算機(jī)應(yīng)用文摘 2023年11期
      關(guān)鍵詞:軟件工程

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

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

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

      1 UML特點(diǎn)概述

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

      (1) UML在圖形表示和基本概念方面,具有Booch,OMT和OOSE等方法特點(diǎn),對符號(hào)系統(tǒng)進(jìn)行了統(tǒng)一、規(guī)范和簡化,并且對符號(hào)系統(tǒng)進(jìn)行了補(bǔ)充和更新,使其具有更強(qiáng)大的表達(dá)能力。項(xiàng)目的具體需求不同,可以選擇不同的圖形符號(hào),以滿足個(gè)性化表達(dá)需求。(2) UML是獨(dú)立存在和使用的,不受編程語言約束,能夠在設(shè)計(jì)開發(fā)中搭建起溝通的中介和橋梁。(3)在進(jìn)行具體建模時(shí),若想實(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è)概念和冗雜的知識(shí)有更準(zhǔn)確、清晰的認(rèn)識(shí),采用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è)計(jì),將其轉(zhuǎn)換為成果,并且根據(jù)產(chǎn)品特點(diǎn)選擇匹配的語言,實(shí)現(xiàn)編碼需求;最后一步,需要進(jìn)行后續(xù)的測試環(huán)節(jié),包括單元、集成和系統(tǒng)測試,至此目標(biāo)系統(tǒng)才算完成。開發(fā)階段不同,所使用的開發(fā)方法也不同?!败浖こ獭闭n程的特點(diǎn)是關(guān)注理論教學(xué)和實(shí)踐提升,前者主要采用案例教學(xué)方法,后者主要利用軟件項(xiàng)目進(jìn)行驅(qū)動(dòng)。綜上,實(shí)際的教學(xué)過程主要是以軟件開發(fā)為導(dǎo)向和線索,通過實(shí)際工程案例的分析,結(jié)合UML技術(shù),進(jìn)行建模實(shí)踐,從而推動(dòng)實(shí)現(xiàn)軟件,并以此為依據(jù)進(jìn)行軟件測試。項(xiàng)目講解過程中全程貫穿UML技術(shù),學(xué)生通過實(shí)際案例深刻理解面向?qū)ο笏枷氲囊I(lǐng)作用。同時(shí),理論結(jié)合實(shí)踐,幫助學(xué)生理解抽象概念知識(shí),如類、接口等,又使其對軟件工程的開發(fā)過程和指導(dǎo)思想有了實(shí)際理解。

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

      2.1需求分析

      軟件開發(fā)過程中的第一個(gè)環(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),讀者還有很多其他功能需求,包括賬號(hào)登錄和操作,對圖書信息的查詢處理,以及超時(shí)提交罰款等。若要建立用例模型,首先需要對參與者進(jìn)行識(shí)別,然后是讀者。其次,需要對用例進(jìn)行確定,也就是讀者的功能需求,包括借還書、賬號(hào)登錄操作、書籍信息查詢等。最后需要對用例間關(guān)系進(jìn)行明確,例如登錄系統(tǒng)可能會(huì)忘記密碼,需要進(jìn)行密碼找回,因此找回密碼與登錄之間存在拓展關(guān)系:借書時(shí)需要對讀者身份進(jìn)行驗(yàn)證,因此身份驗(yàn)證和借書兩個(gè)功能間存在包含關(guān)系:還書時(shí)如果超時(shí),需要進(jìn)行罰款提交,因此罰款提交和還書之間存在擴(kuò)展關(guān)系等。通過對這些用例關(guān)系進(jìn)行梳理和分析,能夠?qū)⒆x者用例圖構(gòu)建起來,如圖1所示。這種具體的實(shí)際案例、用例模型的分析,學(xué)生能夠?qū)ζ渲械牟煌巧懈玫睦斫猓⑶腋用鞔_這些關(guān)系概念,從而對其邏輯關(guān)系、知識(shí)結(jié)構(gòu)等有更深刻的理解和掌握。

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

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

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

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

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

      無論是系統(tǒng)分析或是設(shè)計(jì)階段,類圖建模都是重要的內(nèi)容,包括簡單的概念層類圖,和較為復(fù)雜的能夠?yàn)橄到y(tǒng)開發(fā)小組所理解的類。設(shè)計(jì)階段需要借助類圖、包等進(jìn)行接口設(shè)計(jì),活動(dòng)圖能夠?qū)ζ渲械膹?fù)雜方法和主要算法流程進(jìn)行描述。比如,在圖書館信息系統(tǒng)中,例圖、順序圖、狀態(tài)圖等就能反映讀者的基本情況和圖書的借閱信息等。在搭建類圖的流程中,要明確類的屬性和具體操作,對類與類間的多重性等進(jìn)行具體闡述。初步完成系統(tǒng)模型后,還要立足項(xiàng)目設(shè)計(jì)需求,對整個(gè)設(shè)計(jì)進(jìn)行完善和升級(jí),如對設(shè)計(jì)進(jìn)行整體統(tǒng)籌,明確各類指標(biāo)的優(yōu)先級(jí),實(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è)計(jì)的結(jié)果進(jìn)行解讀,以便對具體面向?qū)ο蟮某绦蛘Z言進(jìn)行理解并書寫,二是完成具體的實(shí)效測試。在設(shè)計(jì)的實(shí)現(xiàn)階段,主要從實(shí)現(xiàn)層類圖變成具體的程序結(jié)構(gòu),增加控制類;順序圖、活動(dòng)圖等可以表述程序的完成流程;根據(jù)通信圖中的消息傳輸情況,可以找到對應(yīng)的操作函數(shù)和屬性變量;根據(jù)狀態(tài)圖反映的變量或者行為發(fā)現(xiàn)對應(yīng)類的操作。

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

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

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

      3結(jié)束語

      講解面向?qū)ο蟮摹败浖こ獭闭n程需要引入多個(gè)抽象的概念和理論,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è)課程體系改革
      關(guān)于《軟件工程》教學(xué)改革的研究
      計(jì)算機(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è)研究 
      武乡县| 洛川县| 鄱阳县| 桂东县| 淮滨县| 延安市| 颍上县| 新干县| 化德县| 莎车县| 额敏县| 平罗县| 林州市| 洛浦县| 府谷县| 崇州市| 桃园县| 靖边县| 丰县| 凤城市| 板桥市| 宁国市| 二连浩特市| 肥乡县| 芒康县| 柘荣县| 赤峰市| 榆林市| 壶关县| 上饶市| 桃园县| 安泽县| 中牟县| 盘锦市| 扎囊县| 湘西| 巢湖市| 古蔺县| 库尔勒市| 高青县| 霞浦县|