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

0
首頁 精品范文 編程軟件

編程軟件

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

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

編程軟件

第1篇

關(guān)鍵詞 軟件;編程實現(xiàn);風(fēng)險;規(guī)避

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

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

1 編程軟件中存在的風(fēng)險概述

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

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

2 軟件開發(fā)風(fēng)險規(guī)避步驟分析

在軟件開發(fā)過程中進行風(fēng)險規(guī)避主要通過風(fēng)險識別、風(fēng)險分析以及風(fēng)險監(jiān)控三個步驟完成。

2.1 風(fēng)險識別

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

風(fēng)險識別就是利用系統(tǒng)化分析方法對軟件開發(fā)項目中影響比重大、發(fā)生概率高等風(fēng)險進行確定,然后依照相關(guān)的風(fēng)險管理經(jīng)驗對風(fēng)險的來源、等級、內(nèi)容等進行分類,便于后續(xù)處理。

2.2 風(fēng)險分析

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

2.3 風(fēng)險監(jiān)控

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

3 編程軟件風(fēng)險規(guī)避策略

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

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

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

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

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

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

參考文獻

[1]黃石磊.淺談軟件編程的風(fēng)險規(guī)避[J].科技創(chuàng)新導(dǎo)報,2010(4).

第2篇

1組織方式

實際上,上述選題機制是將分散的畢業(yè)設(shè)計引導(dǎo)形成基于團隊的角色學(xué)習(xí)環(huán)境,學(xué)生在教師的統(tǒng)一帶領(lǐng)下,對項目進行設(shè)計并劃分模塊,獨立負責(zé)不同模塊的開發(fā),并且在教師的指導(dǎo)下,充分體驗不同模塊之間的溝通和集成問題,使學(xué)生能夠貼近企業(yè)項目開發(fā)的實際情境,體會到實際項目身臨其境的感覺,從而提高畢業(yè)設(shè)計對于畢業(yè)生的鍛煉價值和質(zhì)量。

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

2管理方式

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

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

3考核方式

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

典型過程及相關(guān)支撐工具

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

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

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

結(jié)語

第3篇

【關(guān)鍵詞】C語言 計算機 軟件編程

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

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

1.1 熟練掌握指針運用方法

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

1.2 明確C語言特有函數(shù)功能

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

1.3 掌握算法程序設(shè)計技巧

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

1.4 掌握位運算及文件知識

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

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

2.1 混合軟件編程方法

隨著科學(xué)技術(shù)的快速發(fā)展,需要加大對語言混合編程技巧的應(yīng)用,對提升系統(tǒng)編程開發(fā)效率具有重要作用。在對混合軟件編程方法進行研究時,主要包括以下兩方面研究內(nèi)容:

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

Main( )

{asm{

mov ah,2

mov bh,5

int 10h

}

}

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

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

2.2 混合軟件編程實例分析

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

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

#include

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

Main()

{

int min;

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

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

}

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

3 結(jié)論

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

參考文獻

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

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

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

第4篇

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

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

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

二、MasterCAM軟件數(shù)控編程一般過程

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

1.零件加工工藝分析

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

2.CAD幾何造型

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

3.刀位軌跡生成

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

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

(2)編程零點的確定。

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

(3)刀位軌跡的生成。

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

4.CAM仿真

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

5.生成最終加工代碼

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

第5篇

關(guān)鍵詞:軟件設(shè)計;面向切面編程;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)。是通過預(yù)編譯方式、代碼級擴展或運行期動態(tài)實現(xiàn)在不修改源代碼的情況下給程序動態(tài)統(tǒng)一添加功能的一種技術(shù)。利用AOP可以對業(yè)務(wù)邏輯的各個部分進行橫向隔離,從而使得業(yè)務(wù)邏輯各部分之間的耦合度降低,提高程序的可重用性。

1面向切面編程方式的產(chǎn)生

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

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

2面向切面編程的實現(xiàn)方式

2.1提取橫向切面

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

2.2確定切面關(guān)注點

業(yè)務(wù)邏輯中需要調(diào)用切面邏輯的地方即為切面關(guān)注點。此步驟可以根據(jù)業(yè)務(wù)需求確定使用切面邏輯的相關(guān)點。

