真人一对一直播,chinese极品人妻videos,青草社区,亚洲影院丰满少妇中文字幕无码

0
首頁 精品范文 編程軟件

編程軟件

時間:2022-09-27 11:53:05

開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇編程軟件,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。

編程軟件

第1篇

關鍵詞 軟件;編程實現;風險;規避

中圖分類號:F407.67 文獻標識碼:A 文章編號:1671—7597(2013)042-051-01

隨著社會需求的不斷提高,應用于實際生產工作的軟件編程結構越來越復雜,軟件的功能越來越多,軟件體積越來越臃腫,所需消耗的人力物力也越來越多,這就使得在軟件開發中所存在的風險變得越來越大,若無法合理規避或消除這些存在的風險,很容易使軟件開發陷入無法自拔的深潭,為開發單位或企業帶來經濟損失。

1 編程軟件中存在的風險概述

風險存在于軟件開發的整個生命周期,是任意軟件項目中都存在的。潛在的開發風險容易對軟件的開發和應用帶來消極的影響,如拖延軟件開發進度和開發時間、增大研發投入成本、降低軟件質量等,嚴重者會導致編程軟件的開發過程中斷或停止。在軟件編程中存在的風險主要可以分為以下幾方面:客觀性因素如進度因素、成本因素等,主觀性因素如人員因素、環境因素、技術因素等。這些因素都會對編程軟件的開發帶來諸多不確定性影響和風險。若在軟件項目計劃、估算、構建、管理等方面沒有制訂合理的規劃和估計或在軟件項目實施過程中缺乏必要的成員溝通,出現設計、代碼、測試、維護等方面的風險問題則很容易導致編程軟件發生問題,影響整個軟件的品質。

對編程軟件進行風險規避分析正是面對上述情況而提出的,用于提升軟件產品魯棒性,降低軟件開發過程所面臨的風險和損失的一種分析方法。該方法綜合考慮編程軟件開發過程中涉及的多種相關參數,制定合理的管理策略對編程軟件中的多種因素進行適當管理,降低或避免風險。

2 軟件開發風險規避步驟分析

在軟件開發過程中進行風險規避主要通過風險識別、風險分析以及風險監控三個步驟完成。

2.1 風險識別

該步驟主要集中在項目規劃和開始階段。在項目建立初期,需要根據軟件的屬性如功能、配置、需求等將項目的風險進行分解和構析,建立風險資料庫,邀請與本軟件開發相關的專家、編程人員等根據軟件應用范圍和總體計劃等信息對軟件開發生命周期內的風險來源和風險種類進行分析和識別,進而根據識別分析結果制定相應的風險規避計劃。

風險識別就是利用系統化分析方法對軟件開發項目中影響比重大、發生概率高等風險進行確定,然后依照相關的風險管理經驗對風險的來源、等級、內容等進行分類,便于后續處理。

2.2 風險分析

在影響編程軟件的多個風險因素中,只有部分風險因素是主要因素,會對編程軟件的整個開發進度產生最直接、最重要的影響。對編程軟件開發項目進行風險分析就是應用定性或定量的分析方法將識別到的風險進行分類,按照不同風險因素對軟件項目開發的影響程度將其分為重要、一般、不影響等多個類別,指導后續風險規避計劃的制定。

2.3 風險監控

風險監控就是利用所制定的規避計劃對軟件編程過程進行監控和管理,消除軟件開發風險對軟件項目帶來的不利影響。

3 編程軟件風險規避策略

1)確保開發所需資源。對編程軟件開發最為重要的是團隊核心開發人員的儲備。為提高軟件開發的抗風險能力應該采取一定的措施和手段做好人員流動、離職等風險的準備和預防工作,確保即便出現少量研發人員流失也能夠讓軟件編程工作處于正常運轉狀態。其他如開發過程的文檔機制、硬件資源等對提升編程軟件的抗風險能力同樣具有重要作用。

2)增強關鍵技術的提前調研意識。軟件編程最主要的工作內容就是關鍵位置和關鍵技術的編程實現。為降低軟件開發過程中來自技術方面的風險應該在軟件編程過程中及時首先相關技術實現信息,增強關鍵功能的突破能力,避免合作開發中技術依賴為編程軟件開發所帶來的高風險和高成本。

3)制定完善的執行計劃。項目執行計劃書是控制與調整編程軟件研發方向、研發時間、研發內容等的基準和依據。整個項目的執行過程與計劃書相匹配,并接受相關監控人員的監控。若出現項目時間、內容等的變更則需要及時分析和總結出現變更的原因,制定相應的糾正策略,調整執行計劃,盡量消除編程軟件開發與執行計劃之間的偏差,確保整個開發過程處于可控狀態。

4)做好項目的跟蹤。在編程軟件開發過程中應該對進度中出現的各種數據進行記錄和跟蹤,在一段時期后對所記錄的資料進行整理和分析,從而進一步提高編程軟件的開發與管理水平,確保編程軟件所面臨的風險處于可控或可消除狀態。

5)建立和完善風險應對策略。雖然采取必要的風險規避策略可以有效降低風險發生的幾率,提升編程軟件的品質,但是風險還是存在可出現的。當風險出現時應該根據風險特征制定應對策略,采取預防措施,同時指定專門的風險責任人對風險進行跟蹤和應對。風險應對策略的指定原則應該是有效可行的,適用性較強的,可以將具體的風險轉化、分擔為多個可處理的解決方案,或直接采取一定手段回避風險的影響,確保編程軟件的進度不受或承受最低限度的影響。

6)應用現代管理軟件對編程軟件項目進行風險管理。鑒于風險規避已經成為軟件編程過程中需要考慮和注意的一個重點內容,故專門針對風險管理的軟件正在逐漸被應用到項目風險管理中。軟件企業,特別是中小軟件企業在進行編程軟件風險管理中應該盡量將軟件工程與風險管理進行結合,促使風險規避更加具體,更具針對性和可實施性,進而綜合提升編程軟件的抗風險能力。

參考文獻

[1]黃石磊.淺談軟件編程的風險規避[J].科技創新導報,2010(4).

第2篇

1組織方式

實際上,上述選題機制是將分散的畢業設計引導形成基于團隊的角色學習環境,學生在教師的統一帶領下,對項目進行設計并劃分模塊,獨立負責不同模塊的開發,并且在教師的指導下,充分體驗不同模塊之間的溝通和集成問題,使學生能夠貼近企業項目開發的實際情境,體會到實際項目身臨其境的感覺,從而提高畢業設計對于畢業生的鍛煉價值和質量。

敏捷宣言認為人和交互勝過過程和工具。以此原則為指導,在畢業設計實施過程中,要求學生組內成員和小組之間加強交流溝通,對于畢業設計過程中產生的文檔,要求學生著重記錄交流過程,而非交流結果。敏捷宣言認為客戶合作勝過合同談判,意義在于業務人員應該參與到項目開發的整體過程中,達到整個項目開發團隊能夠把握項目開發方向。對于軟件工程畢業設計來說,意味著在選擇畢業設計所涉及到的項目原型時,應盡量貼近學生實際,例如選擇教務管理系統、教學管理系統、圖書管理系統等學生經常接觸和使用的應用系統,或是指導教學正在從事的橫向或縱向課題。要求選擇指導教學或學生自己能夠扮演客戶的角色,學生對于所開發的系統的需求了然于胸。

2管理方式

敏捷宣言認為可以工作的軟件勝過面面俱到的文檔,可以工作的軟件是進度主要的度量標準。以此原則為指導,對畢業設計過程中要求撰寫的文檔可適當弱化,而是要求將項目程序代碼保存到統一版本庫,并保持版本庫中的代碼是可部署和運行的。極限編程的推薦實踐方式認為對于項目開發應該盡早測試、經常測試、自動測試。在畢業設計的實施過程中,要求學生對于測試計劃、測試用例及測試驅動開發(TestDrivenDevelopment,TDD)都有所了解,使用由學生指導教學編寫的自動測試來監控開發進度,支持系統的演化,并盡早發現缺陷。上述管理方式就現階段軟件工程專業的畢業設計來看,實施比較困難,但應盡力發展,從而彌補現有人才培養方案中對于軟件測試不夠重視的缺陷。

極限編程推薦增量設計、開發和頻繁重構。這也是畢業設計過程中應采納的做法。對于一個指定的項目,要貫穿整個畢業設計過程,以各個階段時間點為標志,要求學生以增量的方式來完善項目開發,在畢業設計過程中,要體現項目的漸進式開發,各個時間點都要求學生完成項目的相應部分,并且要求項目代碼的主版本隨時處于可部署、可運行狀態,對于系統架構和代碼結構等方面,可通過重構來優化。對于代碼重構的的粒度和頻率,可由指導老師根據實際情況具體把握,以模塊化和符合軟件設計模式等特征為參考依據。

