軟件設(shè)計(jì)與開(kāi)發(fā)范文

時(shí)間:2023-05-04 13:09:13

導(dǎo)語(yǔ):如何才能寫(xiě)好一篇軟件設(shè)計(jì)與開(kāi)發(fā),這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。

軟件設(shè)計(jì)與開(kāi)發(fā)

篇1

關(guān)鍵詞:管理信息、綜合測(cè)評(píng)、VB

中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2016)45-0262-02

一、引言

隨著素質(zhì)教育的不斷深入,學(xué)生綜合素質(zhì)評(píng)價(jià)也成為了人才評(píng)價(jià)的一個(gè)標(biāo)準(zhǔn),很多學(xué)校每年都要對(duì)學(xué)生進(jìn)行綜合測(cè)評(píng),綜合測(cè)評(píng)的計(jì)算量很大,而且由每個(gè)學(xué)生自己填表,再交給班委進(jìn)行審核計(jì)算,打印,簽字,存檔,整個(gè)過(guò)程很繁瑣,往往花了很大的力氣還會(huì)出現(xiàn)一些問(wèn)題,如統(tǒng)計(jì)失誤、人為計(jì)算失誤等。另外作為獎(jiǎng)助學(xué)金評(píng)定的依據(jù)――學(xué)生綜合測(cè)評(píng)分是否能夠及時(shí)、準(zhǔn)確、公平的算出來(lái)關(guān)系十分重大,所以急需一個(gè)計(jì)算簡(jiǎn)便,容易操作的軟件來(lái)代替人為的手工計(jì)算,提高計(jì)算效率、準(zhǔn)確度,使整個(gè)過(guò)程公開(kāi)公平。該軟件操作簡(jiǎn)單、不用維護(hù),大大提高了學(xué)校的工作效率,減輕了班委、老師們的工作負(fù)擔(dān)。

二、需求分析

綜合測(cè)評(píng)軟件開(kāi)發(fā)的目的是自動(dòng)計(jì)算、快速審核、統(tǒng)計(jì)測(cè)評(píng)數(shù)據(jù),減少人工干預(yù),降低計(jì)算失誤,提高工作效率,將輔導(dǎo)員、班主任、班委從繁重的綜合測(cè)評(píng)及日常管理中解放出來(lái),使學(xué)校的綜合測(cè)評(píng)工作系統(tǒng)化、規(guī)范化、自動(dòng)化。通過(guò)調(diào)查,要求軟件需要有以下功能:(1) 要求有良好的人機(jī)界面,操作簡(jiǎn)單。(2) 由于該軟件的使用對(duì)象學(xué)生和班級(jí)管理人員。(3) 數(shù)據(jù)計(jì)算自動(dòng)完成,盡量減少人工干預(yù)。

三、可行性分析

由于本軟件的對(duì)象單一,都是在校學(xué)生,且每個(gè)數(shù)據(jù)內(nèi)容具有較強(qiáng)的關(guān)聯(lián)性,涉及的計(jì)算過(guò)程不是很復(fù)雜。因此,比較適合于采用excel表格管理。熟悉VB編程。在技術(shù)難度方面,由于有指導(dǎo)老師的指導(dǎo)和相關(guān)參考文獻(xiàn),特別是網(wǎng)上資料,特別是參考其他程序的功能,因此完全可以實(shí)現(xiàn)。

四、 軟件實(shí)現(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 & "綜合測(cè)評(píng)表" & num & ".xls"

End If

(2) 統(tǒng)計(jì)收文情況主要代碼

d = Dir(App.Path & "\*.xls")

Call EXLAPP.Workbooks.Add

Set EXLSHEET1 = EXLAPP.ActiveSheet

EXLSHEET1.Cells(1, 1) = "綜合測(cè)評(píng)表收回情況表"

EXLSHEET1.Cells(2, 1) = "序號(hào)"

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 & "\已通過(guò)\" & 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 & "\未通過(guò)\" & 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 & "您沒(méi)有點(diǎn)選意見(jiàn)! " & vbCrLf, vbExclamation, "警告"

SetWindowPos Me.hWnd, -1, 0, 0, 0, 0, 3

Exit Sub

End If

五、 結(jié)論

在本軟件系統(tǒng)必然會(huì)存在一些缺陷和不足。但其功能全面、易于日后程序更新、界面友好、操作方便、效率高是本軟件系統(tǒng)的特點(diǎn)。在這次設(shè)計(jì)與開(kāi)發(fā)中的最大收獲并不是掌握這幾門(mén)開(kāi)發(fā)工具的應(yīng)用,而是學(xué)會(huì)了軟件設(shè)計(jì)的思維方法,以及與同學(xué)們之間相互幫助的精神。

參考文獻(xiàn):

篇2

【關(guān)鍵詞】計(jì)算機(jī)軟件開(kāi)發(fā);設(shè)計(jì);難點(diǎn);解決措施

眾所周知,模塊化在過(guò)去很長(zhǎng)一段時(shí)間里稱為軟件設(shè)計(jì)的主要方式。事實(shí)證明,采用這種方式不僅僅能夠很好的規(guī)避軟件系統(tǒng)開(kāi)發(fā)中的復(fù)雜性,可以在一定程度上簡(jiǎn)化程序。通常情況下,在整個(gè)軟件的設(shè)計(jì)過(guò)程中需要將程序進(jìn)行分解,這樣來(lái)行程模塊化層次結(jié)構(gòu),從而提高程序設(shè)計(jì)的可操作性和可讀性,加強(qiáng)開(kāi)發(fā)效率。但是值得注意的是,在設(shè)計(jì)過(guò)程中由于試用的分解系統(tǒng)以及設(shè)計(jì)人員的思考方式存在一定的差異性,最終設(shè)計(jì)出來(lái)的軟件自然也會(huì)不盡一致。那么,我們需要具體問(wèn)題進(jìn)行具體分析,進(jìn)而找出科學(xué)合理的解決辦法。

一、計(jì)算機(jī)開(kāi)發(fā)設(shè)計(jì)中的難點(diǎn)問(wèn)題

但是就目前而言依然存在很多急需解決的難點(diǎn)問(wèn)題。主要表現(xiàn)在以下幾個(gè)方面。

1、需求分析比較欠缺。通常情況下,在設(shè)計(jì)軟件的過(guò)程中需要對(duì)設(shè)計(jì)標(biāo)的物進(jìn)行徹底分析,但是我們發(fā)現(xiàn)在很多時(shí)候會(huì)出現(xiàn)分析不清晰、有紕漏,或者是太籠統(tǒng)的現(xiàn)象,這樣一來(lái)就會(huì)導(dǎo)致軟件在設(shè)計(jì)過(guò)程中出現(xiàn)各種各樣的問(wèn)題。就這一點(diǎn)而言,設(shè)計(jì)人員必須保持一顆嚴(yán)謹(jǐn)認(rèn)真的心態(tài),不管是從宏觀還是微觀細(xì)節(jié)方面都要進(jìn)行完整而且詳細(xì)的分析,確保萬(wàn)無(wú)一失。

2、測(cè)試不夠充分。這種情況的發(fā)生主要是由于在設(shè)計(jì)軟件結(jié)束之后需要對(duì)其進(jìn)行充分的測(cè)試與相對(duì)應(yīng)的檢驗(yàn),通過(guò)這種方式來(lái)最大限度的避免其在運(yùn)營(yíng)過(guò)程中出現(xiàn)問(wèn)題,但是事實(shí)上我們發(fā)現(xiàn)正是因?yàn)闇y(cè)試不夠充分,在出現(xiàn)系統(tǒng)崩潰之前無(wú)人發(fā)現(xiàn)問(wèn)題的所在。

3、規(guī)劃不合理。在軟件設(shè)計(jì)過(guò)程中有很多的程序需要編輯,而這些程序往往都是比較復(fù)雜的,有些設(shè)計(jì)人員在設(shè)計(jì)過(guò)程中并沒(méi)有嚴(yán)格按照相關(guān)規(guī)范進(jìn)行計(jì)劃的制定,對(duì)于規(guī)模比較大的系統(tǒng)工程卻只肯花費(fèi)一小部分時(shí)間去完成,并未真正的研究透徹,這樣一來(lái)設(shè)計(jì)質(zhì)量當(dāng)然也就無(wú)法保證了。鑒于此,設(shè)計(jì)人員需要耐心的來(lái)安排整個(gè)工程包括設(shè)計(jì)、規(guī)劃、測(cè)試以及后期的維護(hù)等等。

4、新特性的不斷增加。在過(guò)去我們會(huì)經(jīng)常發(fā)現(xiàn),在開(kāi)發(fā)軟件完成之后,在運(yùn)用過(guò)程中通常會(huì)根據(jù)需要增加一些新的內(nèi)容,這樣就會(huì)使得軟件運(yùn)行程序很容易變得復(fù)雜而且混亂,從而影響軟件運(yùn)行的穩(wěn)定性。就這一點(diǎn)而言,如果沒(méi)有十分特殊的要求,設(shè)計(jì)人員不要輕易添加新的需求進(jìn)去,實(shí)在是需要添加,五筆要將計(jì)劃進(jìn)行調(diào)整之后方可進(jìn)行接下來(lái)的工作。

二、解決計(jì)算機(jī)軟件開(kāi)發(fā)中難點(diǎn)問(wèn)題的有效措施

1、根據(jù)實(shí)際需要切實(shí)規(guī)劃軟件設(shè)計(jì)。具體地說(shuō),就是要在軟件設(shè)計(jì)中精心組織好一支優(yōu)秀的隊(duì)伍,并且嚴(yán)格按照規(guī)范要求制定出一套切之可行的設(shè)計(jì)計(jì)劃,要從中理清設(shè)計(jì)的重點(diǎn)在哪里,從而最大限度的避免人力物力財(cái)力上的浪費(fèi)。真正意義上來(lái)講,設(shè)計(jì)一個(gè)軟件不僅僅要設(shè)計(jì)好它的內(nèi)容,還要設(shè)計(jì)好軟件設(shè)計(jì)的行程安排,清楚設(shè)計(jì)的重點(diǎn)之處,以最短的時(shí)間做出最有效率的事情,盡可能的減少在一些與軟件本身無(wú)關(guān)的工作環(huán)節(jié)上浪費(fèi)太多的人力物力的財(cái)力。

2、要對(duì)設(shè)計(jì)需求加以合理分析。這主要是針對(duì)納西在計(jì)算機(jī)軟件開(kāi)發(fā)過(guò)程中對(duì)軟件的內(nèi)容設(shè)計(jì)存在紕漏,導(dǎo)致在軟件開(kāi)發(fā)過(guò)程中出現(xiàn)對(duì)原本想要設(shè)計(jì)的內(nèi)容較為籠統(tǒng)化以及不可被測(cè)試的問(wèn)題,那么我們應(yīng)該要求設(shè)計(jì)人員在設(shè)計(jì)的前期要結(jié)合實(shí)際需要綜合考慮軟件的設(shè)計(jì)內(nèi)容來(lái)制定出一套合理并且完整的設(shè)計(jì)計(jì)劃。

3、提供一個(gè)良好的工作環(huán)境。首先需要讓設(shè)計(jì)人員擁有一套正規(guī)化的開(kāi)發(fā)工具,與此同時(shí)要給他們一個(gè)良好的外部工作環(huán)境,讓這些設(shè)計(jì)人員在一個(gè)舒適的環(huán)境中開(kāi)始軟件的研發(fā)。與此同時(shí)還要提供給他們一些硬件上的服務(wù),讓他們的研發(fā)軟件切實(shí)為設(shè)計(jì)人員帶來(lái)實(shí)際收益,通過(guò)這種方式來(lái)提高他們的工作熱情。

三、結(jié)束語(yǔ)

綜上所述,在科學(xué)技術(shù)蓬勃發(fā)展的今天,計(jì)算機(jī)軟件的設(shè)計(jì)與開(kāi)發(fā)在整個(gè)社會(huì)發(fā)展過(guò)程中起到極其重要的作用,因?yàn)樗诤艽蟪潭壬现苯記Q定計(jì)算機(jī)的工作性能,一個(gè)好的計(jì)算機(jī)軟件能夠很好的幫助計(jì)算機(jī)用友更好的工作水平,通過(guò)上面提出的一些建議希望能夠真正幫助計(jì)算機(jī)軟件設(shè)計(jì)者打造出完美的軟件,從而為計(jì)算機(jī)事業(yè)提供更好的服務(wù)。

參考文獻(xiàn)

[1]郭玲.淺析計(jì)算機(jī)軟件開(kāi)發(fā)設(shè)計(jì)的難點(diǎn)和對(duì)策[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用.2014,(04).

[2]任康.計(jì)算機(jī)軟件開(kāi)發(fā)設(shè)計(jì)的難點(diǎn)及解決措施[J].信息通信.2014,(09).

[3]賈欽勇.即時(shí)通訊系統(tǒng)的研究與實(shí)現(xiàn)[D].武漢理工大學(xué):計(jì)算機(jī)軟件與理論.2010.

篇3

1.Visual Basic

Visual Basic是一種微軟公司開(kāi)發(fā)事件驅(qū)動(dòng)編程語(yǔ)言,是當(dāng)前世界上使用最多的編程語(yǔ)言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開(kāi)發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫(kù)。用戶可以使用VB組件快速建立應(yīng)用程序。自1991年,微軟公司推出了Visual Basic 1.0,該創(chuàng)舉可以說(shuō)是軟件開(kāi)發(fā)史上的一個(gè)具有劃時(shí)代意義的事件,自從軟件開(kāi)發(fā)有原來(lái)的“不可視”變?yōu)椤翱梢暋?。在隨后的幾年內(nèi)微軟公司不斷對(duì)其更新晚上。2002年,微軟將.NET Framework與Visual Basic結(jié)合而成為Visual (),重新打造VB,再一次將VB推向一個(gè)新的高度。

