




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
用于辦公室的自動化印機的設計與開發(fā)-軟件設計摘要隨著工業(yè)的不斷發(fā)展,逐級深化,經(jīng)歷了工業(yè)1.0到工業(yè)3.0的轉變。從18世紀60年代至19世紀中期的機械設備制造時代,到如今的信息化時代,機械化設備的使用越發(fā)頻繁,發(fā)展速度也逐漸加快,人們在享受機器帶來便利的同時,也對機器的操作和控制便捷性有更高的需求,如今,自動化設備已經(jīng)普及家家戶戶,自動化的機械產(chǎn)品也是層出不窮,但是在一些不引人注目的印章方面仍缺少自動化設備的幫助。通過在大學四年里學習和生活上的耳聞目染,感受到在很多地方還是在使用手動印章,例如學校教務處,需要在學生升學,請假,畢業(yè)和就業(yè)指導等事件中進行印章,而印章工作在校園里仍處于手動印章的狀態(tài),這不僅會延緩辦事效率還很浪費體力,本設計主要分析了國內外自動印章機的種類和發(fā)展趨勢,對已有的自動印章機做出改進,著重面向辦公人群,使用戶解放雙手,提升辦事效率。所以,本小組結合大學四年所學的機械原理、機械設計、c#、氣壓與液壓傳動等相關的專業(yè)知識,經(jīng)過研究,設計出一款帶有權限識別的自動化印章機。該后臺系統(tǒng)采用VisualStudio2017和sqlsever2014數(shù)據(jù)庫倆款軟件制作而成,通過C#里類庫中的類和數(shù)據(jù)庫之間的調用,實現(xiàn)了多用戶登錄,權限管理,出錯提示,修改密碼,信息查詢和打印模塊的基礎功能,對每個模塊劃分清晰明確,在為用戶提供了一些基本的服務模塊的同時,也很好的保證了印章的使用安全,是一個可以滿足基本服務需求的印章管理系統(tǒng)。關鍵詞:自動化,sqlsever數(shù)據(jù)庫,VisualStudio,類庫,類Designanddevelopmentofautomaticprintingmachineforoffice-softwaredesignAbstractWiththecontinuousdevelopmentanddeepeningofindustry,ithasexperiencedindustryOneToindustryThreeChange.Fromthemechanicalequipmentmanufacturingerainthe1860stothemid-19thcenturytotheinformationagetoday,Theuseofmechanizedequipmentismoreandmorefrequent,andthedevelopmentspeedisgraduallyaccelerated.Peopleenjoytheconvenienceofthemachine,butalsohavehigherdemandfortheconvenienceoftheoperationandcontrolofthemachine.Nowadays,automationequipmenthasbeenwidelyusedineveryhousehold,andautomatedmechanicalproductsareemerginginanendlessstream,butthereisstillalackofhelpofautomationequipmentinsomeunobtrusiveseals。ThroughfouryearsoflearningandlivingintheUniversity,Ifeelthatmanualsealisstillusedinmanyplaces,suchastheAcademicAffairsOfficeoftheUniversity,whichneedstobeusedineventssuchasstudents'enrollment,leave,graduationandemploymentguidance,whilethesealworkisstillinthestateofmanualsealinthecampus,whichwillnotonlydelaytheworkefficiencybutalsowastephysicalstrength.ThisdesignmainlyincludesThispaperanalyzesthetypesanddevelopmenttrendoftheautomaticsealmachineathomeandabroad,improvestheexistingautomaticsealmachine,andfocusesontheofficecrowd,Tofreehandsandimproveefficiency.Therefore,basedonthefour-yearmechanicalprinciple,mechanicaldesign,C,airpressureandhydraulictransmissionandotherrelatedprofessionalknowledge,thisgrouphasdesignedanautomaticsealmachinewithauthorityidentificationafterresearch.Thebackgroundsystemadoptsvisualstudio2017andSQLSever2014databaseismadebytwokindsofsoftware.ThroughthecallbetweentheclassanddatabaseintheclasslibraryinC,thebasicfunctionsofmulti-userlogin,authoritymanagement,errorprompt,passwordmodification,informationqueryandprintingmodulesarerealized.Eachmoduleisdividedclearlyandclearly.Whileprovidingsomebasicservicemodulesforusers,italsoensurestheuseofsealsWithsecurity,itisasealmanagementsystemthatcanmeetthebasicservicerequirements.Keywords:automation,SQLSeverdatabase,visualstudio,classlibrary,class目錄TOC\o"1-3"\h\u1緒論 11.1全自動印章機控制系統(tǒng)的概念 11.2全自動印章機的現(xiàn)狀 11.3自動印章機的優(yōu)點 21.4自動印章機存在的問題 21.5選題的研究意義 21.6本文的主要工作 22全自動印章機設計與開發(fā)總體方案設計 32.1設計概述 32.2全自動印章機的設計要求 42.3全自動印章機設計與開發(fā)總體方案 52.4本章小結 53系統(tǒng)開發(fā)工具介紹 53.1VisualStudio2017 53.2SQLSever2014數(shù)據(jù)庫 緒論全自動印章機是自動印章設備,是用機械代替人力,并通過系統(tǒng)對印章實行自動化的管理,使辦公效率更加的高效化和智能化,我國雖然很早就出現(xiàn)了印章技術,但對與印章的自動化設計起步較晚,近年來也是在不斷發(fā)展這種自動化的印章技術。本文將通過研究國內外的自動化打印設備,了解與學習自動印章的原理,并且研究各種管理系統(tǒng)的設計開發(fā),從而根據(jù)本組設計產(chǎn)品的需求,來設計出一套印章權限管理功能。1.1全自動印章機控制系統(tǒng)的概念全自動印章機的軟件系統(tǒng)主要功能是對使用者的級別,印章的大小進行識別和管理,而且可以實現(xiàn)歷史記錄查詢的功能,能查出什么身份的人在什么時間地點登陸使用了這個印章。1.2全自動印章機的現(xiàn)狀(1)國外全自動印章機發(fā)展現(xiàn)狀蓋章分為兩類,一類是蓋鋼印的。一類是蓋印泥的。在20世紀30~40年人們對鋼印印章有了需求,才慢慢出現(xiàn)了鋼印的印章機。隨著科技的進步,鋼印的印章機也在不斷的變化,但是工作原理基本是一樣的,沒有太大的變化。到當代出現(xiàn)了擊打打印機,由于本身屬于專用的擊打打印機,所以功能和使用范圍都受到了一定限制,沒有太大的變化。而蓋印泥章印的機器出現(xiàn)的很少。目前世界上有名的蓋章機有美國HEDMAN海德曼EDP-PLUSIN自動連續(xù)蓋章機、德國Reiner自動蓋章機等,這些都是擊打式蓋章機。SEAL-A型電子自動蓋章機,是印泥蓋章機,是目前可以查到的銷售的蓋章機。鋼印蓋章機的種類也不是太多。(2)國內自動印章機發(fā)展現(xiàn)狀印章在國內出現(xiàn)的很早,但在蓋章技術方面,技術比較單一,大多是人工手動蓋章。目前市場上主要有兩種形式的自動印章機,自動鋼印章機、擊打自動印章機。這兩種自動印章機的優(yōu)點是安全、智能化。共同的缺點是,功能單一,效率低,靈活性不夠高。1.3自動印章機的優(yōu)點印章的安全管理:原先的手動印章,在蓋章之后很難去查尋使用者在什么時候用的這個印章,是否可以使用這個印章,會存在跨權限使用而很難追查這個事情,如果自動印章機因為加入的安全系統(tǒng)的緣故,所以可以對使用者的級別進行管理,也可以查詢詳細的歷史記錄,很好的解決了這個問題。(2)自動印章機可以有效的代替人手蓋章,有效減少蓋章不均等問題,也可以讓方便蓋章者不再時無法蓋章等問題得到一個有效的解決辦法。也有效的提高了企業(yè)的勞動效率。(3)可以移動印章,本次的設計印章機可以活動印章,解決里蓋章位置不同或者紙張放置不同所產(chǎn)生的錯印問題。1.4自動印章機存在的問題現(xiàn)階段的自動印章機還存在無法多張紙張一次打印的問題,現(xiàn)階段的印章機由于無法放置很多紙張,所以只能讓使用者一次一張的放入紙張。1.5選題的研究意義根據(jù)身邊的環(huán)境選擇這個題目,現(xiàn)在很多地方政府或者國企,都在逐步的使用網(wǎng)絡印章,雖然還是會用手動蓋章,但因網(wǎng)絡印章可以提高辦事效率,手動印章正在逐漸變少,但在校園生活中,很多印章都得通過老師手印的方式來進行蓋章,這樣其實在日常的請假等方面同樣也會造成一些小的影響,比如一次有很多同學來蓋章,而老師又急于忙于手頭的工作,這樣就可能會導致辦事效率的減弱,為了改善這種問題,提高蓋章效率,節(jié)省時間,因此選擇了全自動印章機的設計與開發(fā)這項課題。1.6本文的主要工作主要是分為以下五個步驟對該印章管理系統(tǒng)進行研究與開發(fā):(1)對智能印章機的系統(tǒng)進行研究上網(wǎng)上查看一些智能印章機的系統(tǒng)和視頻進行研究,了解這些系統(tǒng)大致需要的功能有哪些,選擇性的放入自動印章機中。(2)對登陸界面和主界面,副頁面進行設計研究查閱相關視頻和資料又結合一些圖書管理系統(tǒng)的頁面設計,設計出自己需要的模型板塊,以及登陸界面和主界面的背景設計,主界面的板塊功能有:身份識別,尺寸選擇,歷史記錄的和打印份數(shù)的選擇,副業(yè)也要注意尺寸的選擇。(3)連接數(shù)據(jù)庫,實現(xiàn)多用戶管理和身份識別通過c#和SQLsever數(shù)據(jù)庫的連接和對數(shù)據(jù)庫的調用,實現(xiàn)多用戶的登陸,以及身份識別和管理什么身份對應可以使用的印章。(4)實現(xiàn)登陸日志的查詢同過對數(shù)據(jù)庫的調用,在數(shù)據(jù)庫中建立表以此記錄使用者的時間,在通過c#的編輯,將頁面登陸的用戶傳送進數(shù)據(jù)庫中。在通過登錄查詢界面獲取表中信息進行展示。各個功能模塊的開發(fā)除了以上基本的功能實施以外,還設計一些其他的模塊,在保證用戶有了基本的權限安全后的服務操作,如密碼修改,印章使用查詢等服務類功能。2全自動印章機設計與開發(fā)總體方案設計針對全自動印章機的運作流程,設計出可以實現(xiàn)對印章使用權限進行分類管控,實現(xiàn)印章機可以自由移動印章位置及自動按壓印章,以及印章機作為辦公用品,體積不宜過大為準則的結構設計與開發(fā)。本設計的控制系統(tǒng)使用氣動控制為核心,首先了解整個氣動系統(tǒng)元件的組成,再了解各個原件的原理和優(yōu)缺點,進行合適的元件種類和型號的選擇。使用IO模塊(工業(yè)級開關量模塊)進行串口通信,使C#中的程序可以與印章機進行適配。UI界面和后臺系統(tǒng)的設計中,通過了解各種管理系統(tǒng)的視頻,因為市面上很多印章管理系統(tǒng)較為復雜,除了觀看印章系統(tǒng)視頻以外也了解很多其他的管理系統(tǒng)的頁面布局及功能設計,如圖書管理系統(tǒng),超市收銀系統(tǒng)等最后,將軟件部分設計大體分為倆個設計方面,頁面布局設計和功能設計。2.1設計概述考慮到很多自動印章機的體積較大,系統(tǒng)也較為復雜,本次想設計一個小型便捷為目的的全自動印章機,計劃設計出一種可以放置在辦公桌面上的小型自動印章機,以小巧、移動便捷、造型簡單為目的,通過氣缸與機械結構相結合,利用滑桿等零件完成自動蓋章的任務,節(jié)約能量和成本。而在軟件系統(tǒng)方面的設計多以用戶的級別判定和安全考慮,當然也會為用戶提供一些基本的服務。其次市面上的印章機多數(shù)都是用電路系統(tǒng)作為主要的控制系統(tǒng),電機和繼電器為核心元件,但是基于創(chuàng)新性,本設計采用氣動系統(tǒng),供給兩個氣動系統(tǒng)的方案進行選擇。本設計采用的IO模塊正是比起沒有串口通信的印章機有很多優(yōu)點且更適合。IO0200作為繼電器輸出模塊,可以托負載,與軟件的程序的運行更適配,起到開關的作用。為了更直觀的了解本次設計的流程,本小組的整體流程圖如圖2.1所示:圖2.1設計流程圖2.2全自動印章機的設計要求針對全自動印章機的設計要求,總體來說要求印章機體積較小適合辦公,有一個可以提供基礎服務的后臺系統(tǒng)和UI界面以及可以自動化的控制印章,因此對每個要求進行細化總結后得出以下四點要求:結構設計要求:利用solidworks軟件對自動印章機的結構進行設計,首先確定自動印章機的大致外觀造型,然后在考慮自動印章機各部分零件大小、后續(xù)電子設備裝載空間等問題的基礎上,通過對各部分零部件的設計,以及完成各零件的裝配,最后形成自動印章機的完整結構,通過導出裝配圖和主要零部件工程圖,最終完成結構的設計。控制設計要求:氣動系統(tǒng)中的執(zhí)行元件——氣缸能根據(jù)軟件中的程序指令進行運作,要能使氣缸有足夠的力使印章實現(xiàn)張印,IO口串口通信的執(zhí)行程序能正常運行,使設備能接收到程序指令。設計要求如下:(1)氣動系統(tǒng)的氣壓能夠穩(wěn)定輸送,氣缸能夠穩(wěn)定進行往復運動。串口通訊實現(xiàn)和設備的通訊,把C#的程序編程指令與設備進行通信,實現(xiàn)使用權限和使用的記錄。保護電路確保在出現(xiàn)短路時能夠立刻斷開電路,保護電路和氣動系統(tǒng)。頁面設計要求:因為頁面布局設計需要整體的美觀程度,所以不采用VisualStudiao軟件的原邊框,也將主也面的尺寸調為1143*660,并且在圖片的選擇也進行了篩選,最終確定了倆張現(xiàn)代圓頭印章的圖片,并且將原有系統(tǒng)的主色調進行了調整。同時主界面的布局設計為左邊為功能模塊,右邊為副界面展示窗口,在修改密碼界面需要對使用者的設置的新密碼長度密碼做出提示。功能設計要求:在登陸界面,需要做到多個用戶的登陸管理,并且對登陸用戶的級別做一個初步的判定,并且對用戶輸入的面貌進行初步校驗,如用戶名是否為空,密碼是否大于6位,用戶名和密碼是否為空,在登陸成功后會彈出對級別判定后登陸成功的消息框,如歡迎學生使用。在登陸成功后,系統(tǒng)會將使用者的姓名,賬號,使用時間和結束時間錄入數(shù)據(jù)庫的日志表中。在主界面會上方顯示登陸者的名稱還有登陸的時間,主界面也需要做到,第一可以最小化,第二點擊關閉時可以關閉整個程序,在修改密碼界面需要做到自動是提取并顯示使用者名稱和賬號顯示,同時需要校驗新舊密碼是否重復,新密碼是否一樣,新密碼是否大于六位。在印章尺寸選擇按鈕的模塊,主要的功能是模擬打印時長,需要顯示打印中并且過10s以后會彈出答應成功等字樣,在登陸日志界面,需要調出后臺系統(tǒng)登陸日志,展示在UI層的登陸查詢界面,需要做到1.展示所用的人登陸時間2.通過賬號和用戶查詢個人使用并且可以選擇年,月,日或者從幾號到幾號的方法查詢,印章系統(tǒng)查詢,通過對后臺印章系統(tǒng)的調入,可以查詢使用者的名稱級別和所用印章。2.3全自動印章機設計與開發(fā)總體方案采用VisualStudiao2017版和SQLSever2014版數(shù)據(jù)庫來組建后臺系統(tǒng),控制系統(tǒng)由兩部分組成,一部分是氣動控制系統(tǒng),方案一是由氣泵,調壓閥,氣動電磁閥,氣缸組成,方案二是由空氣壓縮機,氣源雙聯(lián)件,氣動電磁閥,氣缸組成。另一部分是驅動系統(tǒng),主要有IO串口通信,可添加保護電路。而在結構方面主要由以下幾方面組成:機架、印章升降結構、印章左右前后移動工作平面、氣缸電磁閥等電子零件放置結構。2.4本章小結本章主要是對全自動印章機進行一個總體方案的概述,介紹了本設計中印章機的主要的軟件組成和頁面設計要求及功能需求及總體思路,需要考慮和解決的問題。3系統(tǒng)開發(fā)工具介紹本章節(jié)主要是對于畢業(yè)設計中所用到的VisualStudio2017和SQLSever2014數(shù)據(jù)庫軟件進行一個介紹,講解一下這個版本的軟件想比于其他版本所存在的優(yōu)勢。3.1VisualStudio2017VisualStudio2017是微軟于2017年3月8日正式推出的新版本,是迄今為止最具生產(chǎn)力的VisualStudio版本。其內建工具整合了.NETCore、Azure應用程序、微服務(microservices)、Docker容器等所有內容。相較于其他版本的VisualStudio,2017版可以更快,更詳細的給出程序中所給的錯誤,而其中的C#軟件中也更新了C#7.0的版本。在本次的設計工程中C#軟件主要負責頁面設計和連接以及數(shù)據(jù)庫的調用的一些基本編程。其模塊基本配置步驟如下(1)打開VisualStudio2017然后新建項目,選擇windows窗體應用,如圖3.1所示:圖3.1新建項目頁面(2)除了窗體應用,還需要建立幾個類庫,分別為Common(通用工具),DAL(數(shù)據(jù)訪問層),DBUitily(數(shù)據(jù)連接),models(數(shù)據(jù)表示層)。類庫選擇NETFramework這一類。如圖3.2所示:圖3.2建立類庫3.2SQLSever2014數(shù)據(jù)庫SQLServer系列軟件是Microsoft公司推出的關系型數(shù)據(jù)庫管理系統(tǒng)。2014年4月16日于舊金山召開的一場發(fā)布會上,微軟CEO薩蒂亞·納德拉宣布正式推出“SQLServer2014”。相較與原先的SQLSever2008或SQLSever2008R2版本,SQLServer2014可以是新手在建立數(shù)據(jù)庫或生成新的表的時候,可以通過鼠標右鍵直接建立新的數(shù)據(jù)庫,在新數(shù)據(jù)數(shù)據(jù)庫下面的表這個文件中右鍵即可建立新的表,表中國每個列的類型和行數(shù)都可以通過鼠標操作,而老版的數(shù)據(jù)庫只能通過代碼建立數(shù)據(jù)庫,當然SQLServer2014只能和win10系統(tǒng)匹配。本次設計中SQLSever2014數(shù)據(jù)庫是用來存儲寫入的數(shù)據(jù)以及提供數(shù)據(jù)和接受C#系統(tǒng)更新后的數(shù)據(jù),下面是數(shù)據(jù)庫的配置過程。(1)打開軟件,用windows身份登陸數(shù)據(jù)庫,在建立的連接上選擇屬性,進入服務器的屬性,將身份驗證改為SQLSever和Windows身份驗證模式(如圖3.3所示)然后點擊確定按鈕,做這步的原因是為了更好的讓數(shù)據(jù)庫和c#連接。圖3.3屬性頁面(2)點開安全性找到登陸名下的sa用戶,點開用戶修改密碼,并且進入設置頁面啟用登陸和允許改用戶連接數(shù)據(jù)庫。如圖3.4,圖3.5,圖3.6所示:圖3.4登陸名頁面圖3.5Sa屬性頁面圖3.6狀態(tài)設置(3)單機數(shù)據(jù)庫點擊新建以后會彈出如下圖所示的頁面,填入數(shù)據(jù)庫的名稱然后點擊添加即可,如圖3.7,圖3.8所示:圖3.7建立新數(shù)據(jù)庫圖3.8數(shù)據(jù)庫建成以后視圖4印章系統(tǒng)的調試及運行本章節(jié)主要分為三個部分來講:UI設計界面主要是展示每個模塊的頁面設計和功能的簡介,各類庫功能簡介主要是簡單概括各類庫在該設計中的結構位置和作用,功能實現(xiàn)章節(jié)主要講述了如何在各個類庫及UI界面中編寫程序去調用數(shù)據(jù)庫,來實現(xiàn)一些基礎功能。4.1C#UI層界面展示設計本節(jié)主要簡要描述在C#軟件中所設計的各個頁面的布局和功能簡介倆個方面進行介紹.4.1.1用戶登陸界面(1)用戶登錄界面基本的界面設計一個好的系統(tǒng)就需要好的登陸界面,所以需要設計出一個好看的頁面設計,需要將窗體原有的邊框去掉,更改窗體的背景顏色,選擇符合窗體的圖片做整體背景等步驟,設計出印章系統(tǒng)的登陸界面。如圖4.1,圖4.2所示:(a)(b)圖4.1通過FormBorderStyle屬性欄把Sizable改為None去掉邊框圖4.2登陸頁面完成圖(2)登陸界面的功能設計實現(xiàn)多用戶的登陸管理,區(qū)分學生與老師身份,以及在用戶登錄的時候對用戶完成基本的校驗,如用戶名不能為空,密碼必須大于六位,用戶名和密碼錯誤等提示。如圖4.3所示:(a)(b)(c)圖4.3密碼校驗功能展示三幅圖4.1.2主界面的設計(1)主界面頁面設計相對與登陸界面的設計不同的是,主界面的設計為了好看,參考了很多系統(tǒng)的主界面的設計和布局,最終把尺寸確定在去掉邊框以后尺寸為1366*768這個數(shù)值(如圖4.4所示:)并采用分頁式設計,左邊放入模塊按鈕,右邊放入界面圖片,并將lable控件的屬性值改變,用來做大模塊區(qū)域名稱和模塊區(qū)域的劃分,其次主頁面之外的分頁面都采用1150*662的尺寸標準。如圖4.5所示:圖4.4尺寸選擇圖4.5主界面頁面設計(2)主界面的功能設計首要實現(xiàn)最小化按鈕和關閉按鈕的功能,當點擊關閉按鈕時結束整個程序,點擊最小化是會將窗體最小化。其次在登陸時,需要顯示用戶的登陸名稱和上次的登陸時間,并且設計了很多模塊按鈕,當模塊按鈕被觸發(fā)時不會彈出窗體,而是將窗體展示在圖片區(qū)域。而且在學生登陸和老師登陸時,學生是不可以用8cm和10cm的印章的,所以在學生登陸時,8cm和10cm印章按鈕是無法被看見的。如圖4.6所示:圖4.6學生登陸界面4.1.3密碼修改模塊界面展(1)密碼修改模塊頁面設計在密碼修改界面需要設計倆個密碼長度的提示,還需要設計密碼修改的位置,在頂部會設計位置的標識,如圖所示,在當前用戶的賬號和當前用戶名稱這塊采用的是lable控件,將它的背景顏色和AutoSize屬性進行更改,得到當前的效果,這樣設置的目的是為了自動獲取用戶名和密碼顯示。如圖4.7所示:圖4.7修改密碼頁面(2)功能說明密碼修改界面的功能其實是將原先寫入數(shù)據(jù)庫中的密碼提取,在輸入原密碼時進行校驗,滿足校驗的要求以后,UI層會將更改后的新密碼在導入數(shù)據(jù)庫中將原有密碼進行替換。校驗的需求有(原密碼是否正確,原密碼和新密碼是否相同,倆次新密碼是否一樣,新密碼是否大于六位)。4.1.4登陸日志建立登陸日志是為了記錄什么人在什么時間段使用了這個系統(tǒng),使用了多少分鐘,為了將UI層的數(shù)據(jù)傳到數(shù)據(jù)庫中,應建立一個新的表,其中LogId的值需要設計成不斷自動增加值,然后在建立其他的列,LoginId,UserName,LoginTime,EndTime,從原有的登陸的表中獲取賬號,使用者名稱,開始時間,在點擊登陸按鈕時,通過登陸按鈕去向表格中輸入所需要的賬號,使用者名稱及時間,在關閉主界面時會想數(shù)據(jù)庫錄入退出時間,這樣每有人登陸一次系統(tǒng),表格中的數(shù)據(jù)就會自動更新一次。4.1.5模擬打?。?)打印的頁面設計頁面需要提示使用者所在的當前位置,自動顯示賬號和姓名,以及自行顯示份數(shù)的選擇。如圖4.8所示:圖4.8打印頁面設計(2)功能設計在使用者選擇確定鍵以后,會彈出一個等待窗體來告訴使用者,正在打印中需要等待10s,10s過后會顯示打印成功的消息盒,之后會關閉等待窗體。4.1.6登陸查詢模塊登陸查詢的頁面設計在登陸查詢的界面除了基礎的去除邊框的設計以外,需要設計一個可以展示登陸日志的表格,也需要設計賬號以及用戶名查詢位置,并且要設計所用,年,月,日從幾幾年幾月到某某年某月這種時段查詢按鍵。登陸查詢的功能設計登陸查詢界面在主界面點擊彈出此界面的同時需要彈出所用的用戶登陸情況,并且可以做到通過,天,周,月,年等選擇鍵和賬號用戶名進行精確的查找。4.1.7信息查詢模塊頁面設計這里分為老師信息表和學生信息表倆快,設計理念是在一些特定情況下使用者無法聯(lián)系老師或學生,使用者也可以通過該模塊查詢獲得老師或學生的基本信息,其中列名包含賬號,姓名,教師工號(學號)和聯(lián)系電話。同時還要設計賬號和用戶名進行單個賬號的查詢的文本框。如圖4.9所示:圖4.9信息查詢模塊頁面設計功能設計同設計賬號和用戶名進行單個賬號的查詢。這樣在可以方便使用者快速找出老師的聯(lián)系方式等基礎信息。4.2各類庫功能介紹本節(jié)主要介紹各個類庫在該系統(tǒng)設計中的結構位置以及各個類庫所對應的功能做一個簡單的概括。4.2.1DBuitily的概念在設計一款管理系統(tǒng)中,往往會在DBuitily層中建立數(shù)據(jù)庫通用訪問類SqlHelper.cs這一類庫,它主要的功能是對sql中調出調入的數(shù)據(jù)做出一個基本的運算調整,主要分為倆種類型,一種類型為用標準的sql語句,另一種類型為使用帶參數(shù)的sql語句,主要的方法有三種,一是實現(xiàn)對數(shù)據(jù)庫的增刪改,二是獲取一個單一的結果,三是獲取一個表。以此獲取并對數(shù)據(jù)庫進行修改。4.2.2models層介紹這類層設計起來比較簡單,以SysAdmins類為例,它主要是用來表示用戶的實體類model基本是數(shù)據(jù)庫中表的字段的集合,通過getset訪問器,可以從數(shù)據(jù)庫中獲得這個表中的列,只需在這個面的聲明屬性和數(shù)據(jù)庫中的字段一致,就可以接實例化model層的類給屬性賦值,然后就能向數(shù)據(jù)庫傳遞專這個類的實例了,之后就可以被讀取出來。如圖4.10所示:圖4.10models示例4.2.3DAL層介紹數(shù)據(jù)訪問層,這個層應該是負責程序與數(shù)據(jù)中心(除了數(shù)據(jù)庫,還有存儲數(shù)據(jù)的文件等)的交互,也就是將數(shù)據(jù)的增刪改查的操作封裝起來供其它層直接使,這個層也是實現(xiàn)很多功能的基礎層面,這個層面創(chuàng)立類中,會用到很多sql語句來創(chuàng)建讀取或者更改數(shù)據(jù)的方法,所以在此處做一個簡單的模式講解,如圖所示,先創(chuàng)立這個方法和里面所需類型,創(chuàng)立規(guī)則是public+類型(圖中為布爾類型,此外還有靜態(tài)類等)+方法名稱+()中所獲取的數(shù)據(jù)類型如圖中獲取的是整形和字符類型,接下來是準備sql語句,圖中的寫法為查找某列在數(shù)據(jù)庫的某個表中,并且獲取想要參數(shù),當然還有別的寫法,之后填充sql語句中的參數(shù),通過調用SqlHelper類方法類型去進行判斷,圖中就是獲取單一的數(shù)據(jù),最后將錯誤拋出。如圖4.11所示:圖4.11創(chuàng)立方法示例4.2.4Common層這個層面的功能比較簡單,主要是對一些數(shù)據(jù)進行輔助的驗證。方法如圖4.12所示:圖4.12Common層數(shù)字驗證示例4.3功能實現(xiàn)本節(jié)主要對各模塊功能的實現(xiàn)過程和實現(xiàn)的功能需求做出詳細的介紹。4.3.1.多用戶的登陸實現(xiàn)多個用戶的登陸管理,是諸多管理系統(tǒng)中的基礎部分,要想實現(xiàn)這個基礎的功能,需要步驟如下:在sql數(shù)據(jù)庫中建立登陸所用的表,在建立表的時候需要通過系統(tǒng)所需要的內容去建立列,本章所需要的列名有,賬號,密碼,使用者名稱,是否是學生,是否是老師,登陸的時間,當然在建立表的時候為了系統(tǒng)間不出錯統(tǒng)一使用英文名稱,在建立列時,需通過不同的需求去輸入不同的類型比如在賬號這個列中,如果需要參與數(shù)學運算,就需要選擇整形,如果字符長度過大則需要選擇varchar類型,而如果字符長度是固定的可以選擇char類型,在本系統(tǒng)中,輸入的類型如下:賬號int型,密碼和使用者名稱vaechar(20),是否是學生、老師bit型,上次登陸時間SmallDateTime型,同時還要設置主鍵為賬號。建立完成后刷新圖表,可右鍵點擊創(chuàng)建的表,選擇編輯前200行,在表格中進行數(shù)據(jù)輸入,也可在新建查詢中通過sql語句輸入數(shù)據(jù),本次輸入數(shù)據(jù)如表4.13所示:表4.13建立登陸用戶表(2)先生成一個實例化的鏈接,這個部分在DBuitily層中的SqlHelper.cs類庫中進行操作,先在窗體下面的App中輸入如圖示的公式,其中Source等于對應的數(shù)據(jù)庫的地址,這里使用的是本機地址,查詢方法是點開主機在點運行寫入cmd進入本機的查詢程序在輸入ipconfig,之后本地計算機上會顯示出該計算地址,復制粘貼即可,InitialCatalog這塊填寫在SqlSever中所填寫的數(shù)據(jù)庫,后面填寫在sqlsever身份驗證下所創(chuàng)立的用戶名與密碼,在App寫完以后在SqlHelper生成鏈接字符串如圖示,其實可以直接在SqlHelper中填寫鏈接語句,但這樣會把數(shù)據(jù)寫死,直接封裝起來,換一臺機子以后很難使用原有代碼,但App.config是C#系統(tǒng)自帶的一個配置程序,不用進行封裝,如果更換計算機,只需在其中填寫新的鏈接數(shù)據(jù),以及新建的數(shù)據(jù)庫即可。注意在生成鏈接字符時需引用App.config的空間名System.Configuration(如圖4.14所示)。之后就是在SqlHelper中建立調用數(shù)據(jù)庫的倆種類型的增刪改的三種方法。注意需要引用名稱,如圖4.15所示:圖4.14APP中的鏈接語句圖4.15SqlHelper鏈接字符與引用確定登陸窗體與主窗體的先后順序,這個程序是在窗體應用自帶的Program這個類里面寫的,先將窗體實例化,然后展示登陸窗體,在登陸驗證用過以后才展示主界面,方法如圖4.16所示:圖4.16實例化并展示窗體在SysAdmins類中輸入數(shù)據(jù)庫中的列,以及需要的類型。在SysAdminsServices類中寫入進行基本的身份驗證(見附錄)和對用戶名和密碼的對錯進行初步判斷的含有sql語句的方法,如圖4.17所示:圖4.17判斷密碼正確的方法在完成前面的基礎步驟以后在頁面設計出點擊登陸按鈕,在觸發(fā)按鈕的框架內完成對數(shù)據(jù)的校驗封裝和基本的身份驗證,如果成功就可以通過返回的值來判斷基本的密碼對錯以此來進行下一步,如果程序可以運行但無法正常登時會彈出用戶驗證時身份出錯,和具體系統(tǒng)的消息提示。方法如圖4.18所示:圖4.18數(shù)據(jù)分裝和校驗(7)判斷學生和老師的身份在完成了基本的驗證以后,需要對老師的和學生的身份進行基本的判斷,并且顯示歡迎老師或歡迎學生登陸的字樣,想實現(xiàn)這個功能并不復雜,只需在下面添加判斷語句就好,先通過上一個步驟返回進來的值去判斷密碼的對錯,后在判斷對錯if語句下面在加入elseif的再次判斷的語句去判斷登陸用戶是否為學生,如果值中判斷顯示是學生則顯示歡迎學生使用,之后添加else語句對不是學生的用戶顯示歡迎老師登陸。方法如圖4.19所示:(a)(b)圖4.19添加判斷句識別身份和密碼對錯4.3.2對用戶登陸的判斷提示和類型的優(yōu)化對于用戶來說基本的判斷對錯是無法讓用戶感覺到這是一個良好的系統(tǒng),所以針對這個問題,在賬號下端拖入一個label,將它的屬性值AutoSize調為False,并更改Name,更改規(guī)則是lbl+想用的名稱,通過這個label的text文本框可以展示出對用戶的登陸驗證細節(jié)進行了三個方面的優(yōu)化。登陸賬號是否為空判斷賬號是否為空是優(yōu)化提示中最簡單的,先寫入一個布爾類型返回值的新方法,在里面添加判斷語句去判斷輸入ID賬號的文本框是否為空,如果是則提示文本框中就顯示登陸賬號不能為空的字樣,并且將這個值進行反饋。方法如圖4.20所示:圖4.20密碼是否為空判斷登陸的id是否大于四位這個功能除了判斷語句以外,還需要添加正則表達式,所以去Common中新建立一個類在這個類中輸入一靜態(tài)類布爾個類型返回值的方法,在其中輸入正則表達式,圖中這個正則表達式是表示只能輸入數(shù)字的意思,很多的意思對應的正則表達式可以通過百度查詢。然后在登陸窗體的程序設計中引用Common已經(jīng)創(chuàng)建的方法下面,寫入判斷語句去判斷文本框中輸入的是否為數(shù)字且數(shù)字的長度是否=4,如果二者當中有一項不符合,則在提示文本框中顯示密碼必須是四位數(shù)字的字樣。然后反饋這個值。方法如圖4.21所示:圖4.21判斷id是否大于四密碼是否大于六位因為密碼不一定是純數(shù)字或者純字母,所以在這個功能中只需要在創(chuàng)建的方法下寫入語句判斷它輸入的密碼長度是否大于六位就可以l,之后在返回值。方法如圖4.22所示:圖4.22密碼長度判斷(4)細節(jié)優(yōu)化在以上判斷提示優(yōu)化完成以后點擊調試就會發(fā)現(xiàn),下面的提示文本框必須通過點擊登錄按鈕以后才可以發(fā)生變化,例如在賬號中輸入6位數(shù)字符直接點擊登錄,提示框會顯示出”密碼必須為四位“的字樣,之后在文本框中輸入一個正確的四位賬號,下面的提示無法立刻消失,必須點擊登錄才能顯示下一個判斷,針對這個問題做出優(yōu)化,在登錄窗口的設計頁面選中賬號文本框,打開它的屬性事件,找到名為TextChanged的事件點擊后會自動進入程序界面系統(tǒng)會自動創(chuàng)建一個方法,在方法下面輸入方法語句(如圖示)讓提示文本框跟隨變化。方法如圖4.23所示:圖4.23文本框變化4.3.3主界面模塊設計主界面其實更多的是外觀上的設計,大體的功能其實只是在觸發(fā)特定的模塊按鈕時彈出特定頁面,但主窗體其實也有一些細節(jié)上的設計,接下來將詳細介紹這些細節(jié)設計。在主界面的上展示使用者的名稱和上次登陸的時間想實現(xiàn)這個功能先在基本的SysAdminsServices類里面的身份驗證中添加上登陸用戶表中的其他列,獲得列以后就需要調用,倆個窗體之間的調用有倆種,一種是一個窗體調用另一個窗體,另一種是建立全局變量,因為本系統(tǒng)使用Program進行窗體調用的,所以采用第二種方式,在Program中定義一個全局變量。然后在登陸界面的程序中寫入觸發(fā)且驗證通過以后,把值賦給全局變量,最后回到主界面,修改倆個label空間的Name右鍵后點擊查看程序,在程序展示過程下面寫入展示程序。方法如圖4.24,圖4.25所示:圖4.24補全數(shù)據(jù)列(a)(b)圖4.25賦值和展示所需名稱和上次登陸時間修改上次登陸使用時間因為在數(shù)據(jù)庫的用戶登陸表中寫入的時間不是實時更行的時間,因而主界面中展示的并不是一個隨時更新的時間,所以需要實時的更改一個新的時間,因為獲取的時間是在登陸界面獲得的,所以應在登陸按鈕下進行程序的修改,獲取更改時間的方法,以及獲取數(shù)據(jù)庫中的時間,在SqlHelper中創(chuàng)建獲取的時間地點(方法如圖4.28所示)在DAL層中的SysAdminsServices類理用sql語句創(chuàng)建一個獲取更改時間方法(如圖4.26所示)在數(shù)據(jù)庫中找到賬號和上次登陸時間這一列,然后給它們重新賦值,之后在登陸界面的確定按鈕里面通過寫入try和catch語句,去更數(shù)據(jù)庫做交互(方法如圖4.27所示)從而完成對上次登陸時間的更改。圖4.26建立一個更改方法圖4.27與數(shù)據(jù)庫進行交互圖4.28獲取數(shù)據(jù)庫時間身份功能的開放學生因為和老師存在著身份等級的差別,所以在登陸完成信息識別以后,需要禁用學生8cm印章和10cm印章的使用權限,為了實現(xiàn)這個功能,只需要在主界面程序設計的展示過程中添加if語句進行判斷,如果用戶是學生則8cm和10cm印章模塊按鈕對其不可見即可。方法如圖4.29所示:圖4.29開放老師功能將副窗體展示于圖片區(qū)域為了整體的美觀效果,需要將副頁面與主頁面秩序給建立起來,應為使用者在看到很多個文本框彈出的時候會覺得系統(tǒng)設計的很亂,因此將副頁面展示到主頁面的圖片區(qū)域,這樣給用戶的從使用開始到結束只會展示一個界面,實現(xiàn)這個功能,需在主界面程序中實例化相對應的窗體(方法如圖4.31所示)在觸發(fā)相應按鈕的程序下面寫入關閉Panel2中的圖片,并且展示相對應的窗體即可。方法如圖4.30所示:圖4.30展示相應窗體圖4.31窗體實例化語句4.3.4登陸日志的建立登陸日志,是數(shù)據(jù)庫的一個表,這張表格的數(shù)據(jù)不可以去人為的去輸入數(shù)據(jù),而是需要通過系統(tǒng)上面所反饋的值去自動的建立一個數(shù)據(jù)實時動態(tài)更新的表,要想完成這張表格需要以下幾個步驟;建立登陸日志表建立這個登陸日志的表,建議使用新建查詢因為這里涉及到一個叫l(wèi)ogId的序號列,這個列是從1開始依次遞增的變量類型,這種類型在右鍵新建表的頁面選擇中沒有,寫入類型如下:序號列是intIdentity(1,1),賬號列是int類型,使用者名字是varchar(20),登陸時間和結束時間都是SmallDateTime型,這里的主鍵是logId,但除了主鍵以外還要設立一個副鍵是loginId。在用戶登陸成功以后寫入使用者姓名,賬號,登陸時間要想實現(xiàn)自動錄入使用者姓名,賬號,登陸時間這些數(shù)據(jù),需要在Program定義一個當前登陸日期的Id來作為全局變量(方法如圖4.33所示),在models里面新建一個類用于讀取或寫入這個表(如圖4.32所示)需要注意的是,在這里面輸入的數(shù)據(jù)類型應該與表中類型相對應,序列號和賬號都為int類型,使用者的名稱是string類型,登陸和結束的時間都為Datetime類型。在SysAdminsServices類中寫入一個錄入數(shù)據(jù)的方法,因為是在登陸成功以后錄入數(shù)據(jù),所以回到登陸界面,在登陸界面中先寫入一條記錄然后給當前的日志Id這個全局變量進行賦值(方法如圖4.34所示)在寫入這個日志的時候也需要注意,在UI展示層無法直接連接數(shù)據(jù)庫通用訪問類,所以在SysAdminsServices類中寫入獲取sqlsever數(shù)據(jù)庫的時間,之后準備日志并且對其進行封裝,通過try和catch語句進行判斷(如圖4.35所示:)判斷以后寫入數(shù)據(jù)庫,寫入完成后賦給全局變量值。圖4.32建立登陸日志類圖4.33定義變量圖4.34寫入日志方法圖4.35準備日志類并進行封裝判斷在用戶退出時寫入結束時間這個功能需要先在SysAdminsServices類中寫入一個結束時間的操作方法,因為只是單一的數(shù)據(jù)輸入,所以直接點擊結束按鈕,在結束按鈕的程序中通過try和catch語句進行判斷,如出錯則拋出帶有寫入退出時間錯誤+具體原因的消息框(如圖4.36所示)當成功寫入結束時間后,就完成了登陸日志表的建設。如表4.37所示:圖4.36判斷寫入結束時間表4.37完成登陸日志4.3.5登陸查詢窗口應用在完成登陸日志后,雖然可在sqlsever數(shù)據(jù)庫中查看到使用者的姓名,賬號,登陸時間與結束時間,但sqlsever數(shù)據(jù)庫相當于這個系統(tǒng)的后臺程序,所以使用本印章管理系統(tǒng)的用戶無法直觀的看見,所以需要設計出一個單獨的登陸查詢窗體來顯示在sqlsever數(shù)據(jù)庫中登陸日志表的數(shù)據(jù),并提供相應的查詢功能,要實現(xiàn)這個窗體的應用應分為以下幾個步驟進行:獲取登錄的日志表在建立登陸的日志表時已經(jīng)在models里寫好了日志類,所以直接在SysAdminsServices類中寫入獲取數(shù)據(jù)庫中登錄日志表的sql方法語句,這里需要注意的是,這里所獲取的類型是DateTable類型,所以需要在程序引用處引用SystemDate這個空間名,并且在()中填寫獲取數(shù)據(jù)類型時,應該用start和end去代替登陸時間和結束時間,并且用sql語句去判斷@end>登陸時間要>s@tart(如圖4.38所示)完成后回到查詢窗口頁面生成代碼下面,初始化UI界面的表格,并且獲取數(shù)據(jù)庫中的登錄日志表,在寫入獲取方法之前,需要重新引用DAL層和models層,并且實例化一個操作方法,定義一個DateTable,之后就可以寫入獲取并加載數(shù)這些數(shù)據(jù)的方法,里面需要填寫的數(shù)據(jù)需要和獲取日志表中的列名的個數(shù)相對應。方法如圖4.39所示:圖4.38獲取登陸日志的方法圖4.39實例化、定義、加載日志通過使用者的姓名,賬號實現(xiàn)單獨查找想要實現(xiàn)通過賬號姓名進行查找這個功能,先在SysAdminsServices類中用sql語句創(chuàng)建一個通過賬號獲得使用者的名稱的方法.回到登陸窗體頁面設計中將倆個輸入為本框的Name進行重新命名,命名方法為txt+更換名稱。之后將名稱填入加載數(shù)據(jù)方法中即可。方法如圖4.40所示:圖4.40獲取并加載數(shù)這些數(shù)據(jù)的方法通過年月日天這些單選控件或者通過從一個日期到一個日期去進行查找更改相對應的控件的Name,更名方法為:單選控件是rb+更名,日期選擇控件是dtp+更名,之后創(chuàng)建一個獲取開始很結束時間的方法,在這個方法中先定義出一個時間數(shù)組,之后在下面添加if語句去寫入當每個控件被觸發(fā)的時候所對應的加載時間的方法,其[]中0表示開始1,表示結束。之后返回值,將數(shù)組的方法開始與結束名稱寫入加載數(shù)據(jù)的方法中去,之后綁定UI層表中的數(shù)據(jù)。這樣就完成了登陸查詢窗口應用的設計。方法如圖4.41所示,詳細程序見附錄。圖4.41時間數(shù)組4.3.6修改密碼功能設計在給用戶提供了印章權限,保證了印章使用的級別安全以后,也想提供一些基礎的服務功能,比如一開始給用戶輸入初始密碼,用戶覺得密碼太過于簡單,想自行更改的話,需要聯(lián)系管理者,在后臺進行密碼的更改,這樣會給使用者和管理者都帶來很多不便,為了節(jié)省時間,提高辦公效率,因此設計出這個修改密碼的模塊,想要實現(xiàn)UI層面修改密碼的功能,需要分以下三個部分進行設計:自動獲取用戶的賬號和使用者名稱想要實現(xiàn)這個功能,在修改密碼的窗體頁面設計中將倆個lable控件的屬性名進行更改,并在SysAdminsServices類中創(chuàng)建通過賬號獲取使用者姓名的方法(如圖4.42所示)之后在回到窗體的程序設計中,在它生成的程序下面填寫語句,讓文本框中顯示的能容等于之前以及定義過的賬號和密碼倆個變量即可。如圖4.43所示:圖4.42通過賬號獲取姓名圖4.43顯示密碼和姓名對用戶輸入的新密碼和原密碼進行校驗在設計這個功能部分時,因為這個部分是修改密碼界面的主要功能,所以在設計的時候需要明確以下三點要求:1.新密碼不可與原密碼一樣。2.新密碼的長度必須大于等于6位。3.倆次輸入新密碼必須一樣。在明確了用戶基本需求以后,需要先更改輸入文本框的屬性名,其次對原有密碼進行基本驗證,在SysAdminsServices類中用sql語句創(chuàng)建一個布爾類型的判斷密碼是否正確的方法,回到當前窗體程序設計中先實例化這個操作方法,在創(chuàng)建一個布爾類型更改方法,在下面輸入if語句進行判斷,如果有錯則拋出原密碼輸入錯誤+系統(tǒng)消息,,在原密碼校驗合格以后,輸入if進行判斷,去判斷新密碼的文本框長度是否大于6位,如果不符合,則彈出輸入新密碼需要大于6位的字提示用戶,在前倆個檢驗完成以后,在寫入一條if語句判斷原密碼文本框輸入內容是否等于新密碼文本框1的輸入內容,如果等于則彈出原密碼不能與新密碼相同的字樣,在完成這個校驗以后,在寫入一個if語句判斷新密碼文本框1輸入內容是否等于新密碼文本框2中的內容,如果倆次內容不同,則彈出倆次新密碼必須一致的字樣,然后返回所有if語句中的值,之后點擊確定按扭,進入按鈕觸發(fā)事件的程序中判斷,是否通過了密碼校驗過程,如果不通過,則停止程序運行。方法如圖4.44所示:圖4.44密碼校驗:程序見附錄向sql數(shù)據(jù)庫輸入更改以后的密碼在達成更改條件以后,需要向數(shù)據(jù)庫輸入符合更改要求的新密碼,明確需求后,在SysAdminsServices類中用sql語句創(chuàng)建一個更換密碼的方法,回到確定按鈕的程序下在try和catch框架中輸入if語句去判斷,新的賬號和密碼的值是否等于一,如果等于則彈出密碼修改成功字樣,如果失敗,則拋出并顯示密碼修改異常+系統(tǒng)消息提示,完成這個步驟后,密碼修改模塊就完成。判斷方法如圖4.45所示:圖4.45判斷是否通過校驗并賦值4.3.7打印功能設計打印模塊是全自動印章管理系統(tǒng)的基礎部分,也是整個系統(tǒng)重要部分,為了方便級別的運用管理,所以設置了三個尺寸按鈕和三個尺寸頁面,每個尺寸頁面的上方會標明當前所在的尺寸區(qū)域,對于每個區(qū)域功能的設計需要完成以下幾個需求:自動顯示出打印者的名字和賬號以及份數(shù)實現(xiàn)這個功能比較簡單,因為在之前密碼修改頁面,做過類似的功能需求,所以直接更改頁面的lable控件屬性名,并且給倆個屬性名賦值即可,份數(shù)字需要更改lable控件的文本框內容即可。模擬打印過程為了滿足這個需求,需要新建一個等待頁面在頁面中放入計時控件,開啟并寫入程序進行時間控制,控制完成后,彈出打印成功的消息盒之后關閉等待窗體即可。方法如圖4.46所示:圖4.46等待窗體頁面程序4.3.8信息模塊設計這個模塊部分是設計的最后一個部分,雖然建立了登陸查詢的窗口,但查詢窗口中無法顯示顯示老師或者學生的基本信息,這可能影響使用者的辦事效率,根據(jù)這個原因,單獨設計了倆塊頁面。顯示一張具有賬號,使用者姓名,工號或學號,聯(lián)系方式與登錄查詢窗體設計相似,先在models層中新建一個讀取寫入的類(方法如圖4.49所示)SysAdminsServices類中進行獲取數(shù)據(jù)庫中印章使用表的sql方法語句(如圖4.47所示)在UI界面中重新引用DAL層和models層,并且實例化一個操作方法。(方法如圖4.48所示)獲取數(shù)據(jù)庫中的印章使用表,之后寫入獲取并加載數(shù)這些數(shù)據(jù)的方法。如圖所示,以下圖片是以學生信息表來舉例圖4.47獲取信息表的方法圖4.48UI界面調用信息表圖4.49models層中寫入列名可以通過賬號和使用者的名稱,進行查詢先進行屬性名稱的更改,賬號和使用者的名稱查詢與登錄查詢方法相似,之后在SysAdminsServices類中寫入查詢方法,之后在UI界面調用即可。5設計總結全自動印章系統(tǒng)是基于c#軟件和sqlsever數(shù)據(jù)庫所設計出來的,該系統(tǒng)除了實現(xiàn)基本的多用戶登陸以外,還可以實現(xiàn)對不同用戶的身份級別做出判斷,同時對其級別對應的印章實現(xiàn)權限管理,增加了用戶的安全性,同時在此基礎上也設計了一些基礎的服務模塊,如修改密碼,登陸查詢等服務模塊,同時在一些細節(jié)的優(yōu)化上面也可以體現(xiàn)本次設計出的全自動印章系統(tǒng)的人性化服務的特點。5.1設計難點(1)在初次建立數(shù)據(jù)鏈接進行基本的用戶驗證時,由于對軟件操作不熟悉,導致在C#中給與的sa用戶無法成功鏈接數(shù)據(jù)庫。(2)在展示登陸的時間時,由于倆個系統(tǒng)存儲和讀取之間存在著字符差異,導致讀取時間數(shù)據(jù)時比較繁瑣。(3)由于該系統(tǒng)只用到了兩款軟件來進行設計與開發(fā),這就會導致沒實現(xiàn)一個功能,會編寫大量程序,而且sql語句對于編寫格式要求嚴格,也會給編寫程序增加難度。(4)由于缺乏實物,需要模擬IO口的傳導過程,這會給錄入存儲數(shù)據(jù)帶來難度,而且會與實物調試存在一定的偏差。5.2設計創(chuàng)新點(1)基于C#和sqlsever數(shù)據(jù)庫的后臺權限操作系統(tǒng)。當該后臺系統(tǒng)運行時,可以給使用該印章機的用戶一個使用安全權限上的保證,也能切實縮短辦事,辦公時間,提高工作效率,同時也會給用戶提供更改密碼等提高安全性能的基礎服務。(2)活動印章,可根據(jù)需要蓋章的位置,去調整印章的結構位置。5.3設計不足(1)服務功能不足:最開始設計這個系統(tǒng)的時候,是出于對使用該印章機的用戶的使用權限安全考慮作出來的,因此很多較為人性化的服務模塊并沒有被設計與開發(fā)。(2)出于對設計成本和軟件操控熟悉度,以及軟件本身的開發(fā)能力來考慮,并未能將這款印章機設計成可以自動換章,以及識別印章打印是否清楚等高端功能。(3)在設計之初,本想做出一個類似登陸查詢的印章使用查詢的頁面,想做到由人查章,但因為實物缺失,用C#軟件模擬該過程是無法很好的于原有登陸系統(tǒng)的信息進行匹配,之后便棄用了該頁面。5.4展望我覺得全自動印章機在校園以及很多中小型的企業(yè)中會有很大的發(fā)展空間,一個體積不大的印章機,可以對公司貨者學校不同級別的公章進行權限的管理,可以節(jié)省不少勞動時間,提高蓋章辦事的效率,在此次設計的系統(tǒng)中,存在著很多無法解決的技術缺陷,雖然時間緊迫和疫情帶來的交流與指導上面的不便利會給與我這方面的壓力,但是更多的還是自己對軟件的操控程度和理解不夠,一開始甚至有考慮過自動換章的這種高端操作,后來在自身設計和開發(fā)時才意識到其中所包含的困難,最后只能選擇放棄。雖然我們的設計存在著很多不足之處,但我們確實運用到大學四年里所包含的知識,除此之外還學到了大學四年里未曾接觸過的知識,為了開發(fā)這個系統(tǒng),本人學習觀看了很多管理系統(tǒng)的設計,同時也自學了很多C#與sqlsever數(shù)據(jù)庫中的鏈接語句,以及數(shù)據(jù)庫中表的類型和C#中管理系統(tǒng)開發(fā)的整體架構以及各個層的作用關系與運作。這也讓我感受到了畢業(yè)設計所需要付出的精力與時間還有難度,但同時也實際的提升了我的學習能力,以及自己對新學知識的運用及探索過程。參考文獻[1]楊榆.自動蓋章機的設計與制作[D].紅海學院,2008.[2]田曉健.中國公民出入境綜合信息管理系統(tǒng)的開發(fā)[D].天津大學,2004[3]周濤,徐曉.基于SQLServer與C#的圖書管理系統(tǒng)的設計與開發(fā)[J].智能計算機與應用,2018,8(04):199-202[4]司曉云,沈正,李偉,孫衛(wèi)紅,郭???鄭紅梅,鄧娜.基于SQLServer與C#患者信息管理系統(tǒng)的研究與實現(xiàn)[J].電腦與電信,2019(06):20-24+28[5]李茂川.后勤管理系統(tǒng)的設計與開發(fā)[D].電子科技大學,2014.[6]張昆.學生信息管理系統(tǒng)的設計與實現(xiàn)[D].吉林大學,2012.[7]余磊,聶純,馬暉,王毅,劉連照,徐宙.基于C#和SQLServer的信號接收機自動校準系統(tǒng)軟件設計與實現(xiàn)[J].計算機測量與控制,2020,28(03):178-182.[8]張慶余,邵寧華,張?zhí)K林,靳志剛,徐發(fā)達.基于C#的駕駛機器人上位機軟件開發(fā)[J].科技經(jīng)濟導刊,2019,27(33):7-9.[9]王東.基于C#的自動上料機監(jiān)控軟件開發(fā)[J].數(shù)字技術與應用,2019,37(10):8-9.[10]蔡毅.基于C#的羽毛球競賽抽簽軟件的設計與實現(xiàn)[J].電腦知識與技術,2019,15(30):85-86.[11]齊榮貴,余嵐嵐,來永偉,孔慶虎.基于C#開發(fā)的交通位置圖軟件[J].中國煤炭地質,2018,30(S2):74-78.[12]劉寧波.基于c#+SQLserver羊場管理軟件的開發(fā)與設計[C].中國畜牧獸醫(yī)學會養(yǎng)羊學分會.2018年全國養(yǎng)羊生產(chǎn)與學術研討會論文集.中國畜牧獸醫(yī)學會養(yǎng)羊學分會:中國畜牧獸醫(yī)學會養(yǎng)羊學分會,2018:88-89.[13]莊美美.基于SQLSever的旅行社管理系統(tǒng)設計[J].閩西職業(yè)技術學報,2017,19(02):113-115.[14]吳爽.基于VS+SQLSever減壓閥測試系統(tǒng)設計[J].黑龍江科技信息,2016(36):44.[15]解蕾,盧永紅,狄光智.基于C#/SQLSever的高校外事管理系統(tǒng)的設計與開發(fā)[J].山西大同大學學報(自然科學版),2016,32(04):13-15+50.[16]朱超.關于SQLSever數(shù)據(jù)庫安全機制的研究與探討[J].科學大眾(科學教育),2016(08):186.[17]張成鳳.水泥生產(chǎn)過程數(shù)據(jù)SQLServer存儲方法研究[D].濟南大學,2016.[18]SQLServer2005數(shù)據(jù)庫應用系統(tǒng)開發(fā)/啟明工作室編著,2007.7ISBN978-7-115-16200-7[19]ZhaiJianbo,LeiShasha,LiuLei,LiuYan,ZhangHongqin.[AutomaticDetectionSystemforCardiacPacemakersBasedonC].[J].Zhongguoyiliaoqixiezazhi=Chinesejournalofmedicalinstrumentation,2017,41(4).[20]Devraj,DeepakSingh,AdityaPratap.Onlinedatabaseandinformationsystemformungbeangermplasm.2016,39(3):349-354.[21]VipinKumarChoudhary,SunilKumar,LaxmanRamMeena,etal.DesignandImplementationofWeb-basedInformationSystemforRegion-SpecificSynthesisedIntegratedFarmingModelsinIndia.2019,10(1):9-19.[22]SiHaiZhao,WeiKangDong,GeGuo,etal.TheSoftwareDesignofUndergroundMinePersonnelManagementSystem.2013,2594:1763-1767.謝辭當我寫入這個部分時,就意味著大學四年的時光的終點離我不遠了,也說明了我的畢業(yè)設計進入了最后的階段,在大學時光馬上結束,即將要踏入社會的我來說,心中有很多感慨以及想要感謝的人,在這里向我這四年時光中各位敬愛的老師以及幫助過我的師兄師姐,同班同學,獻上最誠摯的謝意,感謝你們在我困難時給與的建議與鼓勵。經(jīng)過了幾個月的學習與奮斗,我們的全自動印章機設計與開發(fā)項目也基本完成,在這里首先我想感謝本次的畢設指導教師陳婷老師,受疫情的影響很多時候我們組的溝通和很多結構,頁面布局的想法無法進行很好的交流,老師也無法面對面的指導學生,所以在此次畢設中,我們組遇到了很多困難,但陳婷老師非常有耐心的進行線上指導,了解每個人在設計過程中所產(chǎn)生的困難與疑惑,并進行指導和提出意見,有時在很晚遇到問題問她,雖然時間很晚,但老師依然會在線指導,其次很感謝在這次畢業(yè)設計時幫助過我的同學和師兄師姐,沒有你們的幫助,很多技術難題我可能會花費更多時間才能解決,同時也感謝本文中所引用的參考文獻作者。最后,要感謝我的畢設的組員們,謝謝你們與我一同努力,以及非常積極的配合我的工作,原我們以后日子工作順利,生活繁花似錦。附錄附錄一各個窗體中的主要代碼登陸窗體publicpartialclassfrmLogin:Form{publicSysAdminsServicesobjSysAdminsServices=newSysAdminsServices();publicfrmLogin(){InitializeComponent();}privatevoidbtnLogin_Click(objectsender,EventArgse){///對數(shù)據(jù)進行校驗if(!CheckUserInput())return;///封裝用戶SysAdminsCurrentAdmins=newSysAdmins();CurrentAdmins.LoginId=Convert.ToInt32(txtLoginId.Text.Trim());CurrentAdmins.Loginpwd=txtLoginpwd.Text;///完成身份驗證try{CurrentAdmins=objSysAdminsServices.Login(CurrentAdmins);}catch(Exceptionex){MessageBox.Show("用戶驗證身份時出錯!具體錯誤;"+ex.Message,"系統(tǒng)消息",MessageBoxButtons.OK,MessageBoxIcon.Information);}///根據(jù)返回結果來判斷if(CurrentAdmins==null){lblLoginInfo.Text="用戶名或密碼錯誤!";return;}elseif(CurrentAdmins.IsStudent){///把值付給全局變量Program.CurrentUser=CurrentAdmins;MessageBox.Show("歡迎學生使用");///更改當前時間try{if(objSysAdminsServices.UpdatelastLoginTime(Convert.ToInt32(txtLoginId.Text.Trim()))==1){}}catch(Exceptionex){MessageBox.Show(ex.Message);}//準備日志類LoginLogsobjLoginLogs=newLoginLogs(){LogInId=CurrentAdmins.LoginId,UserName=CurrentAdmins.UserName,LoginTime=objSysAdminsServices.GetServerTime(),};try{Program.CurrentLogId=objSysAdminsServices.WritingLoginLog(objLoginLogs);}catch(Exceptionex){MessageBox.Show("寫入登陸日志出錯!具體錯誤;"+ex.Message,"登陸消息",MessageBoxButtons.OK,MessageBoxIcon.Information);}this.DialogResult=DialogResult.OK;}else{Program.CurrentUser=CurrentAdmins;MessageBox.Show("歡迎老師使用");///更改當前時間try{if(objSysAdminsServices.UpdatelastLoginTime(Convert.ToInt32(txtLoginId.Text.Trim()))==1){}}catch(Exceptionex){MessageBox.Show(ex.Message);}//準備日志類LoginLogsobjLoginLogs=newLoginLogs(){LogInId=CurrentAdmins.LoginId,UserName=CurrentAdmins.UserName,LoginTime=objSysAdminsServices.GetServerTime(),};try{Program.CurrentLogId=objSysAdminsServices.WritingLoginLog(objLoginLogs);}catch(Exceptionex){MessageBox.Show("寫入登陸日志出錯!具體錯誤;"+ex.Message,"登陸消息",MessageBoxButtons.OK,MessageBoxIcon.Information);}this.DialogResult=DialogResult.OK;}}privatevoidbtncancel_Click(objectsender,EventArgse){Close();}privateboolCheckUserInput(){///登陸賬號是否為空,4位數(shù)字if(string.IsNullOrWhiteSpace(txtLoginId.Text)){lblLoginInfo.Text="登陸賬號不能為空";txtLoginId.Focus();returnfalse;}///判斷四位數(shù)字if(!ValidateInput.IsInteger(txtLoginId.Text.Trim())||txtLoginId.Text.Trim().Length!=4){lblLoginInfo.Text="登陸必須是四位數(shù)字";txtLoginId.Focus();returnfalse;}///不許為空,必須要是6位if(txtLoginpwd.Text.Length<6){lblLoginInfo.Text="登陸密碼必須要大于6位";txtLoginId.Focus();returnfalse;}returntrue;}privatevoidtxtLoginId_TextChanged(object
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年重油催化裂化催化劑項目發(fā)展計劃
- 2025年度企業(yè)并購重組咨詢顧問服務協(xié)議-@-1
- 2025年鈷粉系列項目發(fā)展計劃
- 家長參與小班教育的倡導計劃
- 實施有效反饋的工作方法計劃
- 文化演出活動的安保工作總結計劃
- 2025年高純四氧化三錳項目發(fā)展計劃
- 七年級下冊《相交線》課件與練習
- 汽車尾氣凈化催化轉化器安裝要求
- 2025年激光測距儀、測向儀項目合作計劃書
- 全國川教版信息技術八年級下冊第一單元第1節(jié) 《設計創(chuàng)意掛件》教學設計
- DZ∕T 0215-2020 礦產(chǎn)地質勘查規(guī)范 煤(正式版)
- 外出檢查病人突發(fā)呼吸心跳驟停應急預案演練
- 《火力發(fā)電廠汽水管道設計規(guī)范+DLT+5054-2016》詳細解讀
- 幕墻施工成品及半成品保護措施
- 基于單片機的交通燈控制系統(tǒng)設計畢業(yè)論文
- 威圖電柜空調SK3304500使用說書
- 2024年執(zhí)業(yè)醫(yī)師考試-醫(yī)師定期考核(口腔)筆試參考題庫含答案
- 中國律師學 課件 陳衛(wèi)東 第10-17章 律師收費制度-律師非訴訟業(yè)務(二)
- 《幼兒園性教育》
- (高清版)TDT 1040-2013 土地整治項目制圖規(guī)范
評論
0/150
提交評論