3考核方式

鑒于以上組織和管理方式,在進行畢業設計(論文)考核時,應在傳統的畢業答辯環節考核基礎上,考慮以下因素:一是在畢業答辯考核時,要注重考查學生所寫代碼的功能,而不是形式上的開發文檔。二是極限編程推崇結隊編程(PairProgramming),因此,在畢業設計進行過程中要求學生不要局限于自己的畢業設計課題,而應該是兩個人一起完成兩個課題,雙方都參與到對方的項目中去。在畢業答辯考核時,也應采取相應的考核辦法,交叉檢查學生的編碼工作量。三是極限編程提倡短周期。也就是說,畢業設計過程中,應該交付多個可運行的系統版本(功能是遞增的,但指定功能的版本是可用的)。因此,在畢業答辯過程中,要求學生就系統的多個可運行版本進行演示。總而言之,軟件工程專業的畢業設計(論文)的考核,除了依據傳統的畢業答辯考核標準之外,還需結合敏捷開發和極限編程的特點,綜合考查編碼協作、增量設計、測試驅動開發、持續集成等特征是否體現在學生畢業設計(論文)中。

典型過程及相關支撐工具

在確定指導老師和設計課題后,學生將展開畢業設計的具體過程,根據以AD和XP為指導思想的典型畢業設計過程,具體過程如圖1所示。以上典型過程中的具體步驟,都有成熟的支撐工具可選用,使整個畢業設計過程實現信息化管理,其中項目管理工具可使用PivotalTracker,測試管理工具可使用MercuryQualityCenter,自動測試可使用開源集成測試環境,如Jenkins,代碼管理工具可使用VisualSVN(服務器端)和TortoiseSVN(獨立客戶端)及SubclipseSVN(IDE集成客戶端)。

軟件項目管理工具PivotalTracker是由公認的敏捷軟件開發老大PivotalLabs開發的基于故事、簡單、有效、敏捷的軟件項目管理工具,適用于各類型的項目,并通過敏捷項目管理的理念讓項目能夠有條不紊的進行,使項目的開發效率大大提高。操作界面如圖2所示。

測試管理工具MercuryQualityCenter提供了基于Web的,可在廣泛的應用環境下自動執行軟件質量測試和管理的功能,使IT團隊能夠在開發流程完成前就參與應用程序測試。這樣將縮短時間表,同時確保最高水平的質量。操作界面如圖3所示。版本庫管理工具SVN是用于實現對代碼、文 件等的修改、刪除、增加等操作進行記錄,并且可以追溯每個修改細節的通用工具,它基于C/S架構,需要服務器和客戶端軟件,其中SVN服務器可以使用VisualSVN,獨立客戶端可使用ToitorseSVN,而IDE集成客戶端可使用Subclipse。

結語

第3篇

【關鍵詞】C語言 計算機 軟件編程

C語言應用建立在簡單編程語言的基礎上,是一項新型的編程語言確保了編程任務的順利完成。使用者在實際的應用過程中,不受各項限制條件影響,可以結合自身的實際使用需求,嚴格按照C語言的編程要求進行編程。通過編程運行應用軟件的實施結果上可以看出,C語言是計算機中的高級編程Z言,對提升計算機技術應用效果具有重要作用。

1 C語言下的計算機軟件編程實驗技巧

1.1 熟練掌握指針運用方法

指針是C語言編程中一種特殊的類型變量,能夠快速處理編程設計過程中存在的復雜問題。指針的三要素主要包括指針名、值和類型。在對指針編程過程中,主要確保一般變量和指針的相同性。將指針應用于數組表示和函數的參數返回值中。

1.2 明確C語言特有函數功能

特有函數在C語言編程中被廣泛應用,需要充分展現出函數的功能,編程設計人員需要將返回值、函數名字和參數名等項目進行定義。編程庫中的函數主要是由C編譯系統提供,需要確保函數系統的合理定義,確保程序調用的合理性,將“#include指令”包含到所用文件中。例如,在程序運行過程中,通常會運用sqrt函數,為了確保程序的合理運行,需要將#include“string.h”應用到頭文件中。

1.3 掌握算法程序設計技巧

算法是程序設計的靈魂,需要明確算法技巧的應用方法,運用自然語言和流程圖合理表達算法。要求程序設計員需要熟練掌握流程圖符號,將其作為計算機之母,通過對數學知識的牢固應用,有助于提升計算機編程效率。

1.4 掌握位運算及文件知識

位運算是C語言之間的重要特色,也是計算機中的高級語言運算方法,自身具有唯一性和獨特性特點。需要將位運算作為二進制位對象,嚴格按照程序要求進行運算。程序設計員在編程時,需要將所寫的程序存儲到文件中,提升數據查找效率。

2 計算機軟件C語言編程案例

2.1 混合軟件編程方法

隨著科學技術的快速發展,需要加大對語言混合編程技巧的應用,對提升系統編程開發效率具有重要作用。在對混合軟件編程方法進行研究時,主要包括以下兩方面研究內容:

(1)需要將匯編語句嵌入到C語言源程序中,例如,在將asm匯編語句嵌入到C語言源程序中,需要將asm mov as,5/*將5發送到ax寄存器*/,將匯編語句嵌入到C語言源程序中時,需要利用大括號將嵌入程序括起來,例如:

Main( )

{asm{

mov ah,2

mov bh,5

int 10h

}

}

本次實驗在實施過程中,在對程序進行嵌入式設計時,需要嚴格按照固定的格式進行嵌入式輸入,并且需要在嵌入的各行代碼前加“asm”。程序設計人員在進行嵌入式程序設計時,需要滿足以下條件要求:“asm”關鍵字不可少,并且需要將其放置在指令代碼前,需要確保嵌入匯編語言指令代碼能夠與正常的C語言程序混合使用,用“;”作為C語言的分隔符;將“/%”和“*/”作為C語言的注釋分界符。

(2)做好C語言程序和匯編程序的編寫工作,確保編譯目標代碼模塊的獨立性,確保鏈接的合理性。首先,明確C語言程序匯編語言中各種子程序和定義變量的合理性,確保匯編語言的合理調用。由于混合編程語言由若干個功能模塊共同組成,各功能模塊語言能夠獨立完成編程工作,并且通常會以函數的形式展現出來。設計人員需要結合每一模塊的特點,來合理選擇獨立的語言編程系統,并形成目標性的文件,確保能夠形成可視性的文件。其次,需要加大對參數傳遞問題的合理解決,從參數傳遞原則方面對C語言的程序調用匯編程序進行分析,運用推棧將參數傳遞給匯編程序。例如,在對voidaa(char*p,inti)函數進行編寫時,主要是利用匯編語言進行編寫,確保編譯工作能夠在小內存模式下開始,系統在調用時,將其編寫成aa(&q,n)。

2.2 混合軟件編程實例分析

在開展混合軟件編程工作時,需要純5個數中尋找最小值,將主程序設為“min.c”,匯編子程序設為“qiumin.asm”。主程序的編寫形式主要是利用C語言進行編寫,匯編子程序的編寫形式主要是利用匯編語言編寫,在實際的應用過程中,通常會被主程序所調用,以便完善對最小數的尋找,程序代碼如下所示:

/*文件名為:min.c*/

#include

Int extern qiumin(int count,int vl,int v2,int v3,int v4,int v5);/*聲明qiumin為外部函數*/

Main()

{

int min;

Min=qiumuin(12 ,54,8,4,23,9);

Printf(“The min is%d\n”,min);

}

主要是利用C語言和匯編語言混合的編程反復發,確保應用程序能夠滿足運行速度的要求,編程人員需要做好寄存器的合理分配,明確影響程序的因素。為了確保程序的合理運用,需要確保程序預報語言設計之間外部接口的相互協調性,提升外部調用效果。

3 結論

近年來,信息技術發展迅速,計算機軟件是信息化社會的必需品,需要加大對C語言的應用力度,將其應用到各個領域中,確保行業的高效運營,為計算機軟件的發展奠定良好的基礎。同時,確保C語言軟件能夠廣泛的應用到計算機編程實驗中,強化C語言的實踐效果,利用簡單的C語言編程,提高軟件的功能性,拓寬計算機軟件的應用領域,確保計算機軟件的多樣化發展,向網絡化和信息化方向不斷邁進。

參考文獻

[1]龔晨.基于C語言的計算機軟件編程實驗研究[J].電腦編程技巧與維護,2016(02):36-37.

[2]芮素文.基于C語言的計算機軟件編程分析[J].信息系統工程,2015(01):40.

[3]王志超,趙越.基于C語言的計算機軟件編程實驗研究[J].科技創新導報,2015(11):45.

第4篇