2.打字軟件設(shè)計(jì)思路

一個(gè)打字軟件的設(shè)計(jì)主要是為了滿足用戶打字練習(xí),其必須具備良好的界面與簡(jiǎn)易的支持系統(tǒng)。為此本打字軟件系統(tǒng)包括登錄系統(tǒng)與打字練習(xí)系統(tǒng)。登錄系統(tǒng)主要是為了為用戶保存每一次的練習(xí)準(zhǔn)確率及時(shí)間;打字練習(xí)系統(tǒng)由鍵盤(pán)練習(xí)、拼音打字練習(xí)、五筆打字練習(xí)和打字游戲五部分構(gòu)成。結(jié)構(gòu)如圖1所示。

3.軟件開(kāi)發(fā)

3.1 鍵盤(pán)練習(xí)模塊

在練習(xí)的過(guò)程中如果你打入錯(cuò)誤的鍵位,就會(huì)顯示如圖提示,紅色錯(cuò)號(hào),綠色顯示是正確輸入的鍵位。其關(guān)鍵代碼如下:

If Jiantisi antisi Then ‘輸入字符錯(cuò)誤,而且按鍵也不對(duì)。

‘以下是打錯(cuò)了字符,也按錯(cuò)了鍵的紅色提示。

3.2 鍵位練習(xí)正確率

作為打字練習(xí)測(cè)試系統(tǒng),正確率的測(cè)試尤為重要,這個(gè)基于VB的打字系統(tǒng)的正確率測(cè)試更為準(zhǔn)確,相比其他的測(cè)試軟件,它在正確率和速度之間做了一些改善,比如:原本的一些測(cè)試系統(tǒng)中如果你輸入的很快,但是錯(cuò)誤率很高,但它在測(cè)試過(guò)程中任然會(huì)顯示速度很好,就起不到練習(xí)的目的,在我的這個(gè)測(cè)試系統(tǒng)中,對(duì)被測(cè)試者的正確率也有一定的要求,如果你打字錯(cuò)誤了,你仍然不改,就會(huì)停在那里,直到你改正了才可以再輸入。

退出代碼:

這個(gè)窗口主要是對(duì)打字方式的練習(xí),只有掌握好打字的正確鍵位才能夠成為打字高手。輸入練習(xí)時(shí)屏幕上會(huì)顯示要打的字母為綠色,盡力不要看鍵盤(pán),進(jìn)行盲打,手能夠子如的在鍵盤(pán)上尋找鍵位,這就要求學(xué)習(xí)者對(duì)鍵位有個(gè)大概的記憶,不同的手指也是負(fù)責(zé)不同的鍵位。

3.3 拼音與五筆打字練習(xí)模塊測(cè)試

文件/拼音或五筆打字練習(xí),即可打開(kāi)相應(yīng)當(dāng)前窗口,打開(kāi)后工具欄成為當(dāng)前激活窗口的工具欄,在當(dāng)前工具欄點(diǎn)擊:文件/導(dǎo)入文本,選擇提前已經(jīng)錄入的TXT文本

正確輸入時(shí)文本會(huì)是綠色背景,當(dāng)你輸入錯(cuò)誤時(shí)會(huì)成為紅色背景,可以退格更改。其中關(guān)鍵代碼如下:

文本框2的改變事件中,將每輸入的一個(gè)文字信息同文本1的副本作比較,若不正確則副本的文字變?yōu)榧t色,后退回去相應(yīng)的文字變?yōu)楹谏?,可以再次錄入。只有錄入正確則顏色是藍(lán)色。當(dāng)單擊開(kāi)始比賽按鈕時(shí),文本框2獲得控制焦點(diǎn)且計(jì)時(shí)開(kāi)始。比賽根據(jù)時(shí)間的控制,一旦時(shí)間到了,系統(tǒng)強(qiáng)制控制停止使用所有的事件,同時(shí)出現(xiàn)相應(yīng)的測(cè)試成績(jī)。當(dāng)然可以提前交卷,只需按結(jié)束交卷按鈕(Cmdstop_click)成績(jī)即可出現(xiàn)。

參考文獻(xiàn)

[1]劉炳文.Visual Basic程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2006,8.

[2]李志云,用VB設(shè)計(jì)中英文打字測(cè)試軟件[J].電腦編程技巧與維護(hù),2006(11):12-13.

[3]沈國(guó)珍.《VB程序設(shè)計(jì)》課堂教學(xué)的探索與實(shí)踐[J].福建電腦,2007,4.

[4]俞建,張燎軍.數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)研究[J].計(jì)算機(jī)與現(xiàn)代化,2005.

[5]李志云.用VB設(shè)計(jì)中英文打字測(cè)試軟件[J].電腦編程技巧與維護(hù),2006,11.

[6]曾強(qiáng)聰.Visual Basic程序設(shè)計(jì)與應(yīng)用開(kāi)發(fā)案例教程[M].北京:清華學(xué)出版社,2004.

[7]袁鋒.談《VB程序設(shè)計(jì)》教學(xué)方法改革的五個(gè)轉(zhuǎn)變[J].中國(guó)成人教育,2004,1.

[8]徐華麗.基于Visual Basic程序設(shè)計(jì)語(yǔ)言教學(xué)的實(shí)踐與探索[J].皖西學(xué)院學(xué)報(bào),2006,2.

[9]王滿師.應(yīng)用軟件“中英文打字測(cè)試系統(tǒng)”的設(shè)計(jì)及在VB上實(shí)現(xiàn)的有關(guān)技術(shù)[J].北京交通管理干部學(xué)院學(xué)報(bào),2002.

[10]李金山,張文麗.基于VB的中文錄入測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].太原師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2007,3.

篇4

關(guān)鍵詞:云計(jì)算;軟件;C/S架構(gòu);B/S架構(gòu)

1引言

光纖通信、多媒體、大數(shù)據(jù)等計(jì)算機(jī)技術(shù)的快速改進(jìn)和普及,為云計(jì)算的誕生和應(yīng)用提供了強(qiáng)大的基礎(chǔ),利用云計(jì)算技術(shù)可以實(shí)現(xiàn)數(shù)據(jù)的分片存儲(chǔ)、并發(fā)計(jì)算、虛擬化硬件資源等功能。目前,云計(jì)算技術(shù)已經(jīng)在電子商務(wù)、金融證券、電力通信等領(lǐng)域得到了廣泛應(yīng)用,比如天貓商城利用云計(jì)算可以容納數(shù)以億計(jì)的用戶同時(shí)訪問(wèn);支付寶利用云計(jì)算技術(shù)可以實(shí)時(shí)的統(tǒng)計(jì)用戶轉(zhuǎn)賬消費(fèi)記錄,保障支付寶金額數(shù)據(jù)的準(zhǔn)確性;證金公司開(kāi)發(fā)的結(jié)算系統(tǒng)利用云計(jì)算技術(shù)可以收集分布于全國(guó)各地的證券交易數(shù)據(jù),實(shí)時(shí)的進(jìn)行交易結(jié)算;鐵路售票采用云計(jì)算技術(shù)可以滿足數(shù)以億計(jì)的用戶同時(shí)訪問(wèn)系統(tǒng),實(shí)時(shí)更新每一列客車(chē)的出票情況、余票情況等。云計(jì)算環(huán)境下軟件系統(tǒng)需要采用一個(gè)強(qiáng)大的軟件架構(gòu)實(shí)現(xiàn)數(shù)據(jù)通信、資源共享,目前常用的架構(gòu)主要包括C/S架構(gòu)和B/S架構(gòu),其可以將軟件系統(tǒng)劃分為多個(gè)邏輯獨(dú)立層次,每一個(gè)層次都可以使用接口相連,實(shí)現(xiàn)業(yè)務(wù)處理、數(shù)據(jù)存儲(chǔ)等,并且具有良好的可擴(kuò)展性、可移植性和可維護(hù)性。

2云計(jì)算信息系統(tǒng)功能設(shè)計(jì)

與傳統(tǒng)通信技術(shù)相比,云計(jì)算可以采用矩陣的連接方式將數(shù)以千萬(wàn)的服務(wù)器、終端等計(jì)算機(jī)設(shè)備連接在一起,為用戶提高更強(qiáng)大的數(shù)據(jù)通信、計(jì)算能力。云計(jì)算信息系統(tǒng)功能主要包括三個(gè)方面,分別是應(yīng)用軟件部署功能、中間件通信功能、基礎(chǔ)硬件實(shí)施按需出租功能。

2.1應(yīng)用軟件部署功能

應(yīng)用軟件部署功能可以為用戶提供多種軟件系統(tǒng)部署功能,為應(yīng)用軟件分配存儲(chǔ)空間、接入接口、云端管理接口,用戶只需要輸入云端賬號(hào)和密碼,就可以進(jìn)入到應(yīng)用軟件進(jìn)行操作,并且訪問(wèn)數(shù)據(jù)資源。

2.2中間件通信功能

云計(jì)算可以將硬件服務(wù)資源虛擬化,并且利用中間件實(shí)現(xiàn)通信功能,利用接口提供數(shù)據(jù)上下通信、資源調(diào)度、服務(wù)器負(fù)載均衡、用戶訪問(wèn)管理、應(yīng)用服務(wù)管理、計(jì)費(fèi)管理和安全管理等功能,便于提高性能服務(wù)水平,實(shí)現(xiàn)多種應(yīng)用軟件與軟硬件資源通信。

2.3基礎(chǔ)硬件實(shí)施按需出租功能

云計(jì)算環(huán)境下,其可以為用戶提供按需定制服務(wù),不需要獨(dú)占硬件資源,僅需要占據(jù)邏輯的服務(wù)資源即可完成業(yè)務(wù)操作,保證足夠多的用戶并發(fā)訪問(wèn)基礎(chǔ)硬件資源,能夠?qū)崿F(xiàn)邏輯業(yè)務(wù)處理。

3云計(jì)算信息系統(tǒng)架構(gòu)設(shè)計(jì)

3.1C/S架構(gòu)設(shè)計(jì)

云計(jì)算環(huán)境下,軟件設(shè)計(jì)師最常用的架構(gòu)就是兩層的C/S架構(gòu),該架構(gòu)包括客戶端和服務(wù)器端兩個(gè)關(guān)鍵組成部分。基于云計(jì)算的分布式管理系統(tǒng)采用C/S架構(gòu)進(jìn)行開(kāi)發(fā),其需要安裝一個(gè)客戶端應(yīng)用程序,為用戶提供一個(gè)邏輯業(yè)務(wù)請(qǐng)求輸入交互界面,并且客戶端可以通過(guò)互聯(lián)網(wǎng)與服務(wù)器端進(jìn)行連接,傳輸邏輯業(yè)務(wù)處理流程。服務(wù)器端是系統(tǒng)的核心組成內(nèi)容,服務(wù)器承載了邏輯業(yè)務(wù)處理、數(shù)據(jù)業(yè)務(wù)處理兩個(gè)關(guān)鍵功能,可以將用戶發(fā)送過(guò)來(lái)的功能處理任務(wù)進(jìn)行有效地解析,進(jìn)而可以實(shí)現(xiàn)數(shù)據(jù)的插入、修改、刪除和查詢。

3.2B/S架構(gòu)設(shè)計(jì)

云計(jì)算技術(shù)的應(yīng)用使得軟件系統(tǒng)積累了海量的而數(shù)據(jù)資源,保存了成千上萬(wàn)的用戶信息,為了提高分布式軟件的交互性能、處理速度,許多計(jì)算機(jī)學(xué)者提出了一種三層的B/S架構(gòu),該架構(gòu)包括表示層、業(yè)務(wù)功能處理層和數(shù)據(jù)功能處理層。

3.2.1表示層

表示層是B/S系統(tǒng)與客戶進(jìn)行交互的界面,用戶在IE瀏覽器中輸入系統(tǒng)的網(wǎng)絡(luò)鏈接地址,就可以登陸到系統(tǒng)進(jìn)行操作。表示層可以通過(guò)Web頁(yè)面接收用戶的功能任務(wù)請(qǐng)求,并且可以把業(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ù)庫(kù)、用戶的紐帶,承擔(dān)著功能任務(wù)封裝、數(shù)據(jù)業(yè)務(wù)解析、處理結(jié)果整合等關(guān)鍵功能。目前,業(yè)務(wù)功能處理層采用JavaBean接口、接口等程序?qū)崿F(xiàn)上通、下達(dá)的功能,并且能夠識(shí)別多種數(shù)據(jù)庫(kù)處理語(yǔ)言,比如關(guān)系數(shù)據(jù)庫(kù)、對(duì)象數(shù)據(jù)庫(kù)等,采用Format格式反饋處理結(jié)果給表示層。