2.3對切面及其關(guān)注點進行代碼編織

定義切面邏輯在切面關(guān)注點得位置運行。

3面向切面編程的實際應(yīng)用

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

//服務(wù)層的業(yè)務(wù)實現(xiàn)類

public class Service {

public void updateUserInfo(User user){

//業(yè)務(wù)邏輯代碼實現(xiàn),此處省略

//添加日志

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

public void setUserDisable(int userId){

//業(yè)務(wù)邏輯代碼實現(xiàn),此處省略

//添加日志

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

Service使用

下面使用AOP對此進行重構(gòu):

1)提取日志切面

切面類

public class LogAspect{

//日志記錄方式

public static void Log(string methodName){

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

2)切面關(guān)注點

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

3)對切面及其關(guān)注點進行編織

這里使用java內(nèi)置的動態(tài)的方式來實現(xiàn)代碼編織

//為Service類實現(xiàn)動態(tài)類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 ;

//調(diào)用原始對象的方法

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

//調(diào)用日志切面功能,組裝到Service類的每個函數(shù)調(diào)用后

LogAspect. Log (method.toString());

return result ;

}}

4)執(zhí)行調(diào)用方法

初始化關(guān)注點對象

Service service = new Service ();

InvocationHandler handler = new ServiceHandler (service);

Service proxy = (service) Proxy.newProxyInstance(

service.getClass().getClassLoader(),

service.getClass().getInterfaces(),

handler);

具體調(diào)用

proxy.省略平臺還沒有權(quán)威的框架支持,也于.net從語言級別不支持動態(tài)有關(guān)。

5結(jié)束語

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

參考文獻:

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

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

第6篇

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

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

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

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

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

第7篇

關(guān)鍵詞:計算機;軟件開發(fā);編程語言

一、引言

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

二、結(jié)合相關(guān)計算機應(yīng)用軟件的具體開發(fā)結(jié)構(gòu)進行選擇

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

三、根據(jù)對相關(guān)計算機軟件開發(fā)編程語言的熟悉程度進行選擇

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

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

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

五、總結(jié)

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

參考文獻

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

第8篇

關(guān)鍵詞 極限編程技術(shù);軟件開發(fā);重要作用

中圖分類號:TP313

文獻標識碼:A

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

一、極限編程技術(shù)在軟件開發(fā)中能夠控制風(fēng)險

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

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

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

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

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

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

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

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

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

二、極限編程技術(shù)在軟件開發(fā)中能夠提高質(zhì)量

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

表1極限編程技術(shù)確保質(zhì)量的質(zhì)量指標

指標 描述 極限編程技術(shù)實踐

易用性 在最終用戶看來系統(tǒng)易于使用 現(xiàn)場客戶

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

持續(xù)集成

可用性 用戶可以使用系統(tǒng)的時間百分比 簡單設(shè)計

重構(gòu)

測試

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

集體擁有

編碼標準

結(jié)對編程

可支持性 在運行時,修補或升級系統(tǒng)的難易程度 簡單設(shè)計

測試

持續(xù)集成

功能性 系統(tǒng)的特性滿足客戶需求的程度 現(xiàn)場客戶

用戶故事

比喻

擴展性 在系統(tǒng)中添加新特性的難易程度 簡單設(shè)計

小型

持續(xù)集成

平均故障間隔 系統(tǒng)可靠性的度量指標——

兩次故障之間的平均時間

測試

集體擁有

編碼標準

結(jié)對編程

三、極限編程技術(shù)在軟件開發(fā)中能夠管理變化

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

四、結(jié)束語

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

參考文獻:

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

[2] 張鵬,唐發(fā)根,林廣艷. 軟件架構(gòu)設(shè)計在XP方法中的實施[J]. 計算機工程與應(yīng)用, 2003,(33) .

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

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

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

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

[7] 廖瑞華,文海英,胡英. 極限編程(XP)方法及其應(yīng)用[J]. 電腦知識與技術(shù), 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篇

關(guān)鍵詞:AUTOCAD;VB;G代碼;數(shù)控車自動編程

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

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

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

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

一、坐標的獲取

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

將工件按照以上規(guī)則繪制后另存為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為終止角。

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

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

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

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

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

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

二、數(shù)據(jù)的排列

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