隨著現代機械工業的發展,數控技術是當今先進制造技術和裝備最核心的技術,計算機輔助設計(CAD)和計算機輔助制造(CAM)已顯的尤為重要,并廣泛應用于航空、航天等國防工業產品機械制造中。使用CAD/CAM系統產生的NC程序代碼可以替代傳統的手工編程,可以提高加工效率與質量,縮短生產周期,降低產品成本,從而取得良好的經濟效益。

MasterCAM軟件是一種功能強大CAD/CAM軟件,廣泛應用于機械加工、模具制造、汽車工業和航天工業等領域,它具有二維幾何圖形設計、三維曲面設計、刀具路徑模擬以及加工實體模擬等功能,并提供友好的人機交互,從而實現了從產品的幾何設計到加工制造的CAD/CAM一體化。

下面結合實例介紹MasterCAM軟件在數控銑削加工自動編程中的使用。

二、MasterCAM軟件數控編程一般過程

MasterCAM軟件數控編程一般過程如下:零件加工工藝分析CAD幾何造型刀位軌跡生成CAM生成最終加工代碼。

1.零件加工工藝分析

在運用MasterCAM軟件對零件進行數控加工自動編程前,首先要對零件進行加工工藝分析,確定合理的加工順序,在保證零件的加工精度的同時,要盡量減少換刀次數,提高加工效率,并充分考慮零件的形狀、尺寸、加工精度,剛度和變形等因素,做到先粗加工后精加工,先加工主要表面后加工次要表面,先加工基準面后加工其他表面。如圖1所示,零件可通過虎鉗裝夾,先用鍵槽刀或鉆頭加工下刀孔,再用銑刀進行銑削加工。該零件在數控設備上加工的工藝流程為:加工下刀孔輪廓半精粗加工輪廓精加工清輪廓角。

2.CAD幾何造型

建立零件的幾何模型是實現數控加工的基礎,MasterCAM軟件具有進行二維或三維的設計功能,具有較強CAD繪圖功能。可以運用Design模塊建模,也可以根據加工要求使用Mill模塊繪圖功能來直接造型。由于MasterCAM軟件系統內設置了許多數據轉換檔功能,可以將各種類型的圖形文件(如AutoCAD、CAXA等軟件上的圖形)轉換至MasterCAM系統上使用,如圖2所示。

3.刀位軌跡生成

(1)確定加工參考基準點。

先根據零件加工圖樣的關聯尺寸要求,確定數控加工中心的裝夾與加工基準點。將零件放置在機床工作臺面,采用大虎鉗進行裝夾。采用虎鉗裝夾,因為虎鉗內側為不活動的,便于校準基面,確立加工基準點,將此點輸入到加工中心,將此點設置為加工中心加工的參考零點。示例采用第四象限設基準點(即X+,Y-),如圖3所示。

(2)編程零點的確定。

編程零點的確定,是根據其圖樣的尺寸要求來確定的。一般是圖樣的工藝要求尺寸鏈,采用和圖樣一樣的基準,在數控加工的尺寸鏈也就一致了,也就保證了圖樣尺寸要求。編程零點如圖4所示,根據圖樣尺寸鏈與尺寸標注要求,在對X方向取X+,在Y方向對Y分中,編程零點取X 0.0,Y 0.0。

(3)刀位軌跡的生成。

進行合理的刀位軌跡規劃,使所生成的刀位軌跡無干涉、無碰撞且穩定性好,是提高編程效率的關鍵。從工藝考慮對凹槽采用分多次粗銑和一次精銑,然后劃分加工區域,粗加工給出每次加工余量,精加工采用同一直徑的銑刀,根據粗糙度要求給定切削轉速度( S)與進給速度( F),根據具體情況選擇切削類型、切削參數、刀軸方向和進退刀方式等參數,生成的刀位軌跡,如圖5~圖8所示。

4.CAM仿真

利用MasterCAM系統提供的零件加工模擬功能,能夠觀察切削加工的過程,可用來檢測工藝參數的設置是否合理,零件在數控實際加工中是否存在干涉,設備的運行動作是否正確,實際零件是否符合設計要求。同時在數控模擬加工中,系統會給出有關加工過程的報告。這樣就可以清楚地監控到零件在加工過程中的過切與欠切、刀桿和聯接系統與零件及夾具間的干涉碰撞,從而保證了數控編程的質量,減少了試切的工作量和勞動強度,提高了編程的一次成功率,大大提高生產效率。模型切削仿真,如圖9所示。

5.生成最終加工代碼

MasterCAM軟件本身提供了百余種后置處理PST程序。對于不同的數控設備,其數控系統可能不盡相同,選用的后置處理程序也就有所不同。對于具體的數控設備,應選用對應的后置處理程序,后置處理生成的NC數控代碼經適當修改后,如能符合所用數控設備的要求,就可以輸出到數控設備,進行數控加工使用,如圖10、圖11所示。

第5篇

關鍵詞:軟件設計;面向切面編程;AOP

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2012)03-0595-02

An Analysis of Aspect Oriented Programming in Software Design

DENG Fang-lin

(Guangzhou maritime college,Guangzhou 510725,China)

Abstract: As the complexity of software increases nowadays, software design gains more and more importance. With the increasing soft? ware reuse in current software projects, the dependency between different modules deepens. The fundamental principle of low coupling in software projects is hard to be clearly realized. Reasonable decoupling becomes a difficult problem in software design. Aspect oriented pro? gramming is one of relatively more practical decoupling methods.

Key words: software design; aspect oriented programming; AOP

面向切面編程(也叫面向方面),英文簡稱AOP(Aspect Oriented Programming)。是通過預編譯方式、代碼級擴展或運行期動態實現在不修改源代碼的情況下給程序動態統一添加功能的一種技術。利用AOP可以對業務邏輯的各個部分進行橫向隔離,從而使得業務邏輯各部分之間的耦合度降低,提高程序的可重用性。

1面向切面編程方式的產生

在開發軟件系統中,經常會遇到功能比較單一,在系統中分布廣泛但是與具體業務邏輯無關的功能邏輯。例如日志,緩存等功能。這些功能比較獨立,和業務邏輯的相關性不高,但系統的各層次都需要對其進行關注。

以往系統開發,更注重把系統縱向分層,相鄰的層次間存在單向引用關系,不相鄰的層次間相互透明,這是傳統OOP開發方式帶給系統架構方式。但這種開發方式只是將縱向的功能隔離,無法和各層次通用性的功能消除耦合關系,導致通用性的模塊維護比較困難,因此引入橫向切面的概念,將日志,緩存等這些通用各作為一種橫向切面,將需要進行這些功能處理的地方叫做切面關注點,將切面和其關注點的耦合關系剝離出來組成新的模塊對切面及其關注點進行編織,這樣使業務邏輯的開發人員不必關注于具體的切面邏輯,消除了切面功能和業務邏輯的耦合。這種開發模式就叫做面向切面編程(AOP)。

2面向切面編程的實現方式

2.1提取橫向切面

一般提取切面的條件:1)功能邏輯相對獨立;2)功能邏輯不屬于核心業務邏輯;3)功能邏輯在系統中多次使用,通用性較強。

2.2確定切面關注點

業務邏輯中需要調用切面邏輯的地方即為切面關注點。此步驟可以根據業務需求確定使用切面邏輯的相關點。

2.3對切面及其關注點進行代碼編織

定義切面邏輯在切面關注點得位置運行。

3面向切面編程的實際應用

下面代碼以日志系統為例簡單對AOP使用進行描述,示例代碼為java使用AOP之前,原系統需求:

//服務層的業務實現類

public class Service {

public void updateUserInfo(User user){

//業務邏輯代碼實現,此處省略

//添加日志

Log.Info(new Date().toString() +“:“操作”+“Service . updateUserInfo ()”);}

public void setUserDisable(int userId){

//業務邏輯代碼實現,此處省略

//添加日志

Log.Info(new Date().toString() +“:“操作”+“Service . setUserDisable ()”);

Service使用

下面使用AOP對此進行重構:

1)提取日志切面

切面類

public class LogAspect{

//日志記錄方式

public static void Log(string methodName){

Log.Info(new Date().toString() +“:“操作”+ methodName);

2)切面關注點

這里Service類的所有方法都需要日志,所以關注日志切面的點為Service類的所有方法。

3)對切面及其關注點進行編織

這里使用java內置的動態的方式來實現代碼編織

//為Service類實現動態類ServiceHandler

public class ServiceHandler implements InvocationHandler {

//要的原始對象,這里為Service類

private Object objOriginal;

public ServiceHandler (Object obj) {

this.objOriginal = obj ;

}

public Object invoke(Object proxy, Method method, Object[] args)

throws Throwable {

Object result ;

//調用原始對象的方法

result = method.invoke(this.objOriginal ,args);

//調用日志切面功能,組裝到Service類的每個函數調用后

LogAspect. Log (method.toString());

return result ;

}}

4)執行調用方法