3.2.3數(shù)據(jù)功能處理層

數(shù)據(jù)功能處理層主要負(fù)責(zé)接收數(shù)據(jù)處理任務(wù),其可以根據(jù)Web服務(wù)器解析出來(lái)的數(shù)據(jù)庫(kù)操縱語(yǔ)句,比如SQL語(yǔ)句、關(guān)系代數(shù)語(yǔ)句等,根據(jù)這些語(yǔ)句的操作意義與數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行交互,數(shù)據(jù)庫(kù)管理系統(tǒng)啟動(dòng)數(shù)據(jù)庫(kù)操作引擎,可以對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)實(shí)現(xiàn)查詢、插入、修改和刪除等,并且把數(shù)據(jù)操作的結(jié)果反饋給Web服務(wù)器,由其將處理結(jié)果整合在一起反饋給用戶。B/S體系架構(gòu)可以將云計(jì)算信息系統(tǒng)劃分為三層,每一層之間負(fù)責(zé)處理相關(guān)的業(yè)務(wù)流程,并且能夠通過(guò)接口進(jìn)行通信,具有較強(qiáng)的邏輯獨(dú)立性、可移植性、可擴(kuò)展性。

4結(jié)束語(yǔ)

隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,云計(jì)算、大數(shù)據(jù)等在分布式管理系統(tǒng)中將會(huì)得到更多的應(yīng)用,設(shè)計(jì)一個(gè)良好的系統(tǒng)架構(gòu)可以提高軟件執(zhí)行效率,進(jìn)而提高用戶訪問(wèn)、資源調(diào)度、負(fù)載均衡能力,滿足軟件操作需求。

參考文獻(xiàn)

[1]馬寶軍.基于云計(jì)算的電子商務(wù)平臺(tái)搭建方案與分析[J].信息通信技術(shù),2014(1):55-61.

[2]張標(biāo).云計(jì)算應(yīng)用時(shí)代開(kāi)啟及案例分析[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2014(8):19-21.

[3]寧艷.基于C/S架構(gòu)的移動(dòng)學(xué)習(xí)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2014(2):90-93.

篇5

明確課程開(kāi)發(fā)目的

職業(yè)教育中的課程教育不同于本科教育,也不同于基礎(chǔ)教育。課程目標(biāo)與內(nèi)容具有明顯的職業(yè)導(dǎo)向性、基礎(chǔ)知識(shí)實(shí)用性、技能知識(shí)主導(dǎo)性等特點(diǎn)。在實(shí)際工作中,課程開(kāi)發(fā)是指在教學(xué)大綱的基礎(chǔ)上對(duì)課程目標(biāo)、內(nèi)容、教材進(jìn)行可行性研究。課程開(kāi)發(fā)的目的是讓學(xué)生能很快適應(yīng)社會(huì),能直接將學(xué)校所學(xué)的知識(shí)運(yùn)用到工作中,體現(xiàn)“學(xué)以致用,知行合一”的方針。職業(yè)教育中課程開(kāi)發(fā)應(yīng)該基于學(xué)生自身特點(diǎn),不同階段進(jìn)行不同的課程設(shè)計(jì)。

美術(shù)軟件課程合理開(kāi)發(fā)的重要方面

1.課程定位具有職業(yè)導(dǎo)向性

Photoshop、CorelDRAW兩個(gè)軟件課程是我校電腦美術(shù)專業(yè)學(xué)生在校學(xué)習(xí)的專業(yè)核心課程之一。通過(guò)對(duì)電腦美術(shù)軟件課程的學(xué)習(xí),讓學(xué)生掌握?qǐng)D片前期處理

和廣告設(shè)計(jì)的基本知識(shí),以及提高書(shū)籍輸出和排版等設(shè)計(jì)能力,畢業(yè)后可以在廣告設(shè)計(jì)公司、傳媒公司、網(wǎng)頁(yè)制作公司、影樓等地方就職,就業(yè)市場(chǎng)廣,前景好。授課主要采用項(xiàng)目教學(xué)法,使學(xué)生完成多種模式的設(shè)計(jì)工作過(guò)程,培養(yǎng)學(xué)生具備處理設(shè)計(jì)各種類型圖片和畫(huà)冊(cè)書(shū)籍版式的能力,為學(xué)生以后從事設(shè)計(jì)工作打下堅(jiān)實(shí)的基礎(chǔ)。

2.課程設(shè)計(jì)注重校企合作

為了創(chuàng)設(shè)符合市場(chǎng)需求的電腦美術(shù)軟件設(shè)計(jì)課堂,讓我校畢業(yè)生能適應(yīng)企業(yè)人才的需要,學(xué)校特別聘請(qǐng)了動(dòng)漫電腦繪制設(shè)計(jì)師來(lái)校座談,開(kāi)闊學(xué)生的眼界,提高學(xué)生對(duì)美術(shù)設(shè)計(jì)軟件的學(xué)習(xí)興趣。教師還帶領(lǐng)學(xué)生去江西婺源采風(fēng)寫(xiě)生,與當(dāng)?shù)劓脑雌髽I(yè)合作。學(xué)生通過(guò)寫(xiě)生、攝影等方式提高了審美能力,在素材的整理中充分運(yùn)用到photoshop圖片處理軟件,獲得了大量的設(shè)計(jì)素材和資源。筆者參加了2012年中職學(xué)校國(guó)家級(jí)骨干教師培訓(xùn),從中體會(huì)到,專業(yè)課程設(shè)計(jì)應(yīng)該注重校企合作,充分利用企業(yè)資源。培訓(xùn)基地的部分土地,租用給了一個(gè)設(shè)計(jì)公司,在培訓(xùn)期間,學(xué)員用設(shè)計(jì)軟件設(shè)計(jì)的圖片就由這一設(shè)計(jì)公司輸出打印,方便了學(xué)員,也方便了學(xué)校,更重要的是充分利用了現(xiàn)有的資源,學(xué)員也有更多的機(jī)會(huì)接觸廣告設(shè)計(jì)公司,對(duì)廣告行業(yè)加深了了解,這種校企合作方式給了我很大的啟發(fā)。在課程設(shè)計(jì)中的校企合作,不能單單理解成一般的合作模式,參觀、交流、體驗(yàn)只是校企合作的皮毛,真正的校企合作應(yīng)該體現(xiàn)在,能讓學(xué)生加深對(duì)企業(yè)的了解。合作過(guò)程中,可以將學(xué)生實(shí)訓(xùn)和實(shí)習(xí)時(shí)間加長(zhǎng),并且根據(jù)學(xué)生能力的不同,在實(shí)習(xí)過(guò)程中針對(duì)一門(mén)技術(shù)進(jìn)行專一的訓(xùn)練,而不是各種技術(shù)都去嘗試,最后實(shí)訓(xùn)的結(jié)果是只懂皮毛,并沒(méi)有對(duì)企業(yè)有深入的體會(huì)。

3.課程內(nèi)容循序漸進(jìn)

在課程內(nèi)容的安排方面,應(yīng)該綜合考慮學(xué)生的能力和階段性興趣。教學(xué)內(nèi)容應(yīng)該有效地進(jìn)行排序,也就是課程內(nèi)容的序化結(jié)構(gòu)問(wèn)題。姜大源教授認(rèn)為,知識(shí)只有在被序化的情況下才能被提供,而序化意味著確立知識(shí)組織的框架和順序。課程內(nèi)容的設(shè)置應(yīng)該完全為學(xué)生服務(wù),使學(xué)生能更容易接受老師教授的知識(shí)與技能。職業(yè)教育中的基礎(chǔ)知識(shí)和技能充分體現(xiàn)工作過(guò)程,工作過(guò)程就是實(shí)際應(yīng)用,可以在課堂中設(shè)置工作場(chǎng)景,將課堂內(nèi)容充分與實(shí)際運(yùn)用結(jié)合起來(lái)。在美術(shù)設(shè)計(jì)軟件學(xué)習(xí)的課程中,軟件種類是多樣的,并且具有互通性。深入研究了解發(fā)現(xiàn),設(shè)計(jì)軟件種類之間,也有難易不同程度的差別。例如:Photoshop軟件與CorelDRAW兩種美術(shù)設(shè)計(jì)軟件在課程內(nèi)容安排應(yīng)該循序漸進(jìn)。Photoshop是專業(yè)的圖片前期處理軟件,也具有一定的排版功能,而CorelDRAW軟件是專業(yè)的美術(shù)設(shè)計(jì)排版軟件,這兩種軟件看似是沒(méi)有關(guān)聯(lián)的,好像可以隨意安排先后順序。其實(shí)不然,在CorelDRAW排版軟件中設(shè)計(jì)的一些畫(huà)冊(cè)書(shū)籍中的圖片先要進(jìn)行圖片的前期處理才能運(yùn)用到排版中,這樣設(shè)計(jì)出的作品才有高的輸出質(zhì)量。所以單純從這兩個(gè)軟件來(lái)看,應(yīng)該將Photoshop課程安排在CorelDRAW課程之前。由于一定的地域差異,美術(shù)軟件種類的應(yīng)用也有不同,例如:在中國(guó)中西部,廣告公司一般運(yùn)用CorelDRAW軟件作為排版軟件,而在中國(guó)東部或沿海城市,多用Inustrater軟件進(jìn)行排版,但是對(duì)于Photoshop軟件的運(yùn)用全國(guó)都是一樣的,所以我們?cè)谡n程內(nèi)容設(shè)置上也應(yīng)該將Photoshop軟件教學(xué)內(nèi)容設(shè)置更多,更深入。這樣循序漸進(jìn)地設(shè)計(jì)課程內(nèi)容能讓學(xué)生真正“學(xué)以致用”。

4.課程評(píng)價(jià)開(kāi)放、客觀

課程評(píng)價(jià)也是課程開(kāi)發(fā)的一個(gè)重要環(huán)節(jié)。課程評(píng)價(jià)應(yīng)該與課程目標(biāo)結(jié)合起來(lái),課程目標(biāo)制定符合教學(xué)大綱的三維目標(biāo)體系,那么,課程評(píng)價(jià)也應(yīng)該以三維目標(biāo)體系為基礎(chǔ),結(jié)合職業(yè)教育需求實(shí)際,進(jìn)行綜合評(píng)價(jià)。對(duì)學(xué)生目標(biāo)任務(wù)的評(píng)價(jià)不能只看結(jié)果,應(yīng)該更注重過(guò)程,這樣才能使評(píng)價(jià)更開(kāi)放、更客觀。美術(shù)軟件設(shè)計(jì)課程中對(duì)學(xué)生的評(píng)價(jià)應(yīng)該從幾方面考慮:

(1)素材搜集是否及時(shí)合理

搜集素材是作為設(shè)計(jì)工作者最基本的能力,素材在設(shè)計(jì)中是最基礎(chǔ)并且最關(guān)鍵的,好的素材不需要過(guò)多的后期處理便可以達(dá)到高水平的設(shè)計(jì)要求,劣質(zhì)的素材處理起來(lái)會(huì)耗費(fèi)大量的時(shí)間,最后設(shè)計(jì)的質(zhì)量也不一定好。教師通過(guò)講解、示范和啟發(fā)明確學(xué)習(xí)目標(biāo),下發(fā)任務(wù)書(shū),鼓勵(lì)學(xué)生通過(guò)各種方式選取素材,特別是自己拍攝的照片素材

(2)軟件操作過(guò)程是否正確。

這是對(duì)操作速度提出一定的要求。在平時(shí)軟件設(shè)計(jì)課堂中,教師演示完操作過(guò)程之后,學(xué)生完成任務(wù)的速度過(guò)慢,經(jīng)常使得完成目標(biāo)任務(wù)變得遙遙無(wú)期,最后學(xué)生也失去了學(xué)習(xí)的興趣。廣告企業(yè)競(jìng)爭(zhēng)壓力很大,職業(yè)學(xué)校學(xué)生想要脫穎而出找到自己理想的職位,必須在軟件操作速度上更勝一籌。操作速度包括兩個(gè)方面:一方面是對(duì)軟件的熟練運(yùn)用程度,另一方面是美術(shù)設(shè)計(jì)軟件快捷鍵的運(yùn)用熟練程度,熟練掌握快捷鍵的應(yīng)用,可以大大的提高操作速度。

(3)設(shè)計(jì)理念更應(yīng)順應(yīng)大眾審美

每個(gè)人對(duì)設(shè)計(jì)作品的理解和評(píng)價(jià)都會(huì)不同,有些同學(xué)想要自己的作品具有獨(dú)特的設(shè)計(jì)理念。介于以后學(xué)生就業(yè)的定位來(lái)看,更鼓勵(lì)學(xué)生多欣賞外國(guó)和中國(guó)的優(yōu)秀設(shè)計(jì)作品,先模仿后設(shè)計(jì),開(kāi)闊眼界才是根本。