三、G代碼的生成

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

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

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

G02Xey1 Zex1 Rr或 G03Xey1 Zex1 Rr

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

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

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

四、程序的驗證和保存

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

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

第10篇

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

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

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

一、前處理程序設(shè)計

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

二、后處理程序設(shè)計

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

本系統(tǒng)采用的數(shù)控機床的指令有以下幾種:

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

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

3.速度功能指令:主軸轉(zhuǎn)速S;進給速度F。

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

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

6.輔助功能指令:M02一程序結(jié)束;M03一主軸正轉(zhuǎn);M04一主軸反轉(zhuǎn):M05一主軸停止。

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

第11篇

關(guān)鍵詞:編程語言;選擇;軟件開發(fā)

中圖分類號:TP311.52

1 當(dāng)前軟件開發(fā)主流編程語言

1.1 C語言

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

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

1.2 C++語言

如上文所述,C語言由于數(shù)據(jù)封裝性的原因?qū)е缕浒踩越档汀R虼?986年,AT&T貝爾實驗室開發(fā)出了一種新的編程語言即C++語言,該語言通過數(shù)據(jù)封裝來減少由程序變量帶來的不利影響,提升程序安全性。此外,由于C語言結(jié)構(gòu)化的特點,因此其難以應(yīng)對大規(guī)模任務(wù)。因此 C++語言在C語言的基礎(chǔ)上加入了對象的概念,因此C++語言具有很多C語言不具備的面向?qū)ο蟮恼Z言特征,前面提到的封裝性便是其中之一,此外還有繼承性和多態(tài)性等特點。這些面向?qū)ο笮滤枷胧笴++語言可以很好地應(yīng)對編程中對大規(guī)模任務(wù)的需求。

1.3 Java語言

由于近年來互聯(lián)網(wǎng)技術(shù)的成熟,使軟件開發(fā)模式由無網(wǎng)絡(luò)的單機模式逐步向網(wǎng)絡(luò)模式轉(zhuǎn)變。C語言和C++語言在網(wǎng)絡(luò)模式下的軟件開發(fā)過程中便遇到很多的問題。此時Java語言就很好的顯現(xiàn)出了其對于網(wǎng)絡(luò)模式下編程的優(yōu)勢。Java語言完全面向?qū)ο螅鄬τ贑++語言更加簡單,并且Java語言依靠其分布式語言的特點可以廣泛應(yīng)用到分布式的網(wǎng)絡(luò)程序的開發(fā)之中。除了這些優(yōu)勢,Java的安全性比較高,因此,網(wǎng)絡(luò)模式下Java語言不失為一個好選擇。[2]

1.4 Visual Basic以及Access

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

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

1.5 其他語言

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

2 如何合理選擇編程語言

2.1考慮整體架構(gòu)

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

2.2 選擇熟悉的語言

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

2.3 考慮硬件環(huán)境

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

2.4 考慮程序支持平臺

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

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

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

3 結(jié)束語

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

參考文獻:

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

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

第12篇

關(guān)鍵詞:單片機;流程圖;編程

中圖分類號: 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引 言

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

1 系統(tǒng)工作原理

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

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

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

void delayms(uchar t)

{ uchar x,y;

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

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

}

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

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

2 流程圖到C51源程序的實時轉(zhuǎn)換

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

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

3 系統(tǒng)測試

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

4結(jié)束語

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

參考文獻:

[1]徐獻靈.EDA技術(shù)在現(xiàn)代電子設(shè)計中的應(yīng)用[J].現(xiàn)代電子技術(shù),2003(17):103-105.

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

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

主站蜘蛛池模板: 昔阳县| 南丹县| 江源县| 舒城县| 霍邱县| 龙门县| 琼海市| 六盘水市| 定襄县| 平邑县| 陇南市| 余干县| 留坝县| 朔州市| 泗洪县| 五华县| 齐河县| 凤台县| 云梦县| 云龙县| 阳泉市| 浮山县| 金昌市| 陵水| 灵丘县| 中阳县| 卢湾区| 永嘉县| 汪清县| 霍林郭勒市| 星座| 巨鹿县| 观塘区| 新竹县| 屯门区| 成都市| 无棣县| 芦溪县| 敦化市| 油尖旺区| 九寨沟县|