国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

可編程控制器軟件估算方法

2022-10-31 09:03李丹丹石曉婷
關(guān)鍵詞:梯形圖編程語言工作量

勾 璇,李丹丹,文 華,石曉婷,馮 楠

(邯鄲凈化設(shè)備研究所,河北邯鄲 056011)

0 引言

可編程控制器是一種在電氣控制和計(jì)算機(jī)基礎(chǔ)上開發(fā)的工業(yè)控制裝置,廣泛應(yīng)用于機(jī)械生產(chǎn)和自動(dòng)化控制等領(lǐng)域。目前,應(yīng)用較廣的可編程控制器有西門子、施耐德、歐姆龍、臺(tái)達(dá)等品牌??删幊炭刂破鞯木幊陶Z言繁多,不同品牌編程語言的表達(dá)方式也不相同,主要包括字符表達(dá)方式和圖形符號(hào)表達(dá)方式。

GJB 5000A軟件成熟度模型的核心思想:將軟件開發(fā)視為一個(gè)過程,并根據(jù)這一原則對(duì)軟件開發(fā)和維護(hù)進(jìn)行過程監(jiān)控和研究,以使其更加科學(xué)化和標(biāo)準(zhǔn)化。在GJB 5000A二級(jí)實(shí)施過程中,項(xiàng)目策劃過程是軟件項(xiàng)目管理的一個(gè)重要過程。軟件規(guī)模估算作為項(xiàng)目工作量、成本和進(jìn)度估算的主要依據(jù),是整個(gè)項(xiàng)目范圍管理的關(guān)鍵。

目前,可編程控制器普遍使用梯形圖編程語言。梯形圖編程語言注重邏輯控制,因而對(duì)其進(jìn)行軟件規(guī)模估算時(shí)需要考慮的客觀影響因素較多。此外,大多數(shù)控制系統(tǒng)在完成邏輯編碼的同時(shí)還需完成對(duì)人機(jī)交互界面(Human Machine Interaction,HMI)的編碼。由于HMI采用圖形式語言進(jìn)行編程,其工作量和規(guī)模無法通過代碼行直接估算,這也使軟件精準(zhǔn)化估算變得更為困難。結(jié)合項(xiàng)目實(shí)踐,本文主要對(duì)3種可編程控制器軟件估算方法(直接工作量估算法、代碼行估算法和功能點(diǎn)估算法)進(jìn)行研究,結(jié)合實(shí)例對(duì)3種方法進(jìn)行詳細(xì)的估算說明,并對(duì)估算結(jié)果進(jìn)行對(duì)比分析。

1 直接工作量估算

可編程控制器大多采用梯形圖語言編程,該語言不僅在代碼上沿用電氣工程師熟悉的繼電器控制原理圖的方式,還提供許多簡單而又實(shí)用的指令。梯形圖鎖存邏輯編程代碼示例見圖1。

圖1 梯形圖鎖存邏輯編程代碼示例

直接工作量估算方法是指基于工作分解結(jié)構(gòu)的工作量估算方法,主要包括4點(diǎn)實(shí)施步驟:1)進(jìn)行工作分解結(jié)構(gòu)(Work Breakdown Structure,WBS)分解,將整個(gè)項(xiàng)目的任務(wù)進(jìn)行分解,分解粒度需要能進(jìn)行獨(dú)立估算;2)參考類似歷史項(xiàng)目數(shù)據(jù),采用類比法或?qū)<曳ü烙?jì)每類活動(dòng)的工作量;3)匯總得到項(xiàng)目的總工作量;4)根據(jù)工作量進(jìn)行計(jì)劃安排。

某典型溫度控制系統(tǒng)見圖2,采用加熱器加熱容器設(shè)備,采用溫度傳感器測(cè)量設(shè)備的溫度,采用可編程控制器采集傳感器的數(shù)據(jù),采用HMI顯示溫度值,在此基礎(chǔ)之上進(jìn)行人機(jī)交互。當(dāng)設(shè)備溫度到達(dá)上限值時(shí),可編程控制器發(fā)出斷開指令,加熱器停止加熱;當(dāng)溫度達(dá)到下限值時(shí),可編程控制器發(fā)出閉合指令,加熱器啟動(dòng)加熱。

圖2 溫度控制系統(tǒng)示例圖

WBS分解結(jié)果見圖3,工作量的度量單位為人·時(shí)。根據(jù)以往相似軟件的經(jīng)驗(yàn),在可編程控制器中1個(gè)模擬量輸入(Analog Input,AI)功能設(shè)計(jì)的工作量約為0.5人·時(shí);2個(gè)數(shù)字量輸出(Digital Output,DO)功能設(shè)計(jì)的工作量約為1.0人·時(shí);可編程控制器中完成1個(gè)變量在人機(jī)界面顯示的工作量約為1.0人·時(shí);在HMI中完成1個(gè)變量的圖像設(shè)計(jì)工作量約為1.5人·時(shí)。因此,總計(jì)工作量為4.0人·時(shí)。

圖3 控制系統(tǒng)WBS分解結(jié)果

2 代碼行估算

代碼行估算法是最早用于規(guī)模測(cè)量的方法,其核心是從開發(fā)者的技術(shù)角度對(duì)軟件進(jìn)行估算。在估算時(shí),該方法對(duì)功能分解的詳細(xì)程序要求較高。由于代碼行數(shù)在很大程度上依賴于所用的編程語言和個(gè)人的編程風(fēng)格,故在項(xiàng)目需求不穩(wěn)定、設(shè)計(jì)不成熟時(shí),代碼行估算法很難準(zhǔn)確地估算代碼量,且其對(duì)代碼行也沒有公認(rèn)的定義和標(biāo)準(zhǔn)。