課程評(píng)價(jià)運(yùn)用多種形式,除了教師為學(xué)生作品打分以外,還可以組織學(xué)生互評(píng),或者校內(nèi)外作品展示。學(xué)校充分利用校內(nèi)資源,給學(xué)生舉辦作品展覽。我校在今年為電腦美術(shù)專業(yè)開(kāi)展了一次大型的美術(shù)作品師生展,這樣的活動(dòng)可以增加學(xué)生信心,提高學(xué)生學(xué)習(xí)的興趣。教師也可以幫助學(xué)生多參與校外的美術(shù)設(shè)計(jì)展,更要注重學(xué)生送投設(shè)計(jì)作品之前的過(guò)程。

通過(guò)培訓(xùn)有效提高教師職業(yè)能力和執(zhí)教能力,有效實(shí)施課程體系

教師的執(zhí)教能力與職業(yè)能力有很大差異。執(zhí)教能力是教師將自己的職業(yè)知識(shí),運(yùn)用正確的方法傳授給學(xué)生,讓學(xué)生更易接受。職業(yè)能力是教師本身具備的除了教師以外職業(yè)技能的素養(yǎng)和技能操作知識(shí)。教師的執(zhí)教和職業(yè)能力的高低會(huì)直接影響課程開(kāi)發(fā)和課程實(shí)施的質(zhì)量。

提高教師職業(yè)能力與執(zhí)教能力的方式之一就是教師培訓(xùn),這也是現(xiàn)在職業(yè)學(xué)校教師提高職業(yè)能力的主要方式。有調(diào)查顯示:現(xiàn)階段的職業(yè)教育教師的主要教學(xué)任務(wù)是教學(xué)實(shí)踐,實(shí)踐缺少理論指導(dǎo),缺乏問(wèn)題的研究,缺少行業(yè)技能實(shí)踐經(jīng)驗(yàn),更多的是知識(shí)理論經(jīng)驗(yàn)。在美術(shù)設(shè)計(jì)課程教學(xué)教師群體中,有些老師教授電腦美術(shù)設(shè)計(jì)課,但是并沒(méi)有真正從事過(guò)設(shè)計(jì)工作,甚至沒(méi)有進(jìn)出過(guò)設(shè)計(jì)公司,對(duì)設(shè)計(jì)行業(yè)并不了解,這樣的教師是不合格的。在美術(shù)軟件設(shè)計(jì)課程中,學(xué)校應(yīng)該多組織教師進(jìn)行企業(yè)培訓(xùn),只有教師親身體會(huì)行業(yè)文化,才能正確引導(dǎo)學(xué)生。

校企合作的方式不僅可以用于學(xué)生實(shí)訓(xùn)中,教師培訓(xùn)也可以充分利用企業(yè)資源。通過(guò)培養(yǎng)教師職業(yè)能力,擴(kuò)大學(xué)?!半p師”型教師隊(duì)伍,可以大大提高學(xué)校美術(shù)軟件設(shè)計(jì)的專業(yè)技術(shù)實(shí)踐能力。學(xué)校與企業(yè)合作對(duì)教師技能進(jìn)行培訓(xùn),也可以不斷地更新教師專業(yè)知識(shí),使教師專業(yè)化成長(zhǎng)與時(shí)俱進(jìn),把最新的知識(shí)傳授給學(xué)生。培訓(xùn)的目的也是挖掘教師的潛能,教師通過(guò)培訓(xùn)也會(huì)提高教學(xué)興趣,打破一成不變的學(xué)校教學(xué)模式,將企業(yè)培訓(xùn)的新模式合理運(yùn)用到課程開(kāi)發(fā)和實(shí)施中來(lái)。

培訓(xùn)可以讓教師站在學(xué)生的立場(chǎng)上思考問(wèn)題。教師不能一味地給學(xué)生布置很多的課程目標(biāo)任務(wù),而是應(yīng)該精選典型的案例來(lái)讓學(xué)生操作,一味地布置大量的操作任務(wù),只會(huì)讓學(xué)生厭惡美術(shù)軟件設(shè)計(jì)。

篇6

關(guān)鍵詞:校園網(wǎng) 網(wǎng)絡(luò)安全 防范策略

隨著Internet和intranet技術(shù)的普及和近年來(lái)的迅猛發(fā)展,數(shù)字化校園的建設(shè)得到了蓬勃發(fā)展。校園網(wǎng)是學(xué)校教學(xué)管理信息化和網(wǎng)絡(luò)化的基礎(chǔ)。由于校園網(wǎng)具有開(kāi)放性、互聯(lián)性和共享性的特點(diǎn),因此不可避免地受到病毒、黑客、惡意軟件和其他不軌行為的安全威脅和攻擊。校園網(wǎng)數(shù)據(jù)丟失、系統(tǒng)被攻擊修改、網(wǎng)絡(luò)癱瘓的事情時(shí)有發(fā)生。因此,基于校園網(wǎng)的軟件開(kāi)發(fā)過(guò)程,需要首先解決校園網(wǎng)運(yùn)行環(huán)境的安全問(wèn)題,無(wú)論是軟件開(kāi)發(fā),還是網(wǎng)絡(luò)運(yùn)行環(huán)境的搭建,需要時(shí)時(shí)刻刻警惕可能出現(xiàn)安全問(wèn)題的單元和模塊。

為確?;谛@網(wǎng)的教學(xué)管理軟件的安全穩(wěn)定運(yùn)行,需要對(duì)兩個(gè)方面進(jìn)行研究和分析:一、軟件開(kāi)發(fā)過(guò)程中出現(xiàn)的安全漏洞。任何軟件都是會(huì)有一些漏洞的,即使最大的軟件開(kāi)發(fā)者“微軟”也在不斷更新安全補(bǔ)丁,因此從設(shè)計(jì)軟件的模塊到數(shù)據(jù)庫(kù)的使用要時(shí)刻留意漏洞的出現(xiàn)。二、網(wǎng)絡(luò)運(yùn)行環(huán)境的安全漏洞。校園網(wǎng)的安全環(huán)境可以用“內(nèi)外交迫”來(lái)形容。校園網(wǎng)外部Internet上的安全問(wèn)題一直讓網(wǎng)管員頭痛,同時(shí)校園網(wǎng)內(nèi)部有些人員的計(jì)算機(jī)相關(guān)技術(shù)水平非常高,甚至超乎管理人員的想象,據(jù)統(tǒng)計(jì)80%對(duì)校園網(wǎng)的攻擊來(lái)自于校園網(wǎng)內(nèi)部。在這種情況下,如何構(gòu)建校園網(wǎng)安全屏障,保證網(wǎng)絡(luò)的安全、穩(wěn)定、高效地運(yùn)行,同時(shí)又能提供豐富的網(wǎng)絡(luò)資源,達(dá)到辦公、教學(xué)以及學(xué)生上網(wǎng)的多種需求是學(xué)院必須面對(duì)的問(wèn)題。

1.軟件開(kāi)發(fā)的安全設(shè)計(jì)分析

軟件開(kāi)發(fā)當(dāng)前流行的開(kāi)發(fā)結(jié)構(gòu)包括C/S開(kāi)發(fā)(客戶端/服務(wù)器)和B/S開(kāi)發(fā)(瀏覽器/服務(wù)器)。兩種開(kāi)發(fā)結(jié)構(gòu)的程序運(yùn)行入口都是從登錄開(kāi)始,但C/S開(kāi)發(fā)結(jié)構(gòu)中的登錄要比B/S登錄要安全許多,C/S程序需要為客戶機(jī)安裝相應(yīng)的客戶端軟件才能運(yùn)行,而B(niǎo)/S開(kāi)發(fā)的程序在客戶端僅需要瀏覽器就可以了,任何一臺(tái)計(jì)算機(jī)目前都是安裝瀏覽器的,也就是說(shuō)任何一個(gè)人都可以運(yùn)行B/S的程序。雖然用戶是需要用戶名和密碼才允許訪問(wèn),但黑客可能利用數(shù)據(jù)庫(kù)和程序的“注入”和“旁注”漏洞,繞過(guò)用戶名和密碼的輸入而得到程序的授權(quán)訪問(wèn)。還有就是黑客可能利用自制軟件暴力破解用戶名和密碼,循環(huán)猜測(cè)用戶名和密碼。因此在程序登錄窗口的設(shè)計(jì)中需要注意如下幾部分:

1.1約束用戶輸入的用戶名和密碼盡量要復(fù)雜一些。比如密碼長(zhǎng)度、復(fù)雜度,這樣可以有效防止黑客暴力破解密碼。

1.2當(dāng)輸入賬戶和密碼三次錯(cuò)誤后,鎖定軟件一段時(shí)間。這樣可以避免黑客使用工具循環(huán)猜測(cè)賬戶和密碼,此方法對(duì)C/S開(kāi)發(fā)的程序比較有效。若是B/S開(kāi)發(fā)的程序可以設(shè)置圖片驗(yàn)證碼來(lái)代替鎖定。

1.3用戶名和密碼內(nèi)不允許輸入敏感的特殊字符,例如“’、%、(、&、exec”等,這些敏感的字符可能會(huì)引起數(shù)據(jù)庫(kù)程序的“注入”漏洞,使黑客越權(quán)登錄。一般程序都設(shè)置成允許數(shù)字和英文字符可輸入,可通過(guò)正則表達(dá)式來(lái)限定更加復(fù)雜的格式。

在B/S開(kāi)發(fā)過(guò)程中要注意頁(yè)面的用戶狀態(tài)識(shí)別、頁(yè)面過(guò)期設(shè)定的設(shè)置,例如當(dāng)用戶長(zhǎng)時(shí)間訪問(wèn)過(guò)的某個(gè)程序頁(yè)面,有可能在BAIDU搜索引擎留下記錄,黑客可通過(guò)搜索引擎來(lái)訪問(wèn)某頁(yè)信息,通過(guò)在頁(yè)中設(shè)置用戶狀態(tài),可以防止這樣的事情發(fā)生。另外頁(yè)面過(guò)期也是要注意的問(wèn)題,比如瀏覽器的歷史記錄中的“上一步”問(wèn)題,當(dāng)用戶退出系統(tǒng)后,關(guān)閉瀏覽器之前,點(diǎn)擊“上一步”有可能進(jìn)入系統(tǒng),這需要在編寫(xiě)程序時(shí),特別注意做到頁(yè)面過(guò)期時(shí)間調(diào)整和瀏覽器的緩存清除操作。

用戶程序數(shù)據(jù)保存的數(shù)據(jù)庫(kù)系統(tǒng)也會(huì)有一定的安全隱患,當(dāng)前大多是數(shù)據(jù)庫(kù)都是網(wǎng)絡(luò)數(shù)據(jù)庫(kù),例如SQL2000、SQL2005、Oracle、MYSQL。這些網(wǎng)絡(luò)數(shù)據(jù)庫(kù)可以通過(guò)網(wǎng)絡(luò)訪問(wèn),這就會(huì)出現(xiàn)非法用戶通過(guò)網(wǎng)絡(luò)直接連接數(shù)據(jù)庫(kù),除了注意要將數(shù)據(jù)庫(kù)的管理賬戶設(shè)置復(fù)雜一些以外,還要防止一些存儲(chǔ)過(guò)程的調(diào)用例如SQL2000的xp_cmdshell,設(shè)置網(wǎng)絡(luò)的訪問(wèn)權(quán)限,讓非法的用戶無(wú)法直接訪問(wèn)到數(shù)據(jù)庫(kù)。

2.校園網(wǎng)網(wǎng)絡(luò)安全的設(shè)計(jì)和分析

雖然在軟件設(shè)計(jì)中可以解決一些運(yùn)行的安全隱患,但沒(méi)有安全的校園網(wǎng)絡(luò)配置,是無(wú)法解決所有的安全的問(wèn)題的。只有程序和網(wǎng)絡(luò)兩個(gè)方面共同發(fā)揮力量才能讓校園網(wǎng)的管理軟件安全、穩(wěn)定的運(yù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ū)域采用無(wú)線接入技術(shù)(802.11)實(shí)現(xiàn)無(wú)線接入。校園網(wǎng)絡(luò)路由器,高性能的核心路由交換機(jī),各分布層的三層路由交換機(jī),大量的二層可網(wǎng)管接入交換機(jī),以及防火墻,IDS(或IPS),內(nèi)容過(guò)濾系統(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ù)庫(kù)和資料則放在內(nèi)網(wǎng)的重要數(shù)據(jù)區(qū),嚴(yán)格限制訪問(wèn),此區(qū)域連接DMZ區(qū),為各種教學(xué)管理軟件進(jìn)行數(shù)據(jù)存取服務(wù)。這樣做的優(yōu)點(diǎn)是DMZ區(qū)可以為主機(jī)環(huán)境提供網(wǎng)絡(luò)級(jí)的保護(hù),能減少為不信任客戶提供服務(wù)而引發(fā)的危險(xiǎn),是放置公共信息的最佳位置。即使DMZ區(qū)的公共服務(wù)例如WEB服務(wù)器、EMAIL服務(wù)器被黑客攻陷,由于重要的數(shù)據(jù)庫(kù)和資料并不在此區(qū)域內(nèi),則不會(huì)對(duì)數(shù)據(jù)造成損失。

校園網(wǎng)主要面臨的危險(xiǎn)包括如下內(nèi)容:

2.1操作系統(tǒng)的安全問(wèn)題

目前,被廣泛使用的網(wǎng)絡(luò)操作系統(tǒng)主要是UNIX、WINDOWS和Linux等,這些操作系統(tǒng)都存在各種各樣的安全問(wèn)題,許多新型計(jì)算機(jī)病毒都是利用操作系統(tǒng)的漏洞進(jìn)行傳染。如不對(duì)操作系統(tǒng)進(jìn)行及時(shí)更新,彌補(bǔ)各種漏洞,計(jì)算機(jī)即使安裝了防毒軟件也會(huì)反復(fù)感染。

2.2病毒的破壞

計(jì)算機(jī)病毒影響計(jì)算機(jī)系統(tǒng)的正常運(yùn)行、破壞系統(tǒng)軟件和文件系統(tǒng)、破壞網(wǎng)絡(luò)資源、使網(wǎng)絡(luò)效率急劇下降、甚至造成計(jì)算機(jī)和網(wǎng)絡(luò)系統(tǒng)的癱瘓,是影響高校校園網(wǎng)絡(luò)安全的主要因素。

2.3黑客

黑客入侵的常用手法有:端口監(jiān)聽(tīng)、端口掃描、口令入侵、JAVA炸彈等。

2.4內(nèi)部破壞

在高校中,有人為了報(bào)復(fù)而銷(xiāo)毀或篡改人事檔案記錄;有人改變程序設(shè)置,引起系統(tǒng)混亂;有人越權(quán)處理公務(wù),為了個(gè)人私利竊取機(jī)密數(shù)據(jù);一些學(xué)生通過(guò)非正常的手段獲取習(xí)題的答案或在考前獲得考試內(nèi)容,使正常的教學(xué)練習(xí)失去意義。這些安全隱患都嚴(yán)重地破壞了學(xué)校的管理秩序。

2.5設(shè)備受損

設(shè)備破壞主要是指對(duì)網(wǎng)絡(luò)硬件設(shè)備的破壞。

2.6敏感服務(wù)器使用的受限

由于財(cái)務(wù)等敏感服務(wù)器上存有大量重要數(shù)據(jù)庫(kù)和文件,因擔(dān)心安全性問(wèn)題,不得不與校園網(wǎng)絡(luò)物理隔離,使得應(yīng)用軟件不能發(fā)揮真正的作用。

2.7技術(shù)之外的問(wèn)題

校園網(wǎng)是一個(gè)比較特殊的網(wǎng)絡(luò)環(huán)境。隨著校園網(wǎng)絡(luò)規(guī)模的擴(kuò)大,目前,高?;緦?shí)現(xiàn)了教學(xué)科研辦公上網(wǎng),學(xué)生上網(wǎng)。由于上網(wǎng)地點(diǎn)的擴(kuò)大,使得網(wǎng)絡(luò)監(jiān)管更是難上加難。由于高校部分學(xué)生對(duì)網(wǎng)絡(luò)知識(shí)很感興趣,而且具有相當(dāng)高的專業(yè)知識(shí)水平,有的研究生甚至研究方向就是網(wǎng)絡(luò)安全,攻擊校園網(wǎng)就成了他們表現(xiàn)才華,實(shí)踐自己所學(xué)知識(shí)的首選。其次,教工人員和學(xué)生的計(jì)算機(jī)網(wǎng)絡(luò)安全意識(shí)薄弱、安全知識(shí)缺乏。學(xué)校的規(guī)章制度還不夠完善,還不能夠有效的規(guī)范和約束學(xué)生、教工的上網(wǎng)行為。

