亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        UML在面向?qū)ο筌浖こ探虒W(xué)中的應(yīng)用探討

        2022-01-17 06:28:24王方麗鄧一星
        電子元器件與信息技術(shù) 2021年10期
        關(guān)鍵詞:用例面向?qū)ο?/a>借書(shū)

        王方麗,鄧一星

        (廣州城市理工學(xué)院 計(jì)算機(jī)工程學(xué)院,廣東 廣州 510800)

        0 引言

        軟件工程是一門(mén)融合多門(mén)計(jì)算機(jī)專(zhuān)業(yè)知識(shí)的綜合性課程,從工程學(xué)角度講解軟件工程的基本理論、技術(shù)和方法。該課程的主要目標(biāo)是提高學(xué)生軟件開(kāi)發(fā)過(guò)程中分析問(wèn)題、解決問(wèn)題的能力,培養(yǎng)學(xué)生的各項(xiàng)專(zhuān)業(yè)技能和素質(zhì)?,F(xiàn)階段,軟件開(kāi)發(fā)主要采用面向?qū)ο蟮募夹g(shù)進(jìn)行,為了更好的服務(wù)于當(dāng)前的軟件開(kāi)發(fā),軟件工程教學(xué)一般也針對(duì)面向?qū)ο蟮拈_(kāi)發(fā)過(guò)程進(jìn)行講解。與面向過(guò)程的軟件開(kāi)發(fā)類(lèi)似,面向?qū)ο蟮能浖_(kāi)發(fā)也具有生命周期,如可行性分析、需求分析、設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試等環(huán)節(jié)。只不過(guò),面向?qū)ο蟮能浖こ讨?,分析、設(shè)計(jì)和實(shí)現(xiàn)階段的界限不明確。而在軟件開(kāi)發(fā)中,越晚發(fā)現(xiàn)錯(cuò)誤,改正錯(cuò)誤的代價(jià)就越大。如果不事先做好充分的分析設(shè)計(jì),做好計(jì)劃,直接倉(cāng)促的實(shí)現(xiàn)系統(tǒng),會(huì)出現(xiàn)各種問(wèn)題,特別是后期改正和維護(hù)的成本非常龐大。在軟件工程中,建模是目前經(jīng)過(guò)檢驗(yàn)并廣為接受的一項(xiàng)工程技術(shù)。一個(gè)系統(tǒng)可以從不同的角度,運(yùn)用不同的模型進(jìn)行闡述,以全面系統(tǒng)呈現(xiàn)它的組織結(jié)構(gòu),或者動(dòng)態(tài)邏輯。運(yùn)用模型可以更好的對(duì)系統(tǒng)的結(jié)構(gòu)和組織進(jìn)行劃分,幫助更好的設(shè)計(jì)開(kāi)發(fā)系統(tǒng)。

        1 UML特點(diǎn)

        統(tǒng)一建模語(yǔ)言(Unified Modeling Language,UML)是在吸收、提煉至今存在的所有其他軟件建模語(yǔ)言的基礎(chǔ)上提出的,其表達(dá)能力超過(guò)了以往任何一種面向?qū)ο蟮姆治鲈O(shè)計(jì)方法,對(duì)于系統(tǒng)模型的表達(dá)能力非常強(qiáng)大,是面向?qū)ο蠓治鲈O(shè)計(jì)的工具,具有如下特點(diǎn):

        (1)UML綜合了Booch、OMT和OOSE等方法的圖形表示和基本概念,刪除多余的、容易引起混亂的符號(hào),同時(shí)添加了新的符號(hào),表達(dá)能力非常強(qiáng)大,可以根據(jù)各種項(xiàng)目的具體需求,選擇適合的圖形符號(hào)來(lái)表示[1]。

        (2)UML獨(dú)立于任何編程語(yǔ)言,運(yùn)用UML建模在設(shè)計(jì)開(kāi)發(fā)中可以起到溝通橋梁的作用。

        (3)在運(yùn)用UML建模過(guò)程中,只有簡(jiǎn)單有效的UML圖形才能達(dá)到最佳的應(yīng)用效果,根據(jù)實(shí)際情況選擇適合的圖形進(jìn)行描述。

        (4)UML根據(jù)實(shí)際應(yīng)用需要演變,提出了模板、擴(kuò)展機(jī)制、線(xiàn)程、分布式、過(guò)程、模式等新的概念和類(lèi)型[2]。

        UML提供了多種不同類(lèi)型的模型,可以幫助開(kāi)發(fā)人員更好地理解問(wèn)題,分析問(wèn)題,建立完善、可靠的系統(tǒng)模型,使開(kāi)發(fā)人員和用戶(hù)對(duì)于問(wèn)題的描述可以有相同地理解,保障問(wèn)題分析的正確性,有利于后期的編碼,測(cè)試、維護(hù)。在面向?qū)ο蟮能浖こ探虒W(xué)中,為了更好地幫助學(xué)生分析問(wèn)題、理解問(wèn)題,更好地掌握抽象的概念,將UML結(jié)合具體的實(shí)例融入到面向?qū)ο筌浖こ探虒W(xué)的各個(gè)階段,讓學(xué)生對(duì)于UML和軟件工程有更為清楚的認(rèn)識(shí),有利于對(duì)已學(xué)知識(shí)進(jìn)行鞏固,為實(shí)現(xiàn)測(cè)試等打下良好的基礎(chǔ)。

        2 UML在面向?qū)ο筌浖こ探虒W(xué)中的應(yīng)用

        在軟件開(kāi)發(fā)中,首先需要開(kāi)發(fā)人員進(jìn)行專(zhuān)業(yè)、準(zhǔn)確地需求分析;再通過(guò)進(jìn)一步分析設(shè)計(jì)將需求分析階段的成果轉(zhuǎn)化為設(shè)計(jì)產(chǎn)品,然后選擇適當(dāng)?shù)恼Z(yǔ)言,進(jìn)行編碼實(shí)現(xiàn),最后經(jīng)過(guò)單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試等測(cè)試環(huán)節(jié),形成最終的目標(biāo)系統(tǒng)。在軟件開(kāi)發(fā)的不同階段使用不同的開(kāi)發(fā)方法。軟件工程課程強(qiáng)調(diào)理論與實(shí)踐并重,在理論環(huán)節(jié)中,突出以案例教學(xué)為導(dǎo)向;在實(shí)踐教學(xué)環(huán)節(jié)中,突出軟件項(xiàng)目驅(qū)動(dòng)模式[3]。因此,在針對(duì)面向?qū)ο箝_(kāi)發(fā)的軟件工程教學(xué)過(guò)程中,以軟件開(kāi)發(fā)過(guò)程為線(xiàn)索,結(jié)合較為常見(jiàn)的工程案例,運(yùn)用UML技術(shù),對(duì)軟件需求、分析、設(shè)計(jì)等建立模型(如建立用例模型、對(duì)象模型、動(dòng)態(tài)行為模型和部署模型等),用以指導(dǎo)軟件實(shí)現(xiàn),為軟件測(cè)試提供依據(jù)。通過(guò)以 UML模型貫穿軟件開(kāi)發(fā)全過(guò)程的項(xiàng)目講解,讓學(xué)生充分體會(huì)到面向?qū)ο笏枷朐趯?shí)際軟件開(kāi)發(fā)中的指導(dǎo)作用[4]。同時(shí)將理論教學(xué)環(huán)節(jié)和實(shí)踐環(huán)節(jié)結(jié)合起來(lái),有利于學(xué)生對(duì)于類(lèi)、接口等抽象概念知識(shí)地理解,有助于學(xué)生更好的理解軟件工程的思想和面向?qū)ο蟮拈_(kāi)發(fā)過(guò)程。

        在面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程中,使用UML建模技術(shù),可以達(dá)到以下目的:有助于按照所需要的樣式或?qū)嶋H情況對(duì)系統(tǒng)進(jìn)行可視化;可以描述系統(tǒng)的行為或結(jié)構(gòu);提供了指導(dǎo)系統(tǒng)構(gòu)造的模板;有助于對(duì)做出的決策進(jìn)行文檔化。本文以圖書(shū)館管理系統(tǒng)中的讀者功能為例,分析說(shuō)明如何在面向?qū)ο蟮能浖こ讨羞\(yùn)用UML技術(shù)進(jìn)行來(lái)理論知識(shí)和實(shí)踐知識(shí)的分析講解。

        2.1 需求分析階段

        軟件開(kāi)發(fā)過(guò)程中首先要確定用戶(hù)需求,了解做什么。在面向?qū)ο蟮能浖_(kāi)發(fā)中,需求分析階段主要形成用例模型。用例模型主要由參與者、用例、以及它們的關(guān)系構(gòu)成,參與者和用例之間主要是關(guān)聯(lián)關(guān)系,參與者和參與者之間可能存在泛化關(guān)系,用例和用例之間的關(guān)系主要有包含、擴(kuò)展和泛化關(guān)系。

        目前,圖書(shū)館管理系統(tǒng)中,讀者主要采取自助借、還書(shū)的形式,通過(guò)分析發(fā)現(xiàn),讀者還需要有登錄、注冊(cè)、找回密碼、查詢(xún)書(shū)籍、借書(shū)、還書(shū)、交罰款等功能。建立用例模型的第一步是識(shí)別參與者,很顯然這里的參與者是讀者。接著,確定用例,即參與者希望系統(tǒng)提供的功能,這里主要有借書(shū)、還書(shū)、登錄等用例。最后確定用例和用例之間的關(guān)系,如讀者登錄時(shí)可能會(huì)忘記密碼,需要提供找回密碼功能,找回密碼必須滿(mǎn)足一定的條件才能發(fā)生,因此與登錄之間是擴(kuò)展關(guān)系;借書(shū)時(shí)需要驗(yàn)證讀者身份信息,只有身份驗(yàn)證通過(guò)才能借書(shū),因此身份驗(yàn)證和借書(shū)之間是包含關(guān)系;查詢(xún)書(shū)籍提供了兩種方式模糊查詢(xún)和精確查詢(xún),任何一種方式都能查詢(xún),因此,這兩種查詢(xún)方式和查詢(xún)書(shū)籍是泛化關(guān)系,最后,還書(shū)時(shí),可能會(huì)碰到超期等情況,就需要交罰款,因此,交罰款與還書(shū)構(gòu)成擴(kuò)展關(guān)系,并且交罰款為擴(kuò)展用例。通過(guò)分析,建立讀者用例圖,如圖1所示。通過(guò)建立具體的用例模型來(lái)分析實(shí)際問(wèn)題,學(xué)生可以更好的理解和體會(huì)參與者、用例以及它們之間的關(guān)系等概念,加深對(duì)于理論知識(shí)的理解和掌握。

        圖1 讀者用例模型

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

        在系統(tǒng)分析階段,主要考慮“怎么做”,主要運(yùn)用概念層的類(lèi)圖描述系統(tǒng)靜態(tài)結(jié)構(gòu),運(yùn)用交互圖、狀態(tài)圖等描述系統(tǒng)的動(dòng)態(tài)行為。通過(guò)分析系統(tǒng)的動(dòng)態(tài)行為,可以顯示對(duì)象之間的關(guān)系,表示對(duì)象之間的消息通信,找出引起對(duì)象狀態(tài)改變的事件或動(dòng)作,從而進(jìn)一步找出類(lèi)的屬性和操作,實(shí)現(xiàn)完全意義上的類(lèi)。

        UML中交互圖主要由順序圖、通信圖、交互概覽圖和時(shí)序圖組成。這些圖各有不同的運(yùn)用場(chǎng)景,不過(guò)以順序圖和通信圖為主。順序圖強(qiáng)調(diào)消息發(fā)送的時(shí)間順序,表示用例的行為順序,通信圖強(qiáng)調(diào)發(fā)送和接收消息的對(duì)象之間的組織結(jié)構(gòu),這兩類(lèi)圖形可以互相轉(zhuǎn)換。

        在讀者自助借書(shū)過(guò)程中,首先會(huì)要求讀者出示讀者證,驗(yàn)證成功后,讀者將書(shū)放在指定位置,系統(tǒng)就可以識(shí)別和檢測(cè)圖書(shū),驗(yàn)證借書(shū)數(shù)量是否超過(guò)限制,如果不超過(guò)則可以借書(shū),創(chuàng)建借書(shū)記錄和修改書(shū)籍信息。該過(guò)程可以用順序圖來(lái)進(jìn)行描述,如圖2所示,強(qiáng)調(diào)為完成借書(shū)這一功能,讀者和其他對(duì)象消息發(fā)送的時(shí)間性。對(duì)于圖2進(jìn)行進(jìn)一步分析,可以發(fā)現(xiàn)讀者類(lèi)需要有身份驗(yàn)證的功能,借書(shū)記錄類(lèi)需要與借書(shū)操作借書(shū)數(shù)量驗(yàn)證功能,書(shū)籍需要有更新?tīng)顟B(tài)功能,也就是需要有對(duì)應(yīng)的方法。如果需要強(qiáng)調(diào)交互的空間性,就需要用通信圖進(jìn)行描述。

        圖2 借書(shū)順序圖

        在對(duì)象的生命周期中,如果涉及到狀態(tài)的變化,可以通過(guò)狀態(tài)圖來(lái)描述對(duì)象隨時(shí)間變化的動(dòng)態(tài)行為,通過(guò)分析引起狀態(tài)改變的動(dòng)作來(lái)進(jìn)一步分析類(lèi)需要實(shí)現(xiàn)的方法。圖書(shū)管理系統(tǒng)中,新的書(shū)籍錄入系統(tǒng)后才能進(jìn)行借閱,書(shū)籍狀態(tài)可以在可借、借出和超期三種狀態(tài)間進(jìn)行轉(zhuǎn)換,書(shū)籍如果不能再流通,可以從系統(tǒng)中刪除。通過(guò)分析書(shū)籍狀態(tài)的轉(zhuǎn)變,可以得到如圖3所示的狀態(tài)圖;進(jìn)一步對(duì)于引起狀態(tài)改變的事件、觸發(fā)條件等進(jìn)行分析,得到書(shū)籍類(lèi)有新增、刪除、借出、還書(shū)等方法。

        圖3 圖書(shū)狀態(tài)圖

        如果一項(xiàng)工作的完成涉及到多個(gè)對(duì)象直接的交互,或者需要對(duì)于某項(xiàng)工作的流程進(jìn)行描述,可以運(yùn)用活動(dòng)圖來(lái)進(jìn)行描述。

        類(lèi)圖建模貫穿于系統(tǒng)的分析設(shè)計(jì)階段,從最初概念層類(lèi)圖,到系統(tǒng)開(kāi)發(fā)小組能夠完全理解的類(lèi)。設(shè)計(jì)階段一般采用類(lèi)圖、包,對(duì)類(lèi)的接口進(jìn)行設(shè)計(jì),可以使用活動(dòng)圖來(lái)描述類(lèi)中某些復(fù)雜方法的實(shí)現(xiàn)和主要算法的流程。如在圖書(shū)館管理系統(tǒng)中,通過(guò)分析用例圖、順序圖、圖書(shū)狀態(tài)圖等可以得出系統(tǒng)中有讀者、讀者類(lèi)別、圖書(shū)、借書(shū)記錄、還書(shū)記錄、圖書(shū)館等類(lèi)。在建立類(lèi)圖過(guò)程中,對(duì)于類(lèi)的屬性和操作確定,類(lèi)與類(lèi)之間的多重性等進(jìn)行講解。得到系統(tǒng)模型后,通常還需要根據(jù)需求和設(shè)計(jì)要求進(jìn)行優(yōu)化,如優(yōu)化時(shí)要考慮全局,因此需要各種指標(biāo)的優(yōu)先級(jí),以便在優(yōu)化是進(jìn)行折中;講解一些常見(jiàn)的提高效率的技術(shù),如增加冗余關(guān)聯(lián)可以提交訪(fǎng)問(wèn)效率,增加限定關(guān)聯(lián)縮小查詢(xún)范圍,為避免重復(fù)計(jì)算保留一些派生屬性等。

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

        在面向?qū)ο蟮拈_(kāi)發(fā)中,實(shí)現(xiàn)階段包括兩部分的工作:把前面分析設(shè)計(jì)的結(jié)果翻譯成某種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的程序,測(cè)試并調(diào)試程序。

        在實(shí)現(xiàn)階段,主要從實(shí)現(xiàn)層類(lèi)圖得到程序的內(nèi)部結(jié)構(gòu),增加控制類(lèi);通過(guò)順序圖、活動(dòng)圖等得到程序的實(shí)現(xiàn)過(guò)程;通過(guò)通信圖中的消息發(fā)送得到對(duì)應(yīng)的操作函數(shù),返回值得到對(duì)應(yīng)的屬性變量;通過(guò)狀態(tài)圖中引起狀態(tài)發(fā)生改變的事件,找到對(duì)應(yīng)類(lèi)的操作實(shí)現(xiàn)[5]。

        在實(shí)現(xiàn)的不同階段都需要進(jìn)行測(cè)試,主要有單元測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試,這些測(cè)試與分析設(shè)計(jì)階段關(guān)系如下:?jiǎn)卧獪y(cè)試主要依據(jù)實(shí)現(xiàn)層類(lèi)圖和類(lèi)的說(shuō)明書(shū)來(lái)測(cè)試已經(jīng)實(shí)現(xiàn)的程序單元,集成測(cè)試主要依據(jù)設(shè)計(jì)層類(lèi)圖、包圖、構(gòu)件圖、通信圖等測(cè)試類(lèi)和包的接口,把每個(gè)程序模塊正確的集成到系統(tǒng)中;系統(tǒng)測(cè)試主要根據(jù)用例圖來(lái)測(cè)試系統(tǒng)功能是否正確,是否符合用戶(hù)需求。在講解測(cè)試?yán)碚摵蛯?shí)施的過(guò)程中,將UML對(duì)于系統(tǒng)的分析和設(shè)計(jì)結(jié)合起來(lái),加深對(duì)于相關(guān)理論的理解、加強(qiáng)對(duì)于UML在面向?qū)ο筌浖_(kāi)發(fā)整個(gè)生命周期中作用的認(rèn)識(shí)。

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

        系統(tǒng)測(cè)試完成后,進(jìn)入運(yùn)行和維護(hù)階段,這一階段先使用UML的配置圖,把系統(tǒng)的軟件和硬件部署到用戶(hù)的實(shí)際運(yùn)行環(huán)境中;運(yùn)行階段出現(xiàn)狀況需要維護(hù),則可以利用前面分析設(shè)計(jì)的結(jié)果幫助快速分析和找出問(wèn)題,進(jìn)行修改。

        3 結(jié)論

        在面向?qū)ο蟮能浖こ探虒W(xué)中,會(huì)涉及到很多抽象的概念和方法;UML提供了從各種不同的視圖觀(guān)察和描述軟件系統(tǒng)特征的標(biāo)準(zhǔn)方法,可以應(yīng)用于軟件開(kāi)發(fā)過(guò)程的各階段;將UML模型與軟件工程項(xiàng)目實(shí)踐結(jié)合起來(lái)進(jìn)行教學(xué),可以增強(qiáng)學(xué)生對(duì)于教學(xué)內(nèi)容的理解,還有利于體現(xiàn)知識(shí)的實(shí)踐性和系統(tǒng)性,更好的完成課程的教學(xué)目標(biāo)和培養(yǎng)目標(biāo)。

        猜你喜歡
        用例面向?qū)ο?/a>借書(shū)
        圖圖借書(shū)
        UML用例模型中依賴(lài)關(guān)系的比較與分析
        借書(shū)去
        聯(lián)鎖軟件詳細(xì)設(shè)計(jì)的測(cè)試需求分析和用例編寫(xiě)
        從出土文獻(xiàn)用例看王氏父子校讀古書(shū)的得失
        面向?qū)ο蟮挠?jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)軟件系統(tǒng)的開(kāi)發(fā)
        借書(shū)
        面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
        圖圖借書(shū)
        面向?qū)ο骔eb開(kāi)發(fā)編程語(yǔ)言的的評(píng)估方法
        欧美人和黑人牲交网站上线| 亚洲av推荐网站在线观看| 蜜桃免费一区二区三区| 亚洲欧洲国产成人综合在线| 最近日本中文字幕免费完整 | 免费a级作爱片免费观看美国| 天天爱天天做天天爽| 久久中文字幕久久久久91| 午夜少妇高潮在线观看视频| 胸大美女又黄的网站| 免费男人下部进女人下部视频| 亚洲精品综合色区二区| 尤物蜜桃视频一区二区三区| 欧美人与动性xxxxx杂性| 精品久久亚洲中文无码| 青草青草久热精品视频国产4| 全亚洲最大的私人影剧院在线看 | 亚洲av蜜桃永久无码精品| 亚洲日本va99在线| 久久亚洲精品中文字幕蜜潮| 亚洲精品无码av人在线观看国产| 成人激情五月天| 男性一插就想射是因为啥| 色综合久久丁香婷婷| 丰满少妇一区二区三区专区 | 高潮迭起av乳颜射后入| 传媒在线无码| 久久精品熟女亚洲av艳妇| 亚洲av高清一区二区在线观看 | 日本无吗一区二区视频| 日本视频一区二区三区一| 久久人妻内射无码一区三区| 日韩久久久久中文字幕人妻| 97中文字幕一区二区| 中文字幕国产精品一二三四五区| 四虎影视免费观看高清视频| 久久中国国产Av秘 入口| 日韩av在线手机免费观看| 亚洲精品少妇30p| 欧美日韩在线免费看| 国产精品国产三级国产专区51区 |