• 
    

    
    

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

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

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

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

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

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

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

      1 UML特點概述

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

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

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

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

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

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

      2.1需求分析

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

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

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

      系統(tǒng)分析的主要任務(wù)是解決“怎么做”的問題,重點是依托概念層的類圖對系統(tǒng)靜態(tài)結(jié)構(gòu)進行再現(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)換。

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

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

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

      2.3實現(xiàn)階段

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

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

      2.4運行和維護階段

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

      3結(jié)束語

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

      作者簡介:

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

      猜你喜歡
      軟件工程
      應(yīng)用型本科軟件工程專業(yè)課程體系改革
      青年時代(2016年27期)2016-12-08 22:49:16
      關(guān)于《軟件工程》教學(xué)改革的研究
      計算機技術(shù)在機械能源中的應(yīng)用
      軟件工程標(biāo)準(zhǔn)化現(xiàn)狀與分析
      依托工作室的軟件工程實踐教學(xué)研究
      高職軟件工程課程改革研究
      計算機教育(2016年7期)2016-11-10 08:58:02
      軟件工程應(yīng)用型課程建設(shè)與實踐
      計算機教育(2016年7期)2016-11-10 08:56:53
      應(yīng)用瀑布模型的MOOC制作方法
      計算機教育(2016年7期)2016-11-10 08:38:07
      融合APTECH體系的軟件產(chǎn)業(yè)人才培養(yǎng)探究
      計算機教育(2016年7期)2016-11-10 08:04:30
      基于工程教育認(rèn)證的《軟件工程》課程教學(xué)質(zhì)量建設(shè)研究 
      乌兰察布市| 阳曲县| 江孜县| 遂宁市| 民勤县| 荥经县| 碌曲县| 威信县| 观塘区| 循化| 郎溪县| 汶上县| 柘城县| 金湖县| 海原县| 奉节县| 玉溪市| 科技| 宁化县| 南漳县| 湘阴县| 应城市| 汤原县| 启东市| 额敏县| 都匀市| 时尚| 益阳市| 梁山县| 迭部县| 体育| 兴城市| 松江区| 塘沽区| 毕节市| 莱西市| 奇台县| 怀来县| 平江县| 黑河市| 筠连县|