07-30
2020
由于傳統(tǒng)的軟件開(kāi)發(fā)模式其最終生成產(chǎn)品是程序代碼,難以適應(yīng)需求的快速變化。雖然目前部分生產(chǎn)環(huán)節(jié)已經(jīng)有模型可以參與,但模型仍不能應(yīng)用于大規(guī)模的軟件開(kāi)發(fā)中,因此軟件開(kāi)發(fā)過(guò)程中不可避免地出現(xiàn)非標(biāo)準(zhǔn)化與非自動(dòng)化的問(wèn)題。為了解決軟件開(kāi)發(fā)中存在的這些問(wèn)題,OMG組織發(fā)布了模型驅(qū)動(dòng)架構(gòu)(Model Driven Architecture,MDA)。本文在介紹MDA開(kāi)發(fā)過(guò)程的基礎(chǔ)上,探討了平臺(tái)無(wú)關(guān)模型和平臺(tái)相關(guān)模型的定義、映射和轉(zhuǎn)化等,并將MDA開(kāi)發(fā)方法和傳統(tǒng)軟件開(kāi)發(fā)方法進(jìn)行了分析比較。一、MDA體系結(jié)構(gòu)模型驅(qū)動(dòng)式軟件開(kāi)發(fā)是指通過(guò)對(duì)問(wèn)題進(jìn)行分析然后建模、轉(zhuǎn)化和精化模型,最終生成可執(zhí)行代碼的過(guò)程。模型驅(qū)動(dòng)架構(gòu)是一種建立業(yè)務(wù)邏輯抽象模型并自動(dòng)產(chǎn)生完備的應(yīng)用程序的方法,其核心思想是通過(guò)計(jì)算無(wú)關(guān)模型(Computation Independent Mode,CIM)描述系統(tǒng)的行為與功能,用與使用平臺(tái)無(wú)關(guān)的建模語(yǔ)言(例如UML)來(lái)構(gòu)建在實(shí)現(xiàn)時(shí)無(wú)需關(guān)心所用技術(shù)的平臺(tái)無(wú)關(guān)模型(Platform Independent Mode,PIM),隨后平臺(tái)無(wú)關(guān)模型通過(guò)一定的轉(zhuǎn)化規(guī)則與輔助工具被轉(zhuǎn)化為平臺(tái)相關(guān)模型(Platform Specific Mode,PSM),最后PSM精化生成可執(zhí)行代碼。MDA軟件開(kāi)發(fā)方法將標(biāo)準(zhǔn)的系統(tǒng)模型放在了驅(qū)動(dòng)架構(gòu)的核心位置,如圖1所示。MDA通過(guò)PIM和PSM將系統(tǒng)說(shuō)明和實(shí)現(xiàn)技術(shù)與平臺(tái)獨(dú)立開(kāi)來(lái),確保軟件開(kāi)發(fā)成果不受需求變化與技術(shù)變遷的影響。MDA模型組織分為4層結(jié)構(gòu),如圖2所示。下一個(gè)層次是上一個(gè)層次的應(yīng)用,上一個(gè)層次是下一個(gè)層次的基礎(chǔ),MOF位于M3層,其是MDA框架中基礎(chǔ)與核心的模型,同時(shí)也是M2層所有模型的元模型。M2層為MOF上不同模型所對(duì)應(yīng)的模型語(yǔ)言,不同的領(lǐng)域通過(guò)M2層能夠獲取與所在領(lǐng)域相匹配的建模語(yǔ)言,為M1層的建模提供了建模符號(hào)。M1層是軟件開(kāi)發(fā)過(guò)程中建模人員采用模型語(yǔ)言為企業(yè)應(yīng)用建立的模型描述,PIM,CIM,PSM應(yīng)用模型就位于該層之中。最底層為M0層,即實(shí)例層,其將M1層的模型轉(zhuǎn)化為具體的可使用的應(yīng)用程序。MDA的核心是由OMG制定的一系列標(biāo)準(zhǔn),元對(duì)象設(shè)施(Meta Object Facilit,MOF)、統(tǒng)一建模語(yǔ)言(UnifiedModeling Languag,UML)、數(shù)據(jù)倉(cāng)庫(kù)元模型(CommonWarehouse Metamodel,CWM)、XML元數(shù)據(jù)交換(XML?based Metadata Interchange,XMI)以及對(duì)象約束語(yǔ)言(Object Constraint Language,OCL)。這些標(biāo)準(zhǔn)構(gòu)成了一個(gè)構(gòu)建模型驅(qū)動(dòng)架構(gòu)的基準(zhǔn),其不但決定了MDA的核心架構(gòu),并在State?of?art的系統(tǒng)建模中起到了關(guān)鍵性的作用。二、MDA實(shí)現(xiàn)與基于模型驅(qū)動(dòng)架構(gòu)的軟件開(kāi)發(fā)基于MDA的軟件開(kāi)發(fā)過(guò)程可分為:(1)模型驅(qū)動(dòng)軟件開(kāi)發(fā)過(guò)程。此方案中使用的模型為PIM和PSM,利用模型驅(qū)動(dòng)代碼的產(chǎn)生,具體操作步驟為代碼通過(guò)模型產(chǎn)生,接著通過(guò)人工的方式進(jìn)行商業(yè)邏輯代碼的編寫,最后將手工編寫的商業(yè)邏輯代碼進(jìn)行部署及發(fā)布。(2)通過(guò)模型驅(qū)動(dòng)來(lái)控制系統(tǒng)運(yùn)行時(shí)的行為。此時(shí)軟件模型能夠被一個(gè)操作系統(tǒng)運(yùn)行時(shí)通用模型直接執(zhí)行,該過(guò)程無(wú)需產(chǎn)生具體的軟件代碼,最后部署和發(fā)布的僅是模型,因?yàn)槟P椭幸呀?jīng)將應(yīng)用程序的各個(gè)層面均做出了表達(dá)?;贛DA的軟件開(kāi)發(fā)包括建模、開(kāi)發(fā)和發(fā)布三個(gè)階段,如圖3所示。模型階段:創(chuàng)建無(wú)關(guān)平臺(tái)模型PIM,并以此為核心,ISM和PSM均可通過(guò)PIM自動(dòng)轉(zhuǎn)換生成。該模型應(yīng)用如XMI的MOF映射方法進(jìn)行映射。開(kāi)發(fā)階段:產(chǎn)生平臺(tái)無(wú)關(guān)代碼,即MDA工具自動(dòng)產(chǎn)生和程序員手工編寫客戶端及服務(wù)器端的代碼。MDA中代碼的生成是MDA工程的最終目標(biāo),其具體是指PSM到代碼的映射,映射生成ISM模型。發(fā)布階段:該階段將諸多內(nèi)容放在一起組成可運(yùn)行組件,其包括模型、MOF映射、手工編寫的代碼和MDA運(yùn)行時(shí)庫(kù)及待發(fā)布的配置信息,最終將組建發(fā)布到運(yùn)行平臺(tái)上。三、軟件開(kāi)發(fā)過(guò)程比較雖然基于MDA的軟件開(kāi)發(fā)過(guò)程是一種新型模型驅(qū)動(dòng)軟件開(kāi)發(fā)方法,與傳統(tǒng)的軟件開(kāi)發(fā)方法相比具有以下優(yōu)點(diǎn):(1)模型變換可自動(dòng)實(shí)現(xiàn)。相比較傳統(tǒng)的軟件開(kāi)發(fā)過(guò)程由手工完成模型與模型、模型與代碼之間的變換,基于MDA的軟件開(kāi)發(fā)過(guò)程均是MDA開(kāi)發(fā)工具自動(dòng)完成的。(2)便于維護(hù),模型與代碼同步。在基于MDA的軟件開(kāi)發(fā)過(guò)程中,模型通過(guò)轉(zhuǎn)換即可直接生成可執(zhí)行代碼,無(wú)需要其他步驟,從而實(shí)現(xiàn)模型與代碼的同步。軟件開(kāi)發(fā)人員對(duì)軟件的維護(hù)重點(diǎn)從程序代碼變?yōu)榕c技術(shù)平臺(tái)無(wú)關(guān)、與業(yè)務(wù)邏輯相關(guān)的平臺(tái)無(wú)關(guān)模型。(3)開(kāi)發(fā)效率高,軟件可靠性強(qiáng)。MDA模型架構(gòu)對(duì)系統(tǒng)的不同層次進(jìn)行抽象,每一層代表的含義簡(jiǎn)單易懂,從而使得系統(tǒng)的整個(gè)框架可被軟件開(kāi)發(fā)人員清晰地了解與掌握,而不必困惑于具體的實(shí)現(xiàn)技術(shù)。由于模型通過(guò)轉(zhuǎn)換即可直接生成可執(zhí)行代碼,使得開(kāi)發(fā)過(guò)程中減少了編碼環(huán)節(jié),所以若構(gòu)建PIM正確,整個(gè)系統(tǒng)的正確性便可得到保證。(4)業(yè)務(wù)邏輯模型獨(dú)立于技術(shù)實(shí)現(xiàn)平臺(tái)。PIM模型可根據(jù)技術(shù)平臺(tái)的不同,自動(dòng)生成基于該模型的軟件系統(tǒng),從而實(shí)現(xiàn)PIM模型與技術(shù)實(shí)驗(yàn)平臺(tái)的獨(dú)立。(5)模型是程序生成的基礎(chǔ)設(shè)施。在基于MDA的軟件開(kāi)發(fā)過(guò)程中,模型被作為其生命周期中的設(shè)計(jì)工作,是程序生成的基礎(chǔ)設(shè)施。模型通過(guò)一系列轉(zhuǎn)化最終可自動(dòng)生成可執(zhí)行代碼??偨Y(jié)本文在介紹和分析了MDA的架構(gòu)和基于其軟件開(kāi)發(fā)過(guò)程的基礎(chǔ)上,將其與傳統(tǒng)軟件設(shè)計(jì)方法進(jìn)行了對(duì)比,說(shuō)明了其在軟件開(kāi)發(fā)過(guò)程中的顯著優(yōu)勢(shì),并在文中最后設(shè)計(jì)基于MDA的決策支持系統(tǒng),證明了使用MDA開(kāi)發(fā)方法設(shè)計(jì)的軟件系統(tǒng)獨(dú)立于技術(shù)平臺(tái),通用性強(qiáng)、可移植性強(qiáng),其可通過(guò)建模、轉(zhuǎn)化和精化模型,直至最終生成可執(zhí)行代碼,大幅降低了設(shè)計(jì)成本且提高了開(kāi)發(fā)效率。以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的基于MDA的軟件開(kāi)發(fā)方法的研究。如果您有智能電子產(chǎn)品的軟硬件功能開(kāi)發(fā)需求,可以放心交給我們,我們有豐富的電子產(chǎn)品定制開(kāi)發(fā)經(jīng)驗(yàn),可以盡快評(píng)估開(kāi)發(fā)周期與IC價(jià)格,也可以核算PCBA報(bào)價(jià)。我們是多家國(guó)內(nèi)外芯片代理商,有MCU、語(yǔ)音IC、藍(lán)牙IC與模塊、wifi模塊。我們的擁有硬件設(shè)計(jì)與軟件開(kāi)發(fā)能力。涵蓋了電路設(shè)計(jì)、PCB設(shè)計(jì)、單片機(jī)開(kāi)發(fā)、軟件定制開(kāi)發(fā)、APP定制開(kāi)發(fā)、微信公眾號(hào)開(kāi)發(fā)、語(yǔ)音識(shí)別技術(shù)、藍(lán)牙wifi開(kāi)發(fā)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計(jì)、美容儀器開(kāi)發(fā)、物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)、智能家居方案設(shè)計(jì)、TWS方案開(kāi)發(fā)、藍(lán)牙音頻開(kāi)發(fā)、兒童玩具方案開(kāi)發(fā)、電子教育產(chǎn)品研發(fā)。
07-29
2020
數(shù)據(jù)庫(kù)技術(shù)在ARX軟件開(kāi)發(fā)中的應(yīng)用工程實(shí)踐中為提高繪圖與設(shè)計(jì)的效率,采用ARX技術(shù)對(duì)CAD進(jìn)行二次開(kāi)發(fā),這一方法在工程中廣泛應(yīng)用,為設(shè)計(jì)流程提供了規(guī)范的模式。在CAD的三種開(kāi)發(fā)接口技術(shù)中,ARX程序是最適合對(duì)CAD進(jìn)行二次開(kāi)發(fā)的工具,可以對(duì)ARX提供的資源進(jìn)行有效利用,以及在VC開(kāi)發(fā)環(huán)境下,利用豐富的資源從而將產(chǎn)品對(duì)外發(fā)布。對(duì)CAD進(jìn)行二次開(kāi)發(fā)時(shí),可以發(fā)現(xiàn),其軟件的設(shè)計(jì)僅僅只能滿足對(duì)圖形的繪制,對(duì)數(shù)據(jù)及軟件結(jié)構(gòu)不能進(jìn)行有效的管理。因此數(shù)據(jù)庫(kù)技術(shù)在ARX程序軟件開(kāi)發(fā)中的應(yīng)用,能對(duì)二次軟件開(kāi)發(fā)的框架體系進(jìn)行改善,對(duì)軟件開(kāi)發(fā)后期的管理工作提供便利,從而實(shí)現(xiàn)CAD系統(tǒng)與ERP、PDM數(shù)據(jù)進(jìn)行集中管理,以及其他子系統(tǒng)集成工作。一、ARX程序含義簡(jiǎn)介ARX是現(xiàn)代最新的軟件二次開(kāi)發(fā)技術(shù),支持c語(yǔ)言的編寫及應(yīng)用程序,允許開(kāi)發(fā)者對(duì)CAD圖形軟件的充分利用,并可以直接訪問(wèn),ARX程序可以與CAD軟件的編程接口一起配合使用,在ARX程序中開(kāi)發(fā)的應(yīng)用程序?qū)嵸|(zhì)上是動(dòng)態(tài)鏈接庫(kù),即DLL,從而使得CAD與其地址空間共享,進(jìn)行通信。ARX程序的運(yùn)行速度得到提高,程序的功能也得到增強(qiáng),通過(guò)ARX程序建立新的派生物,對(duì)其他程序進(jìn)行共享,從而對(duì)編程能夠充分利用。ARX程序與其LISP、VBA程序這三個(gè)屬于第三發(fā)軟件開(kāi)發(fā)工具,ARX程序是一歌開(kāi)放式的體系結(jié)構(gòu),對(duì)CAD軟件可以進(jìn)行直接的訪問(wèn)與操作,ARX程序可以通過(guò)對(duì)數(shù)據(jù)庫(kù)的庫(kù)外函數(shù)進(jìn)行調(diào)用,從而對(duì)圖形數(shù)據(jù)庫(kù)進(jìn)行初始化操作,并對(duì)數(shù)據(jù)庫(kù)的對(duì)象進(jìn)行創(chuàng)建,并對(duì)數(shù)據(jù)庫(kù)的對(duì)象進(jìn)行編輯與保存,從而使圖形數(shù)據(jù)庫(kù)CAD生成可見(jiàn)及不可見(jiàn)的實(shí)體幾何對(duì)象,構(gòu)建符號(hào)表與字典,其本質(zhì)是對(duì)CAD增加塊表記錄,形成動(dòng)態(tài)鏈接,使CAD軟件與其他應(yīng)用系統(tǒng)能夠進(jìn)行共享,提高程序的功能,對(duì)CAD軟件進(jìn)行直接訪問(wèn)和瀏覽。二、ARX程序中數(shù)據(jù)庫(kù)技術(shù)選擇ARX程序?qū)ν獠繑?shù)據(jù)庫(kù)的訪問(wèn),可以根據(jù)CAD提供的編程接口ASI,在VC開(kāi)發(fā)平臺(tái)上對(duì)提供的數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)并開(kāi)發(fā)。用ASI庫(kù)函數(shù)對(duì)數(shù)據(jù)庫(kù)外部進(jìn)行訪問(wèn)需要開(kāi)發(fā)人員學(xué)習(xí)ASI的相關(guān)專業(yè)知識(shí),由于ASI編程的資料嚴(yán)重匱乏,不利于外部數(shù)據(jù)庫(kù)對(duì)CAD進(jìn)行二次開(kāi)發(fā)。對(duì)MFC進(jìn)行編程需要在ARX程序在一定的初始化進(jìn)程后進(jìn)行,對(duì)ARX程序的開(kāi)發(fā)需要根據(jù)MFC提供的類庫(kù)函數(shù),訪問(wèn)外部數(shù)據(jù)庫(kù),可以有效縮小開(kāi)發(fā)周期,降低開(kāi)發(fā)的難度,還可以使程序功能得到增強(qiáng),從而為實(shí)現(xiàn)ARX程序的C/S模式提供便利。三、數(shù)據(jù)庫(kù)技術(shù)在ARX程序中的應(yīng)用3.1基于ADO的ARX程序開(kāi)發(fā)應(yīng)用對(duì)CAD進(jìn)行二次開(kāi)發(fā),首先需要建立標(biāo)準(zhǔn)件與基本零件庫(kù),標(biāo)準(zhǔn)件及與基本零部件的形狀結(jié)構(gòu)一般為定型,可形成系列,零部件之間的尺寸關(guān)系用參數(shù)表明,工程數(shù)據(jù)庫(kù)的重要組成部分及相關(guān)基礎(chǔ)數(shù)據(jù)首先需要對(duì)零部件的幾何關(guān)系數(shù)據(jù)特有的靜態(tài)性與共享性進(jìn)行確定。一般在化工設(shè)備中,零部件應(yīng)按照國(guó)家標(biāo)準(zhǔn)進(jìn)行設(shè)計(jì)與制定研發(fā)。且化工設(shè)備當(dāng)中零部件的數(shù)量大,形式多,其數(shù)據(jù)的規(guī)律性較強(qiáng),因此在化工設(shè)備也常常使用,并通過(guò)數(shù)據(jù)庫(kù)對(duì)零部件的數(shù)據(jù)進(jìn)行管理。本文根據(jù)JBFF4713~92這一支座零部件的開(kāi)發(fā)為例,支座的開(kāi)發(fā)主要有四種系列,分別是A、AN、B、BN這四種形式,這四種系列當(dāng)中大多數(shù)都是具有標(biāo)準(zhǔn)化的數(shù)據(jù),通過(guò)標(biāo)準(zhǔn)化公式進(jìn)行表示,通過(guò)函數(shù)的重載實(shí)現(xiàn),將這四種系列的支架進(jìn)行獨(dú)立分別,主要是由于其他的模塊有可能會(huì)單獨(dú)調(diào)用某一支架,為了能更加清晰的描述。而ARX程序的數(shù)據(jù)公式是在用戶輸入及選定數(shù)據(jù)之后,對(duì)相應(yīng)的結(jié)構(gòu)函數(shù)進(jìn)行數(shù)據(jù)調(diào)用,并將數(shù)據(jù)進(jìn)行傳遞,再根據(jù)所得數(shù)據(jù)從數(shù)據(jù)庫(kù)中提出相應(yīng)的數(shù)據(jù),即相的應(yīng)類,對(duì)數(shù)據(jù)的正確性進(jìn)行詳細(xì)的檢查,最后根據(jù)ARX程序提供的類庫(kù)函數(shù)對(duì)圖形進(jìn)行繪制,完成MFCDAO的數(shù)據(jù)庫(kù)看訪問(wèn)。3.2基于ODBC的ARX程序開(kāi)發(fā)在工程圖紙管理中的應(yīng)用PDM是對(duì)工程圖紙進(jìn)行計(jì)算機(jī)化管理的技術(shù),根據(jù)PDM技術(shù)建立工程圖紙管理系統(tǒng),從而實(shí)現(xiàn)工程電子文檔與資料管理,工作流程與產(chǎn)品配置管理,及項(xiàng)目的分類檢索管理等多種管理功能。工程圖紙的設(shè)計(jì)一般是由設(shè)計(jì)者在設(shè)計(jì)后向服務(wù)器提交設(shè)計(jì)方案,并通過(guò)審核與校驗(yàn)等詳細(xì)流程。在審核過(guò)程中圖紙的設(shè)計(jì)將會(huì)被瀏覽及做出修改,且圖紙的設(shè)計(jì)一般是在CAD軟件上進(jìn)行長(zhǎng)時(shí)間的設(shè)計(jì),與工程圖紙管理系統(tǒng)沒(méi)有進(jìn)行融合。目前可通過(guò)多種技術(shù)對(duì)CAD軟件與工程圖紙管理系統(tǒng)進(jìn)行連接,但在特定場(chǎng)合下,例如對(duì)工程圖紙的設(shè)計(jì)與修改,CAD與工程圖紙管理系統(tǒng)仍沒(méi)有徹底的融合,設(shè)計(jì)者在不同軟件下存在操作上的多種問(wèn)題,例如使用OLE技術(shù)將CAD與工程圖紙管理系統(tǒng)建立通信,其內(nèi)嵌的方式仍不滿足用戶的需求,且系統(tǒng)的反應(yīng)遲緩,對(duì)用戶的使用造成不便。對(duì)ARX程序進(jìn)行開(kāi)發(fā),需要與MFC在開(kāi)發(fā)數(shù)據(jù)庫(kù)的優(yōu)勢(shì)進(jìn)行結(jié)合,才能使CAD軟件與工程圖紙管理系統(tǒng)進(jìn)行有效的融合,保證設(shè)計(jì)人員在CAD軟件熟悉的環(huán)境下進(jìn)行辦公和設(shè)計(jì)。但如果對(duì)圖紙進(jìn)行只讀瀏覽,采用OLE技術(shù)與快速瀏覽工具結(jié)合較為實(shí)用。工程圖紙的提交,需要采用ARx程序?qū)嵱肕FCODBC對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),而提交繪制的CAD文件可以采用多種方法,例如在數(shù)據(jù)庫(kù)中運(yùn)用varbinary字段以及Winsock。ARX程序是根據(jù)CAD客戶端建立只讀文件夾,為服務(wù)器管理者提供使用,并在只讀文件夾中將ARX提供的類庫(kù)函數(shù)保存為dwg格式文件,調(diào)用數(shù)據(jù)庫(kù)執(zhí)行的系統(tǒng)命令,將拷貝下來(lái)的文件復(fù)制到服務(wù)器的相關(guān)文件夾中,保證服務(wù)器的安全,避免服務(wù)器目錄的安全性受損。具體流程如圖1所示。結(jié)語(yǔ)數(shù)據(jù)庫(kù)技術(shù)在ARX程序中對(duì)軟件進(jìn)行二次開(kāi)發(fā)主要是對(duì)外部數(shù)據(jù)庫(kù)進(jìn)行調(diào)用,并將數(shù)據(jù)庫(kù)的開(kāi)發(fā)技術(shù)與CAD技術(shù)進(jìn)行綜合利用,根據(jù)CAD軟件在圖形上的優(yōu)勢(shì),提高軟件開(kāi)發(fā)的質(zhì)量,為ARX軟件開(kāi)發(fā)提供規(guī)范的數(shù)據(jù)管理,有效解決CAD系統(tǒng)與其他子系統(tǒng)之間的集成問(wèn)題,為CAD軟件的二次開(kāi)發(fā)提供新的解決思路與方法。以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的數(shù)據(jù)庫(kù)技術(shù)在ARX軟件開(kāi)發(fā)中的應(yīng)用。如果您有智能電子產(chǎn)品的軟硬件功能開(kāi)發(fā)需求,可以放心交給我們,我們有豐富的電子產(chǎn)品定制開(kāi)發(fā)經(jīng)驗(yàn),可以盡快評(píng)估開(kāi)發(fā)周期與IC價(jià)格,也可以核算PCBA報(bào)價(jià)。我們是多家國(guó)內(nèi)外芯片代理商:松翰、應(yīng)廣、杰理、安凱、全志、realtek,有MCU、語(yǔ)音IC、藍(lán)牙IC與模塊、wifi模塊。我們的擁有硬件設(shè)計(jì)與軟件開(kāi)發(fā)能力。涵蓋了電路設(shè)計(jì)、PCB設(shè)計(jì)、單片機(jī)開(kāi)發(fā)、軟件定制開(kāi)發(fā)、APP定制開(kāi)發(fā)、微信公眾號(hào)開(kāi)發(fā)、語(yǔ)音識(shí)別技術(shù)、藍(lán)牙wifi開(kāi)發(fā)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計(jì)、美容儀器開(kāi)發(fā)、物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)、智能家居方案設(shè)計(jì)、TWS耳機(jī)開(kāi)發(fā)、藍(lán)牙耳機(jī)音箱開(kāi)發(fā)、兒童玩具方案開(kāi)發(fā)、電子教育產(chǎn)品研發(fā)。
07-28
2020
基于MCAPI的多核軟件開(kāi)發(fā)方法隨著技術(shù)的進(jìn)步,電子產(chǎn)品更新?lián)Q代的速度越來(lái)越快。單純提高主頻來(lái)提升系統(tǒng)性能的方式已經(jīng)接近瓶頸,而使用多片處理器搭建系統(tǒng)又不符合產(chǎn)品的小型化要求。傳統(tǒng)的單核處理器已經(jīng)不能滿足日益增長(zhǎng)的性能需求,能夠完成并行任務(wù)處理的多核處理器應(yīng)運(yùn)而生。現(xiàn)代多核處理器主要依靠增加核數(shù)而不是頻率來(lái)提升性能,同時(shí)芯片的高集成度也帶來(lái)了資源調(diào)度和功耗等問(wèn)題。隨著多核處理器并行度的增加,各類同構(gòu)、異構(gòu)多核處理器的出現(xiàn)使得軟件開(kāi)發(fā)面臨著巨大的挑戰(zhàn)。如何在多核上高效地實(shí)現(xiàn)算法,如何合理地分配資源都是需要解決的問(wèn)題。一、多核DSP器件簡(jiǎn)介TMS320C6678是德州儀器公司(Texas Instruments,TI)在2010年推出的一款經(jīng)典的同構(gòu)多核數(shù)字信號(hào)處理器(Digital Signal Processor,DSP),包含8個(gè)DSP內(nèi)核,每個(gè)核在1.4GHz的最高工作頻率下性能可達(dá)到22.4G每秒浮點(diǎn)運(yùn)算次數(shù)(FLoating—point Operations Per Second,F(xiàn)LOPS),支持Hyperlink等多種高速接口,可廣泛用于移動(dòng)通信、醫(yī)療電子、高性能計(jì)算等領(lǐng)域。核間通信(InterP rocessor Communication,IPC)以及核與外設(shè)的通信是多核軟件開(kāi)發(fā)的關(guān)鍵所在。針對(duì)這一需求,德州儀器公司在其新一代Keystone架構(gòu)的處理器上提供了多核導(dǎo)航器,包括硬件隊(duì)列管理器和基于包的直接存儲(chǔ)訪問(wèn)(Direct Memory Address,DMA),以實(shí)現(xiàn)核間高速數(shù)據(jù)傳輸。使用多核導(dǎo)航器進(jìn)行核問(wèn)通信,可以通過(guò)軟件對(duì)相應(yīng)的控制寄存器進(jìn)行讀寫和查詢實(shí)現(xiàn),也可通過(guò)內(nèi)部硬件進(jìn)行事件觸發(fā)實(shí)現(xiàn),這種方式可大大簡(jiǎn)化核間通信處理,但是仍存在缺點(diǎn)。一旦軟件拓?fù)浣Y(jié)構(gòu)發(fā)生改變,或者需要調(diào)整核的運(yùn)算負(fù)載來(lái)提升系統(tǒng)性能時(shí),這部分工作量很大,而且應(yīng)用受限于廠商。二、多核通信應(yīng)用程序接口概述多核通信應(yīng)用程序接口MCAPI(Muhicore Communications Application Program Interface)是由多核聯(lián)盟提出的基于消息傳遞的輕量級(jí)應(yīng)用程序接口標(biāo)準(zhǔn),特別適用于嵌人式系統(tǒng)處理器核間通信和同步。MCAPI的應(yīng)用不受處理器核的數(shù)目、處理器架構(gòu)以及操作系統(tǒng)的限制,并且提供了源碼級(jí)的兼容性支持,可擴(kuò)展性很強(qiáng)。相對(duì)于普通的多片處理器間通信來(lái)說(shuō),多核處理器的核間通信普遍要求低延遲、高帶寬。大部分多核處理器都包含片上存儲(chǔ)器或高速緩存(cache)。為了避免出現(xiàn)計(jì)算瓶頸,核間通信需要減少不必要的存儲(chǔ)器訪問(wèn)。MCAPI中定義了域(domain)、節(jié)點(diǎn)(node)、端點(diǎn)(end.point)、通道(channe1)等關(guān)鍵概念。域是依賴于具體實(shí)現(xiàn)的,既可以是具有多個(gè)處理器核的單個(gè)芯片,也可以是板上的多個(gè)處理器。節(jié)點(diǎn)可以是線程、處理器或硬件加速器等,通??捎锰幚砥骱俗鳛楣?jié)點(diǎn)。端點(diǎn)是類似于套接字的通信點(diǎn),一個(gè)節(jié)點(diǎn)通常包括多個(gè)端點(diǎn)。通道提供了一對(duì)端點(diǎn)之間的點(diǎn)到點(diǎn)的先人先出First In First Out,F(xiàn)IFO)存儲(chǔ)器用于通信,方向?yàn)閱蜗虻摹4送?,MCAPI定義了3種通信基本類型:消息、包通道和標(biāo)量通道。消息是最常用的通信類型,提供了端點(diǎn)之間收發(fā)數(shù)據(jù)的機(jī)制,支持優(yōu)先級(jí)動(dòng)態(tài)調(diào)整,可用于同步、初始化和負(fù)載平衡。包通道和標(biāo)量通道提供了輕量級(jí)的流通信機(jī)制,相應(yīng)的程序開(kāi)銷很小。三、基于Poly—Platform工具的多核軟件開(kāi)發(fā)流程3.1Poly—Platform工具簡(jiǎn)介Poly—Platform是Poly Core公司提供的針對(duì)多核軟件開(kāi)發(fā)的集成開(kāi)發(fā)工具套件,包含Poly-Mapper、Poly-Generator、Poly—Messenger/MCAPI、Poly—Templates等功能模塊。采用該工具進(jìn)行開(kāi)發(fā)可以基于MCAPI標(biāo)準(zhǔn)建立應(yīng)用程序節(jié)點(diǎn),利用用戶圖形界面(Graphical User Interfaces,GUI1向?qū)ё詣?dòng)生成代碼,在幾乎不修改源代碼的基礎(chǔ)上,實(shí)現(xiàn)應(yīng)用程序在同構(gòu)多核、異構(gòu)多核、多處理器等不同平臺(tái)上的靈活配置和擴(kuò)展,不受限于廠商,應(yīng)用前景廣闊。3.2多核軟件開(kāi)發(fā)流程將Poly—Platform軟件使用插件方式集成到Eclipse軟件環(huán)境中后會(huì)在TI的Code Composer Studio開(kāi)發(fā)環(huán)境下出現(xiàn)相應(yīng)的菜單和選項(xiàng),即可進(jìn)行基于Poly—Platform的多核軟件開(kāi)發(fā)。這里選擇TMS320C6678多核DSP器件進(jìn)行開(kāi)發(fā),并且以8個(gè)DSP核之間依次相連并傳遞數(shù)據(jù)的環(huán)形拓?fù)浣Y(jié)構(gòu)為例描述開(kāi)發(fā)流程。(1)建立拓?fù)浣Y(jié)構(gòu)。首先建立一個(gè)拓?fù)?Topology)工程,拓?fù)渲饕枋隽藨?yīng)用程序在(多核)平臺(tái)上的映射關(guān)系。借助Poly—Mapper工具在建立工程后生成的拓?fù)溆成湮募羞M(jìn)行屬性設(shè)置,選擇處理器類型,設(shè)置節(jié)點(diǎn)個(gè)數(shù)為8(對(duì)應(yīng)8個(gè)DSP核),名稱分別為N0一N7,操作系統(tǒng)為TI的DSP專用操作系統(tǒng)。然后在拓?fù)鋱D中繪制8個(gè)節(jié)點(diǎn),并在每個(gè)節(jié)點(diǎn)中間繪制一條鏈路(1ink),得到環(huán)形結(jié)構(gòu)的8節(jié)點(diǎn)拓?fù)浣Y(jié)構(gòu)圖。(2)建立內(nèi)存映射文件并分配資源。建立內(nèi)存映射文件并分配若干個(gè)段(section1,設(shè)置其起始地址、大小、方向等參數(shù)。這些段分別用于內(nèi)存訪問(wèn)區(qū)域(Memory Access Regions,MARs)和鏈路(1ink)。其中內(nèi)存訪問(wèn)區(qū)域包括一些常用的資源池(poo1),如消息池、消息隊(duì)列池、數(shù)據(jù)池、等待池等,不同節(jié)點(diǎn)之間通過(guò)MARs共享資源可以提高資源利用效率,提升系統(tǒng)性能。(3)在拓?fù)浣Y(jié)構(gòu)圖中進(jìn)行內(nèi)存映射。針對(duì)每一個(gè)節(jié)點(diǎn)(N0一N7),設(shè)置其可訪問(wèn)的內(nèi)存訪問(wèn)區(qū)域。然后,還需要對(duì)內(nèi)存訪問(wèn)區(qū)域包含的每一個(gè)資源池進(jìn)行參數(shù)設(shè)置,如起始地址等。同樣地,對(duì)鏈路也需要進(jìn)行參數(shù)設(shè)置。(4)建立節(jié)點(diǎn)工程。這里與常規(guī)的DSP開(kāi)發(fā)流程基本一致,針對(duì)8個(gè)節(jié)點(diǎn)(對(duì)應(yīng)處理器核)分別建立節(jié)點(diǎn)工程,然后需要將這8個(gè)節(jié)點(diǎn)工程與第一步建立的拓?fù)涔こ探⒂成潢P(guān)系。(5)編寫初始化代碼和配置文件。首先利用Poly—Generator工具將拓?fù)浣Y(jié)構(gòu)圖轉(zhuǎn)化為基于拓?fù)涠x的C語(yǔ)言和相應(yīng)的頭文件,并存放到每個(gè)節(jié)點(diǎn)工程的工作目錄下。然后利用Polv—Template工具,按照軟件自帶的MCAPI模板,自動(dòng)為每個(gè)節(jié)點(diǎn)工程生成節(jié)點(diǎn)初始化文件和硬件初始化文件。最后編寫TI專用的實(shí)時(shí)軟件組件Real Time Software Component,RTSC)配置文件和用于存儲(chǔ)器分配的連接器命令文件。(6)編寫每個(gè)節(jié)點(diǎn)工程的主函數(shù)。主函數(shù)主要內(nèi)容包括調(diào)用節(jié)點(diǎn)初始化函數(shù),硬件初始化函數(shù),以及節(jié)點(diǎn)之間消息收發(fā)的函數(shù)(基于MCAPI)等。這些都可以利用Poly—Template工具提供的模板快速完成。(7)編寫每個(gè)節(jié)點(diǎn)工程的應(yīng)用程序。將用戶的算法進(jìn)行代碼實(shí)現(xiàn)并加入節(jié)點(diǎn)工程,這一步與常規(guī)的DSP開(kāi)發(fā)流程完全一致。(8)建立目標(biāo)配置文件和RTSC平臺(tái)。首先建立用于仿真調(diào)試的目標(biāo)配置文件,然后建立RTSC平臺(tái)用于硬件配置,并將其加入節(jié)點(diǎn)工程。這些都是TI專用的文件。(9)編譯、調(diào)試、運(yùn)行。對(duì)每個(gè)節(jié)點(diǎn)工程進(jìn)行編譯、調(diào)試、運(yùn)行,觀察程序運(yùn)行結(jié)果。注意不要編譯拓?fù)涔こ獭?10)程序性能分析和優(yōu)化。借助Poly—inspector工具提供的交互式報(bào)告環(huán)境,可以對(duì)多核軟件實(shí)現(xiàn)進(jìn)行性能分析,方便用戶進(jìn)行程序優(yōu)化和調(diào)整。結(jié)論當(dāng)前計(jì)算環(huán)境變得越來(lái)越多元化,DSP、可編程邏輯器件(Field Programmable Gate Array,F(xiàn)PGA)、圖形處理器(Graphics Processing Unit,GPU)都具有較強(qiáng)的運(yùn)算能力,并適用于不同的應(yīng)用場(chǎng)合。多核處理器是當(dāng)前的研究熱點(diǎn),而高集成度的異構(gòu)多核處理器是未來(lái)的發(fā)展趨勢(shì)?;诙嗪说能浖_(kāi)發(fā)始終是一個(gè)難點(diǎn),給軟件開(kāi)發(fā)人員帶來(lái)了巨大的挑戰(zhàn)。本文提出的基于MCAPI的多核軟件開(kāi)發(fā)方法可應(yīng)用于同構(gòu)多核、異構(gòu)多核以及多處理器平臺(tái),通用性較強(qiáng),不受廠商、處理器、操作系統(tǒng)的限制,可幫助用戶簡(jiǎn)化軟件設(shè)計(jì)和優(yōu)化過(guò)程中的拓?fù)湓O(shè)計(jì)、運(yùn)算負(fù)載平衡以及核間通信和資源分配等工作,顯著地提升開(kāi)發(fā)效率。以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的基于MCAPI的多核軟件開(kāi)發(fā)方法。如果您有智能電子產(chǎn)品的軟硬件功能開(kāi)發(fā)需求,可以放心交給我們,我們有豐富的電子產(chǎn)品定制開(kāi)發(fā)經(jīng)驗(yàn),可以盡快評(píng)估開(kāi)發(fā)周期與IC價(jià)格,也可以核算PCBA報(bào)價(jià)。我們是多家國(guó)內(nèi)外芯片代理商:松翰、應(yīng)廣、杰理、安凱、全志、realtek,有MCU、語(yǔ)音IC、藍(lán)牙IC與模塊、wifi模塊。我們的擁有硬件設(shè)計(jì)與軟件開(kāi)發(fā)能力。涵蓋了電路設(shè)計(jì)、PCB設(shè)計(jì)、單片機(jī)開(kāi)發(fā)、軟件定制開(kāi)發(fā)、APP定制開(kāi)發(fā)、微信公眾號(hào)開(kāi)發(fā)、語(yǔ)音識(shí)別技術(shù)、藍(lán)牙wifi開(kāi)發(fā)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計(jì)、美容儀器開(kāi)發(fā)、物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)、智能家居方案設(shè)計(jì)、TWS耳機(jī)開(kāi)發(fā)、藍(lán)牙耳機(jī)音箱開(kāi)發(fā)、兒童玩具方案開(kāi)發(fā)、電子教育產(chǎn)品研發(fā)。
07-27
2020
軟件開(kāi)發(fā)中的三層架構(gòu)技術(shù)分析三層架構(gòu)技術(shù),其實(shí)就相當(dāng)于在客戶端與數(shù)據(jù)庫(kù)端之問(wèn)加了一個(gè)“中間層”,也可以稱之為組件層。這個(gè)“中間層”,并不是實(shí)際物理意義上的中間層,而指的是邏輯上的中間層,把應(yīng)用程序中的業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問(wèn)、合法性校驗(yàn)等工作放到了中間層進(jìn)行處理,客戶端不再直接與數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互,而是通過(guò)中間層來(lái)建立連接,再由中間層和數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的交互,最終實(shí)現(xiàn)客戶端和數(shù)據(jù)庫(kù)端的數(shù)據(jù)的交互。三層架構(gòu)軟件技術(shù)的規(guī)則在軟件開(kāi)發(fā)的三層架構(gòu)技術(shù)中,第四層數(shù)據(jù)實(shí)體層是基本的數(shù)據(jù)源,是必不可少的一層,是軟件操作的基礎(chǔ),它的運(yùn)算效果取決于計(jì)算機(jī)的硬件和數(shù)據(jù)庫(kù)設(shè)計(jì)的合理性。而對(duì)于另外三層,并不是只要項(xiàng)目被劃分成了表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層就稱之為三層架構(gòu),這三層之間還必須要遵守一些約定的規(guī)則:(1)表示層僅僅只是一個(gè)和用戶進(jìn)行對(duì)接的界面,因而可以將其任意移植到其他類似環(huán)境的項(xiàng)目中。(2)數(shù)據(jù)實(shí)體層只能通過(guò)數(shù)據(jù)訪問(wèn)層進(jìn)行數(shù)據(jù)讀取,其他層都不能夠直接從數(shù)據(jù)實(shí)體層中讀取數(shù)據(jù)。(3)數(shù)據(jù)訪問(wèn)層只能作為一個(gè)對(duì)數(shù)據(jù)庫(kù)實(shí)體的讀取中間層,而不能進(jìn)行任何業(yè)務(wù)邏輯的處理操作。(4)軟件設(shè)計(jì)應(yīng)該以業(yè)務(wù)邏輯層為核心,而不是數(shù)據(jù)訪問(wèn)層或是數(shù)據(jù)實(shí)體層,更不應(yīng)該是表示層。在業(yè)務(wù)邏輯層應(yīng)該以面向?qū)ο蟮姆绞?,?shí)現(xiàn)所有的有業(yè)務(wù)邏輯操作。(5)數(shù)據(jù)層中所有的數(shù)據(jù)都應(yīng)該在一定的抽象程度上做到與系統(tǒng)無(wú)關(guān)。(6)設(shè)計(jì)的時(shí)候,所有的遠(yuǎn)程對(duì)象技術(shù)都應(yīng)該考慮到不同的服務(wù)器和多臺(tái)服務(wù)器之間的負(fù)載均衡作集群。(7)這3個(gè)模塊中的任意模塊都可以運(yùn)行在不同的服務(wù)器上。一個(gè)項(xiàng)目是否需要進(jìn)行三層設(shè)計(jì),首先要看這個(gè)項(xiàng)目的復(fù)雜度。實(shí)際上,很多項(xiàng)目只需要編輯一個(gè)W e bAp plicatio n就足夠?qū)崿F(xiàn)全部功能了,根本不需要更復(fù)雜的技術(shù),而只有真正復(fù)雜的項(xiàng)目,才需要利用三層架構(gòu)技術(shù)進(jìn)行設(shè)計(jì)和開(kāi)發(fā)。三層架構(gòu)技術(shù)的優(yōu)勢(shì)通過(guò)對(duì)三層架構(gòu)技術(shù)的工作原理的理解,我們可以得到通過(guò)三層架構(gòu)技術(shù)開(kāi)發(fā)出來(lái)的軟件的優(yōu)點(diǎn)。(1)結(jié)構(gòu)清晰,耦合度低。三層架構(gòu)技術(shù)中層次分明,層與層之間結(jié)構(gòu)清晰,軟件編寫人員分工明確,層與層之間的關(guān)聯(lián)不多,降低層與層之間的依賴性,編寫人員可以只關(guān)注整個(gè)結(jié)構(gòu)中的某一層,從而極大地避免了二層技術(shù)開(kāi)發(fā)的軟件中存在的耦合度問(wèn)題。(2)可維護(hù)性高,可擴(kuò)展性高。用三層架構(gòu)技術(shù)開(kāi)發(fā)的軟件在后期維護(hù)的時(shí)候,極大地降低了維護(hù)成本和維護(hù)時(shí)間。軟件的任意一部分的功能更改和升級(jí),僅需更改某層的設(shè)計(jì)和編寫,而不需要對(duì)整個(gè)系統(tǒng)做出改變,而不像用二層技術(shù)開(kāi)發(fā)的軟件那樣,一個(gè)小程序的變化都需要調(diào)整整個(gè)軟件開(kāi)發(fā),極大地提高了軟件的維護(hù)性和擴(kuò)展陛。(3)利于開(kāi)發(fā)任務(wù)同步進(jìn)行,容易適應(yīng)需求變化。三層架構(gòu)技術(shù)極大地解決了軟件開(kāi)發(fā)的問(wèn)題,特別是大型軟件開(kāi)發(fā)的問(wèn)題,讓軟件開(kāi)發(fā)實(shí)現(xiàn)任務(wù)的同步。在二層技術(shù)開(kāi)發(fā)軟件時(shí),由于僅有2個(gè)端點(diǎn),故軟件開(kāi)發(fā)時(shí)就存在一個(gè)編程的先后,必須由一個(gè)團(tuán)隊(duì)對(duì)整個(gè)軟件流程十分清楚,并從始至終編寫所有環(huán)節(jié)的程序。而三層架構(gòu)技術(shù)把軟件分成4個(gè)層次,而且層與層之間關(guān)聯(lián)不大,故可以將軟件分成4個(gè)不同層次進(jìn)行同步開(kāi)發(fā),實(shí)現(xiàn)任務(wù)的同步,從而大大縮短了軟件開(kāi)發(fā)的時(shí)間,更容易適應(yīng)需求的變化。軟件三層架構(gòu)技術(shù)的缺點(diǎn)(1)降低了整個(gè)系統(tǒng)的讀取數(shù)據(jù)的速度。在二層技術(shù)結(jié)構(gòu)中,大部分?jǐn)?shù)據(jù)的讀取是通過(guò)客戶端直接造訪數(shù)據(jù)庫(kù)而得到的結(jié)果,而三層架構(gòu)技術(shù)卻必須經(jīng)1/4個(gè)層次的完整過(guò)程才能得到最終結(jié)果,無(wú)形中增加了中間環(huán)節(jié),從而降低了系統(tǒng)的性能。(2)有時(shí)會(huì)導(dǎo)致關(guān)聯(lián)層次的修改。由于三層架構(gòu)技術(shù)中層與層之間存在邏輯關(guān)系,當(dāng)其中一個(gè)層次由于需要而發(fā)生功能的改變或增加時(shí),很有可能導(dǎo)致其他層次的代碼改變。例如:當(dāng)表示層中增加了一個(gè)功能,為了保證其各層設(shè)計(jì)的結(jié)構(gòu)合理性,可能需要在對(duì)應(yīng)的業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層中都增加相應(yīng)的代碼,從而達(dá)到最終數(shù)據(jù)的一致性。(3)整體代碼編寫的工作量增加。由于三層架構(gòu)技術(shù)增加了層與層之間的接口,有些能夠直接使用的代碼現(xiàn)在不得不分開(kāi)使用,無(wú)形中增加了代碼的編寫工作量。(4)增加了開(kāi)發(fā)成本。原先一個(gè)整體的軟件開(kāi)發(fā),現(xiàn)在首先必須將其分割成不同功能的層次,而且需要考慮層與層之間的連接接口,無(wú)形中增加了整個(gè)軟件開(kāi)發(fā)的過(guò)程和工作量,從而增加了軟件開(kāi)發(fā)的成本??偨Y(jié)總體而言,針對(duì)如今軟件開(kāi)發(fā)的日趨大型化、規(guī)模化的特點(diǎn),三層架構(gòu)技術(shù)解決了很多二層架構(gòu)技術(shù)中無(wú)法解決的問(wèn)題,從而真正實(shí)現(xiàn)了軟件開(kāi)發(fā)的同步性、可維護(hù)性和可擴(kuò)展性,是軟件開(kāi)發(fā)進(jìn)步的重要標(biāo)志。以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的軟件開(kāi)發(fā)中的三層架構(gòu)技術(shù)分析。如果您有智能電子產(chǎn)品的軟硬件功能開(kāi)發(fā)需求,可以放心交給我們,我們有豐富的電子產(chǎn)品定制開(kāi)發(fā)經(jīng)驗(yàn),可以盡快評(píng)估開(kāi)發(fā)周期與IC價(jià)格,也可以核算PCBA報(bào)價(jià)。我們是多家國(guó)內(nèi)外芯片代理商:松翰、應(yīng)廣、杰理、安凱、全志、realtek,有MCU、語(yǔ)音IC、藍(lán)牙IC與模塊、wifi模塊。我們的擁有硬件設(shè)計(jì)與軟件開(kāi)發(fā)能力。涵蓋了電路設(shè)計(jì)、PCB設(shè)計(jì)、單片機(jī)開(kāi)發(fā)、軟件定制開(kāi)發(fā)、APP定制開(kāi)發(fā)、微信公眾號(hào)開(kāi)發(fā)、語(yǔ)音識(shí)別技術(shù)、藍(lán)牙wifi開(kāi)發(fā)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計(jì)、美容儀器開(kāi)發(fā)、物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)、智能家居方案設(shè)計(jì)、TWS耳機(jī)開(kāi)發(fā)、藍(lán)牙耳機(jī)音箱開(kāi)發(fā)、兒童玩具方案開(kāi)發(fā)、電子教育產(chǎn)品研發(fā)。
07-26
2020
現(xiàn)今,計(jì)算機(jī)已經(jīng)成為人們?nèi)粘I畋夭豢缮俚奈锲?。隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,人們對(duì)軟件的要求越來(lái)越嚴(yán)格,對(duì)軟件的開(kāi)發(fā)和安全性的關(guān)注度不斷加強(qiáng)。本文對(duì)計(jì)算機(jī)軟件開(kāi)發(fā)與保護(hù)技術(shù)進(jìn)行總結(jié),希望引起大眾對(duì)計(jì)算機(jī)開(kāi)發(fā)與軟件安全應(yīng)用的重視。一、計(jì)算機(jī)軟件開(kāi)發(fā)的安全設(shè)計(jì)隨著科技水平的提高,市面上出現(xiàn)許多能夠直接應(yīng)用于程序,且設(shè)計(jì)成熟的安全性產(chǎn)品。安全功能產(chǎn)品不僅能提高整個(gè)計(jì)算機(jī)系統(tǒng)的統(tǒng)一性、整體性,而且還能構(gòu)建應(yīng)用程序模塊,提高原有安全產(chǎn)品的功能,增強(qiáng)安全性。比如,一般情況下,安全產(chǎn)品不會(huì)提供數(shù)字簽名的功能,但是通過(guò)安裝相關(guān)的應(yīng)用就能夠?qū)崿F(xiàn)該功能安全程序開(kāi)發(fā)過(guò)程就是程序員將有效的安全服務(wù)模塊安裝在一起的過(guò)程。在軟件開(kāi)發(fā)的過(guò)程中,技術(shù)部門要先調(diào)查開(kāi)發(fā)相關(guān)需求,再通過(guò)計(jì)算機(jī)內(nèi)部建設(shè)構(gòu)建安全工程方面的內(nèi)部控制流程,總結(jié)流程特殊性及相應(yīng)的運(yùn)行參數(shù),從而降低開(kāi)發(fā)成本,提升開(kāi)發(fā)效率。這種開(kāi)發(fā)方案不僅能夠加強(qiáng)軟件各環(huán)節(jié)的安全性,而且還能提高系統(tǒng)的穩(wěn)定性、可靠性。應(yīng)用程序和文檔管理的保密工作關(guān)鍵在于是否能夠有效的進(jìn)行輸入輸出和處理控制,確保輸入輸出數(shù)據(jù)完整性、準(zhǔn)確性和安全性。進(jìn)行交易時(shí),為避免出現(xiàn)錯(cuò)誤,需要進(jìn)行數(shù)據(jù)傳輸及處理的程序控制,一旦發(fā)現(xiàn)程序出錯(cuò),程序會(huì)發(fā)出錯(cuò)誤提示和修改意見(jiàn)。同時(shí),應(yīng)加強(qiáng)對(duì)系統(tǒng)更正完整性、正確性的跟蹤和審計(jì),務(wù)必達(dá)到開(kāi)發(fā)程序符合業(yè)務(wù)需要的要求。如果設(shè)計(jì)時(shí)出現(xiàn)各模塊間產(chǎn)生矛盾或者密碼模式不充分的情況,導(dǎo)致安全需要不能全部實(shí)現(xiàn),則應(yīng)對(duì)其進(jìn)行取舍或選擇其他安全運(yùn)行機(jī)制,努力滿足安全需求的可行性。二、計(jì)算機(jī)軟件保護(hù)技術(shù)分析計(jì)算機(jī)軟件保護(hù)技術(shù)開(kāi)發(fā)的首要目的是預(yù)防、阻止不法商販對(duì)正版軟件的復(fù)制傳播,其主要包括以下兩個(gè)方面:一是以保護(hù)硬件為目的開(kāi)發(fā)軟件保護(hù)技術(shù);二是以軟件開(kāi)發(fā)為目的開(kāi)發(fā)軟件保護(hù)技術(shù)。目前,軟件保護(hù)技術(shù)應(yīng)用范圍廣泛,包括應(yīng)用軟件、操作系統(tǒng)、驅(qū)動(dòng)、網(wǎng)絡(luò)等領(lǐng)域。判定軟件保護(hù)技術(shù)及其產(chǎn)品的安全性需要進(jìn)行綜合評(píng)判,僅僅通過(guò)單一方面評(píng)價(jià)安全性是不可取的。2.1硬件層面(1)加密狗:加密狗是外形酷似u盤的一種硬件設(shè)備,正名加密鎖,后來(lái)發(fā)展成如今的一個(gè)軟件保護(hù)的通俗行業(yè)名詞,其是一種插在計(jì)算機(jī)并行口上的軟硬件結(jié)合的加密產(chǎn)品一般都有幾十或幾百字節(jié)的非易失性存儲(chǔ)空間可供讀寫,現(xiàn)在較新的狗內(nèi)部還包含了單片機(jī)。軟件開(kāi)發(fā)者可以通過(guò)接口函數(shù)和軟件狗進(jìn)行數(shù)據(jù)交換,即對(duì)軟件狗進(jìn)行讀寫,來(lái)檢查軟件狗是否插在接口上;或者直接用軟件狗附帶的工具加密自己EXE文件。這樣,軟件開(kāi)發(fā)者可以在軟件中設(shè)置多處軟件鎖,利用軟件狗做為鑰匙來(lái)打開(kāi)這些鎖;如果沒(méi)插軟件狗或軟件狗不對(duì)應(yīng),軟件將不能正常執(zhí)行。雖然加密狗優(yōu)點(diǎn)較多,但是卻有便捷性較低、成本造價(jià)高的弊端,不能被大范圍推廣。(2)光盤、軟盤。軟盤、光盤均可通過(guò)在其存儲(chǔ)空間中隱藏密鑰的方式保護(hù)存入的電子信息此外,軟盤具有寫保護(hù)狀態(tài),可防止誤寫操作,也可避免病毒對(duì)它的侵害。在使用的時(shí)候最好將一些重要的軟盤(如程序安裝盤和數(shù)據(jù)備份盤)制成寫保護(hù)狀態(tài)。將寫保護(hù)按鈕推向里面蓋住軟盤左后角的孔,露出寫保護(hù)按鈕的方孔,軟盤即可處于書寫狀態(tài),軟盤可接受輸入記錄。一個(gè)軟盤可以記錄存儲(chǔ)多個(gè)文件,它同時(shí)也像錄音磁帶一樣可以重復(fù)使用。但是,光盤、軟盤保護(hù)具有兩個(gè)缺點(diǎn):首先,如若光盤、軟盤遭到損壞,存儲(chǔ)在其中的電子信息將無(wú)法修復(fù)。其次,專業(yè)技術(shù)強(qiáng)的黑客很容易判斷密鑰的位置,破解后進(jìn)行盜版。2.2軟件層面(1)序列號(hào):序列號(hào)保護(hù)是現(xiàn)今最流行的軟件保護(hù)方式,軟件通過(guò)驗(yàn)證用戶名與序列號(hào)之間的換算關(guān)系,確保序列號(hào)的合法性。當(dāng)用戶購(gòu)買軟件并下載到電腦上,如果想進(jìn)行安裝和正常使用,需要進(jìn)行軟件注冊(cè)。用戶將個(gè)人信息發(fā)送給軟件公司,注冊(cè)屬于自己獨(dú)有的私人賬號(hào),軟件公司會(huì)提供給客戶一個(gè)具有唯一性的序列號(hào)??蛻舯仨殰?zhǔn)確輸入序列號(hào),并且通過(guò)驗(yàn)證才能使用軟件全部功能。這種方式的優(yōu)點(diǎn)是操作簡(jiǎn)捷,成本低廉,容易推廣。(2)Nag窗口:軟件未注冊(cè)或軟件的試用版經(jīng)常會(huì)彈出一些提示要求注冊(cè)的窗口,這些窗口被稱為Nag窗口。Nag窗口在軟件試用期過(guò)后,很可能屏蔽軟件的正式窗口或某些具有重要功能的窗口,從而使軟件不能正常使用。同時(shí),軟件可以控制Nag窗口的彈出時(shí)間和彈出次數(shù),但由于彈窗會(huì)給用戶帶來(lái)不佳的印象,因而使用的越來(lái)越少。(3)時(shí)間、功能限制:對(duì)軟件進(jìn)行時(shí)間限制的保護(hù)方式現(xiàn)在比較普遍,其包括兩類:一是進(jìn)行單次運(yùn)行時(shí)間限制,超過(guò)限定時(shí)間數(shù)據(jù)自動(dòng)停止軟件運(yùn)行;二是進(jìn)行使用次數(shù)或期限的限制。對(duì)軟件功能進(jìn)行限制,就是對(duì)軟件中的模塊功能進(jìn)行處理,使用戶不能正常使用,目前此項(xiàng)限制的效果反饋較好。(4)反反匯編:反反匯編是一種較為綜合的軟件保護(hù)技術(shù),通過(guò)結(jié)合本文中提到的各種保護(hù)技術(shù)特點(diǎn)實(shí)施保護(hù),效果較為理想。此種技術(shù)現(xiàn)在主要用于防范Cracker的動(dòng)態(tài)跟蹤與分析??偨Y(jié)現(xiàn)階段,計(jì)算機(jī)技術(shù)與網(wǎng)絡(luò)飛速發(fā)展,軟件、系統(tǒng)程序逐漸深入我們的工作和學(xué)習(xí)之中,以后甚至可能影響到我們的衣食住行,所以對(duì)計(jì)算機(jī)軟件的開(kāi)發(fā)應(yīng)予以高度的重視。而相對(duì)的計(jì)算機(jī)信息安全也更會(huì)夠影響到我們正常的工作生活,因此對(duì)計(jì)算機(jī)軟件保護(hù)技術(shù)的研究刻不容緩。以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的計(jì)算機(jī)軟件開(kāi)發(fā)與保護(hù)技術(shù)研究。如果您有智能電子產(chǎn)品的軟硬件功能開(kāi)發(fā)需求,可以放心交給我們,我們有豐富的電子產(chǎn)品定制開(kāi)發(fā)經(jīng)驗(yàn),可以盡快評(píng)估開(kāi)發(fā)周期與IC價(jià)格,也可以核算PCBA報(bào)價(jià)。我們是多家國(guó)內(nèi)外芯片代理商:松翰、應(yīng)廣、杰理、安凱、全志、realtek,有MCU、語(yǔ)音IC、藍(lán)牙IC與模塊、wifi模塊。我們的擁有硬件設(shè)計(jì)與軟件開(kāi)發(fā)能力。涵蓋了電路設(shè)計(jì)、PCB設(shè)計(jì)、單片機(jī)開(kāi)發(fā)、軟件定制開(kāi)發(fā)、APP定制開(kāi)發(fā)、微信公眾號(hào)開(kāi)發(fā)、語(yǔ)音識(shí)別技術(shù)、藍(lán)牙wifi開(kāi)發(fā)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計(jì)、美容儀器開(kāi)發(fā)、物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)、智能家居方案設(shè)計(jì)、TWS耳機(jī)開(kāi)發(fā)、藍(lán)牙耳機(jī)音箱開(kāi)發(fā)、兒童玩具方案開(kāi)發(fā)、電子教育產(chǎn)品研發(fā)。
07-25
2020
小型應(yīng)用軟件快速開(kāi)發(fā)方法研究計(jì)算機(jī)由硬件與軟件構(gòu)成,軟件是其核心,是完成計(jì)算機(jī)各種控制和操作的指令集合,硬件是保障計(jì)算機(jī)系統(tǒng)正常運(yùn)行的各種元器件。軟件又分為系統(tǒng)軟件和應(yīng)用軟件,系統(tǒng)軟件是運(yùn)行在計(jì)算機(jī)硬件上的基礎(chǔ)軟件,是其他應(yīng)用軟件運(yùn)行的基礎(chǔ)平臺(tái),而應(yīng)用軟件是為了滿足使用者對(duì)于計(jì)算機(jī)系統(tǒng)的不同需求而設(shè)計(jì)開(kāi)發(fā)的具有專業(yè)性和較強(qiáng)應(yīng)用性的程序,其最大的特點(diǎn)就是其應(yīng)用性。軟件開(kāi)發(fā)是一項(xiàng)特殊工作,其特殊性表現(xiàn)在工作內(nèi)容復(fù)雜且工作量大、開(kāi)發(fā)時(shí)間緊張、需求不清晰、進(jìn)度難保證、錯(cuò)誤難杜絕,而且軟件產(chǎn)品是一種邏輯產(chǎn)品,不具有實(shí)物特征,開(kāi)發(fā)過(guò)程具有一定隱蔽性,因此,應(yīng)用軟件開(kāi)發(fā)應(yīng)嚴(yán)格遵循軟件工程思想、建立一套嚴(yán)密的開(kāi)發(fā)流程才能保證軟件產(chǎn)品滿足用戶需求。與大型應(yīng)用軟件開(kāi)發(fā)相比,小型應(yīng)用軟件開(kāi)發(fā)工作量較小、復(fù)雜度可控、只需完成特定功能、應(yīng)用范圍窄、功能針對(duì)性強(qiáng),小型應(yīng)用軟件只需少量開(kāi)發(fā)人員或一人獨(dú)立開(kāi)發(fā)就能完成。一、小型應(yīng)用軟件開(kāi)發(fā)流程軟件的開(kāi)發(fā)過(guò)程和技術(shù)是由軟件的性質(zhì)決定的。小型應(yīng)用軟件開(kāi)發(fā)流程與大型應(yīng)用軟件開(kāi)發(fā)流程基本類似,都應(yīng)遵循軟件工程思想,經(jīng)過(guò)需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、內(nèi)部測(cè)試、軟件部署、用戶測(cè)試等環(huán)節(jié)才能上線使用。對(duì)大型應(yīng)用軟件開(kāi)發(fā)而言,因其開(kāi)發(fā)過(guò)程復(fù)雜、開(kāi)發(fā)成本高,為確保開(kāi)發(fā)的軟件符合用戶需求,大型應(yīng)用軟件開(kāi)發(fā)的每個(gè)步驟都需要多人精心調(diào)研、策劃、論證、確認(rèn),形成相應(yīng)開(kāi)發(fā)文檔,而小型應(yīng)用軟件開(kāi)發(fā)相對(duì)來(lái)說(shuō)復(fù)雜度較低、工作量較小,每一個(gè)開(kāi)發(fā)環(huán)節(jié)要簡(jiǎn)單并且可控,開(kāi)發(fā)者對(duì)小型應(yīng)用軟件的全局和細(xì)節(jié)都能完全掌控,開(kāi)發(fā)效率自然就有了很大提高,但開(kāi)發(fā)過(guò)程中每一個(gè)環(huán)節(jié)都不能少。(如圖1)二、提高小型應(yīng)用軟件開(kāi)發(fā)效率方法2.1提高軟件頁(yè)面開(kāi)發(fā)效率方法在開(kāi)發(fā)過(guò)程中,我們主要采用VS(Microsoft visual studio2008)集成開(kāi)發(fā)工具,該開(kāi)發(fā)工具既適合開(kāi)發(fā)C/S結(jié)構(gòu)軟件,也可以開(kāi)發(fā)B/S結(jié)構(gòu)軟件,但VS工具更適合服務(wù)端程序的開(kāi)發(fā),在頁(yè)面開(kāi)發(fā)效率上,VS不如Dreamweaver工具來(lái)得快。為了提高系統(tǒng)頁(yè)面開(kāi)發(fā)效率,我們可以把同一個(gè)軟件頁(yè)面文件在VS和Dreamweaver中同時(shí)打開(kāi),并在Dreamweaver中對(duì)系統(tǒng)頁(yè)面進(jìn)行設(shè)計(jì)、修改,VS開(kāi)發(fā)工具中會(huì)自動(dòng)彈出該文件在其他地方已經(jīng)進(jìn)行修改,提示是否需要保存,我們?cè)赩S中保存該修改的文件,那么在Dreamweaver工具中設(shè)計(jì)的軟件頁(yè)面就能被VS開(kāi)發(fā)工具識(shí)別、認(rèn)可。在Dreamweaver工具中完成軟件頁(yè)面設(shè)計(jì),在VS開(kāi)發(fā)工具中完成服務(wù)端程序開(kāi)發(fā),我們將VS開(kāi)發(fā)工具與Dreamweaver頁(yè)面設(shè)計(jì)工具兩者結(jié)合應(yīng)用,將大大提高軟件頁(yè)面開(kāi)發(fā)效率,從而提高應(yīng)用軟件開(kāi)發(fā)效率。2.2提高軟件開(kāi)發(fā)代碼編寫效率方法代碼編寫是應(yīng)用軟件最終實(shí)現(xiàn)的基礎(chǔ)。在小型應(yīng)用軟件開(kāi)發(fā)中,我們?cè)诖a編寫時(shí)使用有規(guī)律的變量名稱,在控件命名時(shí)也使用有規(guī)律的名稱來(lái)命名控,這樣一方面容易查錯(cuò),避免變量使用的錯(cuò)位、遺漏,另一方面可以對(duì)代碼有規(guī)律的修改,提高編寫效率??偨Y(jié)相較于人工操作而言,計(jì)算機(jī)的軟件處理能力具有更高的效率,其質(zhì)量也有了很大提高,能明顯降低出錯(cuò)率。小型應(yīng)用軟件雖然規(guī)模小、應(yīng)用范圍窄,但它針對(duì)性強(qiáng),能解決特定問(wèn)題,如年終考核測(cè)評(píng)、民主推薦等小型應(yīng)用軟件的應(yīng)用不僅能提高工作效率,同時(shí)也可以滿足公平、公正、保密等方面的要求,投入與產(chǎn)出比高。文中提成了兩種方法來(lái)提高小型應(yīng)用軟件的開(kāi)發(fā)效率,首先是將VS開(kāi)發(fā)工具與Dreamweaver頁(yè)面設(shè)計(jì)工具兩者結(jié)合應(yīng)用,將大大提高軟件頁(yè)面開(kāi)發(fā)效率,其次,當(dāng)軟件系統(tǒng)中使用到大量同類型控件情況下,利用Excel軟件、記事本軟件來(lái)自動(dòng)生成的代碼文本沒(méi)有錯(cuò)誤,節(jié)省代碼編寫和檢測(cè)時(shí)間,從而提高了小型應(yīng)用軟件的開(kāi)發(fā)效率。以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的小型應(yīng)用軟件快速開(kāi)發(fā)方法詳情。如果您有智能電子產(chǎn)品的軟硬件功能開(kāi)發(fā)需求,可以放心交給我們,我們有豐富的電子產(chǎn)品定制開(kāi)發(fā)經(jīng)驗(yàn),可以盡快評(píng)估開(kāi)發(fā)周期與IC價(jià)格,也可以核算PCBA報(bào)價(jià)。我們是多家國(guó)內(nèi)外芯片代理商:松翰、應(yīng)廣、杰理、安凱、全志、realtek,有MCU、語(yǔ)音IC、藍(lán)牙IC與模塊、wifi模塊。我們的擁有硬件設(shè)計(jì)與軟件開(kāi)發(fā)能力。涵蓋了電路設(shè)計(jì)、PCB設(shè)計(jì)、單片機(jī)開(kāi)發(fā)、軟件定制開(kāi)發(fā)、APP定制開(kāi)發(fā)、微信公眾號(hào)開(kāi)發(fā)、語(yǔ)音識(shí)別技術(shù)、藍(lán)牙wifi開(kāi)發(fā)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計(jì)、美容儀器開(kāi)發(fā)、物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)、智能家居方案設(shè)計(jì)、TWS耳機(jī)開(kāi)發(fā)、藍(lán)牙耳機(jī)音箱開(kāi)發(fā)、兒童玩具方案開(kāi)發(fā)、電子教育產(chǎn)品研發(fā)。
07-24
2020
微信官方給出的小程序的解釋是:“小程序是不需要下載安裝便可以使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用觸手可及的夢(mèng)想,用戶掃一掃或搜一下即可打開(kāi)應(yīng)用,也體現(xiàn)了用完即走的理念,用戶不用關(guān)心是否安裝太多應(yīng)用的問(wèn)題,應(yīng)用將無(wú)處不在,隨時(shí)可用,但又無(wú)需安裝卸載。”微信小程序自2017年1月9日正式上線以來(lái),就引起廣泛關(guān)注。微信團(tuán)隊(duì)也不停地對(duì)小程序進(jìn)行更新。微信小程序的優(yōu)勢(shì)十分明顯,小程序觸及了PC網(wǎng)頁(yè),公眾號(hào),H5,APP無(wú)法觸及的地方,其無(wú)需安裝,用完即走的理念能夠滿足用戶需求且節(jié)省手機(jī)內(nèi)存。站在小程序的擁有者的立場(chǎng),其開(kāi)發(fā)成本大大減小,同時(shí)可借助微信強(qiáng)大的流量入口,因而也降低了推廣的難度??偟膩?lái)說(shuō),微信小程序是一種全新的方式,能夠更好地在用戶和服務(wù)中建立連接,并且可以在微信中便捷地獲取和傳播,具有不錯(cuò)的使用體驗(yàn)。一、小程序開(kāi)發(fā)前準(zhǔn)備小程序采用了類似React Native和Weex一樣的解析技術(shù),開(kāi)發(fā)者可以編寫一套程序在多種客戶端運(yùn)行,同時(shí),相比于公眾號(hào)、微商城具有更好的原生體驗(yàn)。全面開(kāi)放申請(qǐng)以后,作為企業(yè)、政府、媒體、其他組織或者個(gè)人的開(kāi)發(fā)者,都可以申請(qǐng)并注冊(cè)小程序。小程序和微信的訂閱號(hào)、服務(wù)號(hào)以及企業(yè)號(hào)是并行的體系,具有獨(dú)立的注冊(cè)以及發(fā)布流程。1、小程序接入流程小程序的接入主要有4個(gè)步驟。(1)小程序注冊(cè):在微信公眾平臺(tái)官網(wǎng)首頁(yè)(mp.weixin.qq.com)注冊(cè)并提交注冊(cè)信息、完善主體信息和管理員信息。(2)完善小程序信息:完善小程序的基本信息如名稱、頭像及服務(wù)范圍等。開(kāi)發(fā)前需綁定開(kāi)發(fā)者并獲取APP ID,以保證程序可以通過(guò)手機(jī)進(jìn)行掃碼測(cè)試。(3)開(kāi)發(fā)小程序:下載安裝微信開(kāi)發(fā)者工具,微信官方提供了一套完整的開(kāi)發(fā)框架,開(kāi)發(fā)者可以根據(jù)微信開(kāi)發(fā)文檔進(jìn)行小程序的開(kāi)發(fā)與調(diào)試。(4)代碼審核及發(fā)布:小程序開(kāi)發(fā)完成后,不能夠直接發(fā)布,需提交代碼與開(kāi)發(fā)配置信息提交審核,完成后尚可發(fā)布。2、微信Web開(kāi)發(fā)者工具官方公布的微信開(kāi)發(fā)工具名為微信Web開(kāi)發(fā)者工具,小程序前端開(kāi)發(fā)框架是微信官方提供的框架。微信Web開(kāi)發(fā)工具是一種基于Native System系統(tǒng)層的框架,由于并不是運(yùn)行在瀏覽器中,所以JavaScript在Web中的一些諸如Document,Window等方法均不可使用,以往HTML5在加載的時(shí)候在網(wǎng)絡(luò)環(huán)境會(huì)有所限制,需要逐步加載HTML,CSS,JS,然后返回?cái)?shù)據(jù),最后渲染頁(yè)面展現(xiàn)在瀏覽器中。用戶總是需要等待很久,這樣使得用戶體驗(yàn)感大大降低。相比之下,小程序的兩個(gè)線程:Appservice Thread和ViewThread會(huì)同時(shí)進(jìn)行、并行加載,甚至Appservice Thread會(huì)更早執(zhí)行,當(dāng)視圖線程加載完,通知Appservice,Appservice會(huì)把準(zhǔn)備好的數(shù)據(jù)用setData的方法返回給視圖線程。小程序的這種優(yōu)化策略,可以減少用戶的等待時(shí)間,加快小程序的響應(yīng)速度。微信Web開(kāi)發(fā)者工具區(qū)別于H5的開(kāi)發(fā)工具+瀏覽器Device Mode預(yù)覽的模式,而是基于自己的開(kāi)發(fā)者工具,可以實(shí)現(xiàn)同步本地文件+開(kāi)發(fā)調(diào)試+編譯預(yù)覽+上傳+發(fā)布等一整套流程。同時(shí)小程序自己開(kāi)發(fā)了一套WXML標(biāo)簽語(yǔ)言和WXSS樣式語(yǔ)言,并非直接使用標(biāo)準(zhǔn)的HTML5+CSS3。同時(shí)提供了很多原生APP的組件,之前在HTML5中需要模擬才能實(shí)現(xiàn)的功能,在小程序中可以直接調(diào)用組件來(lái)實(shí)現(xiàn)。二、小程序的結(jié)構(gòu)及其核心技術(shù)1、小程序的文件結(jié)構(gòu)使用微信Web開(kāi)發(fā)工具新建一個(gè)項(xiàng)目,框架會(huì)自動(dòng)生成描述整體程序的APP和多個(gè)描述頁(yè)面的page文件。完整的小程序主要組成有:一個(gè)入口文件:app.js;一個(gè)全局樣式:app.wxss;一個(gè)全局配置:app.json;在頁(yè)面pages下將頁(yè)面安裝文件夾劃分,每個(gè)頁(yè)面存在4個(gè)文件,分別是:視圖層:wxml文件、wxss文件;邏輯層:js文件、json文件(頁(yè)面配置,不是必須)。(1)app.js是控制小程序邏輯的腳本文件,app.json是小程序的配置文件,負(fù)責(zé)對(duì)小程序的全局配置。app.wxss是全局樣式表,作用范圍是項(xiàng)目的每一個(gè)頁(yè)面。(2)wxml是一種類似xml格式的語(yǔ)言,具有數(shù)據(jù)綁定、條件渲染、列表渲染、自定義模板、事件回調(diào)和外部引用等功能。page.wxml主要通過(guò)使用基礎(chǔ)組件構(gòu)建頁(yè)面結(jié)構(gòu)。wxss和css格式的語(yǔ)言有相同之處,用于描述wxml的組件樣式,page.wxss的優(yōu)先級(jí)比app.json的Window高。同時(shí),微信為小程序新增了尺寸單位rpx,rpx可以根據(jù)屏幕寬度進(jìn)行自適應(yīng),rpx實(shí)際上就是系統(tǒng)級(jí)的rem(把頁(yè)面按比例分割750份,1rpx=innerWidth/750)。page.json可以對(duì)獨(dú)立定義的頁(yè)面進(jìn)行一些屬性的設(shè)置,以滿足實(shí)際需要。config.json可以設(shè)置一些個(gè)性化配置,當(dāng)重新安裝工具或者換一臺(tái)電腦時(shí),只要導(dǎo)入相同的代碼包,開(kāi)發(fā)工具就會(huì)自動(dòng)恢復(fù)到開(kāi)發(fā)這個(gè)項(xiàng)目時(shí)的個(gè)性化設(shè)置。JS文件主要用于用戶交互、響應(yīng)用戶點(diǎn)擊等。在小程序中,通過(guò)JS腳本來(lái)響應(yīng)用戶操作。2、小程序的框架微信小程序的開(kāi)發(fā)是基于框架的,從軟件設(shè)計(jì)角度來(lái)說(shuō),框架是一個(gè)可復(fù)用的軟件架構(gòu)解決方案,規(guī)定了應(yīng)用的體系結(jié)構(gòu),闡明軟件體系結(jié)構(gòu)中各層次間及其層次內(nèi)部各組件間的毅力關(guān)系,責(zé)任分配和控制流程,表現(xiàn)為一組接口、抽象類以及實(shí)例間協(xié)作的方法,是指對(duì)某一指定應(yīng)用領(lǐng)域中的應(yīng)用系統(tǒng)的部分設(shè)計(jì)與實(shí)現(xiàn)子系統(tǒng)的整體結(jié)構(gòu)。小程序開(kāi)發(fā)框架的核心是一個(gè)響應(yīng)的數(shù)據(jù)綁定系統(tǒng)。分為視圖層(View)和邏輯層(APP Service),小程序開(kāi)發(fā)工具提供了視圖層描述語(yǔ)言WXML和WXSS,以及基于JavaScript的邏輯層框架,并在視圖層與邏輯層間設(shè)置了數(shù)據(jù)傳輸和事件系統(tǒng),使得開(kāi)發(fā)者能夠很簡(jiǎn)單地將重心放在數(shù)據(jù)與邏輯上。處理事務(wù)邏輯的地方被稱為邏輯層。在微信小程序中,所有.js腳本文件的集合構(gòu)成邏輯層。邏輯層與視圖層相互配合,完成數(shù)據(jù)處理及接收事件反饋??蚣艿囊晥D層由WXML與WXSS編寫,通過(guò)組件進(jìn)行展現(xiàn)。對(duì)于小程序本身,.wxml文件與.wxss文件的集合構(gòu)成了視圖層,邏輯層處理數(shù)據(jù)之后,會(huì)發(fā)送給視圖層用于與用戶的交互,同時(shí)接收用戶對(duì)視圖層的反饋。視圖層以給定的樣式展現(xiàn)數(shù)據(jù)并反饋事件給邏輯層,數(shù)據(jù)展現(xiàn)是通過(guò)組件來(lái)進(jìn)行的。視圖的基本構(gòu)成是組件。3、小程序的相關(guān)組件微信提供了一系列基本組件,可以通過(guò)使用這些基本組件組合形成來(lái)進(jìn)行小程序的開(kāi)發(fā)。這里說(shuō)明幾個(gè)比較有特點(diǎn)的組件。(1)<view/>和html5中的<div/>類似,是布局中最基本的一個(gè)組件,任何一種復(fù)雜的布局都可以通過(guò)嵌套<view/>組件來(lái)實(shí)現(xiàn),<view/>是一個(gè)塊級(jí)容器組件,默認(rèn)display:block,它是盒模型,在布局過(guò)程中一般推薦display:flx的寫法。(2)<textarea/>是多行輸入框,與HTML中不同的是,它的值需要賦值給value屬性,而不是被標(biāo)簽包裹,是一個(gè)自閉合標(biāo)簽,css動(dòng)畫對(duì)<textarea/>組件無(wú)效。(3)<navigator/>是頁(yè)面鏈接,和HTML中超鏈接標(biāo)簽<a/>一樣,主要進(jìn)行頁(yè)面跳轉(zhuǎn)控制。鏈接的內(nèi)容可以是一個(gè)字、詞或者一幅圖片,通過(guò)點(diǎn)擊內(nèi)容實(shí)現(xiàn)頁(yè)面的跳轉(zhuǎn)。(4)<canvas/>主要用于繪制圖形,其本身是一塊無(wú)色透明區(qū)域,并沒(méi)有繪制的能力,僅僅是圖形容器,需要調(diào)節(jié)相關(guān)的應(yīng)用程序編程接口(Application ProgrammingInterface,API)來(lái)完成實(shí)際的繪圖任務(wù)。4、小程序的API及其配置(1)域名配置:根據(jù)小程序提供的組件,開(kāi)發(fā)者可以根據(jù)需要設(shè)計(jì)UI界面,然而小程序的一些功能就要依賴框架提供的API來(lái)實(shí)現(xiàn)。在使用API時(shí),首先要對(duì)小程序進(jìn)行服務(wù)器域名的配置,每個(gè)小程序都需要設(shè)定通信的域名,小程序可以跟指定的域名進(jìn)行網(wǎng)絡(luò)通信。目前支持的有HTTPS(request)、上傳文件(uploadFile)、下載文件(downloadFile)和WebSocket通信。(2)常用API:1)wx.request(Object):實(shí)現(xiàn)小程序與開(kāi)發(fā)者的服務(wù)器實(shí)現(xiàn)數(shù)據(jù)交互。request方法的作用是發(fā)起HTTPS請(qǐng)求,在小程序中,只能使用HTTPS請(qǐng)求而不能使用HTTP請(qǐng)求,一個(gè)微信小程序同時(shí)只能有5個(gè)網(wǎng)絡(luò)請(qǐng)求連接。2)WebSocket:request方法是通過(guò)客戶端主動(dòng)向服務(wù)器發(fā)起請(qǐng)求,而服務(wù)器端響應(yīng)返回?cái)?shù)據(jù)來(lái)實(shí)現(xiàn)通信的目的。這種方法存在缺點(diǎn),那就是服務(wù)器不能主動(dòng)向客戶端發(fā)送消息。因此要實(shí)現(xiàn)服務(wù)器和客戶端之間的即時(shí)通信只能采用輪詢的方法,而且request的Header是十分長(zhǎng)的,為了傳輸一個(gè)很小的數(shù)據(jù)會(huì)占用很多的寬帶。針對(duì)這種情況,開(kāi)發(fā)者可以通過(guò)小程序提供的WebSocket相關(guān)API創(chuàng)建WebSocket,WebSocket只需要服務(wù)器和瀏覽器通過(guò)HTTP協(xié)議進(jìn)行一個(gè)握手的動(dòng)作后單獨(dú)建立一條傳輸控制協(xié)議(TransmissionControl Protocol,TCP)的通信通道就可以進(jìn)行數(shù)據(jù)的傳送,實(shí)現(xiàn)長(zhǎng)連接以達(dá)到通信的目的。三、小程序設(shè)計(jì)的項(xiàng)目發(fā)布1、小程序發(fā)布流程項(xiàng)目開(kāi)發(fā)完成后,管理員需手動(dòng)打包上傳代碼,填寫相關(guān)配置類目并將代碼提交審核,若第一次審核未通過(guò),再次提交審核將開(kāi)放提供測(cè)試的入口,該入口由開(kāi)發(fā)者提供,用于微信審核人員審核微信小程序時(shí)登錄。審核后手動(dòng)發(fā)布即可。2、小程序上傳原理管理員手動(dòng)將代碼打包上傳是怎樣實(shí)現(xiàn)的呢?編輯器本身是基于Web技術(shù)體系實(shí)現(xiàn)的。簡(jiǎn)單是說(shuō)就是node+webkit,node提供給我們本地api的能力,而webkit提供給我們Web的能力,兩者結(jié)合之后便可以使用JS+HTML實(shí)現(xiàn)本地應(yīng)用程序。既然有nodejs,那打包選項(xiàng)里的功能就好實(shí)現(xiàn)了。其中ES6轉(zhuǎn)ES5就是引入babel-core的node包,CSS補(bǔ)全是引入postcss和autoprefixer的node包,代碼壓縮則是引入uglifyjs的node包。結(jié)語(yǔ)微信小程序站在月活躍用戶9億人次的微信的肩膀上,自帶流量趨勢(shì),入口多,功能簡(jiǎn)單便捷。小程序功能快速迭代,意味著圍繞小程序的開(kāi)發(fā)和生態(tài)工具建設(shè)將會(huì)是移動(dòng)互聯(lián)網(wǎng)的一個(gè)巨大機(jī)會(huì)。目前各行業(yè)內(nèi)諸多企業(yè)單位紛紛加入了小程序開(kāi)發(fā),開(kāi)通了小程序功能。雖然前段時(shí)間不少聲音都不看好小程序,但小程序進(jìn)行優(yōu)化后,開(kāi)放了很多入口,使得開(kāi)發(fā)者和用戶關(guān)注度不斷提升??v使一些高頻和復(fù)雜應(yīng)用暫時(shí)無(wú)法被小程序取代,但是一些低頻應(yīng)用的主要功能,只要能在小程序上實(shí)現(xiàn),APP就可以完全卸載了??偟膩?lái)說(shuō),微信小程序目前發(fā)展空間甚好,至于以后未來(lái)的發(fā)展仍舊不能夠準(zhǔn)確預(yù)測(cè)。以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的微信小程序開(kāi)發(fā)技術(shù)詳情。如果您有智能電子產(chǎn)品的軟硬件功能開(kāi)發(fā)需求,可以放心交給我們,我們有豐富的電子產(chǎn)品定制開(kāi)發(fā)經(jīng)驗(yàn),可以盡快評(píng)估開(kāi)發(fā)周期與IC價(jià)格,也可以核算PCBA報(bào)價(jià)。我們是多家國(guó)內(nèi)外芯片代理商,有MCU、語(yǔ)音IC、藍(lán)牙IC與模塊、wifi模塊。我們的擁有硬件設(shè)計(jì)與軟件開(kāi)發(fā)能力。涵蓋了電路設(shè)計(jì)、PCB設(shè)計(jì)、單片機(jī)開(kāi)發(fā)、軟件定制開(kāi)發(fā)、APP定制開(kāi)發(fā)、微信公眾號(hào)開(kāi)發(fā)、語(yǔ)音識(shí)別技術(shù)、藍(lán)牙wifi開(kāi)發(fā)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計(jì)、美容儀器開(kāi)發(fā)、物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)、智能家居方案設(shè)計(jì)、TWS方案開(kāi)發(fā)、藍(lán)牙音頻開(kāi)發(fā)、兒童玩具方案開(kāi)發(fā)、電子教育產(chǎn)品研發(fā)。
07-23
2020
基于HTML5的Web前端APP開(kāi)發(fā)伴隨著互聯(lián)網(wǎng)信息技術(shù)的飛速發(fā)展,人們的生活已經(jīng)發(fā)生了翻天覆地的變化,移動(dòng)互聯(lián)網(wǎng)技術(shù)給人們的生活帶來(lái)了巨大便捷和變化?,F(xiàn)如今,只用一個(gè)智能手機(jī)在手,幾乎一切問(wèn)題都可以隨時(shí)隨地解決,吃飯、炒股、打電話、在線學(xué)習(xí)、網(wǎng)上購(gòu)物、網(wǎng)上求職、游戲娛樂(lè)等等。APP的開(kāi)發(fā)層出不窮,HTML5作為一種新的技術(shù)形式,最早是應(yīng)用于桌面瀏覽器,給用戶以使用瀏覽器卻又有使用一個(gè)應(yīng)用的感覺(jué)體驗(yàn)。現(xiàn)在,HTML5應(yīng)用到Web前端APP的開(kāi)發(fā),極大地推動(dòng)了移動(dòng)互聯(lián)網(wǎng)技術(shù)的發(fā)展。一、HTML5簡(jiǎn)介HTML5是超文本標(biāo)記語(yǔ)言(HTML)的第五次修改,是W3C(World Wide Web Consortium,萬(wàn)維網(wǎng)聯(lián)盟)與WHATWG(Web Hypertext Application Technology Working Group,Web超文本應(yīng)用技術(shù)工作組)合作的結(jié)果。WHATWG致力于Web表單和應(yīng)用程序,而W3C專注于XHTML2.0。二、HTML5的一些新特性(1)用于繪圖的Canvas元素:本身沒(méi)有繪圖功能,通過(guò)JavaScript在網(wǎng)頁(yè)上繪制2D圖形。<canvas id="myCanvas1”width="300”height="200"></canvas>(2)視頻video元素和聲頻audio元素:HTML5中解決了移動(dòng)設(shè)備上音頻和視頻的關(guān)鍵問(wèn)題,不需要插件,通過(guò)audio元素就可以渲染音頻,用戶就可以很好地聆聽(tīng)音樂(lè)。在video元素中加上preload=”preload”或只是preload,當(dāng)用戶訪問(wèn)頁(yè)面時(shí)便可以進(jìn)行視頻預(yù)載,用戶就可以欣賞豐富的視頻。為移動(dòng)APP開(kāi)發(fā)帶來(lái)了極大地便利,增添了更多色彩。(3)HTML5能夠?qū)崿F(xiàn)離線存儲(chǔ):無(wú)論互聯(lián)網(wǎng)技術(shù)發(fā)展得多么迅速,總會(huì)有出乎意外的時(shí)候,比如因?yàn)樘鞖饣蚴瞧渌驅(qū)е戮W(wǎng)絡(luò)信號(hào)不好或是網(wǎng)絡(luò)不穩(wěn)定,HTML5能夠使網(wǎng)絡(luò)應(yīng)用程序離線使用,有效地解決了這個(gè)問(wèn)題,為移動(dòng)開(kāi)發(fā)帶來(lái)了便捷。(4)新的標(biāo)簽元素:如calendar、date、time、email、url、search和article、footer、header、nav、section。三、基于HMTL5的Web前端APP開(kāi)發(fā)3.1 H5 Web App構(gòu)成與分類每個(gè)應(yīng)用都是由多個(gè)頁(yè)面組成,而HTML5、JS代碼、CSS樣式構(gòu)成了一個(gè)頁(yè)面描述。在頁(yè)面中能調(diào)用服務(wù),實(shí)現(xiàn)訪問(wèn)后臺(tái)數(shù)據(jù)庫(kù)的功能,還可以通過(guò)調(diào)用本地設(shè)備API調(diào)用設(shè)備硬件能力。目前,分為三類基于移動(dòng)設(shè)備的應(yīng)用:Native App(原生應(yīng)用),是特別為某種操作系統(tǒng)開(kāi)發(fā)的,比如IOS、Android、黑莓等等,它們是在各自的移動(dòng)設(shè)備上運(yùn)行的;Hybrid App(混合應(yīng)用),是原生應(yīng)用和Web應(yīng)用的結(jié)合體,分別采取了原生應(yīng)用和Web應(yīng)用的一部分,所以部分在Web上運(yùn)行,部分在設(shè)備上運(yùn)行;Web App(Web應(yīng)用),本質(zhì)上是為移動(dòng)瀏覽器設(shè)計(jì)的基于Web的應(yīng)用,它們是用普通Web開(kāi)發(fā)語(yǔ)言開(kāi)發(fā)的,可以在各種智能手機(jī)瀏覽器上運(yùn)行。對(duì)于想要使用哪一種應(yīng)用,可以結(jié)合具體情況而定,針對(duì)不同需求和開(kāi)發(fā)不同類別的Web App。3.2 HMTL5技術(shù)的優(yōu)勢(shì)HTML5的顯著優(yōu)勢(shì)一次開(kāi)發(fā),跨平臺(tái)使用,擺脫了對(duì)平臺(tái)的依賴,且很多瀏覽器(如Chrome(谷歌瀏覽器)、Firefox(火狐瀏覽器)、Safari(蘋果瀏覽器)、IE(微軟瀏覽器)、Opera(歐明瀏覽器)以及基于IE或Chromium所推出的360瀏覽器、搜狗瀏覽器、QQ瀏覽器和獵豹瀏覽器等國(guó)產(chǎn)瀏覽器)都支持HTML5,節(jié)省時(shí)間,提高了運(yùn)行效率;并且HTML5支持手機(jī)端的跨應(yīng)用切換,不需要回到桌面,用戶便可以在不同的APP之間進(jìn)行來(lái)回切換,如此,為人們使用APP帶來(lái)了便捷,節(jié)省了時(shí)間,帶來(lái)了更好的用戶體驗(yàn);其書寫代碼清晰簡(jiǎn)潔易懂并且全部都進(jìn)行了加密,本地應(yīng)用解密后再運(yùn)行,變得更加安全,如今已經(jīng)被很多公司采用,HTML5技術(shù)如已經(jīng)被百度網(wǎng)站看中并使用,被很多人學(xué)習(xí)運(yùn)用投入到生活實(shí)際,待到HTML5規(guī)范開(kāi)發(fā)完成時(shí),將成為主流。3.3基于HTML5的Web前端APP開(kāi)發(fā)的發(fā)展前景從現(xiàn)代社會(huì)層出不窮的移動(dòng)應(yīng)用就知道,在這個(gè)智能手機(jī)和平板電腦等移動(dòng)設(shè)備大爆炸的時(shí)代,移動(dòng)優(yōu)勢(shì)已經(jīng)成為勢(shì)不可擋的趨勢(shì),不管開(kāi)發(fā)什么,現(xiàn)如今都是以移動(dòng)為主,HTML5開(kāi)發(fā)技術(shù)降低了對(duì)適配終端和應(yīng)用的技術(shù)門檻,跨平臺(tái)跨網(wǎng)絡(luò),使得成本大大降低,有利于促進(jìn)行業(yè)的良性發(fā)展。目前全球?qū)⒂?0億手機(jī)瀏覽器支持HTML5,同時(shí)Web開(kāi)發(fā)者的數(shù)量迅猛提升,數(shù)量將達(dá)到300萬(wàn)。按照互聯(lián)網(wǎng)的發(fā)展速度,人們現(xiàn)在的生活方式,已經(jīng)離不開(kāi)網(wǎng)絡(luò),以后對(duì)于APP的需求變得更大,未來(lái)極有可能生活中的一切都會(huì)與智能手機(jī),Web應(yīng)用有關(guān),一切可以在網(wǎng)上實(shí)行。總結(jié)如今移動(dòng)互聯(lián)網(wǎng)已經(jīng)成為時(shí)代的潮流,而HTML5技術(shù)的發(fā)展將會(huì)是一種無(wú)法阻擋的趨勢(shì),雖然HTML5技術(shù)仍然在不斷完善和改進(jìn)中,但是在未來(lái)移動(dòng)互聯(lián)網(wǎng)的發(fā)展的大趨勢(shì)下,將為HTML5的發(fā)展錦上添花,使得HTML5的發(fā)展空間更為廣闊,發(fā)展前景更加光明,在目前未來(lái)的一段時(shí)間內(nèi)一定是發(fā)展的主流,值得人們學(xué)習(xí)研究并應(yīng)用。以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的基于HTML5的Web前端APP開(kāi)發(fā)方法。如果您有智能電子產(chǎn)品的軟硬件功能開(kāi)發(fā)需求,可以放心交給我們,我們有豐富的電子產(chǎn)品定制開(kāi)發(fā)經(jīng)驗(yàn),可以盡快評(píng)估開(kāi)發(fā)周期與IC價(jià)格,也可以核算PCBA報(bào)價(jià)。我們是多家國(guó)內(nèi)外芯片代理商:松翰、應(yīng)廣、杰理、安凱、全志、realtek,有MCU、語(yǔ)音IC、藍(lán)牙IC與模塊、wifi模塊。我們的擁有硬件設(shè)計(jì)與軟件開(kāi)發(fā)能力。涵蓋了電路設(shè)計(jì)、PCB設(shè)計(jì)、單片機(jī)開(kāi)發(fā)、軟件定制開(kāi)發(fā)、APP定制開(kāi)發(fā)、微信公眾號(hào)開(kāi)發(fā)、語(yǔ)音識(shí)別技術(shù)、藍(lán)牙wifi開(kāi)發(fā)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計(jì)、美容儀器開(kāi)發(fā)、物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)、智能家居方案設(shè)計(jì)、TWS耳機(jī)開(kāi)發(fā)、藍(lán)牙耳機(jī)音箱開(kāi)發(fā)、兒童玩具方案開(kāi)發(fā)、電子教育產(chǎn)品研發(fā)。注:部分圖片內(nèi)容來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系刪除。
07-22
2020
基于OCR技術(shù)的室內(nèi)定位APP開(kāi)發(fā)隨著我國(guó)經(jīng)濟(jì)的不斷發(fā)展、人民生活水平的日益提高,各種室內(nèi)場(chǎng)所也趨向于大型化、復(fù)雜化,例如圖書館、醫(yī)院、大型超市、高鐵站、地下車庫(kù)等,在大型室內(nèi)環(huán)境下的定位需求也隨之產(chǎn)生。不同于GPS、北斗衛(wèi)星定位系統(tǒng)等室外定位系統(tǒng),室內(nèi)定位系統(tǒng)是移動(dòng)應(yīng)用領(lǐng)域的一大挑戰(zhàn)?;贠CR技術(shù)的室內(nèi)定位系統(tǒng),是通過(guò)建立室內(nèi)的標(biāo)志物上的文字信息與其對(duì)應(yīng)坐標(biāo)的數(shù)據(jù)庫(kù),使得用戶在GPS信號(hào)弱的室內(nèi),也可以享受較為精確的定位服務(wù)。通過(guò)手機(jī)上的APP對(duì)室內(nèi)標(biāo)志物的文字信息進(jìn)行拍照,如店鋪名、路牌、展品介紹等,APP中接入的OCR識(shí)別引擎會(huì)識(shí)別圖中的文字信息,然后傳輸?shù)椒?wù)器,在數(shù)據(jù)庫(kù)中對(duì)文字信息進(jìn)行檢索和匹配,匹配成功后返回坐標(biāo),并在APP上以地圖和坐標(biāo)點(diǎn)的形式顯示位置。一、室內(nèi)定位APP的系統(tǒng)分析1.1定位APP系統(tǒng)架構(gòu)軟件的架構(gòu)需要UI組件、UI處理組件、百度OCR引擎、高德地圖SDK、數(shù)據(jù)訪問(wèn)組件等。UI組件用來(lái)顯示用戶界面,百度OCR引擎提供文字識(shí)別服務(wù),高德地圖提供地圖源,軟件通過(guò)數(shù)據(jù)訪問(wèn)組件和數(shù)據(jù)庫(kù)交換信息。此外,還需考慮到通信、運(yùn)行管理以及系統(tǒng)安全性等方面的問(wèn)題。軟件架構(gòu)如圖1所示。1.2室內(nèi)定位APP主要功能模塊室內(nèi)定位APP主要包括6大功能模塊。(1)注冊(cè)模塊:注冊(cè)方式為手機(jī)號(hào)或者郵箱注冊(cè),點(diǎn)擊獲取驗(yàn)證碼來(lái)驗(yàn)證手機(jī)號(hào)或者郵箱的正確性,防止惡意注冊(cè)或錯(cuò)誤注冊(cè)。驗(yàn)證成功后需要設(shè)置登錄密碼,填寫兩次且兩次密碼相同才算注冊(cè)成功,然后自動(dòng)登錄系統(tǒng),無(wú)需再次輸入賬號(hào)和密碼,同時(shí)系統(tǒng)將注冊(cè)信息傳輸?shù)椒?wù)器端,插入用戶表中。(2)登錄模塊:用戶需要輸入賬號(hào)和密碼,如果不記得密碼的話可以點(diǎn)擊“忘記密碼”,驗(yàn)證手機(jī)號(hào)或者郵箱后可以重置密碼。點(diǎn)擊登錄后,登錄信息會(huì)傳輸?shù)綌?shù)據(jù)庫(kù)中進(jìn)行比對(duì),完全正確才能進(jìn)入主界面。(3)設(shè)置模塊:在主界面中點(diǎn)擊齒輪圖標(biāo)后會(huì)進(jìn)入設(shè)置界面,可以在設(shè)置中選擇修改密碼、地圖管理、是否允許管理員進(jìn)行消息推送、是否允許WiFi下自動(dòng)下載最新版本軟件、清除緩存以及退出登錄等功能。其中,地圖管理是指可以下載指定城市的地圖,這樣可以節(jié)省流量,不必每次打開(kāi)軟件后都要聯(lián)網(wǎng)接收地圖資源。(4)OCR識(shí)別模塊:點(diǎn)擊頂部搜索欄右側(cè)的相機(jī)圖標(biāo)后,軟件會(huì)打開(kāi)系統(tǒng)相機(jī)進(jìn)行拍照,然后自動(dòng)調(diào)用百度OCR引擎進(jìn)行識(shí)別,識(shí)別出的文字顯示出來(lái)后,用戶可以選擇手動(dòng)修改文字,修改好后上傳至服務(wù)器,或者直接上傳。(5)地圖模塊:使用高德提供的地圖,根據(jù)服務(wù)器返回的坐標(biāo)信息,在地圖上顯示當(dāng)前位置。(6)歷史記錄模塊:在主界面點(diǎn)擊時(shí)鐘圖標(biāo)后會(huì)進(jìn)入歷史記錄界面,可以看到用戶定位的記錄,包括時(shí)間、地點(diǎn)和OCR識(shí)別的文字信息。1.3定位APP系統(tǒng)流程打開(kāi)軟件后點(diǎn)擊搜索框右側(cè)的相機(jī)圖標(biāo),打開(kāi)手機(jī)相機(jī),拍攝照片后,系統(tǒng)會(huì)調(diào)用百度OCR引擎識(shí)別照片中的文字,識(shí)別失敗會(huì)提示用戶重新拍攝清晰的照片,識(shí)別成功后系統(tǒng)會(huì)將識(shí)別出的文字顯示出來(lái),讓用戶檢查是否正確,若有錯(cuò)誤可以選擇手動(dòng)修改文字,無(wú)錯(cuò)誤則直接上傳至服務(wù)器,然后在數(shù)據(jù)庫(kù)中進(jìn)行查詢和匹配,匹配失敗就會(huì)返回到拍照界面,提示用戶重新選擇標(biāo)志物,匹配成功則會(huì)返回坐標(biāo)值,然后系統(tǒng)調(diào)用高德地圖源,顯示室內(nèi)地圖和坐標(biāo)點(diǎn),一次室內(nèi)定位完成。二、APP設(shè)計(jì)的主要技術(shù)2.1數(shù)據(jù)庫(kù)設(shè)計(jì)本系統(tǒng)在服務(wù)器端的MySQL數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)庫(kù)表,根據(jù)不同的數(shù)據(jù)格式,將數(shù)據(jù)分為用戶登錄數(shù)據(jù)、用戶行為數(shù)據(jù)以及位置坐標(biāo)數(shù)據(jù)3大類進(jìn)行存儲(chǔ)。用戶登錄數(shù)據(jù)包括用戶的登錄賬號(hào)和密碼等信息,由于這類數(shù)據(jù)相當(dāng)重要,不應(yīng)以明文的方式存儲(chǔ)在數(shù)據(jù)庫(kù)中,通過(guò)使用MySQL的AES_ENCRYPT函數(shù)加密數(shù)據(jù),因?yàn)榧用芎蟮臄?shù)據(jù)比較難看,所以再使用to_base64函數(shù)轉(zhuǎn)碼數(shù)據(jù),將加密后的用戶信息存儲(chǔ)在數(shù)據(jù)庫(kù)中。用戶行為數(shù)據(jù)包括用戶使用該軟件進(jìn)行室內(nèi)定位的時(shí)間、OCR識(shí)別出的文本、用戶修改后的文本以及定位后的位置坐標(biāo)。該數(shù)據(jù)內(nèi)容供用戶在歷史記錄中查看,用戶可自行刪除。位置坐標(biāo)數(shù)據(jù)包括室內(nèi)環(huán)境下特征物上的文字信息以及對(duì)應(yīng)的坐標(biāo)值。通過(guò)匹配用戶上傳的字符串,返回坐標(biāo),用于在手機(jī)客戶端顯示當(dāng)前所在位置并在地圖上進(jìn)行標(biāo)注。2.2調(diào)用OCR接口該軟件使用百度的OCR進(jìn)行文字識(shí)別,百度的OCR服務(wù)免費(fèi),不過(guò)每天有次數(shù)的限制,但對(duì)于學(xué)生項(xiàng)目來(lái)說(shuō)夠用。首先,在百度AI開(kāi)放平臺(tái)中進(jìn)入控制臺(tái),找到文字識(shí)別的產(chǎn)品服務(wù),創(chuàng)建應(yīng)用后填寫相關(guān)信息,獲得AK、SK。然后,下載license文件,在項(xiàng)目中如果直接用AK、SK明文調(diào)用百度的OCR,很不安全,可能會(huì)被別人反編譯之后獲得用戶的AK、SK,而license文件集成了AK、SK,放在項(xiàng)目中可以防止別人破解。之后,再下載百度OCR的Android SDK,添加進(jìn)項(xiàng)目中。準(zhǔn)備工作完成后就可以開(kāi)始調(diào)用百度的OCR接口了。在需要進(jìn)行識(shí)別的頁(yè)面所在的文件中創(chuàng)建根據(jù)License文件初始化OCR實(shí)例的函數(shù),并在onCreate()方法中調(diào)用。接下來(lái)新建一個(gè)可以存放OCR的識(shí)別方法的類RecognizeService,在onActivityResult方法中,調(diào)用剛剛新建的類的recAccurateBasic方法,此方法接收3個(gè)參數(shù),分別是context、拍照獲取的圖片路徑和在RecognizeService類中定義的監(jiān)聽(tīng)接口,在onResult方法中,返回的result字符串即為識(shí)別結(jié)果的json字符串,只需要對(duì)JSON進(jìn)行解析就能得到識(shí)別結(jié)果。2.3獲取室內(nèi)地圖服務(wù)該軟件使用高德提供的地圖服務(wù)。在高德開(kāi)放平臺(tái)中進(jìn)入控制臺(tái),創(chuàng)建應(yīng)用,獲取API KEY,下載Android平臺(tái)下的地圖SDK文件,將解壓后的jar包導(dǎo)入工程中。開(kāi)發(fā)環(huán)境配置好后,在工程的“AndroidManifest.xml”文件中添加用戶KEY和所需要的權(quán)限,在布局xml文件中添加地圖控件,創(chuàng)建地圖Activity,管理地圖生命周期。總結(jié)本文基于Android平臺(tái)設(shè)計(jì)并開(kāi)發(fā)了基于OCR技術(shù)的室內(nèi)定位APP,為室內(nèi)定位提供了一個(gè)新的解決方案。現(xiàn)階段比較成熟的室內(nèi)定位方案,是需要基礎(chǔ)設(shè)施的,比如室內(nèi)部署密集的接入點(diǎn)或者基站,例如各種傳感器,信號(hào)接收裝置,信號(hào)發(fā)射器等,成本較高,且需要維護(hù)設(shè)備。而基于OCR技術(shù)的室內(nèi)定位方案的成本是很低的,并不需要各種用來(lái)定位的設(shè)備,較為麻煩的只是第一步,建立坐標(biāo)庫(kù)。將室內(nèi)標(biāo)志物上的文字信息提取出來(lái),并建立坐標(biāo)庫(kù)。這的確是不小的工作量,但是隨著OCR技術(shù)和人工智能技術(shù)的發(fā)展,未來(lái)可能只需用無(wú)人機(jī)將室內(nèi)所有場(chǎng)景拍攝下來(lái),然后系統(tǒng)便可以自動(dòng)整理出圖片并匹配其對(duì)應(yīng)的坐標(biāo),導(dǎo)入數(shù)據(jù)庫(kù)中,這樣就可以大大降低工作量,甚至可以打開(kāi)攝像頭,通過(guò)錄像的方式來(lái)實(shí)現(xiàn)室內(nèi)的實(shí)時(shí)定位。作為一種無(wú)需傳感器的室內(nèi)定位方案,它可以給我們提供更多的創(chuàng)新想法和研究方向。以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的基于OCR技術(shù)的室內(nèi)定位APP開(kāi)發(fā)技術(shù)。如果您有智能電子產(chǎn)品的軟硬件功能開(kāi)發(fā)需求,可以放心交給我們,我們有豐富的電子產(chǎn)品定制開(kāi)發(fā)經(jīng)驗(yàn),可以盡快評(píng)估開(kāi)發(fā)周期與IC價(jià)格,也可以核算PCBA報(bào)價(jià)。我們是多家國(guó)內(nèi)外芯片代理商:松翰、應(yīng)廣、杰理、安凱、全志、realtek,有MCU、語(yǔ)音IC、藍(lán)牙IC與模塊、wifi模塊。我們的擁有硬件設(shè)計(jì)與軟件開(kāi)發(fā)能力。涵蓋了電路設(shè)計(jì)、PCB設(shè)計(jì)、單片機(jī)開(kāi)發(fā)、軟件定制開(kāi)發(fā)、APP定制開(kāi)發(fā)、微信公眾號(hào)開(kāi)發(fā)、語(yǔ)音識(shí)別技術(shù)、藍(lán)牙wifi開(kāi)發(fā)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計(jì)、美容儀器開(kāi)發(fā)、物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)、智能家居方案設(shè)計(jì)、TWS耳機(jī)開(kāi)發(fā)、藍(lán)牙耳機(jī)音箱開(kāi)發(fā)、兒童玩具方案開(kāi)發(fā)、電子教育產(chǎn)品研發(fā)。
07-21
2020
軟件工程的出現(xiàn)是為了應(yīng)對(duì)因?yàn)檐浖男枨罅看罅吭黾佣霈F(xiàn)軟件開(kāi)發(fā)的“軟件危機(jī)”而產(chǎn)生的。所謂的軟件工程就是借鑒傳統(tǒng)工程的方法進(jìn)行軟件開(kāi)發(fā),軟件工程中經(jīng)典的軟件開(kāi)發(fā)流程包含幾個(gè)階段,分別是需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試、運(yùn)行和維護(hù)。軟件工程的出現(xiàn),使得研發(fā)出質(zhì)量過(guò)關(guān)、成本合算的軟件產(chǎn)品成為常態(tài),“軟件危機(jī)”的問(wèn)題得到了解決,但是隨著軟件使用的進(jìn)一步廣泛,軟件產(chǎn)品在人們生產(chǎn)和生活中所占的地位越來(lái)越重要,出現(xiàn)了新的問(wèn)題,就是軟件安全。而原有的軟件開(kāi)發(fā)的工程流程無(wú)法很好地解決軟件安全問(wèn)題。以原有的軟件工程中的軟件開(kāi)發(fā)流程為基礎(chǔ),并參考已有的軟件安全開(kāi)發(fā)流程SDL,進(jìn)行適當(dāng)?shù)母脑欤岢鲆环N新的軟件安全開(kāi)發(fā)流程。一、現(xiàn)有的軟件安全開(kāi)發(fā)流程1、SDL介紹隨著軟件使用的普及,已經(jīng)有一些有識(shí)之士對(duì)軟件安全問(wèn)題有所研究,并有一些可以使用的成果,在這之中,軟件安全開(kāi)發(fā)流程也應(yīng)運(yùn)而生。迄今,最為普及的軟件安全開(kāi)發(fā)流程是微軟提出的軟件安全開(kāi)發(fā)周期—-SDL,這個(gè)流程的典型之處在于它把安全工作貫穿于整個(gè)軟件開(kāi)發(fā)的生命周期中,而且,即使僅僅是對(duì)其中的一個(gè)過(guò)程進(jìn)行安全工作,也能大大提高軟件的安全性。下面對(duì)SDL進(jìn)行簡(jiǎn)單的說(shuō)明。在一個(gè)完整的軟件SDL實(shí)施過(guò)程中,一共可以分為13個(gè)階段。(1)安全教育和提高安全意識(shí);(2)項(xiàng)目啟動(dòng);(3)定義并遵從設(shè)計(jì)最佳實(shí)踐;(4)產(chǎn)品風(fēng)險(xiǎn)評(píng)估;(5)產(chǎn)品風(fēng)險(xiǎn)分析;(6)為客戶創(chuàng)建安全文檔,工具;(7)安全編碼策略;(8)安全測(cè)試策略;(9)安全推動(dòng)活動(dòng);(10)產(chǎn)品最終安全評(píng)審;(11)安全響應(yīng)計(jì)劃;(12)產(chǎn)品發(fā)布;(13)執(zhí)行安全響應(yīng)。SDL可以有效地提高軟件安全性,降低軟件安全問(wèn)題。據(jù)微軟提供的相關(guān)數(shù)據(jù)顯示,使用SDL進(jìn)行開(kāi)發(fā)的WindowsVista所發(fā)現(xiàn)的安全漏洞比沒(méi)有使用SDL的Windows Xp減少45%;使用SDL開(kāi)發(fā)流程的sQLServer2005發(fā)現(xiàn)的安全漏洞比沒(méi)有使用SDL的SQL Server2000減少91%。SDL具有一些明顯的優(yōu)勢(shì),它既可整體使用也可以在某一個(gè)階段使用,靈活性高,而且它與一般的開(kāi)發(fā)流程比較匹配,所以實(shí)用性很高。另外,SDL不僅僅適合微軟的平臺(tái),還適用于多種平臺(tái);SDL有比較充分的工具支持,例如威脅建模和靜態(tài)源代碼分析工具;SDL屬于微軟開(kāi)發(fā),所應(yīng)有的文檔非常詳細(xì)。2、SDL應(yīng)用現(xiàn)狀通過(guò)2010年在美國(guó)舊金山的RSA會(huì)議上對(duì)軟件開(kāi)發(fā)流程與安全結(jié)合的調(diào)查數(shù)據(jù)發(fā)現(xiàn),目前的軟件公司已經(jīng)開(kāi)始關(guān)注軟件的安全問(wèn)題,而且其中超過(guò)50%的調(diào)查參與者表示對(duì)SDL進(jìn)行關(guān)注。但是進(jìn)一步的調(diào)查數(shù)據(jù)顯示,在開(kāi)發(fā)過(guò)程中真正應(yīng)用了SDL的參與者僅僅13%。沒(méi)有使用軟件安全開(kāi)發(fā)流程的調(diào)查參與者也給出了自己的理由,主要是其時(shí)間成本、資源成本以及暫時(shí)的安全意識(shí)。由此看來(lái),即使對(duì)軟件安全開(kāi)發(fā)流程的關(guān)注度越來(lái)越高,但是其實(shí)際使用情況仍不夠理想。通過(guò)調(diào)查發(fā)現(xiàn),企業(yè)規(guī)模是影響是否使用安全開(kāi)發(fā)流程的重要因素之一。大企業(yè)可以承擔(dān)更大的資源投入,保證安全工具和安全活動(dòng)的費(fèi)用,而一些中小企業(yè)對(duì)投入有一定的擔(dān)憂。二、對(duì)SDL的改進(jìn)有大量的數(shù)據(jù)證明,軟件安全測(cè)試介入的時(shí)間越晚,所需要的付出越多。在軟件發(fā)布后對(duì)安全漏洞的修復(fù)所需的成本至少是在軟件設(shè)計(jì)和編碼階段就進(jìn)行修復(fù)的30倍。SDL的出現(xiàn)正是為了解決上述問(wèn)題,但是現(xiàn)有的SDL具有一定的限制性,為了提高SDL的適用對(duì)象,降低其經(jīng)濟(jì)要求,將SDL進(jìn)行了適當(dāng)?shù)母脑?。?jīng)過(guò)改造的軟件安全開(kāi)發(fā)流程的核心是安全知識(shí)庫(kù),安全知識(shí)庫(kù)在軟件生命周期中一直有效,并起到不同的作用。為了將軟件開(kāi)發(fā)流程變得更加靈活,將軟件開(kāi)發(fā)周期簡(jiǎn)化為需求、設(shè)計(jì)、測(cè)試、維護(hù)4個(gè)階段。在這4個(gè)階段中,采取不同的活動(dòng)來(lái)提高軟件安全性。1、軟件安全知識(shí)庫(kù)在所改造的軟件開(kāi)發(fā)流程中,安全知識(shí)庫(kù)是最核心的存在,它可以包含很多內(nèi)容,包括產(chǎn)品風(fēng)險(xiǎn)庫(kù),軟件安全漏洞庫(kù),軟件安全開(kāi)發(fā)設(shè)計(jì)規(guī)則,安全工具,甚至包括一些相應(yīng)的安全知識(shí)培訓(xùn)。產(chǎn)品風(fēng)險(xiǎn)庫(kù):包括在項(xiàng)目開(kāi)展之初的需求風(fēng)險(xiǎn)和已經(jīng)評(píng)估的風(fēng)險(xiǎn)。安全工具:包括網(wǎng)絡(luò)安全測(cè)試工具以及白盒安全測(cè)試工具。例如AppScan,Sninffer;白盒安全測(cè)試工具包括Fortify或者CheckMarx。安全知識(shí)文檔:項(xiàng)目累積的安全經(jīng)驗(yàn)文檔或者培訓(xùn)文檔。安全漏洞庫(kù):能夠收集到的相關(guān)的產(chǎn)品安全漏洞,包括網(wǎng)絡(luò)和代碼級(jí)。安全設(shè)計(jì)規(guī)則:安全開(kāi)發(fā)基礎(chǔ)知識(shí),例如編碼規(guī)則。安全知識(shí)庫(kù)在軟件安全開(kāi)發(fā)流程中的地位極其重要,在每一個(gè)開(kāi)發(fā)階段都可以使用安全知識(shí)庫(kù)中的內(nèi)容。2、軟件開(kāi)發(fā)需求階段需求階段的主要工作是需求收集和需求分析。在這個(gè)階段,可以根據(jù)安全知識(shí)庫(kù)的產(chǎn)品風(fēng)險(xiǎn)庫(kù)對(duì)產(chǎn)品需求進(jìn)行分析,把隱含安全風(fēng)險(xiǎn)的需求重新設(shè)計(jì),或者計(jì)算針對(duì)某些功能或者過(guò)程不進(jìn)行安全活動(dòng)將會(huì)有多大的損失。3、軟件安全設(shè)計(jì)階段設(shè)計(jì)階段分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)階段,將主要是對(duì)軟件架構(gòu)設(shè)計(jì),軟件模塊功能定義,在這一階段需要參考產(chǎn)品風(fēng)險(xiǎn)庫(kù)和漏洞庫(kù),對(duì)一些已知的安全問(wèn)題進(jìn)行預(yù)處理,尤其是一些網(wǎng)絡(luò)軟件,面對(duì)各種廣為人知的攻擊手段做出相應(yīng)的設(shè)計(jì)。詳細(xì)設(shè)計(jì)階段的工作主要是代碼編寫,這時(shí)要根據(jù)漏洞庫(kù)---主要是白盒安全漏洞和安全設(shè)計(jì)規(guī)則進(jìn)行編碼。對(duì)于白盒安全漏洞,現(xiàn)在已經(jīng)有比較成熟的定義,例如fortify對(duì)白盒安全漏洞的分類和定義,參考這些漏洞分類,結(jié)合已經(jīng)比較成熟的保證編碼質(zhì)量的編碼規(guī)則進(jìn)行詳細(xì)設(shè)計(jì)工作。4、軟件安全測(cè)試階段軟件安全的測(cè)試工作,主要分為3種類型,第一種是模糊測(cè)試:這種測(cè)試的原理是向目標(biāo)系統(tǒng)發(fā)送非預(yù)期的輸入并觀察結(jié)果來(lái)發(fā)現(xiàn)軟件漏洞。一般是設(shè)置大量非正常形數(shù)據(jù)進(jìn)行解析,并包含了對(duì)網(wǎng)絡(luò)協(xié)議和不信任的訪問(wèn)所產(chǎn)生的問(wèn)題代碼的測(cè)試。第二種是滲透測(cè)試:這種測(cè)試是為了證明網(wǎng)絡(luò)防御按照預(yù)期設(shè)置正常運(yùn)行的一種機(jī)制。它主要用來(lái)測(cè)試網(wǎng)絡(luò)和主機(jī)系統(tǒng)的操作配置以及補(bǔ)丁的修復(fù)程度,較多的是使用模擬攻擊發(fā)現(xiàn)信息系統(tǒng)中的漏洞,發(fā)現(xiàn)系統(tǒng)的脆弱性。第三種是運(yùn)行時(shí)驗(yàn)證:對(duì)運(yùn)行中的問(wèn)題進(jìn)行驗(yàn)證,用來(lái)完成常規(guī)運(yùn)行中的測(cè)試和對(duì)問(wèn)題日志的分析??梢允褂萌毕莘诸惐砘蛘唢L(fēng)險(xiǎn)分類表來(lái)對(duì)測(cè)試出的缺陷進(jìn)行統(tǒng)計(jì),使用相應(yīng)的測(cè)試方法修復(fù)發(fā)現(xiàn)的缺陷。在這一階段,可以大量的使用安全工具進(jìn)行測(cè)試,比如網(wǎng)絡(luò)軟件的安全,使用一些滲透性測(cè)試工具進(jìn)行測(cè)試(如Ac-tivePerl,Sniffer);代碼級(jí)的安全測(cè)試,主要依靠一些靜態(tài)測(cè)試工具和動(dòng)態(tài)測(cè)試工具,比如專門代碼靜態(tài)安全測(cè)試的forti-fy,CheckMarx;還有一些對(duì)于軟件使用環(huán)境和整體軟件系統(tǒng)的安全測(cè)試,例如美國(guó)的安全軟件nessus?,F(xiàn)在,軟件安全測(cè)試工具越來(lái)越多,已經(jīng)涌現(xiàn)出許多成熟的或者有特點(diǎn)的商業(yè)的或者開(kāi)源的軟件安全測(cè)試工具,國(guó)內(nèi)也有一些不錯(cuò)的軟件安全工具,例如啟明星辰天鏡或者安華明鑒,這些都為實(shí)施軟件安全的測(cè)試工作提供便利。在這一階段,從成本考慮出發(fā),大量的開(kāi)源工具是優(yōu)先考慮的。5、軟件維護(hù)階段維護(hù)階段的工作主要是處理已經(jīng)出現(xiàn)的安全問(wèn)題并且將問(wèn)題和處理方法搜集入安全知識(shí)庫(kù),為以后的軟件安全開(kāi)發(fā)提供知識(shí)儲(chǔ)備。經(jīng)過(guò)簡(jiǎn)化后的軟件安全開(kāi)發(fā)流程僅僅包括了需求、設(shè)計(jì)、測(cè)試、維護(hù)4個(gè)階段,這4個(gè)階段都需要使用到安全知識(shí)庫(kù),所以建立的這套流程核心仍然是安全知識(shí)庫(kù)。改造后的軟件安全開(kāi)發(fā)流程更加靈活,可是適應(yīng)不同的開(kāi)發(fā)流程,一旦建立安全知識(shí)庫(kù)后,也可以在不同的階段開(kāi)展軟件安全開(kāi)發(fā)工作,降低安全成本??偨Y(jié)軟件安全開(kāi)發(fā)生命周期的應(yīng)用主要是為了減少安全漏洞和降低安全漏洞的影響。但是軟件開(kāi)發(fā)僅僅是基于目前最優(yōu)的安全方案,新的攻擊手段層出不窮,所以安全問(wèn)題和軟件漏洞是不可能被徹底消除的。軟件安全工作現(xiàn)在更多的是體現(xiàn)在安全測(cè)試上,在軟件安全開(kāi)發(fā)上進(jìn)行的工作仍然稀少,這與現(xiàn)有的軟件開(kāi)發(fā)流程所需成本較高,流程復(fù)雜有一定關(guān)系。通過(guò)對(duì)現(xiàn)有的軟件安全開(kāi)發(fā)流程SDL進(jìn)行簡(jiǎn)化以適應(yīng)中小企業(yè)的需要,也可以作為一些敏捷開(kāi)發(fā)或者流程簡(jiǎn)單的開(kāi)發(fā)使用。優(yōu)化后的軟件開(kāi)發(fā)流程主要有這幾個(gè)優(yōu)點(diǎn):開(kāi)發(fā)時(shí)間更靈活,強(qiáng)調(diào)安全工具包括免費(fèi)工具的使用,流程進(jìn)行了簡(jiǎn)化,成本有所降低。以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的對(duì)軟件安全開(kāi)發(fā)流程的研究。如果您有智能電子產(chǎn)品的軟硬件功能開(kāi)發(fā)需求,可以放心交給我們,我們有豐富的電子產(chǎn)品定制開(kāi)發(fā)經(jīng)驗(yàn),可以盡快評(píng)估開(kāi)發(fā)周期與IC價(jià)格,也可以核算PCBA報(bào)價(jià)。我們是多家國(guó)內(nèi)外芯片代理商,有MCU、語(yǔ)音IC、藍(lán)牙IC與模塊、wifi模塊。我們的擁有硬件設(shè)計(jì)與軟件開(kāi)發(fā)能力。涵蓋了電路設(shè)計(jì)、PCB設(shè)計(jì)、單片機(jī)開(kāi)發(fā)、軟件定制開(kāi)發(fā)、APP定制開(kāi)發(fā)、微信公眾號(hào)開(kāi)發(fā)、語(yǔ)音識(shí)別技術(shù)、藍(lán)牙wifi開(kāi)發(fā)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計(jì)、美容儀器開(kāi)發(fā)、物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)、智能家居方案設(shè)計(jì)、TWS方案開(kāi)發(fā)、藍(lán)牙音頻開(kāi)發(fā)、兒童玩具方案開(kāi)發(fā)、電子教育產(chǎn)品研發(fā)。
07-20
2020
近年來(lái),網(wǎng)絡(luò)社交工具應(yīng)用越來(lái)越多,比如QQ、微博、微信、MSN等等,這些社交工具無(wú)疑席卷了現(xiàn)代社會(huì),已經(jīng)走進(jìn)每個(gè)人的生活、工作和學(xué)習(xí),教育領(lǐng)域也受到強(qiáng)烈影響。一方面,網(wǎng)絡(luò)社交中存在大量不良信息的傳播,對(duì)青少年的危害很大,嚴(yán)重影響學(xué)生的健康成長(zhǎng)。另一方面,網(wǎng)絡(luò)社交工具存在積極的有利的因素,可以促進(jìn)教育教學(xué)的改革增效。比如,筆者通過(guò)調(diào)查發(fā)現(xiàn)微信公眾號(hào)在教育領(lǐng)域的應(yīng)用場(chǎng)景就越來(lái)越多,很多學(xué)校、老師嘗試使用微信公眾號(hào)進(jìn)行教育、教學(xué)、宣傳、推廣工作,取得了可喜的成績(jī)。但微信公眾號(hào)在教育領(lǐng)域的應(yīng)用目前還處于一種自發(fā)的狀態(tài),也存在很多不確定的問(wèn)題。因此,興利除弊,因勢(shì)利導(dǎo)將網(wǎng)絡(luò)變成一個(gè)有利于大學(xué)生成長(zhǎng)的工具就是本項(xiàng)目研究所要達(dá)到的目標(biāo)。一、微信公眾號(hào)需求分析當(dāng)前,高職院校內(nèi)已經(jīng)部署有網(wǎng)絡(luò)中心、電子教室、多媒體教室和實(shí)驗(yàn)室等信息化教育教學(xué)環(huán)境,在這種條件下只需要再部署移動(dòng)網(wǎng)絡(luò)即可以實(shí)現(xiàn)移動(dòng)校園內(nèi)場(chǎng)景的學(xué)習(xí)。然后在軟件環(huán)境上實(shí)現(xiàn)平臺(tái)的搭建,可以實(shí)現(xiàn)學(xué)生隨時(shí)隨地利用自己的移動(dòng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)。通過(guò)調(diào)研發(fā)現(xiàn),本項(xiàng)目所研究的基于HTML5和微信公眾號(hào)的直播課堂需要解決一下問(wèn)題:1)移動(dòng)端應(yīng)用,系統(tǒng)不需要安裝,直接通過(guò)微信公眾號(hào)進(jìn)行訪問(wèn)。2)針對(duì)不同手機(jī)平臺(tái),只需開(kāi)發(fā)一套。3)版本不需要時(shí)常更新,服務(wù)器更新代碼,所有客戶訪問(wèn)即可更新。4)可實(shí)現(xiàn)客戶實(shí)時(shí)流與直播服務(wù)器傳輸。5)可實(shí)現(xiàn)直播服務(wù)器流的轉(zhuǎn)發(fā)與中繼。6)白板和文檔演示。7)視頻流、音頻流、白板信息、文檔信息同步。8)直播數(shù)據(jù)的云存儲(chǔ)與云播放。9)滿足輕量級(jí)的在線直播服務(wù)。二、微信公眾號(hào)系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)的主要理論依據(jù)是軟件工程原理、加涅的九段教學(xué)策略、建構(gòu)主義學(xué)習(xí)理論、教學(xué)傳播優(yōu)化原理中的重復(fù)作用和共同經(jīng)驗(yàn)原理。根據(jù)設(shè)計(jì)需求可以將平臺(tái)功能分為三大部分:教學(xué)信息發(fā)布、交流反饋、輔助平臺(tái)學(xué)習(xí)。根據(jù)教學(xué)內(nèi)容、教學(xué)環(huán)節(jié)、教學(xué)安排等情況可以進(jìn)一步細(xì)分為:預(yù)習(xí)、講授、復(fù)習(xí)、拓展、總結(jié)、交互和考核7個(gè)功能模塊。預(yù)習(xí):主要是讓學(xué)生了解學(xué)習(xí)目標(biāo)、學(xué)習(xí)重點(diǎn)、學(xué)習(xí)難點(diǎn)、學(xué)習(xí)方法等。講授:可以是直播講授,也可以是微課、MOOC等制作好的課程資源講授。復(fù)習(xí):主要是鞏固重點(diǎn)知識(shí),解決難點(diǎn)問(wèn)題,加深記憶和理解。拓展:提供拓展資源,拓寬學(xué)生視野,激發(fā)學(xué)生思維,促進(jìn)知識(shí)向應(yīng)用轉(zhuǎn)化。總結(jié):通過(guò)提煉內(nèi)容框架,讓學(xué)習(xí)者掌握知識(shí)的脈絡(luò),自我評(píng)測(cè)、自主建構(gòu)知識(shí)體系??己耍禾峁┛己速Y源,自動(dòng)組卷,自主檢測(cè),也可統(tǒng)一考核。交互:主要是師生間答疑解惑,學(xué)習(xí)交流,資源共享。預(yù)習(xí)、講授、復(fù)習(xí)、拓展、總結(jié)、交互、考核等7個(gè)模塊相輔相成,構(gòu)成一個(gè)學(xué)習(xí)過(guò)程的完整閉環(huán),可激發(fā)學(xué)習(xí)動(dòng)機(jī),明確學(xué)習(xí)目標(biāo),鞏固學(xué)習(xí)基礎(chǔ),拓寬學(xué)習(xí)視野,建構(gòu)學(xué)習(xí)體系,交流學(xué)習(xí)經(jīng)驗(yàn),共享學(xué)習(xí)資源,考核學(xué)習(xí)成效。三、微信公眾號(hào)開(kāi)發(fā)和應(yīng)用該平臺(tái)主要解決教育教學(xué)場(chǎng)景下的如下問(wèn)題:①教學(xué)內(nèi)容發(fā)布,可以在平臺(tái)上發(fā)布通知、消息、學(xué)習(xí)資料,學(xué)習(xí)資料可以是文本、圖片、PPT、錄音、微課、MOOC、源程序等,用于學(xué)生的課前課后自主學(xué)習(xí)。②個(gè)性化設(shè)置,公眾平臺(tái)可以用關(guān)鍵字實(shí)現(xiàn)“對(duì)話即搜索”的服務(wù),也可以通過(guò)用戶設(shè)置,實(shí)現(xiàn)自動(dòng)回復(fù)。③留言板管理,在平臺(tái)上開(kāi)辟出留言板區(qū)域,可以實(shí)現(xiàn)發(fā)布交流主題或者就某些問(wèn)題提問(wèn)、發(fā)表自己的看法,實(shí)現(xiàn)問(wèn)題的深層次、多用戶交流。④應(yīng)用情況統(tǒng)計(jì),如用戶人數(shù)、交流主題數(shù)、點(diǎn)贊人數(shù)等,用圖表形式展示。⑤資源管理,資源庫(kù)分為教學(xué)資源庫(kù)、拓展資源庫(kù)、考核資源庫(kù),資源提前放置到管理庫(kù)中。⑥用戶管理,可以對(duì)用戶進(jìn)行分級(jí)、分組,用戶自己也可以修改某些信息等。根據(jù)公眾號(hào)和我們要求的功能,要實(shí)現(xiàn)需求,結(jié)合實(shí)際情況我們選擇以下技術(shù)的支持。1、RTSPRTSP(Real Time Streaming Protocol),RFC2326,實(shí)時(shí)流傳輸協(xié)議。該協(xié)議定義了一對(duì)多應(yīng)用程序如何有效地通過(guò)IP網(wǎng)絡(luò)傳送多媒體數(shù)據(jù)。該協(xié)議有如下特點(diǎn):①傳輸方式靈活,RTSP在體系結(jié)構(gòu)上位于RTP和RTCP之上,可以根據(jù)網(wǎng)絡(luò)情況選擇TCP或UDP完成數(shù)據(jù)傳輸。②雙向請(qǐng)求,HTTP與RTSP相比,HTTP請(qǐng)求由客戶機(jī)發(fā)出,服務(wù)器作出響應(yīng);使用RTSP時(shí),客戶機(jī)和服務(wù)器可以雙向請(qǐng)求。③多媒體流,RTSP是用來(lái)控制聲音或影像的多媒體串流協(xié)議,并允許同時(shí)多個(gè)串流需求控制。④支持多方視頻應(yīng)用,允許同時(shí)多個(gè)串流需求控制可以降低服務(wù)器端的網(wǎng)絡(luò)用量,支持多方視頻應(yīng)用。該技術(shù)和項(xiàng)目的應(yīng)用場(chǎng)景高度契合,非常適合分布式教育應(yīng)用,可實(shí)現(xiàn)單播和組播,現(xiàn)場(chǎng)數(shù)據(jù)和存儲(chǔ)剪輯數(shù)據(jù)的應(yīng)用。2、WebrtcWebRTC實(shí)現(xiàn)了基于網(wǎng)頁(yè)的視頻會(huì)議,標(biāo)準(zhǔn)是WHATWG協(xié)議。項(xiàng)目的最終目的主要是讓W(xué)eb開(kāi)發(fā)者能夠基于瀏覽器快捷開(kāi)發(fā)出豐富的實(shí)時(shí)多媒體應(yīng)用,而無(wú)需下載安裝任何插件。①該協(xié)議功能強(qiáng)大,提供了視頻會(huì)議的核心技術(shù),包括音視頻的采集、編解碼、網(wǎng)絡(luò)傳輸、顯示等功能。②并且還支持跨平臺(tái):windows,linux,mac,android。便利的交互體驗(yàn),豐富的產(chǎn)品功能。③支持大規(guī)模觀看可以在全球范圍內(nèi)進(jìn)行音視頻高清、大規(guī)模、穩(wěn)定的直播教學(xué)。④豐富的課件類型除傳統(tǒng)的靜態(tài)課件,還支持動(dòng)態(tài)ppt課件。支持全格式多媒體的播放,支持本地文件直接推流,秒級(jí)打開(kāi),流暢還原。3、HTML5萬(wàn)維網(wǎng)的核心語(yǔ)言、標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用超文本標(biāo)記語(yǔ)言(HTML)的第五次重大修改即為HTML5。HTML5的設(shè)計(jì)目的是為了在移動(dòng)設(shè)備上支持多媒體。用HTML5的優(yōu)點(diǎn)主要是可以進(jìn)行跨平臺(tái)的使用。另外,它是一種自適應(yīng)網(wǎng)頁(yè)設(shè)計(jì)技術(shù),可以根據(jù)不同大小的屏幕,自動(dòng)調(diào)整布局。正是這些優(yōu)點(diǎn),本項(xiàng)目在web技術(shù)上選擇HTML5。項(xiàng)目完成后,經(jīng)過(guò)動(dòng)漫軟件與教育學(xué)院軟件16級(jí)和17級(jí)師生的應(yīng)用驗(yàn)證。在實(shí)踐中,通過(guò)手機(jī)等移動(dòng)式設(shè)備隨時(shí)進(jìn)行學(xué)習(xí),使學(xué)習(xí)不受時(shí)空的限制。在這種學(xué)習(xí)方式下,學(xué)生互動(dòng)得到激勵(lì),教師利用微信公眾號(hào)推送學(xué)習(xí)內(nèi)容,學(xué)生參加在線討論,幫助學(xué)生積累知識(shí),優(yōu)化知識(shí)結(jié)構(gòu),學(xué)生的學(xué)習(xí)積極性得到顯著提高,學(xué)習(xí)成效顯著。同時(shí),微信公眾號(hào)作為師、生、家長(zhǎng)間有效的溝通工具,開(kāi)創(chuàng)了一種新的交往模式,給人們之間的交往活動(dòng)提供了許多便利,實(shí)現(xiàn)三方的有效溝通,能夠及時(shí)了解和掌握學(xué)生的學(xué)習(xí)情況,并使資源通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)利益最大化。平臺(tái)滿足各類教室的需求允許創(chuàng)建各類教室,支持課前暖場(chǎng),現(xiàn)場(chǎng)排麥,錄播課。豐富的互動(dòng)功能支持各種常用的授課功能,聊天問(wèn)答,桌面共享,點(diǎn)名簽到,抽獎(jiǎng)投票等。支持桌面,區(qū)域,程序等屏幕共享手段。服務(wù)器端錄制、回放支持服務(wù)器端1080P高清錄制,自動(dòng)生成回放,可上傳下載。針對(duì)回放亦可進(jìn)行二次編輯,生成定制的錄制件。開(kāi)放的接口,網(wǎng)頁(yè)互動(dòng)直播全終端覆蓋,支持網(wǎng)頁(yè)和客戶端,PC(MAC)和移動(dòng)端??偨Y(jié)通過(guò)項(xiàng)目開(kāi)發(fā)和實(shí)踐應(yīng)用,基于微信公眾平臺(tái)的直播課堂能夠激發(fā)學(xué)習(xí)者的學(xué)習(xí)興趣,可以使學(xué)習(xí)者反復(fù)練習(xí)和鞏固,夯實(shí)基礎(chǔ),拓展提高,學(xué)習(xí)效果提升明顯。實(shí)踐結(jié)果表明基于HTML5的微信公眾平臺(tái)直播課堂簡(jiǎn)單易用,快速直連,場(chǎng)景多樣化滿足直播課堂、學(xué)術(shù)講座、公開(kāi)課等各類大規(guī)模教學(xué)場(chǎng)景的應(yīng)用需求,是教育教學(xué)手段的有益補(bǔ)充,在條件允許的情況下可以推廣使用。以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的基于HTML5微信公眾號(hào)的直播課堂設(shè)計(jì)方法。如果您有智能電子產(chǎn)品的軟硬件功能開(kāi)發(fā)需求,可以放心交給我們,我們有豐富的電子產(chǎn)品定制開(kāi)發(fā)經(jīng)驗(yàn),可以盡快評(píng)估開(kāi)發(fā)周期與IC價(jià)格,也可以核算PCBA報(bào)價(jià)。我們是多家國(guó)內(nèi)外芯片代理商,有MCU、語(yǔ)音IC、藍(lán)牙IC與模塊、wifi模塊。我們的擁有硬件設(shè)計(jì)與軟件開(kāi)發(fā)能力。涵蓋了電路設(shè)計(jì)、PCB設(shè)計(jì)、單片機(jī)開(kāi)發(fā)、軟件定制開(kāi)發(fā)、APP定制開(kāi)發(fā)、微信公眾號(hào)開(kāi)發(fā)、語(yǔ)音識(shí)別技術(shù)、藍(lán)牙wifi開(kāi)發(fā)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計(jì)、美容儀器開(kāi)發(fā)、物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)、智能家居方案設(shè)計(jì)、TWS方案開(kāi)發(fā)、藍(lán)牙音頻開(kāi)發(fā)、兒童玩具方案開(kāi)發(fā)、電子教育產(chǎn)品研發(fā)。
07-19
2020
軟件開(kāi)發(fā)項(xiàng)目人工成本控制流程設(shè)計(jì)與應(yīng)用一、國(guó)內(nèi)軟件開(kāi)發(fā)項(xiàng)目人工成本管理現(xiàn)狀及存在的問(wèn)題項(xiàng)目成本包括直接成本和間接成本。直接成本包括直接人工成本、軟硬件采購(gòu)成本、差旅費(fèi)等直接費(fèi)用。間接成本包括管理費(fèi)用分?jǐn)偟?。軟件開(kāi)發(fā)項(xiàng)目中人工成本所占比重很高,管理好人工成本意義重大。人工成本等于人員工時(shí)投入乘以人員單價(jià)。對(duì)人工成本的管理,可以簡(jiǎn)化為對(duì)工時(shí)的管理。人工成本管理包含兩個(gè)方面,一方面要準(zhǔn)確估算,制定合理的成本基準(zhǔn);另一方面要控制成本投入,使實(shí)際成本控制在成本基準(zhǔn)之內(nèi)。目前,國(guó)內(nèi)IT行業(yè)在這兩個(gè)方面都還不是很成熟,存在的問(wèn)題主要有如下幾個(gè)方面。1.1沒(méi)有統(tǒng)一的估算標(biāo)準(zhǔn),估算結(jié)果偏差大整個(gè)軟件行業(yè)長(zhǎng)期以來(lái)缺乏科學(xué)的估算方法和估算標(biāo)準(zhǔn),成本定額計(jì)算問(wèn)題一直沒(méi)有得到很好解決,導(dǎo)致在軟件開(kāi)發(fā)項(xiàng)目招投標(biāo)活動(dòng)中,頻頻出現(xiàn)惡意競(jìng)標(biāo)現(xiàn)象,這已成為軟件產(chǎn)業(yè)進(jìn)一步發(fā)展的障礙。為了解決行業(yè)的迫切需求,工業(yè)和信息化部于2010年正式立項(xiàng)啟動(dòng)了《軟件研發(fā)成本度量規(guī)范》制定工作,該規(guī)范將作為國(guó)家電子行業(yè)標(biāo)準(zhǔn)進(jìn)行發(fā)布。該標(biāo)準(zhǔn)以快速功能點(diǎn)方法衡量軟件功能規(guī)模,估算軟件工作量,從而確定軟件研發(fā)成本。盡管行業(yè)標(biāo)準(zhǔn)即將出臺(tái),但由于很多企業(yè)不了解標(biāo)準(zhǔn)內(nèi)容,不掌握估算方法,在估算時(shí)仍然依據(jù)個(gè)人經(jīng)驗(yàn)進(jìn)行,估算結(jié)果千差萬(wàn)別。在合同簽訂或招投標(biāo)階段,即使用戶提出了明確的軟件開(kāi)發(fā)項(xiàng)目需求,不同的供應(yīng)商采用不同的估算方式,考慮不同的估算因素,產(chǎn)生不同的估算結(jié)果,導(dǎo)致同一個(gè)項(xiàng)目估算成本相差巨大。由于沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),作為甲方,面對(duì)相差懸殊的合同報(bào)價(jià),很難判斷哪個(gè)供應(yīng)商的估算結(jié)果和報(bào)價(jià)是接近客觀事實(shí)的、合理的,哪個(gè)供應(yīng)商在哄抬價(jià)格或惡意競(jìng)爭(zhēng)?作為乙方,估算不準(zhǔn)往往導(dǎo)致在預(yù)算階段利看項(xiàng)目利潤(rùn)很高,但在決算時(shí)發(fā)現(xiàn)實(shí)際利潤(rùn)很低甚至虧本。估算不準(zhǔn)對(duì)甲乙雙方都可能造成傷害?;诓粶?zhǔn)確的估算制定的項(xiàng)目人工成本基準(zhǔn)也不準(zhǔn)?;鶞?zhǔn)缺乏科學(xué)性,導(dǎo)致項(xiàng)目人工成本管理從源頭上缺乏執(zhí)行的嚴(yán)肅性。1.2管理粗放,僅做人工成本統(tǒng)計(jì),但分析、控制不夠一般情況下,各IT企業(yè)都統(tǒng)計(jì)軟件開(kāi)發(fā)項(xiàng)目投入的工時(shí),用統(tǒng)計(jì)的工時(shí)作為項(xiàng)目人工成本預(yù)決算的參考數(shù)據(jù),但是,很多企業(yè)僅做統(tǒng)計(jì),不做分析和控制,或分析和控制很弱。之所以出現(xiàn)這樣的現(xiàn)象,有幾方面原因。首先,思想認(rèn)識(shí)問(wèn)題,即工時(shí)分析控制工作動(dòng)力不足。由于估算不準(zhǔn),大家認(rèn)為后期工時(shí)基準(zhǔn)可以變更,進(jìn)行工時(shí)分析和控制意義不大,統(tǒng)計(jì)一下實(shí)際投入就夠了。其次,很多企業(yè)的管理還不夠精益化。項(xiàng)目管理的精益化是需要成本的,也是管理能力水平的體現(xiàn)。例如,從理論上講,在項(xiàng)目執(zhí)行過(guò)程中,應(yīng)當(dāng)進(jìn)行掙值分析,關(guān)注成本績(jī)效指數(shù),出現(xiàn)偏差時(shí),立刻分析原因,進(jìn)行糾正。但是,要真正做到,需要建立掙值分析模型,制定相關(guān)的制度要求,配備管理人員等。第三,信息化支持不夠。如果沒(méi)有信息化手段做支撐,僅通過(guò)手工方式完成工時(shí)統(tǒng)計(jì)分析,效率低、成本高、準(zhǔn)確性差,即使有精益化管理思想和要求,也很難在操作層面執(zhí)行。二、軟件開(kāi)發(fā)人工成本管理解決思路針對(duì)軟件開(kāi)發(fā)項(xiàng)目人工成本管理中存在的問(wèn)題,主要解決思路是,學(xué)習(xí)掌握先進(jìn)的估算方法,依據(jù)即將頒布的行業(yè)估算標(biāo)準(zhǔn),進(jìn)行科學(xué)的估算,從源頭上控制人工成本基準(zhǔn),并在此基礎(chǔ)上設(shè)計(jì)控制流程,在各個(gè)環(huán)節(jié)設(shè)置明確的控制點(diǎn),通過(guò)信息系統(tǒng)保障管理思想落地實(shí)施。具體如下:(1)跟蹤行業(yè)標(biāo)準(zhǔn),掌握標(biāo)準(zhǔn)內(nèi)容,在實(shí)際估算操作中應(yīng)用標(biāo)準(zhǔn),形成重視估算、尊重科學(xué)的企業(yè)文化。依據(jù)標(biāo)準(zhǔn)進(jìn)行估算,將使人工成本估算更趨準(zhǔn)確,并徹底解決甲乙雙方對(duì)軟件開(kāi)發(fā)人工成本計(jì)算口徑不統(tǒng)一的問(wèn)題。(2)引入精益化管理手段,加強(qiáng)項(xiàng)目執(zhí)行過(guò)程中的成本分析和控制。對(duì)成本的管理不是等項(xiàng)目結(jié)束時(shí)做分析,而是每周統(tǒng)計(jì)分析成本績(jī)效指數(shù)CPI,并且與進(jìn)度績(jī)效指數(shù)SPI進(jìn)行匹配分析,實(shí)時(shí)關(guān)注人工成本的使用情況。在項(xiàng)目結(jié)束時(shí),要重新對(duì)軟件規(guī)模進(jìn)行計(jì)數(shù)統(tǒng)計(jì),根據(jù)實(shí)際發(fā)生的人工工時(shí)計(jì)算企業(yè)的生產(chǎn)率,用于指導(dǎo)新項(xiàng)目人工成本估算過(guò)程。(3)提出人工成本管理需求,開(kāi)發(fā)信息系統(tǒng),使管理思想、管理流程通過(guò)信息系統(tǒng)進(jìn)行固化和不斷優(yōu)化。只有通過(guò)系統(tǒng)實(shí)現(xiàn)項(xiàng)目預(yù)算、項(xiàng)目計(jì)劃、工作任務(wù)包、實(shí)際填報(bào)的工作日志工時(shí)、項(xiàng)目進(jìn)度績(jī)效指數(shù)、項(xiàng)目成本績(jī)效指數(shù)等的聯(lián)動(dòng),才能使人工成本控制高效、準(zhǔn)確、透明。三、軟件開(kāi)發(fā)人工成本控制流程設(shè)計(jì)(1)從項(xiàng)目售前階段開(kāi)始,控制估算和預(yù)算。設(shè)專崗進(jìn)行工時(shí)成本審核。軟件開(kāi)發(fā)項(xiàng)目,可以采用快速功能點(diǎn)法,也可以采用類推/類比法,或德?tīng)柗品椒?。工時(shí)專員根據(jù)事先準(zhǔn)備的審核檢查表進(jìn)行審核。審核重點(diǎn)在于估算、預(yù)算過(guò)程的規(guī)范性及有關(guān)參數(shù)選擇的合理性。(2)預(yù)算表導(dǎo)入項(xiàng)目管理系統(tǒng),自動(dòng)形成里程碑,作為后續(xù)控制依據(jù)。(3)項(xiàng)目計(jì)劃導(dǎo)入系統(tǒng),或直接在系統(tǒng)中拆分工作包,形成項(xiàng)目組員的工作計(jì)劃。(4)項(xiàng)目組成員在系統(tǒng)中填報(bào)工時(shí),由系統(tǒng)自動(dòng)生成工時(shí)相關(guān)的各統(tǒng)計(jì)數(shù)據(jù)報(bào)表,如SPI、CPI、完工率、人員使用率、人員產(chǎn)出率等。(5)項(xiàng)目管理辦公室QA定期分析異常數(shù)據(jù)的形成原因,發(fā)現(xiàn)存在的問(wèn)題或風(fēng)險(xiǎn),與項(xiàng)目組一起制定改進(jìn)措施。(6)公司對(duì)異常數(shù)據(jù)產(chǎn)生的原因、問(wèn)題風(fēng)險(xiǎn)等統(tǒng)一管理,不斷改進(jìn),形成度量庫(kù)和相應(yīng)的數(shù)據(jù)基線,作為后續(xù)項(xiàng)目估算人工成本的參考,使得人工成本控制越來(lái)越科學(xué)、越來(lái)越精益。四、軟件項(xiàng)目管理系統(tǒng)需實(shí)現(xiàn)的主要需求及技術(shù)實(shí)現(xiàn)4.1軟件項(xiàng)目主要需求(1)預(yù)算表導(dǎo)入:根據(jù)公司的項(xiàng)目預(yù)算體系,針對(duì)不同合同類型,實(shí)現(xiàn)不同的預(yù)算模板。預(yù)算表導(dǎo)入后直接形成一級(jí)摘要。項(xiàng)目的各個(gè)里程碑、里程碑的開(kāi)始日期、結(jié)束日期、工作量等全部自動(dòng)形成。預(yù)算表導(dǎo)入的一級(jí)摘要只能由QA手工修改。如預(yù)算表變更,由QA手工修改。(2)項(xiàng)目計(jì)劃導(dǎo)入:項(xiàng)目計(jì)劃導(dǎo)入項(xiàng)目管理系統(tǒng)時(shí),具體要求為:計(jì)劃中的標(biāo)題生成摘要,且自動(dòng)將責(zé)任人設(shè)為項(xiàng)目經(jīng)理;計(jì)劃中的具體任務(wù)生成工作包,任務(wù)中的資源對(duì)應(yīng)工作包資源;如計(jì)劃中為虛擬人員,則導(dǎo)入系統(tǒng)時(shí)默認(rèn)為項(xiàng)目經(jīng)理;預(yù)算表生成的一級(jí)摘要不能被修改。4.2軟設(shè)計(jì)技術(shù)實(shí)現(xiàn)人工成本控制方式在原有工時(shí)填報(bào)系統(tǒng)的基礎(chǔ)上擴(kuò)展實(shí)現(xiàn)。采用Microsoft.NET平臺(tái),B/S方式,數(shù)據(jù)庫(kù)是SQLserver2000。該系統(tǒng)實(shí)現(xiàn)excel導(dǎo)入、導(dǎo)出;project導(dǎo)入、導(dǎo)出等功能。總結(jié)從跟蹤行業(yè)標(biāo)準(zhǔn)、依據(jù)標(biāo)準(zhǔn)進(jìn)行估算、工時(shí)專員獨(dú)立審核、通過(guò)系統(tǒng)實(shí)現(xiàn)工時(shí)填報(bào)、到SPICPI定期分析、發(fā)布生產(chǎn)率基線和提升目標(biāo),從各個(gè)環(huán)節(jié)進(jìn)行有效的人工成本控制,該方式實(shí)現(xiàn)了對(duì)軟件開(kāi)發(fā)項(xiàng)目人工成本控制的目標(biāo),幫助組織提升了項(xiàng)目管理能力和贏利能力。以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的軟件開(kāi)發(fā)項(xiàng)目人工成本控制流程設(shè)計(jì)與應(yīng)用。如果您有智能電子產(chǎn)品的軟硬件功能開(kāi)發(fā)需求,可以放心交給我們,我們有豐富的電子產(chǎn)品定制開(kāi)發(fā)經(jīng)驗(yàn),可以盡快評(píng)估開(kāi)發(fā)周期與IC價(jià)格,也可以核算PCBA報(bào)價(jià)。我們是多家國(guó)內(nèi)外芯片代理商:松翰、應(yīng)廣、杰理、安凱、全志、realtek,有MCU、語(yǔ)音IC、藍(lán)牙IC與模塊、wifi模塊。我們的擁有硬件設(shè)計(jì)與軟件開(kāi)發(fā)能力。涵蓋了電路設(shè)計(jì)、PCB設(shè)計(jì)、單片機(jī)開(kāi)發(fā)、軟件定制開(kāi)發(fā)、APP定制開(kāi)發(fā)、微信公眾號(hào)開(kāi)發(fā)、語(yǔ)音識(shí)別技術(shù)、藍(lán)牙wifi開(kāi)發(fā)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計(jì)、美容儀器開(kāi)發(fā)、物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)、智能家居方案設(shè)計(jì)、TWS耳機(jī)開(kāi)發(fā)、藍(lán)牙耳機(jī)音箱開(kāi)發(fā)、兒童玩具方案開(kāi)發(fā)、電子教育產(chǎn)品研發(fā)。