除去設(shè)備本身的受損情況其它的安全問(wèn)題可分為外網(wǎng)的安全和內(nèi)網(wǎng)的安全兩部分。

外網(wǎng)的攻擊主要包括破壞性攻擊和侵入型的攻擊。破壞性的攻擊多采用DoS及DDoS(分布式DoS)攻擊。在這種類型的攻擊中,攻擊者發(fā)送通過(guò)一臺(tái)傀儡機(jī)(肉雞)或大量的傀儡機(jī)發(fā)送大量的TCP SYN請(qǐng)求到某個(gè)服務(wù)器。在SYN請(qǐng)求被發(fā)送之后,“握手”行為就永遠(yuǎn)也不會(huì)結(jié)束。服務(wù)器,由于一直設(shè)法維持SYN連接的信息并且等待握手行為的完成,最終耗盡它的資源并停止接收任何進(jìn)一步的TCP連接請(qǐng)求,因而拒絕了對(duì)真正用戶的訪問(wèn)。攻擊的目的就是讓服務(wù)器忙得無(wú)法完成正常服務(wù),破壞網(wǎng)絡(luò)正常的運(yùn)行。處理DDoS的攻擊最有效的方法就是架設(shè)防火墻,目前防火墻的重要任務(wù)就是防止DDoS的攻擊,在外網(wǎng)路由器加入防火墻可以有效屏蔽DDoS的數(shù)據(jù)包,同時(shí)若對(duì)外網(wǎng)ICMP和TCP的數(shù)據(jù)包進(jìn)行檢測(cè),檢查數(shù)據(jù)包的大小也可以過(guò)濾一部分攻擊效果。侵入型的攻擊多尋找服務(wù)器的漏洞和網(wǎng)絡(luò)漏洞,侵入服務(wù)器獲取有用數(shù)據(jù),或?qū)⒎?wù)器變成傀儡機(jī)。要防止侵入攻擊首要的任務(wù)就是為服務(wù)器打補(bǔ)丁,這樣可以防范系統(tǒng)級(jí)的漏洞,其次在防火墻配置訪問(wèn)策略,限制端口的訪問(wèn),例如提供WEB服務(wù)的服務(wù)器,只需要開(kāi)80端口即可,服務(wù)器本身的135、139等端口應(yīng)限制訪問(wèn)。再次就是軟件開(kāi)發(fā)過(guò)程中的登錄安全設(shè)計(jì),防止出現(xiàn)登錄漏洞,數(shù)據(jù)庫(kù)訪問(wèn)漏洞,DMZ區(qū)的設(shè)計(jì)多為此處設(shè)計(jì)考慮。

內(nèi)網(wǎng)主要受到的安全危險(xiǎn)包括病毒、非授權(quán)訪問(wèn)、技術(shù)之外的問(wèn)題等。

病毒和木馬是內(nèi)網(wǎng)安全的一個(gè)非常重要的問(wèn)題,病毒和木馬瘋狂復(fù)制自己,達(dá)到在網(wǎng)絡(luò)中傳播,占用大量網(wǎng)絡(luò),造成網(wǎng)絡(luò)癱瘓,同時(shí)影響正常軟件的運(yùn)行。當(dāng)前流行的病毒一般是通過(guò)網(wǎng)絡(luò)下載運(yùn)行,或移動(dòng)設(shè)備運(yùn)行傳播。要控制病毒和木馬的泛濫,首先要對(duì)計(jì)算機(jī)進(jìn)行保護(hù),例如系統(tǒng)還原軟件,殺病毒軟件,可以有效檢測(cè)和快速處理病毒。然后為不同的機(jī)構(gòu)設(shè)置不同的VLAN,限制VLAN間的訪問(wèn),這樣即使某一個(gè)機(jī)構(gòu)的病毒泛濫,也不會(huì)影響另一個(gè)機(jī)構(gòu)的網(wǎng)絡(luò)狀況。

非授權(quán)訪問(wèn),對(duì)于校園網(wǎng)內(nèi)的辦公軟件、財(cái)務(wù)軟件、學(xué)籍管理部分,對(duì)于學(xué)生是不能隨意訪問(wèn)的,雖然所有的辦公軟件等都是需要登錄后才可以使用,但軟件難免存在未知的漏洞,最好的解決辦法是從網(wǎng)絡(luò)訪問(wèn)策略中限制訪問(wèn),例如在學(xué)院內(nèi)的機(jī)房、辦公樓設(shè)置好VLAN,且只有VLAN段內(nèi)限定的IP地址范圍可發(fā)送數(shù)據(jù)包出VLAN。在防火墻和交換機(jī)的配置中,限制僅允許指定IP地址段可訪問(wèn)DMZ區(qū)的辦公軟件。

一些非技術(shù)的安全問(wèn)題:1、部分部門(mén)的教工管理不嚴(yán)格,造成具有惡意人員操作了受限制訪問(wèn)的內(nèi)部網(wǎng)資源。例如學(xué)生操作了某部門(mén)領(lǐng)導(dǎo)的辦公計(jì)算機(jī),這可能使部分人員越權(quán)訪問(wèn)資源。2、教工對(duì)安全意識(shí)的淡薄,例如登錄辦公軟件后沒(méi)有安全退出,其他人可以任意訪問(wèn)。3、BT等點(diǎn)對(duì)點(diǎn)下載非教學(xué)相關(guān)內(nèi)容,BT等點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)軟件,具有很多優(yōu)點(diǎn),包括一些很重要的學(xué)習(xí)資料的網(wǎng)絡(luò)共享,但也有一些是與教學(xué)等無(wú)關(guān)的娛樂(lè)資源,例如電影、游戲,這些內(nèi)容的下載會(huì)嚴(yán)重影響網(wǎng)絡(luò)的穩(wěn)定運(yùn)行,也有可能引入病毒和木馬。對(duì)于上述這些問(wèn)題則需要指定相應(yīng)的政策和法規(guī)來(lái)進(jìn)行約束。

該文通過(guò)軟件開(kāi)發(fā)過(guò)程和網(wǎng)絡(luò)環(huán)境的配置兩個(gè)方面敘述了校園網(wǎng)內(nèi)教學(xué)管理軟件開(kāi)發(fā)運(yùn)行中的一些問(wèn)題,說(shuō)明了軟件的開(kāi)發(fā)與網(wǎng)絡(luò)的安全有著必然的聯(lián)系,只有軟件以及軟件的運(yùn)行環(huán)境都經(jīng)過(guò)詳細(xì)的安全設(shè)計(jì)和分析,才能確保軟件安全穩(wěn)定的運(yùn)行,以發(fā)揮教學(xué)管理軟件的功能和重要作用。

基金項(xiàng)目名稱:國(guó)家教師科研基金“十二五”教育科研重點(diǎn)課題,編號(hào):CTF120510。

參考文獻(xiàn):

[1]郭萍.淺析高校校園網(wǎng)安全隱患及防范技術(shù)[J].湖北三峽職業(yè)技術(shù)學(xué)院學(xué)院,2010,(12).

篇7

關(guān)鍵詞:Android JDBC DBUtil MVC模式 課堂測(cè)試

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2014)12(a)-0002-01

學(xué)生舉手發(fā)言在小學(xué)生的課堂上是一道亮麗的風(fēng)景線,但在大學(xué)生的課堂上卻仿佛是等待的多,老師一方面深知學(xué)生們不會(huì)主動(dòng)發(fā)言,另一方面又對(duì)他們充滿希望。學(xué)生仿佛在成長(zhǎng)的階段里逐漸喪失了某一種天性,舉手不再是隨心所欲而是有信心沒(méi)勇氣。如今,智能手機(jī)在大學(xué)生群體中盛行,學(xué)生上課玩手機(jī)已是普遍,但如果能將學(xué)生上課玩手機(jī)變成學(xué)生上課用手機(jī)與老師互動(dòng)豈不更妙。課堂測(cè)試軟件就可改善這一現(xiàn)狀,它主要是指無(wú)線互聯(lián)網(wǎng)和安卓技術(shù)在課堂上的應(yīng)用,學(xué)生可通過(guò)手機(jī)終端接受教師的試題,并且可將自己的答案?jìng)魉徒oweb端的教師,教師通過(guò)該軟件可以更好地掌握學(xué)生課堂學(xué)習(xí)情況,提高學(xué)生的聽(tīng)課效率。

1 軟件設(shè)計(jì)

1.1 Android平臺(tái)

Android是基于Linux平臺(tái)的開(kāi)源手機(jī)操作系統(tǒng)。該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,是首個(gè)為移動(dòng)終端打造的真正開(kāi)放和完整的移動(dòng)軟件。Android最大特點(diǎn)在于它具有非常好的開(kāi)發(fā)和調(diào)試環(huán)境,而且支持各種可擴(kuò)展的用戶體驗(yàn)。開(kāi)發(fā)課堂測(cè)試軟件是離不開(kāi)智能手機(jī)平臺(tái)的,而Android智能手機(jī)平臺(tái)系統(tǒng),以其開(kāi)源、開(kāi)放和優(yōu)異便捷的開(kāi)發(fā)架構(gòu),成為首選。

1.2 軟件架構(gòu)

課堂測(cè)試軟件主要由三部分組成:PCweb端、服務(wù)器和手機(jī)Android端,需要實(shí)現(xiàn)的功能是:web端通過(guò)服務(wù)器發(fā)送題目給Android端,Android端通過(guò)服務(wù)器提交答案給web,web端可以將學(xué)生答案與正確答案進(jìn)行比較分析。

1.3 服務(wù)器搭建

JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問(wèn)。DBUtil是Apache的一個(gè)開(kāi)源項(xiàng)目,是JDBC的輕量級(jí)的封裝。使用它最方便的地方在于,原來(lái)使用JDBC從數(shù)據(jù)庫(kù)中查詢得到的結(jié)果集需要將每一行數(shù)據(jù)封裝到實(shí)體對(duì)象中,然后將實(shí)體對(duì)象加入到集合中,而使用DBUtil可以直接通過(guò)sql語(yǔ)句得到集合對(duì)象或者實(shí)體對(duì)象。