在使用代碼行估算法進(jìn)行估算時(shí),首先要把項(xiàng)目劃分為若干個(gè)功能模塊,再分別計(jì)算每個(gè)功能模塊的代碼長度,最后計(jì)算項(xiàng)目的總代碼長度。此外,基于生產(chǎn)率參數(shù)可將代碼規(guī)模轉(zhuǎn)換為工作量。目前,在估算時(shí)默認(rèn)以C語言的實(shí)際代碼行數(shù)為準(zhǔn)則進(jìn)行規(guī)模統(tǒng)計(jì)。由于大多數(shù)可編程控制器不支持直接C語言編程,故需要根據(jù)歷史經(jīng)驗(yàn)按比例進(jìn)行換算。

根據(jù)歷史項(xiàng)目經(jīng)驗(yàn),梯形圖-C語言轉(zhuǎn)換系數(shù)為0.125,即1條梯形圖指令程序?qū)?yīng)8行C語言代碼,直接工作量估計(jì)結(jié)果見表1。

表1 直接工作量估計(jì)結(jié)果

3 功能點(diǎn)估算

基于功能點(diǎn)的工作量估算法從用戶的角度來度量軟件,該方法與實(shí)現(xiàn)技術(shù)和語言無關(guān),在項(xiàng)目需求明確時(shí)估算的準(zhǔn)確性較高。功能點(diǎn)估算的主要方法有3種:IFPUG法、MarkⅡ法和COSMIC法。其中,IFPUG估算法應(yīng)用范圍最廣,且適用于所有類型的軟件。

功能點(diǎn)估算的主要步驟包括:確定項(xiàng)目類型、識(shí)別項(xiàng)目范圍、分析未調(diào)整的功能點(diǎn)、計(jì)算交付功能點(diǎn)數(shù)。估算的內(nèi)容包括外部接口數(shù)(External Interface File,EIF)、內(nèi)部邏輯數(shù)(Internal Logical File,ILF)、外部輸出數(shù)(External Output,EO)、外部輸入數(shù)(External Input,EI),以及外部查詢數(shù)(External Query,EQ)。其中,事務(wù)類包括EI、EO、EQ,數(shù)據(jù)類包括ILF和EIF。

依據(jù)某一功能單元涉及的數(shù)據(jù)元素類型數(shù)(Data Element Types,DETs)、記錄元素類型數(shù)(Record Element Types,RETs)、引用文件類型數(shù)(File Type Referenced,F(xiàn)TRs),對(duì)照復(fù)雜度矩陣確定該功能單元的功能復(fù)雜度所屬類型。其中,DETs是指在一個(gè)ILF或EIF內(nèi)用戶可認(rèn)知的、唯一的、非重復(fù)的字段。RETs是指在一個(gè)ILF或EIF內(nèi)用戶可認(rèn)知的數(shù)據(jù)元素子集。

為更加詳細(xì)地了解功能點(diǎn)方法的估算內(nèi)容,在某典型溫度控制系統(tǒng)實(shí)例的原有基礎(chǔ)上,增加用戶對(duì)歷史數(shù)據(jù)的查詢功能。溫度控制系統(tǒng)的功能點(diǎn)估算結(jié)果見表2。

表2 溫度控制系統(tǒng)的功能點(diǎn)估算結(jié)果

調(diào)整后的功能點(diǎn)數(shù)(Adjusted Function Points,AFP)的計(jì)算公式為

式中:AF為影響因子,可根據(jù)行業(yè)數(shù)據(jù)和經(jīng)驗(yàn)值進(jìn)行適當(dāng)取值。本例中,AF為0.89,調(diào)整后的功能點(diǎn)數(shù)為45。

4 結(jié)論

以提高軟件的質(zhì)量和可靠性為出發(fā)點(diǎn),本文分別介紹了直接工作量估算法、代碼行估算法和功能點(diǎn)估算法的實(shí)施步驟和估算特點(diǎn),并依據(jù)實(shí)例進(jìn)行了對(duì)比分析。直接工作量估算法依賴歷史經(jīng)驗(yàn)數(shù)據(jù),在評(píng)估量化時(shí)無法提供科學(xué)支撐證據(jù)。代碼行估算方法簡單直觀,但目前沒有度量標(biāo)準(zhǔn),不同人員的估算結(jié)果差異較大,不利于項(xiàng)目管理。功能點(diǎn)估算法基于用戶需求建立量化指標(biāo),對(duì)于項(xiàng)目估算相對(duì)客觀,但需設(shè)置較多的影響因子數(shù)值。

總的來說,為提高軟件估算的準(zhǔn)確率,軟件項(xiàng)目管理人員應(yīng)從軟件本身的特性出發(fā),兼顧項(xiàng)目的復(fù)雜度、重要度和進(jìn)度要求等指標(biāo)進(jìn)行綜合考慮。

猜你喜歡
梯形圖編程語言工作量
基于JavaScript編程語言之 閉包技術(shù)在焦點(diǎn)輪播上的應(yīng)用
計(jì)算機(jī)軟件JAVA編程優(yōu)勢(shì)及其應(yīng)用
基于計(jì)算機(jī)應(yīng)用軟件開發(fā)的Java編程語言研究
PLC梯形圖編程系統(tǒng)應(yīng)用分析
思科發(fā)布云計(jì)算市場(chǎng)發(fā)展報(bào)告
精細(xì)績效管理與醫(yī)院科室分配制度探討
PLC編譯功能的實(shí)現(xiàn)
S7—200PLC基本編程教學(xué)案例
數(shù)控機(jī)床梯形圖故障設(shè)置方法研究
實(shí)驗(yàn)室工位考勤管理軟件設(shè)計(jì)