• 
    

    
    

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

      軟件系統(tǒng)中“計算公式自定義設置”解決方案設計

      2010-05-11 06:01:52呂振洪
      中國新技術(shù)新產(chǎn)品 2010年18期
      關鍵詞:負號基本參數(shù)配置文件

      黃 俊 呂振洪

      (浙江師范大學,浙江 金華 321004)

      1 引言

      在常見的業(yè)績考核系統(tǒng)、工資管理系統(tǒng)、產(chǎn)品銷售管理等系統(tǒng)中都會涉及到計算公式,系統(tǒng)需要通過這些計算公式計算出績點、工資、產(chǎn)品價格等數(shù)值。這些計算公式帶有一些參數(shù)(分為基本參數(shù)和傳入?yún)?shù)),基本參數(shù)值并不固定,計算公式運算規(guī)則也可能會發(fā)生改變。若在項目開發(fā)時,直接把公式固定在代碼內(nèi),那么當用戶需要對公式進行適應性修改時,就得找開發(fā)此軟件的公司來修改源代碼,若公式變動的頻率較高時,每次修改的代價是不小的。筆者通過研究,提出“計算公式自定義設置”解決方案:將表達式和參數(shù)寫在用戶配置文件中,系統(tǒng)運行時讀取配置文件,并將公式載入內(nèi)存。用戶若要對計算公式進行修改時,只需打開配置文件,按照一定的規(guī)則修改計算公式的參數(shù)或運算規(guī)則即可。

      系統(tǒng)如何智能的識別、解析配置文件中字符串形式計算公式,并將用戶設置的基本參數(shù)及系統(tǒng)運行時傳入的參數(shù)映射到公式中,準確的計算出結(jié)果是本文研究的重點。筆者將本研究的問題歸結(jié)于以下模型:

      result=calculateWithParameters(expression,params)。其中expression為從用戶配置文件中讀取的用戶設置好的計算表達式。params為從配用戶配置文件中讀出的基本參數(shù)和系統(tǒng)運行時傳入的參數(shù)集合。通過這兩個輸入及calculateWithParameters函數(shù),系統(tǒng)能夠自動輸出計算表達式的運算結(jié)果result。

      2 設計思路

      2.1 獲取自定義計算表達式和參數(shù)列表(規(guī)定參數(shù)中負數(shù)用F表示負號,例如-1寫成F1)。

      2.2 分析參數(shù)列表,將參數(shù)中值為負數(shù)的負號“-”用“F”替換,以便于區(qū)分表達式中的減號和參數(shù)中的負號。

      2.3 分析計算表達式,將計算表達式中型為“{X}”的基本參數(shù)或傳入?yún)?shù)根據(jù)其標識符號X從參數(shù)列表中找到相應的值進行替換。

      2.4 開始計算表達式。這里采用常用算法中的分治策略,將表達式根據(jù)“+”“,-”“,*”“,/”“,()”這些運算符及其優(yōu)先級將表達式劃分成更小的子表達式,通過遞歸的方式逐步劃分(入棧),直到最小的表達式能夠直接獲得其計算值,然后再退棧,逐步將得到的子表達式的計算值相運算“還原”出原計算表達式的結(jié)果。

      核心偽代碼(Java)如下:

      此外,本設計還涉及到模型的兩個輸入的獲取。對于expression和params中的基本參數(shù),可以直接從用戶配置文件中讀?。ㄟ@里建議配置文件使用XML文件,在系統(tǒng)運行時將公式及基本參數(shù)載入內(nèi)存)例如

      系統(tǒng)運行時,當接收到界面層傳來的參數(shù)a,b,c的值時,將參數(shù)的標識符和數(shù)值放入HashMap中,params的收集也就完成了。接下來就能通過這個模型計算出結(jié)果。

      3 實例模擬

      某業(yè)績考核系統(tǒng)中的績點計算表達式如上配置文件所示:{a}*{x1}+*{x2}+{c}*{x3}+0.1*(j5i0abt0b-2),其中三個基本參數(shù)x1,x2,x3已在配置文件中設置。a,b,c,d為系統(tǒng)運行時要從界面層獲取的傳入?yún)?shù)。以下為計算績點的部分代碼:

      圖1 對該實例模擬的結(jié)果進行測試

      4 結(jié)束語

      本文提出了一種比較通用的應對軟件系統(tǒng)中涉及到的計算公式經(jīng)常發(fā)生變動的解決方案,用戶只需簡單的修改配置文件即可應對變化,而不必修改源代碼,這樣使得軟件設計更加靈活,能夠有效的降低軟件維護所花費的代價。

      [1]王曉東編著.算法設計與分析(第二版)[M].北京:清華大學出版社,2009.

      [2]張峰,李慧麗.JavaWeb架構(gòu)開發(fā)與項目實戰(zhàn)[M].北京:清華大學出版社,2009.

      猜你喜歡
      負號基本參數(shù)配置文件
      提示用戶配置文件錯誤 這樣解決
      關于“負零”的理解和教學
      搭建簡單的Kubernetes集群
      互不干涉混用Chromium Edge
      忘記ESXi主機root密碼怎么辦
      “負號”計算題中的攔路虎
      新一代(2018年19期)2018-03-04 21:51:42
      處理好“會變臉”的負號,激發(fā)七年級學生的數(shù)學興趣
      《東北電力技術(shù)》編輯委員會
      四輪定位基本參數(shù)及其影響
      高中物理教學如何規(guī)范使用正負號
      蓬安县| 海晏县| 江城| 灌阳县| 潜山县| 永泰县| 海伦市| 万荣县| 邯郸县| 黔西| 昔阳县| 深泽县| 辛集市| 昭通市| 师宗县| 突泉县| 长武县| 延边| 宕昌县| 航空| 于都县| 饶平县| 沙雅县| 扶余县| 阜阳市| 巩留县| 都昌县| 拉萨市| 福建省| 鹤庆县| 鄂温| 镇原县| 灵台县| 漠河县| 台中市| 凤台县| 都昌县| 高阳县| 皋兰县| 申扎县| 探索|