Android手機(jī)端的服務(wù)器和Web服務(wù)器需要連接同一個(gè)服務(wù)器,都需要調(diào)用DBUtil類的業(yè)務(wù)方法。將啟動(dòng)手機(jī)端服務(wù)器的代碼寫(xiě)到Web容器的ServletContextListener監(jiān)聽(tīng)器中,這樣當(dāng)Web容器啟動(dòng)時(shí)就會(huì)指定啟動(dòng)手機(jī)端服務(wù)器的代碼。手機(jī)端的服務(wù)器啟動(dòng)后,會(huì)創(chuàng)建一個(gè)ServerSocket監(jiān)聽(tīng)指定的端口,同時(shí)還會(huì)啟動(dòng)一個(gè)線程ServerThread負(fù)責(zé)監(jiān)聽(tīng)用戶的連接,每當(dāng)有客戶端進(jìn)行連接時(shí),創(chuàng)建并啟動(dòng)一個(gè)ServerAgent進(jìn)程對(duì)象專門(mén)負(fù)責(zé)與該客戶端進(jìn)行通信。

1.4 PC web端和手機(jī)Android端的實(shí)現(xiàn)

Web端和Android端的實(shí)現(xiàn)主要采用MVC模式的技術(shù),MVC全名是Model View Controller,即模型-視圖-控制器,允許使用各種不同樣式的視圖來(lái)訪問(wèn)同一個(gè)服務(wù)器端的代碼。視圖層是提供給用戶的操作界面,是程序的外殼;數(shù)據(jù)層,就是程序需要操作的數(shù)據(jù)或信息;控制層負(fù)責(zé)根據(jù)用戶從“視圖層”輸入的指令,選取“數(shù)據(jù)層”中的數(shù)據(jù),然后對(duì)其進(jìn)行相應(yīng)的操作,產(chǎn)生最終結(jié)果。它的提出是為了適應(yīng)越來(lái)越復(fù)雜的項(xiàng)目開(kāi)發(fā),JSP+JavaBean+Servlet可以很好實(shí)現(xiàn)該模式。

DBUtil訪問(wèn)后臺(tái)數(shù)據(jù)庫(kù),Servlet響應(yīng)HttpRequest請(qǐng)求,并返回響應(yīng)結(jié)果,后臺(tái)采用MVC+DAO的設(shè)計(jì)模式及分層結(jié)構(gòu)。服務(wù)器端主要包括采用DAO設(shè)計(jì)模式實(shí)現(xiàn)的訪問(wèn)數(shù)據(jù)庫(kù)接口及其實(shí)現(xiàn)類。實(shí)現(xiàn)軟件課堂測(cè)試的Servlet類包括:loginServlet用于接收用戶登錄的信息完成用戶驗(yàn)證,把驗(yàn)證結(jié)果返回給前臺(tái),SentTestServlet和ReceiveAnswerServlet分別用于web端發(fā)送試題和接收答案,ReceiveTestServlet和SentAnswerServlet分別用于Android端接受試題和提交答案,AmountAnswerServlet用于統(tǒng)計(jì)答題人數(shù)等。

以試題功能為例,首先從request中讀取試題項(xiàng),調(diào)用PreparedStatement的executeUpdate方法向數(shù)據(jù)庫(kù)的試題表中插入新的記錄,根據(jù)executeUpdate的返回值設(shè)置writeNewNotice方法的返回值,最終將其設(shè)置到request中的屬性。

2 結(jié)語(yǔ)

該文介紹了一種基于Android平臺(tái)的課堂測(cè)試軟件的設(shè)計(jì)與開(kāi)發(fā),該軟件完成了包括Android端、web端和服務(wù)器端功能框架的整體的設(shè)計(jì)開(kāi)發(fā)和系統(tǒng)部署。開(kāi)發(fā)過(guò)程將web前臺(tái)的設(shè)計(jì)和Android的開(kāi)發(fā)使用同一服務(wù)器來(lái)綁定,選用便于操作的Dbutils操作數(shù)據(jù)庫(kù),采取重用性高的MVC模式構(gòu)建程序,通過(guò)眾多特色技術(shù)來(lái)實(shí)現(xiàn)課程測(cè)試軟件的功能,不僅達(dá)到了要求,同時(shí)代碼簡(jiǎn)練。此款軟件在經(jīng)過(guò)后期的一些安全問(wèn)題及細(xì)節(jié)優(yōu)化后,即將在小范圍投入使用,相信它可以為師生提供一個(gè)更好的交流平臺(tái)。

參考文獻(xiàn)

[1] 歐陽(yáng)零.Android核心技術(shù)與實(shí)例講解(第2版)[M].北京:電子工業(yè)出版社,2013.

篇8

關(guān)鍵詞關(guān)鍵詞:Gtest;Gmock;單元測(cè)試;集成測(cè)試;企業(yè)軟件

中圖分類號(hào):TP319

文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):16727800(2014)002007604

0引言

一個(gè)軟件的生命周期,從用戶需求規(guī)格說(shuō)明開(kāi)始,經(jīng)過(guò)計(jì)劃溝通(需求分析)、策劃(制定計(jì)劃、風(fēng)險(xiǎn)評(píng)估)、建模(概要和詳細(xì)設(shè)計(jì))、構(gòu)建(編碼與測(cè)試)和部署(交付、支持和反饋)過(guò)程,最終提供一個(gè)完整的軟件設(shè)計(jì),并提供持續(xù)的技術(shù)支持[1]。在整個(gè)生命周期中,測(cè)試(即質(zhì)量控制QA)扮演著重要角色。軟件測(cè)試不僅僅發(fā)生在軟件生命周期后半部分,而是貫穿于整個(gè)軟件生命周期,包括詳細(xì)設(shè)計(jì)階段,跟進(jìn)項(xiàng)目設(shè)計(jì)測(cè)試大綱;在編碼實(shí)現(xiàn)的同時(shí),編寫(xiě)測(cè)試用例,進(jìn)行單元測(cè)試和模塊測(cè)試,繼而進(jìn)行集成測(cè)試、系統(tǒng)測(cè)試和壓力測(cè)試等。

在軟件系列測(cè)試中,單元測(cè)試和集成測(cè)試最能保證產(chǎn)品質(zhì)量,也最能發(fā)現(xiàn)代碼靜態(tài)檢查中的問(wèn)題,單元測(cè)試易被忽視。對(duì)大型企業(yè)軟件,特別是跨平臺(tái)軟件開(kāi)發(fā),由于軟件分支多,項(xiàng)目龐雜,開(kāi)發(fā)者疲于進(jìn)行完整單元測(cè)試,錯(cuò)過(guò)了糾正錯(cuò)誤的最佳時(shí)機(jī)[2]。根據(jù)經(jīng)驗(yàn),軟件測(cè)試越早發(fā)現(xiàn)錯(cuò)誤,糾正該錯(cuò)誤的代價(jià)越小。

在工程實(shí)踐領(lǐng)域,企業(yè)級(jí)軟件產(chǎn)品通常實(shí)行敏捷開(kāi)發(fā),要求盡可能縮短迭代過(guò)程,不斷集成,持續(xù)交付,對(duì)質(zhì)量控制提出了更嚴(yán)格的要求。在持續(xù)集成過(guò)程中,軟件代碼不斷變更,測(cè)試用例設(shè)計(jì)也經(jīng)常改變,而企業(yè)級(jí)軟件產(chǎn)品本身規(guī)模龐大、組件模塊多,如果沒(méi)有一套擴(kuò)展性好的單元測(cè)試框架,在持續(xù)集成過(guò)程中極早發(fā)現(xiàn)問(wèn)題,整個(gè)敏捷開(kāi)發(fā)迭代過(guò)程都會(huì)受到影響,從而延遲產(chǎn)品,給開(kāi)發(fā)者帶來(lái)很大壓力。

1.1Google C++ Testing Framework簡(jiǎn)介

Google C++ Test Framework (以下簡(jiǎn)稱GTest)是Google專為C++項(xiàng)目開(kāi)發(fā)的測(cè)試框架,該框架基于高獨(dú)立性、高重用性、易遷移性、富信息性、高執(zhí)行效率等原則設(shè)計(jì)。用戶代碼通過(guò)簡(jiǎn)單部署,進(jìn)行批量化宏調(diào)用,就能完成所期望的絕大部分測(cè)試工作,并得到豐富的測(cè)試結(jié)果。

1.2GTest的三個(gè)級(jí)別和兩種斷言

GTest測(cè)試分為三個(gè)級(jí)別:測(cè)試、測(cè)試用例、測(cè)試程序。測(cè)試程序通常是一個(gè)項(xiàng)目的整體測(cè)試框架;測(cè)試用例是針對(duì)整個(gè)模塊檢測(cè),一個(gè)測(cè)試程序會(huì)包括多個(gè)測(cè)試用例;測(cè)試則是對(duì)一個(gè)模塊內(nèi)具體方法的檢測(cè),因此一個(gè)測(cè)試用例包括很多個(gè)測(cè)試。這三個(gè)級(jí)別的具體實(shí)現(xiàn)方式將在后續(xù)給出試?yán)?/p>

斷言是GTest的基礎(chǔ),它是一種監(jiān)測(cè)被測(cè)代碼行為的機(jī)制。一個(gè)斷言是GTest宏的一次調(diào)用,而一次宏調(diào)用,就是一個(gè)測(cè)試。GTest的任何一個(gè)斷言,將產(chǎn)生以下三種結(jié)果之一:成功、非致命錯(cuò)誤、致命錯(cuò)誤。成功和非致命錯(cuò)誤不影響整個(gè)測(cè)試程序的進(jìn)行,而致命錯(cuò)誤會(huì)直接導(dǎo)致測(cè)試程序退出。

GTest將斷言分為兩類:EXPECT_*和ASSERT_*。前者在發(fā)生錯(cuò)誤時(shí),給出非致命錯(cuò)誤,使后續(xù)測(cè)試?yán)^續(xù)進(jìn)行;后者在發(fā)生錯(cuò)誤時(shí),強(qiáng)制整個(gè)測(cè)試程序退出。一般情況下,推薦使用EXPECT_*,除非該錯(cuò)誤出現(xiàn)直接導(dǎo)致后續(xù)測(cè)試不能再按照所期望的情況執(zhí)行[3],如出現(xiàn)重大內(nèi)存溢出,數(shù)據(jù)驅(qū)動(dòng)文件讀寫(xiě)錯(cuò)誤等。

1.3Google C++ Mocking Framework簡(jiǎn)介

Mock的編程行為,在任何一種語(yǔ)言實(shí)現(xiàn)的任何一個(gè)工程中都有其適用范圍和意義。Mock行為使用戶代碼可以模擬所依賴的功能模塊,自行構(gòu)建偽模塊,獨(dú)立進(jìn)行單元測(cè)試[4]。使開(kāi)發(fā)者在缺少外部環(huán)境(如數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)等)支持、項(xiàng)目設(shè)計(jì)人員支持或其他開(kāi)發(fā)人員支持的情況下,也能較完整地對(duì)本模塊進(jìn)行測(cè)試,減少某一方法的測(cè)試對(duì)其它模塊的依賴性。

Google C++ Mocking Framework (以下簡(jiǎn)稱GMock) 是Google為配合GTest而設(shè)計(jì)實(shí)現(xiàn)的一套Mock機(jī)制。Mock存在以下問(wèn)題:①M(fèi)ock工作繁雜、機(jī)械且易出錯(cuò);②手工Mock的準(zhǔn)確度因人而異,不易度量,測(cè)試結(jié)果的參考價(jià)值大打折扣;③Mock工作更具體,更涉及業(yè)務(wù)。因此,在一個(gè)Mock上的經(jīng)驗(yàn),不大可能應(yīng)用到另一個(gè)Mock上。

GMock被同時(shí)設(shè)計(jì)成自動(dòng)化設(shè)計(jì)工具和測(cè)試工具。在接口設(shè)計(jì)過(guò)程中,盡可能使用GMock進(jìn)行接口功能性和易用性考察;在具體功能實(shí)現(xiàn)后,可以獨(dú)立對(duì)功能模塊進(jìn)行測(cè)試。

1.4GMock的Mock范圍

GMock推薦將所有方法虛化(接口化)[6],因?yàn)镸ock C++虛方法不論從編碼角度,還是從GMock內(nèi)部邏輯實(shí)現(xiàn)上,都更簡(jiǎn)單。這并不代表GMock只有這一種Mock支持。GMock幾乎可以Mock任何C++方法機(jī)制,包括虛方法(接口)、實(shí)函數(shù)和靜態(tài)方法。不論從測(cè)試代碼實(shí)現(xiàn)難度上,還是用例維護(hù)難度上,都是目前市場(chǎng)上大部分C++測(cè)試和Mock框架所不能比擬的。

2CISCO JabberWerxCPP開(kāi)發(fā)測(cè)試框架設(shè)計(jì)

