• 
    

    
    

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

      基于統(tǒng)一過程的軟件開發(fā)研究

      2009-04-29 00:44:03仝行靠
      沿海企業(yè)與科技 2009年1期
      關(guān)鍵詞:軟件開發(fā)

      仝行靠

      [摘要]文章分析軟件開發(fā)方法的發(fā)展過程,簡(jiǎn)單介紹UML(Unified Modeling Language)的概念,詳細(xì)介紹統(tǒng)一過程的基本內(nèi)容和具體實(shí)施,并對(duì)支持統(tǒng)一過程的產(chǎn)品及應(yīng)用進(jìn)行相應(yīng)的描述,展望統(tǒng)一過程的應(yīng)用前景。

      [關(guān)鍵詞]軟件開發(fā);統(tǒng)一過程;統(tǒng)一建模語言

      [作者簡(jiǎn)介]仝行常,石河子大學(xué)商學(xué)院教學(xué)科研辦公室網(wǎng)絡(luò)管理中心助教,高級(jí)程序員,研究方向:軟件開發(fā)方法,新疆五家渠市,831300

      [中圖分類號(hào)]TP311.52[文獻(xiàn)標(biāo)識(shí)碼]A[文章編號(hào)]1007-7723(2009)01-0027-0003

      一、引言

      計(jì)算機(jī)自誕生以來,就一直以令人難以置信的速度飛快發(fā)展,其中軟件開發(fā)也得到了長(zhǎng)足的發(fā)展。自從上世紀(jì)70年代發(fā)生軟件危機(jī)后,人們經(jīng)過反思后,開始致力于軟件開發(fā)方法的研究,于是多種軟件開發(fā)方法應(yīng)運(yùn)而生,如結(jié)構(gòu)化方法和面向?qū)ο蠓椒ǖ?。但在方法的使用上又有許多變化以至于軟件開發(fā)過程缺乏統(tǒng)一性,嚴(yán)重影響了軟件工程活動(dòng)的質(zhì)量和軟件本身的質(zhì)量。軟件過程的標(biāo)準(zhǔn)化勢(shì)在必行,從上世紀(jì)90年代開始,面向?qū)ο蠹夹g(shù)的三大流派開始進(jìn)行模型整合,人們提出了UML和統(tǒng)一過程等概念。

      二、UML

      UML即統(tǒng)一建模語言,它集可視化、詳述、構(gòu)造和文檔化等特點(diǎn)于一身,是一種繪制軟件藍(lán)圖的標(biāo)準(zhǔn)建模語言。在以往面向?qū)ο蠼UZ言的基礎(chǔ)上,它提供了一系列標(biāo)準(zhǔn)化的圖形符號(hào),所建立的模型清晰完整、便于理解且有助于用戶及軟件開發(fā)人員間的交流和協(xié)商。UML作為一種軟件開發(fā)的有效工具將貫穿于整個(gè)軟件開發(fā)過程之中,它提供了多種視圖從不同角度表現(xiàn)出所開發(fā)系統(tǒng)的靜態(tài)、動(dòng)態(tài)特征,有助于完成系統(tǒng)體系結(jié)構(gòu)的設(shè)計(jì),也能夠?yàn)樽罱K的軟件產(chǎn)品提供相關(guān)的細(xì)節(jié)文檔資料。雖然UML僅僅只是一種建模語言,但卻能與Java、c++、VB等實(shí)際編程語言直接相關(guān),并支持雙向工程,即既能夠根據(jù)所建立的UML模型推導(dǎo)出相應(yīng)的編程代碼,同時(shí)也能根據(jù)實(shí)際的編程代碼構(gòu)造出相應(yīng)的UML模型。UML提供了9種視圖從不同角度表現(xiàn)整個(gè)系統(tǒng)的特征,即類圖、對(duì)象圖、用況圖、順序圖、協(xié)作圖、狀態(tài)圖、活動(dòng)圖、構(gòu)件圖和實(shí)施圖,并描繪出A種事物和A種關(guān)系,即結(jié)構(gòu)事物、行為事物、分組事物、注釋事物和依賴、關(guān)聯(lián)、泛化及實(shí)現(xiàn)關(guān)系。通過UML建立的模型既能夠讓軟件開發(fā)人員逐漸加深對(duì)正在或?qū)⒁_發(fā)的軟件系統(tǒng)的理解,也能讓用戶從較直觀的角度理解系統(tǒng)的設(shè)計(jì),有利于系統(tǒng)開發(fā)者與使用者之間的交流。UML以其自身的特點(diǎn),成為開發(fā)軟件系統(tǒng)最為有效的建模工具。雖然UML作為一種建模語言獨(dú)立于實(shí)際的開發(fā)過程,但如果將這種有效的描述工具使用在以用例為驅(qū)動(dòng)(use case)、以體系結(jié)構(gòu)(architecture)為中心、不斷迭代(iterative)與增量(incremental)的開發(fā)過程之中,將能更充分地發(fā)揮其功效,使整個(gè)系統(tǒng)的開發(fā)更加有效。

      三、統(tǒng)一過程

      統(tǒng)一過程(united Process,UP)是由統(tǒng)一建模語言UML的締造者們提出來的,并為對(duì)象管理組織(Object Management Group,OMG)所推薦。UML不僅統(tǒng)一了Booch、Rumbaugh和Jacobson的表示方法,而且對(duì)其作了進(jìn)一步的發(fā)展,并最終統(tǒng)一為大眾所接受的標(biāo)準(zhǔn)建模語言。統(tǒng)一過程是UML的締造者們權(quán)衡了30年的軟件開發(fā)實(shí)踐而形成的產(chǎn)物。它把當(dāng)前處于分離的方法學(xué)集合于一起,稱之為“統(tǒng)一方法”。它不僅統(tǒng)一了締造者們的工作,而且使得開發(fā)方法得以統(tǒng)一,方法學(xué)家的工作得以統(tǒng)一。它也包含了很多其他人員和公司對(duì)UML做出的巨大貢獻(xiàn)。例如它來自于數(shù)百個(gè)用戶多年的現(xiàn)場(chǎng)經(jīng)驗(yàn)以及Rational公司多年的工作成果。統(tǒng)一過程對(duì)于如何運(yùn)用UML的概念進(jìn)行軟件開發(fā)提供了詳細(xì)指導(dǎo),它指導(dǎo)開發(fā)隊(duì)伍安排其開發(fā)活動(dòng)的次序,為各開發(fā)者和整個(gè)開發(fā)組指定任務(wù),明確地規(guī)定需要開發(fā)的制品,提供對(duì)項(xiàng)目中的制品和活動(dòng)進(jìn)行監(jiān)控與度量的準(zhǔn)則。簡(jiǎn)言之,統(tǒng)一過程將用戶需求轉(zhuǎn)換成開發(fā)軟件系統(tǒng)的活動(dòng)集合,適合于軟件專業(yè)人員使用,恰好它是以用例為驅(qū)動(dòng)、體系結(jié)構(gòu)為中心、迭代和增量的。

      四、具體實(shí)施

      統(tǒng)一過程與以往軟件開發(fā)方法最大的不同就在于它強(qiáng)調(diào)了不斷迭代與增量的開發(fā)過程,并將此理論化、系統(tǒng)化。其實(shí),只有通過認(rèn)識(shí)一再認(rèn)識(shí)這樣不斷循環(huán)與深化的過程才能真正認(rèn)清事物的本質(zhì),對(duì)于軟件開發(fā)也是如此。由于種種原因面對(duì)如此龐大的軟件系統(tǒng),開發(fā)人員不可能一開始就完整確切地了解用戶需求,更不可能一次就設(shè)計(jì)出一個(gè)完美可行的設(shè)計(jì)方案和最終的軟件產(chǎn)品。只有在不斷迭代與增量的實(shí)踐和認(rèn)識(shí)過程中,才能真正認(rèn)清用戶的需求,才能不斷完善整個(gè)系統(tǒng)的設(shè)計(jì),最終得到一個(gè)既令用戶滿意又能從最大程度發(fā)揮其功能的軟件產(chǎn)品。統(tǒng)一過程強(qiáng)調(diào)盡量在開發(fā)早期解決致命風(fēng)險(xiǎn),所以就以風(fēng)險(xiǎn)來驅(qū)動(dòng)迭代與增量的開發(fā),將根據(jù)開發(fā)過程中面臨風(fēng)險(xiǎn)的大小,逐個(gè)排除風(fēng)險(xiǎn)并解決問題,盡量降低開發(fā)過程中的錯(cuò)誤判斷以及不必要的開支。其實(shí)整個(gè)開發(fā)過程就是在不斷重復(fù)構(gòu)成系統(tǒng)生命周期的循環(huán)。每次循環(huán)都會(huì)以向用戶提供一個(gè)產(chǎn)品為終結(jié),并在不斷迭代與增量的過程之中經(jīng)歷初始、細(xì)化、構(gòu)造和移交四個(gè)階段,同時(shí)完成需求、分析、設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試的工作。

      用例驅(qū)動(dòng)的含義是在產(chǎn)品開發(fā)的各個(gè)階段中都可以回溯到用戶的真正需求,即它驅(qū)動(dòng)開發(fā)過程,以用例為單位制定計(jì)劃、分配任務(wù)、監(jiān)控執(zhí)行和進(jìn)行測(cè)試等,將核心工作流結(jié)合為一體。用例的引入有助于模型之間的追蹤和系統(tǒng)演化。由用例能得到體系結(jié)構(gòu)和其他制品。先選擇在體系結(jié)構(gòu)上具有重要意義的用例,實(shí)現(xiàn)那些關(guān)鍵的用例,構(gòu)造出初步的體系結(jié)構(gòu),再逐步得到穩(wěn)定的體系結(jié)構(gòu)。各模型采用統(tǒng)一的建模語言即UML,方便各個(gè)階段不同工作人員之間的溝通,大大提高了工作效率。通過枚舉用例的不同執(zhí)行路徑,可導(dǎo)出測(cè)試案例和測(cè)試規(guī)程。通過用例還可估算系統(tǒng)性能、硬件需求和可用性,并能進(jìn)行用戶界面設(shè)計(jì),用例也是編寫用戶手冊(cè)的起點(diǎn)。對(duì)用例的細(xì)化在一定程度上涉及系統(tǒng)的內(nèi)部功能,對(duì)各用例進(jìn)行完整的功能描述。細(xì)化時(shí)要區(qū)分用例中的三類事物:反映系統(tǒng)與參與者(actor)之間接口的事物、系統(tǒng)中的現(xiàn)實(shí)事物和對(duì)前兩項(xiàng)進(jìn)行協(xié)調(diào)和控制的事物。

      以體系結(jié)構(gòu)為中心,簡(jiǎn)單地講,系統(tǒng)體系結(jié)構(gòu)源自系統(tǒng)需求(用例模型),從不同角度描述要構(gòu)造的系統(tǒng),注重于系統(tǒng)的顯著的靜態(tài)和動(dòng)態(tài)結(jié)構(gòu)。用戶和其他關(guān)注者要理解它,以對(duì)系統(tǒng)概貌的遠(yuǎn)景達(dá)到共識(shí)。要用系統(tǒng)的體系結(jié)構(gòu)控制系統(tǒng)的開發(fā)、復(fù)用和演化。系統(tǒng)體系結(jié)構(gòu)描述系統(tǒng)中諸如子系統(tǒng)、依賴關(guān)系、接口、協(xié)作、節(jié)點(diǎn)和主動(dòng)類這樣的最重要的模型元素,而忽略其他細(xì)節(jié)。用這些元素指導(dǎo)系統(tǒng)開發(fā)。這些重要的元素由體系結(jié)構(gòu)設(shè)計(jì)者

      完成,其余的由各設(shè)計(jì)者分別完成。

      得到系統(tǒng)體系結(jié)構(gòu)的簡(jiǎn)略步驟:

      ·在普遍了解用例之后,得到系統(tǒng)體系結(jié)構(gòu)的粗略綱要(獨(dú)立于特定用例和平臺(tái));

      ·關(guān)注關(guān)鍵用例;

      ·隨著對(duì)用例的規(guī)約,導(dǎo)致更多成熟的用例,繼續(xù)發(fā)現(xiàn)更多的系統(tǒng)體系結(jié)構(gòu)部分。

      系統(tǒng)的體系結(jié)構(gòu)經(jīng)過多次迭代,在精化階段結(jié)束時(shí),得到可執(zhí)行的體系結(jié)構(gòu)基線fArchitecture Baseline)。它是系統(tǒng)框架,最初包括系統(tǒng)件、中間件、要復(fù)用的遺產(chǎn)系統(tǒng)、系統(tǒng)分布等情況。隨后體系結(jié)構(gòu)基線是由早期版本的用例模型、分析模型、設(shè)計(jì)模型等模型組成的集合(其中用例模型和分析模型較為成熟),關(guān)注子系統(tǒng)體系結(jié)構(gòu)的內(nèi)部發(fā)布版本,包括構(gòu)造階段結(jié)束時(shí)系統(tǒng)中的所有模型,它與最終系統(tǒng)(對(duì)客戶發(fā)布的產(chǎn)品)有同樣的骨干。從體系結(jié)構(gòu)基線到最終系統(tǒng)之間要經(jīng)過幾個(gè)內(nèi)部發(fā)布,體系結(jié)構(gòu)基線的最后結(jié)果為一個(gè)模型集合和一個(gè)體系結(jié)構(gòu)描述,其中包括最重要的用例及其實(shí)例。

      建立可執(zhí)行的體系結(jié)構(gòu)基線是精化階段的一個(gè)目標(biāo),進(jìn)入內(nèi)造階段的體系結(jié)構(gòu)基線應(yīng)是堅(jiān)實(shí)的:精化階段結(jié)束時(shí)的體系結(jié)構(gòu)基線在構(gòu)造階段變化不大,即體系結(jié)構(gòu)基線到最終系統(tǒng)的體系結(jié)構(gòu)之間的改動(dòng)不大。體系結(jié)構(gòu)描述是模型的體系結(jié)構(gòu)視圖的集合,包括用例模型的體系結(jié)構(gòu)視圖(取用例的重要部分)、設(shè)計(jì)模型的體系結(jié)構(gòu)視圖、部署模型的體系結(jié)構(gòu)視圖和實(shí)現(xiàn)模型的體系結(jié)構(gòu)視圖。在開發(fā)過程中,要對(duì)體系結(jié)構(gòu)基線進(jìn)行改寫,以體現(xiàn)重要的設(shè)計(jì)問題,方便對(duì)問題的理解、討論、解決和反饋,為開發(fā)者提供所需信息的高層視圖,不遺漏大的技術(shù)問題。然而體系結(jié)構(gòu)描述中不包括體系結(jié)構(gòu)基線中的非體系結(jié)構(gòu)級(jí)的元素。這是因?yàn)轶w系結(jié)構(gòu)基線要對(duì)系統(tǒng)需求建模,以制定詳細(xì)的開發(fā)計(jì)劃,因此其用例模型中包含的內(nèi)容比系統(tǒng)體系結(jié)構(gòu)的要多。

      其實(shí)體系結(jié)構(gòu)基線與體系結(jié)構(gòu)描述同時(shí)開發(fā),指導(dǎo)整個(gè)生命周期的軟件開發(fā)。體系結(jié)構(gòu)描述在系統(tǒng)生命周期中不斷更新,以反映體系結(jié)構(gòu)基線的變化,包括新的抽象類和接口的發(fā)現(xiàn)、為已有系統(tǒng)增加新功能、可復(fù)用構(gòu)件的版本更新、進(jìn)程結(jié)構(gòu)的重新組織、體系結(jié)構(gòu)基線的新的表示形式等。

      五、總結(jié)

      統(tǒng)一過程汲取了面向?qū)ο蟮能浖こ填I(lǐng)域多年來的優(yōu)秀研究成果,利用了新的可視化建模標(biāo)準(zhǔn)UML,是軟件開發(fā)標(biāo)準(zhǔn)化要求的必然產(chǎn)物,是Rational等公司的實(shí)踐產(chǎn)物。同時(shí)Rational及其他公司開發(fā)了一系列支持應(yīng)用的產(chǎn)品,如可視化建模工具Rational Rose,用于項(xiàng)目小組跟蹤和管理開發(fā)生命周期中的所有變更活動(dòng)的需求變更管理產(chǎn)品Rational ClearQues等產(chǎn)品,這些產(chǎn)品與流行的開發(fā)工具緊密結(jié)合,最終實(shí)現(xiàn)分析、設(shè)計(jì)、編碼和文檔管理的一體化,進(jìn)一步推動(dòng)了統(tǒng)一過程在業(yè)界的應(yīng)用,取得了相當(dāng)好的效果。

      猜你喜歡
      軟件開發(fā)
      基于安卓平臺(tái)的移動(dòng)式教學(xué)模式研究
      嵌入式系統(tǒng)軟件開發(fā)技術(shù)探析
      淺談分層技術(shù)在軟件開發(fā)中的應(yīng)用
      Java軟件開發(fā)問題探究
      軟件開發(fā)中JAVA編程語言的應(yīng)用
      淺談程序設(shè)計(jì)的方法
      商情(2016年39期)2016-11-21 09:58:50
      信息安全環(huán)境下的計(jì)算機(jī)軟件開發(fā)研究
      計(jì)算機(jī)軟件開發(fā)中的分層技術(shù)運(yùn)用
      建模技術(shù)在軟件開發(fā)中的應(yīng)用
      軟件開發(fā)中數(shù)據(jù)庫設(shè)計(jì)理論的實(shí)踐
      汉川市| 龙州县| 荥阳市| 阿克| 花莲县| 宁津县| 马关县| 苍南县| 宣城市| 海口市| 博罗县| 昌宁县| 唐山市| 施秉县| 临夏市| 凤台县| 龙岩市| 桐梓县| 合阳县| 宾川县| 洛隆县| 两当县| 宁都县| 梁山县| 宁化县| 嫩江县| 左云县| 贵定县| 许昌市| 托克托县| 和平区| 弥勒县| 杨浦区| 甘泉县| 武城县| 罗甸县| 都安| 元谋县| 宁化县| 新蔡县| 伊宁市|