軟件設(shè)計與開發(fā)范文
時間:2023-05-04 13:09:13
導(dǎo)語:如何才能寫好一篇軟件設(shè)計與開發(fā),這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。
篇1
關(guān)鍵詞:管理信息、綜合測評、VB
中圖分類號:G642.0 文獻標(biāo)志碼:A 文章編號:1674-9324(2016)45-0262-02
一、引言
隨著素質(zhì)教育的不斷深入,學(xué)生綜合素質(zhì)評價也成為了人才評價的一個標(biāo)準(zhǔn),很多學(xué)校每年都要對學(xué)生進行綜合測評,綜合測評的計算量很大,而且由每個學(xué)生自己填表,再交給班委進行審核計算,打印,簽字,存檔,整個過程很繁瑣,往往花了很大的力氣還會出現(xiàn)一些問題,如統(tǒng)計失誤、人為計算失誤等。另外作為獎助學(xué)金評定的依據(jù)――學(xué)生綜合測評分是否能夠及時、準(zhǔn)確、公平的算出來關(guān)系十分重大,所以急需一個計算簡便,容易操作的軟件來代替人為的手工計算,提高計算效率、準(zhǔn)確度,使整個過程公開公平。該軟件操作簡單、不用維護,大大提高了學(xué)校的工作效率,減輕了班委、老師們的工作負擔(dān)。
二、需求分析
綜合測評軟件開發(fā)的目的是自動計算、快速審核、統(tǒng)計測評數(shù)據(jù),減少人工干預(yù),降低計算失誤,提高工作效率,將輔導(dǎo)員、班主任、班委從繁重的綜合測評及日常管理中解放出來,使學(xué)校的綜合測評工作系統(tǒng)化、規(guī)范化、自動化。通過調(diào)查,要求軟件需要有以下功能:(1) 要求有良好的人機界面,操作簡單。(2) 由于該軟件的使用對象學(xué)生和班級管理人員。(3) 數(shù)據(jù)計算自動完成,盡量減少人工干預(yù)。
三、可行性分析
由于本軟件的對象單一,都是在校學(xué)生,且每個數(shù)據(jù)內(nèi)容具有較強的關(guān)聯(lián)性,涉及的計算過程不是很復(fù)雜。因此,比較適合于采用excel表格管理。熟悉VB編程。在技術(shù)難度方面,由于有指導(dǎo)老師的指導(dǎo)和相關(guān)參考文獻,特別是網(wǎng)上資料,特別是參考其他程序的功能,因此完全可以實現(xiàn)。
四、 軟件實現(xiàn)
(1) 統(tǒng)一命名功能主要代碼
d = Dir(App.Path & "\*.xls")
Dim EXLAPP As Excel.Application
Dim xlBook As Excel.Workbook
Dim EXLSHEET As Excel.Worksheet
Set EXLAPP = CreateObject("excel.application")
EXLAPP.Visible = False
Dim FileNa As String
Set xlBook = EXLAPP.Workbooks.Open(App.Path & "\" & d)
Set EXLSHEET = xlBook.Sheets(1)
EXLSHEET.Activate
If EXLSHEET.Cells(1, 19) = "ZongHecePingBiao" Then '有效表
FileNa = KillSpace(EXLSHEET.Cells(2, 6))
EXLAPP.DisplayAlerts = False
EXLAPP.ActiveWorkbook.Close SaveChanges:=True
Name App.Path & "\" & d As App.Path & "\" & FileNa & "綜合測評表" & num & ".xls"
End If
(2) 統(tǒng)計收文情況主要代碼
d = Dir(App.Path & "\*.xls")
Call EXLAPP.Workbooks.Add
Set EXLSHEET1 = EXLAPP.ActiveSheet
EXLSHEET1.Cells(1, 1) = "綜合測評表收回情況表"
EXLSHEET1.Cells(2, 1) = "序號"
EXLSHEET1.Cells(2, 2) = "姓名"
EXLSHEET1.Cells(2, 3) = "收回情況"
EXLSHEET1.Cells(2, 4) = "文件數(shù)"
Open "C:\evaluation_file\names.txt" For Input As #1
ReDim Preserve StrZ(I) As String
ReDim Preserve beizhu(I)
k = 0
While Not EOF(1)
Line Input #1, str1
k = k + 1
EXLSHEET1.Cells(k + 2, 1) = k
str1 = KillSpace(str1)
EXLSHEET1.Cells(k + 2, 2) = str1
EXLSHEET1.Cells(k + 2, 3) = "未收回"
StrZ(k) = str1
beizhu(k) = 0
Wend
Close #1
(3) 審核功能主要代碼
On Error Resume Next
If (Option1.Value = True) And (Option2.Value = False) And (Option3.Value = False) Then
EXLSHEET.Cells(33, 19) = 1
EXLSHEET.Cells(1, 7) = Trim(Combo1.Text)
EXLSHEET.Cells(32, 4) = Trim(Text2.Text)
EXLSHEET.Cells(2, 3) = Trim(Text3.Text)
EXLAPP.DisplayAlerts = False
EXLAPP.ActiveWorkbook.Close SaveChanges:=True
FileCopy App.Path & "\" & d2, App.Path & "\已通過\" & d2
Kill App.Path & "\" & d2
ElseIf (Option1.Value = False) And (Option2.Value = True) And (Option3.Value = False) Then
EXLSHEET.Cells(33, 19) = 2
EXLSHEET.Cells(1, 7) = Trim(Combo1.Text)
EXLSHEET.Cells(32, 4) = Trim(Text2.Text)
EXLSHEET.Cells(2, 3) = Trim(Text3.Text)
EXLAPP.DisplayAlerts = False
EXLAPP.ActiveWorkbook.Close SaveChanges:=True
FileCopy App.Path & "\" & d2, App.Path & "\未通過\" & d2
Kill App.Path & "\" & d2
ElseIf (Option1.Value = False) And (Option2.Value = False) And (Option3.Value = True) Then
EXLSHEET.Cells(33, 19) = 0
EXLSHEET.Cells(1, 7) = Trim(Combo1.Text)
EXLSHEET.Cells(32, 4) = Trim(Text2.Text)
EXLSHEET.Cells(2, 3) = Trim(Text3.Text)
EXLSHEET.Cells(32, 13) = ""
EXLAPP.DisplayAlerts = False
EXLAPP.ActiveWorkbook.Close SaveChanges:=True
ElseIf (Option1.Value = False) And (Option2.Value = False) And (Option3.Value = False) Then
SetWindowPos Me.hWnd, -2, 0, 0, 0, 0, 3
MsgBox "" & vbCrLf & "您沒有點選意見! " & vbCrLf, vbExclamation, "警告"
SetWindowPos Me.hWnd, -1, 0, 0, 0, 0, 3
Exit Sub
End If
五、 結(jié)論
在本軟件系統(tǒng)必然會存在一些缺陷和不足。但其功能全面、易于日后程序更新、界面友好、操作方便、效率高是本軟件系統(tǒng)的特點。在這次設(shè)計與開發(fā)中的最大收獲并不是掌握這幾門開發(fā)工具的應(yīng)用,而是學(xué)會了軟件設(shè)計的思維方法,以及與同學(xué)們之間相互幫助的精神。
參考文獻:
篇2
【關(guān)鍵詞】計算機軟件開發(fā);設(shè)計;難點;解決措施
眾所周知,模塊化在過去很長一段時間里稱為軟件設(shè)計的主要方式。事實證明,采用這種方式不僅僅能夠很好的規(guī)避軟件系統(tǒng)開發(fā)中的復(fù)雜性,可以在一定程度上簡化程序。通常情況下,在整個軟件的設(shè)計過程中需要將程序進行分解,這樣來行程模塊化層次結(jié)構(gòu),從而提高程序設(shè)計的可操作性和可讀性,加強開發(fā)效率。但是值得注意的是,在設(shè)計過程中由于試用的分解系統(tǒng)以及設(shè)計人員的思考方式存在一定的差異性,最終設(shè)計出來的軟件自然也會不盡一致。那么,我們需要具體問題進行具體分析,進而找出科學(xué)合理的解決辦法。
一、計算機開發(fā)設(shè)計中的難點問題
但是就目前而言依然存在很多急需解決的難點問題。主要表現(xiàn)在以下幾個方面。
1、需求分析比較欠缺。通常情況下,在設(shè)計軟件的過程中需要對設(shè)計標(biāo)的物進行徹底分析,但是我們發(fā)現(xiàn)在很多時候會出現(xiàn)分析不清晰、有紕漏,或者是太籠統(tǒng)的現(xiàn)象,這樣一來就會導(dǎo)致軟件在設(shè)計過程中出現(xiàn)各種各樣的問題。就這一點而言,設(shè)計人員必須保持一顆嚴(yán)謹(jǐn)認真的心態(tài),不管是從宏觀還是微觀細節(jié)方面都要進行完整而且詳細的分析,確保萬無一失。
2、測試不夠充分。這種情況的發(fā)生主要是由于在設(shè)計軟件結(jié)束之后需要對其進行充分的測試與相對應(yīng)的檢驗,通過這種方式來最大限度的避免其在運營過程中出現(xiàn)問題,但是事實上我們發(fā)現(xiàn)正是因為測試不夠充分,在出現(xiàn)系統(tǒng)崩潰之前無人發(fā)現(xiàn)問題的所在。
3、規(guī)劃不合理。在軟件設(shè)計過程中有很多的程序需要編輯,而這些程序往往都是比較復(fù)雜的,有些設(shè)計人員在設(shè)計過程中并沒有嚴(yán)格按照相關(guān)規(guī)范進行計劃的制定,對于規(guī)模比較大的系統(tǒng)工程卻只肯花費一小部分時間去完成,并未真正的研究透徹,這樣一來設(shè)計質(zhì)量當(dāng)然也就無法保證了。鑒于此,設(shè)計人員需要耐心的來安排整個工程包括設(shè)計、規(guī)劃、測試以及后期的維護等等。
4、新特性的不斷增加。在過去我們會經(jīng)常發(fā)現(xiàn),在開發(fā)軟件完成之后,在運用過程中通常會根據(jù)需要增加一些新的內(nèi)容,這樣就會使得軟件運行程序很容易變得復(fù)雜而且混亂,從而影響軟件運行的穩(wěn)定性。就這一點而言,如果沒有十分特殊的要求,設(shè)計人員不要輕易添加新的需求進去,實在是需要添加,五筆要將計劃進行調(diào)整之后方可進行接下來的工作。
二、解決計算機軟件開發(fā)中難點問題的有效措施
1、根據(jù)實際需要切實規(guī)劃軟件設(shè)計。具體地說,就是要在軟件設(shè)計中精心組織好一支優(yōu)秀的隊伍,并且嚴(yán)格按照規(guī)范要求制定出一套切之可行的設(shè)計計劃,要從中理清設(shè)計的重點在哪里,從而最大限度的避免人力物力財力上的浪費。真正意義上來講,設(shè)計一個軟件不僅僅要設(shè)計好它的內(nèi)容,還要設(shè)計好軟件設(shè)計的行程安排,清楚設(shè)計的重點之處,以最短的時間做出最有效率的事情,盡可能的減少在一些與軟件本身無關(guān)的工作環(huán)節(jié)上浪費太多的人力物力的財力。
2、要對設(shè)計需求加以合理分析。這主要是針對納西在計算機軟件開發(fā)過程中對軟件的內(nèi)容設(shè)計存在紕漏,導(dǎo)致在軟件開發(fā)過程中出現(xiàn)對原本想要設(shè)計的內(nèi)容較為籠統(tǒng)化以及不可被測試的問題,那么我們應(yīng)該要求設(shè)計人員在設(shè)計的前期要結(jié)合實際需要綜合考慮軟件的設(shè)計內(nèi)容來制定出一套合理并且完整的設(shè)計計劃。
3、提供一個良好的工作環(huán)境。首先需要讓設(shè)計人員擁有一套正規(guī)化的開發(fā)工具,與此同時要給他們一個良好的外部工作環(huán)境,讓這些設(shè)計人員在一個舒適的環(huán)境中開始軟件的研發(fā)。與此同時還要提供給他們一些硬件上的服務(wù),讓他們的研發(fā)軟件切實為設(shè)計人員帶來實際收益,通過這種方式來提高他們的工作熱情。
三、結(jié)束語
綜上所述,在科學(xué)技術(shù)蓬勃發(fā)展的今天,計算機軟件的設(shè)計與開發(fā)在整個社會發(fā)展過程中起到極其重要的作用,因為它在很大程度上直接決定計算機的工作性能,一個好的計算機軟件能夠很好的幫助計算機用友更好的工作水平,通過上面提出的一些建議希望能夠真正幫助計算機軟件設(shè)計者打造出完美的軟件,從而為計算機事業(yè)提供更好的服務(wù)。
參考文獻
[1]郭玲.淺析計算機軟件開發(fā)設(shè)計的難點和對策[J].計算機光盤軟件與應(yīng)用.2014,(04).
[2]任康.計算機軟件開發(fā)設(shè)計的難點及解決措施[J].信息通信.2014,(09).
[3]賈欽勇.即時通訊系統(tǒng)的研究與實現(xiàn)[D].武漢理工大學(xué):計算機軟件與理論.2010.
篇3
1.Visual Basic
Visual Basic是一種微軟公司開發(fā)事件驅(qū)動編程語言,是當(dāng)前世界上使用最多的編程語言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫。用戶可以使用VB組件快速建立應(yīng)用程序。自1991年,微軟公司推出了Visual Basic 1.0,該創(chuàng)舉可以說是軟件開發(fā)史上的一個具有劃時代意義的事件,自從軟件開發(fā)有原來的“不可視”變?yōu)椤翱梢暋薄T陔S后的幾年內(nèi)微軟公司不斷對其更新晚上。2002年,微軟將.NET Framework與Visual Basic結(jié)合而成為Visual (),重新打造VB,再一次將VB推向一個新的高度。
2.打字軟件設(shè)計思路
一個打字軟件的設(shè)計主要是為了滿足用戶打字練習(xí),其必須具備良好的界面與簡易的支持系統(tǒng)。為此本打字軟件系統(tǒng)包括登錄系統(tǒng)與打字練習(xí)系統(tǒng)。登錄系統(tǒng)主要是為了為用戶保存每一次的練習(xí)準(zhǔn)確率及時間;打字練習(xí)系統(tǒng)由鍵盤練習(xí)、拼音打字練習(xí)、五筆打字練習(xí)和打字游戲五部分構(gòu)成。結(jié)構(gòu)如圖1所示。
3.軟件開發(fā)
3.1 鍵盤練習(xí)模塊
在練習(xí)的過程中如果你打入錯誤的鍵位,就會顯示如圖提示,紅色錯號,綠色顯示是正確輸入的鍵位。其關(guān)鍵代碼如下:
If Jiantisi antisi Then ‘輸入字符錯誤,而且按鍵也不對。
‘以下是打錯了字符,也按錯了鍵的紅色提示。
3.2 鍵位練習(xí)正確率
作為打字練習(xí)測試系統(tǒng),正確率的測試尤為重要,這個基于VB的打字系統(tǒng)的正確率測試更為準(zhǔn)確,相比其他的測試軟件,它在正確率和速度之間做了一些改善,比如:原本的一些測試系統(tǒng)中如果你輸入的很快,但是錯誤率很高,但它在測試過程中任然會顯示速度很好,就起不到練習(xí)的目的,在我的這個測試系統(tǒng)中,對被測試者的正確率也有一定的要求,如果你打字錯誤了,你仍然不改,就會停在那里,直到你改正了才可以再輸入。
退出代碼:
這個窗口主要是對打字方式的練習(xí),只有掌握好打字的正確鍵位才能夠成為打字高手。輸入練習(xí)時屏幕上會顯示要打的字母為綠色,盡力不要看鍵盤,進行盲打,手能夠子如的在鍵盤上尋找鍵位,這就要求學(xué)習(xí)者對鍵位有個大概的記憶,不同的手指也是負責(zé)不同的鍵位。
3.3 拼音與五筆打字練習(xí)模塊測試
文件/拼音或五筆打字練習(xí),即可打開相應(yīng)當(dāng)前窗口,打開后工具欄成為當(dāng)前激活窗口的工具欄,在當(dāng)前工具欄點擊:文件/導(dǎo)入文本,選擇提前已經(jīng)錄入的TXT文本
正確輸入時文本會是綠色背景,當(dāng)你輸入錯誤時會成為紅色背景,可以退格更改。其中關(guān)鍵代碼如下:
文本框2的改變事件中,將每輸入的一個文字信息同文本1的副本作比較,若不正確則副本的文字變?yōu)榧t色,后退回去相應(yīng)的文字變?yōu)楹谏梢栽俅武浫?。只有錄入正確則顏色是藍色。當(dāng)單擊開始比賽按鈕時,文本框2獲得控制焦點且計時開始。比賽根據(jù)時間的控制,一旦時間到了,系統(tǒng)強制控制停止使用所有的事件,同時出現(xiàn)相應(yīng)的測試成績。當(dāng)然可以提前交卷,只需按結(jié)束交卷按鈕(Cmdstop_click)成績即可出現(xiàn)。
參考文獻
[1]劉炳文.Visual Basic程序設(shè)計[M].北京:清華大學(xué)出版社,2006,8.
[2]李志云,用VB設(shè)計中英文打字測試軟件[J].電腦編程技巧與維護,2006(11):12-13.
[3]沈國珍.《VB程序設(shè)計》課堂教學(xué)的探索與實踐[J].福建電腦,2007,4.
[4]俞建,張燎軍.數(shù)據(jù)庫訪問技術(shù)研究[J].計算機與現(xiàn)代化,2005.
[5]李志云.用VB設(shè)計中英文打字測試軟件[J].電腦編程技巧與維護,2006,11.
[6]曾強聰.Visual Basic程序設(shè)計與應(yīng)用開發(fā)案例教程[M].北京:清華學(xué)出版社,2004.
[7]袁鋒.談《VB程序設(shè)計》教學(xué)方法改革的五個轉(zhuǎn)變[J].中國成人教育,2004,1.
[8]徐華麗.基于Visual Basic程序設(shè)計語言教學(xué)的實踐與探索[J].皖西學(xué)院學(xué)報,2006,2.
[9]王滿師.應(yīng)用軟件“中英文打字測試系統(tǒng)”的設(shè)計及在VB上實現(xiàn)的有關(guān)技術(shù)[J].北京交通管理干部學(xué)院學(xué)報,2002.
[10]李金山,張文麗.基于VB的中文錄入測試系統(tǒng)的設(shè)計與實現(xiàn)[J].太原師范學(xué)院學(xué)報(自然科學(xué)版),2007,3.
篇4
關(guān)鍵詞:云計算;軟件;C/S架構(gòu);B/S架構(gòu)
1引言
光纖通信、多媒體、大數(shù)據(jù)等計算機技術(shù)的快速改進和普及,為云計算的誕生和應(yīng)用提供了強大的基礎(chǔ),利用云計算技術(shù)可以實現(xiàn)數(shù)據(jù)的分片存儲、并發(fā)計算、虛擬化硬件資源等功能。目前,云計算技術(shù)已經(jīng)在電子商務(wù)、金融證券、電力通信等領(lǐng)域得到了廣泛應(yīng)用,比如天貓商城利用云計算可以容納數(shù)以億計的用戶同時訪問;支付寶利用云計算技術(shù)可以實時的統(tǒng)計用戶轉(zhuǎn)賬消費記錄,保障支付寶金額數(shù)據(jù)的準(zhǔn)確性;證金公司開發(fā)的結(jié)算系統(tǒng)利用云計算技術(shù)可以收集分布于全國各地的證券交易數(shù)據(jù),實時的進行交易結(jié)算;鐵路售票采用云計算技術(shù)可以滿足數(shù)以億計的用戶同時訪問系統(tǒng),實時更新每一列客車的出票情況、余票情況等。云計算環(huán)境下軟件系統(tǒng)需要采用一個強大的軟件架構(gòu)實現(xiàn)數(shù)據(jù)通信、資源共享,目前常用的架構(gòu)主要包括C/S架構(gòu)和B/S架構(gòu),其可以將軟件系統(tǒng)劃分為多個邏輯獨立層次,每一個層次都可以使用接口相連,實現(xiàn)業(yè)務(wù)處理、數(shù)據(jù)存儲等,并且具有良好的可擴展性、可移植性和可維護性。
2云計算信息系統(tǒng)功能設(shè)計
與傳統(tǒng)通信技術(shù)相比,云計算可以采用矩陣的連接方式將數(shù)以千萬的服務(wù)器、終端等計算機設(shè)備連接在一起,為用戶提高更強大的數(shù)據(jù)通信、計算能力。云計算信息系統(tǒng)功能主要包括三個方面,分別是應(yīng)用軟件部署功能、中間件通信功能、基礎(chǔ)硬件實施按需出租功能。
2.1應(yīng)用軟件部署功能
應(yīng)用軟件部署功能可以為用戶提供多種軟件系統(tǒng)部署功能,為應(yīng)用軟件分配存儲空間、接入接口、云端管理接口,用戶只需要輸入云端賬號和密碼,就可以進入到應(yīng)用軟件進行操作,并且訪問數(shù)據(jù)資源。
2.2中間件通信功能
云計算可以將硬件服務(wù)資源虛擬化,并且利用中間件實現(xiàn)通信功能,利用接口提供數(shù)據(jù)上下通信、資源調(diào)度、服務(wù)器負載均衡、用戶訪問管理、應(yīng)用服務(wù)管理、計費管理和安全管理等功能,便于提高性能服務(wù)水平,實現(xiàn)多種應(yīng)用軟件與軟硬件資源通信。
2.3基礎(chǔ)硬件實施按需出租功能
云計算環(huán)境下,其可以為用戶提供按需定制服務(wù),不需要獨占硬件資源,僅需要占據(jù)邏輯的服務(wù)資源即可完成業(yè)務(wù)操作,保證足夠多的用戶并發(fā)訪問基礎(chǔ)硬件資源,能夠?qū)崿F(xiàn)邏輯業(yè)務(wù)處理。
3云計算信息系統(tǒng)架構(gòu)設(shè)計
3.1C/S架構(gòu)設(shè)計
云計算環(huán)境下,軟件設(shè)計師最常用的架構(gòu)就是兩層的C/S架構(gòu),該架構(gòu)包括客戶端和服務(wù)器端兩個關(guān)鍵組成部分?;谠朴嬎愕姆植际焦芾硐到y(tǒng)采用C/S架構(gòu)進行開發(fā),其需要安裝一個客戶端應(yīng)用程序,為用戶提供一個邏輯業(yè)務(wù)請求輸入交互界面,并且客戶端可以通過互聯(lián)網(wǎng)與服務(wù)器端進行連接,傳輸邏輯業(yè)務(wù)處理流程。服務(wù)器端是系統(tǒng)的核心組成內(nèi)容,服務(wù)器承載了邏輯業(yè)務(wù)處理、數(shù)據(jù)業(yè)務(wù)處理兩個關(guān)鍵功能,可以將用戶發(fā)送過來的功能處理任務(wù)進行有效地解析,進而可以實現(xiàn)數(shù)據(jù)的插入、修改、刪除和查詢。
3.2B/S架構(gòu)設(shè)計
云計算技術(shù)的應(yīng)用使得軟件系統(tǒng)積累了海量的而數(shù)據(jù)資源,保存了成千上萬的用戶信息,為了提高分布式軟件的交互性能、處理速度,許多計算機學(xué)者提出了一種三層的B/S架構(gòu),該架構(gòu)包括表示層、業(yè)務(wù)功能處理層和數(shù)據(jù)功能處理層。
3.2.1表示層
表示層是B/S系統(tǒng)與客戶進行交互的界面,用戶在IE瀏覽器中輸入系統(tǒng)的網(wǎng)絡(luò)鏈接地址,就可以登陸到系統(tǒng)進行操作。表示層可以通過Web頁面接收用戶的功能任務(wù)請求,并且可以把業(yè)務(wù)功能處理和數(shù)據(jù)功能處理結(jié)果反饋給用戶,并且反饋模式采用WebFormat模式,更加形象、條理的展示處理結(jié)果,便于用戶查看處理結(jié)果。
3.2.2業(yè)務(wù)功能處理層
業(yè)務(wù)功能處理層是B/S架構(gòu)的核心。業(yè)務(wù)功能處理層部署于Web服務(wù)器,其作為連接數(shù)據(jù)庫、用戶的紐帶,承擔(dān)著功能任務(wù)封裝、數(shù)據(jù)業(yè)務(wù)解析、處理結(jié)果整合等關(guān)鍵功能。目前,業(yè)務(wù)功能處理層采用JavaBean接口、接口等程序?qū)崿F(xiàn)上通、下達的功能,并且能夠識別多種數(shù)據(jù)庫處理語言,比如關(guān)系數(shù)據(jù)庫、對象數(shù)據(jù)庫等,采用Format格式反饋處理結(jié)果給表示層。
3.2.3數(shù)據(jù)功能處理層
數(shù)據(jù)功能處理層主要負責(zé)接收數(shù)據(jù)處理任務(wù),其可以根據(jù)Web服務(wù)器解析出來的數(shù)據(jù)庫操縱語句,比如SQL語句、關(guān)系代數(shù)語句等,根據(jù)這些語句的操作意義與數(shù)據(jù)庫管理系統(tǒng)進行交互,數(shù)據(jù)庫管理系統(tǒng)啟動數(shù)據(jù)庫操作引擎,可以對數(shù)據(jù)庫中的數(shù)據(jù)實現(xiàn)查詢、插入、修改和刪除等,并且把數(shù)據(jù)操作的結(jié)果反饋給Web服務(wù)器,由其將處理結(jié)果整合在一起反饋給用戶。B/S體系架構(gòu)可以將云計算信息系統(tǒng)劃分為三層,每一層之間負責(zé)處理相關(guān)的業(yè)務(wù)流程,并且能夠通過接口進行通信,具有較強的邏輯獨立性、可移植性、可擴展性。
4結(jié)束語
隨著計算機技術(shù)的快速發(fā)展,云計算、大數(shù)據(jù)等在分布式管理系統(tǒng)中將會得到更多的應(yīng)用,設(shè)計一個良好的系統(tǒng)架構(gòu)可以提高軟件執(zhí)行效率,進而提高用戶訪問、資源調(diào)度、負載均衡能力,滿足軟件操作需求。
參考文獻
[1]馬寶軍.基于云計算的電子商務(wù)平臺搭建方案與分析[J].信息通信技術(shù),2014(1):55-61.
[2]張標(biāo).云計算應(yīng)用時代開啟及案例分析[J].計算機光盤軟件與應(yīng)用,2014(8):19-21.
[3]寧艷.基于C/S架構(gòu)的移動學(xué)習(xí)系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機光盤軟件與應(yīng)用,2014(2):90-93.
篇5
明確課程開發(fā)目的
職業(yè)教育中的課程教育不同于本科教育,也不同于基礎(chǔ)教育。課程目標(biāo)與內(nèi)容具有明顯的職業(yè)導(dǎo)向性、基礎(chǔ)知識實用性、技能知識主導(dǎo)性等特點。在實際工作中,課程開發(fā)是指在教學(xué)大綱的基礎(chǔ)上對課程目標(biāo)、內(nèi)容、教材進行可行性研究。課程開發(fā)的目的是讓學(xué)生能很快適應(yīng)社會,能直接將學(xué)校所學(xué)的知識運用到工作中,體現(xiàn)“學(xué)以致用,知行合一”的方針。職業(yè)教育中課程開發(fā)應(yīng)該基于學(xué)生自身特點,不同階段進行不同的課程設(shè)計。
美術(shù)軟件課程合理開發(fā)的重要方面
1.課程定位具有職業(yè)導(dǎo)向性
Photoshop、CorelDRAW兩個軟件課程是我校電腦美術(shù)專業(yè)學(xué)生在校學(xué)習(xí)的專業(yè)核心課程之一。通過對電腦美術(shù)軟件課程的學(xué)習(xí),讓學(xué)生掌握圖片前期處理
和廣告設(shè)計的基本知識,以及提高書籍輸出和排版等設(shè)計能力,畢業(yè)后可以在廣告設(shè)計公司、傳媒公司、網(wǎng)頁制作公司、影樓等地方就職,就業(yè)市場廣,前景好。授課主要采用項目教學(xué)法,使學(xué)生完成多種模式的設(shè)計工作過程,培養(yǎng)學(xué)生具備處理設(shè)計各種類型圖片和畫冊書籍版式的能力,為學(xué)生以后從事設(shè)計工作打下堅實的基礎(chǔ)。
2.課程設(shè)計注重校企合作
為了創(chuàng)設(shè)符合市場需求的電腦美術(shù)軟件設(shè)計課堂,讓我校畢業(yè)生能適應(yīng)企業(yè)人才的需要,學(xué)校特別聘請了動漫電腦繪制設(shè)計師來校座談,開闊學(xué)生的眼界,提高學(xué)生對美術(shù)設(shè)計軟件的學(xué)習(xí)興趣。教師還帶領(lǐng)學(xué)生去江西婺源采風(fēng)寫生,與當(dāng)?shù)劓脑雌髽I(yè)合作。學(xué)生通過寫生、攝影等方式提高了審美能力,在素材的整理中充分運用到photoshop圖片處理軟件,獲得了大量的設(shè)計素材和資源。筆者參加了2012年中職學(xué)校國家級骨干教師培訓(xùn),從中體會到,專業(yè)課程設(shè)計應(yīng)該注重校企合作,充分利用企業(yè)資源。培訓(xùn)基地的部分土地,租用給了一個設(shè)計公司,在培訓(xùn)期間,學(xué)員用設(shè)計軟件設(shè)計的圖片就由這一設(shè)計公司輸出打印,方便了學(xué)員,也方便了學(xué)校,更重要的是充分利用了現(xiàn)有的資源,學(xué)員也有更多的機會接觸廣告設(shè)計公司,對廣告行業(yè)加深了了解,這種校企合作方式給了我很大的啟發(fā)。在課程設(shè)計中的校企合作,不能單單理解成一般的合作模式,參觀、交流、體驗只是校企合作的皮毛,真正的校企合作應(yīng)該體現(xiàn)在,能讓學(xué)生加深對企業(yè)的了解。合作過程中,可以將學(xué)生實訓(xùn)和實習(xí)時間加長,并且根據(jù)學(xué)生能力的不同,在實習(xí)過程中針對一門技術(shù)進行專一的訓(xùn)練,而不是各種技術(shù)都去嘗試,最后實訓(xùn)的結(jié)果是只懂皮毛,并沒有對企業(yè)有深入的體會。
3.課程內(nèi)容循序漸進
在課程內(nèi)容的安排方面,應(yīng)該綜合考慮學(xué)生的能力和階段性興趣。教學(xué)內(nèi)容應(yīng)該有效地進行排序,也就是課程內(nèi)容的序化結(jié)構(gòu)問題。姜大源教授認為,知識只有在被序化的情況下才能被提供,而序化意味著確立知識組織的框架和順序。課程內(nèi)容的設(shè)置應(yīng)該完全為學(xué)生服務(wù),使學(xué)生能更容易接受老師教授的知識與技能。職業(yè)教育中的基礎(chǔ)知識和技能充分體現(xiàn)工作過程,工作過程就是實際應(yīng)用,可以在課堂中設(shè)置工作場景,將課堂內(nèi)容充分與實際運用結(jié)合起來。在美術(shù)設(shè)計軟件學(xué)習(xí)的課程中,軟件種類是多樣的,并且具有互通性。深入研究了解發(fā)現(xiàn),設(shè)計軟件種類之間,也有難易不同程度的差別。例如:Photoshop軟件與CorelDRAW兩種美術(shù)設(shè)計軟件在課程內(nèi)容安排應(yīng)該循序漸進。Photoshop是專業(yè)的圖片前期處理軟件,也具有一定的排版功能,而CorelDRAW軟件是專業(yè)的美術(shù)設(shè)計排版軟件,這兩種軟件看似是沒有關(guān)聯(lián)的,好像可以隨意安排先后順序。其實不然,在CorelDRAW排版軟件中設(shè)計的一些畫冊書籍中的圖片先要進行圖片的前期處理才能運用到排版中,這樣設(shè)計出的作品才有高的輸出質(zhì)量。所以單純從這兩個軟件來看,應(yīng)該將Photoshop課程安排在CorelDRAW課程之前。由于一定的地域差異,美術(shù)軟件種類的應(yīng)用也有不同,例如:在中國中西部,廣告公司一般運用CorelDRAW軟件作為排版軟件,而在中國東部或沿海城市,多用Inustrater軟件進行排版,但是對于Photoshop軟件的運用全國都是一樣的,所以我們在課程內(nèi)容設(shè)置上也應(yīng)該將Photoshop軟件教學(xué)內(nèi)容設(shè)置更多,更深入。這樣循序漸進地設(shè)計課程內(nèi)容能讓學(xué)生真正“學(xué)以致用”。
4.課程評價開放、客觀
課程評價也是課程開發(fā)的一個重要環(huán)節(jié)。課程評價應(yīng)該與課程目標(biāo)結(jié)合起來,課程目標(biāo)制定符合教學(xué)大綱的三維目標(biāo)體系,那么,課程評價也應(yīng)該以三維目標(biāo)體系為基礎(chǔ),結(jié)合職業(yè)教育需求實際,進行綜合評價。對學(xué)生目標(biāo)任務(wù)的評價不能只看結(jié)果,應(yīng)該更注重過程,這樣才能使評價更開放、更客觀。美術(shù)軟件設(shè)計課程中對學(xué)生的評價應(yīng)該從幾方面考慮:
(1)素材搜集是否及時合理
搜集素材是作為設(shè)計工作者最基本的能力,素材在設(shè)計中是最基礎(chǔ)并且最關(guān)鍵的,好的素材不需要過多的后期處理便可以達到高水平的設(shè)計要求,劣質(zhì)的素材處理起來會耗費大量的時間,最后設(shè)計的質(zhì)量也不一定好。教師通過講解、示范和啟發(fā)明確學(xué)習(xí)目標(biāo),下發(fā)任務(wù)書,鼓勵學(xué)生通過各種方式選取素材,特別是自己拍攝的照片素材
(2)軟件操作過程是否正確。
這是對操作速度提出一定的要求。在平時軟件設(shè)計課堂中,教師演示完操作過程之后,學(xué)生完成任務(wù)的速度過慢,經(jīng)常使得完成目標(biāo)任務(wù)變得遙遙無期,最后學(xué)生也失去了學(xué)習(xí)的興趣。廣告企業(yè)競爭壓力很大,職業(yè)學(xué)校學(xué)生想要脫穎而出找到自己理想的職位,必須在軟件操作速度上更勝一籌。操作速度包括兩個方面:一方面是對軟件的熟練運用程度,另一方面是美術(shù)設(shè)計軟件快捷鍵的運用熟練程度,熟練掌握快捷鍵的應(yīng)用,可以大大的提高操作速度。
(3)設(shè)計理念更應(yīng)順應(yīng)大眾審美
每個人對設(shè)計作品的理解和評價都會不同,有些同學(xué)想要自己的作品具有獨特的設(shè)計理念。介于以后學(xué)生就業(yè)的定位來看,更鼓勵學(xué)生多欣賞外國和中國的優(yōu)秀設(shè)計作品,先模仿后設(shè)計,開闊眼界才是根本。
課程評價運用多種形式,除了教師為學(xué)生作品打分以外,還可以組織學(xué)生互評,或者校內(nèi)外作品展示。學(xué)校充分利用校內(nèi)資源,給學(xué)生舉辦作品展覽。我校在今年為電腦美術(shù)專業(yè)開展了一次大型的美術(shù)作品師生展,這樣的活動可以增加學(xué)生信心,提高學(xué)生學(xué)習(xí)的興趣。教師也可以幫助學(xué)生多參與校外的美術(shù)設(shè)計展,更要注重學(xué)生送投設(shè)計作品之前的過程。
通過培訓(xùn)有效提高教師職業(yè)能力和執(zhí)教能力,有效實施課程體系
教師的執(zhí)教能力與職業(yè)能力有很大差異。執(zhí)教能力是教師將自己的職業(yè)知識,運用正確的方法傳授給學(xué)生,讓學(xué)生更易接受。職業(yè)能力是教師本身具備的除了教師以外職業(yè)技能的素養(yǎng)和技能操作知識。教師的執(zhí)教和職業(yè)能力的高低會直接影響課程開發(fā)和課程實施的質(zhì)量。
提高教師職業(yè)能力與執(zhí)教能力的方式之一就是教師培訓(xùn),這也是現(xiàn)在職業(yè)學(xué)校教師提高職業(yè)能力的主要方式。有調(diào)查顯示:現(xiàn)階段的職業(yè)教育教師的主要教學(xué)任務(wù)是教學(xué)實踐,實踐缺少理論指導(dǎo),缺乏問題的研究,缺少行業(yè)技能實踐經(jīng)驗,更多的是知識理論經(jīng)驗。在美術(shù)設(shè)計課程教學(xué)教師群體中,有些老師教授電腦美術(shù)設(shè)計課,但是并沒有真正從事過設(shè)計工作,甚至沒有進出過設(shè)計公司,對設(shè)計行業(yè)并不了解,這樣的教師是不合格的。在美術(shù)軟件設(shè)計課程中,學(xué)校應(yīng)該多組織教師進行企業(yè)培訓(xùn),只有教師親身體會行業(yè)文化,才能正確引導(dǎo)學(xué)生。
校企合作的方式不僅可以用于學(xué)生實訓(xùn)中,教師培訓(xùn)也可以充分利用企業(yè)資源。通過培養(yǎng)教師職業(yè)能力,擴大學(xué)?!半p師”型教師隊伍,可以大大提高學(xué)校美術(shù)軟件設(shè)計的專業(yè)技術(shù)實踐能力。學(xué)校與企業(yè)合作對教師技能進行培訓(xùn),也可以不斷地更新教師專業(yè)知識,使教師專業(yè)化成長與時俱進,把最新的知識傳授給學(xué)生。培訓(xùn)的目的也是挖掘教師的潛能,教師通過培訓(xùn)也會提高教學(xué)興趣,打破一成不變的學(xué)校教學(xué)模式,將企業(yè)培訓(xùn)的新模式合理運用到課程開發(fā)和實施中來。
培訓(xùn)可以讓教師站在學(xué)生的立場上思考問題。教師不能一味地給學(xué)生布置很多的課程目標(biāo)任務(wù),而是應(yīng)該精選典型的案例來讓學(xué)生操作,一味地布置大量的操作任務(wù),只會讓學(xué)生厭惡美術(shù)軟件設(shè)計。
篇6
關(guān)鍵詞:校園網(wǎng) 網(wǎng)絡(luò)安全 防范策略
隨著Internet和intranet技術(shù)的普及和近年來的迅猛發(fā)展,數(shù)字化校園的建設(shè)得到了蓬勃發(fā)展。校園網(wǎng)是學(xué)校教學(xué)管理信息化和網(wǎng)絡(luò)化的基礎(chǔ)。由于校園網(wǎng)具有開放性、互聯(lián)性和共享性的特點,因此不可避免地受到病毒、黑客、惡意軟件和其他不軌行為的安全威脅和攻擊。校園網(wǎng)數(shù)據(jù)丟失、系統(tǒng)被攻擊修改、網(wǎng)絡(luò)癱瘓的事情時有發(fā)生。因此,基于校園網(wǎng)的軟件開發(fā)過程,需要首先解決校園網(wǎng)運行環(huán)境的安全問題,無論是軟件開發(fā),還是網(wǎng)絡(luò)運行環(huán)境的搭建,需要時時刻刻警惕可能出現(xiàn)安全問題的單元和模塊。
為確保基于校園網(wǎng)的教學(xué)管理軟件的安全穩(wěn)定運行,需要對兩個方面進行研究和分析:一、軟件開發(fā)過程中出現(xiàn)的安全漏洞。任何軟件都是會有一些漏洞的,即使最大的軟件開發(fā)者“微軟”也在不斷更新安全補丁,因此從設(shè)計軟件的模塊到數(shù)據(jù)庫的使用要時刻留意漏洞的出現(xiàn)。二、網(wǎng)絡(luò)運行環(huán)境的安全漏洞。校園網(wǎng)的安全環(huán)境可以用“內(nèi)外交迫”來形容。校園網(wǎng)外部Internet上的安全問題一直讓網(wǎng)管員頭痛,同時校園網(wǎng)內(nèi)部有些人員的計算機相關(guān)技術(shù)水平非常高,甚至超乎管理人員的想象,據(jù)統(tǒng)計80%對校園網(wǎng)的攻擊來自于校園網(wǎng)內(nèi)部。在這種情況下,如何構(gòu)建校園網(wǎng)安全屏障,保證網(wǎng)絡(luò)的安全、穩(wěn)定、高效地運行,同時又能提供豐富的網(wǎng)絡(luò)資源,達到辦公、教學(xué)以及學(xué)生上網(wǎng)的多種需求是學(xué)院必須面對的問題。
1.軟件開發(fā)的安全設(shè)計分析
軟件開發(fā)當(dāng)前流行的開發(fā)結(jié)構(gòu)包括C/S開發(fā)(客戶端/服務(wù)器)和B/S開發(fā)(瀏覽器/服務(wù)器)。兩種開發(fā)結(jié)構(gòu)的程序運行入口都是從登錄開始,但C/S開發(fā)結(jié)構(gòu)中的登錄要比B/S登錄要安全許多,C/S程序需要為客戶機安裝相應(yīng)的客戶端軟件才能運行,而B/S開發(fā)的程序在客戶端僅需要瀏覽器就可以了,任何一臺計算機目前都是安裝瀏覽器的,也就是說任何一個人都可以運行B/S的程序。雖然用戶是需要用戶名和密碼才允許訪問,但黑客可能利用數(shù)據(jù)庫和程序的“注入”和“旁注”漏洞,繞過用戶名和密碼的輸入而得到程序的授權(quán)訪問。還有就是黑客可能利用自制軟件暴力破解用戶名和密碼,循環(huán)猜測用戶名和密碼。因此在程序登錄窗口的設(shè)計中需要注意如下幾部分:
1.1約束用戶輸入的用戶名和密碼盡量要復(fù)雜一些。比如密碼長度、復(fù)雜度,這樣可以有效防止黑客暴力破解密碼。
1.2當(dāng)輸入賬戶和密碼三次錯誤后,鎖定軟件一段時間。這樣可以避免黑客使用工具循環(huán)猜測賬戶和密碼,此方法對C/S開發(fā)的程序比較有效。若是B/S開發(fā)的程序可以設(shè)置圖片驗證碼來代替鎖定。
1.3用戶名和密碼內(nèi)不允許輸入敏感的特殊字符,例如“’、%、(、&、exec”等,這些敏感的字符可能會引起數(shù)據(jù)庫程序的“注入”漏洞,使黑客越權(quán)登錄。一般程序都設(shè)置成允許數(shù)字和英文字符可輸入,可通過正則表達式來限定更加復(fù)雜的格式。
在B/S開發(fā)過程中要注意頁面的用戶狀態(tài)識別、頁面過期設(shè)定的設(shè)置,例如當(dāng)用戶長時間訪問過的某個程序頁面,有可能在BAIDU搜索引擎留下記錄,黑客可通過搜索引擎來訪問某頁信息,通過在頁中設(shè)置用戶狀態(tài),可以防止這樣的事情發(fā)生。另外頁面過期也是要注意的問題,比如瀏覽器的歷史記錄中的“上一步”問題,當(dāng)用戶退出系統(tǒng)后,關(guān)閉瀏覽器之前,點擊“上一步”有可能進入系統(tǒng),這需要在編寫程序時,特別注意做到頁面過期時間調(diào)整和瀏覽器的緩存清除操作。
用戶程序數(shù)據(jù)保存的數(shù)據(jù)庫系統(tǒng)也會有一定的安全隱患,當(dāng)前大多是數(shù)據(jù)庫都是網(wǎng)絡(luò)數(shù)據(jù)庫,例如SQL2000、SQL2005、Oracle、MYSQL。這些網(wǎng)絡(luò)數(shù)據(jù)庫可以通過網(wǎng)絡(luò)訪問,這就會出現(xiàn)非法用戶通過網(wǎng)絡(luò)直接連接數(shù)據(jù)庫,除了注意要將數(shù)據(jù)庫的管理賬戶設(shè)置復(fù)雜一些以外,還要防止一些存儲過程的調(diào)用例如SQL2000的xp_cmdshell,設(shè)置網(wǎng)絡(luò)的訪問權(quán)限,讓非法的用戶無法直接訪問到數(shù)據(jù)庫。
2.校園網(wǎng)網(wǎng)絡(luò)安全的設(shè)計和分析
雖然在軟件設(shè)計中可以解決一些運行的安全隱患,但沒有安全的校園網(wǎng)絡(luò)配置,是無法解決所有的安全的問題的。只有程序和網(wǎng)絡(luò)兩個方面共同發(fā)揮力量才能讓校園網(wǎng)的管理軟件安全、穩(wěn)定的運行。
校園網(wǎng)的網(wǎng)絡(luò)體系結(jié)構(gòu)包括校園網(wǎng)的網(wǎng)絡(luò)邊界設(shè)備,核心及骨干設(shè)備,網(wǎng)絡(luò)接入層設(shè)備,網(wǎng)絡(luò)服務(wù)提供設(shè)備和這些設(shè)備的連接方式以及該結(jié)構(gòu)采用的協(xié)議和技術(shù)。
校園網(wǎng)至少應(yīng)采用1000M以太網(wǎng)主干技術(shù),1000M或100M到樓,100M或10M到桌面,部分區(qū)域采用無線接入技術(shù)(802.11)實現(xiàn)無線接入。校園網(wǎng)絡(luò)路由器,高性能的核心路由交換機,各分布層的三層路由交換機,大量的二層可網(wǎng)管接入交換機,以及防火墻,IDS(或IPS),內(nèi)容過濾系統(tǒng),流量分析系統(tǒng),網(wǎng)絡(luò)設(shè)備管理系統(tǒng)等網(wǎng)絡(luò)硬件設(shè)備。教學(xué)管理軟件服務(wù)器端程序應(yīng)該放在DMZ(隔離區(qū))內(nèi),它連接防火墻,且可以連接外網(wǎng)和內(nèi)網(wǎng)。教學(xué)管理軟件所有的重要數(shù)據(jù)庫和資料則放在內(nèi)網(wǎng)的重要數(shù)據(jù)區(qū),嚴(yán)格限制訪問,此區(qū)域連接DMZ區(qū),為各種教學(xué)管理軟件進行數(shù)據(jù)存取服務(wù)。這樣做的優(yōu)點是DMZ區(qū)可以為主機環(huán)境提供網(wǎng)絡(luò)級的保護,能減少為不信任客戶提供服務(wù)而引發(fā)的危險,是放置公共信息的最佳位置。即使DMZ區(qū)的公共服務(wù)例如WEB服務(wù)器、EMAIL服務(wù)器被黑客攻陷,由于重要的數(shù)據(jù)庫和資料并不在此區(qū)域內(nèi),則不會對數(shù)據(jù)造成損失。
校園網(wǎng)主要面臨的危險包括如下內(nèi)容:
2.1操作系統(tǒng)的安全問題
目前,被廣泛使用的網(wǎng)絡(luò)操作系統(tǒng)主要是UNIX、WINDOWS和Linux等,這些操作系統(tǒng)都存在各種各樣的安全問題,許多新型計算機病毒都是利用操作系統(tǒng)的漏洞進行傳染。如不對操作系統(tǒng)進行及時更新,彌補各種漏洞,計算機即使安裝了防毒軟件也會反復(fù)感染。
2.2病毒的破壞
計算機病毒影響計算機系統(tǒng)的正常運行、破壞系統(tǒng)軟件和文件系統(tǒng)、破壞網(wǎng)絡(luò)資源、使網(wǎng)絡(luò)效率急劇下降、甚至造成計算機和網(wǎng)絡(luò)系統(tǒng)的癱瘓,是影響高校校園網(wǎng)絡(luò)安全的主要因素。
2.3黑客
黑客入侵的常用手法有:端口監(jiān)聽、端口掃描、口令入侵、JAVA炸彈等。
2.4內(nèi)部破壞
在高校中,有人為了報復(fù)而銷毀或篡改人事檔案記錄;有人改變程序設(shè)置,引起系統(tǒng)混亂;有人越權(quán)處理公務(wù),為了個人私利竊取機密數(shù)據(jù);一些學(xué)生通過非正常的手段獲取習(xí)題的答案或在考前獲得考試內(nèi)容,使正常的教學(xué)練習(xí)失去意義。這些安全隱患都嚴(yán)重地破壞了學(xué)校的管理秩序。
2.5設(shè)備受損
設(shè)備破壞主要是指對網(wǎng)絡(luò)硬件設(shè)備的破壞。
2.6敏感服務(wù)器使用的受限
由于財務(wù)等敏感服務(wù)器上存有大量重要數(shù)據(jù)庫和文件,因擔(dān)心安全性問題,不得不與校園網(wǎng)絡(luò)物理隔離,使得應(yīng)用軟件不能發(fā)揮真正的作用。
2.7技術(shù)之外的問題
校園網(wǎng)是一個比較特殊的網(wǎng)絡(luò)環(huán)境。隨著校園網(wǎng)絡(luò)規(guī)模的擴大,目前,高校基本實現(xiàn)了教學(xué)科研辦公上網(wǎng),學(xué)生上網(wǎng)。由于上網(wǎng)地點的擴大,使得網(wǎng)絡(luò)監(jiān)管更是難上加難。由于高校部分學(xué)生對網(wǎng)絡(luò)知識很感興趣,而且具有相當(dāng)高的專業(yè)知識水平,有的研究生甚至研究方向就是網(wǎng)絡(luò)安全,攻擊校園網(wǎng)就成了他們表現(xiàn)才華,實踐自己所學(xué)知識的首選。其次,教工人員和學(xué)生的計算機網(wǎng)絡(luò)安全意識薄弱、安全知識缺乏。學(xué)校的規(guī)章制度還不夠完善,還不能夠有效的規(guī)范和約束學(xué)生、教工的上網(wǎng)行為。
除去設(shè)備本身的受損情況其它的安全問題可分為外網(wǎng)的安全和內(nèi)網(wǎng)的安全兩部分。
外網(wǎng)的攻擊主要包括破壞性攻擊和侵入型的攻擊。破壞性的攻擊多采用DoS及DDoS(分布式DoS)攻擊。在這種類型的攻擊中,攻擊者發(fā)送通過一臺傀儡機(肉雞)或大量的傀儡機發(fā)送大量的TCP SYN請求到某個服務(wù)器。在SYN請求被發(fā)送之后,“握手”行為就永遠也不會結(jié)束。服務(wù)器,由于一直設(shè)法維持SYN連接的信息并且等待握手行為的完成,最終耗盡它的資源并停止接收任何進一步的TCP連接請求,因而拒絕了對真正用戶的訪問。攻擊的目的就是讓服務(wù)器忙得無法完成正常服務(wù),破壞網(wǎng)絡(luò)正常的運行。處理DDoS的攻擊最有效的方法就是架設(shè)防火墻,目前防火墻的重要任務(wù)就是防止DDoS的攻擊,在外網(wǎng)路由器加入防火墻可以有效屏蔽DDoS的數(shù)據(jù)包,同時若對外網(wǎng)ICMP和TCP的數(shù)據(jù)包進行檢測,檢查數(shù)據(jù)包的大小也可以過濾一部分攻擊效果。侵入型的攻擊多尋找服務(wù)器的漏洞和網(wǎng)絡(luò)漏洞,侵入服務(wù)器獲取有用數(shù)據(jù),或?qū)⒎?wù)器變成傀儡機。要防止侵入攻擊首要的任務(wù)就是為服務(wù)器打補丁,這樣可以防范系統(tǒng)級的漏洞,其次在防火墻配置訪問策略,限制端口的訪問,例如提供WEB服務(wù)的服務(wù)器,只需要開80端口即可,服務(wù)器本身的135、139等端口應(yīng)限制訪問。再次就是軟件開發(fā)過程中的登錄安全設(shè)計,防止出現(xiàn)登錄漏洞,數(shù)據(jù)庫訪問漏洞,DMZ區(qū)的設(shè)計多為此處設(shè)計考慮。
內(nèi)網(wǎng)主要受到的安全危險包括病毒、非授權(quán)訪問、技術(shù)之外的問題等。
病毒和木馬是內(nèi)網(wǎng)安全的一個非常重要的問題,病毒和木馬瘋狂復(fù)制自己,達到在網(wǎng)絡(luò)中傳播,占用大量網(wǎng)絡(luò),造成網(wǎng)絡(luò)癱瘓,同時影響正常軟件的運行。當(dāng)前流行的病毒一般是通過網(wǎng)絡(luò)下載運行,或移動設(shè)備運行傳播。要控制病毒和木馬的泛濫,首先要對計算機進行保護,例如系統(tǒng)還原軟件,殺病毒軟件,可以有效檢測和快速處理病毒。然后為不同的機構(gòu)設(shè)置不同的VLAN,限制VLAN間的訪問,這樣即使某一個機構(gòu)的病毒泛濫,也不會影響另一個機構(gòu)的網(wǎng)絡(luò)狀況。
非授權(quán)訪問,對于校園網(wǎng)內(nèi)的辦公軟件、財務(wù)軟件、學(xué)籍管理部分,對于學(xué)生是不能隨意訪問的,雖然所有的辦公軟件等都是需要登錄后才可以使用,但軟件難免存在未知的漏洞,最好的解決辦法是從網(wǎng)絡(luò)訪問策略中限制訪問,例如在學(xué)院內(nèi)的機房、辦公樓設(shè)置好VLAN,且只有VLAN段內(nèi)限定的IP地址范圍可發(fā)送數(shù)據(jù)包出VLAN。在防火墻和交換機的配置中,限制僅允許指定IP地址段可訪問DMZ區(qū)的辦公軟件。
一些非技術(shù)的安全問題:1、部分部門的教工管理不嚴(yán)格,造成具有惡意人員操作了受限制訪問的內(nèi)部網(wǎng)資源。例如學(xué)生操作了某部門領(lǐng)導(dǎo)的辦公計算機,這可能使部分人員越權(quán)訪問資源。2、教工對安全意識的淡薄,例如登錄辦公軟件后沒有安全退出,其他人可以任意訪問。3、BT等點對點下載非教學(xué)相關(guān)內(nèi)容,BT等點對點網(wǎng)絡(luò)軟件,具有很多優(yōu)點,包括一些很重要的學(xué)習(xí)資料的網(wǎng)絡(luò)共享,但也有一些是與教學(xué)等無關(guān)的娛樂資源,例如電影、游戲,這些內(nèi)容的下載會嚴(yán)重影響網(wǎng)絡(luò)的穩(wěn)定運行,也有可能引入病毒和木馬。對于上述這些問題則需要指定相應(yīng)的政策和法規(guī)來進行約束。
該文通過軟件開發(fā)過程和網(wǎng)絡(luò)環(huán)境的配置兩個方面敘述了校園網(wǎng)內(nèi)教學(xué)管理軟件開發(fā)運行中的一些問題,說明了軟件的開發(fā)與網(wǎng)絡(luò)的安全有著必然的聯(lián)系,只有軟件以及軟件的運行環(huán)境都經(jīng)過詳細的安全設(shè)計和分析,才能確保軟件安全穩(wěn)定的運行,以發(fā)揮教學(xué)管理軟件的功能和重要作用。
基金項目名稱:國家教師科研基金“十二五”教育科研重點課題,編號:CTF120510。
參考文獻:
[1]郭萍.淺析高校校園網(wǎng)安全隱患及防范技術(shù)[J].湖北三峽職業(yè)技術(shù)學(xué)院學(xué)院,2010,(12).
篇7
關(guān)鍵詞:Android JDBC DBUtil MVC模式 課堂測試
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1672-3791(2014)12(a)-0002-01
學(xué)生舉手發(fā)言在小學(xué)生的課堂上是一道亮麗的風(fēng)景線,但在大學(xué)生的課堂上卻仿佛是等待的多,老師一方面深知學(xué)生們不會主動發(fā)言,另一方面又對他們充滿希望。學(xué)生仿佛在成長的階段里逐漸喪失了某一種天性,舉手不再是隨心所欲而是有信心沒勇氣。如今,智能手機在大學(xué)生群體中盛行,學(xué)生上課玩手機已是普遍,但如果能將學(xué)生上課玩手機變成學(xué)生上課用手機與老師互動豈不更妙。課堂測試軟件就可改善這一現(xiàn)狀,它主要是指無線互聯(lián)網(wǎng)和安卓技術(shù)在課堂上的應(yīng)用,學(xué)生可通過手機終端接受教師的試題,并且可將自己的答案傳送給web端的教師,教師通過該軟件可以更好地掌握學(xué)生課堂學(xué)習(xí)情況,提高學(xué)生的聽課效率。
1 軟件設(shè)計
1.1 Android平臺
Android是基于Linux平臺的開源手機操作系統(tǒng)。該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,是首個為移動終端打造的真正開放和完整的移動軟件。Android最大特點在于它具有非常好的開發(fā)和調(diào)試環(huán)境,而且支持各種可擴展的用戶體驗。開發(fā)課堂測試軟件是離不開智能手機平臺的,而Android智能手機平臺系統(tǒng),以其開源、開放和優(yōu)異便捷的開發(fā)架構(gòu),成為首選。
1.2 軟件架構(gòu)
課堂測試軟件主要由三部分組成:PCweb端、服務(wù)器和手機Android端,需要實現(xiàn)的功能是:web端通過服務(wù)器發(fā)送題目給Android端,Android端通過服務(wù)器提交答案給web,web端可以將學(xué)生答案與正確答案進行比較分析。
1.3 服務(wù)器搭建
JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問。DBUtil是Apache的一個開源項目,是JDBC的輕量級的封裝。使用它最方便的地方在于,原來使用JDBC從數(shù)據(jù)庫中查詢得到的結(jié)果集需要將每一行數(shù)據(jù)封裝到實體對象中,然后將實體對象加入到集合中,而使用DBUtil可以直接通過sql語句得到集合對象或者實體對象。
Android手機端的服務(wù)器和Web服務(wù)器需要連接同一個服務(wù)器,都需要調(diào)用DBUtil類的業(yè)務(wù)方法。將啟動手機端服務(wù)器的代碼寫到Web容器的ServletContextListener監(jiān)聽器中,這樣當(dāng)Web容器啟動時就會指定啟動手機端服務(wù)器的代碼。手機端的服務(wù)器啟動后,會創(chuàng)建一個ServerSocket監(jiān)聽指定的端口,同時還會啟動一個線程ServerThread負責(zé)監(jiān)聽用戶的連接,每當(dāng)有客戶端進行連接時,創(chuàng)建并啟動一個ServerAgent進程對象專門負責(zé)與該客戶端進行通信。
1.4 PC web端和手機Android端的實現(xiàn)
Web端和Android端的實現(xiàn)主要采用MVC模式的技術(shù),MVC全名是Model View Controller,即模型-視圖-控制器,允許使用各種不同樣式的視圖來訪問同一個服務(wù)器端的代碼。視圖層是提供給用戶的操作界面,是程序的外殼;數(shù)據(jù)層,就是程序需要操作的數(shù)據(jù)或信息;控制層負責(zé)根據(jù)用戶從“視圖層”輸入的指令,選取“數(shù)據(jù)層”中的數(shù)據(jù),然后對其進行相應(yīng)的操作,產(chǎn)生最終結(jié)果。它的提出是為了適應(yīng)越來越復(fù)雜的項目開發(fā),JSP+JavaBean+Servlet可以很好實現(xiàn)該模式。
DBUtil訪問后臺數(shù)據(jù)庫,Servlet響應(yīng)HttpRequest請求,并返回響應(yīng)結(jié)果,后臺采用MVC+DAO的設(shè)計模式及分層結(jié)構(gòu)。服務(wù)器端主要包括采用DAO設(shè)計模式實現(xiàn)的訪問數(shù)據(jù)庫接口及其實現(xiàn)類。實現(xiàn)軟件課堂測試的Servlet類包括:loginServlet用于接收用戶登錄的信息完成用戶驗證,把驗證結(jié)果返回給前臺,SentTestServlet和ReceiveAnswerServlet分別用于web端發(fā)送試題和接收答案,ReceiveTestServlet和SentAnswerServlet分別用于Android端接受試題和提交答案,AmountAnswerServlet用于統(tǒng)計答題人數(shù)等。
以試題功能為例,首先從request中讀取試題項,調(diào)用PreparedStatement的executeUpdate方法向數(shù)據(jù)庫的試題表中插入新的記錄,根據(jù)executeUpdate的返回值設(shè)置writeNewNotice方法的返回值,最終將其設(shè)置到request中的屬性。
2 結(jié)語
該文介紹了一種基于Android平臺的課堂測試軟件的設(shè)計與開發(fā),該軟件完成了包括Android端、web端和服務(wù)器端功能框架的整體的設(shè)計開發(fā)和系統(tǒng)部署。開發(fā)過程將web前臺的設(shè)計和Android的開發(fā)使用同一服務(wù)器來綁定,選用便于操作的Dbutils操作數(shù)據(jù)庫,采取重用性高的MVC模式構(gòu)建程序,通過眾多特色技術(shù)來實現(xiàn)課程測試軟件的功能,不僅達到了要求,同時代碼簡練。此款軟件在經(jīng)過后期的一些安全問題及細節(jié)優(yōu)化后,即將在小范圍投入使用,相信它可以為師生提供一個更好的交流平臺。
參考文獻
[1] 歐陽零.Android核心技術(shù)與實例講解(第2版)[M].北京:電子工業(yè)出版社,2013.
篇8
關(guān)鍵詞關(guān)鍵詞:Gtest;Gmock;單元測試;集成測試;企業(yè)軟件
中圖分類號:TP319
文獻標(biāo)識碼:A 文章編號:16727800(2014)002007604
0引言
一個軟件的生命周期,從用戶需求規(guī)格說明開始,經(jīng)過計劃溝通(需求分析)、策劃(制定計劃、風(fēng)險評估)、建模(概要和詳細設(shè)計)、構(gòu)建(編碼與測試)和部署(交付、支持和反饋)過程,最終提供一個完整的軟件設(shè)計,并提供持續(xù)的技術(shù)支持[1]。在整個生命周期中,測試(即質(zhì)量控制QA)扮演著重要角色。軟件測試不僅僅發(fā)生在軟件生命周期后半部分,而是貫穿于整個軟件生命周期,包括詳細設(shè)計階段,跟進項目設(shè)計測試大綱;在編碼實現(xiàn)的同時,編寫測試用例,進行單元測試和模塊測試,繼而進行集成測試、系統(tǒng)測試和壓力測試等。
在軟件系列測試中,單元測試和集成測試最能保證產(chǎn)品質(zhì)量,也最能發(fā)現(xiàn)代碼靜態(tài)檢查中的問題,單元測試易被忽視。對大型企業(yè)軟件,特別是跨平臺軟件開發(fā),由于軟件分支多,項目龐雜,開發(fā)者疲于進行完整單元測試,錯過了糾正錯誤的最佳時機[2]。根據(jù)經(jīng)驗,軟件測試越早發(fā)現(xiàn)錯誤,糾正該錯誤的代價越小。
在工程實踐領(lǐng)域,企業(yè)級軟件產(chǎn)品通常實行敏捷開發(fā),要求盡可能縮短迭代過程,不斷集成,持續(xù)交付,對質(zhì)量控制提出了更嚴(yán)格的要求。在持續(xù)集成過程中,軟件代碼不斷變更,測試用例設(shè)計也經(jīng)常改變,而企業(yè)級軟件產(chǎn)品本身規(guī)模龐大、組件模塊多,如果沒有一套擴展性好的單元測試框架,在持續(xù)集成過程中極早發(fā)現(xiàn)問題,整個敏捷開發(fā)迭代過程都會受到影響,從而延遲產(chǎn)品,給開發(fā)者帶來很大壓力。
1.1Google C++ Testing Framework簡介
Google C++ Test Framework (以下簡稱GTest)是Google專為C++項目開發(fā)的測試框架,該框架基于高獨立性、高重用性、易遷移性、富信息性、高執(zhí)行效率等原則設(shè)計。用戶代碼通過簡單部署,進行批量化宏調(diào)用,就能完成所期望的絕大部分測試工作,并得到豐富的測試結(jié)果。
1.2GTest的三個級別和兩種斷言
GTest測試分為三個級別:測試、測試用例、測試程序。測試程序通常是一個項目的整體測試框架;測試用例是針對整個模塊檢測,一個測試程序會包括多個測試用例;測試則是對一個模塊內(nèi)具體方法的檢測,因此一個測試用例包括很多個測試。這三個級別的具體實現(xiàn)方式將在后續(xù)給出試?yán)?/p>
斷言是GTest的基礎(chǔ),它是一種監(jiān)測被測代碼行為的機制。一個斷言是GTest宏的一次調(diào)用,而一次宏調(diào)用,就是一個測試。GTest的任何一個斷言,將產(chǎn)生以下三種結(jié)果之一:成功、非致命錯誤、致命錯誤。成功和非致命錯誤不影響整個測試程序的進行,而致命錯誤會直接導(dǎo)致測試程序退出。
GTest將斷言分為兩類:EXPECT_*和ASSERT_*。前者在發(fā)生錯誤時,給出非致命錯誤,使后續(xù)測試?yán)^續(xù)進行;后者在發(fā)生錯誤時,強制整個測試程序退出。一般情況下,推薦使用EXPECT_*,除非該錯誤出現(xiàn)直接導(dǎo)致后續(xù)測試不能再按照所期望的情況執(zhí)行[3],如出現(xiàn)重大內(nèi)存溢出,數(shù)據(jù)驅(qū)動文件讀寫錯誤等。
1.3Google C++ Mocking Framework簡介
Mock的編程行為,在任何一種語言實現(xiàn)的任何一個工程中都有其適用范圍和意義。Mock行為使用戶代碼可以模擬所依賴的功能模塊,自行構(gòu)建偽模塊,獨立進行單元測試[4]。使開發(fā)者在缺少外部環(huán)境(如數(shù)據(jù)庫、網(wǎng)絡(luò)等)支持、項目設(shè)計人員支持或其他開發(fā)人員支持的情況下,也能較完整地對本模塊進行測試,減少某一方法的測試對其它模塊的依賴性。
Google C++ Mocking Framework (以下簡稱GMock) 是Google為配合GTest而設(shè)計實現(xiàn)的一套Mock機制。Mock存在以下問題:①Mock工作繁雜、機械且易出錯;②手工Mock的準(zhǔn)確度因人而異,不易度量,測試結(jié)果的參考價值大打折扣;③Mock工作更具體,更涉及業(yè)務(wù)。因此,在一個Mock上的經(jīng)驗,不大可能應(yīng)用到另一個Mock上。
GMock被同時設(shè)計成自動化設(shè)計工具和測試工具。在接口設(shè)計過程中,盡可能使用GMock進行接口功能性和易用性考察;在具體功能實現(xiàn)后,可以獨立對功能模塊進行測試。
1.4GMock的Mock范圍
GMock推薦將所有方法虛化(接口化)[6],因為Mock C++虛方法不論從編碼角度,還是從GMock內(nèi)部邏輯實現(xiàn)上,都更簡單。這并不代表GMock只有這一種Mock支持。GMock幾乎可以Mock任何C++方法機制,包括虛方法(接口)、實函數(shù)和靜態(tài)方法。不論從測試代碼實現(xiàn)難度上,還是用例維護難度上,都是目前市場上大部分C++測試和Mock框架所不能比擬的。
2CISCO JabberWerxCPP開發(fā)測試框架設(shè)計
CISCO JabberWerxCPP(以下簡稱JWCPP)是CISCO眾多產(chǎn)品的底層通信庫,是XMPP系列協(xié)議的C++跨平臺實現(xiàn)。項目整體由數(shù)十個模塊構(gòu)成,實現(xiàn)代碼約50余萬行。其結(jié)構(gòu)特點是功能組件化,模塊之間依賴關(guān)系復(fù)雜。JWCPP的組件化模塊組織方式如圖1所示。
可見,JWCPP的最終產(chǎn)品,將JWXmppMgr、JWLoginMgr和JWConfigInfo三個模塊暴露給上層用戶,它們是API的提供者。iConnect模仿COM組件機制,將整個JWCPP的功能模塊以組件化形式組織起來,對上述三個API模塊而言,是功能的具體實例化者;在iConnect下層,則是每一個具體組件模塊,它們從功能上被分為業(yè)務(wù)部分和工具部分。
基于JWCPP的產(chǎn)品特點可見:①對于集成測試,只需從上層接口入手,輔以良好的結(jié)構(gòu)設(shè)計,執(zhí)行產(chǎn)品標(biāo)準(zhǔn)初始化流程(iConnect的實例化過程),即可通過簡單的接口調(diào)用,完成對功能的集成測試,通過GTest的斷言機制,判斷各功能實際執(zhí)行結(jié)果;②對于單元測試,底層業(yè)務(wù)部分和工具部分中各個模塊相互調(diào)用,關(guān)系錯綜復(fù)雜,而所有功能模塊,都是從元組件conIUnknown、工廠組件conIClassFactory等組件中多重繼承而來,繼承層次繁多,在每一層繼承中,又有各模塊自己的靜態(tài)方法、虛方法和方法覆蓋與重構(gòu),這對單元測試的實現(xiàn)提出了挑戰(zhàn)。GMock本身設(shè)計的出發(fā)點和特性,適用于這種龐大冗雜的項目測試。基于以上分析的開發(fā)測試框架如圖2所示。
需要強調(diào)的是,本項目中單元測試和集成測試性質(zhì)不同。集成測試關(guān)注功能完整性、各模塊間信息傳遞的正確性和最終整個業(yè)務(wù)流程的正確性,要求集成測試必須模擬實際產(chǎn)品環(huán)境,將整個產(chǎn)品在內(nèi)存中實例化,即執(zhí)行標(biāo)準(zhǔn)組件初始化、子組件工廠化生產(chǎn)等過程。而單元測試更多關(guān)注代碼級別的正確性,目的是盡可能遍歷所有可能的邏輯分支,這就決定了單元測試不需要實例化整個庫。該不同導(dǎo)致了集成測試的構(gòu)建具有結(jié)構(gòu)化、目標(biāo)清晰、重用性良好的特點;而單元測試的構(gòu)建則較為繁雜,龐大和瑣碎。
3開發(fā)測試框架實現(xiàn)
3.1集成測試
3.1.1集成測試實現(xiàn)原理
由圖1可知,將集成測試從產(chǎn)品代碼中獨立出來作為一個單獨項目,繼承產(chǎn)品所暴露的接口類,之后調(diào)用整個產(chǎn)品庫的初始化API,在內(nèi)存中實例化該庫,并將其注冊到操作系統(tǒng)中,即可實現(xiàn)集成測試。
在集成測試框架設(shè)計中,主要引入三個環(huán)境構(gòu)建模塊:TAWaitForMgr、TAWaitForTimer和TAEvents。整個集成測試框架,實際是一個調(diào)用-等待-處理回調(diào)-驗證的過程,由事件機制驅(qū)動。TAWaitForMgr是事實上的API調(diào)用者,它調(diào)用API接口,激活TAWaitForTimer進行等待和輪詢,當(dāng)檢測到狀態(tài)變化時,激活事件機制TAEvents,產(chǎn)生回調(diào)事件,并對最終回調(diào)結(jié)果進行驗證,給出測試結(jié)果。在實現(xiàn)上,API的調(diào)用和測試結(jié)果驗證,都被包含在GTest的斷言機制中。引入TestIClient模塊,作為最終管理所有TA的功能模塊。通過實例化一個TestIClient,可以實現(xiàn)對全局任意模塊的即時調(diào)用。
3.1.2集成測試偽代碼
3.2單元測試
3.2.1單元測試實現(xiàn)原理
就本項目而言,各模塊間關(guān)系看似錯綜復(fù)雜,但采用GMock的Mock機制,實際上消除了模塊間的依賴性,其實現(xiàn)要比集成測試更為簡單。同時,由于單元測試不涉及業(yè)務(wù)邏輯,避免了集成測試實現(xiàn)過程中的調(diào)用—等待—處理回調(diào)—驗證過程,也意味著單元測試不需要通過產(chǎn)品實例化過程進行耗時的初始化。本項目采用集成測試管理所有TA測試模塊,引入TestUClient來統(tǒng)一管理TA單元測試模塊。
3.2.2單元測試偽代碼
5結(jié)語
本文在對企業(yè)級產(chǎn)品項目進行特性分析的基礎(chǔ)上,闡述了采用基于GTest和GMock的測試框架的必要性;提供了集成測試和單元測試框架的設(shè)計實現(xiàn)過程;最后給出在實際環(huán)境中的運行結(jié)果,表明了該設(shè)計方案的可實現(xiàn)性、易用性和高效性。后續(xù)研究中,將嘗試把該套測試框架與項目的持續(xù)集成系統(tǒng)相結(jié)合,實現(xiàn)項目開發(fā)測試的完全自動化。
參考文獻:
[1]ROGER S PRESSMAN.軟件工程:實踐者的研究方法[M].鄭人杰,譯.北京:機械工業(yè)出版社,2011.
[2]RUNESON P.A survey of unit testing practices[J].IEEE Software,2006,23(4).
[3]BOEHM B,V BASILI.Software defect reduction top 10 list[J].IEEE Computer,2007,34(1):135137.
[4]THOMAS D,HUNT A.Mock object[J].IEEE Software,2002,19(3):2224.
篇9
1 平面設(shè)計軟件二次開發(fā)現(xiàn)狀探討
目前,我國平面設(shè)計軟件的二次開發(fā)主要由兩種方式。一種是通過 adobe 公司的官方授權(quán),而軟件開發(fā)企業(yè)進行開發(fā)。另一種是軟件平面設(shè)計人員或軟件開發(fā)人員為了自身使用便捷性等進行的私自開發(fā)。受不同開發(fā)方式的特點使得兩種方式開發(fā)中都存在著諸多的不足。例如:軟件開發(fā)企業(yè)受市場利潤、開發(fā)人員對平面設(shè)計專業(yè)理解不深等因素影響,軟件開發(fā)中存在諸多的不足。而平面設(shè)計人員針對平面設(shè)計工作需求進行的二次開發(fā)雖然具有較高的效果,但是由于不能進行市場運作,好的軟件系統(tǒng)只能在自己或朋友間使用。針對,adobe photoshop 的友好界面以及允許用戶二次開發(fā)的特點,現(xiàn)代平面設(shè)計人員越來越多的根據(jù)自身習(xí)慣以及使用需求進行二次開發(fā)。而商業(yè)企業(yè)也通過編程人員對平面設(shè)計工作了解的加深、網(wǎng)絡(luò)調(diào)查問卷等形式為二次開發(fā)提供了基礎(chǔ)需求信息。針對這樣的環(huán)境,現(xiàn)代平面設(shè)計軟件如何進行二次開發(fā)是軟件開發(fā)企業(yè)面臨的首要問題。筆者以自身開發(fā)編程經(jīng)驗以及對平面設(shè)計人員的調(diào)查走訪等作為基礎(chǔ),對平面設(shè)計軟件的二次開發(fā)進行了簡要論述。
2 平面設(shè)計軟件二次開發(fā)重點與方式
2.1 以平面設(shè)計軟件需求為基礎(chǔ)確定開發(fā)方向與重點
現(xiàn)代軟件開發(fā)企業(yè)在進行平面設(shè)計軟件二次開發(fā)前,應(yīng)加強對平面設(shè)計軟件市場情況、應(yīng)用需求等內(nèi)容的調(diào)查與分析。以此為基礎(chǔ)確定平面設(shè)計軟件二次開發(fā)方向與重點。通過對市場情況、使用人群的調(diào)查使企業(yè)能夠針對市場運營情況、平面設(shè)計人員使用需求等確定開發(fā)方向與重點。以此使二次開發(fā)后的平面設(shè)計軟件能夠更具市場競爭力、更加符合平面設(shè)計人員的需求,為提高平面設(shè)計軟件二次開發(fā)市場價值、市場競爭力奠定基礎(chǔ)。
2.2加強平面設(shè)計專業(yè)應(yīng)用的深入了解與理解,實現(xiàn)科學(xué)的平面設(shè)計軟件二次開發(fā)
加強平面設(shè)計專業(yè)應(yīng)用的深入了解與理解是現(xiàn)代平面設(shè)計軟件二次開發(fā)的關(guān)鍵。只有針對專業(yè)應(yīng)用的、面向應(yīng)用對象的二次開發(fā)才能夠使二次開發(fā)后的平面設(shè)計軟件符合專業(yè)應(yīng)用需求,提高二次開發(fā)軟件的市場競爭力。首先,平面設(shè)計軟件二次開發(fā)企業(yè)應(yīng)按照開發(fā)功能、開發(fā)方向等對平面設(shè)計工作、專業(yè)應(yīng)用等進行深入的了解。并采用調(diào)查問卷、從業(yè)人員調(diào)查等方式對現(xiàn)代平面設(shè)計工作軟件需求進行調(diào)研。在此基礎(chǔ)上,分析平面設(shè)計軟件允許二次開發(fā)的實際情況,開展軟件二次開發(fā)。通過這樣的方式能夠使平面設(shè)計軟件二次開發(fā)企業(yè)所開發(fā)的產(chǎn)品更加符合市場需求,促進企業(yè)產(chǎn)品市場競爭力的提高。
2.3 以 photoshop 為例對平面設(shè)計軟件二次開發(fā)流程、重點進行分析
Photoshop 作為現(xiàn)代平面設(shè)計中最為常用的平面設(shè)計軟件,從業(yè)人員對其功能需求、適用性等都有著較高的要求。雖然,adobe 公司通過不斷地更新對軟件系統(tǒng)進行了完善,但是,該軟件的二次開發(fā)仍具有較高的市場價值。Photoshop 的開放體系結(jié)構(gòu)是該軟件獲得全球平面設(shè)計用戶認可與推崇的關(guān)鍵。通過允許用戶和開發(fā)者采用高級編程語言進行擴充、修改等二次開發(fā)滿足用戶的特殊要求。首先,在軟件二次開發(fā)過程中必須遵循一定的基本原則,使二次開發(fā)過程能夠在基本原則的指導(dǎo)下有序的開展,實現(xiàn)平面設(shè)計軟件二次開發(fā)的目的。在 photoshop 平面設(shè)計軟件的二次開發(fā)中,應(yīng)遵循模塊化設(shè)計原則。以模塊化設(shè)計原則使原有問題簡單化、是復(fù)雜需求以模塊方式逐個完成。通過模塊設(shè)計原則使設(shè)計過程或測試過程中能夠獨立進行測試與優(yōu)化,促進二次開發(fā)工作效率與工作質(zhì)量的提高。遵循具有良好用戶界面原則使減少使用過程工作量的關(guān)鍵,在photoshop 軟件二次開發(fā)過程中應(yīng)將良好用戶界面的便捷操作、幫助等功能作為開發(fā)的重點,避免誤操作等造成的損失。結(jié)構(gòu)合理性是軟件二次開發(fā)的重點。根據(jù)photoshop 原有結(jié)構(gòu)為基礎(chǔ),在原有合理的結(jié)構(gòu)基礎(chǔ)上進行相應(yīng)補充是現(xiàn)代 photoshop平鍵設(shè)計軟件二次開發(fā)的主要方式。通過模塊化設(shè)計將平面設(shè)計軟件需求在原有合理結(jié)構(gòu)下進行補充,實現(xiàn)二次開發(fā)的最終目的。
以 photoshop 第三方插件二次開發(fā)為例,首先應(yīng)了解調(diào)用插件的主程序,以此為宿主進行二次開發(fā)。然后根據(jù)二次開發(fā)濾鏡的功能需求對濾鏡行為的飽和度、亮度、濾波等進行模塊設(shè)定與開發(fā)。在此基礎(chǔ)上,通過模塊與主程序的兼容性測試、模塊穩(wěn)定性測試等確定開發(fā)質(zhì)量與效果,實現(xiàn)平面設(shè)計軟件二次開發(fā)設(shè)計的目的。Photoshop 中的 SDK 提供了一些插件實例,這為photoshop 的二次開發(fā)提供了很好的基礎(chǔ)。我們在進行插件開發(fā)與編寫時,可以通過對實例的簡單變更實現(xiàn)插件的制作。void PluginMain (const short selector,PISelectionParams *selectionParamBlock,long*data,short *result);這是 photoshop 的入口函數(shù)原型,如果想通過插件的編寫實現(xiàn)區(qū)域的選擇可以通過selectionParamBlock ->documentInfo ->selection->bounds來獲取。根據(jù)插件程序編寫的實際需求對實例中的相關(guān)函數(shù)參數(shù)進行改變即可以實現(xiàn)基本的插件編寫。
篇10
關(guān)鍵詞 C++語言 跨平臺 軟件開發(fā) 設(shè)計實現(xiàn)
中圖分類號:TP31 文獻標(biāo)識碼:A
20世紀(jì)70年代,Bell實驗室首先開發(fā)了C語言系列,經(jīng)過十年的演化變遷,80年代C++語言便應(yīng)運而生。C++語言是C語言的改良進化版本,除了沿用C語言直接運行在機器上,不需要虛擬機作為中介的高效率特點之外,根據(jù)軟件開發(fā)的需求還融入了虛函數(shù)、模板、操作符重載等特,因此C++語言得到了特別廣泛地應(yīng)用。C++語言幾乎所有的平臺下進行使用,然而在不同平臺之間的應(yīng)用時卻難以兼容,隨著多元化軟件系統(tǒng)開發(fā)的需求日益增加,如何在軟件開發(fā)中設(shè)計并實現(xiàn)C++語言跨平臺的方案將會是今后工作的重點。
跨平臺是軟件開發(fā)中的常用概念,指的是在一個操作平臺Windows設(shè)計開發(fā)的應(yīng)用程序在另一個操作平臺Linux下同樣能夠使用運行,二者完全兼容。隨著當(dāng)前軟件工程的迅猛發(fā)展,跨平臺的軟件開發(fā)能夠給應(yīng)用程序本身帶來巨大的市場潛力,與此同時,如果應(yīng)用軟件針對不同的CPU提供并測試各自的編譯版本,再到各自平臺上而產(chǎn)生不同的軟件版本,這樣的工作量是特別龐大的,因此,跨平臺的開發(fā)致力于是應(yīng)用程序幾乎不做修改就能運用到不同的平臺上。
1跨平臺軟件開發(fā)的影響因素
在C++語言跨平臺軟件開發(fā)過程中,除了各個平臺間差異性和兼容性之外,C++語言自身的特性以及編譯環(huán)境對其都有影響,無形之中加大了跨平臺軟件開發(fā)的難度。
(1)不同平臺之間的差異性
軟件開發(fā)中的編程語言并不能直接地作用于計算機硬件設(shè)備,它們需要調(diào)用系統(tǒng)的API接口來實現(xiàn)對計算機的控制操作,然而目前許多操作平臺的API接口都有自己的標(biāo)準(zhǔn),并且相互之間差異性較大,例如Windows系統(tǒng)和Unix系統(tǒng)之間的API接口的實現(xiàn)方式和實現(xiàn)原理都不一樣,這就在很大程度上阻礙了同一款軟件應(yīng)用于不同平臺。在實際開發(fā)過程中,操作平臺的差異性會貫穿始終,從設(shè)計、代碼編寫到最終測試都會涉及。
(2)編譯器的定義不同
編譯器的主要功能是根據(jù)特定的語言定義將源代碼轉(zhuǎn)變成為可執(zhí)行控制的指令,它顯然和C++語言的跨平臺應(yīng)用有著十分巨大的關(guān)聯(lián),由于語言定義的不同,同一種源代碼在不同的編譯器中最終得到的控制指令也不盡相同,這也就造成了跨平臺軟件開發(fā)難以開展實現(xiàn)。例如目前Windows平臺上的Visual Studio C++編譯器和Linux平臺上的GCC編譯器適用于C++程序代碼的編譯,然而由于C++的許多語言特性的實現(xiàn)細節(jié)都留給了編譯器開發(fā)商,每個開發(fā)商對編譯器的定義不同,從而致使C++源代碼不能跨平臺編譯。
(3)編譯系統(tǒng)的不同
編譯系統(tǒng)可以簡單到一個執(zhí)行編譯器和連接器的命令腳本,也可以復(fù)雜到整個命令程序的生成??缙脚_的軟件開發(fā)必須要使用一個統(tǒng)一標(biāo)準(zhǔn)的編譯系統(tǒng),這樣才能達到對程序代碼執(zhí)行的一致性。例如Windows系統(tǒng)下的Visual Studio和Apple的Interface Builder編譯系統(tǒng)完全束縛了跨平臺編譯系統(tǒng)的開發(fā),這兩者之間的編譯定義、指令執(zhí)行都有著十分巨大的差別,往往同一個源代碼在各編譯系統(tǒng)中得到的編譯結(jié)果也完全不同,這也就導(dǎo)致跨平臺軟件開發(fā)無從談起。
2 C++語言跨平臺軟件開發(fā)的設(shè)計實現(xiàn)
C++語言跨平臺軟件開發(fā)的實現(xiàn)還存在著一些因素的阻礙,因此,采取何種方法措施清除這些影響因素是實現(xiàn)跨平臺軟件開發(fā)的關(guān)鍵。
(1)避免語言的擴展特性
許多語言為了滿足軟件開發(fā)的需求,往往會增添新的擴展特性,然而新的特性由于缺乏長期的實踐性和規(guī)范性,經(jīng)常出現(xiàn)沒有被確切測試和精確定義的意外情況,其中常常包含著許多的異常漏洞和非標(biāo)準(zhǔn)內(nèi)容,另外跨平臺開發(fā)對于程序的異常十分敏感,稍有瑕疵就難以排除障礙,因此,在實際的軟件開發(fā)過程中應(yīng)當(dāng)使用C++的標(biāo)準(zhǔn)特性而避免使用其擴展特性。
(2)建立跨平臺代碼庫
在跨平臺軟件開發(fā)過程中,通常會遇到某些特性定義一個平臺上有而另一個平臺上沒有的問題,例如Windows平臺有樹形控件和遞歸互斥體,DOS下沒有線程,Linux下的線程是依據(jù)進程來實現(xiàn),因此這就需要建立跨平臺代碼庫來解決這一問題,通過建立一套完善的跨平臺代碼庫來實現(xiàn)某些特性統(tǒng)一化。
(3)采用腳本文件進行管理
一般來說,軟件開發(fā)過程中將會編寫大量的代碼,特別是涉及到跨平臺領(lǐng)域時,這一問題就顯現(xiàn)地格外嚴(yán)重,因此為了是代碼編寫更加簡單明了,通常使用腳本文件進行管理。利用腳本文件在程序編譯之前將相關(guān)文件從中剝離出來,并分配到合適的位置上,然后再應(yīng)用程序的運行過程中,再從配置文件中讀取所需要的配置選項,另外在軟件開發(fā)過程中要盡量隔離平臺依賴程度較高的文件格式,而是采用腳本文件來進行可控管理。
總而言之,隨著廣大用戶對軟件便利性和實用的渴求,跨平臺軟件開發(fā)設(shè)計將會成為軟件工程中的一門重要分支,同時也將是今后軟件工程發(fā)展的方向趨勢。
參考文獻
熱門標(biāo)簽
軟件工程論文 軟件技術(shù)論文 軟件測試 軟件技術(shù)方案 軟件畢業(yè)論文 軟件設(shè)計 軟件年終總結(jié) 軟件開發(fā)論文 軟件設(shè)計大賽 軟件實訓(xùn)總結(jié) 心理培訓(xùn) 人文科學(xué)概論