鄭天宇 楊陽(yáng) 孫一笑 張玉軍
【摘 要】本系統(tǒng)旨在針對(duì)現(xiàn)代高校在畢業(yè)設(shè)計(jì)管理中遇到的各種難題,目的是改善并解決以往在畢業(yè)設(shè)計(jì)中遇到的辦公效率低,交互性差等問(wèn)題。結(jié)合ASP.net技術(shù)與SQLSERVER數(shù)據(jù)庫(kù),開(kāi)發(fā)出的一個(gè)基于B/S技術(shù)的畢業(yè)設(shè)計(jì)雙選系統(tǒng),并闡述了系統(tǒng)的幾個(gè)主要功能模塊的設(shè)計(jì)思路。
【關(guān)鍵詞】畢業(yè)設(shè)計(jì)系統(tǒng);ASP.NET;C#;SQLSERVER
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
0 引言
畢業(yè)設(shè)計(jì)雙選系統(tǒng)目的是使在畢業(yè)設(shè)計(jì)管理中的復(fù)雜信息簡(jiǎn)單化、網(wǎng)絡(luò)化,解決以往工作的不均衡效率低、統(tǒng)計(jì)繁瑣復(fù)雜等問(wèn)題,如人工統(tǒng)計(jì)收集信息量大、易出錯(cuò)、易造成分配指導(dǎo)教師不平衡,安排工作需每名指導(dǎo)教師具體通知落實(shí)到每個(gè)學(xué)生。通過(guò)本系統(tǒng)能在畢業(yè)設(shè)計(jì)的初期工作中節(jié)省人力物力,提高畢業(yè)設(shè)計(jì)統(tǒng)計(jì)工作的執(zhí)行效率,更方便教師和學(xué)生及時(shí)確定最終選擇結(jié)果,改善工作的管理體系,提高工作管理水平等,有利于推動(dòng)高校管理網(wǎng)絡(luò)化的進(jìn)程,其次開(kāi)發(fā)本系統(tǒng)也有利于提高學(xué)生的實(shí)際應(yīng)用能力,有利于培養(yǎng)更易進(jìn)入工作崗位的人才。
1 系統(tǒng)設(shè)計(jì)
1.1 需求分析
該系統(tǒng)包括師生間的雙向選擇以及相關(guān)文檔信息的導(dǎo)入和導(dǎo)出,相關(guān)信息的發(fā)布、查詢、更新、刪除等功能。開(kāi)發(fā)工具采用的是MS Visual Studio 2010,后臺(tái)數(shù)據(jù)庫(kù)采用的是SQL Server 2008數(shù)據(jù)庫(kù)。
1.2 功能模塊分析
畢業(yè)設(shè)計(jì)雙選系統(tǒng)的角色有學(xué)生、教師、系主任及系統(tǒng)管理員。系統(tǒng)在數(shù)據(jù)庫(kù)中為每種角色分配了不同的權(quán)限,使得每種用戶能通過(guò)登陸頁(yè)面直接判斷所屬角色,更方便用戶使用,具體分為下列5種模塊。
登錄頁(yè)面:通過(guò)在頁(yè)面上輸入已知的用戶名和密碼,在后臺(tái)會(huì)自動(dòng)判斷登錄用戶的角色為學(xué)生、教師、系主任或者是系統(tǒng)管理員,系統(tǒng)會(huì)根據(jù)登錄的不同的角色賦予用戶不同的訪問(wèn)功能。
學(xué)生模塊:學(xué)生登錄系統(tǒng)后首先查看系統(tǒng)公告了解系統(tǒng)的具體使用功能和時(shí)間安排,其次卡可以查看自己的一些基本資料和修改登錄密碼,選擇自己心儀的導(dǎo)師(分第一志愿和第二志愿),直至最終確定畢業(yè)設(shè)計(jì)導(dǎo)師為止。
教師模塊:教師登錄系統(tǒng)后首先查看系統(tǒng)公告了解系統(tǒng)的具體使用功能和時(shí)間安排,其次可以查看自己的一些基本資料和修改密碼,查看通過(guò)第一志愿和第二志愿選擇自己的學(xué)生,跟學(xué)生進(jìn)行雙向選擇直至最終選到的學(xué)生數(shù)量達(dá)到所能帶的學(xué)生人數(shù)上限為止。
系主任模塊:系主任包括教師的所有功能,另外還擁有根據(jù)系別將教師進(jìn)行分組,只有系主任先進(jìn)行審核教師和學(xué)生信息后,畢業(yè)雙選工作才能正常進(jìn)行。同時(shí),還要對(duì)每年畢業(yè)設(shè)計(jì)中的指導(dǎo)教師可以指導(dǎo)的學(xué)生人數(shù)進(jìn)行上限設(shè)置,最后雙選工作結(jié)束后,將沒(méi)被任何導(dǎo)師選中的學(xué)生和雙選未達(dá)成的學(xué)生自動(dòng)分配到學(xué)生未滿的教師組內(nèi)。
管理員模塊:管理員是系統(tǒng)后臺(tái)的管理人員,管理數(shù)據(jù)庫(kù)和所有的功能模塊,通過(guò)數(shù)據(jù)庫(kù)使其對(duì)教師和學(xué)生進(jìn)行授權(quán),還負(fù)責(zé)系統(tǒng)數(shù)據(jù)的導(dǎo)入和更新,系統(tǒng)的維護(hù)和監(jiān)測(cè)。
其總體結(jié)構(gòu)如圖1所示。
1.3 數(shù)據(jù)庫(kù)設(shè)計(jì)
所有的信息處理系統(tǒng)都離不開(kāi)后臺(tái)數(shù)據(jù)庫(kù)的支持,數(shù)據(jù)庫(kù)的設(shè)計(jì)無(wú)疑也是比較關(guān)鍵的一個(gè)環(huán)節(jié)。本系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)中:(1)符合系統(tǒng)功能設(shè)計(jì)的要求;(2)有較高的數(shù)據(jù)存取效率;(3)較小的數(shù)據(jù)冗余;(4)數(shù)據(jù)庫(kù)表和字段都以相應(yīng)的英語(yǔ)單詞命名。系統(tǒng)后臺(tái)中主要使用C#語(yǔ)言和數(shù)據(jù)庫(kù)進(jìn)行交互。由于系統(tǒng)的數(shù)據(jù)量不是很龐大,所以我們采用了SQL Server 2008數(shù)據(jù)庫(kù),建立數(shù)據(jù)庫(kù)名稱為ManageSystemDB,包括5個(gè)表。其中,admin為用戶信息表;teacher_information為教師信息表;student_information為學(xué)生信息表;perm為系統(tǒng)權(quán)限表;tec_stu為雙選結(jié)果表;
在系統(tǒng)的具體搭建之前,首先需要設(shè)立一個(gè)數(shù)據(jù)庫(kù),選用SQL Server 2008作為后臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng),之前己具體描述了數(shù)據(jù)庫(kù)的設(shè)計(jì)。其次,網(wǎng)頁(yè)前臺(tái)頁(yè)面的設(shè)計(jì)和后臺(tái)實(shí)現(xiàn)功能的代碼搭建,主要是通過(guò)對(duì)象模型ADO來(lái)訪問(wèn)數(shù)據(jù)庫(kù)。ADO.NET是一種數(shù)據(jù)儲(chǔ)存提取技術(shù),是一個(gè)全新的數(shù)據(jù)庫(kù)訪問(wèn)模型,ADO對(duì)象是針對(duì)當(dāng)前微軟的軟件所支持的數(shù)據(jù)進(jìn)行操作的最為有效、簡(jiǎn)單并且功能強(qiáng)大的方法。最后系統(tǒng)實(shí)現(xiàn)了如下功能:(1)4種角色包括學(xué)生、指導(dǎo)教師、系主任和管理員的登錄;(2)學(xué)生查看公告、個(gè)人信息查看、導(dǎo)師選擇、資料修改;(3)指導(dǎo)教師瀏覽公告、信息查詢、學(xué)生選擇(對(duì)選擇自己的學(xué)生進(jìn)行選擇)等;(4)系主任安排分組、信息查詢、教師管理等;(5)管理員管理用戶、發(fā)布系統(tǒng)公告、導(dǎo)入文件、數(shù)據(jù)更新、系統(tǒng)維護(hù)等。
2 總體設(shè)計(jì)
系統(tǒng)采用的技術(shù)是ASP.NET 4.0,平臺(tái)為Visual Studio 2010,結(jié)合SQLSERVER 2008數(shù)據(jù)庫(kù),在windows 系統(tǒng)下開(kāi)發(fā)的一個(gè)B/S結(jié)構(gòu)的信息處理系統(tǒng)。要求登錄用戶通過(guò)頁(yè)面輸入一定的信息(如:教師修改個(gè)人資料、選擇學(xué)生、提交結(jié)果等;學(xué)生可以選擇畢業(yè)設(shè)計(jì)指導(dǎo)教師、修改資料密碼等);管理員管理用戶、系統(tǒng)維護(hù)等),用戶經(jīng)網(wǎng)頁(yè)進(jìn)行具體操作,后臺(tái)經(jīng)由處理程序與數(shù)據(jù)庫(kù)服務(wù)器交互信息之后,將相關(guān)數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,或者將儲(chǔ)存的數(shù)據(jù)在網(wǎng)頁(yè)上以一定的格式反饋給用戶查看。
使用ASP.NET4.0技術(shù)開(kāi)發(fā)web應(yīng)用程序,主要包含三層模型結(jié)構(gòu):用戶界面層、業(yè)務(wù)邏輯層和數(shù)據(jù)層,如圖2所示。
用戶界面層主要由用戶操控,用戶使用的功能和執(zhí)行具體的操作都要通過(guò)用戶界面層。
業(yè)務(wù)邏輯層將用戶的輸入數(shù)據(jù)儲(chǔ)存在數(shù)據(jù)庫(kù)或者將用戶請(qǐng)求的數(shù)據(jù)呈現(xiàn)在網(wǎng)頁(yè)的各類控件上。業(yè)務(wù)邏輯層把用戶的具體操作記錄下來(lái)返回給數(shù)據(jù)庫(kù)作出相應(yīng)結(jié)果,同時(shí)將在后臺(tái)的處理結(jié)果發(fā)還給前臺(tái)用戶界面層,是系統(tǒng)實(shí)現(xiàn)功能的主要層次。
數(shù)據(jù)層主要是數(shù)據(jù)庫(kù)的設(shè)計(jì),包含數(shù)據(jù)表,數(shù)據(jù)關(guān)系,具體的sql語(yǔ)句等。通過(guò)ADO.Net和業(yè)務(wù)邏輯層進(jìn)行數(shù)據(jù)交互,為其提供數(shù)據(jù)支持。
3 詳細(xì)設(shè)計(jì)
3.1 用戶登錄
用戶名:在本系統(tǒng)中,用戶名和密碼由系統(tǒng)通過(guò)excel表生成,用戶不能自行注朋。管理員通過(guò)從教務(wù)人員統(tǒng)計(jì)得到學(xué)生信息的具體excel表,由后臺(tái)直接將信息導(dǎo)入數(shù)據(jù)庫(kù)自動(dòng)生成用戶名和密碼。
密碼:初始密碼由后臺(tái)自動(dòng)生成,用戶登錄進(jìn)入系統(tǒng)后可以修改密碼;
類型:即用戶角色。系統(tǒng)設(shè)置了學(xué)生、教師、系主任、系統(tǒng)管理員四個(gè)角色類型,由用戶名登錄時(shí)系統(tǒng)自動(dòng)判斷,不做具體的控件選擇。
驗(yàn)證碼:為了防止惡意登錄由系統(tǒng)生成的一串隨機(jī)字符,用戶輸入正確的字符后,系統(tǒng)會(huì)判斷輸入是否正確,正確后才能進(jìn)入系統(tǒng)。
3.2 教師學(xué)生雙向選擇
所謂雙向選擇是為了更尊重學(xué)生和教師的意愿,學(xué)生選擇自己心儀的導(dǎo)師,同時(shí)導(dǎo)師也根據(jù)被選擇情況選擇合適的學(xué)生。本系統(tǒng)提供三個(gè)時(shí)間段的雙選。第一個(gè)時(shí)間段,學(xué)生可以任意選擇兩個(gè)自己喜歡的導(dǎo)師(分第一志愿和第二志愿,第一志愿也優(yōu)先被教師選擇);第二個(gè)時(shí)間段,導(dǎo)師根據(jù)學(xué)生第一志愿第二志愿選擇自己的人數(shù)結(jié)合實(shí)際需要選擇多個(gè)學(xué)生;第三階段是兩個(gè)階段的補(bǔ)充,落選的學(xué)生會(huì)被隨機(jī)分到人數(shù)未滿的導(dǎo)師隊(duì)伍中。讓學(xué)生在系統(tǒng)中完成畢業(yè)設(shè)計(jì)導(dǎo)師的確定和分配,省去了人工統(tǒng)計(jì)的繁瑣。
4 結(jié)語(yǔ)
本文設(shè)計(jì)的畢業(yè)設(shè)計(jì)雙選系統(tǒng)較適合處在人工統(tǒng)計(jì)階段的高校,能適應(yīng)高校初期畢業(yè)設(shè)計(jì)管理的一些基本要求,能及時(shí)反映在畢業(yè)設(shè)計(jì)管理過(guò)程中的動(dòng)態(tài)情況,可有效改善高校畢業(yè)設(shè)計(jì)統(tǒng)計(jì)工作中的一些繁瑣和不必要的步驟,能使整個(gè)畢業(yè)設(shè)計(jì)的進(jìn)行簡(jiǎn)單化,有助于提高高校在畢業(yè)設(shè)計(jì)統(tǒng)計(jì)過(guò)程中的管理水平。
【參考文獻(xiàn)】
[1]薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].5版,北京:高等教育出版社,2014.
[2]吳善才.ASP.NET4.0項(xiàng)目開(kāi)發(fā)實(shí)戰(zhàn)密碼[M].北京:清華大學(xué)出版社,2016.
[3]扶松柏.C#項(xiàng)目開(kāi)發(fā)實(shí)戰(zhàn)密碼[M].北京:清華大學(xué)出版社,2015.endprint