初始化關注點對象

Service service = new Service ();

InvocationHandler handler = new ServiceHandler (service);

Service proxy = (service) Proxy.newProxyInstance(

service.getClass().getClassLoader(),

service.getClass().getInterfaces(),

handler);

具體調用

proxy.省略平臺還沒有權威的框架支持,也于.net從語言級別不支持動態有關。

5結束語

AOP作為一種有效的軟件設計方式,對原有的軟件設計體系是一個有效的補充。它很好地體現了軟件設計的基本思想――高聚合,低耦合,為軟件設計中相關的問題提供了合理的解決方案。雖然在現有通用的解決方案中還沒有將其列為必要的一項,但相信隨著軟件系統的整體升級,對相關問題日益凸顯后,AOP終將被人們愈發重視。

參考文獻:

[1]林信良.spring2.0技術手冊[M].北京:電子工業出版社,2007(4).

[2]程杰.大話設計模式[M].北京:清華大學出版社,2007(12).

第6篇

訊:在當前實體經濟趨緩,網絡經濟蓬勃發展之際,無論是互聯網企業還是大量傳統企業,都不得不患上了網絡營銷人才“饑渴癥”,擁有一張業內權威的網絡營銷專家證書,對于當下求職人員來說,無疑是一塊最佳敲門磚。7月31日,百度推廣正式在京推出了“百度認證”知識培訓體系及認證服務,提供有關網絡營銷的理論知識及實踐課程,在當前網絡營銷人才極度匱乏的環境下,有望取代微軟、思科等認證,成為最搶手的培訓課程。

51JOB的《中國互聯網營銷職業發展白皮書》顯示,僅北京地區,每三個網絡營銷崗位需求,只能招到一位合適的人員。全國來看,2012年上半年,網絡營銷崗位的平均薪酬已接近8萬元,較前兩年崗位的平均薪酬增幅已達到15%,企業對網絡營銷人才需求量為116萬,整體缺口超過60萬。據預計未來兩年互聯網營銷人才的需求量分別在160萬、203萬。

與之相對應的是,以微軟、思科等培訓認證體系的降溫,據統計,世界范圍內共計有12萬位MCSE2003,15萬多位MCDBA及3萬多位MCSD最具代表性的微軟認證職位產生,但是這些認證人數的60%以上的比例均產生在2009年以前,這是IT行業一直在進步,但此領域人才趨于飽和的寫照。

行業專家表示,IT行業發展有著充分的階段性特征,在計算機普及后的若干年內,軟件編程成為一種新的高科技行業,需要大量的軟件工程人才,微軟等行業認證成為了該行業最權威的資歷證明。如今隨著互聯網行業的日新月異,行業導向開始發生變化,隨著大量企業日益電子商務化,傳統的經濟模式開始轉型,世界首富蓋茨曾說:“21世紀要么電子商務,要么無商可務!”據統計,預計2012年中國電子商務總規模將突破6.4萬億。傳統企業的電子商務化催生網絡營銷行業的高速發展,具備相關優秀技能的求職者無不遭到企業爭搶。

據悉,作為業內最權威也是含金量最高的網絡營銷認證體系,“百度認證”分為“百度認證營銷推廣師”、“百度認證營銷顧問”、“百度認證高級營銷顧問”、“百度認證營銷專家”四個等級,為落實工信部“翔計劃”,幫扶中小企業,百度此次還正式啟動了“企業英才計劃”,在年內免費幫助超過6萬家的企業培訓出專業的“百度認證營銷推廣師”,以緩解日益嚴峻的網絡營銷推廣人才需求問題。(來源:eNet硅谷動力)

第7篇

關鍵詞:計算機;軟件開發;編程語言

一、引言

對于計算機應用軟件的研究與開發來說,選擇一項合適的編程語言對其影響十分深遠,編程語言的適配度將決定計算機應用軟件的優質度。其中編程語言是一項十分復雜的工作程序,它既影響著計算機應用軟件的開發難度與開發效率,也影響著計算機應用軟件后期的維護難度與維護效率。現階段隨著計算機技術的不斷發展,編程語言也得到了大力研發,編程語言的種類也越來越多,每一種不同的編程語言都具有著其獨特的性質與作用。

二、結合相關計算機應用軟件的具體開發結構進行選擇

一般情況下,在進行計算機應用軟件的相關開發編程語言的選擇過程中,往往都是一個具體的計算機應用軟件對應一個固定的編程語言,但是在特殊情況之下,也會存在研究開發一個計算機應用軟件時同時選擇多個不同的編程語言的情況。出現這種現象的主要原因還是在于在一個具體的計算機應用軟件的開發過程中,該應用軟件的結構以及功能都會隨著區域和時間的變化而不斷發生變化,換言之,在一個應用軟件中的不同區域所需要的編譯效果也是不同的。因此,在進行計算機應用軟件開發中的編程語言的選擇過程中,一定要結合相關應用軟件的具體需求與實際結構變化選擇最合適的編程語言。除此之外,當一款計算機應用軟件在開發過程中選擇了一項或幾項最合適的編程語言之后,并不意味之該應用軟件在后期更新與維護過程中不會再選擇或者替換其他的編程語言,也許在該應用軟件開發的時候這幾項編程語言十分適合該軟件,但在兩年或者更久的時間之后這項編程語言就不一定會適合該應用軟件的更新與二次開發。因此,一個計算機應用軟件的編程語言并不是一成不變的,在為計算機應用軟件的開發選擇編程語言的時候一定要結合應用軟件的具體性質與結構變化進行實時選擇與實時更新。比如,為了最大限度地提高所選的編程語言對相關計算機應用軟件開發的適配度,相關軟件開發人員可以遵循以下方式進行具體的編程語言的選擇。首先技術人員需要對將要開發的應用軟件的整體結構進行總體的把握與設計,其中不僅包括該應用軟件所開發的主要功能以及屬性,還包括該應用軟件的延伸功能與后期維護等問題。其次軟件開發人員還要在進行應用軟件首次語言編寫的過程中就將應用軟件的所有功能以及延伸功能都充分挖掘出來,并結合應用軟件的功能需求選擇最佳的編程語言。比如相對于C語言與C++語言來說,JAVA語言更適合具有簡單功能需求的應用軟件開發,而C語言和C++語言則相對適合用于開發具有相對繁瑣功能的計算機應用軟件的開發。最后還要考慮所開發應用軟件的數據規模,并根據不同的數據規模來選擇合適的編程語言,比如如果是開發相對功能比較簡易的計算機應用軟件的話,則更加適合選擇ACCESS語言。通過整體結構把握與具體功能把握相結合的方式來選擇計算機應用軟件開發的編程語言,一方面既有利于提高相關計算機應用軟件的開發效率,另一方面也可以在一定程度上降低該應用軟件的后期維護難度。

三、根據對相關計算機軟件開發編程語言的熟悉程度進行選擇

對于很多計算機軟件開發人員來說,都希望能夠在每一次的計算機應用軟件的開發過程中進行勇敢的嘗試與創新,從而實現自己的職業理想與自我完善。但是在實際的計算機應用軟件開發項目中,尤其是對于非專業研究類的應用軟件開發項目來說,開發人員在選擇對應的編程語言的時候還是要盡量從自己知識范圍內的熟悉掌握的編程語言入手。這主要是因為在計算機應用軟件的開發過程總選擇熟悉的編程語言能夠在軟件開發初期就幫助開發人員計算與估量出大概的項目進度表。一方面可以有效避免在計算機應用軟件開發過程中出現其他的不必要的變數,使得整個項目完成得更加具有計劃性與體系性;另一方面也可以有效提高計算機應用軟件開發的效率與質量,最大限度地避免各種意外的發生概率。因此,軟件開發人員的技術儲備將決定一個計算機軟件開發中所選用的編程語言的適配范圍與選擇廣度,對于計算機應用軟件的開發與后期維護來說,當然是所選擇的編程語言范圍越廣,開發與后期維護的難度也就越低,效率也就越高。因此相應地軟件開發人員的自身知識與技能儲備在計算機應用軟件開發的編程語言選擇上就發揮出了至關重要的作用。只有不斷提高軟件開發人員的技能儲備,才可以確保在相關應用軟件開發編程語言的選擇過程中擁有更多的選擇,從而最大限度地避免在開發過程中可能會遇到的各種問題。比如,為了提高軟件開發人員對相關編程語言的熟悉程度與掌握程度,從而在計算機應用軟件開發時能夠擁有更多的編程語言可以選擇,相關計算機軟件開發公司要提高對相關軟件開發人員的技術儲備與知識儲備的考察強度與審核力度。首先針對于具有不同特長的軟件開發人員,即可以十分熟練地掌握幾項編程語言,但對于其他的編程語言都不太了解,這類技術人員其實已經十分優秀,但為了進一步提高與完善其綜合水平,公司相關部門可以就這部分技術人員開展互助小組活動。換言之,掌握不同編程語言的兩個或者三個技術人員可以結成學習對子或者學習小組,互相學習對方所熟練掌握的編程語言,從而切實達到互相進步的目的。其次還可以通過科普講座的方式,讓不同的軟件開發人員對于不同的編程語言都能夠有一個更加深入的了解,不斷豐富軟件開發人員的專業技能與綜合水平。通過這種方式,軟件開發人員所熟悉的編程語言將會得到一個質的提升,那么在進行計算機應用軟件開發編程語言的選擇時,也將會大大提高選擇的廣度與深度,有利于提升應用軟件的開發效率與開發質量。

