劉鴻飛 梅磊



摘要:文章就雷達軟件測試知識共享進行了深入的研究,將共享知識的理念應用到雷達軟件工程中,設計并實現了雷達軟件測試知識共享平臺,為雷達軟件研發與測試人員提供了一個知識資源共享與交流的渠道。共建了一個龐大的雷達軟件測試知識庫,使得開發與測試人員的工作成果得到有效利用。同時,利用信息技術高效地對平臺進行管理,為廣大雷達軟件科研工作者獲取雷達軟件相關知識提供一個方便快捷的途徑。
關鍵詞:軟件研發;軟件測試;知識共享平臺;知識元;數據庫
中圖分類號:TP311.56? ? 文獻標識碼:A
文章編號:1009-3044(2019)16-0050-03
開放科學(資源服務)標識碼(OSID):
Abstract: This article has conducted in-depth research on knowledge sharing of radar software testing, applies the concept of shared knowledge to radar software engineering. This paper designs and implement a knowledge sharing platform of radar software testing, provides a channel for knowledge resource sharing and communication for radar software developers and testers. Simultaneously, this article uses information technology to efficiently manage the platform, provides a convenient and fast approach for radar software researchers acquiring radar software related knowledge.
Key words: Software Development; Software Testing; Knowledge Sharing Platform; Knowledge Element; Database
1 背景
在人們日常生活中,基礎知識、工作經驗、管理方法、創新思想等事物非常容易碎片化,個人難以分門別類地進行積累與保存,使得很多知識在時間長河中漸漸流失,無法形成有效的資源或對社會產生貢獻。近年來,共享的思維理念催生了眾多新事物,如共享單車、共享汽車和共享充電寶等,已經融入了民眾生活,成為生活中不可或缺的一部分。如今,知識資源共享[1]的理念也被提出,它將基礎知識、工作經驗、管理方法、創新思想等事物以文檔資料或數字化的方式匯聚并保存起來,共享給所有相關人員學習參詳。
在雷達軟件工程中,軟件測試是貫穿整個軟件研發過程[2]的,在需求分析、概要設計、詳細設計以及編碼階段均需要軟件測試[3]的參與,包括文檔審查、靜態分析[4]、代碼審查、單元測試、集成測試、系統測試、驗收測試等,伴隨著這些測試會產生大量的文檔、經驗、案例、方法等。為了保存這些工作中產生的知識資源,滿足現代網絡信息技術與雷達軟件研發的需求,本文設計實現了雷達軟件測試知識共享平臺,作為雷達軟件研發與測試知識資源的核心,為研發人員與測試人員提供了文獻檢索、知識共享、案例分析等數字化學習環境。
2 J2EE框架
J2EE框架[5]是一種分布式的編程體系框架,該框架簡化并規范了企業級應用系統的設計、開發和部署,提高了應用的可移植性、安全性以及重復利用性。J2EE框架不僅繼承了JAVA開發語言的各種特點,同時兼容了組件模式、工廠模式等管理模式,可以為分布式、多層次的企業級應用提供完善的技術手段和解決方案。技術手段主要包括:
1)Servlet技術:Servlet是一種基于JAVA平臺的運行在服務器端的CGI技術,用于動態生成Web頁面。Servlet技術比傳統CGI技術具有更高的并發訪問效率,且使用方便;
2)JSP技術:JSP(JAVA Server Page)是一種靜態與動態頁面混合的編碼技術,用于制作Web頁面。通過JSP技術,Web頁面的制作任務可以更加容易的分解與合成。程序運行時,JSP會以Servlet的形態進行編譯運行,因此與Servlet同樣具有高效率的特點;
3)JDBC技術:JDBC(JAVA Database Connectivity)API是一個標準SQL(Structured Query Language)數據庫訪問接口,開發人員可以通過JDBC技術調用JAVA API編寫數據庫程序代碼;
4)EJB技術:EJB定義了一組可重用的Enterprise Beans組件,開發人員可以像搭積木一樣利用這些組件構建分布式應用程序。
J2EE應用的分層模型大致分為以下5層:
1)Domain Object層:該層由一系列POJO(Plain Old Java Object)組成,包含了這些對象所需實現的業務邏輯方法;
2)DAO(Data Access Object)層:該層由一系列DAO組件組成,通過這些組件可以完成對數據庫的增、刪、改、查等操作;
3)業務邏輯層:該層由一系列業務邏輯對象組成,通過這些業務邏輯對象可以實現系統所需的業務邏輯方法;
4)控制器層:該層由一系列控制器組成,通過控制器可以接收、處理用戶請求,并將處理結果回饋到表現層;
5)表現層:該層由一系列JSP頁面組成,負責收集用戶請求、顯示處理結果。
3 平臺設計思路
3.1 知識元是構建平臺的基礎
知識元[6]是不可再分割的知識單位,具有“獨立性”“穩定性”“唯一性”“鏈接性”等基本特征。“穩定性”是指每個知識元都具有完整的知識結構,“唯一性”是指每個知識元都與其他知識元有所不同,一個個“獨立”的知識元,依據一定的邏輯關系可以構成知識單元,這種邏輯關系被稱作知識元的“鏈接性”。不同的知識單元進行排列組合形成知識鏈,進而構成整個知識網絡。
3.2 設計原理
雷達軟件測試知識共享平臺基于多技術層次、服務架構和組件的J2EE技術架構,通過雷達軟件測試知識倉庫,集成雷達軟件研發人員和測試人員取得的研究成果(知識元),建立知識領域,以開放式的形式為用戶提供一個測試知識共享的人機交互網絡平臺。雷達軟件測試知識共享平臺主要有以下三大目標:1)為雷達軟件測試知識的傳播提供支撐;2)依托雷達軟件測試知識倉庫,將雷達軟件測試中的文檔審查、靜態分析、代碼審查、動態測試等方法形成有用的知識元,在雷達軟件測試人員中共享;3)為提高雷達軟件研發人員的軟件研發質量提供幫助。
3.3 架構體系
雷達軟件測試知識共享平臺由數據訪問層、業務邏輯層、控制層、用戶表現層組成。數據訪問層即雷達軟件測試知識庫,涵蓋需求分析、文檔審查、靜態分析、代碼審查、動態測試、測試結果等方法和文檔,是平臺的核心組成部分。業務邏輯層主要用來實現平臺的業務功能,包括雷達軟件測試知識的上傳、檢索、瀏覽、推送、下載等服務。控制層主要用于接收、處理用戶請求,并根據用戶權限等將處理結果反饋到用戶表現層。用戶表現層負責收集用戶請求、顯示處理結果。平臺架構體系如圖1所示。
4 功能模塊
平臺主要包括五個功能模塊:用戶模塊、知識上傳模塊、知識檢索模塊、知識修改模塊、知識訂閱模塊,各模塊分別包含子模塊。平臺模塊整體示意圖如圖2所示。以下分別就各個模塊的設計與實現進行介紹。
4.1 用戶模塊
雷達軟件知識共享平臺采用分權限管理的方式,以保證知識資源的實時性、有效性、安全性。根據用戶權限的不同,將用戶分為普通用戶、知識管理員、知識專家、平臺管理員等不同角色,其中平臺管理員為權限最高角色,負責對整個平臺的用戶與事務進行統一管理。普通用戶具有的權限包括:檢索、瀏覽、訂閱、上傳、下載、修改知識的權限,其中檢索和瀏覽權限無需進行授權,訂閱、下載權限需要知識管理員進行授權,上傳、修改知識需要知識專家和知識管理員進行同時授權;知識管理員負責對知識的訂閱、上傳、下載、修改進行管理,以保證相關操作按照一定的規章流程進行;知識專家負責對普通用戶上傳的知識進行審查,對已有的知識進行修改,以保證知識庫中各類知識的實時有效。通常知識專家為雷達軟件工程領域工作多年的科研從業人員,具有豐富的經驗和知識基礎。
4.2 知識上傳模塊
雷達軟件知識共享平臺支持普通用戶與知識專家上傳知識資源到平臺知識庫中。用戶在網頁上進入知識上傳模塊,填寫想要上傳的知識元數據或文檔資料,再進行提交。對于普通用戶而言,提交后流程轉到知識專家處,由知識專家對用戶上傳的知識元數據或文檔資料進行審核,以保證信息的質量,確認無誤后再轉給知識管理員存入知識庫中。對于知識專家而言,除了審核普通用戶上傳的知識數據,也可上傳自己在工作中遇到的各類知識數據,并由其他相關知識專家進行審核,以防止人為疏漏。若審核過程中遭到否決,則平臺會將流程駁回,并以郵件的形式通知上傳者。知識上傳模塊示意圖如圖3所示。
4.3 知識檢索模塊
雷達軟件知識共享平臺提供了高效的檢索服務,方便用戶對于知識點的快速搜索。平臺的檢索方式分為兩種:普通檢索和高級檢索。普通檢索是通過關鍵詞、主題、時間、作者等內容進行檢索,檢索效率較低;高級檢索提供了用戶自定義的布爾表達式進行檢索,檢索結果精確,且效率較高;同時,平臺還提供了在結果中檢索的二次檢索模式,方便用戶對結果進行再次查找。知識檢索模塊示意圖如圖4所示。
4.4 知識修改模塊
雷達軟件知識共享平臺提供了知識修改功能,以保證平臺知識庫的實時性、可靠性、安全性。知識修改由知識專家來完成,知識專家定期對相關領域的知識進行檢查,如發現有知識資源更新時發生錯誤,如描述錯誤、概念錯誤等,或有的知識資源由于人類科學認知發生改變而需要進行相應變更的,由知識專家申請修改相應知識資源,并由其他相關知識專家進行審核,審核通過后由知識管理員保存入知識庫。
4.5 知識訂閱模塊
雷達軟件知識共享平臺為用戶提供了知識訂閱的服務,用來滿足用戶想持續了解某一領域的最新動態、研究進展等需求。用戶在訪問web頁面的某一領域知識資源時,如果對相關內容感興趣,可以通過點擊右上角的“訂閱”按鈕來訂閱該領域的知識內容。每當有新的相關領域知識資源上傳或是修改時,平臺將會將最新的知識資源以郵件的形式發送至用戶郵箱,以便用戶了解該領域的最新進展。用戶可以在“我的用戶”中刪除、查看已訂閱的知識專題。知識訂閱模塊示意圖如圖5所示。
5 結論
本文就雷達軟件測試知識共享進行了深入的研究,將共享知識的理念應用到雷達軟件工程中,設計并實現了雷達軟件測試知識共享平臺,為雷達軟件研發與測試人員提供了一個知識資源共享與交流的渠道,共建了一個龐大的雷達軟件測試知識庫,使得開發與測試人員的工作成果得到有效利用。同時,利用信息技術高效地對平臺進行管理,為廣大雷達軟件科研工作者獲取雷達軟件相關知識提供一個方便快捷的途徑。但是該平臺后續還需不斷完善其服務與機制,加強對雷達軟件測試知識資源的整合,不斷補充與更新知識倉庫,從而能以更加全面、豐富的知識資源服務廣大雷達軟件從業人員。
參考文獻:
[1] 劉譯陽, 姜珊. 基于大數據下社會網絡分析與知識共享管理研究[J]. 情報科學, 2019, 37(4): 109-115.
[2] 劉鴻飛, 石曉寧, 梅磊, 等. 基于云計算架構的云測試平臺搭建[J]. 電腦知識與技術, 2019(9): 35-37.
[3] 梅磊, 石曉寧. 軍用軟件探索式測試方法的研究[J]. 電子質量, 2016(2): 5-10.
[4] 梅磊, 劉先博. Klocwork在軍用軟件測試中的應用[J]. 航天標準化, 2017(3): 38-42.
[5] 趙亞民, 王榮花. 基于J2EE體系Spring MVC框架的科技項目管理系統的設計與實現[J]. 山西科技, 2019, 34(2): 59-61.
[6] 武建光, 蘇云梅, 于琦, 等. 基于知識元的學術文獻分類研究[J]. 情報理論與實踐, 2019, 42(3): 160-165.
【通聯編輯:謝媛媛】