久久精品电影网_久久久久久电影_久久99精品久久久久久按摩秒播_天堂福利影院_国产男女爽爽爽免费视频_国产美女久久

逆向工程技術在信息系統開發中的應用

所屬欄目:計算機信息管理論文 發布日期:2021-10-19 10:02 熱度:

   在互聯網技術飛速發展的今天,為了提升企業的經營效率、降低管理成本,越來越多的企業致力于投入資金和人力建立符合自身業務需要的信息系統。在企業級信息系統的設計思想領域,Java EE的三層架構思想一直占有著主導地位。表現層負責將數據以用戶需要的形式進行展示;業務邏輯層針對具體的問題,調用Service或Service的組合來處理問題;數據訪問層則負責操作數據庫、完成具體的實現。數據訪問層的代碼具有結構相似、重復率高的特點,縮短數據訪問層的開發周期具有重要意義,闡釋了利用逆向工程工具生成數據訪問層的代碼,這種策略能夠大幅縮短數據訪問層的開發周期、提高開發效率。

逆向工程技術在信息系統開發中的應用

  1 研究的背景及意義

  在互聯網技術飛速發展的今天,為了提升企業的經營效率、降低管理成本,越來越多的企業致力于投入資金和人力建立符合自身業務需要的信息系統。在企業級信息系統的設計思想領域,Java EE的三層架構思想一直占有著主導地位。近20年來,占有率最高的技術組合從最初的JSP+Servlet+DAO,變成了SSH,然后是SSM,到最近的Spring Boot、Spring Cloud,無論哪一種技術組合,都在三層架構的思想下進行設計和編碼,即:表現層負責將數據以用戶需要的形式進行展示;業務邏輯層針對具體的問題,調用Service或Service的組合來處理問題;數據訪問層則負責操作數據庫、完成具體的Service實現。對大量系統項目的代碼進行分析和比較后不難發現,數據訪問層具有以下特點:

  (1)代碼量占比相對較高。數據訪問層代碼量大概占整個系統編碼總量的20%~30%;在以數據分析、統計為主要功能的系統中,數據訪問層的代碼占比甚至能到達40%。

  (2)代碼的重復率較高。不管DAO層包含多少張數據表,對它們進行Create、Retrieve、Update、Delete4種操作的語句的語法、結構都是相同的,差異僅在于表名、參數等部分,這使得DAO層的代碼重復率、相似度非常高。

  從軟件開發者的角度看,DAO層的代碼若采用人工編寫的方式編寫,盡管可行,但創造性勞動較少,是一個相對冗長、乏味的過程。若能找到一種自動化的方法完成上述編碼工作,至少有以下兩個方面的好處:(1)從程序員的角度看,能夠免去冗長、乏味的編碼過程,從而有更多精力專注于業務邏輯、用戶界面、用戶體驗等部分;(2)從企業的角度看,能夠降低DAO層的開發周期、減少所需的人力、節省成本。

  逆向工程是從已完成的產品或系統出發,借助各種工具進行分析和研究,進而推導出該產品的處理流程、組織結構、功能特性、技術規格等設計要素的技術。與直接開發相比,借助逆向工程技術來開發能在一定程度上縮短開發周期、減少投入經費、減少人力成本,并取得功能相似的產品。以My Eclipse、Oracle數據庫為例,闡釋如何采用逆向工程技術自動實現上述目標。

  2 逆向工程技術使用流程

  2.1 在IDE中添加逆向工程插件

  以My Eclipse 2017、Hibernate框架為例,添加插件的步驟為:在My Eclipse的Project Explorer中選中項目,右鍵菜單【Configure Facets】-->【Install Hibernate Facet】,即完成了逆向工程插件的添加。

  2.2 創建數據庫、表結構、表約束

  以租房信息管理系統的表結構為例,將被執行逆向工程的表的結構信息如下:

  (1)用戶表User (ID,Name,Password,Telephone,Use-rname)

  (2)房屋類型表Type (ID,Name)

  (3)街道表Street (ID,Name,district_id)

  (4)區表District (ID,Name)

  (5)房屋表House (ID,User_id,type_id,street_id,ti-tle,price,floorage,imge)

  用下劃線標記的字段為主鍵;用波浪線標記的字段為外鍵。

  2.3 利用逆向工程工具生成DAO層代碼

  2.3.1 開啟Database Explorer

  在My Eclipse 207中依次選擇菜單【Window】-->【Perspective】-->【Open Perspective】-->【Database Explorer】。

  2.3.2 添加Oracle數據庫連接

  在【DB Browser】中依次選擇菜單【New】-->【輸入數據庫配置信息(驅動信息、連接URL、用戶名、密碼)】-->【連接】,可連接上數據庫并查看到所有的Schema和數據庫對象。

  2.3.3 對表使用逆向工程

  在Schema中找到要執行逆向工程的5張表。然后右鍵菜單【Hibernate Reversing Engineering】--設置生成的DAO層代碼保存路徑--Finish,即可完成DAO層代碼的生成。

  上述5表生成的DAO層主要類如下:

  (1) District DAO,持久化操作District表。(2)House DAO表,持久化操作House表。(3) Street DAO,持久化操作Street表。(4) User DAO,持久化操作User表。(5) Type DAO,持久化操作Type表。(6) Hibernate Session Factory,創建Sessesion Factory。(7) BaseHibernate DAO,基類,提供訪問數據庫所需的Session。

  3 對DAO層代碼進行必要調整、集成到系統

  3.1 代碼調整

  逆向工程工具生成的DAO類的基本成員類型,有時會需要進行必要的調整,調整主要涉及到兩個方面:

  3.1.1 DAO類基本屬性類型的調整

  例如,DAO類代碼中映射主鍵的ID字段的類型為Java.lang.Double,大多情況下調整為Java.lang.Integer較合適。

  3.1.2 手動創建某些名稱特殊的DAO類

  例如,數據庫中房屋類型Type表,由于Type類為Jdk中已有的類,因而無法生成Type.java和Type DAO.java。這種情況下,只能手動創建Type.java、Type DAO.java。當逆向工程工具遇到名字特殊的表時,不能正常生成。解決這個問題的方式是,預先將表的名稱修改成非特殊名稱,然后再使用逆向工程工具。

  3.2 集成到系統

  根據是否系統是否采用了Spring,集成方式分為以下兩種情況:未采用Spring的系統、采用了Spring的系統。

  3.2.1 未采用Spring的系統

  可直接集成。即,在服務層直接使用new的方式創建DAO對象,然后對相應的表進行持久化操作。

  3.2.2 采用了Spring的系統

  采用了Spring的系統,Spring的IOC容器中創建并維護著操作數據庫所需的Session Factory Bean。在這種情形下,DAO對象中的Session Factory應采用用自動裝配的方式從Spring的IOC容器中獲取Session Factory,不再采用new的方式創建。

  3.3 在DAO中添加自定義的數據庫訪問方法

  通過逆向工程工具生成的DAO類中具備方法較多,常用的如下(以House DAO為例):

  (1) void delete (House),刪除House對象對應的記錄。(2) List find All(),查詢House表中的所有記錄。(3) List find By Example (House),查詢House表中屬性與參數匹配的記錄。(4) List find By Property (String,Object),根據屬性名、屬性值查詢表中能匹配的記錄。(5) House merge (House),將傳入的托管態的對象的屬性復制到持久化對象中,并返回持久化對象。(6) void save (House),根據House對象在表中插入新紀錄。

  4 結語

  逆向工程工具的采用使得數據訪問層代碼的生產方式從人工編寫轉變成了自動生成,大幅地提高了開發效率、縮短了編碼周期,從而使得開發人員能夠將更多的精力專注于業務層、用戶界面、用戶體驗的工作,具有相當的使用價值。

  參考文獻

  [1]王奎.基于SSM框架的Java Web開發課程教學中的幾點思考[J].電腦知識與技術,2018,(27).

  [2]吳官學基于Spring MVC酒店信息管理系統[D].吉林大學2018.

  [3]葛萌基于Spring MVC框架的Java Web應用[J].計算機與現代化,2018.(08).

  《逆向工程技術在信息系統開發中的應用》來源:《電腦編程技巧與維護》,作者:高新凱

