亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

基于UML柔性開發模型之Java設計

2019-11-18 12:20:02
字體:
來源:轉載
供稿:網友

  一. 面向對象技術與UML語言
  與傳統的結構化軟件開發技術不同,面向對象技術提出了對象的封裝、繼續、多態性、對象的覆蓋等方法,而傳統的程序表示方法(如:框圖、NS圖等),無法對面向對象這些新的特性加以描述表達。因此,面向對象技術的表達、面向對象技術的方法論也是面形對象技術必不可少的研究內容之一。
  面向對象方法論從1986年Booch率先提出后,至今已有50種以上的方法論出現,常見的有Rumbaugh的對象模型技術OMT、Booch以及Yourdon的面向對象分析與設計(OOA/OOD)、Jacobson的面向對象軟件工程(OOSE)、(Martin/Odell)的面向對象分析與設計(OOAD)、(Shlaer Mellor)的面向對象系統分析(OOSA)、Brock的責任導向設計RDD等等,各有其特色,但是不同分析設計方法缺乏統一的標準。
  為了整合面向對象方法論,1995年由Rumbaugh、Booch、Jacobson三位面向對象大師提出與最重要的、具有劃時代統一建模語言(Unify Modeling Language,簡稱 UML)。1997年后,UML成為現今國際軟件工業的標準。事實上,近年來UML在世界范圍,已經逐漸成為是面向對象技術領域內占主導地位的標準建模語言。
  二. Rational Rose UML柔性開發模型
  Rational Rose UML柔性軟件開發模型,是指在軟件開發過程中,根據需求工程的牽引,首先建立軟件系統的頂層模型,并對其進行模擬、分析和調整。然后,將頂層模型自頂向下地進行分解,建立該系統各個子系統的模型,對這些子模型進行模擬、分析和調整。將子模型的模擬結果,逐次代入上層,再對該上層模型進一步進行模擬、分析和調整,如有不適,則進行修改。因此整個建模過程是一個"自頂向下建模,由底向上修改"的反復迭代的過程。簡言之,柔性軟件開發過程是一個在需求牽引下,自頂向下分層細化地建模,然后按照"T型技術",通過對模型的虛擬執行,由底向上地逐層上移修改,直至各層的模擬結果都滿足需求為止。
  
 基于UML柔性開發模型之Java設計(圖一)

  
圖 1柔性軟件開發模型

  代碼的生成建立在模型正確性的基礎上,同時考慮到對需求修改的靈活性和快速響應能力,實施能夠反饋修改的"閉環開發"。即不僅能支持從模型到代碼的自動生成,將新的模型轉換為代碼,還能支持從代碼到模型的逆向變換,將原有的代碼轉化成模型,進行再次分析、修改和調整以及新一輪的開發,從而為增量式開發提供支持。這樣不僅能做到分階段提交產品,也提高了對用戶需求變化的響應速度和應變能力,以滿足用戶不斷變化的新的需求。Rational Rose是一個能支持系統建模、系統模擬和系統生成的"閉環式開發"的集成化支持環境。
  
 基于UML柔性開發模型之Java設計(圖二)

  
圖 2基于Rational Rose UML開發模型用例圖

  三. Jbuilder對UML的支持
  java作為純面向對象的計算機語言,自然與UML關系密不可分。目前比較流行的Java集成化的開發系統(IDE),如:Jbuilder7、Visual Café、IBM Visual age,都或多或少地提供了對UML的支持。在此,只討論Jbuilder集成化開發環境。
  
 基于UML柔性開發模型之Java設計(圖三)

  
圖 3 Jbuilder集成開發環境

  
 基于UML柔性開發模型之Java設計(圖四)

  
圖 4 Jbuilder自動生成的應用程序UML類圖

  Jbuilder對雖然提供了對UML的 支持,不過鄰人遺憾的是Jbuilder對UML的支持是有限的。截止到Jbuilder8版本,只提供了由程序源代碼到UML類圖自動生成功能。在某種意義上,該功能確實為開發人員提供了迅速分析現有程序代碼的功能。但是,Jbuilder自身并不支持由UML類圖到程序代碼這一源碼產生正向過程(Jbuilder中EJB的開發過程中,只提供了簡單的類似UML圖到程序源代碼的過程)。
  我們知道,一個產品的開發與研制,通常是由產品設計工程師繪制出產品圖紙,然后,再由產品加工人員,根據圖紙加工出產品。在這其中"圖紙"是設計的第一步驟,而Jbuilder(至少在Jbuilder8以下版本)并沒有提供這一功能。因此,單純地應用Jbuilder并不能實現UML柔性開發模型。
  四. Rational Rose UML柔性開發模型Java開發環境的建立
  Rational Rose 是IBM公司出品(最近,Rational 公司已經被IBM公司收購)的面向對象統一建模語言與軟件開發集成環境,它提供了Java,C++,Visual Basic,ADA等等諸多軟件的軟件代碼雙向生成環境,另外,他還提供了與Jbuilder集成開發環境。該開發環境建立步驟如下:
 ?。?) 首先安裝Jbuilder。
  讀者可以從http://www.borland.com/jbuilder上免費下載Jbuilder8的試用版本。Jbuilder8的安裝過程比較簡單,一般選擇默認安裝選項即可,具體過程在這里就不介紹了。
 ?。?) 安裝Rational Rose。
  Rational Rose可以從http://www.rational.com上下載,并免費試用。Rational Rose在安裝過程中,有兩個非凡重要的選項是:安裝對Java的支持和安裝對Jbuilder 鏈接(Link)支持。Rational Rose在安裝過程中會自動搜尋Jbuiler的安裝目錄并在Jbuilder的安裝目錄,安裝一些必要的鏈接文件文件。
  
 基于UML柔性開發模型之Java設計(圖五)

  
