




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、裝訂線畢業(yè)設(shè)計(jì)(論文)報(bào)告紙摘 要管理信息系統(tǒng)是一個(gè)不繼發(fā)展的新型學(xué)科,企業(yè)要高效率地把企業(yè)活動有機(jī)地組織起來,就必須加強(qiáng)企業(yè)管理,即加強(qiáng)對企業(yè)內(nèi)部的各種資源的有效管理工作,建立與自身特點(diǎn)相適應(yīng)的管理信息系統(tǒng)。本文介紹了在.NET環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應(yīng)用開發(fā)”的策略開發(fā)一個(gè)管理信息系統(tǒng)的過程。文章詳細(xì)介紹了科研項(xiàng)目管理應(yīng)用系統(tǒng)的分析部分,包括可靠性分析、數(shù)據(jù)字典、處理描述等等;系統(tǒng)設(shè)計(jì)部分主要介紹了系統(tǒng)功能設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì);系統(tǒng)實(shí)現(xiàn)部分列出了幾個(gè)主要的頁面框圖,并附帶了一些主要的功能頁面和代碼。關(guān)鍵字:管理信息系統(tǒng)、科研管理、.NET、數(shù)據(jù)庫AbstractMIS is
2、a new discipline. It is necessary to efficient business activity to organize themselves organically, it is necessary to strengthen enterprise management, that is, to strengthen the internal resources to effectively manage a variety of work, the establishment of its own characteristics and to adapt t
3、he management of information systems. This article describes the .NET environment for the adoption of the “top-bottom to the overall planning, bottom-up approach to application development” strategy to develop a MIS process. The article detailed research analysis of system management applications, i
4、ncluding the reliability of analysis, data dictionary, to deal with description and so on; system design introduced some of the major system design and database design; system presents a number of major parts of the page diagram, along with a number of major functions and code page.Keywords: MIS;sci
5、entific research management;.NET Framework;DataBase 引言科研水平逐漸成為衡量一個(gè)高校勢力的重要指標(biāo),高校作為重要的科研機(jī)構(gòu),如何對學(xué)校大量的科研信息進(jìn)行高效、安全的保存、處理、統(tǒng)計(jì)、加工等管理操作,將日常的科研管理工作更加規(guī)范化、科學(xué)化,建立高??蒲泄芾硐到y(tǒng)進(jìn)行科研管理工作是每一個(gè)高校必由之路。隨著計(jì)算機(jī)技術(shù)的廣泛應(yīng)用以及現(xiàn)代社會信息量的急劇增加,傳統(tǒng)的人工信息管理體系已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足快節(jié)奏、高效率的現(xiàn)代生活的需要,落后的管理技術(shù)嚴(yán)重阻礙了信息的交流與共享。南工院科研成果數(shù)量增加較快,專業(yè)技術(shù)人才的科研內(nèi)容較為復(fù)雜,涉及范圍極其廣泛,為今后科
6、研信息的查找提供方便、快捷的服務(wù),鑒于此目的,基于 .NET 技術(shù)的科研信息管理系統(tǒng)為我們提供了強(qiáng)有力的應(yīng)用工具。該系統(tǒng)可以達(dá)到用戶檢索迅速,查找方便,錄入簡單,可靠性高,存儲量大,保密性好的要求,用戶可以通過輕松實(shí)現(xiàn)科研信息的錄取與修改,計(jì)算得分,管理經(jīng)費(fèi),也可對科研信息情況進(jìn)行管理與查詢,生成各種統(tǒng)計(jì)報(bào)表。畢業(yè)設(shè)計(jì)說明書章節(jié)的內(nèi)容安排因?yàn)榭蒲许?xiàng)目管理應(yīng)用系統(tǒng)本身設(shè)計(jì)到動態(tài)編程語言、數(shù)據(jù)庫等相關(guān)技術(shù),所以此說明書的涵蓋的內(nèi)容和知識系統(tǒng)有不可避免的復(fù)雜性。為了方便您閱讀時(shí)能在短時(shí)間內(nèi)對本系統(tǒng)有全面的認(rèn)識,現(xiàn)將此說明書的體系結(jié)構(gòu)簡要的作如下介紹:第一章引言,注意介紹課題背景及說明書的體系結(jié)構(gòu)安排
7、。第二章系統(tǒng)分析,主要介紹系統(tǒng)問題的提出,功能目標(biāo),系統(tǒng)分析過程中產(chǎn)生的流程圖、用例圖、數(shù)據(jù)流圖,以及系統(tǒng)方案設(shè)計(jì)原則和開發(fā)平臺的選擇。第三章系統(tǒng)設(shè)計(jì),主要介紹頁面風(fēng)格確定及系統(tǒng)資源組織結(jié)構(gòu),如:文件夾。第四章詳細(xì)設(shè)計(jì)與實(shí)現(xiàn),主要包括數(shù)據(jù)庫和基本模塊設(shè)計(jì)與實(shí)現(xiàn)。第五章設(shè)計(jì)總結(jié)與收獲,主要包括系統(tǒng)已實(shí)現(xiàn)的功能,存在的問題及后續(xù)開發(fā)安排。附錄中包含了數(shù)據(jù)字典以及部分典型存儲過程的源代碼。系統(tǒng)分析需要分析問題的提出高校科研管理所涉及的事務(wù)非常繁雜,涉及到??蒲刑帯⒏鱾€(gè)系的科研管理以及個(gè)人對科研信息的查詢統(tǒng)計(jì)等。所設(shè)計(jì)的系統(tǒng)既要有利于科研處的監(jiān)督管理又要有利于各個(gè)系及教師的分工協(xié)作。系統(tǒng)功能主要包括校
8、科研處科研管理、院系(或部門)科研管理、個(gè)人科研信息查詢、校級科研項(xiàng)目整體信息管理。可以劃分為科研信息維護(hù)、科研信息查詢與統(tǒng)計(jì)、科研信息報(bào)表、科研信息分析、校級課題申報(bào)、審批、合同簽定、結(jié)題、其它處理等操作;其中科研信息應(yīng)細(xì)分為學(xué)術(shù)論文、著作、科研項(xiàng)目、科研成果、科研獎(jiǎng)勵(lì)等信息。功能目標(biāo)本系統(tǒng)的需求可分為以下7個(gè)方面:擁有申請項(xiàng)目權(quán)限的教師能夠進(jìn)行項(xiàng)目申請,填寫項(xiàng)目申請表、添加項(xiàng)目負(fù)責(zé)人、項(xiàng)目參與人員及項(xiàng)目聯(lián)系人、填寫經(jīng)費(fèi)申請及預(yù)算、查看項(xiàng)目的狀態(tài)、維護(hù)合作單位信息。負(fù)責(zé)人能夠查看項(xiàng)目基本信息、必要時(shí)修改項(xiàng)目信息、對經(jīng)費(fèi)、人員、科研成果進(jìn)行管理,填寫項(xiàng)目任務(wù)書、結(jié)題申請書其他教師能看查看自己參
9、與的項(xiàng)目的狀態(tài)??萍继幠軌蜻M(jìn)行項(xiàng)目申請管理、立項(xiàng)管理、任務(wù)書管理、中期檢查管理、延期申請管理、結(jié)題管理、經(jīng)費(fèi)管理、成果管理。院、各系、及各教研組領(lǐng)導(dǎo)能夠查看科研情況的統(tǒng)計(jì)信息。系統(tǒng)管理員能夠添加系統(tǒng)中各種角色人員并設(shè)置其權(quán)限、對系統(tǒng)功能進(jìn)行管理、維護(hù)系統(tǒng)數(shù)據(jù)并備份數(shù)據(jù)庫。用戶界面友好,方便操作,便于掌握。添加系統(tǒng)人員設(shè)置角色及權(quán)限系統(tǒng)功能管理查看項(xiàng)目狀態(tài)及科研成果統(tǒng)計(jì)情況項(xiàng)目管理立項(xiàng)管理查詢項(xiàng)目信息經(jīng)費(fèi)管理項(xiàng)目狀態(tài)管理科研成果管理登陸修改個(gè)人信息申請項(xiàng)目參與項(xiàng)目查看項(xiàng)目信息及狀態(tài)填寫項(xiàng)目任務(wù)書經(jīng)費(fèi)管理項(xiàng)目延期申請項(xiàng)目結(jié)題申請科研成果管理科 研 項(xiàng) 目 管 理 系 統(tǒng)教 師科技處教研室、領(lǐng)導(dǎo)系統(tǒng)
10、管理員系統(tǒng)流程圖(系統(tǒng)功能示意圖)圖2-1教師申請項(xiàng)目項(xiàng)目管理科技處經(jīng)費(fèi)管理成果管理科研人員管理管理員系統(tǒng)功能管理領(lǐng)導(dǎo)、其他人員成果統(tǒng)計(jì)圖2-2 總體用例圖系統(tǒng)應(yīng)用數(shù)據(jù)項(xiàng)目狀態(tài)項(xiàng)目數(shù)據(jù)延期申請書項(xiàng)目狀態(tài)結(jié)題申請書任務(wù)書申請書個(gè)人信息系統(tǒng)功能信息人員信息統(tǒng)計(jì)分析表教師科研管理系統(tǒng)科 技 處領(lǐng)導(dǎo)系統(tǒng)管理員統(tǒng)計(jì)表數(shù)據(jù)流圖圖2-3頂層圖方案設(shè)計(jì)設(shè)計(jì)思想這是一個(gè)將ASP.NET應(yīng)用技術(shù)與數(shù)據(jù)庫應(yīng)用技術(shù)相結(jié)合的B/S結(jié)構(gòu)的系統(tǒng),能夠讓用戶在互聯(lián)網(wǎng)上方便地進(jìn)行科研項(xiàng)目的管理工作。對系統(tǒng)的設(shè)計(jì)首先要力求界面簡潔,易于使用;其次要對后臺進(jìn)行分層的面向?qū)ο笤O(shè)計(jì),便于今后對此系統(tǒng)進(jìn)行修改和添加新的功能模塊,使之能夠
11、成為功能完備的科研項(xiàng)目管理應(yīng)用系統(tǒng)。DBMS本系統(tǒng)屬于中小型信息管理應(yīng)用系統(tǒng),涉及到的總數(shù)據(jù)量不會太大,對數(shù)據(jù)庫的性能要求不是太高,但不能像Access那樣在文件大小超過一定的程度時(shí)性能明顯下降,并且系統(tǒng)中包含了大量實(shí)體以及實(shí)體間的關(guān)系的數(shù)據(jù),因此選擇使用SQL Server 2005關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它的可視化操作界面能夠讓用戶方便高效地進(jìn)行數(shù)據(jù)庫設(shè)計(jì)。技術(shù)平臺本系統(tǒng)為B/S結(jié)構(gòu),主要采用Visual Studio 2008開發(fā),數(shù)據(jù)庫采用SQL Server 2005進(jìn)行設(shè)計(jì)與開發(fā),并使用Dreamweaver 8 作為輔助頁面設(shè)計(jì)工具。.NET Framework作為微軟新一代系統(tǒng)構(gòu)
12、筑環(huán)境,擁有極其強(qiáng)大的類庫,具有能夠快速開發(fā)出功能強(qiáng)大的應(yīng)用軟件的能力,良好的代碼組織關(guān)系使其代碼重用率比較高。公共語言運(yùn)行時(shí)CLR是.NET Framework的核心,采用了托管代碼機(jī)制。它將能夠支持的不同語言的程序代碼翻譯為統(tǒng)一的微軟中間代碼,最后將中間代碼編譯成能在目標(biāo)機(jī)器運(yùn)行的機(jī)器碼,這一特性使.NET Framework具有跨平臺的功能。此外,.NET Framework垃圾回收機(jī)制使內(nèi)存的管理更加安全,使用率更高。Visual Studio集成開發(fā)環(huán)境也延續(xù)了微軟一貫的圖形化操作界面的風(fēng)格、能夠非常方便地添加第三方組件的特性,使得開發(fā)過程變得更加簡單。Visual Studio 2
13、008比以前的版本增加了對aspx頁面的拆分功能,使得頁面設(shè)計(jì)更加專業(yè)。在Visual Studio 2008中,我們可以很方便的根據(jù)需要設(shè)計(jì)自定義控件,使得編寫Web應(yīng)用程序的變得非常靈活。C#語言作為.NET Framework的主要語言,對XML有極好的支持,是完全面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。經(jīng)過幾年的發(fā)展,它的很多優(yōu)勢也很快體現(xiàn)出來。比如屬性和索引,配合設(shè)計(jì)編寫自定義控件就能做出像Visual Studio中常用控件一樣方便使用的控件。另外,系統(tǒng)中部分頁面的后臺代碼將采用VB編寫。在本系統(tǒng)還將使用Ajax技術(shù),全稱為Asynchronous JavaScript and XML,它不是一種
14、單一的技術(shù),而是將JavaScript技術(shù)與XML技術(shù)結(jié)合,是瀏覽器能夠與服務(wù)器之間進(jìn)行異步回傳,使網(wǎng)頁在交換過程中不間斷,具有很好的界面友好性。Ajax不是將整個(gè)頁面提交給服務(wù)器,而是只發(fā)送需要刷新的部分表單,服務(wù)器只有在第一次接到請求時(shí)發(fā)送整個(gè)頁面到瀏覽器,之后的交換中所需要的數(shù)據(jù)都是使用XML封裝數(shù)據(jù)并發(fā)送到瀏覽器,瀏覽器經(jīng)過XMLHttpRequest的解析動態(tài)的將需要更新的數(shù)據(jù)顯示到頁面中,其核心就是XMLHttpRequest對象。系統(tǒng)設(shè)計(jì)頁面設(shè)計(jì)頁面風(fēng)格定位科研項(xiàng)目管理系統(tǒng)的性質(zhì)科研項(xiàng)目管理系統(tǒng)是為本院教師科研項(xiàng)目管理所開發(fā)的,為本院教職員工提供有關(guān)信息服務(wù)的Web型管理信息系統(tǒng)
15、(MIS)應(yīng)用項(xiàng)目。由于本系統(tǒng)采用B/S結(jié)構(gòu)實(shí)現(xiàn),在交互的效率上不及單機(jī)或C/S結(jié)構(gòu)的桌面技術(shù),因此界面設(shè)計(jì)思想是與桌面程序有很大的區(qū)別的。但是,雖然本系統(tǒng)的最終成果是一個(gè)Web站點(diǎn),但不能采用一般網(wǎng)站那種使用眾多引人注目的元素。作為MIS應(yīng)用,首先強(qiáng)調(diào)的是功能、效率、穩(wěn)定、安全、和易使用的特點(diǎn)。因此,本系統(tǒng)在界面上是以O(shè)A的標(biāo)準(zhǔn)進(jìn)行設(shè)計(jì)。頁面風(fēng)格色調(diào)按照OA設(shè)計(jì)的原則,要避免鮮艷刺眼色彩的大量運(yùn)用而加快用戶的視覺疲勞;一個(gè)界面的顏色數(shù)應(yīng)控制在五種以內(nèi),并且主次分明;選用清楚大方的字體,不宜使用斜體等字體。因此,本系統(tǒng)頁面主要以深藍(lán)色和淺綠色為背景,在深藍(lán)色中的文字以白色為佳,而淺綠色中的文字
16、選用藍(lán)色,整體風(fēng)格簡潔清爽。另外,本系統(tǒng)中除了登陸界面和系統(tǒng)banner使用了圖片,其他功能按鈕都是采用ico格式的圖標(biāo)文件,配合框架式頁面設(shè)計(jì),加快了訪問的速度。信息呈現(xiàn)作風(fēng)在信息呈現(xiàn)方面,按照OA設(shè)計(jì)的原則,系統(tǒng)中除了具有詳細(xì)的功能菜單外,還應(yīng)該有一些快捷工具菜單,另外,工作區(qū)應(yīng)該盡可能的大,充分利用屏幕空間。因此,本系統(tǒng)在打開的同時(shí)將自動設(shè)置所在的IE窗口的尺寸為目前屏幕能夠被使用的最大尺寸。同時(shí),用戶還可以隱藏系統(tǒng)的部分面板,以此進(jìn)一步擴(kuò)大工作區(qū)域。功能控制本系統(tǒng)中的功能菜單目前分為標(biāo)準(zhǔn)功能菜單和快捷工具菜單。按一般用戶的使用習(xí)慣,將標(biāo)準(zhǔn)功能菜單置于屏幕最左邊,而快捷工具菜單置于工作區(qū)
17、上方,較為直觀,方便使用。數(shù)據(jù)輸入設(shè)計(jì)數(shù)據(jù)輸入界面設(shè)計(jì)的主要原則是保證數(shù)據(jù)庫的完整性、一致性和合理性,同時(shí),在用戶輸入數(shù)據(jù)的過程中,能夠采用選擇輸入的地方絕不讓用戶自行輸入。在數(shù)據(jù)庫設(shè)計(jì)時(shí)對有限值的信息(如部門、類別等)建立字典表,一般這類數(shù)據(jù)的輸入可采用單選、列表、下拉菜單等控件嚴(yán)格控制用戶輸入數(shù)據(jù)的有效性。主頁方案界面系統(tǒng)主頁是上中下結(jié)構(gòu),最上方是系統(tǒng)banner;中間部分左邊為系統(tǒng)功能菜單,右邊分上下兩個(gè)區(qū)域,上面是快捷工具菜單,下面是工作區(qū);最下面是系統(tǒng)狀態(tài)欄。顯示信息Banner的右邊顯示當(dāng)前日期及時(shí)間,系統(tǒng)功能菜單上方顯示當(dāng)前用戶姓名,工作區(qū)首先顯示系統(tǒng)中的相關(guān)通知,而狀態(tài)欄向用戶
18、顯示了當(dāng)前系統(tǒng)的版本、版權(quán)、在線人數(shù)等信息。系統(tǒng)資源結(jié)構(gòu)設(shè)計(jì)工程組織結(jié)構(gòu)設(shè)計(jì)在系統(tǒng)設(shè)計(jì)過程中,如何設(shè)計(jì)并組織系統(tǒng)中的各個(gè)工程非常重要,本系統(tǒng)中目前有8個(gè)工程,如圖所3-1示:圖3-1文件夾組織結(jié)構(gòu)設(shè)計(jì)由于頁面的數(shù)量比較多,對頁面文件、代碼文件、CSS文件、Js文件以及資源文件的管理非常重要。在系統(tǒng)的Web工程中,文件夾組織結(jié)構(gòu)如圖3-2所示:圖3-2類組織結(jié)構(gòu)設(shè)計(jì)面向?qū)ο笫?NET最大的特點(diǎn),一個(gè)功能強(qiáng)大的底層操作類能夠?yàn)橄到y(tǒng)的開發(fā)帶來不少便利。例如,在COMP工程中有以下三個(gè)類,分別是:Jscript類,包含的一些常用的Js調(diào)用;MyControl類,對控件進(jìn)行處理;StringUtil類,
19、就對字符串進(jìn)行操作的類。其他類如圖3-3所示:圖3-3詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)數(shù)據(jù)庫設(shè)計(jì)系統(tǒng)E-R圖設(shè)計(jì)局部ER模式以教師及相關(guān)部門、科室等信息的實(shí)體和屬性定義為例:教師(工號,密碼,姓名,性別,學(xué)歷編號,學(xué)位編號,職稱編號,職務(wù)編號,所在部門編號,所在教研組編號,手機(jī),工作電話,家庭電話,郵箱,專業(yè),研究專長,工作單位地址,郵編)教研組(教研室編號,教研室名稱,部門編號,負(fù)責(zé)人工號)學(xué)位(學(xué)位編號,學(xué)位名稱)學(xué)歷(學(xué)歷編號,學(xué)歷名稱)部門(部門編號,部門名稱)職務(wù)(職務(wù)編號,職務(wù)名稱)職稱(職稱編號,職稱名稱)對此局部ER模式的解釋如下:一個(gè)部門可以有多個(gè)教師,一個(gè)部門可以有多個(gè)教研組,一個(gè)教研組可以
20、有多個(gè)教師,一個(gè)教研組有一個(gè)負(fù)責(zé)人,并且負(fù)責(zé)人必須是教師,一個(gè)教師只能對應(yīng)一個(gè)學(xué)位、學(xué)歷、部門、職務(wù)、職稱。全局ER模式所有局部ER模式都設(shè)計(jì)好了后,接下來就是把它們綜合成單一的全局概念結(jié)構(gòu)。全局概念結(jié)構(gòu)不僅要支持所有局部ER模式,而且必須合理地表示一個(gè)完整、一致的數(shù)據(jù)庫概念結(jié)構(gòu)。“科研項(xiàng)目管理應(yīng)用系統(tǒng)”的全局ER模式在此作簡單的介紹:如:一個(gè)教師可以申請多個(gè)項(xiàng)目,可以參與多個(gè)項(xiàng)目,一個(gè)項(xiàng)目可以有多個(gè)階段的項(xiàng)目任務(wù)書等。表的具體設(shè)計(jì)與實(shí)現(xiàn)我選用Microsoft SQL Server2005(企業(yè)版)數(shù)據(jù)庫來進(jìn)行數(shù)據(jù)庫的邏輯設(shè)計(jì),首先創(chuàng)建數(shù)基本據(jù)庫表下:教師表(teacher)教研組表(bra
21、nch)項(xiàng)目基本信息表(tb_ProjInfo)目前系統(tǒng)中其他的表還有:學(xué)位表(degree),部門表(dept),職務(wù)表(duty),學(xué)歷表(eduback),職稱表(post),項(xiàng)目參與人員表(tb_Attendee),合同類別表(tb_ContKind),項(xiàng)目任務(wù)書表(tb_do_Project),結(jié)題申請書表(tb_end_Project),專家表(tb_Expert),項(xiàng)目延期申請書表(tb_Late_Project),項(xiàng)目級別表(tb_Level),中期檢查書表(tb_mid_check),經(jīng)費(fèi)預(yù)算表(tb_OutlayBudget),基本經(jīng)費(fèi)信息表(tb_OutlayInfo),
22、經(jīng)費(fèi)支出表(tb_Outpay),項(xiàng)目進(jìn)展計(jì)劃表(tb_Plan),研究階段考核表(tProgressChart),項(xiàng)目類別表(tb_ProjKind),研究成果表(tb_RefreFormat),合作單位表(tdw),合作單位性質(zhì)表(tdw_character),文章信息表(tArticle),文章類別表(tArticleKind),系統(tǒng)功能菜單表(tmenu)等,共28張表,日后隨著功能的增加,還會增加相應(yīng)的數(shù)據(jù)表。(詳細(xì)數(shù)據(jù)字典信息見于附錄1)存儲過程設(shè)計(jì)對于一個(gè)功能將要存儲處理眾多數(shù)據(jù)的信息管理系統(tǒng)來說,其運(yùn)行性能及安全性相當(dāng)重要。在本系統(tǒng)的設(shè)計(jì)中,對于大量數(shù)據(jù)的操作都采用存儲過程形式
23、將數(shù)據(jù)存入數(shù)據(jù)庫。這樣既能夠節(jié)省大量的網(wǎng)絡(luò)流量,提高了數(shù)據(jù)的安全性,又使得系統(tǒng)后臺將數(shù)據(jù)進(jìn)行保存的操作變得更加簡單和方便。例如,系統(tǒng)對于教師信息的更新采用了edit_teacher存儲過程,創(chuàng)建此存儲過程的SQL語句如下:set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo- =- Author:楊國偉- Create : <Create ,>- Description:老師修改個(gè)人信息- =CREATE Proc dbo.edit_teacheruser_id nvarchar(30) ,user_name nvarchar(14) ,dept_
24、id nvarchar(10) ,branch_id nvarchar(10) ,duty_id int ,post_id int ,sex nvarchar(4) ,birth smalldatetime ,eduback_id int ,degree_id int ,homephone nvarchar(30) ,phone nvarchar(30) ,celphone nvarchar(30) ,email nvarchar(50) ,study nvarchar(max) ,goodat nvarchar(max) ,workplace nvarchar(200) ,postcode
25、char(6)ASIF (Select count(*) From teacher Where user_id = user_id) > 0 BeginUpdate teacherSet user_id=user_id,user_name=user_name ,dept_id=dept_id ,branch_id=branch_id ,duty_id= duty_id ,post_id= post_id ,sex=sex ,birth= birth ,eduback_id= eduback_id ,degree_id= degree_id ,homephone=homephone ,ph
26、one=phone ,celphone=celphone ,email=email ,study=study ,goodat=goodat ,workplace=workplace ,postcode=postcodeWhere user_id = user_idEnd(其他一部分存儲過程見于附錄2)基本模塊設(shè)計(jì)系統(tǒng)人員添加及密碼重置添加人員在添加人員的處理中,密碼由系統(tǒng)自動設(shè)置為“888888”,調(diào)用了存儲過程add_teacher,存入?yún)?shù)的關(guān)鍵代碼如下(c#):SqlParameter param = myDB.MakeInParam("user_id", SqlDb
27、Type.NVarChar, 30, txtUser_id.Text), myDB.MakeInParam("user_name", SqlDbType.NVarChar, 14, txtUser_name.Text ), myDB.MakeInParam("password", SqlDbType.NVarChar, 50, password), myDB.MakeInParam("sex", SqlDbType.NVarChar, 4, rdoSex.SelectedValue), myDB.MakeInParam("d
28、ept_id", SqlDbType.Int, 4, ddlDept.SelectedValue), myDB.MakeInParam("duty_id", SqlDbType.Int , 4 ,ddlDuty.SelectedValue) ; myDB.RunProc("add_teacher", param);對密碼的加密處理,本系統(tǒng)對用戶的密碼統(tǒng)一采用MD5方式進(jìn)行加密,關(guān)鍵代碼如下:/設(shè)置初始密碼 MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); passwor
29、d = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes("888888"); /初始密碼為888888 password = password.Replace("-", ""); /過濾MD5值中的"-"符號界面運(yùn)行結(jié)果如圖4-4、4-5所示:圖4-4圖4-5密碼重置重置密碼的處理過程為:用戶輸入要重置密碼的人員工號,如果輸入工號正確,系統(tǒng)將自動顯示該人員姓名,允許重置;如果輸入工號不正確,將不允許重置。在txtUser_id_
30、TextChanged事件下添加如下代碼(C#):/清空姓名框和消息 txtUser_name.Text = lblmsg.Text = "" strsql = "Select user_name From teacher Where user_id = '" + txtUser_id.Text.Trim() + "'" dr = myDB.GetDataReader(strsql); if (dr.Read() txtUser_name.Text = dr"user_name".ToString(
31、); 重置密碼的代碼與初始化密碼的代碼類似,此處省略。界面運(yùn)行結(jié)果如圖4-6、4-7所示:圖4-6圖4-7系統(tǒng)登陸系統(tǒng)登陸過程:用戶點(diǎn)擊登陸按鈕,系統(tǒng)將用戶輸入的密碼進(jìn)行MD5加密,將加密后的密碼與數(shù)據(jù)庫庫中的密碼進(jìn)行對比,對比一致則允許登陸,并將用戶信息保存到Cookie,關(guān)鍵代碼如下(加密代碼省略,C#):strsql = "Select password,user_id,user_name from teacher Where user_id = '" + user_id + "'" SqlDataReader dr = myDB.
32、GetDataReader(strsql); if (dr.Read() if (dr"password".ToString().Equals(password) /保存登陸信息到Cookie HttpCookie mycookie = new HttpCookie("teacher_info"); mycookie"user_id" = dr"user_id".ToString(); /用戶ID /mycookie"user_name" = dr"user_name".To
33、String(); /用戶姓名 mycookie.Expires = DateTime.Now.AddDays(int.Parse(RadioButtonList1.SelectedValue); Response.Cookies.Add(mycookie); /轉(zhuǎn)到主頁面 Response.Redirect("Default.aspx");界面運(yùn)行情況如圖4-8:圖4-8首頁本系統(tǒng)的首頁采用框架式設(shè)計(jì),布局示意如下表:系統(tǒng)banner ifame功能菜單ifame快捷工具欄ifame工作區(qū)ifame系統(tǒng)狀態(tài)欄ifame表4-1主要子框架的內(nèi)容介紹如下:系統(tǒng)功能菜單(men
34、u.aspx)在功能菜單中,主要使用了第三方控件RadPanelBar,它是一個(gè)可以在很短的時(shí)間內(nèi)構(gòu)造靈活的panelbar菜單。panelbar作為一個(gè)完全的通過xml文件進(jìn)行管理輸出的服務(wù)器端控件,廣泛的可視化與可定制特性是大多數(shù)網(wǎng)站,企業(yè)內(nèi)部網(wǎng)和web應(yīng)用程序的方便的解決方案,該控件提供OnClick和Target屬性,完全支持圖片。使用前需注冊此控件,注冊方法如下:<% Register Assembly="RadPanelbar.Net2" Namespace="Telerik.WebControls" TagPrefix="r
35、adP" %>綁定數(shù)據(jù)到RadPanelBar控件的關(guān)鍵代碼如下:RadPanelbar1.DataSource = dt; RadPanelbar1.DataTextField = "text" RadPanelbar1.DataFieldID = "ID" RadPanelbar1.DataFieldParentID = "parentId"RadPanelbar1.DataNavigateUrlField = "URL"RadPanelbar1.DataBind();打開連接采用JavaScr
36、ipt代碼控制,代碼如下:function openURL(URL,open_window) if(open_window) window.open(URL); else parent.table.location=URL; 快捷工具欄(shortcut.aspx)快捷工具欄主要設(shè)置一些常用操作,界面運(yùn)行效果如圖4-9:圖4-9同時(shí),它還具有控制工作區(qū)大小的功能,部分關(guān)鍵代碼如下(JavaScript):/控制隱藏左側(cè)面板 var view_flag2=1; var frame_cols = parent.parent.parent.document.getElementById("
37、frame2").cols; function my_menu_view2(id) var el=document.getElementById(id); if(view_flag2=1) parent.parent.document.getElementById("frame2").cols="0"+frame_cols.substr(frame_cols.indexOf(","); el.className="call_right" else parent.parent.document.getEle
38、mentById("frame2").cols=frame_cols; el.className="call_left" view_flag2=1-view_flag2; 工作區(qū)工作區(qū)是本系統(tǒng)呈現(xiàn)信息和接受用戶輸入數(shù)據(jù)的區(qū)域,框架名稱為table,既“桌面”,以此命名是因?yàn)榇蟛糠秩硕际褂肳indows操作系統(tǒng),“桌面”的概念已經(jīng)深入人心,我也希望本系統(tǒng)最終能像Windows那樣直觀易用。工作區(qū)本身是一個(gè)承載信息的載體,為了方便用戶,本系統(tǒng)中設(shè)計(jì)使用了自動改變?yōu)g覽器窗口尺寸到屏幕最大可用空間的小技巧,在主框架頁面中加入如下代碼(Js)self.moveTo
39、(0,0); self.resizeTo(screen.availWidth,screen.availHeight); self.focus();項(xiàng)目申請頁面項(xiàng)目申請書在樣式上都采用統(tǒng)一的標(biāo)準(zhǔn),由外部CSS控制,連接到CSS的代碼如下:<link href="css/StyleSheet.css" type="text/css" rel="stylesheet"/>項(xiàng)目申請分為三種類別的申請書,格式互不相同,因此要根據(jù)要申請的項(xiàng)目類別確定鏈接打開哪個(gè)申請書。由于一個(gè)頁面中需要保存的數(shù)據(jù)較多,保存功能代碼全部以參數(shù)化形式進(jìn)行
40、。下面以我院青年科研基金項(xiàng)申請書為例進(jìn)行說明。獲取url傳參:傳入項(xiàng)目申請書編號,并根據(jù)編號獲取數(shù)據(jù)庫中已存在的相關(guān)信息,關(guān)鍵代碼如下(VB):Dim obj As Object obj = Request.QueryString("ApplNum") If Not obj Is Nothing Then '判斷是否有傳入ApplNum的值 ApplNum = obj.ToString() Me.TextBox8.Text = ApplNum '檢索數(shù)據(jù) selectData() End If顯示數(shù)據(jù),方法selectData()中,部分關(guān)鍵代碼如下(VB)
41、:'檢索項(xiàng)目負(fù)責(zé)人信息 strSql = "Select user_name, sex, post, goodat, duty, eduback, dept, degree, birth, phone, homePhone, celphone " _ & "From V_principal Where user_id = '" & principal & "'" dt.Clear() '清空dt中的數(shù)據(jù) dt = myDB.GetTable(strSql) If dt.Rows.
42、Count > 0 Then DropDownList1.Text = dt.Rows(0)(0).ToString() '負(fù)責(zé)人姓名 TextBox9.Text = dt.Rows(0)(1).ToString() '姓別 TextBox3.Text = dt.Rows(0)(2).ToString() '職稱 TextBox46.Text = dt.Rows(0)(3).ToString() '研究專長 TextBox41.Text = dt.Rows(0)(4).ToString() '職務(wù) TextBox4.Text = dt.Rows(0
43、)(5).ToString() '學(xué)歷 TextBox5.Text = dt.Rows(0)(7).ToString() '學(xué)位 TextBox45.Text = dt.Rows(0)(8).ToString() '出生年月 TextBox47.Text = dt.Rows(0)(11).ToString() '手機(jī) End If保存數(shù)據(jù),頁面中采用的第三方控件SmartGrid,它具有十分強(qiáng)大的功能,能快速的設(shè)置列樣式,能夠非常方便地在頁面上動態(tài)的增加、刪除、插入一行。注冊控件代碼如下: <% Register assembly="Smart.
44、Web.UI.WebControls.SmartGrid" namespace="Smart.Web.UI.WebControls" tagprefix="SmartWeb" %>保存此控件中的數(shù)據(jù)到數(shù)據(jù)庫的關(guān)鍵代碼如下(VB):'保存項(xiàng)目進(jìn)展計(jì)劃表信息,首先刪除數(shù)據(jù)庫中的數(shù)據(jù) strSql = "delete from tb_plan where ApplNum='" & TextBox8.Text & "'" myDB.RunSql(strSql) t =
45、 Me.SmartGrid2.DataSource If Not (t Is Nothing) Then Dim StudyPhase, ProdName, ProdFormat, Assumer As String '*研究階段,成果名稱,成果形式,承擔(dān)人 '初始化變量 For Each r In t.Rows flag = 0 StudyPhase = "*" ProdName = "*" ProdFormat = "*" Assumer = "*" Jscript.Alert("3&
46、quot;) '對新增加一行數(shù)據(jù)的處理 If r.RowState = DataRowState.Added Or r.RowState = DataRowState.Unchanged Then StudyPhase = r("StudyPhase").ToString() ProdName = r("ProdName").ToString() ProdFormat = r("Prodformat").ToString() Assumer = r("Assumer").ToString() flag =
47、1 End If '對修改一行數(shù)據(jù)的處理 If r.RowState = DataRowState.Modified Then StudyPhase = r("StudyPhase", DataRowVersion.Current).ToString()'修改后的數(shù)據(jù) ProdName = r("ProdName", DataRowVersion.Current).ToString() '修改后的數(shù)據(jù) ProdFormat = r("Prodformat", DataRowVersion.Current).To
48、String()'修改后的數(shù)據(jù) Assumer = r("Assumer", DataRowVersion.Current).ToString() '修改后的數(shù)據(jù) flag = 1 End If '如果新增和修改數(shù)據(jù)將進(jìn)行保存 If flag = 1 Then Dim prams1() As SqlParameter = _ myDB.MakeInParam("ApplNum", SqlDbType.VarChar, 30, TextBox8.Text), _ myDB.MakeInParam("ProjNum"
49、;, SqlDbType.VarChar, 30, TextBox27.Text), _ myDB.MakeInParam("StudyPhase", SqlDbType.NVarChar, 50, StudyPhase), _ myDB.MakeInParam("ProdName", SqlDbType.NVarChar, 20, ProdName), _ myDB.MakeInParam("ProdFormat", SqlDbType.NVarChar, 50, ProdFormat), _ myDB.MakeInParam(&q
50、uot;Assumer", SqlDbType.NVarChar, 40, Assumer) _ myDB.RunProc("up_add_plan_new002", prams1) End If Next End If界面運(yùn)行效果如圖4-10:圖4-10查詢功能頁面用戶可以申請多個(gè)項(xiàng)目,能夠方便地查看已申請的項(xiàng)目列表是必要的。本系統(tǒng)中用自定義控件show_new_list來顯示此列表,對應(yīng)的SQL查詢?nèi)缦拢簊trSql = "Select ApplNum, ProjName, ApplDate, flag, ProjKind From tb_ProjI
51、nfo Where Proposer = '" + _proposer + "'"綁定數(shù)據(jù)及對應(yīng)的鏈接代碼如下(C#):<ItemTemplate> <tr> <td><a href="<%#makeUrl(Eval("ApplNum").ToString(), Eval("ProjKind").ToString() %>"><%#Eval("ApplNum") %></a></td> <td><a href="<%#makeUrl(Eval("ApplNum").ToString(), Eval("ProjKind").ToString() %>"><%#Eval("ProjName") %></td> <td><%#Eval(&quo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版六年級下冊數(shù)學(xué)復(fù)習(xí)考前計(jì)劃
- (集團(tuán))審計(jì)部成本控制職責(zé)
- 成本精細(xì)核算管理辦法
- 電廠班組會議管理辦法
- 公共交通工具上心跳呼吸驟停應(yīng)急流程他
- 廣安荒山荒地管理辦法
- 房產(chǎn)測繪管理辦法預(yù)測
- 律師執(zhí)業(yè)管理辦法公布
- 財(cái)物登記制度管理辦法
- 西藏信托薪酬管理辦法
- 2024年《認(rèn)識大熊貓》課件:大熊貓保護(hù)的明天
- 鋼結(jié)構(gòu)工程安裝勞務(wù)合同
- 團(tuán)員發(fā)展紀(jì)實(shí)簿
- DB11-T 1952-2022 地理國情監(jiān)測技術(shù)規(guī)程
- 記憶有方 過目不忘 課件
- 3D三維可視化BIM模板安全施工方案
- 國開(貴州)2024年秋《地域文化(專)》形考任務(wù)1-2答案
- 采油工(信息化)高級技能鑒定理論考試題及答案
- GB/T 15843.2-2024網(wǎng)絡(luò)安全技術(shù)實(shí)體鑒別第2部分:采用鑒別式加密的機(jī)制
- 餐飲場所裝修安全協(xié)議模板
- 2022年自考專業(yè)(英語)高級英語考試真題及答案16
評論
0/150
提交評論