• 
    

    
    

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

      軟件組件技術(shù)在歐特克產(chǎn)品中的應(yīng)用

      2012-07-25 07:16:06曾邱雪
      微型電腦應(yīng)用 2012年8期
      關(guān)鍵詞:特克組件軟件

      曾邱雪

      0 引言

      “面向?qū)ο蟆弊畛醯亩x,是指:在具備封裝、類型擴(kuò)展性、繼承、多態(tài)等特點(diǎn)的程序設(shè)計(jì)方法,隨著軟件產(chǎn)業(yè)的進(jìn)一步發(fā)展,面向?qū)ο蠹夹g(shù)現(xiàn)在具備更加廣泛的意義并且滲入到軟件開發(fā)的各個(gè)方面。隨著軟件越來越龐大,要求越來越高,如何快速高質(zhì)量地開發(fā)出優(yōu)秀的軟件,傳統(tǒng)的軟件開發(fā)方法已顯乏力,開發(fā)和采用可復(fù)用的軟件功能模塊—軟件組件技術(shù)便成為解決此問題的最佳方法之一。軟件組件技術(shù)是一些可執(zhí)行單元,可以通過獨(dú)立的開發(fā)和配置,然后整合到各個(gè)獨(dú)立的軟件系統(tǒng)中去,是軟件系統(tǒng)內(nèi)被標(biāo)識、符合某種標(biāo)準(zhǔn)要求的組成部分。在過去數(shù)年中,基于軟件組件技術(shù)的開發(fā)方法備受關(guān)注,并且成功運(yùn)用于多種大型軟件中,取得了不錯(cuò)的效果。

      1 組件技術(shù)的應(yīng)用

      通過采用恰當(dāng)?shù)慕M件技術(shù),軟件廠商得以通過降低投入,縮短開發(fā)周期和增加軟件質(zhì)量來達(dá)到提高收益的目的。近年來,基于組件的軟件技術(shù)的成熟程度和推廣速度日益增長,新的應(yīng)用軟件工程碩士開發(fā)技術(shù)和工具,是以組件作為關(guān)鍵,復(fù)用大粒度的對象,為的是快速的開發(fā)出應(yīng)用軟件。組件技術(shù)尤其適合由若干大型軟件組成的軟件套件,非常著名的例子,有微軟公司的OFFICE辦公套件以及Adobe公司的創(chuàng)新套件。通過采用軟件組件技術(shù),實(shí)現(xiàn)各個(gè)軟件直接無縫地協(xié)同工作,極大挖掘了軟件的功能,極大地方便和改善了用戶對軟件套件的學(xué)習(xí)和使用,提高用戶對產(chǎn)品的忠誠度,提高了用戶體驗(yàn)。

      社會(huì)經(jīng)濟(jì)不斷發(fā)展,為2D/3D計(jì)算機(jī)輔助設(shè)計(jì)軟件行業(yè),提供了巨大的發(fā)展機(jī)會(huì),然而,隨著業(yè)務(wù)的發(fā)展,新的業(yè)務(wù)品種不斷增加,必須在原有業(yè)務(wù)系統(tǒng)上不斷擴(kuò)展改造,而且各個(gè)獨(dú)立軟件之間的協(xié)作需求不斷出現(xiàn)。因此,必須尋求新的協(xié)同合作方案來解決這個(gè)問題。希望通過新方案的應(yīng)用,達(dá)到在各個(gè)實(shí)現(xiàn)各個(gè)獨(dú)立軟件直接的無障礙交互,達(dá)到整合不同產(chǎn)品優(yōu)勢功能的目的,最終有效地幫助用戶提高整個(gè)行業(yè)業(yè)務(wù)效率。

      1.1 計(jì)算機(jī)輔助設(shè)計(jì)軟件產(chǎn)業(yè)的需求

      歐特克(Autodesk)公司是全球二維和三維設(shè)計(jì)、工程及娛樂軟件的領(lǐng)導(dǎo)者,其代表產(chǎn)品有:AutoCAD, Revit,Inventor, 3dsMax, Maya等多款計(jì)算機(jī)輔助設(shè)計(jì)軟件,橫跨Windows, Mac, Andriod 和iOS等多個(gè)平臺(tái), 廣泛運(yùn)用于工業(yè)和娛樂行業(yè)。目前計(jì)算機(jī)輔助設(shè)計(jì)產(chǎn)業(yè)中,常見的有機(jī)械設(shè)計(jì)、多媒體設(shè)計(jì)、計(jì)算輔助分析、以及其它方面。終端用戶往往需要同時(shí)使用幾款軟件以組合的方式來實(shí)現(xiàn)最終目標(biāo),這就產(chǎn)生了需要在幾款軟件之間進(jìn)行交互的需求。如用戶需要使用AutoCAD進(jìn)行設(shè)計(jì)繪圖,然后需要使用3dsMax進(jìn)行渲染,又同時(shí)需要使用Revit進(jìn)行建筑結(jié)構(gòu)分析。由此可見,整個(gè)工作流程需要用戶對各款軟件都能熟悉使用,并且可能出現(xiàn)一個(gè)項(xiàng)目需要在多個(gè)軟件里重復(fù)建模的工作,由此產(chǎn)生不小的冗余工作。初始階段,這幾款軟件的文件格式是互不兼容的,軟件的用戶體驗(yàn)也完全不一樣,導(dǎo)致用戶上手學(xué)習(xí)難度極大,設(shè)計(jì)效率不高。

      歐特克公司的產(chǎn)品設(shè)計(jì)師通過和用戶的充分接觸,深入探討用戶工作中的各個(gè)案例,分析和提煉用戶反饋后總結(jié)出如下需求:

      1) 各個(gè)軟件的文件格式能互相兼容,實(shí)現(xiàn)在一個(gè)軟件中建模,多個(gè)軟件中使用的目的。

      2) 各個(gè)軟件的用戶界面應(yīng)具有同樣風(fēng)格,方便用戶上手。

      3) 各個(gè)軟件中的相似功能應(yīng)該具有類似或者一致的操作方式。

      4) 各個(gè)軟件之間能夠互相協(xié)同工作,以提高用戶工作效率。

      5) 用戶希望能夠增加方便分享設(shè)計(jì)文檔或資源的功能。

      6) 用戶希望在移動(dòng)設(shè)備上運(yùn)行輕量級別的設(shè)計(jì)軟件。

      1.2 軟件開發(fā)的技術(shù)需求

      上世紀(jì)80年代起,面向?qū)ο蟮能浖_發(fā)思想迅速發(fā)展起來,這時(shí)的軟件組件的含義就是類庫。90年代后,組件的內(nèi)涵進(jìn)一步加強(qiáng),聚合性、獨(dú)立性和重用性進(jìn)一步提高。目前,基于對象的組件軟件體系結(jié)構(gòu)中的組件是指可方便地插入到語言、工具、操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)中的二進(jìn)制代碼和數(shù)據(jù)。綜合上述組件技術(shù)的優(yōu)勢,顯然,組件技術(shù)即是實(shí)現(xiàn)此項(xiàng)需求的最佳選擇。換一句話說,我們能夠從上述用戶需求中,提煉出其核心,就是希望各個(gè)軟件能夠互相“兼容”各個(gè)軟件的文件格式、交互界面、設(shè)計(jì)流程以及通信交互方式等。

      1.3 軟件組件的提取

      結(jié)合歐特克各個(gè)主要軟件的特征,產(chǎn)品設(shè)計(jì)師和軟件架構(gòu)師協(xié)同合作,從高層次的用戶工作流程開始,逐個(gè)分析用戶案例并且提取出其涉及到的軟件組件。從抽象的軟件層,可以把組件類型劃分成如下幾個(gè)類別:

      1.3.1 交互界面組件

      此組件的主要功能,是根據(jù)工程設(shè)計(jì)軟件的特性,實(shí)現(xiàn)一套高效、用戶友好的通用交互界面庫,包括:程序主體框架、程序菜單、個(gè)性化的工具條、狀態(tài)欄。通過采用該組件,可以使不同產(chǎn)品具有相似的交互界面,極大提高用戶的軟件使用效率,方便用戶學(xué)習(xí),并且能提高用戶忠誠度。在軟件工程方面,通過采用組件技術(shù),可以減少各個(gè)軟件在界面上的冗余代碼,讓各個(gè)產(chǎn)品團(tuán)隊(duì)能專注于各自的核心功能。

      1.3.2 網(wǎng)絡(luò)服務(wù)組件

      隨著互聯(lián)網(wǎng)運(yùn)用的興起,各種基于網(wǎng)絡(luò)的運(yùn)用遍地開花,如云計(jì)算服務(wù)、資訊訂閱、網(wǎng)絡(luò)搜索、用戶交流等功能,也將會(huì)出現(xiàn)在歐特克的各個(gè)產(chǎn)品中。本組件將實(shí)現(xiàn)基礎(chǔ)網(wǎng)絡(luò)組件的功能,以達(dá)到用戶注冊一個(gè)帳號,就能在歐特克各個(gè)產(chǎn)品上使用的目的,并且各個(gè)產(chǎn)品只需要簡單集成本組件即能具有網(wǎng)絡(luò)服務(wù)功能。

      1.3.3 文件格式組件

      本組件實(shí)現(xiàn)統(tǒng)一的文件格式,用于實(shí)現(xiàn)用戶在各個(gè)軟件之間傳遞設(shè)計(jì)模型的目的。其最終目的是讓各個(gè)產(chǎn)品能公用一種文件格式,最終達(dá)到無障礙交互。

      1.3.4 材質(zhì)庫組件

      此組件實(shí)現(xiàn)了對2D/3D軟件中常用的材質(zhì)庫的瀏覽、編輯和保存,以實(shí)現(xiàn)不同產(chǎn)品中共同功能模塊的共享,在降低軟件開發(fā)難度的同時(shí)達(dá)到提高用戶認(rèn)同度的目的,并且讓用戶只需要學(xué)會(huì)一款產(chǎn)品中的功能,就能掌握幾款軟件中同樣功能的目的。本組件還能保證幾種軟件使用同樣的材質(zhì),掃除在交互期的障礙。

      1.3.5 渲染引擎組件

      渲染引擎是圖形類軟件的核心技術(shù)。本組件的目的是打造特殊與歐特克的跨平臺(tái)圖形引擎,在掌握核心技術(shù)的同時(shí)能夠提高軟件的質(zhì)量。

      1.3.6 許可證組件

      每一個(gè)收費(fèi)產(chǎn)品都必須擁有許可證部件來授權(quán)合法用戶,以保證生產(chǎn)廠商的版權(quán)。本組件的目的就是為歐特克所有產(chǎn)品提供通用的許可證組件,方便各個(gè)軟件產(chǎn)品的集成的同時(shí)能夠簡化用戶的激活步驟,并且為多個(gè)產(chǎn)品同時(shí)授權(quán)提供技術(shù)基礎(chǔ)。

      1.3.7 其它

      歐特克許多產(chǎn)品,還具有其它一些可以組件化的模塊,比如用戶反饋模塊,提供了收集用戶使用軟件的信息功能,并且能夠從海量數(shù)據(jù)中生成報(bào)表,方便產(chǎn)品設(shè)計(jì)師查詢、分析用戶使用習(xí)慣,最終優(yōu)化產(chǎn)品設(shè)計(jì)提高產(chǎn)品質(zhì)量。

      1.4 軟件組件的實(shí)現(xiàn)

      1.4.1 需求分析

      軟件組件項(xiàng)目有著一個(gè)顯著的特點(diǎn),那就是它的用戶首先是使用本組件的軟件產(chǎn)品,然后還可能有終端用戶。簡單地說,就是一個(gè)軟件組件首先是被另外一個(gè)軟件產(chǎn)品使用,集成到某一個(gè)產(chǎn)品中,然后伴隨這個(gè)產(chǎn)品發(fā)布到最終的用戶手中。毫無疑問,每個(gè)軟件產(chǎn)品都有著各自的開發(fā)背景,自然就會(huì)形成特殊的風(fēng)格和特點(diǎn),而這又會(huì)促使它們對組件的要求有著一定的差異性。舉一個(gè)簡單的例子,每一款軟件產(chǎn)品都有著各自獨(dú)特的網(wǎng)絡(luò)服務(wù),如 A產(chǎn)品可能提供網(wǎng)絡(luò)存儲(chǔ)服務(wù),而 B產(chǎn)品提供用戶互動(dòng)支持,顯然它們對網(wǎng)絡(luò)組件就有著不同的側(cè)重點(diǎn)。由此,總結(jié)出軟件組件項(xiàng)目需求分析中需要注意的有:

      根據(jù)項(xiàng)目周期,提前向用戶(包括軟件產(chǎn)品團(tuán)隊(duì),終端用戶)發(fā)出用戶需求收集請求。這是因?yàn)榻M件項(xiàng)目的開發(fā)時(shí)間往往是比軟件產(chǎn)品的開發(fā)時(shí)間提前一段3到6個(gè)月。

      收到軟件產(chǎn)品團(tuán)隊(duì)需求之后,需要迅速歸納分析各方需求,并且組織相關(guān)人員分析、評價(jià)。往往還需要在各個(gè)產(chǎn)品團(tuán)隊(duì)之間進(jìn)行協(xié)調(diào)和取舍。這是一個(gè)迭代的過程,一般需要進(jìn)行多次。

      需求分析中應(yīng)恰當(dāng)考慮有可能出現(xiàn)的需求變動(dòng)。

      需求分析完成之后,發(fā)出報(bào)告給各個(gè)軟件產(chǎn)品團(tuán)隊(duì)進(jìn)行確認(rèn)和簽收。

      1.4.2 設(shè)計(jì)與實(shí)現(xiàn)

      軟件組件項(xiàng)目的設(shè)計(jì)與實(shí)現(xiàn)除了需要遵循一般的軟件設(shè)計(jì)準(zhǔn)則之外,還有的其特殊之處。主要體現(xiàn)在:

      軟件組件項(xiàng)目需要提供大量的API,因此軟件框架首先就考慮如何組織這些API。

      軟件組件項(xiàng)目需要提供良好的兼容性,框架需要支持多種需求,并且要考慮向前和向后的兼容性。

      軟件組件項(xiàng)目需要方便用戶集成,并且提供良好的集成文檔。

      軟件組件項(xiàng)目需要提供良好的擴(kuò)展性。

      軟件組件項(xiàng)目需要提供良好的性能。

      軟件組件項(xiàng)目可能需要跨平臺(tái)。

      軟件組件項(xiàng)目需要考慮如何測試。

      軟件組件項(xiàng)目需要考慮組件與組件之間的相互依賴。

      為了在軟件組件中達(dá)成上述目標(biāo),我們在軟件組件項(xiàng)目中經(jīng)常采用下列設(shè)計(jì)模式:

      1) 單件模式

      單件模式常常用來創(chuàng)建組件的管理者(有些書籍中也會(huì)稱管理者為一種模式),通過管理者來管理組件和設(shè)置全局屬性。這是因?yàn)榻M件中常常需要提供接口,給用戶來設(shè)置一些針對組件的全局選項(xiàng),如組件的內(nèi)存處理方式,組件的延時(shí)加載選項(xiàng)等。

      2) 橋梁模式

      此模式常常用于組件的C++ API中,主要的思想就是在 API類中不添加真正的實(shí)現(xiàn)代碼,而是通過一個(gè)橋梁來轉(zhuǎn)換到另外一個(gè)實(shí)現(xiàn)類中,達(dá)到保證API類內(nèi)存狀態(tài)穩(wěn)定,達(dá)到保證組件庫的兼容性的目的。雖然此模式會(huì)增加一定的代碼量,但是相對于其帶來的好處,還是非常值得使用的。

      3) 策略模式

      通過采用策略模式,可以為同一個(gè)接口提供不同的實(shí)現(xiàn),達(dá)到為不同的需求提供不同服務(wù)的目的。這是因?yàn)?,不同的用戶對同一個(gè)功能可能需要采用不同的算法或者實(shí)現(xiàn),但是,其上層接口往往是一樣的,因此經(jīng)常使用策略模式來封裝一種算法(或?qū)崿F(xiàn)),并使得它們可以互換。其典型實(shí)現(xiàn),如圖1所示:

      圖1 策略模式

      4) 裝飾模式

      通過采用裝飾模式,可以方便地為不同用戶提供不同的服務(wù)。不同用戶所使用的功能往往不相同,如 A用戶可以使用上述1,2,3功能,而B用戶卻只需要1這一個(gè)功能,因此我們常常使用裝飾模式來方便用戶選擇他需要的功能。其典型實(shí)現(xiàn),如圖2所示:

      圖2 裝飾模式

      5) 命令模式

      通過命令模式,可以方便向軟件用戶反饋組件中出現(xiàn)的命令,方便用戶對此做出正確反映。其典型實(shí)現(xiàn),如圖3所示:

      圖3 命令模式

      6) 觀察者模式

      通過觀察者模式,可以方便實(shí)現(xiàn)軟件組件和一個(gè)或者多個(gè)用戶的通信合作,一般用于組件向軟件端回調(diào)一些函數(shù)。其典型實(shí)現(xiàn),如圖4所示:

      圖4 觀察者模式

      1.4.3 組件的測試

      編碼工作完成后需要進(jìn)行軟件組件的測試工作,它主要包括兩個(gè)方面:

      1) 傳統(tǒng)的測試項(xiàng)目

      類似于傳統(tǒng)的軟件測試,根據(jù)項(xiàng)目設(shè)計(jì)文檔進(jìn)行測試,但是其一顯著特點(diǎn)是進(jìn)行大量的 API測試和在有限的環(huán)境中盡量模擬真實(shí)的運(yùn)行環(huán)境進(jìn)行測試。

      2) 集成測試和兼容性測試。

      這是屬于軟件組件項(xiàng)目特殊的測試項(xiàng)目,那就是需要測試軟件組件能否滿足用戶提出來的集成需求測試,這往往需要團(tuán)隊(duì)和軟件產(chǎn)品團(tuán)隊(duì)協(xié)同合作完成。另一方面就是需要測試組件項(xiàng)目的兼容性,主要指的是向上兼容性,因此這個(gè)測試需求僅僅出現(xiàn)于版本更新的項(xiàng)目上。

      1.4.4 發(fā)布與技術(shù)支持

      軟件組件項(xiàng)目在發(fā)布之后并沒有真正的結(jié)束,通常需要為接下來的集成工作提供技術(shù)支持甚至修改軟件組件。根據(jù)上面提到的,組件項(xiàng)目往往比使用它的軟件產(chǎn)品項(xiàng)目提前3到6個(gè)月,實(shí)際上軟件組件的集成工作一般都開始與軟件組件即將完成的時(shí)候,一直延續(xù)到完成之后的一段時(shí)間。這個(gè)時(shí)候組件項(xiàng)目需要為集成工作,提供大量的支持工作,解決項(xiàng)目中出現(xiàn)的問題。

      1.5 經(jīng)驗(yàn)和心得

      組件項(xiàng)目有的特殊的用戶和定位,因此其具有不同于一般軟件項(xiàng)目的特點(diǎn)。根據(jù)作者多年軟件組件開發(fā)經(jīng)驗(yàn),得出以下經(jīng)驗(yàn)和心得:

      1) 開始階段的需求溝通非常重要,由于組件項(xiàng)目先于產(chǎn)品團(tuán)隊(duì)開發(fā),因此需要催促產(chǎn)品團(tuán)隊(duì)提供需求,并且需要在充分溝通的前提下平衡各方的需求。而且需求肯定會(huì)有一定的變化,需要早做準(zhǔn)備。

      2) API架構(gòu)時(shí)期,需要組件團(tuán)隊(duì)的開發(fā)人員和用戶團(tuán)隊(duì)的開發(fā)人員積極溝通,爭取以最簡單的方式實(shí)現(xiàn)健壯的API框架。API用法越簡單越好。

      3) 從項(xiàng)目開始就注意項(xiàng)目文檔,并且把它作為一個(gè)任務(wù)來追蹤。

      4) 在API框架以及主要功能完成的前提下,盡早提交產(chǎn)品團(tuán)隊(duì)進(jìn)行集成,測試。

      5) 很多重要的問題往往在產(chǎn)品集成之后才能暴露出來,如兼容性,產(chǎn)品性能問題,需要提前為此做好準(zhǔn)備。

      6) 理智面對用戶在項(xiàng)目后期提出的新的需求或者變更,需要妥善討論并且和各個(gè)用戶溝通之后再確認(rèn)是否接受此更新。

      2 組件技術(shù)實(shí)施效果分析

      歐特克產(chǎn)品在采用組件技術(shù)后,顯著地避免了各個(gè)產(chǎn)品各自實(shí)現(xiàn)一些常用模塊的現(xiàn)狀,減低了代碼的冗余度,提高了開發(fā)速度。更加重要的是,用戶對這些改變提供了積極的反饋,歐特克公司將繼續(xù)深化此解決方案并且在此基礎(chǔ)之上推出軟件套件策略。

      3 結(jié)束語

      由于移動(dòng)操作系統(tǒng)的興起,開發(fā)軟件的差異導(dǎo)致組件也是多種多樣,對軟件組件技術(shù)帶來新的機(jī)會(huì)和挑戰(zhàn),毫無疑問組件技術(shù)本身也會(huì)在需求的推動(dòng)下不斷前進(jìn)。

      [1]鄭人杰,殷人昆,陶永雷. 實(shí)用軟件工程[M].北京:清華大學(xué)出版社,2004

      [2]Ira Pohl 著.陳朔鷹,馬銳,薛靜鋒,呂坤 譯. C++教程[M].北京:人民郵電出版社,2007

      [3](美)弗里曼(Freeman,E.)等著. Oreily Taiwan公司譯.Head First 設(shè)計(jì)模式(中文版)[M].北京:中國電力出版社,2007

      [4]陳文實(shí),孟憲宇,李賽男. 中間件技術(shù)的應(yīng)用及前景[J].遼寧:遼寧工學(xué)院學(xué)報(bào)(自然科學(xué)版),2004年3期

      猜你喜歡
      特克組件軟件
      “大學(xué)生”紅毛猩猩的人獸奇緣:愛悠悠恨悠悠
      無人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      禪宗軟件
      英語文摘(2021年10期)2021-11-22 08:02:26
      新型碎邊剪刀盤組件
      U盾外殼組件注塑模具設(shè)計(jì)
      軟件對對碰
      猩猩變“人”之后
      風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
      太陽能(2015年11期)2015-04-10 12:53:04
      歐特克(中國)軟件研發(fā)有限公司正式成立
      智能制造(2015年3期)2015-04-02 18:03:15
      談軟件的破解與保護(hù)
      精品(2015年9期)2015-01-23 01:36:01
      宾川县| 互助| 绥棱县| 平凉市| 肇源县| 方城县| 贵德县| 林周县| 紫金县| 靖西县| 三门峡市| 广平县| 鹿邑县| 宜章县| 万荣县| 大埔县| 宁阳县| 临漳县| 阿拉善盟| 卫辉市| 广昌县| 宁远县| 古田县| 皮山县| 泰州市| 吉首市| 曲水县| 淮南市| 台北市| 沂源县| 思茅市| 五原县| 镶黄旗| 乾安县| 杭锦后旗| 马鞍山市| 景德镇市| 包头市| 怀来县| 滦平县| 越西县|