四、綜合考慮不同編程語言的特性進行選擇

每一種不同的編程語言都有其存在的理由與價值,這而在相關計算機應用軟件開發中編程語言選擇的過程中,具體應用軟件編程語言的選擇則要充分考慮到不同的編程語言的特點與性質。當前階段比較常見的計算機應用軟件開發所用的編程語言主要有以下幾種,其中分別是C語言、C++語言、JAVA語言、ACCESS語言以及PESCAL語言等幾種。以上這幾種不同的編程語言都有著其獨特的使用優勢與適用范圍。其中應用最廣泛的是C語言,該編程語言是所有的計算機語言里最常用的一種,從開始出現截止到目前為止已經擁有四十幾年的應用歷史。而C語言最大的優勢就是擁有十分豐富的運算符、數據結構,但是語法卻十分簡潔且語法要求也相對較低,功能十分強大。除此之外,C語言還是一種兼容能力很強的編程語言,通過C語言編程開發的計算機應用軟件可以十分方便地移植到其他類型的計算機上。因此相關計算機軟件開發人員在進行應用軟件的編程過程中應該以提升工作完成質量為前提,以提升工作完成效率為目標,在結合實際應用軟件開發需求的基礎上,充分考慮不同編程語言的優勢與特色,從中選擇最合適的編程語言,選擇最規范的軟件開發程序,從而達到順利完成工作任務,提高工作效率的目的。比如,以C++語言為例,作為C語言的拓展與延伸,C++語言在匯聚了C語言的眾多優勢與特點的基礎上,又在應用軟件的編程過程中注入了新的編程思想與編程模式,可以更加貼近與滿足計算機應用軟件的開發需求。作為一種全新的編程語言與編程形式,C++編程語言也在計算機編程領域得到了廣泛的應用。結合C++語言的特色與優勢,軟件開發人員在計算機應用軟件開發的過程中就可以做出更加合適與科學的選擇。尤其是在大部分的計算機應用軟件的開發過程中,針對于具體的硬件資源的使用是十分有限的,而且在很多時候收到運行環境與開發平臺的限制,很多編程語言都無法實現很好的兼容,這時就完全可以選擇C++語言作為應用軟件的主要編程語言。C++語言可以在有限的外部環境與硬件資源條件下實現對環境與資源的最大化利用。

五、總結

綜上所述,計算機應用軟件的研究與開發是一項極其艱巨與復雜的工程,很多因素都會對其最終的研發效果與研發質量產生直接或間接的影響,其中編程語言的選擇對于這項工程的完成則發揮著至關重要的作用。因此,計算機軟件開發人員要不斷提高自身素養與技能水平,充分掌握各種編程語言的應有優勢與適用范圍,在結合具體的計算機應用軟件開發需求的基礎上,選擇最合適的編程語言,從而實現計算機應用軟件的高效率與高質量開發。

參考文獻

[1]王樹琴.計算機應用軟件開發中編程語言的選擇研究[J].軟件設計開發,2017(19):219.

第8篇

關鍵詞 極限編程技術;軟件開發;重要作用

中圖分類號:TP313

文獻標識碼:A

文章編號:1007-7316-(2014)02-

一、極限編程技術在軟件開發中能夠控制風險

在軟件開發的過程中,風險是不可避免的,這就會導致軟件開發進度受到影響,并且不利于保證軟件開發的正常進展。而借助于極限編程技術在軟件開發過程中的應用,可以控制風險,盡可能地確保軟件開發過程的正常進行。

(一)極限編程技術在軟件開發中能夠控制進度延遲的風險

極限編程技術的時間非常短暫,所以,這種技術對于進度延遲的現象是非常不容許的。在運用極限編程技術的過程中,最為首要的就是要開發出那些具備最高的應用性能的功能模塊,只有這樣,客戶才會發現軟件是能夠利用的,從而方便客戶的使用,不應該像傳統的軟件開發方法那樣僅僅提供文檔信息。與此同時,對于開發完成的軟件產品,一定要定期對客戶進行回訪,并且根據客戶的需求進行不斷地改進,從而能夠最大限度地迎合客戶的需求。

(二)極限編程技術在軟件開發中能夠控制項目被取消的風險

在利用極限編程技術來進行軟件開發的項目中,先開發出具備較高的應用性能的功能模塊以滿足客戶的需求,在這種情況下,如果項目被取消,那么,就不會像傳統的軟件開發方法那樣面臨巨大的損失,仍然有許多功能模塊是能夠利用的,從而能夠節約大量的軟件開發成本。

(三)極限編程技術在軟件開發中能夠控制不被客戶認可的風險

在利用極限編程技術來進行軟件開發的項目中,客戶也參與到軟件開發過程中來。在開發遇到問題的情況下,軟件開發人員會和客戶進行相互溝通,以便推動軟件開發過程的順利進行。

(四)極限編程技術在軟件開發中能夠控制缺陷率高的風險

在利用極限編程技術來進行軟件開發的項目中,可以借助于自動化測試和測試先行的編碼方式來最大限度地控制缺陷,一旦出現缺陷,客戶就能夠在最短的時間內察覺出來,從而能夠和軟件開發人員一起在最短的時間內進行處理。

二、極限編程技術在軟件開發中能夠提高質量

通常情況下,質量是由觀察者來進行決定的,而質量的具體內涵則是根據不同的風險承擔者而存在著差別的。在利用極限編程技術來進行軟件開發的項目中,極限編程技術能夠最大限度地保證所開發出的軟件產品的質量,它確保質量的質量指標有很多。表1列出了一些質量標準,并詳細說明了極限編程技術是如何確保質量的。

表1極限編程技術確保質量的質量指標

指標 描述 極限編程技術實踐

易用性 在最終用戶看來系統易于使用 現場客戶

可伸縮性 容量(用戶、數據量等)不斷增加時,系統仍能夠處理 測試

持續集成

可用性 用戶可以使用系統的時間百分比 簡單設計

重構

測試

可維護性 度量修復缺陷所需費用的指標 測試

集體擁有

編碼標準

結對編程

可支持性 在運行時,修補或升級系統的難易程度 簡單設計

測試

持續集成

功能性 系統的特性滿足客戶需求的程度 現場客戶

用戶故事

比喻

擴展性 在系統中添加新特性的難易程度 簡單設計

小型

持續集成

平均故障間隔 系統可靠性的度量指標——

兩次故障之間的平均時間

測試

集體擁有

編碼標準

結對編程

三、極限編程技術在軟件開發中能夠管理變化

在利用極限編程技術來進行軟件開發的項目中,能夠確保在軟件構建期間和需求收集期間對軟件項目進行修改的成本相同,能夠最大限度地節約成本。極限編程技術能夠實現修改成本的均勻化,這種技術沒有必要明確地指定需求。與此同時,軟件開發小組也沒有必要迫切地要求客戶看到未來可能的需求。極限編程技術來進行軟件開發就好比一次不能夠準確界定最終的目的地的旅行。倘若客戶能夠帶領軟件開發成員快速地提供業務價值,并且及時進行反饋,那么,整個軟件開發過程一定能夠非常順利地開展。

四、結束語

綜上所述,本文探索了極限編程技術。雖然極限編程技術已經被提出了十多年的時間了,然而,這種編程理念仍然是一種新興的軟件開發方法,值得相關領域的專家和學者繼續進行在不斷的探索和完善。希望通過本文的研究,能夠拋磚引玉,引起國內外專家學者對于極限編程技術領域的進一步的重視。

參考文獻:

[1] 賀亞茹. 極限編程(XP):概念、特點和應用[J]. 新西部(下半月), 2008,(12)

[2] 張鵬,唐發根,林廣艷. 軟件架構設計在XP方法中的實施[J]. 計算機工程與應用, 2003,(33) .

[3] 王曉華,趙明. XP過程對軟件缺陷影響分析[J]. 航天控制, 2008,(01) .

[4] 周立力. 極限編程的質量保證分析[J]. 計算機應用與軟件, 2010,(04) .

