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

        ?

        順序圖在軟件工程實踐中的演化作用分析

        2011-09-29 02:39:10
        關鍵詞:狀態(tài)圖生命線苗圃

        何 鋒

        (云南財經大學信息學院,云南昆明 650221)

        順序圖在軟件工程實踐中的演化作用分析

        何 鋒

        (云南財經大學信息學院,云南昆明 650221)

        以苗圃管理系統(tǒng)的設計為例,從類圖及其對應的程序代碼引申出順序圖,再進一步演化出協(xié)作圖、活動圖、狀態(tài)圖和部署圖,為軟件工程設計的實踐化方法提供了有效的途徑,有利于設計工作的開展.

        軟件工程;苗圃管理系統(tǒng);順序圖;演化式設計

        軟件工程包含了技術和管理 2個方面的內容,是管理與技術的緊密結合[1].其本身的特點決定了它不是完全可以從書本和課堂上學會,理解和實踐是非常重要的.在實際的“動手做”和“真正練”中體會和掌握軟件工程的設計思想,將當前軟件企業(yè)的實際案例融入在基本原理的學習和設計之中,才能縮短與實際的軟件工程實踐的明顯差距.

        目前,使用的最廣泛的軟件工程方法學主要是傳統(tǒng)方法學和面向對象方法學.傳統(tǒng)方法學在分析和設計上主要用到了 E-R圖、DFD圖、IPO表和數(shù)據(jù)字典卡片;而面向對象方法學在分析和設計上主要采用的是 UML圖.隨著面向對象方法學在軟件研發(fā)過程中的越來越深入人心,面向對象技術也就成為當前最好的軟件開發(fā)技術,而由此也使得 UML圖的作用也就越來越重要了.

        1 順序圖概述

        UML(Unified Modeling Language)是一種標準的圖形化 (即可視化)建模語言,它可以為具有靜態(tài)結構和動態(tài)行為的系統(tǒng)建立模型.它的重要性在于表示方法的標準化有效地促進了不同背景的人們的交流,有效地促進了軟件分析、設計、編碼和測試人員的相互理解[1].

        UML由圖和元模型組成.圖是 UML的語法,而元模型給出圖的含義,是 UML的語義.其中,UML的主要內容可以用 5類圖 (共 9種圖形)來定義[1],即:①用例圖 (Use-Case Diagram);②靜態(tài)圖 (Static Diagram),包括:類圖 (Class Diagram)和對象圖 (ObjectDiagram);③行為圖 (Behavior Diagram),包括:狀態(tài)圖 (State Diagram)和活動圖 (ActivityDiagram);④交互圖 (Interactive Diagram),包括:順序圖 (Sequence Diagram)和協(xié)作圖 (Collaboration Diagram);⑤實現(xiàn)圖 ( Implementation Diagram),包括:構件圖(Component Diagram)和配置圖 (Deployment Diagram).這里主要關注的是順序圖.

        順序圖描述對象之間的動態(tài)交互關系,著重表現(xiàn)對象間消息傳遞的時間順序.順序圖的縱向表示時間,橫向表示不同的對象.瀏覽順序圖的方法是,由上至下 (按時間順序)、從左到右地查看對象間交換的消息.

        對象間的通信用對象生命線之間的水平消息線來表示,消息箭頭的形狀表示消息的類型 (同步、異步或簡單).當收到消息時,接收對象立即開始執(zhí)行活動,即對象被激活了.激活用對象生命線上的細長矩形框表示.消息通常用消息名和參數(shù)表來標識.消息還可以帶有條件表達式,用以表示分支或決定是否發(fā)消息.如果用條件表達式表示分支,則會有若干個互斥的箭頭,也就是說,在某一時刻盡可發(fā)送分支中的 1個消息.

        在面向對象建模技術中,將建立起 3種模型:對象模型、動態(tài)模型和功能模型.其中的動態(tài)模型表示了瞬時的、行為化的系統(tǒng)的“控制”性質,它規(guī)定了對象模型中的對象的合法變化序列.而順序圖在其中就起著至關重要的作用,它將顯示若干個對象之間的協(xié)作關系,強調對象之間發(fā)送消息的先后順序,描述對象間的交互過程.同時,根據(jù)順序圖,我們還可以演化出狀態(tài)圖和活動圖來.

        順序圖在面向對象動態(tài)建模技術中占至關重要的作用,它著重表現(xiàn)對象間消息傳遞的時間順序,這對軟件項目的進度控制和里程碑管理起到很好的指導作用.本文以苗圃管理系統(tǒng)的設計為例,從類圖及其對應的程序代碼引申出順序圖,再進一步演化出協(xié)作圖、活動圖、狀態(tài)圖和部署圖,這為軟件工程設計的實踐化方法提供了有效的途徑,有利于設計工作的開展.

        2 用于程序描述的順序圖

        在苗圃管理系統(tǒng)的分析設計中,可以把參與者分為 3個大類:客戶大類、苗圃員丁大類和苗木大類.其中,客戶大類可分為:新客戶和老客戶;苗圃員丁大類又分為:普通員工類、主管員工類和系統(tǒng)管理員類;苗木大類可分為:喬灌木類、移栽大樹類、扦插小苗類、樹樁盆景類、竹類植物類、藤本植物類、草本花卉類、草皮草種類、造林苗類、新優(yōu)果苗類和種籽種苗類等.為了講解方便,這里主要關注苗木大類中的喬灌木類 (以銀杏為例)、樹樁盆景類 (以羅漢松為例)和造林苗類 (以馬尾松為例).

        在苗木類 (Seedlings)的設計中,應該有 2個可訪問性為 private的數(shù)據(jù)成員 input和 seedlingsName,分別用于存儲苗木的投入和苗木的名稱,因為該私有成員僅供在 Seedlings類內部使用,所以受到嚴格的保護.Seedlings類的函數(shù)成員包括:構造函數(shù) Seedlings和 3個方法 grow、harvest和 gain,他們是公有成員,可訪問性為 public,可以被外部其他對象調用.Grow和 harvest方法實現(xiàn)了苗木生長和收獲的操作.Gain方法則計算并返回培育苗木的收益(這里假設收益是投入的 2倍).

        另外,還需要設計有 1個園丁類 (Gardener),它顯示了園丁的工作是培育喬灌木中的銀杏 (ginkgo)、樹樁盆景中的羅漢松 (podocarpus)和造林苗中的馬尾松 (pinus)等苗木.Plant和 gain方法是私有方法,說明它只能在 Gardener類中內部使用;work方法是公有的,它可以對外公開,它調用了私有的plant和 gain方法作為其工作的一部分.Gardener的gardenerName是私有的,該信息對外部是隱匿的,不能隨意修改.所設計的園丁類 (Gardener)和苗木類(Seedlings)見圖 1所示.

        在設計過程中,一個苗圃管理系統(tǒng)程序雖然是由Gardener和 Seedlings這 2個類組成,但是卻產生了gardener,ginkgo,podocarpus和 pinus 4個交互對象,因此苗圃管理系統(tǒng)程序是這 4個交互對象集合.他們的交互過程可以由UML順序圖來表示,見圖2所示.

        順序圖給出了一組對象之間發(fā)生的交互順序,標出了涉及對象以及這些對象之間傳遞的消息類型.順序圖的水平軸表示不同的對象,垂直軸表示時間.順序圖用帶標簽的矩形表示對象,對象可以接受和發(fā)送消息.每個對象下方顯示一個虛線標出的對象生命線,表示該對象的生存時間.生命線上包括有一些矩形的激活,表示對象某個交互動作的活動時間.對象與對象生命線之間的箭頭表示對象間的消息發(fā)送.

        在圖2中,gardener對象向 ginkgo對象發(fā)送 1條 grow消息,則表示為從 gardener對象生命線指向ginkgo對象生命線的標記為 grow的箭頭.這也可以理解成 gardener對象調用了 ginkgo對象的 grow方法,因為方法調用是對象間傳遞消息的機制.如果對象是與自身通信而發(fā)送消息,則箭頭指向自己的生命線,例如 gardener對象發(fā)送給自己的 plant消息,即 gardener對象調用了自己的 plant方法.另外順序圖中還可以看出對象的依存關系.在圖2中,gardener對象通過構造函數(shù)創(chuàng)建了 ginkgo對象,在圖上表示為 ginkgo對象收到消息后被創(chuàng)建激活.最后,我們還注意到順序圖有一個 actor角色,該角色是系統(tǒng)外部的使用者,負責激活系統(tǒng)對象.在圖中,該角色名為 main,即指啟動程序的 main方法.

        3 用于宏觀描述的順序圖

        我們除了把順序圖設計得很詳細,讓它與程序代碼對應起來之外,還要把順序圖設計得很抽象,讓它對苗圃管理系統(tǒng)中的一些典型的工作流程進行描述.有了這樣的既宏觀,又微觀地設計順序圖之后,對開發(fā)后繼設計過程的理解是相當有幫助的.

        以客戶訂購苗木以例,其工作流程為:客戶在瀏覽器上,進入相應的苗圃管理系統(tǒng)網站,瀏覽相關的苗木列表,選擇所需的苗木,其訂購信息就會通過網絡傳遞到Web/App應用服務器,到 DBMS數(shù)據(jù)庫服務器中進行存儲,并把存儲后的確認信息顯示到客戶所在的瀏覽器界面上.客戶再通過手機等通訊工具提醒苗圃的管理人員,并把相應的款項劃撥到苗圃的銀行賬號上.苗圃的管理人員收到這些信息后,對苗圃管理系統(tǒng)中的相關信息進行登記、編輯、統(tǒng)計、審核和確認,直到整個交易的完成.其所對應的順序圖見圖3所示.

        4 由順序圖演化出其它的UML圖

        順序圖在動態(tài)建模過程中意義重大,我們在描述 Gardener類的基礎上建立了順序圖,描述了類實例的生命周期運行情況,由于順序圖和協(xié)作圖是可以相互轉化的,故可以很快地設計出相應的協(xié)作圖來,見圖4所示.協(xié)作圖則描述了對象按照消息順序進行的相互協(xié)作過程.協(xié)作圖的重點是通過消息流的形式給出了對象之間的交互細節(jié).在從順序圖中演化出狀態(tài)圖和活動圖的過程中,對象與對象生命線之間的箭頭 (即為對象間的消息)表示的是一個個的活動,從順序圖中當前所考慮的激活上射出的箭頭線 (即消息),是這條激活上的對象達到某個狀態(tài)時所做的行為.每一條消息就是一個活動或事件,由此,在 Gardener類的基礎上再結合 Seedlings類,參照實際苗木的生長周期和培育工作流程,可以設計出活動圖來,見圖5所示.

        由于 2個事件之間的間隔就是 1個狀態(tài),同一個對象對相同的事件有不同的響應,則對象所處的狀態(tài)也不同,故也可以結合活動圖,設計出狀態(tài)圖,見圖6所示.

        同樣,結合圖3所設計的比較宏觀抽象的順序圖,也可以設計出部署圖,見圖7所示.由以上各種UML圖的演化過程中,我們可以發(fā)現(xiàn)到這樣的一些規(guī)則:在經過可行性論證和對用戶的需求進行深入分析后,設計出系統(tǒng)的用例圖和類圖 /對象圖后,將工作重點逐漸移向順序圖的設計上.隨后,根據(jù)對象按照消息順序進行的相互協(xié)作過程,將順序圖中的各個對象由時間關系映射到空間關系,建立起協(xié)作圖來.再關注過程中各個對象的狀態(tài)演變和各個狀態(tài)切換之間的動作,設計出狀態(tài)圖和活動圖來.最后,結合基于計算機系統(tǒng)的各種組成元素和Web工程設計的理念,構建出宏觀意義上的順序圖和部署圖來.

        5 結語

        總之,在軟件系統(tǒng)的開發(fā)設計過程中,通過順序圖,逐步從抽象的 UML圖到具體的代碼實現(xiàn),再由具體的代碼演化出其它更高層次抽象的UML圖來,達到了舉一反三的演化效果,這有利于軟件工程過程在執(zhí)行過程中的前后連貫和融會貫通.

        [1]張海藩.軟件工程 [M].2版.北京:人民郵電出版社,2009.

        [2]劉藝.Java程序設計大學教程[M].北京:機械工業(yè)出版社,2006.

        [3]冀振燕.UML系統(tǒng)分析與設計教程 [M].北京:人民郵電出版社,2009.

        [4]賁可榮,何智勇.軟件工程—基于項目的面向對象研究方法[M].北京:機械工業(yè)出版社,2009.

        [5]鄭人杰,馬素霞,殷人昆,等.軟件工程概述 [M].北京:機械工業(yè)出版社,2010.

        [6]何偉,趙昆.基于UML的超市移動商務系統(tǒng)分析與設計[J].云南民族大學學報:自然科學版,2009,18(4):372-374,382.

        [7]吳波,郭素敏.工作流技術在軟件測試中的應用 [J].云南民族大學學報:自然科學版,2009,18(2):169-172.

        [8]陳江,陳建國,陸慧娟,等.UML時間順序圖的實時系統(tǒng)建模及驗證[J].中國計量學院學報,2010,21(1):46-51.

        [9]張敏輝,唐慧佳,楊劍.基于網絡的采購系統(tǒng)的設計與實現(xiàn)[J].云南民族大學學報:自然科學版,2005,14(4):346-348.

        [10]侯劍,李斌,潘文林.WEB網絡考試系統(tǒng)實現(xiàn)技術研究[J].云南民族大學學報:自然科學版,2004,13(2):116-117,121.

        [11]劉會然,潘文林.云南民族大學科技處經費管理系統(tǒng)設計[J].云南民族大學學報:自然科學版,2004,13(1):68-69,72.

        [12]趙波,張玉琢,夏幼明.基于 UML的整體與部分關系的可視化表示研究 [J].云南師范大學學報:自然科學版,2007,27(5):25-29.

        (責任編輯莊紅林)

        The Evolutionary Role of Sequence Diagram in Software Engineering Application

        HE Feng
        (Information College,Yunnan University of Finance and Economics,Kunming 650221,China)

        This paper uses the nursery management system as a case study, and then goes through the class diagram and derives the corresponding code sequence diagram , collaboration diagram , activity diagram , state diagram and dep loyment p lan, which help s imp rove the software engineering app lication.

        software engineering; nursery management system; sequence diagram; evolutionary designing

        TP 311.5

        A

        1672-8513(2011)01-0058-05

        10.3969/j.issn.1672-8513.2011.01.014

        2010-09-25.

        云南省自然科學基金 (2006F0047M).

        何鋒 (1973-),男 (白族),碩士,講師.主要研究方向:軟件工程與計算智能.

        猜你喜歡
        狀態(tài)圖生命線苗圃
        基于ASP.NET的高校畢業(yè)論文管理系統(tǒng)設計與實現(xiàn)
        關于我放寒假后的真實狀態(tài)
        中學生博覽(2024年1期)2024-05-23 00:00:00
        除險清患 守護城市運行“生命線”
        基于Web 的高校資產管理系統(tǒng)的設計與實現(xiàn)
        保護我們的“生命線”
        中老年保健(2022年5期)2022-08-24 02:34:44
        種植苗圃搶先機 解決好這些問題
        藝術小苗圃
        啟蒙(3-7歲)(2019年11期)2020-01-01 10:06:10
        藝術小苗圃
        啟蒙(3-7歲)(2019年8期)2019-09-10 03:09:12
        藝術小苗圃
        啟蒙(3-7歲)(2019年5期)2019-06-27 07:25:06
        民營醫(yī)院的“生命線”
        亚洲精品美女久久777777| 国产福利姬喷水福利在线观看| 国产av电影区二区三区曰曰骚网| 精品国产一区二区三区av 性色| 亚洲AⅤ无码国精品中文字慕| 久久狠色噜噜狠狠狠狠97| 日本经典中文字幕人妻| 97激情在线视频五月天视频| 国产日本精品一区二区免费 | 国产精品国产高清国产专区| 色窝窝亚洲av网在线观看| 国产精品白浆在线观看免费| 777国产偷窥盗摄精品品在线| 国产在线精品一区二区| 91精品国产免费青青碰在线观看| 少妇一区二区三区乱码| 青青草久久久亚洲一区| 国产91会所女技师在线观看| 亚洲精品一区久久久久一品av| 漂亮人妻被中出中文字幕久久| 久久精品一区二区三区av| 四虎成人在线| 亚洲另类欧美综合久久图片区| 天堂av一区二区在线观看| 日本一区二区三区专区| 日本超骚少妇熟妇视频| 久久久精品人妻一区二区三区游戏| 亚洲人成在久久综合网站| 日本特黄特色特爽大片| 99re8这里有精品热视频免费| 免费毛片性天堂| 91精品亚洲一区二区三区| 日韩人妻免费一区二区三区| 久久伊人精品中文字幕有| 国产一级一级内射视频| 亚洲中文字幕成人无码| 极品熟妇大蝴蝶20p| 一区二区三区国产高潮| 国产色视频在线观看了| 国产av天堂亚洲国产av天堂| 亚洲色国产欧美日韩|