文章標題:逆向工程技術在信息系統開發中的應用

轉載請注明來自:http://www.56st48f.cn/fblw/dianxin/xinxiguanli/46938.html

相關問題解答

SCI服務

搜論文知識網 冀ICP備15021333號-3

主站蜘蛛池模板: 成年精品 | www.久久99 | 日本三级全黄三级三级三级口周 | 日韩日韩日韩日韩日韩日韩日韩 | 综合色站导航 | 欧美aaaaaaaaaa | 毛片网站在线观看 | 国产污视频在线 | 日本免费在线看 | 国产精品视频 | 免费黄色录像片 | 免费看啪啪网站 | 国产亚洲一区二区三区在线观看 | 欧美一二三区 | 一起操网站 | 精品国产乱码久久久久久图片 | 毛片片| 亚洲精品成人网 | 色久影院 | 免费av在线网站 | 日韩在线免费 | 久久蜜桃av一区二区天堂 | 亚洲午夜精品一区二区三区他趣 | 成在线人视频免费视频 | 国产乱码精品一区二区三区中文 | 日韩视频在线播放 | 狠狠综合网 | 九九精品在线 | 涩爱av一区二区三区 | 人人艹人人爽 | 99久久婷婷国产综合精品电影 | 在线中文视频 | 国产精品日韩一区二区 | 亚洲日韩中文字幕 | 成人av影院 | 国产激情在线 | 狠狠亚洲 | 91精品国产91久久久久久吃药 | 色婷婷精品国产一区二区三区 | 国产乱码精品一品二品 | 中文字幕亚洲精品 |