[5] 王曉華,趙明. 一種XP項目迭代周期估計方法[J]. 計算機應用, 2007,(05) .

[6] 林明泉,譚云蘭,鄧易偲,余友儒,劉粱軍. 基于極限編程的電子政務考評平臺的研究與開發[J]. 科技廣場, 2009,(05) .

[7] 廖瑞華,文海英,胡英. 極限編程(XP)方法及其應用[J]. 電腦知識與技術, 2009,(27) .

[8] Amr Elssamadisy,Gregory Schalliol. Recognizing and re-sponding toBad Smellin Extreme Programming[J] .ICSE‘02,May 19-25,2002. :617-622 .

第9篇

關鍵詞:AUTOCAD;VB;G代碼;數控車自動編程

數控加工自動編程軟件很多,一般CAD/CAM都有這樣的自動編程功能。如PRO/E、UG等軟件,結構龐大,軟件學習也復雜,并且價格也昂貴。假若僅僅用于數控車床的自動編程,就如同殺雞用牛刀,顯然很浪費。使用簡潔,操作方便,專門用于數控車床加工的小軟件想必有一定的存在必要。開發出一種能夠使數控車床編程變得更加簡單,更加智能的軟件對于個人來說也是一種挑戰。

參數化設計、三維運算內核的開發,對于個人來說是遙不可及的事情。個人開發設計一種圖形設計軟件也同樣不太現實。也只有借雞生蛋的方法,借用一種被廣泛使用的圖形設計軟件,獲取工件輪廓坐標,和線條特征,經過軟件進行編譯,最后得到需要的數控加工程序。

因此,此軟件的功能被確定為能夠獲取工件輪廓坐標,和線條特征,能夠進行數控程序編譯,同時為了能檢驗程序的正確性,最好還能夠有可視化的模擬功能。

AUTOCAD因其靈活性和接口的多樣性被廣泛的使用在機械設計領域。在其能生成的文件格式中有一個二進制文件,格式為DXF的文件。DXF文件中包含著AUTOCAD圖形文件中所有對象的信息,其中包含著輪廓線的線型和坐標信息。使用二維功能強大的AUTOCAD軟件繪制軸類零件的外輪廓顯然是一件非常容易的事情。于是本數控車床自動編程軟件的運行機理就如下圖所示。本軟件的開發工具使用VB,雙劃線部分為本軟件要實現的功能。

一、坐標的獲取

首先使用CAD軟件繪制軸類零件,在圖形文件中只包含工件的外輪廓線條,也就是數控車的精車所走的刀路,而其它無關線條對坐標的獲取產生干擾。典型的圖形如圖所示。圖1為工件的外型輪廓圖,圖2為編程所需要的單側輪廓線。所以在CAD中畫的圖為圖(2)。

將工件按照以上規則繪制后另存為AUTOCAD2000 DXF格式。可使用文本打開方式便能將其打開。我們可以在一系列的子類標記中可以找到子類標記ACDBLINE,在該子類下就隱含了該直線的坐標值。組碼10,20,30下分別為直線起點X、Y、Z坐標,組碼11、21、31下分別為直線終點X、Y、Z坐標。以同樣的方式我們可以找出子類標記ACDBARC,組碼10,20,30為圓弧中心坐標X、Y、Z,40為半徑,50為起始角,51為終止角。

根據以上的特點,在VB中建立工程,添加控件如下,并在控件下輸入相應的代碼。

使用 OpenFile NameForInput As#1代碼將二進制DXF文件逐行讀入。并和字符“ACDBLINE”和“CADBARC”進行對比,符合要求的分別提取組碼10,20,11,21,40,50,51下的數值通過數據庫操作代碼儲存在數據庫中。直線線名為LINE(n),圓弧線名為ARC(n)。

數控車床能接收直線的描述方式同DXF中的描述方式一樣均為起點坐標和終點坐標。但是圓弧卻不一樣,一般數控系統接收的方式是:圓弧起點坐標、終點坐標和半徑以及通過G2、G3來區別圓弧的方向。而在DXF文件中是以圓心、半徑、起始角,終止角的方式。兩者不一直,所以在編譯時必須對DXF中圓弧坐標的表述進行處理,換算成數控車能接受的:圓弧起點坐標、終點坐標和半徑。并且通過起始角和終止角的所在坐標象限位置來判斷圓弧方向,以決定是使用G02還是G03代碼。

將圓分成4等分,0到90度以及90到180度為G03代碼,180度到270度以及270到360度為G02代碼。下面以在0度到90度的范圍內圓弧起始點x,y坐標為例,計算方法如下:

sx----圓弧起點x坐標;sy----圓弧起點y坐標;sjiao----起始角度;banjin-----半徑;xinx----圓心x坐標;xiny----圓心y坐標。

使用以上的程序代碼可以獲得A點坐標,同樣的方法可以獲得B點的坐標。

二、數據的排列

通過轉換好的數據重新輸入數據庫。但是仔細發現數據庫是數值排列比較凌亂,假若直接取出并不能用于生成G代碼。所以要對里面的數據按照一定的要求進行重新的排列。作為刀路的起點選擇也是有一定的規則的,必須選擇為圖形最右上角的點,是X,Y值為所有點中值最大的。對數據庫進行搜索獲取XY值最大的作為刀路的起始點。如下圖假若獲得起點SX1,SY1為起點,那么很自然下一點坐標為(ex1,ey1)。但是第二條直線的起點是多少呢?要根據坐標(ex1,ey1)對數據庫進行搜索對比,找到相對應的值。然后以同直線或圓弧的另一點做為該線的終點。以此方法類推就能產生一條完整的刀路。排列后的坐標重新輸入數據庫。

三、G代碼的生成

得到正確的數據庫后,必須對數據進行編譯,生成G代碼。要注意CAD圖中的XY坐標同車床坐標系的區別。

線名為LINE的坐標生成G代碼的格式為 G01Xey1 Zex1

線名為ARC和根據起始角、終止角大小把坐標生成G代碼的格式為

G02Xey1 Zex1 Rr或 G03Xey1 Zex1 Rr

并將所得到的G代碼程序傳遞到容器控件LIST中。

完整的G代碼程序還需要頭程序段和結尾程序,通過軟件界面左邊的文本框控件的輸入,和復選框控件的選擇,可以得到頭程序段和結尾程序,例如:N00001;G50 X100 Z100;S800 M03 T101;和結尾程序G0 X100 Z100;M30。

將頭程序段插入進LIST控件中的最前面,將結尾程序插入進LIST控件中的最后面。和原先的刀路G代碼相組合,得到完整的數控加工程序。

四、程序的驗證和保存

為了驗證程序是否正確需要對LIST中的G代碼進行模擬。從LIST中提取坐標使用VB中的畫直線畫圓功能在指定的區域內畫出刀具運行軌跡,通過軌跡的運行曲線同工件的外輪廓相比較,來判斷刀路是否正確。

在軟件的最后使用OpenFile NameForoutput As#1將LIST容器中所有的字符輸入到給定文件名的文本文件中保存。整個軟件完成后如下圖所示。

第10篇

數控自動編程的軟件很多,一般的CAD都有這樣的自動編程功能,例如現在PRO-E、MASTERCAM、UG、solidworks等軟件都有這樣的自動編程功能,他們的結構龐大,軟件的學習上也很復雜,并且在價格上也很昂貴。假如僅僅用于數控車床的自動編程上,真是大材小用了,很是浪費。使用簡潔,操作方便,專用于數控車床加工的小軟件,這樣的軟件專業性和專一性很強。既節省人力又節省物力。而AutoCAD因其靈活性和接口的多樣性被廣泛的使用在機械設計領域中。在其能夠生成的文件格式中有一個二進制的文件,文件中包含著輪廓線的線型和坐標的信息。使用二維功能強大的AutoCAD軟件繪制軸承類的零件的外輪廓顯然是一件非常容易的事情。

Auto CAD作為一個完整的繪圖編輯器,可以獨立使用,并可完成用戶的很多設計工作,但要完成零部件從設計到制造的全過程的工作,仍然力不從心,如零件設計完后要做有限元分析,要制定工藝規程,要生成NC代碼,這些工作AutoCAD都不能勝任,這些必須借助其他應用軟件,而所用的軟件都在不同程度上要求得到Auto CAD的圖形信息支持,因此需要Auto CAD提供一個便于外界接受的文件格式輸出圖形信息。另外,用戶在設計過程中還會根據工作的需要開發一些自己的應用程序,以便做計算、分析或其它之用,處理后的數據希望傳給AutoCAD,用于自動生成圖形,這時用戶傳遞這些數據最好的辦法就是寫成Auto CAD可直接接受的數據文件,為了解決AutoCAD和其他程序間圖形數據的交換問題,定義了圖形交換文件規范。

