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

        ?

        軟件原型系統(tǒng)在軟件項目開發(fā)中的應用

        2019-04-19 05:18:32劉立康
        計算機技術與發(fā)展 2019年4期
        關鍵詞:轉碼云化原型

        姜 文,劉立康

        (西安電子科技大學 通信工程學院,陜西 西安 710071)

        0 引 言

        軟件原型法[1-6]是軟件開發(fā)過程中常用的一種軟件工程方法。原型法的基本思想是根據(jù)用戶提出的需求,由用戶與開發(fā)者共同確定系統(tǒng)的基本要求和主要功能,并在較短時間內(nèi)建立一個實驗性的,簡單的小型系統(tǒng)。確定需求的可行性之后,再在原型系統(tǒng)的基礎上,進一步開發(fā)正式的軟件產(chǎn)品。軟件原型法符合人們認識事物的規(guī)律,軟件原型法的靈活應用可以縮短開發(fā)周期、提高開發(fā)效率、降低開發(fā)成本。

        依據(jù)軟件開發(fā)的工作實踐,結合軟件原型和基線的概念提出了新的軟件原型系統(tǒng)定義。軟件原型系統(tǒng)包含四個要素:需求分析、軟件架構設計、基礎軟件、軟件運行環(huán)境。建立軟件原型系統(tǒng)的過程中可以充分利用面向對象、軟件復用[7-8]等技術。軟件原型系統(tǒng)的思想與方法可以用于復雜環(huán)境下的大型軟件系統(tǒng)的開發(fā)。

        1 原型法

        原型法又稱快速原型法(rapid prototyping),是近年來提出的一種開發(fā)軟件系統(tǒng)的新方法。原型(prototype)即樣品、模型的意思。在軟件開發(fā)過程中,“原型”可以形象地表示系統(tǒng)的一個早期可運行版本,能夠反映該系統(tǒng)的部分重要功能和特征。

        1.1 原型法定義

        原型法(prototyping)是指在獲取一組基本的需求定義后,利用高級軟件工具可視化的開發(fā)環(huán)境,快速地建立一個目標系統(tǒng)的最初版本。

        軟件原型的基本要素包括:體現(xiàn)軟件主要的功能、建立軟件的基本架構。

        1.2 原型法分類

        原型主要分為三種類型:

        1.2.1 拋棄型原型(throw-it-away prototype)

        這種原型用于評價軟件系統(tǒng)的某個特性,以便更準確地確定需求,或更嚴格地驗證需求。使用完后拋棄該原型系統(tǒng),然后建立完整的、正式的原型系統(tǒng)。

        1.2.2 進化型原型(evolutionary prototype)

        此類原型的構造從軟件系統(tǒng)的基本需求出發(fā),通過修改和擴充建立原型;最后,在此基礎上開發(fā)軟件系統(tǒng)。

        1.2.3 增量型原型(incremental prototype)

        原型系統(tǒng)是一次一段地增量構造,逐漸疊加子系統(tǒng)的需求功能,形成軟件開發(fā)不同階段的原型系統(tǒng);增量型原型是軟件系統(tǒng)在迭代開發(fā)不同階段建立的原型系統(tǒng)。

        軟件系統(tǒng)通常采用迭代開發(fā),是逐步完成的,每次迭代都要對系統(tǒng)重新進行需求分析、規(guī)格說明、軟件設計。根據(jù)不同階段的需求分析,需要建立不同形式的原型系統(tǒng)。

        2 軟件原型與基線的關系

        2.1 軟件原型

        軟件原型是指軟件系統(tǒng)開發(fā)初期,開發(fā)者采用原型法,快速形成一個能反映系統(tǒng)主要功能及特征的簡單版本(如軟件界面與布局、基本功能等);在后續(xù)開發(fā)過程中不斷地修改、測試、完善,形成軟件產(chǎn)品。軟件原型與軟件產(chǎn)品的初始基線版本有類似之處。

        2.2 基線的定義

        基線[9](baseline)是軟件開發(fā)的一個重要的基本概念,有多種定義,這里介紹基于版本的基線定義。

        基于版本的基線定義:基線是項目文檔或者源代碼等文件的一個穩(wěn)定版本?;€有名稱、版本、標識符、日期等屬性。它是進一步開發(fā)的基礎,其變更必須通過正式的變更程序。

        如果某一產(chǎn)品版本被定為基線,那么它就被凍結,要想變更基線必須建立一個新的版本。

        2.3 初始開發(fā)基線

        軟件產(chǎn)品由設計階段轉為迭代開發(fā)階段,需要確定軟件的初始開發(fā)基線。可以結合原型法和基線的方法建立軟件產(chǎn)品開發(fā)的第一個版本,作為軟件產(chǎn)品的初始開發(fā)基線。

        3 軟件原型系統(tǒng)

        依據(jù)軟件開發(fā)的工作實踐,結合軟件原型和基線的概念賦予軟件原型系統(tǒng)新的內(nèi)涵。

        3.1 軟件原型系統(tǒng)的定義

        軟件原型系統(tǒng)的定義:軟件原型系統(tǒng)包含了四個要素:

        (1)需求分析:軟件產(chǎn)品需要實現(xiàn)的功能。

        (2)軟件架構設計:實現(xiàn)軟件功能的軟件架構(模塊、界面和布局)。

        (3)基礎軟件:軟件開發(fā)的基礎軟件平臺、軟件模塊。

        (4)軟件運行環(huán)境:操作系統(tǒng)、數(shù)據(jù)庫、數(shù)據(jù)資源、其他輔助軟件。

        四個要素中的前兩條構成通常軟件原型的概念,通常只能用于小型軟件產(chǎn)品(如游戲軟件)的開發(fā);整合后兩個要素后可以用于復雜環(huán)境中大型軟件開發(fā)。通常軟件原型系統(tǒng)可以作為軟件產(chǎn)品開發(fā)的初始開發(fā)基線。

        3.2 原型系統(tǒng)應用實例

        為了進一步理解軟件原型系統(tǒng)的概念,下面介紹一個原型系統(tǒng)應用實例,該實例是手寫體維吾爾文字符識別軟件。

        3.2.1 軟件實例原型系統(tǒng)的四個要素

        (1)需求分析。

        輸入的手寫體維文字符,給出相似度最高的字符(1-5個),從中選擇一個字符作為該字符的識別結果。(這種方法類似于手機中的手寫體漢字輸入)

        (2)軟件架構設計。

        軟件界面選擇對話框方式,采用VC6.0編程,生成對話框類class CUrghurDlg:public CDialog,程序啟動后顯示對話框,如圖1所示。

        圖1中的軟件界面由七部分組成:選擇數(shù)據(jù)庫所在文件夾;選擇測試參數(shù);讀取手寫體字符數(shù)據(jù)庫中字符圖像文件時依次顯示字符圖像和字符序號;輸出實驗結果;KNN分類器參數(shù)選擇;點擊按鈕提取訓練組樣本特征,訓練結束后點擊測試按鈕開始測試測試組樣本,點擊統(tǒng)計按鈕給出測試結果;滑動條顯示程序執(zhí)行的進度。

        圖1 手寫體維文字符識別軟件界面

        (3)基礎軟件模塊。

        選擇圖像處理軟件模塊class CDib2(包含18個圖像處理函數(shù)成員和14個數(shù)據(jù)成員)作為軟件開發(fā)的基礎模塊,在圖1對應的對話框類class CUrghurDlg中加入數(shù)據(jù)成員CDib2 Dib。

        (4)軟件開發(fā)環(huán)境與運行環(huán)境。

        軟件在Windows操作系統(tǒng)下運行,數(shù)據(jù)資源為115組手寫體維文單字符圖像,每組包含128個維吾爾文單字符。從字符數(shù)據(jù)庫中選取70組樣本進行訓練,剩余45組進行測試。其中,測試的樣本組不參與訓練。

        3.2.2 軟件實例迭代開發(fā)過程

        軟件原型系統(tǒng)建立之后,可以作為軟件初始基線,開展軟件迭代開發(fā)工作。軟件開發(fā)過程如表1所示。

        表1 軟件開發(fā)過程

        從表1中可以看到軟件開發(fā)的完整過程,軟件原型系統(tǒng)提供了軟件的雛形和基本結構,也為后續(xù)的迭代開發(fā)提供了穩(wěn)定的初始基線版本。

        該軟件主要用于手寫體維文字符識別算法研究,其架構比較容易改造為維文字符識別的應用軟件產(chǎn)品。從軟件實例可以看出,構建合適的軟件原型系統(tǒng)有助于提高軟件開發(fā)效率和質量。

        4 基于云環(huán)境的軟件原型系統(tǒng)開發(fā)

        隨著計算機技術的發(fā)展,以及云計算技術在各行各業(yè)的應用普及,基于云計算的應用軟件的種類也越來越多。許多傳統(tǒng)環(huán)境下運行的軟件、硬件產(chǎn)品需要升級推出云化版本。在通信網(wǎng)中部分硬件設備不斷推出在云環(huán)境中具有同樣功能的云化軟件產(chǎn)品。

        4.1 IMS產(chǎn)品的層級結構

        IMS[10-12](IP multimedia subsystem)是未來統(tǒng)一核心網(wǎng)的基礎,是IP網(wǎng)上進行多媒體通信的可運營、可管理、可增值的一種完整解決方案。IMS采用統(tǒng)一的ATCA(advanced telecommunications computing architecture,先進的電信計算平臺)硬件平臺和CGP(carrier grade platform,電信級平臺)軟件平臺。

        ATCA硬件平臺,是為下一代融合通信及數(shù)據(jù)網(wǎng)絡應用提供的一個高性價比的,基于模塊化結構的、兼容的、可擴展的硬件構架。

        CGP軟件平臺是建立在ATCA硬件平臺上的高可用、高性能、易運維、易集成的軟件平臺。它可以提供硬件的管理能力,多網(wǎng)元的維護管理能力,支撐業(yè)務進程開發(fā)的底層功能組件,支撐業(yè)務進程開發(fā)的開發(fā)環(huán)境。

        IMS產(chǎn)品的云化過程是在云環(huán)境中實現(xiàn)多媒體通信運營。這需要將原來硬件設備轉化為在云環(huán)境實現(xiàn)同樣功能的軟件產(chǎn)品,原來由硬件單板提供的進程功能改由云環(huán)境中虛擬機的軟件模塊來提供。

        4.1.1 IMS硬件設備的層級結構

        IMS硬件設備的層級結構如表2所示。

        表2 IMS硬件設備層級結構

        CGP軟件平臺負責軟件、硬件、網(wǎng)絡的管理維護工作;業(yè)務軟件通過硬件單板處理各種業(yè)務。

        4.1.2 基于云環(huán)境的IMS軟件產(chǎn)品層級結構

        基于云環(huán)境[13-14]的IMS軟件產(chǎn)品是IMS硬件設備的云化產(chǎn)品,其層級結構如表3所示。

        表3 基于云環(huán)境的IMS軟件產(chǎn)品層級結構

        與IMS硬件設備不同,表3中1~3構成IMS軟件產(chǎn)品,4~7為云環(huán)境;在云環(huán)境中安裝軟件產(chǎn)品后使用。CGP平臺的后臺軟件OMU由網(wǎng)絡管理軟件和客戶端工具組成,提供人機接口,管理虛擬網(wǎng)絡的各種事務,負責安裝、管理、維護軟件。

        4.2 云化MRP產(chǎn)品原型系統(tǒng)開發(fā)

        硬件MRP實現(xiàn)MRFP(multimedia resource function processor)實體的功能,提供多媒體資源的承載功能,與MRC6600一起實現(xiàn)媒體資源的信令與承載控制分離。

        4.2.1 云化MRP產(chǎn)品原型系統(tǒng)

        云化MRP(multimedia resource processor)產(chǎn)品是硬件MRP云化后,在云環(huán)境中運行實現(xiàn)同樣功能的軟件產(chǎn)品。云化MRP產(chǎn)品的原型系統(tǒng)如表4所示。

        系統(tǒng)工程師(SE)根據(jù)客戶需求進行需求分析之后,給出原型系統(tǒng)可行的設計方案,在云環(huán)境中開發(fā)新產(chǎn)品MRP,選擇非云化產(chǎn)品SE2900某個版本開發(fā)云化MRP軟件原型系統(tǒng)中的基礎軟件。

        表4 云化MRP原型系統(tǒng)

        SE2900是一個全功能的、高性能的、表現(xiàn)穩(wěn)健的運營商級會話邊界控制器[15](session border control,SBC)。主要提供呼叫接入控制、協(xié)議互通、網(wǎng)絡間安全、NAT穿越、QoS、接入安全、媒體防火墻、媒體代理、媒體編解碼轉換和計費等功能。

        選擇SE2900,主要基于以下原因:

        (1)SE2900硬件設備中采用Linux操作系統(tǒng),CGP平臺方便移植到云環(huán)境中。硬件MRP中采用Vxworks操作系統(tǒng),移植到云環(huán)境中不方便。

        (2)云化產(chǎn)品具有統(tǒng)一的源代碼結構,SE2900涉及到的業(yè)務比較多,可以對云化MRP軟件產(chǎn)品開發(fā)提供更多支持。

        4.2.2 云化MRP軟件原型系統(tǒng)開發(fā)

        1.軟件原型系統(tǒng)的開發(fā)構建。

        軟件工程師負責云化MRP產(chǎn)品軟件原型系統(tǒng)的開發(fā)構建工作:

        (1)獲取SE2900某個版本的代碼,將其中的CGP軟件平臺移植到云環(huán)境的虛擬機上(虛擬機操作系統(tǒng)為Linux);

        (2)通過SE2900版本的代碼構建基本軟件業(yè)務開發(fā)平臺;

        (3)將硬件MRP的業(yè)務軟件模塊的源代碼拷貝到SE2900源代碼的host文件夾下,構建初始的業(yè)務軟件模塊架構;

        (4)針對各模塊編寫makefile文件,啟動業(yè)務軟件模塊代碼、基本軟件業(yè)務開發(fā)平臺與CGP平臺接口的編譯,修正編譯過程中的錯誤,實現(xiàn)對CGP平臺接口的適配開發(fā);

        (5)軟件工程師開發(fā)相關的MML命令,為安裝、編譯、調試軟件版本包做準備;

        (6)所有模塊都能夠編譯通過后,將代碼提交SVN版本庫。

        2.持續(xù)集成。

        持續(xù)集成工程師負責集成構建:

        (1)從SVN版本庫下載相關代碼;在持續(xù)集成工具ICP-CI的頁面上搭建編譯出包工程,統(tǒng)計各模塊與全部代碼量、對所有模塊執(zhí)行靜態(tài)檢查;執(zhí)行各模塊編譯;LMT客戶端的安裝包與產(chǎn)品版本包的出包與歸檔。

        (2)在后續(xù)的工作中及時完成代碼更新與版本包的編譯出包,為原型系統(tǒng)的調試驗證提供版本包。

        3.軟件原型系統(tǒng)測試。

        測試工程師完成如下工作:

        (1)準備測試環(huán)境:搭建私有云平臺,在云環(huán)境中安裝CGP平臺,然后再安裝持續(xù)集成工程師提交的版本包。

        (2)根據(jù)軟件原型系統(tǒng)開發(fā)的需求,編寫軟件原型系統(tǒng)測試的測試用例。

        (3)開展測試工作,將測試結果反饋給云化MRP產(chǎn)品的系統(tǒng)工程師和軟件工程師。

        4.軟件原型系統(tǒng)調試。

        在測試環(huán)境上啟動調試工作,根據(jù)存在的問題,定位問題,修改代碼。反復進行出包、測試、調試工作,直到所有問題都已解決。

        軟件原型系統(tǒng)開發(fā)完成后,可以作為云化MRP產(chǎn)品的正式啟動開發(fā)的初始基線,開展云化MRP產(chǎn)品的迭代開發(fā)工作。逐步實現(xiàn)云化MRP產(chǎn)品的虛擬機彈性擴縮容等云化基本功能以及在云化平臺上實現(xiàn)硬件設備MRP產(chǎn)品的所有功能。

        需要同時開發(fā)業(yè)務軟件和業(yè)務軟件開發(fā)平臺,在云環(huán)境中實現(xiàn)原來由硬件單板實現(xiàn)的功能。在開發(fā)過程中經(jīng)常出現(xiàn)持續(xù)集成構建失敗,在業(yè)務軟件、軟件平臺和云環(huán)境三者的磨合過程中處理了大量的技術上的問題。

        4.3 云轉碼軟件產(chǎn)品原型系統(tǒng)開發(fā)

        云轉碼(cloud video engine,CVE)產(chǎn)品是以云化MRP產(chǎn)品為基礎開發(fā)視頻文件點播與直播轉碼視頻文件的產(chǎn)品??梢钥醋鱅MS在云環(huán)境中應用層的軟件產(chǎn)品。

        4.3.1 云轉碼軟件產(chǎn)品原型系統(tǒng)

        云轉碼軟件產(chǎn)品的原型系統(tǒng)如表5所示。

        表5 云轉碼軟件產(chǎn)品原型系統(tǒng)

        4.3.2 云轉碼軟件原型系統(tǒng)開發(fā)

        云轉碼軟件原型系統(tǒng)開發(fā)與4.2.2中的云化MRP軟件原型系統(tǒng)開發(fā)基本相同。軟件工程師負責構建軟件原型系統(tǒng),持續(xù)集成工程師負責集成構建。測試工程師負責軟件原型系統(tǒng)測試。

        在測試過程中不同之處在于測試工程師在完成搭建測試環(huán)境之后;需要準備視頻素材庫:準備測試的視頻文件,使用工具MediaInfo[16]完成視頻文件參數(shù)檢測,使用FFmpeg工具完成視頻文件典型場景截取等處理;然后開展測試工作。測試結果反饋給系統(tǒng)工程師,軟件開發(fā)工程師,根據(jù)存在的問題進行原型系統(tǒng)的調試。

        軟件原型系統(tǒng)開發(fā)完成后,可以獲得軟件產(chǎn)品開發(fā)的初始基線,下一步開展云轉碼軟件的迭代開發(fā)工作。在開發(fā)云轉碼產(chǎn)品的同時,希望同時開發(fā)一個通用的基礎軟件平臺(包括軟件業(yè)務開發(fā)平臺和CGP平臺)。該平臺除了為云轉碼產(chǎn)品各軟件業(yè)務模塊提供公用函數(shù)功能支持外,還能為更多的軟件產(chǎn)品提供開發(fā)平臺。在后期軟件迭代開發(fā)的過程中需要進行軟件聯(lián)調。軟件聯(lián)調,是指軟件通用開發(fā)平臺和軟件產(chǎn)品上線后同時進行相關功能點和性能調試。云轉碼產(chǎn)品的軟件開發(fā)工程師、軟件平臺的開發(fā)工程師與測試工程師共同參與聯(lián)調工作。

        基于云環(huán)境的軟件項目開發(fā)實踐表明,采用軟件原型系統(tǒng)的方法,有助于規(guī)范軟件開發(fā)流程和軟件產(chǎn)品層次結構,提高軟件開發(fā)效率和軟件質量。

        5 結束語

        軟件原型系統(tǒng)法是一種有著巨大潛在價值的軟件工程方法,建立軟件原型系統(tǒng)的過程中可以充分利用面向對象、軟件復用等技術。軟件原型系統(tǒng)法中的許多問題需要進一步進行深入的研究和探討。軟件項目開發(fā)實踐表明,應用軟件原型系統(tǒng)法,可以提高軟件質量,縮短軟件開發(fā)周期,降低企業(yè)的開發(fā)成本。軟件原型系統(tǒng)可以用于復雜環(huán)境和大型軟件系統(tǒng)的開發(fā),有著廣泛的應用前景。

        猜你喜歡
        轉碼云化原型
        移動云盤在線轉碼功能技術研究
        包裹的一切
        視頻轉碼技術在廣播電視中的應用研究
        締客世界(2020年1期)2020-12-12 18:18:28
        5G/云化下的VR產(chǎn)業(yè)未來
        商周刊(2018年22期)2018-11-02 06:05:28
        《哈姆雷特》的《圣經(jīng)》敘事原型考證
        基于IPTV點播業(yè)務的視頻分段式轉碼方案的研究與應用
        傳播力研究(2018年7期)2018-05-10 09:42:47
        面向云化的核心網(wǎng)架構分析
        電子測試(2017年11期)2017-12-15 08:57:23
        IBM中國企業(yè)云化實踐中心成立
        論《西藏隱秘歲月》的原型復現(xiàn)
        劍南文學(2016年14期)2016-08-22 03:37:42
        核心網(wǎng)云化技術的分析
        亚洲人成网网址在线看| 视频一区中文字幕亚洲| 久久精品国产亚洲av网站| 亚洲一区二区三区尿失禁| 日本阿v网站在线观看中文| 高清国产美女一级a毛片在线 | 中文字幕在线码一区| 亚洲区1区3区4区中文字幕码| 成人久久黑人中出内射青草| 久久香蕉国产线看观看精品yw| 国产一级农村无码| 成在线人免费视频播放| 国产在线视频91九色| 高潮又爽又无遮挡又免费| 最新国产午夜福利| 性色av一区二区三区密臀av| 欧美黑人巨大videos精品| 中文国产日韩欧美二视频| 亚洲欧美日韩一区二区在线观看| 亚洲狠狠久久五月婷婷| 又粗又黑又大的吊av| 色欲麻豆国产福利精品| 国产喷白浆精品一区二区| 中文字幕隔壁人妻欲求不满| 亚洲日韩国产精品乱-久| 国产免费av片在线观看播放| 少妇性l交大片免费1一少| 久久精品国产免费观看三人同眠| 欧美人与动牲交a欧美精品| 国产成人亚洲综合小说区| 羞羞色院99精品全部免| 377p日本欧洲亚洲大胆张筱雨| av超碰在线免费观看| 麻豆三级视频网站在线观看| 乱老年女人伦免费视频| 欧美白人最猛性xxxxx| 成人免费视频自偷自拍| 国产亚洲成人av一区| 日本xxxx色视频在线播放| A亚洲VA欧美VA国产综合| 99久久国内精品成人免费|