圖 5 Rational Rose中配置Jbuilder

  
 基于UML柔性開發模型之Java設計(圖六)

  
圖 6 Jbuilder、Rose開發模型交互選項

 ?。?) Rational Rose與Jbuilder開發環境的配置。
  在Rational Rose中配置Jbuilder。在Rational Rose的Tool工具欄上,選擇Java/J2EE-PRoject specification-Code Generation,選擇IDE為Jbuilder,另外,還可以復選Automatic Synchronization (見圖5),可以實現jbuilder代碼與Rose UML模型圖的同步。至于Jbuilder,無需任何配置,在Tool菜單中,自動增添了Rational Rose Update Model和Rational Rose Show In Model菜單選項,以實現模型與代碼的雙向同步(見圖6)。
  五. 使用Rational Rose 與Jbuilder UML柔性開發模型案例
  為了拋磚引玉,演示Rational Rose 與Jbuilder UML柔性開發模型案例,筆者舉一個最為簡單的入門例子。該程序運行時候,根據用戶的輸入,顯示"你好?。?!"(其中***,為用戶輸入的字符串)。
  在這個例子中,我們使用一個接口(interface),Hello.java,該接口提供了一個靜態最終變量public final static String hi="你好",并提供了一個抽象的方法say(),HelloWrold,繼續interface Hello.java,完成接受用戶輸入,顯示"你好?。?!"。
  首先,我們使用Rational Rose對上述設計思想進行描述,勾畫UML類圖(見圖7)如下:
  
 基于UML柔性開發模型之Java設計(圖七)

  
 基于UML柔性開發模型之Java設計(圖八)

  
圖7 Rational Rose UML類圖設計以及Java代碼生成

  選擇選擇Java/J2EEàProject specificationà在Code Generation,默認在在c:/RoseJbuilderLink目錄下產生的Java代碼框架,并自動打開Jbuilder見圖8。
  