CISCO JabberWerxCPP(以下簡(jiǎn)稱JWCPP)是CISCO眾多產(chǎn)品的底層通信庫(kù),是XMPP系列協(xié)議的C++跨平臺(tái)實(shí)現(xiàn)。項(xiàng)目整體由數(shù)十個(gè)模塊構(gòu)成,實(shí)現(xiàn)代碼約50余萬(wàn)行。其結(jié)構(gòu)特點(diǎn)是功能組件化,模塊之間依賴關(guān)系復(fù)雜。JWCPP的組件化模塊組織方式如圖1所示。

可見(jiàn),JWCPP的最終產(chǎn)品,將JWXmppMgr、JWLoginMgr和JWConfigInfo三個(gè)模塊暴露給上層用戶,它們是API的提供者。iConnect模仿COM組件機(jī)制,將整個(gè)JWCPP的功能模塊以組件化形式組織起來(lái),對(duì)上述三個(gè)API模塊而言,是功能的具體實(shí)例化者;在iConnect下層,則是每一個(gè)具體組件模塊,它們從功能上被分為業(yè)務(wù)部分和工具部分。

基于JWCPP的產(chǎn)品特點(diǎn)可見(jiàn):①對(duì)于集成測(cè)試,只需從上層接口入手,輔以良好的結(jié)構(gòu)設(shè)計(jì),執(zhí)行產(chǎn)品標(biāo)準(zhǔn)初始化流程(iConnect的實(shí)例化過(guò)程),即可通過(guò)簡(jiǎn)單的接口調(diào)用,完成對(duì)功能的集成測(cè)試,通過(guò)GTest的斷言機(jī)制,判斷各功能實(shí)際執(zhí)行結(jié)果;②對(duì)于單元測(cè)試,底層業(yè)務(wù)部分和工具部分中各個(gè)模塊相互調(diào)用,關(guān)系錯(cuò)綜復(fù)雜,而所有功能模塊,都是從元組件conIUnknown、工廠組件conIClassFactory等組件中多重繼承而來(lái),繼承層次繁多,在每一層繼承中,又有各模塊自己的靜態(tài)方法、虛方法和方法覆蓋與重構(gòu),這對(duì)單元測(cè)試的實(shí)現(xiàn)提出了挑戰(zhàn)。GMock本身設(shè)計(jì)的出發(fā)點(diǎn)和特性,適用于這種龐大冗雜的項(xiàng)目測(cè)試?;谝陨戏治龅拈_(kāi)發(fā)測(cè)試框架如圖2所示。

需要強(qiáng)調(diào)的是,本項(xiàng)目中單元測(cè)試和集成測(cè)試性質(zhì)不同。集成測(cè)試關(guān)注功能完整性、各模塊間信息傳遞的正確性和最終整個(gè)業(yè)務(wù)流程的正確性,要求集成測(cè)試必須模擬實(shí)際產(chǎn)品環(huán)境,將整個(gè)產(chǎn)品在內(nèi)存中實(shí)例化,即執(zhí)行標(biāo)準(zhǔn)組件初始化、子組件工廠化生產(chǎn)等過(guò)程。而單元測(cè)試更多關(guān)注代碼級(jí)別的正確性,目的是盡可能遍歷所有可能的邏輯分支,這就決定了單元測(cè)試不需要實(shí)例化整個(gè)庫(kù)。該不同導(dǎo)致了集成測(cè)試的構(gòu)建具有結(jié)構(gòu)化、目標(biāo)清晰、重用性良好的特點(diǎn);而單元測(cè)試的構(gòu)建則較為繁雜,龐大和瑣碎。

3開(kāi)發(fā)測(cè)試框架實(shí)現(xiàn)

3.1集成測(cè)試

3.1.1集成測(cè)試實(shí)現(xiàn)原理

由圖1可知,將集成測(cè)試從產(chǎn)品代碼中獨(dú)立出來(lái)作為一個(gè)單獨(dú)項(xiàng)目,繼承產(chǎn)品所暴露的接口類,之后調(diào)用整個(gè)產(chǎn)品庫(kù)的初始化API,在內(nèi)存中實(shí)例化該庫(kù),并將其注冊(cè)到操作系統(tǒng)中,即可實(shí)現(xiàn)集成測(cè)試。

在集成測(cè)試框架設(shè)計(jì)中,主要引入三個(gè)環(huán)境構(gòu)建模塊:TAWaitForMgr、TAWaitForTimer和TAEvents。整個(gè)集成測(cè)試框架,實(shí)際是一個(gè)調(diào)用-等待-處理回調(diào)-驗(yàn)證的過(guò)程,由事件機(jī)制驅(qū)動(dòng)。TAWaitForMgr是事實(shí)上的API調(diào)用者,它調(diào)用API接口,激活TAWaitForTimer進(jìn)行等待和輪詢,當(dāng)檢測(cè)到狀態(tài)變化時(shí),激活事件機(jī)制TAEvents,產(chǎn)生回調(diào)事件,并對(duì)最終回調(diào)結(jié)果進(jìn)行驗(yàn)證,給出測(cè)試結(jié)果。在實(shí)現(xiàn)上,API的調(diào)用和測(cè)試結(jié)果驗(yàn)證,都被包含在GTest的斷言機(jī)制中。引入TestIClient模塊,作為最終管理所有TA的功能模塊。通過(guò)實(shí)例化一個(gè)TestIClient,可以實(shí)現(xiàn)對(duì)全局任意模塊的即時(shí)調(diào)用。

3.1.2集成測(cè)試偽代碼

3.2單元測(cè)試

3.2.1單元測(cè)試實(shí)現(xiàn)原理

就本項(xiàng)目而言,各模塊間關(guān)系看似錯(cuò)綜復(fù)雜,但采用GMock的Mock機(jī)制,實(shí)際上消除了模塊間的依賴性,其實(shí)現(xiàn)要比集成測(cè)試更為簡(jiǎn)單。同時(shí),由于單元測(cè)試不涉及業(yè)務(wù)邏輯,避免了集成測(cè)試實(shí)現(xiàn)過(guò)程中的調(diào)用—等待—處理回調(diào)—驗(yàn)證過(guò)程,也意味著單元測(cè)試不需要通過(guò)產(chǎn)品實(shí)例化過(guò)程進(jìn)行耗時(shí)的初始化。本項(xiàng)目采用集成測(cè)試管理所有TA測(cè)試模塊,引入TestUClient來(lái)統(tǒng)一管理TA單元測(cè)試模塊。

3.2.2單元測(cè)試偽代碼

5結(jié)語(yǔ)

本文在對(duì)企業(yè)級(jí)產(chǎn)品項(xiàng)目進(jìn)行特性分析的基礎(chǔ)上,闡述了采用基于GTest和GMock的測(cè)試框架的必要性;提供了集成測(cè)試和單元測(cè)試框架的設(shè)計(jì)實(shí)現(xiàn)過(guò)程;最后給出在實(shí)際環(huán)境中的運(yùn)行結(jié)果,表明了該設(shè)計(jì)方案的可實(shí)現(xiàn)性、易用性和高效性。后續(xù)研究中,將嘗試把該套測(cè)試框架與項(xiàng)目的持續(xù)集成系統(tǒng)相結(jié)合,實(shí)現(xiàn)項(xiàng)目開(kāi)發(fā)測(cè)試的完全自動(dòng)化。

參考文獻(xiàn):

[1]ROGER S PRESSMAN.軟件工程:實(shí)踐者的研究方法[M].鄭人杰,譯.北京:機(jī)械工業(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è)計(jì)軟件二次開(kāi)發(fā)現(xiàn)狀探討

目前,我國(guó)平面設(shè)計(jì)軟件的二次開(kāi)發(fā)主要由兩種方式。一種是通過(guò) adobe 公司的官方授權(quán),而軟件開(kāi)發(fā)企業(yè)進(jìn)行開(kāi)發(fā)。另一種是軟件平面設(shè)計(jì)人員或軟件開(kāi)發(fā)人員為了自身使用便捷性等進(jìn)行的私自開(kāi)發(fā)。受不同開(kāi)發(fā)方式的特點(diǎn)使得兩種方式開(kāi)發(fā)中都存在著諸多的不足。例如:軟件開(kāi)發(fā)企業(yè)受市場(chǎng)利潤(rùn)、開(kāi)發(fā)人員對(duì)平面設(shè)計(jì)專業(yè)理解不深等因素影響,軟件開(kāi)發(fā)中存在諸多的不足。而平面設(shè)計(jì)人員針對(duì)平面設(shè)計(jì)工作需求進(jìn)行的二次開(kāi)發(fā)雖然具有較高的效果,但是由于不能進(jìn)行市場(chǎng)運(yùn)作,好的軟件系統(tǒng)只能在自己或朋友間使用。針對(duì),adobe photoshop 的友好界面以及允許用戶二次開(kāi)發(fā)的特點(diǎn),現(xiàn)代平面設(shè)計(jì)人員越來(lái)越多的根據(jù)自身習(xí)慣以及使用需求進(jìn)行二次開(kāi)發(fā)。而商業(yè)企業(yè)也通過(guò)編程人員對(duì)平面設(shè)計(jì)工作了解的加深、網(wǎng)絡(luò)調(diào)查問(wèn)卷等形式為二次開(kāi)發(fā)提供了基礎(chǔ)需求信息。針對(duì)這樣的環(huán)境,現(xiàn)代平面設(shè)計(jì)軟件如何進(jìn)行二次開(kāi)發(fā)是軟件開(kāi)發(fā)企業(yè)面臨的首要問(wèn)題。筆者以自身開(kāi)發(fā)編程經(jīng)驗(yàn)以及對(duì)平面設(shè)計(jì)人員的調(diào)查走訪等作為基礎(chǔ),對(duì)平面設(shè)計(jì)軟件的二次開(kāi)發(fā)進(jìn)行了簡(jiǎn)要論述。

2 平面設(shè)計(jì)軟件二次開(kāi)發(fā)重點(diǎn)與方式

2.1 以平面設(shè)計(jì)軟件需求為基礎(chǔ)確定開(kāi)發(fā)方向與重點(diǎn)

現(xiàn)代軟件開(kāi)發(fā)企業(yè)在進(jìn)行平面設(shè)計(jì)軟件二次開(kāi)發(fā)前,應(yīng)加強(qiáng)對(duì)平面設(shè)計(jì)軟件市場(chǎng)情況、應(yīng)用需求等內(nèi)容的調(diào)查與分析。以此為基礎(chǔ)確定平面設(shè)計(jì)軟件二次開(kāi)發(fā)方向與重點(diǎn)。通過(guò)對(duì)市場(chǎng)情況、使用人群的調(diào)查使企業(yè)能夠針對(duì)市場(chǎng)運(yùn)營(yíng)情況、平面設(shè)計(jì)人員使用需求等確定開(kāi)發(fā)方向與重點(diǎn)。以此使二次開(kāi)發(fā)后的平面設(shè)計(jì)軟件能夠更具市場(chǎng)競(jìng)爭(zhēng)力、更加符合平面設(shè)計(jì)人員的需求,為提高平面設(shè)計(jì)軟件二次開(kāi)發(fā)市場(chǎng)價(jià)值、市場(chǎng)競(jìng)爭(zhēng)力奠定基礎(chǔ)。

2.2加強(qiáng)平面設(shè)計(jì)專業(yè)應(yīng)用的深入了解與理解,實(shí)現(xiàn)科學(xué)的平面設(shè)計(jì)軟件二次開(kāi)發(fā)

加強(qiáng)平面設(shè)計(jì)專業(yè)應(yīng)用的深入了解與理解是現(xiàn)代平面設(shè)計(jì)軟件二次開(kāi)發(fā)的關(guān)鍵。只有針對(duì)專業(yè)應(yīng)用的、面向應(yīng)用對(duì)象的二次開(kāi)發(fā)才能夠使二次開(kāi)發(fā)后的平面設(shè)計(jì)軟件符合專業(yè)應(yīng)用需求,提高二次開(kāi)發(fā)軟件的市場(chǎng)競(jìng)爭(zhēng)力。首先,平面設(shè)計(jì)軟件二次開(kāi)發(fā)企業(yè)應(yīng)按照開(kāi)發(fā)功能、開(kāi)發(fā)方向等對(duì)平面設(shè)計(jì)工作、專業(yè)應(yīng)用等進(jìn)行深入的了解。并采用調(diào)查問(wèn)卷、從業(yè)人員調(diào)查等方式對(duì)現(xiàn)代平面設(shè)計(jì)工作軟件需求進(jìn)行調(diào)研。在此基礎(chǔ)上,分析平面設(shè)計(jì)軟件允許二次開(kāi)發(fā)的實(shí)際情況,開(kāi)展軟件二次開(kāi)發(fā)。通過(guò)這樣的方式能夠使平面設(shè)計(jì)軟件二次開(kāi)發(fā)企業(yè)所開(kāi)發(fā)的產(chǎn)品更加符合市場(chǎng)需求,促進(jìn)企業(yè)產(chǎn)品市場(chǎng)競(jìng)爭(zhēng)力的提高。

2.3 以 photoshop 為例對(duì)平面設(shè)計(jì)軟件二次開(kāi)發(fā)流程、重點(diǎn)進(jìn)行分析