一個完整的自動編程系統,必須包括前處理程序(Maln Processorl和后置處理程序(Post Processor)兩部分。

一、前處理程序設計

前處理程序用以對源程序進行翻譯并計算刀具中心軌跡,或通過處理圖形數據文件而得到刀具中心軌跡,這一部分完全獨立于具體的數控機床,前處理程序的輸出一般為刀位數據(Cut Loca―tion Datal,但這種刀位數據不能直接用作數控裝置的控制指令,因此必須要有一個后置處理模塊,后置處理程序是自動編程系統中的一個重要組成部分,它是按數控機床的功能及數控加工程序格式的要求而編寫的一個計算程序。它將主處理程序產生的位置數據和功能信息轉換成能被某種數控機床控制單元所需要的數控加工程序代碼,以便用于控制機床并產生各種加工功能和加工運動。由于各種數控機床的輸人格式各不相同,因而為了適應各種機床的不同要求,后置處理程序也是各不一樣的。

二、后處理程序設計

后置處理的目的是形成數控指令文件。由于各種機床使用的控制系統不同,所以所用的數控指令文件的代碼及格式也有所不同。為解決這個問題,每個自動編程軟件通常有自己專用的后置處理程序。

本系統采用的數控機床的指令有以下幾種:

1.坐標功能指令:x,z,I,K。

2.準備功能指令:G00一快速進給;G01一直線插補;G02一順時針方向圓弧插補:G03一逆時針方向圓弧擂補;G33一等螺距螺紋加32;G54一坐標設定指令。

3.速度功能指令:主軸轉速S;進給速度F。

4.換刀功能指令:刀號選擇T01-T04。

5.刀具補償指令:G41-在工件輪廓左邊刀補有效;G42-在工件輪廓右邊刀補。

6.輔助功能指令:M02一程序結束;M03一主軸正轉;M04一主軸反轉:M05一主軸停止。

在生成數控程序時,首先打開前面生成的刀具中心軌跡文件,從最外層向內逐層生成加工程序,在把刀具中心軌跡文件的數據轉化為數控程序時,逐行讀人數據,根據線形確定所采用的刀具以及相應的G指令,并把坐標值X,Z,I,K賦給對應的變量。再根據所輸入的主軸轉速和進給量,使所有的數據轉換成字符串,然后與字母G,T,S,F,X,Z,I,K組合成數控指令。最后加上程序號和必要的M指令組成程序段,在每一層切削完成后或換刀時,添加一個必要的程序段使刀具回到換刀位置,在程序結束時加上輔助指令M0 2以表示程序結束,最后將程序以文件的形式存盤。

第11篇

關鍵詞:編程語言;選擇;軟件開發

中圖分類號:TP311.52

1 當前軟件開發主流編程語言

1.1 C語言

C語言可以將高級語言的基本結構和語句同低級語言很好的結合在一起,因此C語言扮演了一種介于高級語言和匯編語言之間的角色,也又可以稱之為中級語言。C語言設計之初主要用于UNIX的系統開發與編程,后來逐漸發展壯大,在近25年來廣泛用于系統與應用軟件的開發。C語言具有以下特點:(1)結構化語言。C語言屬于結構化語言,用C語言進行開發的程序除了必要的信息交流其各個部分彼此獨立。這種特性可使程序層次清晰,方便編程人員后期對程序進行調試和維護。(2)表達多樣操作方便。由于C語言一共只包含40個關鍵字和9種控制語句,因此程序簡潔緊湊,書寫形式自由。同時其包含的運算符和數據類型豐富,表達類型多樣程序效率較高。此外其語法限制少,并且可以進行和匯編語言相似的對位、字節和地址操作,十分方便。(3)適用范圍廣。C語言具有非常強的移植性,即可變換版本適合于如Windows、linux、DOS、UNIX等在內的多種操作系統,同時也適用于多種機型。[1]

但其也有其自身的缺點C語言的缺點比如其數據的封裝性,使其數據的安全性有很大缺陷,這也是其與下文將介紹的C++語言相比的一大不同之處。此外由于C語言的語法限制少,變量的類型約束少,其數據下標越界不作檢查,因此其程序安全性會受到相應影響,因此C語言對程序員的水平要求更高。

1.2 C++語言

如上文所述,C語言由于數據封裝性的原因導致其安全性降低。因此1986年,AT&T貝爾實驗室開發出了一種新的編程語言即C++語言,該語言通過數據封裝來減少由程序變量帶來的不利影響,提升程序安全性。此外,由于C語言結構化的特點,因此其難以應對大規模任務。因此 C++語言在C語言的基礎上加入了對象的概念,因此C++語言具有很多C語言不具備的面向對象的語言特征,前面提到的封裝性便是其中之一,此外還有繼承性和多態性等特點。這些面向對象新思想使C++語言可以很好地應對編程中對大規模任務的需求。

1.3 Java語言

由于近年來互聯網技術的成熟,使軟件開發模式由無網絡的單機模式逐步向網絡模式轉變。C語言和C++語言在網絡模式下的軟件開發過程中便遇到很多的問題。此時Java語言就很好的顯現出了其對于網絡模式下編程的優勢。Java語言完全面向對象,相對于C++語言更加簡單,并且Java語言依靠其分布式語言的特點可以廣泛應用到分布式的網絡程序的開發之中。除了這些優勢,Java的安全性比較高,因此,網絡模式下Java語言不失為一個好選擇。[2]

1.4 Visual Basic以及Access

當前數據庫管理在計算機應用中占有重要的地位。因此數據庫語言十分重要。當前的主流語言為SQL語言。VB語言便在很好支持數據庫的前提下內置了SQL語言,這一特點讓使VB語言可以更簡單的訪問數據庫和VC++相比。

Access語言和Oracle以及SQLServer相似,一種功能強大的針對小型數據庫的語言。此外,Access還可以利用其工具VBA和VB語言形成緊密聯系。

1.5 其他語言

除了上文所介紹的幾大主流語言外,編程領域還有很多比較小眾的語言。雖然目前看來其應用范圍不如幾大主流語言廣泛,但是在當前軟件開發環境下這些小眾的編程語言凸顯越來越重要的份額,比如:Python、Ruby、JavaScript、MATLAB、R、CUDA以及Erlang等。合理的編程語言選擇可以幫助軟件開發商降低軟件開發的成本,篇幅所限,小眾語言不再具體介紹,以下將分析如何合理選擇編程語言。

2 如何合理選擇編程語言

2.1考慮整體架構

進行軟件開發時,程序員需要做的第一步即是對項目的整體架構進行充分考慮,此后根據項目的整體結構決定選用何種語言進行編程。有時并不是一定要用同一種語言對整個項目進行編程,而是要根據項目各個部分的功能合理選擇最合適的語言。此外對項目進行整體架構時需要對項目組件的分解和連接進行充分考慮,因為不同語言的選擇和其有直接緊密的聯系。

2.2 選擇熟悉的語言

對于軟件開發來說,時間緊任務中是所有程序員的工作特點。節省時間對于程序員開發軟件來說意義重大,因此必須在不影響軟件質量的范圍內必須盡量選擇熟練的語言。因為熟悉的語言對程序員來說可以更好的預測軟件完工時間,同時編程出問題時熟悉的語言也可節省程序員的調試時間。

2.3 考慮硬件環境

硬件環境是軟件開發的基礎,適應硬件環境是所有軟件編程的目標,當硬件環境受限時會大大影響編程語言的開發效果。因此硬件環境是軟件開發過程中合理選擇編程語言需要考慮的一個重中之重。此外,硬件設備存在更新問題,有時編程語言僅僅適應目前版本下的硬件環境,一旦硬件設備更新軟件便因為不匹配問題不可繼續使用。因此在進行程序開發之前要全面考慮硬件環境問題,合理選擇適應硬件環境的編程語言,以保證程序可實現應對硬件環境更新后的快速調整,實現程序的長時間良好運行。

2.4 考慮程序支持平臺

一個程序能否良好運行,除了以上所提的整體架構,語言是否熟悉和硬件環境外,還需需重點考慮的便是其支持平臺。不同的支持平臺決定著程序語言選擇的不同。例如實現同樣搜索功能的程序在word軟件里和網頁瀏覽器里運行時便需要考慮其不同的支持平臺選擇不同的編程語言。平臺是編程的大環境,同必須適應硬件環境一樣,所有編程也必須適應平臺。

2.5 編程語言選擇時一些其它的考慮因素

開發一些程序過程中例如定義文件格式和協議相關工作時需要進行大量的位操作。而大量的位操作有時對軟件開發來說會形成一定困難,因此在考慮選擇編程語言時必須考慮是否可以避開大量的位操作。如果必須進行大量位操作,那就應該選擇可以提供合適數據類型并且容易進行位操作的編程語言。此外,在一些特殊領域進行編程的程序員應對特殊領域進行針對性的充分考慮,考慮是否可以用專業的編程語言代替一般的編程語言。因為專業的編程語言具有很強的針對性,使用專業編程語言不僅可以節省大量工作時間和工作量提高工作效率,也可以避免編程過程中出現較大失誤。

3 結束語

綜上可知,編程語言的選擇對于軟件開發來說具有至關重要的作用,對于程序員而言,熟練掌握每種編程語言的優點和缺點、適用范圍是必不可少的技能,同時,合理選擇編程語言可以使軟件開發工作順利開展,事半功倍。因此,對編程人員來說,需要及時補充新知識,隨時學習,不斷加強對各種編程語言的了解和掌握,同時提升合理選擇編程語言的能力,以便更好的開發軟件。

參考文獻:

[1]馬潔.計算機應用軟件開發中選擇的編程語言[J].電腦知識與技術,2013(08):1996-1997.

[2]羅瓊,李艷,熊英.不同編程語言對計算機應用軟件開發的影響[J].軟件開發與設計,2013(12):19-20.

第12篇

關鍵詞:單片機;流程圖;編程

中圖分類號: TP319

Software Development of Single Chip Computer based on Flow Chart Programming

CHEN Ruisen

(Department of Information, Xiamen Ocean Vocational College, Xiamen Fujian 361012,China)

Abstract: According to the characteristics that the independent design ability of students is weak in learning SCM, a software of SCM based on flow chart programming is developed. The system uses visualization modules, and the method of top-down is used in the design of flow chart. In this system, when the design of the flow chart is completed, the corresponding program has been written. This method is visual, and easy to understand, the programmers can focus on the logical relationship, and thus play a greater creativity.

Key words:Single Chip Computer; Flow Chart; Programming

0引 言

“單片機”是一門理論性和應用性都較強的課程,也是相關專業的核心課程。該課程偏重于工程思維,其任務是利用單片機技術和各種芯片,設計實用的電路系統,編寫相關的應用程序。現今常用的單片機編程語言主要有C51等,編程時需要輸入復雜的程序代碼,編寫的程序還需要符合特定的語法規定,這往往增加了編程難度,是學生學習單片機的難點之一。針對單片機教學中“強化實踐,重在應用”的辦學方針,本文設計了一款基于流程圖編程的單片機軟件開發系統。該系統采用EDA中“自頂向下”[1]的設計方法設計程序流程圖,程序流程圖由基本編程模塊連接而成。流程圖設計完畢,程序相應編寫完成,該方法有利于重點關注尋求解決問題的方法,從而開發出更富有創造性的產品[2]。

1 系統工作原理

單片機中的程序流程圖用于描述程序內部各種問題的解決方法、思路或算法,常使用各種圖形、符號、有向線段等來表示程序設計的過程。一般情況下,根據要完成的程序功能寫出總流程圖,基于總流程圖即將整個程序劃分成幾個主要的功能模塊,再針對每個功能模塊繪制基本流程圖。流程圖中使用的各種形態符號只表示某種處理的描述并沒有實際編程意義,主要是為程序編寫發揮導引性作用。系統對流程圖的圖形和符號等進行了相應的改造和簡化,系統中的流程圖只包括兩部分:

(1) 表示相應操作的框(模塊)

系統設計了很多模塊庫,比如顯示模塊庫,判斷模塊庫,傳感器模塊庫等。每個模塊庫又包含很多子模塊,如判斷模塊庫包含次數循環模塊,永循環模塊,條件循環模塊,條件判斷循環模塊等,模塊組織結構如圖1所示。模塊類似于Matlab軟件中各種工具箱的仿真模塊,每個模塊均相當于一個子函數,在流程圖中添加一個模塊即相當于調用一個子函數。各個模塊提供一些屬性以供需要時進行設置,設置后將改變模塊的功能,圖2為延時子模塊的屬性設置框及相應的子函數,只要在屬性設置框中輸入不同的數字,就可以得到不同的延時時間。系統中的模塊庫是一個開放庫,可以隨時增加。

void delayms(uchar t)

{ uchar x,y;

for(x=t;x>0;x--)

for(y=110;y>0;y--);

}

(2)帶箭頭的線(指定程序的執行順序)

系統中的模塊暫時只用C51來編寫。由于C51中的變量分為局部變量和全局變量,這將有利于模塊的獨立性。用于進行模塊之間傳遞參數的變量為全局變量,各個模塊內部用到的變量則全部利用局部變量,如此模塊變量就不會相互影響。系統還提供了一個全局變量模塊,在該模塊中可以定義一些全局變量。系統中每一個模塊都可以完成一定的功能。只要依循清晰的思路連接這些模塊,就可以很快地完成一個程序的代碼。

2 流程圖到C51源程序的實時轉換

為了得到可編譯下載的程序,系統可以將流程圖自動轉換為C51源程序,類似于plc中的梯形圖和指令表的自動轉換[3-4]。編程人員可以直接對源程序進行修改,作為流程圖編程的補充手段。下面具體介紹程序流程圖實時轉換成C51源程序的原理。

系統構造的是由順序、分支和循環三種基本控制結構通過各種復雜的組合、嵌套關系而組成的結構化程序流程圖,其中的基本單元是已經獨立開發的、相當于一個子函數的各種模塊。流程圖轉換的對象C51程序基本是一個函數的集合(包括一個main主函數和各種子函數),因而和程序流程圖的對應關系是較為明顯的。系統為了簡化軟件轉換的復雜度,采用了一種實時轉化方法,即在流程圖中每添加一個模塊就相應的在C51源程序中添加該模塊的對應子函數。流程圖中的主程序對應于main函數,全局變量模塊對應于主函數前的變量定義,各個模塊對應于主函數前的一個函數聲明以及主函數中的一個子函數調用,系統的轉換關鍵點則在于各個子函數的相應嵌套關系。順序結構中的模塊,在程序流程圖中每加入一個模塊,就按順序添加一個子函數調用;對于分支、循環模塊,當用戶從模塊庫中拖動一個模塊到軟件設計區時,軟件將判斷該模塊是連接于分支、還是循環模塊的區域內或區域外,圖3(a)表示模塊處于分支的區域內,圖3(b)表示模塊處于循環模塊的區域內,圖4(a) 表示模塊處于分支的區域外,圖4(b)表示模塊處于循環模塊的區域外。在分支結構中,連接于分支模塊區域內的模塊,其子函數調用則處于分支函數內,反之即處于分支函數外。分支模塊為每個分支建立一個分支子函數,由分支子函數再調用下級各個小模塊的子函數,即分支函數調用分支子函數,分支子函數調用下一級子函數。循環模塊的函數調用與分支模塊類似。利用以上方法可以實時地將相應的程序流程圖轉換為C51源程序。現在,本軟件系統只能轉換利用系統提供的模塊構造的程序流程圖。

3 系統測試

在完成了系統的初步構建后,對系統進行了測試,文中構建了一張控制8個LED燈閃爍四次的程序流程圖,如圖5(a)所示,圖5(b)、(c)分別為循環模塊和發送模塊的屬性設計框, 在完成了相應的程序流程圖并轉換為對應的程序代碼后,可通過keil軟件進行編譯并下載到proteus軟件中的LED燈電路圖進行測試,測試結果表明程序的正確性,圖6分別為LED滅和亮的情況。

4結束語

本文構建的基于流程圖編程的單片機軟件開發系統是一個開放性的系統,其中的流程圖模塊可以隨著開發的深入而加以豐富,同時軟件的功能也可進一步增強。雖然經過初步的開發,軟件具有一定的實用性,但是開發復雜功能的流程圖時,軟件自動生成的程序代碼的準確性還有待進一步提高,這也是下一步研究工作的重點。

參考文獻:

[1]徐獻靈.EDA技術在現代電子設計中的應用[J].現代電子技術,2003(17):103-105.

[2] 程向前.基于流程圖的可視化程序設計環境對大學計算機基礎教學的影響[J].計算機教育,2012(14):56-59.

[3]鐘志超,張志勝,戴敏等.流程圖與類C語言實時轉換方法[J].東南大學學報,2009, 39(3):502-506.

主站蜘蛛池模板: 望都县| 成安县| 临沭县| 苏州市| 麻栗坡县| 崇礼县| 德安县| 西华县| 太白县| 巴彦县| 杨浦区| 兰考县| 远安县| 伊川县| 泌阳县| 秀山| 湘乡市| 平果县| 南昌市| 盱眙县| 怀集县| 图木舒克市| 镇远县| 平度市| 廉江市| 湘潭市| 项城市| 怀仁县| 颍上县| 固阳县| 上杭县| 石河子市| 西乡县| 封丘县| 射洪县| 张掖市| 彭山县| 镇赉县| 德兴市| 桓仁| 惠来县|