基于UML柔性開發模型之Java設計(圖九)

  
圖8 Jbuilder環境下查看Rational Rose生成的Java代碼

  將上述生成的Hello.java和HelloWorld框架代碼(指:代碼結構),在Jbuilder環境下填寫必要的代碼:可以得到Hello.java //Source file: C://Hello//src//Hello.java
  
  public interface Hello
  {
  public final static String hi="你好";
  
  /**
  * @roseuid 3E9932680328
  */
  public void say();
  }
  HelloWorld的代碼為:
  //Source file: C://Hello//src//HelloWorld.java
  
  import java.io.*;
  
  public class HelloWorld implements Hello
  {
  private String name=null;
  
  /**
  * @roseuid 3E9937D302C8
  */
  public HelloWorld()
  
  {
   System.out.println("請輸入您想問候的名字(按回車結束):");
  try {
   DataInputStream da = new DataInputStream(System.in);
   name = new String(da.readLine().getBytes("ISO8859-1"));
  }
  catch (IOException ex) { }
   }
  
  /**
  * @roseuid 3E9937BC0008
  */
  public static void main(String [] args) {
   HelloWorld hh=new HelloWorld();
   hh.say();
  
  }
   /**
  * @roseuid 3E9937D30318
  */
  public void say()
  {
  System.out.println(this.hi+name);
  }
  }
  
  在Jbuilder環境下修改代碼以后,選擇ToolsàRational Rose Update Model,可以反向更新在Rational Rose環境下的UML類圖。   在上述這個非常小的例子中,我們可以看到軟件的開發過程為:設計――代碼――設計,設計與代碼是雙向自動更新的,這種設計方法符合開發人員的思維,對軟件的源碼維護也十分直觀,是一種高效的軟件開發方法。
  6 結束語
  軟件開發的技術(或者稱藝術)是沒有止境的,使用Java與UML結合可

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩综合视频网址| 国产精品第8页| 国产精品久久一区| 日韩欧美一区二区三区久久| 亚洲嫩模很污视频| 亚洲国产精品一区二区久| 一区二区三区www| 国产精品扒开腿做爽爽爽视频| 国产精品久久久久999| 国产精品欧美日韩久久| 国产精品最新在线观看| 日韩av影院在线观看| 欧美性受xxxx白人性爽| 久久亚洲精品成人| 日韩在线精品一区| 欧美在线视频免费| 久久综合久久88| 亚洲第一福利网| 亚洲第五色综合网| 97视频在线观看免费| 亚洲欧美日本另类| 成人激情视频小说免费下载| 欧美极品美女电影一区| 久久久久久网站| 欧美激情一区二区三区高清视频| 亚洲欧洲中文天堂| 亚洲精品综合久久中文字幕| 色播久久人人爽人人爽人人片视av| 欧美色播在线播放| 国产精品久久久久av免费| 国产精品一区二区3区| 亚洲男人天堂手机在线| 亚洲男女性事视频| 欧美精品做受xxx性少妇| 在线电影av不卡网址| 欧美黑人极品猛少妇色xxxxx| 韩国19禁主播vip福利视频| 亚洲视频电影图片偷拍一区| 伊人精品在线观看| 欧美二区在线播放| 国产成人短视频| 欧美国产日韩一区二区| 日韩一区二区久久久| 欧美自拍大量在线观看| 日韩中文av在线| 国产精品男人爽免费视频1| 日韩av中文字幕在线播放| 日韩视频永久免费观看| 国产99久久精品一区二区永久免费| 国产精品人人做人人爽| 国产欧美va欧美va香蕉在| 国产成+人+综合+亚洲欧美丁香花| 日韩欧美在线网址| 欧美日韩国产第一页| 97精品一区二区视频在线观看| 亚洲91精品在线| 亚洲精品456在线播放狼人| 久久久久久久999精品视频| 中文字幕国产精品久久| 国产成人av网址| 亚洲天堂2020| 亚洲欧美日韩综合| 中文字幕精品久久久久| 精品久久久av| 欧美猛少妇色xxxxx| 日韩av一区二区在线| 国产成人综合久久| 国产性猛交xxxx免费看久久| 日韩精品在线看| 欧美精品www在线观看| 国产精品免费视频xxxx| 欧美激情精品久久久| 成人激情免费在线| 精品亚洲va在线va天堂资源站| 国产精品爱久久久久久久| 日韩中文字幕免费| 欧美超级乱淫片喷水| 久久久天堂国产精品女人| 国产91网红主播在线观看| 91久久久久久久久| 久久手机精品视频| 国产精品91久久| 中文字幕av日韩| 国产日韩中文字幕在线| 亚洲精品电影在线观看| 精品久久久香蕉免费精品视频| 欧美又大粗又爽又黄大片视频| 亚洲综合国产精品| 久久亚洲精品中文字幕冲田杏梨| 日韩av观看网址| 日韩av在线免费| 国产欧美日韩免费看aⅴ视频| 亚洲精品美女久久久| 国内成人精品一区| 国产亚洲精品美女久久久| 欧美午夜精品久久久久久久| 色爱精品视频一区| 亚洲乱码国产乱码精品精天堂| 中文字幕av一区二区| 日韩成人av在线播放| 国产日韩欧美自拍| 中文字幕亚洲在线| 亚洲精品资源在线| 日韩中文字在线| 日韩精品日韩在线观看| 91久久久久久久一区二区| 亚洲老板91色精品久久| 国产精品一区二区久久久久| 国产日韩专区在线| 欧美黄色免费网站| 91精品视频观看| 亚洲va国产va天堂va久久| 久久精品中文字幕一区| 亚洲护士老师的毛茸茸最新章节| 亚洲伊人久久大香线蕉av| 欧美性猛交xxxx| 欧美美最猛性xxxxxx| 久久久噜噜噜久久| 国产欧美精品久久久| 国产亚洲精品va在线观看| 国外色69视频在线观看| 欧美一区二三区| 色妞一区二区三区| 日韩一区av在线| 中文字幕在线亚洲| 欧美日韩国产精品一区| 精品高清美女精品国产区| 最近免费中文字幕视频2019| 一本色道久久综合狠狠躁篇的优点| 日韩电影免费观看在线观看| 成人av资源在线播放| 丝袜一区二区三区| 中文字幕av一区二区三区谷原希美| 97视频在线观看视频免费视频| 9.1国产丝袜在线观看| 成人精品一区二区三区电影黑人| 国产精品中文字幕久久久| 欧美色播在线播放| 国产精品青草久久久久福利99| 中文字幕亚洲无线码在线一区| www.色综合| 国产欧美日韩中文字幕| 91免费版网站入口| 国产精品九九久久久久久久| 亚洲嫩模很污视频| 久久久久久伊人| 欧美老女人性视频| 一区二区成人av| 日韩欧美视频一区二区三区| 久久精品99无色码中文字幕| 国产欧美在线看| 欧美成人精品一区二区| 久久乐国产精品| 久久97久久97精品免视看| 45www国产精品网站| 黄网动漫久久久| 91精品在线国产| 亚洲精品国产成人| 中文字幕亚洲一区| 国产欧美日韩综合精品| 在线观看欧美www| 伊人伊人伊人久久| 久久久999精品免费| 久久久久www|