Photoshop 作為現(xiàn)代平面設(shè)計(jì)中最為常用的平面設(shè)計(jì)軟件,從業(yè)人員對(duì)其功能需求、適用性等都有著較高的要求。雖然,adobe 公司通過(guò)不斷地更新對(duì)軟件系統(tǒng)進(jìn)行了完善,但是,該軟件的二次開(kāi)發(fā)仍具有較高的市場(chǎng)價(jià)值。Photoshop 的開(kāi)放體系結(jié)構(gòu)是該軟件獲得全球平面設(shè)計(jì)用戶認(rèn)可與推崇的關(guān)鍵。通過(guò)允許用戶和開(kāi)發(fā)者采用高級(jí)編程語(yǔ)言進(jìn)行擴(kuò)充、修改等二次開(kāi)發(fā)滿足用戶的特殊要求。首先,在軟件二次開(kāi)發(fā)過(guò)程中必須遵循一定的基本原則,使二次開(kāi)發(fā)過(guò)程能夠在基本原則的指導(dǎo)下有序的開(kāi)展,實(shí)現(xiàn)平面設(shè)計(jì)軟件二次開(kāi)發(fā)的目的。在 photoshop 平面設(shè)計(jì)軟件的二次開(kāi)發(fā)中,應(yīng)遵循模塊化設(shè)計(jì)原則。以模塊化設(shè)計(jì)原則使原有問(wèn)題簡(jiǎn)單化、是復(fù)雜需求以模塊方式逐個(gè)完成。通過(guò)模塊設(shè)計(jì)原則使設(shè)計(jì)過(guò)程或測(cè)試過(guò)程中能夠獨(dú)立進(jìn)行測(cè)試與優(yōu)化,促進(jìn)二次開(kāi)發(fā)工作效率與工作質(zhì)量的提高。遵循具有良好用戶界面原則使減少使用過(guò)程工作量的關(guān)鍵,在photoshop 軟件二次開(kāi)發(fā)過(guò)程中應(yīng)將良好用戶界面的便捷操作、幫助等功能作為開(kāi)發(fā)的重點(diǎn),避免誤操作等造成的損失。結(jié)構(gòu)合理性是軟件二次開(kāi)發(fā)的重點(diǎn)。根據(jù)photoshop 原有結(jié)構(gòu)為基礎(chǔ),在原有合理的結(jié)構(gòu)基礎(chǔ)上進(jìn)行相應(yīng)補(bǔ)充是現(xiàn)代 photoshop平鍵設(shè)計(jì)軟件二次開(kāi)發(fā)的主要方式。通過(guò)模塊化設(shè)計(jì)將平面設(shè)計(jì)軟件需求在原有合理結(jié)構(gòu)下進(jìn)行補(bǔ)充,實(shí)現(xiàn)二次開(kāi)發(fā)的最終目的。

以 photoshop 第三方插件二次開(kāi)發(fā)為例,首先應(yīng)了解調(diào)用插件的主程序,以此為宿主進(jìn)行二次開(kāi)發(fā)。然后根據(jù)二次開(kāi)發(fā)濾鏡的功能需求對(duì)濾鏡行為的飽和度、亮度、濾波等進(jìn)行模塊設(shè)定與開(kāi)發(fā)。在此基礎(chǔ)上,通過(guò)模塊與主程序的兼容性測(cè)試、模塊穩(wěn)定性測(cè)試等確定開(kāi)發(fā)質(zhì)量與效果,實(shí)現(xiàn)平面設(shè)計(jì)軟件二次開(kāi)發(fā)設(shè)計(jì)的目的。Photoshop 中的 SDK 提供了一些插件實(shí)例,這為photoshop 的二次開(kāi)發(fā)提供了很好的基礎(chǔ)。我們?cè)谶M(jìn)行插件開(kāi)發(fā)與編寫(xiě)時(shí),可以通過(guò)對(duì)實(shí)例的簡(jiǎn)單變更實(shí)現(xiàn)插件的制作。void PluginMain (const short selector,PISelectionParams *selectionParamBlock,long*data,short *result);這是 photoshop 的入口函數(shù)原型,如果想通過(guò)插件的編寫(xiě)實(shí)現(xiàn)區(qū)域的選擇可以通過(guò)selectionParamBlock ->documentInfo ->selection->bounds來(lái)獲取。根據(jù)插件程序編寫(xiě)的實(shí)際需求對(duì)實(shí)例中的相關(guān)函數(shù)參數(shù)進(jìn)行改變即可以實(shí)現(xiàn)基本的插件編寫(xiě)。

篇10

關(guān)鍵詞 C++語(yǔ)言 跨平臺(tái) 軟件開(kāi)發(fā) 設(shè)計(jì)實(shí)現(xiàn)

中圖分類號(hào):TP31 文獻(xiàn)標(biāo)識(shí)碼:A

20世紀(jì)70年代,Bell實(shí)驗(yàn)室首先開(kāi)發(fā)了C語(yǔ)言系列,經(jīng)過(guò)十年的演化變遷,80年代C++語(yǔ)言便應(yīng)運(yùn)而生。C++語(yǔ)言是C語(yǔ)言的改良進(jìn)化版本,除了沿用C語(yǔ)言直接運(yùn)行在機(jī)器上,不需要虛擬機(jī)作為中介的高效率特點(diǎn)之外,根據(jù)軟件開(kāi)發(fā)的需求還融入了虛函數(shù)、模板、操作符重載等特,因此C++語(yǔ)言得到了特別廣泛地應(yīng)用。C++語(yǔ)言幾乎所有的平臺(tái)下進(jìn)行使用,然而在不同平臺(tái)之間的應(yīng)用時(shí)卻難以兼容,隨著多元化軟件系統(tǒng)開(kāi)發(fā)的需求日益增加,如何在軟件開(kāi)發(fā)中設(shè)計(jì)并實(shí)現(xiàn)C++語(yǔ)言跨平臺(tái)的方案將會(huì)是今后工作的重點(diǎn)。

跨平臺(tái)是軟件開(kāi)發(fā)中的常用概念,指的是在一個(gè)操作平臺(tái)Windows設(shè)計(jì)開(kāi)發(fā)的應(yīng)用程序在另一個(gè)操作平臺(tái)Linux下同樣能夠使用運(yùn)行,二者完全兼容。隨著當(dāng)前軟件工程的迅猛發(fā)展,跨平臺(tái)的軟件開(kāi)發(fā)能夠給應(yīng)用程序本身帶來(lái)巨大的市場(chǎng)潛力,與此同時(shí),如果應(yīng)用軟件針對(duì)不同的CPU提供并測(cè)試各自的編譯版本,再到各自平臺(tái)上而產(chǎn)生不同的軟件版本,這樣的工作量是特別龐大的,因此,跨平臺(tái)的開(kāi)發(fā)致力于是應(yīng)用程序幾乎不做修改就能運(yùn)用到不同的平臺(tái)上。

1跨平臺(tái)軟件開(kāi)發(fā)的影響因素

在C++語(yǔ)言跨平臺(tái)軟件開(kāi)發(fā)過(guò)程中,除了各個(gè)平臺(tái)間差異性和兼容性之外,C++語(yǔ)言自身的特性以及編譯環(huán)境對(duì)其都有影響,無(wú)形之中加大了跨平臺(tái)軟件開(kāi)發(fā)的難度。

(1)不同平臺(tái)之間的差異性

軟件開(kāi)發(fā)中的編程語(yǔ)言并不能直接地作用于計(jì)算機(jī)硬件設(shè)備,它們需要調(diào)用系統(tǒng)的API接口來(lái)實(shí)現(xiàn)對(duì)計(jì)算機(jī)的控制操作,然而目前許多操作平臺(tái)的API接口都有自己的標(biāo)準(zhǔn),并且相互之間差異性較大,例如Windows系統(tǒng)和Unix系統(tǒng)之間的API接口的實(shí)現(xiàn)方式和實(shí)現(xiàn)原理都不一樣,這就在很大程度上阻礙了同一款軟件應(yīng)用于不同平臺(tái)。在實(shí)際開(kāi)發(fā)過(guò)程中,操作平臺(tái)的差異性會(huì)貫穿始終,從設(shè)計(jì)、代碼編寫(xiě)到最終測(cè)試都會(huì)涉及。

(2)編譯器的定義不同

編譯器的主要功能是根據(jù)特定的語(yǔ)言定義將源代碼轉(zhuǎn)變成為可執(zhí)行控制的指令,它顯然和C++語(yǔ)言的跨平臺(tái)應(yīng)用有著十分巨大的關(guān)聯(lián),由于語(yǔ)言定義的不同,同一種源代碼在不同的編譯器中最終得到的控制指令也不盡相同,這也就造成了跨平臺(tái)軟件開(kāi)發(fā)難以開(kāi)展實(shí)現(xiàn)。例如目前Windows平臺(tái)上的Visual Studio C++編譯器和Linux平臺(tái)上的GCC編譯器適用于C++程序代碼的編譯,然而由于C++的許多語(yǔ)言特性的實(shí)現(xiàn)細(xì)節(jié)都留給了編譯器開(kāi)發(fā)商,每個(gè)開(kāi)發(fā)商對(duì)編譯器的定義不同,從而致使C++源代碼不能跨平臺(tái)編譯。

(3)編譯系統(tǒng)的不同

編譯系統(tǒng)可以簡(jiǎn)單到一個(gè)執(zhí)行編譯器和連接器的命令腳本,也可以復(fù)雜到整個(gè)命令程序的生成??缙脚_(tái)的軟件開(kāi)發(fā)必須要使用一個(gè)統(tǒng)一標(biāo)準(zhǔn)的編譯系統(tǒng),這樣才能達(dá)到對(duì)程序代碼執(zhí)行的一致性。例如Windows系統(tǒng)下的Visual Studio和Apple的Interface Builder編譯系統(tǒng)完全束縛了跨平臺(tái)編譯系統(tǒng)的開(kāi)發(fā),這兩者之間的編譯定義、指令執(zhí)行都有著十分巨大的差別,往往同一個(gè)源代碼在各編譯系統(tǒng)中得到的編譯結(jié)果也完全不同,這也就導(dǎo)致跨平臺(tái)軟件開(kāi)發(fā)無(wú)從談起。

2 C++語(yǔ)言跨平臺(tái)軟件開(kāi)發(fā)的設(shè)計(jì)實(shí)現(xiàn)

C++語(yǔ)言跨平臺(tái)軟件開(kāi)發(fā)的實(shí)現(xiàn)還存在著一些因素的阻礙,因此,采取何種方法措施清除這些影響因素是實(shí)現(xiàn)跨平臺(tái)軟件開(kāi)發(fā)的關(guān)鍵。

(1)避免語(yǔ)言的擴(kuò)展特性

許多語(yǔ)言為了滿足軟件開(kāi)發(fā)的需求,往往會(huì)增添新的擴(kuò)展特性,然而新的特性由于缺乏長(zhǎng)期的實(shí)踐性和規(guī)范性,經(jīng)常出現(xiàn)沒(méi)有被確切測(cè)試和精確定義的意外情況,其中常常包含著許多的異常漏洞和非標(biāo)準(zhǔn)內(nèi)容,另外跨平臺(tái)開(kāi)發(fā)對(duì)于程序的異常十分敏感,稍有瑕疵就難以排除障礙,因此,在實(shí)際的軟件開(kāi)發(fā)過(guò)程中應(yīng)當(dāng)使用C++的標(biāo)準(zhǔn)特性而避免使用其擴(kuò)展特性。

(2)建立跨平臺(tái)代碼庫(kù)

在跨平臺(tái)軟件開(kāi)發(fā)過(guò)程中,通常會(huì)遇到某些特性定義一個(gè)平臺(tái)上有而另一個(gè)平臺(tái)上沒(méi)有的問(wèn)題,例如Windows平臺(tái)有樹(shù)形控件和遞歸互斥體,DOS下沒(méi)有線程,Linux下的線程是依據(jù)進(jìn)程來(lái)實(shí)現(xiàn),因此這就需要建立跨平臺(tái)代碼庫(kù)來(lái)解決這一問(wèn)題,通過(guò)建立一套完善的跨平臺(tái)代碼庫(kù)來(lái)實(shí)現(xiàn)某些特性統(tǒng)一化。

(3)采用腳本文件進(jìn)行管理

一般來(lái)說(shuō),軟件開(kāi)發(fā)過(guò)程中將會(huì)編寫(xiě)大量的代碼,特別是涉及到跨平臺(tái)領(lǐng)域時(shí),這一問(wèn)題就顯現(xiàn)地格外嚴(yán)重,因此為了是代碼編寫(xiě)更加簡(jiǎn)單明了,通常使用腳本文件進(jìn)行管理。利用腳本文件在程序編譯之前將相關(guān)文件從中剝離出來(lái),并分配到合適的位置上,然后再應(yīng)用程序的運(yùn)行過(guò)程中,再?gòu)呐渲梦募凶x取所需要的配置選項(xiàng),另外在軟件開(kāi)發(fā)過(guò)程中要盡量隔離平臺(tái)依賴程度較高的文件格式,而是采用腳本文件來(lái)進(jìn)行可控管理。

總而言之,隨著廣大用戶對(duì)軟件便利性和實(shí)用的渴求,跨平臺(tái)軟件開(kāi)發(fā)設(shè)計(jì)將會(huì)成為軟件工程中的一門(mén)重要分支,同時(shí)也將是今后軟件工程發(fā)展的方向趨勢(shì)。

參考文獻(xiàn)