基于.NET的高??蒲行畔⒐芾硐到y(tǒng)關(guān)鍵技術(shù)研究_第1頁
基于.NET的高??蒲行畔⒐芾硐到y(tǒng)關(guān)鍵技術(shù)研究_第2頁
基于.NET的高??蒲行畔⒐芾硐到y(tǒng)關(guān)鍵技術(shù)研究_第3頁
基于.NET的高??蒲行畔⒐芾硐到y(tǒng)關(guān)鍵技術(shù)研究_第4頁
基于.NET的高??蒲行畔⒐芾硐到y(tǒng)關(guān)鍵技術(shù)研究_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于.NET的高??蒲行畔⒐芾硐到y(tǒng)關(guān)鍵技術(shù)研究摘要隨著計算機、通信、軟件等領(lǐng)域的迅猛發(fā)展,辦公自動化在當今企業(yè)、機關(guān)和院校中的應(yīng)用越來越廣泛。一個部門實現(xiàn)辦公自動化的程度也成為衡量其實現(xiàn)現(xiàn)代化管理的重要標準。所以,為了迎合發(fā)展趨勢、提高辦公效率、實現(xiàn)無紙化辦公等目標,建立完備的軟件學院科研管理系統(tǒng)也就成了學院工作和發(fā)展的必要工作。本課題通過和科研干事的交流,了解其工作內(nèi)容,根據(jù)其工作需求總結(jié)出《軟件學院科研管理系統(tǒng)業(yè)務(wù)需求框架》,并以此為依據(jù),按照產(chǎn)品化的思想,設(shè)計并實現(xiàn)軟件學院科研管理系統(tǒng)。本文將對軟件學院科研管理系統(tǒng)的需求分析,系統(tǒng)設(shè)計以及功能實現(xiàn)依次進行介紹,在系統(tǒng)重要模塊(合同管理、發(fā)票管理、免稅申請)的設(shè)計過程及相關(guān)功能的實現(xiàn)問題上將做出重點說明。系統(tǒng)確定使用當下較流行的C#+.NET+SQLServer的系統(tǒng)框架進行開發(fā)。本文將就使用.NET框架對系統(tǒng)進行分類開發(fā)的步驟,以及在系統(tǒng)開發(fā)過程中.NET框架中特有的機制和相關(guān)技術(shù)在系統(tǒng)實現(xiàn)中的應(yīng)用原理及方法進行分析。本系統(tǒng)的開發(fā)按照軟件工程的標準化方法進行,并參照了原形模型的開發(fā)思想及方法,基本完成了軟件學院科研管理系統(tǒng)的開發(fā)工作。關(guān)鍵詞:軟件工程管理系統(tǒng)ASP.NETAbstractWiththedevelopmentofcomputer,communicationandsoftwaretechnologies,thefieldofapplicationofOfficeAutomationincompany,officeandcollegehasbeenmoreandmorewidely.Adepartment’sdegreeofOfficeAutomationreflectsitscapabilityofmodernizationmanagement.Therefore,theestablishmentofacomprehensiveresearchmanagementsystemofSoftwareSchoolbecametheCollege’sneedofworkanddevelopment.Thesubjectaccordingtotherequestingoftheresearchofficer’sbusinessand‘DemandframeworkoftheResearchManagementSystemofSoftwareSchool’andtheproductdesignmethod,designedandcomplishedthesubject.Thepaperwillintroducetherequirementanalysis,systemdesignandfunctionrealizationofthesystem.Themainmodulesandimportantmachine-processeandtechnologyofASP.NETwillbeexplainedatlength.Theframeworkofc#++sqlserverhasbeenusedforthissubject.Procedureofthe.NET’sdevelopmentwillbeillustratedandtheprincipleofoperationASP.NET’smachine-processedandtechniquearealsobeexplained.Atlast,thesystemhasbeendevelopedinthestandardizedmethodofthesoftwareengineeringandusedthemethodofPrototypemodel.TheresearchmanagementsystemofSoftwareSchoolhasbeenbasicallyaccomplished.KeyWords:SoftwareEngineering;researchmanagementsystem;ASP.NET目錄摘要 1Abstract 2第一章前言 41.1項目介紹 4第二章相關(guān)技術(shù)介紹 62.1ASP.NET 62.2C# 62.3IIS服務(wù) 62.4小節(jié) 7第三章需求分析 83.1功能描述 83.1.1功能權(quán)限 83.1.2合同管理 93.1.3發(fā)票管理 113.1.4免稅辦理 133.1.5成果管理 143.1.6報表統(tǒng)計 163.1.7管理助手 163.2功能劃分 173.2.1系統(tǒng)整體結(jié)構(gòu)框架 173.2.2目標需求 183.3性能需求 193.3.1數(shù)據(jù)精確度 193.3.2時間特性 193.3.3適應(yīng)性和靈活性 193.4運行需求 193.4.1用戶界面 193.4.2硬件接口 203.4.3軟件接口 203.4.4故障處理 203.5小節(jié) 20第四章系統(tǒng)的設(shè)計 214.1功能模塊設(shè)計 214.1.1功能權(quán)限模塊 214.1.2合同管理模塊 224.1.3發(fā)票管理模塊 234.1.4免稅辦理模塊 234.1.5成果管理模塊 244.1.6報表統(tǒng)計模塊 254.1.7管理助手模塊 254.1.8總體設(shè)計概述 264.2系統(tǒng)中的類和接口的設(shè)計 274.2.1數(shù)據(jù)訪問層 274.2.2系統(tǒng)邏輯層功能部分 284.3小節(jié) 28第五章系統(tǒng)的實現(xiàn) 295.1功能模塊部分 295.1.1合同管理模塊 295.1.2其他模塊 365.2小節(jié) 36結(jié)論 37參考文獻 38

第一章前言1.1項目介紹根據(jù)和科研干事的溝通,并收集科研干事的需求,繪制出基本的需求分析,并根據(jù)反饋意見,進行多次修改和完善。根據(jù)《軟件學院科研管理系統(tǒng)需求框架v2.1》,對系統(tǒng)中用戶種類數(shù)量及職責、系統(tǒng)中模塊的數(shù)量以及各模塊中的業(yè)務(wù)流程、系統(tǒng)的性能需求(數(shù)據(jù)精確度、時間特性、適應(yīng)性和靈活性等)、運行需求(軟、硬件接口和故障處理等)已做了大致確定。軟件學院科研管理系統(tǒng),以科研干事的工作需求和《軟件學院科研管理系統(tǒng)業(yè)務(wù)需求框架》的內(nèi)容為主要依據(jù),涉及科研管理工作中科研干事的五個主要工作內(nèi)容:合同管理、發(fā)票管理、免稅申請、報表制定、成果管理。系統(tǒng)力求使上述五種工作便利化,提高辦公效率,實現(xiàn)無紙化辦公。該系統(tǒng)在設(shè)計開發(fā)過程中需要嚴格遵照軟件工程相關(guān)規(guī)范進行。在開發(fā)過程中強調(diào)就用戶對“原型”的反饋進行及時的應(yīng)對。整個開發(fā)過程分為需求分析、系統(tǒng)設(shè)計、程序編寫、系統(tǒng)測試、運行等若干階段。考慮到該系統(tǒng)開發(fā)過程中,會多次將系統(tǒng)的樣本交給用戶并收集用戶的反饋意見,采用逐步求精的方法對系統(tǒng)進行完善,故采用“原型模型”作為系統(tǒng)的開發(fā)模型。該系統(tǒng)在實現(xiàn)上使用C#+.NET+SQLServer的系統(tǒng)框架。系統(tǒng)為基于.NET框架的web應(yīng)用程序,各模塊基本都使用微軟的ASPX動態(tài)網(wǎng)頁文件來實現(xiàn),數(shù)據(jù)庫的訪問和操作方面主要使用.NET框架中的ADO.NET技術(shù)來實現(xiàn)。該科研管理系統(tǒng)專供參與北京理工大學軟件學院科研管理的相關(guān)人員使用,具有科研項目管理、發(fā)票管理、免稅辦理、報表統(tǒng)計、成果管理等多項功能。使用該系統(tǒng)的人員包括:(1)對系統(tǒng)中所存儲的相關(guān)信息進行查看的人員;(2)將對系統(tǒng)中所存儲的相關(guān)信息進行維護(添加、修改、刪除等操作)的人員。系統(tǒng)的運行需要學校有構(gòu)建良好的內(nèi)部網(wǎng)絡(luò)為依托,日后還需要專業(yè)的工程人員對系統(tǒng)進行維護。

第二章相關(guān)技術(shù)介紹2.1ASP.NETASP.NET是基于.NETFramework的動態(tài)網(wǎng)站技術(shù),是微軟針對web開發(fā)模式的一此革命性創(chuàng)新。其主要目的是在高度分布的Internet環(huán)境中簡化應(yīng)用程序、提高開發(fā)效率。使用ASP.NET,可以更靈活、更安全地創(chuàng)建更安全、更強大的網(wǎng)絡(luò)應(yīng)用程序。VisualStudio中,開發(fā)人員僅僅需要調(diào)用相關(guān)方法就可以完成序列化的過程。2.2C#C#(CSharp)是微軟為.NETFramework量身訂做的程序語言,其作者是微軟.NET首席框架師AndersHejlsberg(安德斯海爾斯伯格)。C#源自C/C++家族,吸收了Java語言的一些特點,語法與C++和Java比較相似,擁有C/C++的強大功能以及VisualBasic簡易使用的特性。和C++與Java一樣,C#也是面向?qū)ο?object-oriented)程序語言。在設(shè)計目的方面,C#旨在設(shè)計成為一種簡單、現(xiàn)代、通用的面向?qū)ο蟪绦蛟O(shè)計語言。不論面對使用復(fù)雜操作系統(tǒng)的大型系統(tǒng),還是特定應(yīng)用的小型系統(tǒng),均可以進行獨立或者嵌入式的系統(tǒng)編程開發(fā)。此外,C#還具有較高的移植性,擁有國際化的支持等特點。在語言特性方面,相對于C和C++,C#語言在許多方面進行了限制和增強。在C#中,幾乎每種對象都被定義為了一個類,使得程序員在使用它們時更加安全可靠。另外,C#中的指針只能被用于不安全模式。大多數(shù)對象訪問通過安全的引用實現(xiàn),以避免無效的調(diào)用,并且有許多算法用于驗證溢出。在繼承和接口方面,C#中的“類”只允許單一繼承(singleinheritance),但是一個類可以實現(xiàn)多個接口(interfaces)。此外,在C#的類中可以將私有變量附加屬性支持,使得類中數(shù)據(jù)的管理和調(diào)用更加靈活。完整的反射支持使得在編寫web應(yīng)用時相當方便。綜上所述,C#是一種安全的、穩(wěn)定的、簡單的、優(yōu)雅的,由C和C++衍生出來的面向?qū)ο蟮木幊陶Z言。它在繼承C和C++強大功能的同時去掉了一些它們的復(fù)雜特性(例如沒有宏以及不允許多重繼承)。C#綜合了VB簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優(yōu)雅的語法風格、創(chuàng)新的語言特性和便捷的面向組件編程的支持成為.NET開發(fā)的首選語言。2.3IIS服務(wù)InternetInformationServices(IIS,互聯(lián)網(wǎng)信息服務(wù)),是由微軟公司提供的基于運行MicrosoftWindows的互聯(lián)網(wǎng)基本服務(wù)。最初是WindowsNT版本的可選包,隨后內(nèi)置在Windows2000、WindowsXPProfessional和WindowsServer2003一起發(fā)行,但在WindowsXPHome版本上并沒有IIS。IIS是InternetInformationServices的縮寫,是一個WorldWideWebserver。Gopherserver和FTPserver全部包容在里面。IIS意味著你能發(fā)布網(wǎng)頁,并且有ASP(ActiveServerPages)、JAVA、VBscript產(chǎn)生頁面,有著一些擴展功能。IIS支持一些有趣的東西,像有編輯環(huán)境的界面(FRONTPAGE)、有IIS7全文檢索功能的(INDEXSERVER)、有多媒體功能的(NETSHOW)其次,IIS是隨WindowsNTServer4.0一起提供的文件和應(yīng)用程序服務(wù)器,是在WindowsNTServer上建立Internet服務(wù)器的基本組件。它與WindowsNTServer完全集成,允許使用WindowsNTServer內(nèi)置的安全性以及NTFS文件系統(tǒng)建立強大靈活的Internet/Intranet站點。IIS(InternetInformationServer,互聯(lián)網(wǎng)信息服務(wù))是一種Web(網(wǎng)頁)服務(wù)組件,其中包括Web服務(wù)器、FTP服務(wù)器、NNTP服務(wù)器和SMTP服務(wù)器,分別用于網(wǎng)頁瀏覽、文件傳輸、新聞服務(wù)和郵件發(fā)送等方面,它使得在網(wǎng)絡(luò)(包括互聯(lián)網(wǎng)和局域網(wǎng))上發(fā)布信息成了一件很容易的事。2.4小節(jié)本節(jié)主要介紹了在系統(tǒng)開發(fā)過程中所涉及到的相關(guān)技術(shù)。本系統(tǒng)為基于.NET框架的web應(yīng)用程序,將應(yīng)用到諸多.NET框架下的技術(shù)。了解.NET框架中的一些重要機制和相關(guān)技術(shù),可以更好的完成系統(tǒng)的設(shè)計與實現(xiàn)。

第三章需求分析3.1功能描述根據(jù)科研干事的需求以及《軟件學院科研管理系統(tǒng)業(yè)務(wù)需求框架》,本系統(tǒng)總體分為7個功能模塊:功能權(quán)限、合同管理、發(fā)票管理、免稅管理、成果管理、報表統(tǒng)計、管理助手。其中,每個模塊中又包含若干個子模塊來完成該模塊所需要完成的功能。合同管理、發(fā)票管理和免稅管理模塊為系統(tǒng)的主要模塊,實現(xiàn)對科研項目的審批和項目經(jīng)費的管理等功能。系統(tǒng)的的功能劃分如圖3.1所示:圖3.1系統(tǒng)功能劃分圖3.1.1功能權(quán)限功能與權(quán)限模塊主要實現(xiàn)了系統(tǒng)功能的增刪改、用戶信息的導入與管理、用戶權(quán)限的設(shè)置等功能?!鲎杂脩舴N類1)系統(tǒng)管理員;2)軟件學院科研副院長;3)軟件學院定密組組長;4)軟件學院科研干事;5)項目負責人(項目組組長);6)軟件學院普通教職工。其中,系統(tǒng)管理員/軟件學院科研干事?lián)碛性谙到y(tǒng)內(nèi)增、刪、改、查注冊用戶的權(quán)利。系統(tǒng)管理員/軟件學院科研干事對教工中的軟件學院科研副院長、軟件學院定密工作小組組長、項目組長進行角色定義。系統(tǒng)的注冊用戶擁有改、查個人注冊信息的權(quán)利。綜上所述,功能與權(quán)限管理模塊的用例圖如下圖3.2所示:圖3.2功能與權(quán)限模塊用例圖■功能需求1)管理員/軟件學院科研干事登錄系統(tǒng)后,可以在后臺批量導入用戶數(shù)據(jù),或在前臺以手工方式修改用戶數(shù)據(jù)。2)管理員/軟件學院科研干事可以修改任意用戶的信息。3)用戶可以修改自己的信息。4)管理員/軟件學院科研干事可以管理用戶的權(quán)限。■業(yè)務(wù)規(guī)則1)系統(tǒng)注冊用戶需要填寫的表單內(nèi)容及注釋見附錄A1。2)其他系統(tǒng)管理員/軟件學院科研干事可以批量導入(支持EXCEL,CSV兩種格式)教工基本信息數(shù)據(jù)。3)用戶登錄密碼,在數(shù)據(jù)庫中進行加密處理。4)權(quán)限設(shè)置功能中,將所有功能合并于一頁顯示,以勾選形式進行選擇,實現(xiàn)功能的定制、取消、顯示、重置。3.1.2合同管理合同管理模塊主要實現(xiàn)了合同審批表的填寫、查看、審批、到款經(jīng)費、出款經(jīng)費的填寫等功能。■模塊概述1)流程描述項目組長填寫《北京理工大學科技合同審批表》并簽字,交付科研干事??蒲懈墒侣?lián)系學院科研副院長、學院定密工作小組組長分別進行審批,之后交付科研院,科研院在三個工作日內(nèi)電話通知科研干事,將、合同返還給科研干事??蒲懈墒聦⒈A敉ㄟ^審批的合同審批表。之后,項目組長可以根據(jù)到、出款情況,填寫到款、出款經(jīng)費單。綜上所述,合同管理模塊的流程圖和用例圖,如圖3.3,圖3.4所示:2)對象概述參與角色:項目組長、科研干事、科研副院長、學院定密工作小組組長表單:《北京理工大學科技合同審批表》、到款經(jīng)費單、出款經(jīng)費單。圖3.3合同管理模塊流程如圖3.4合同管理模塊用例圖■系統(tǒng)擬實現(xiàn)的功能用戶以參與角色賬號登陸系統(tǒng),則可進入合同管理模塊,擁有如下功能:1)填寫合同審批表由系統(tǒng)提供網(wǎng)頁形式的《北京理工大學科技合同審批表》,項目組長填寫合同。提交后,合同審批表自動處于“待審批”狀態(tài),此時項目組長只具有查看權(quán)利。2)打印合同審批表3)審批合同軟件學院科研干事、軟件學院科研副院長、軟件學院定密工作小組組長具有查看需要自己辦理、簽字的科研合同審批表數(shù)量及詳細信息的權(quán)利,軟件學院科研副院長電子審批工作完成后,合同審批表處于“學院已審批”或“未獲批”狀態(tài);軟件學院定密工作小組組長電子審批工作完成后,合同審批表處于“學院定密已完成”或“未獲批”狀態(tài);軟件學院科研干事將合同審批表和合同送交學??蒲性汉?,合同審批表處于“科研院審批中”狀態(tài),軟件學院科研干事將合同從學校科研院取回,將合同置為“已獲批”或“未獲批”狀態(tài)。4)補錄信息軟件學院科研干事能夠修改合同部分內(nèi)容(如,合同號等),可以查看/替他人填寫合同,在“已獲批”后補錄部分信息。5)導入合同軟件學院科研干事可以將手中現(xiàn)有的WORD、EXCEL等文件資料加入系統(tǒng)進行統(tǒng)一管理。6)查詢合同用戶可以查詢的全部內(nèi)容和審批進程。軟件學院科研干事?lián)碛袑τ谌珜W院科研合同的增、刪、改、查權(quán)限,項目組長擁有針對自己項目信息的查看權(quán)限,軟件學院科研副院長擁有對全學院所有科研項目的查看權(quán)限。7)查詢進款對應(yīng)進款合同中進款的查詢。用戶查詢時,須輸入項目代號、經(jīng)費卡號、項目組長、項目名稱中至少一項。8)填寫到款經(jīng)費單軟件學院科研干事根據(jù)學??蒲性合掳l(fā)的《北京理工大學科研經(jīng)費通知書》在系統(tǒng)中對進款合同中的每筆進款進行登記。只需登記進款的時間和金額,并指明是第幾筆進款。軟件學院科研干事?lián)碛袑M款的增、刪、改、查權(quán)限。9)查詢出款10)填寫出款經(jīng)費單■業(yè)務(wù)需求1)合同審批表詳細信息見附錄A2。2)合同獲得審批后的補錄項目見附錄A3。3.1.3發(fā)票管理主要對科研項目中的發(fā)票進行系統(tǒng)化管理,包括發(fā)票申領(lǐng)、發(fā)票審批、發(fā)票核銷等幾個子模塊。■模塊概述1)流程描述需要提前領(lǐng)用增值稅發(fā)票人員填寫《發(fā)票申領(lǐng)審批單》,并簽字后送交軟件學院科研干事,軟件學院科研干事本人簽字后聯(lián)系學??蒲性侯I(lǐng)導簽字。軟件學院科研干事持簽好字的《發(fā)票申領(lǐng)審批單》去學校財務(wù)處聯(lián)系借發(fā)票事宜。軟件學院科研干事會將借出的發(fā)票復(fù)印存檔,以便進行核銷帳管理。軟件學院科研干事會通知發(fā)票申領(lǐng)人員在規(guī)定的時間內(nèi)領(lǐng)取發(fā)票。發(fā)票申領(lǐng)工作,軟件學院科研干事一般會在三個工作日內(nèi)完成,發(fā)票借出后,發(fā)票申領(lǐng)人最好在一個月內(nèi)完成銷帳。等應(yīng)稅收入款項到賬,手續(xù)齊備,相關(guān)經(jīng)費正常入卡后,由財務(wù)處一并辦理稅款調(diào)整手續(xù),將稅款支出計入應(yīng)稅收入中。由此可得本模塊的流程圖和用例,如圖3.5,3.6所示。圖3.5發(fā)票管理模塊流程圖2)對象概況參與角色:項目組長、科研干事、科研院領(lǐng)導。表單:《發(fā)票申領(lǐng)審批單》、科研合同。圖3.6發(fā)票管理模塊用例圖■系統(tǒng)擬實現(xiàn)的功能用戶以參與角色賬號登陸系統(tǒng),則可進入發(fā)票管理模塊,擁有如下功能:1)填寫發(fā)票審批單發(fā)票申領(lǐng)人填寫的審批單,審批單提交系統(tǒng)后,自動處于“待處理”狀態(tài),且項目組長只具有對審批單的查看權(quán)限。2)打印發(fā)票審批單3)審批發(fā)票軟件學院科研干事可以查看“待審批”的發(fā)票。發(fā)票申領(lǐng)人可以查看與自己相關(guān)的發(fā)票的審批狀態(tài)。軟件學院科研干事在完成與學校財務(wù)處聯(lián)系后,根據(jù)辦理結(jié)果,選擇審批狀態(tài):“已獲批”或“未獲批”,其中“未獲批”應(yīng)有備注提示原因,可選擇的原因包括:借款太多未銷賬,所借發(fā)票未核銷,其他,其他原因應(yīng)支持文本框輸入。完成審批后系統(tǒng)將自動彈出發(fā)送郵件對話頁,默認的發(fā)送方為軟件學院科研干事,收件方為發(fā)票申領(lǐng)人,郵件內(nèi)容為“您的發(fā)票已獲批,請盡快到學院科研辦公室領(lǐng)取?!被蛘摺澳陌l(fā)票未獲批,原因為…”。4)查詢發(fā)票可以根據(jù)發(fā)票申領(lǐng)人、申領(lǐng)日期、合同或協(xié)議名稱、付款單位等對發(fā)票進行查詢。發(fā)票申領(lǐng)人只可查詢與自己有關(guān)的發(fā)票。軟件學院科研副院長/軟件學院科研干事可以查詢?nèi)珜W院的發(fā)票。5)核銷發(fā)票在臨近發(fā)票核銷日前的某個時間段(暫定一周前),系統(tǒng)應(yīng)能提醒軟件學院科研干事/項目組長注意發(fā)票核銷。■業(yè)務(wù)需求:1)發(fā)票審批單見附錄A42)發(fā)票號、付款單位和金額的組合可以唯一確定一個發(fā)票。。3.1.4免稅辦理此模塊主要是對免稅環(huán)節(jié)的辦理工作進行系統(tǒng)化的管理,包括免稅申請、免稅查看、免稅審批三個模塊?!瞿K概述1)流程描述需要辦理免稅的項目組長,需將《技術(shù)交易免征營業(yè)稅備查申請表》和《計劃任務(wù)書》原件各一份,已蓋章生效的合同原件兩份、技術(shù)方案原件兩份(首次申辦需要,再次到款無需提供),簽字的《技術(shù)合同技術(shù)性收入核定表》(一式四聯(lián)),發(fā)票復(fù)印件一份,繳款書復(fù)印件一份,銀行進賬單復(fù)印件一份送交軟件學院科研干事,由軟件學院科研干事統(tǒng)一送交學??蒲性恨k理。由此可得免稅辦理的流程圖和用例圖,如圖3.7,3.8所示:圖3.7免稅辦理流程圖圖3.8免稅辦理模塊用例圖2)對象概況參與角色:項目組長、科研干事、科研院領(lǐng)導表單:《技術(shù)交易免征營業(yè)稅備查申請表及填表說明》、《計劃任務(wù)書模版》、《技術(shù)合同技術(shù)性收入核定表》。■系統(tǒng)擬實現(xiàn)的功能游客以參與角色賬號登陸系統(tǒng),則可進入免稅辦理模塊,擁有如下功能:1)填寫免稅申請表系統(tǒng)由網(wǎng)頁形式生成《技術(shù)交易免征營業(yè)稅備查申請表》供項目組長進行填寫,在提交審批前,項目組長擁有對自己填寫信息的修改、刪除權(quán)限,提交后,自動處于“待審批”狀態(tài),且項目組長只具有查看權(quán)利,能夠查看審批狀態(tài)。軟件學院科研干事?lián)碛袑θ珜W院免稅申請表的增、刪、改、查權(quán)限。2)打印免稅申請表3)審批免稅軟件學院科研干事需將免稅辦理情況及時登記,狀態(tài)包括:“已獲批”或“未獲批”,其中“未獲批”免稅項目應(yīng)標明原因。4)查詢免稅項目組長可以查詢與自己相關(guān)項目的免稅辦理情況。項目組長可以通過查詢項目代號、經(jīng)費卡號、項目名稱、發(fā)票號碼來查看與自己相關(guān)合同的免稅辦理的情況等。■業(yè)務(wù)需求1)系統(tǒng)中免稅申請的表單見附錄A5。2)所有輸入的數(shù)字都應(yīng)支持小數(shù)形式。3.1.5成果管理本模塊主要包括知識產(chǎn)權(quán)和專著管理兩個模塊,實現(xiàn)了論文、專著、著作權(quán)、專利等信息的錄入和查看,方便科研項目的管理。由此可得成果管理模塊的用例圖,如下圖3.9所示:圖3.9成果管理模塊用例圖■模塊概述1)對象概況參與角色:科研干事。表單:《軟件學院專利統(tǒng)計表》、《軟件學院論文、專著信息統(tǒng)計表》。2)業(yè)務(wù)描述科研干事將相應(yīng)需要統(tǒng)計的成果的信息輸入系統(tǒng)并保存。■系統(tǒng)擬實現(xiàn)的功能用戶以參與角色賬號登陸系統(tǒng),則可進入成果管理模塊,擁有操作的權(quán)限?!鰳I(yè)務(wù)需求1)功能與權(quán)限普通用戶和管理員均可進行成果的增刪改查。普通用戶僅可視自己的內(nèi)容,管理員可見所有項目。2)專著需填寫的字段包括:專著名稱、主編、編寫人員、出版單位、字數(shù)(千字為單位)、出版時間、備注等。3)論文錄入需填寫的字段包括:刊名、第一作者、作者、卷、期、頁、發(fā)表時間等。其中對第一作者和作者兩個字段提供檢索功能,并在錄入時提示用戶錄入自己的論文,同時檢查系統(tǒng)中是否已存在該論文,避免多個作者同時錄入相同的論文。4)登記專利需要填寫的項目包括:名稱、持有人、申請?zhí)?、授?quán)號、公告日、申請日。專利的申請?zhí)?。授?quán)號等應(yīng)符合《專利文獻號標準》。所登記的專利信息要能夠與合同進行關(guān)聯(lián)。3.1.6報表統(tǒng)計自然年底考核時,及學院、學校評優(yōu)時,軟件學院科研干事會根據(jù)學??蒲性?、軟件學院科研副院長等部門及領(lǐng)導的要求進行科研項目的統(tǒng)計與分類。當前科研干事主要使用WORD,EXCEL等形成不同的電子文件,進行科研管理。在根據(jù)上級要求進行科研統(tǒng)計時,大多數(shù)情況下,需要人工統(tǒng)計完成。由此可得到報表統(tǒng)計模塊的用例圖,如下圖3.10所示:圖3.10報表統(tǒng)計用例圖■模塊概述1)對象概況參與角色:科研干事。表單:《博士點基金(樣表)》、《國家自然基金統(tǒng)計表(樣表)》、《經(jīng)手材料登記(樣表)》。2)業(yè)務(wù)描述科研干事可以查詢定制的報表,也可以進行自定義報表的查詢?!鱿到y(tǒng)擬實現(xiàn)的功能1)定制報表:提供對已定制好的報表的查詢功能,選擇好報表和查詢時間段后即可呈現(xiàn)出查詢結(jié)果。查詢結(jié)果可預(yù)覽,查詢結(jié)果可生成CSV和xls兩種格式文件導出??蓪蟊淼谋眍^、頁眉、頁腳等信息進行編輯??蓪τ脩糇远x的定制報表進行增刪改。預(yù)設(shè)值的定制報表包括(可與合同相關(guān)聯(lián)):博士點基金、國家自然基金(與項目性質(zhì)關(guān)聯(lián))、科研經(jīng)費進款統(tǒng)計(與進款有關(guān))、免稅辦理(與免稅相關(guān))。2)自定義報表:提供自定義面板以供用戶組合自定義的查詢條件,并為用戶提供可組合的查詢字段列表,用戶可自行組合相關(guān)字段,并提供查詢條件,然后得到自定義的報表。用戶可將自定義的報表保存為新的定制報表。自定義報表查詢結(jié)果可預(yù)覽,查詢結(jié)果可生成CSV和xls兩種格式文件導出??蓪蟊淼谋眍^、頁眉、頁腳等信息進行編輯。3.1.7管理助手本模塊主要為幫助用戶操作本系統(tǒng)而實現(xiàn),包括文件下載、用戶幫助和常用鏈接三個子功能。管理助手模塊的用例圖,如下圖所示:圖3.11管理助手模塊用例圖■功能需求:提供資源管理功能用于集中存儲各類與科研管理流程有關(guān)的表格的電子版,并提供下載功能,提供用戶幫助以幫助解答用戶操作本系統(tǒng)時遇到的問題。提供常用的鏈接地址?!鰳I(yè)務(wù)需求:1)資源下載提供常用文件下載功能。系統(tǒng)應(yīng)至少提供以下文件下載。資源下載表單見附錄A6。2)用戶幫助以用戶幫助手冊和索引查詢的形式,為用戶提供幫助。3)常用鏈接學校科研院、學校財務(wù)處、國家版權(quán)局、國家專利中心3.2功能劃分3.2.1系統(tǒng)整體結(jié)構(gòu)框架綜上所處,軟件學院科研管理系統(tǒng)總體分為7個功能模塊:功能權(quán)限、合同管理、發(fā)票管理、免稅管理、成果管理、報表統(tǒng)計、管理助手。其中,每個模塊中又包含若干個子模塊來完成該模塊所需要完成的功能。合同管理、發(fā)票管理和免稅管理模塊為系統(tǒng)的主要模塊,實現(xiàn)對科研項目的審批和項目經(jīng)費的管理等功能。系統(tǒng)的功能模塊圖如下圖所示:圖3.12系統(tǒng)整體功能模塊圖3.2.2目標需求軟件學院科研管理系統(tǒng)專供參與北京理工大學軟件學院科研管理的相關(guān)人員使用。系統(tǒng)將會將參與科研事物管理的人員分為六個不同的角色,由于角色定義不同,角色在系統(tǒng)中的權(quán)限也不同,相應(yīng)角色只能對本角色的相關(guān)事務(wù)進行處理和操作。下圖為系統(tǒng)的用例圖,如圖3.13所示。圖3.13軟件學院科研管理系統(tǒng)用例圖3.3性能需求3.3.1數(shù)據(jù)精確度該款軟件沒有對于數(shù)據(jù)處理上面的嚴格要求,因此對于數(shù)據(jù)精確度并無特別要求。3.3.2時間特性為滿足信息維護以及查看的需求,該系統(tǒng)在進行信息維護(添加、修改、刪除等操作)時需要在2s內(nèi)完成相關(guān)操作,而在進行信息查看時,系統(tǒng)則將根據(jù)信息的復(fù)雜度擁有不同的響應(yīng)時間,正常情況下,系統(tǒng)需要在5s—8s內(nèi)返回用戶所查看的信息。系統(tǒng)需要滿足在千人次同時訪問時仍然擁有正常時間特性的要求。3.3.3適應(yīng)性和靈活性該軟件是針對使用MicrosoftWindows7及以上操作系統(tǒng)的用戶而量身設(shè)計的,因此該系統(tǒng)可以穩(wěn)定地運行在Windows7及以上操作系統(tǒng)上,在不同的操作系統(tǒng)中也具有良好的移植性。3.4運行需求3.4.1用戶界面軟學院科研管理系統(tǒng)的界面布局主要分為兩個部分:左半部主要負責顯示當前用戶的摘要信息以及系統(tǒng)功能模塊及其子模塊的名稱(采用動態(tài)樹形菜單控件生成)。右半部主要顯示與所選功能模塊相對應(yīng)的頁面信息。3.4.2硬件接口該系統(tǒng)對于硬件的接口要求并不多,只需要最基本的數(shù)據(jù)輸入設(shè)備(如鼠標、鍵盤)和最基本的數(shù)據(jù)輸出設(shè)備(如顯示器、打印機)即可,并且該系統(tǒng)對于硬件性能也沒有嚴格的要求。硬件接口詳見“1.4.1硬件配置”部分描述。3.4.3軟件接口該系統(tǒng)在軟件上只需要Windows7或以上操作系統(tǒng)的支持。軟件接口詳見“1.4.2軟件配置”部分描述。3.4.4故障處理該系統(tǒng)模塊劃分清晰,程序經(jīng)過大量測試健壯性較強擁有較高的可維護性;各個模塊之間層次分明,耦合度較低,擁有較高的可重用性;在Windows7及以上系統(tǒng)均可正常運行,有較好的可移植性;不會對操作系統(tǒng)中其他應(yīng)用程序和文件造成損害,并且可以穩(wěn)定運行在企業(yè)內(nèi)部網(wǎng)中,信息不會被泄露,有較好的安全性。對于該系統(tǒng)出現(xiàn)的問題,可能是由用戶操作不當、系統(tǒng)內(nèi)部運行出錯或者是操作系統(tǒng)自身故障而引起的。建議用戶首先參考用戶使用手冊或者是檢查操作系統(tǒng)是否正常運行,如果系統(tǒng)問題仍然不能解決,請用戶聯(lián)系技術(shù)人員,及時尋求幫助。對于硬件設(shè)備所引起的問題,建議用戶聯(lián)系相應(yīng)硬件設(shè)備生產(chǎn)廠家,或者更換新的硬件設(shè)備以解決系統(tǒng)問題。3.5小節(jié)根據(jù)之前通過和科研干事的溝通和《軟件學院科研管理系統(tǒng)需求框架》,收集需求,繪制出基本的需求分析,并根據(jù)反饋意見,進行多次修改和完善,制定了功能劃分和需求分析。本章對于系統(tǒng)的每個功能模塊,首先介紹了該模塊相關(guān)工作在現(xiàn)實中的執(zhí)行步驟,從而得出參與此模塊的角色及業(yè)務(wù)流程;其次列出在系統(tǒng)中需要實現(xiàn)的功能;最后說明該模塊的業(yè)務(wù)需求(表單以及相關(guān)約束)。在本章最后還介紹了系統(tǒng)基本的運行需求和性能需求等信息。第四章系統(tǒng)的設(shè)計本章主要介紹如何進行系統(tǒng)的設(shè)計,以及實施的過程。主要包括系統(tǒng)中各功能模塊中每個子功能的設(shè)計、系統(tǒng)中類和接口的設(shè)計和數(shù)據(jù)庫的設(shè)計。4.1功能模塊設(shè)計本節(jié)將依次介紹系統(tǒng)7個主要功能模塊中的子模塊進行劃分和相關(guān)功能的設(shè)計。4.1.1功能權(quán)限模塊■用戶管理1)功能描述系統(tǒng)管理員可以在前臺以手工方式添加新用戶,也可以導入excel表格進行用戶的批量導入。前臺方式中提供用戶名、密碼的登記窗口,同時提供一個上傳文件的窗口,將上傳的文件在后臺進行解析,如果上傳的文件格式不能滿足系統(tǒng)需求,則給出出錯提示。若滿足定義,則將表格中的用戶信息導入數(shù)據(jù)庫。2)用戶操作步驟1.進入該頁面后,手工填寫用戶名、密碼,并點擊確認,以添加單個新用戶。2.或者在上傳文件選項中選擇用戶信息表格,點擊批量導入,以讀取excel表格中存儲的批量用戶信息并導入數(shù)據(jù)庫?!鲇脩粜畔ⅲú榭磁c修改)1)功能描述管理員在此處可以查看所有用戶的個人信息,具體用戶以下拉列表的形式進行選擇,查看后可以進行修改、保存、提交的操作。普通用戶可以查看自己的個人信息,并進行修改、保存、提交的操作。必須先保存再提交,提交以后則不能再修改。2)用戶操作步驟1.在下拉列表中選擇要查看的用戶,若是管理員則提供所有的用戶名,否則只提供自己的用戶名。2.頁面刷新,根據(jù)數(shù)據(jù)庫取回的用戶信息數(shù)據(jù)填充各相應(yīng)字段。3.查看或修改部分字段的數(shù)據(jù)。4.保存,若不保存就提交則出錯;提交。若提交后再保存或提交則出錯。■權(quán)限設(shè)置1)功能描述管理員可以為其他用戶進行權(quán)限的設(shè)置。在該頁中以列表的形式展示出所有可選擇的子功能,并以打鉤的形式進行選擇/取消。在該頁中提供全選、取消等快捷功能。2)用戶操作步驟1.輸入想要設(shè)置的用戶名并查詢,若未找到該用戶則返回出錯。2.若找到用戶,刷新頁面,以勾選列表形式展示所有可供選擇的子功能,在數(shù)據(jù)庫中提取相應(yīng)的權(quán)限數(shù)據(jù),勾選該用戶已定制的功能。3.管理員為該用戶選擇需要的功能并勾選/取消勾選。此過程中可以使用全選或清除選項進行快捷操作。或選擇全部定制/取消定制,即可直接強制定制/取消定制所有功能。4.系統(tǒng)根據(jù)當前的勾選狀況寫回數(shù)據(jù)庫,該用戶下次登錄系統(tǒng)時即可生效。系統(tǒng)將執(zhí)行的操作的結(jié)果返回,并顯目標示出,以供參考。4.1.2合同管理模塊■填寫合同1)功能描述系統(tǒng)由網(wǎng)頁形式提供用戶合同審批單,項目組長按要求填好后可以點擊保存或提交,只保存不提交的申請表,可以繼續(xù)修改;提交后的申請表不能再修改,只能查看,且狀態(tài)被設(shè)為“待審批”。2)用戶操作步驟1.進入頁面后,手工填寫表單。2.保存,保存填寫的表單,之后可以進行修改;提交,提交表單。跳轉(zhuǎn)至查看合同頁面?!霾榭春贤?)功能描述用戶可以查看所有審批狀態(tài)的合同摘要信息。2)用戶操作步驟1.點擊進入查看合同摘要頁面。2.用戶點擊合同名以查看該合同的想信息,項目組長可以查看自己項目的詳細信息,管理員/科研干事可以查看任何合同的詳細信息。3.用戶以勾選方式選擇/取消選中項目,可以進行“刪除”操作?!鲂薷暮贤畔?)功能描述用戶點擊想要查看的合同名,管理員可以查看并修改所有未提交的合同;科研干事可以查看所有未提交的合同;項目組長只能查看、修改自己提交的合同。2)用戶操作步驟1.用戶點擊所要查看的合同名稱,頁面跳轉(zhuǎn)到合同信息頁面,并根據(jù)數(shù)據(jù)庫取回相應(yīng)數(shù)據(jù)。2.若用戶擁有權(quán)限,則可以對合同信息進行修改。3.保存,保存填寫的表單,之后可以進行修改;提交,提交表單。跳轉(zhuǎn)至查看合同頁面?!龊贤瑢徟?)功能描述在該頁中以列表形式列出所有需要進行當前審批環(huán)節(jié)的合同摘要,并以打鉤的形式進行選擇/取消。在該頁中提供全選、取消等快捷功能。2)用戶操作步驟1.用戶點擊合同名以查看該合同的想信息。2.用戶以勾選方式選擇/取消選中項目,點擊“刪除”或“審批”完成操作?!龅娇罱?jīng)費1)功能描述用戶先查詢到當前需要填寫到款經(jīng)費的項目,然后選擇填寫,進入填寫表單的界面,最后保存提交。2)用戶操作步驟1.用戶填寫項目代號并查詢,或直接點擊查詢。2.界面刷新,列出當前需要填寫到款經(jīng)費的項目列表,點擊要填寫的項目,轉(zhuǎn)入填寫界面。3.填寫經(jīng)費單,保存并提交?!龀隹罱?jīng)費1)功能描述用戶先查詢到當前需要填寫出款經(jīng)費的項目,然后選擇填寫,進入填寫表單的界面,最后保存提交。2)用戶操作步驟1.用戶填寫項目代號并查詢,或直接點擊查詢。2.界面刷新,列出當前需要填寫出款經(jīng)費的項目列表,點擊要填寫的項目,轉(zhuǎn)入填寫界面。3.填寫經(jīng)費單,保存并提交。4.1.3發(fā)票管理模塊■發(fā)票申領(lǐng)1)功能描述用戶在本頁面填寫發(fā)票申領(lǐng)單,完成后保存并提交。2)用戶操作步驟1.用戶進入發(fā)票申領(lǐng)界面。2.填寫相關(guān)信息,保存,若不保存便提交則出錯,若必填信息空白則報錯。提交,且提交后再保存、提交報錯?!霾榭窗l(fā)票1)功能描述用戶填寫完發(fā)票申領(lǐng)單后,可查看當前正在審批中的發(fā)票及申領(lǐng)進度,點擊發(fā)票名可進入查看發(fā)票審批的詳細信息。2)用戶操作步驟1.用戶進入查看界面,頁面以列表形式呈現(xiàn)出當前所有發(fā)票,并提供簡略信息查看,包括當前審批進度。2.點擊發(fā)票名,由超鏈接轉(zhuǎn)向該發(fā)票的詳細信息頁面。3.查看,修改、保存并提交。■發(fā)票審批1)功能描述用戶填寫完發(fā)票申領(lǐng)單后,由審批過程中具有相應(yīng)權(quán)限用戶進行發(fā)票審批工作,查看當前正在審批中的發(fā)票,若無錯則點擊審批按鈕,令其審批通過,進行下一步的審批工作,直至完成。2)用戶操作步驟1.用戶進入審批頁面,頁面以列表形式呈現(xiàn)出正在該審批進度中的發(fā)票列表,并提供簡略信息查看。2.點擊發(fā)票名,查看發(fā)票詳細信息。3.若無錯,則點擊審批按鈕,通過審批步驟,并由系統(tǒng)發(fā)送郵件進行提醒。否則不予審批,并提供原因。4.1.4免稅辦理模塊■免稅申請1)功能描述用戶進入該頁面后,填寫相關(guān)的免稅申請表信息,并保存提交。2)用戶操作步驟1.用戶進入免稅申請界面。2.填寫相關(guān)信息,保存,若不保存便提交則出錯,若必填信息空白則報錯。3.提交,且提交后再保存、提交報錯。■免稅查看1)功能描述用戶進入該頁面后,可以表格形式查看到當前的免稅申請表及其簡述信息。申請進度,點擊項目名稱即可進入詳細信息頁面進行查看。2)用戶操作步驟1.用戶進入查看界面,頁面以列表形式呈現(xiàn)出當前所有免稅項目,并提供簡略信息查看,包括當前審批進度。2.點擊發(fā)票名,由超鏈接轉(zhuǎn)向該免稅申請的詳細信息頁面。3.查看,修改、保存并提交■免稅審批1)功能描述用戶在該頁面,可以根據(jù)自身具有的權(quán)限對待審批的免稅申請進行查看和審批,并對審批不通過的免稅項目給出原因。2)用戶操作步驟1.用戶進入審批頁面,頁面以列表形式呈現(xiàn)出正在該審批進度中的免稅項目列表,并提供簡略信息查看。2.點擊項目名,查看免稅申請詳細信息。3.若無錯,則點擊審批按鈕,通過當前審批步驟,否則不予審批,并提供原因。若所有審批步驟均已通過,則由系統(tǒng)自動發(fā)送郵件提醒。4.1.5成果管理模塊■論文錄入1)功能描述用戶在該頁面可以錄入論文的相關(guān)信息,并保存提交。若該論文已存在,給出出錯提示。若用戶不是管理員,則提醒用戶只能錄入自己的論文。2)用戶操作步驟1.用戶進入論文錄入界面。2.若為管理員,則在作者字段處提供所有用戶的下拉列表,并完成自動填寫。若為普通用戶,則只提供當前用戶的下拉列表,并完成自動填寫。3.填寫相關(guān)信息,保存,若不保存便提交則出錯,若必填信息空白則報錯。若已有該論文則報錯。4.系統(tǒng)對提交的論文名稱進行查詢,若數(shù)據(jù)庫中已有相同論文,則報錯。5.提交,且提交后再保存、提交報錯?!鰧V浫?)功能描述用戶在該頁面可以錄入專著的相關(guān)信息,并保存提交。2)用戶操作步驟1.用戶進入專著錄入界面。2.填寫相關(guān)信息,保存,若不保存便提交則出錯,若必填信息空白則報錯。3.提交,且提交后再保存、提交報錯。■專利錄入1)功能描述用戶在該頁面可以錄入專利的相關(guān)信息,并保存提交。2)用戶操作步驟1.用戶進入著作權(quán)錄入界面。2.填寫相關(guān)信息,保存,若不保存便提交則出錯,若必填信息空白則報錯。3.提交,且提交后再保存、提交報錯?!鲋鳈?quán)錄入1)功能描述用戶在該頁面可以錄入著作權(quán)的相關(guān)信息,并保存提交。2)用戶操作步驟1.用戶進入著作權(quán)錄入界面。2.填寫相關(guān)信息,保存,若不保存便提交則出錯,若必填信息空白則報錯。3.提交,且提交后再保存、提交報錯?!龀晒榭?)功能描述用戶進入該頁面后,可以經(jīng)由下拉列表選擇想要查看的成果類別,選擇后系統(tǒng)刷新并以表格形式顯示出當前類別的成果信息,點擊成果名稱之后即可由超鏈接轉(zhuǎn)向該成果的詳細信息頁面,并進行查看、修改,再保存、提交。2)用戶操作步驟1.用戶進入查看界面,在下拉列表中選擇自己想要查看的成果類別。2.頁面刷新,以列表形式呈現(xiàn)出當前所有該類別的成果信息,并提供簡略信息查看。3.點擊成果名稱,由超鏈接轉(zhuǎn)向該成果的詳細信息頁面。4.查看,修改、保存并提交。4.1.6報表統(tǒng)計模塊■定制報表1)功能描述用戶在該頁面通過下拉列表來選擇要查詢的已定制好的報表的類別,并以表格形式返回查詢結(jié)果以供查看。2)用戶操作步驟1.用戶進入該頁面后,在下拉列表中選擇要查詢的定制報表,并選擇查詢?nèi)掌凇?.系統(tǒng)后臺執(zhí)行數(shù)據(jù)查詢,在前臺以表格形式返回查詢結(jié)果。3.用戶查看結(jié)果,或是再查詢其他報表?!鰣蟊聿樵児δ苊枋觯河脩粼谠擁撁婵梢酝ㄟ^自定義的字段組合來定制自己的報表模式,并給出相應(yīng)的查詢條件,由系統(tǒng)產(chǎn)生相應(yīng)的報表并返回查詢數(shù)據(jù)的結(jié)果。4.1.7管理助手模塊■資源下載1)功能描述為用戶提供常用表格的下載,方便電子版的使用。包括預(yù)設(shè)置好的常用表格和用戶上傳的材料。2)用戶操作步驟1.用戶進入頁面,頁面刷新,顯示當前可供下載的文件列表。2.選中想要下載的文件名稱。點擊下載按鈕。若未選擇便下載提示錯誤。3.選擇保存地址,下載成功?!鲇脩魩椭δ苊枋觯河脩粼诖丝梢垣@取聯(lián)機幫助的信息,方便用戶的使用。4.1.8總體設(shè)計概述在本系統(tǒng)中,各模塊的業(yè)務(wù)流程都與表單有關(guān),而有關(guān)表單的處理大致可以分為五類:添加表單、修改表單、顯示表單摘要并進行相關(guān)操作、打印表單?!鎏砑颖韱未瞬糠值捻撁娌季址譃樯舷聝刹糠郑荷喜繛樾枰顚懙谋韱?;下部為“保存”和“提交”按鈕。依照需求分析,用戶對表單進行填寫,已填寫項的內(nèi)容必須符合相關(guān)格式約束。用戶“保存”表單后,表單項中可以有未填項,但已填寫的項目內(nèi)容必須符合相關(guān)格式約束,且用戶之后仍可對表單進行多次修改,修改完成后可“提交”;在用戶按要求填寫完所有必填項后(除補錄信息外不能有未填項),可以點擊“提交”按鈕進行提交,表單后用戶不能對表單進行修改(補錄信息項除外)。1)表單中各項的驗證工作表單中各填寫項的驗證工作采用客戶端和服務(wù)器端結(jié)合的方式:對于填寫內(nèi)容的格式采用JS正則表達式在.aspx文件中進行約束;在.aspx.cs中負責檢查表單中必填項是否全部填寫和所填寫的內(nèi)容是否含有危險字段。2)“保存”和“提交”對于.aspx中兩個按鈕分別定義Click時間。點擊“保存”按鈕后,在服務(wù)器端檢查所填信息是否含有危險字段,若不含有,將用戶已填寫的表單信息存入數(shù)據(jù)庫,并返回相關(guān)頁面;點擊“提交”按鈕后,在服務(wù)器端檢測所提交的表單中是否有未填項和所填內(nèi)容是否含有危險字段,如果有,則不允許提交,反之,將用戶已填寫的表單信息存入數(shù)據(jù)庫,并返回相關(guān)頁面。3)視圖狀態(tài)管理在web窗體模板文件中,.aspx文件的head域中預(yù)定義了一個hidden對象。此對象一般用來儲存一些不希望頁面瀏覽者看到的數(shù)據(jù)。而在視圖狀態(tài)管理的執(zhí)行過程中,頁面中相關(guān)對象的數(shù)據(jù)會被儲存在這個hidden對象中。而對于一個頁面而言,待儲存對象的類型是不確定的(可能是字符串類型,也可能是圖片類型),所以視圖狀態(tài)管理中運用.NET的反射機制,將所有對象通過序列化器(System.Runtime.Serialization.Formaters)轉(zhuǎn)化為二進制序列,然后保存在一個base64編碼的字符串變量中。在服務(wù)器刷新頁面時,再將上述流程逆向執(zhí)行一遍,將所有數(shù)據(jù)還原成之前的類型。考慮到在本系統(tǒng)中,所有涉及到視圖管理的表單頁面(除論文錄入表單),基本上所有表單對象的類型均為字符串、整形活浮點類型。若使用.NET默認的序列化器轉(zhuǎn)換數(shù)據(jù)顯然無故增加了客戶端的不必要的負載,故在此系統(tǒng)中,將此類表單數(shù)據(jù)統(tǒng)一轉(zhuǎn)化為字符串格形式存入hidden對象中?!鲂薷谋韱未瞬糠值捻撁娌季峙c“添加表單”頁面布局一樣。此項操作與“添加”表單類似。用戶可以對已保存的表單進行修改。修改完后,可以點擊“保存”按鈕保存表單,也可以點擊“提交”表單進行提交。對于表單中各項的約束要求與“添加表單”中的一樣。■顯示表單摘要并進行相關(guān)操作此部分在用戶點擊相關(guān)查詢子功能或?qū)Ρ韱芜M行查詢工作后執(zhí)行。頁面布局分為上下兩部分。上部為表單摘要部分。首先與數(shù)據(jù)庫進行連接,將查詢到的所需數(shù)據(jù)項,通過.NET內(nèi)置的GridView控件進行數(shù)據(jù)綁定。GridView中的第一列為CheckBox控件,用于選定操作;第二列為相關(guān)表單名稱,為超鏈接對象,用戶點擊后可查詢相關(guān)表單的詳細信息;其余各列顯示表單其余摘要信息。下部為對表單進行操作的按鈕。如“全選”、“反選”、“審批”、“取回”、“刪除”等。用戶可以在GridView生成的表格的第一列的CheckBox中選定需要進行操作的表單;用戶對所選定表單進行“審批”、“取回”等操作,會更新數(shù)據(jù)庫中相關(guān)表單的狀態(tài)值(status字段);用戶對所選定表單“刪除”操作,會在數(shù)據(jù)庫中刪除該表單的數(shù)據(jù)?!龃蛴”韱问紫冗B接數(shù)據(jù)庫查詢到相關(guān)數(shù)據(jù),然后利用字符流HttpContext.Response.Output畫出相關(guān)表單并填入相關(guān)數(shù)據(jù)。4.2系統(tǒng)中的類和接口的設(shè)計本節(jié)依據(jù)系統(tǒng)數(shù)據(jù)訪問層和邏輯層的分工對相關(guān)類與接口進行相關(guān)設(shè)計。主要設(shè)計內(nèi)容包括:類與接口類的劃分依據(jù)、每個類具體實現(xiàn)的工作、接口的設(shè)計等。本系統(tǒng)擬為數(shù)據(jù)訪問層和邏輯層各創(chuàng)建一個類庫項目,用來定義和創(chuàng)建相關(guān)的類文件(.cs),相對應(yīng)地建立兩個類庫項目,用來創(chuàng)建相應(yīng)的接口類。在系統(tǒng)的設(shè)計階段需要完成的工作為:對系統(tǒng)管理數(shù)據(jù)訪問層和邏輯層的擬實現(xiàn)的功能進行劃分,將相同類別的工作歸納在一個類中。即,在設(shè)計階段需要確定在上述類庫中類的數(shù)量、類別以及每個類需要完成的功能。4.2.1數(shù)據(jù)訪問層本部分的類主要完成系統(tǒng)和數(shù)據(jù)庫之間的相關(guān)操作的實現(xiàn)。可以創(chuàng)建兩個類,分別實現(xiàn)數(shù)據(jù)庫訪問工作的輔助功能和數(shù)據(jù)庫訪問具體功能的工作。1)數(shù)據(jù)訪問助手類需要創(chuàng)建一個類將連接字段獨立保存起來,以方便日后系統(tǒng)在部署工作上的便利化。工作人員可以只對此類中的連接字段值進行修改便可以使系統(tǒng)實現(xiàn)不同部署需求。在用戶與系統(tǒng)進行頭次連接時,用戶從系統(tǒng)的配置文件中讀取連接字符串并儲存在此類的相應(yīng)變量中,并設(shè)置為只讀屬性,不允許用戶隨意進行修改。2)數(shù)據(jù)庫訪問類需要獲得數(shù)據(jù)庫連接字符串在從數(shù)據(jù)庫上讀取數(shù)據(jù)的問題上,考慮到本系統(tǒng)是運行在服務(wù)器端的web應(yīng)用程序,用戶與服務(wù)器的連接可能會由于異常而中斷,若在中斷時用戶恰好正在進行有關(guān)數(shù)據(jù)庫的操作,則可能會出現(xiàn)不可預(yù)測的異常情況。再者,存在多個人同時訪問該系統(tǒng)并進行和數(shù)據(jù)庫有關(guān)的操作,此種情況可能使服務(wù)器端負載過高。綜上所述,我們希望采用離線瀏覽數(shù)據(jù)庫表的方法進行數(shù)據(jù)庫數(shù)據(jù)的讀取和保存工作,用戶在數(shù)據(jù)庫中得到所需數(shù)據(jù)后就與服務(wù)器斷開連接,所查詢到的數(shù)據(jù)保存在客戶端,客戶可以在本地進行更詳細的查詢和操作,若相關(guān)操作對數(shù)據(jù)庫的內(nèi)容有變動,則再與服務(wù)器端數(shù)據(jù)庫連接完成相關(guān)操作。在對所讀取的數(shù)據(jù)進行訪問的問題上,本類應(yīng)該滿足ADO.NET中SQL語句的ExecuteNonQuery、ExecuteScalar、ExecuteReader的執(zhí)行方法。4.2.2系統(tǒng)邏輯層功能部分本部分中的類主要完成在各個子功能模塊中都需要實現(xiàn)的操作以及系統(tǒng)登陸界面的相關(guān)功能實現(xiàn)。1)用戶權(quán)限類在用戶進行每次操作前,檢驗用戶是否具有執(zhí)行該操作的權(quán)限。若擁有權(quán)限,則允許用戶進行操作;若沒有,則禁止操作。2)系統(tǒng)安全類系統(tǒng)中,有些數(shù)據(jù)需要進行加密處理,如用戶資料中的用戶密碼,涉及涉密內(nèi)容的合同資料等,都需要進行加密后存入數(shù)據(jù)庫中。3)系統(tǒng)工具類本類應(yīng)該實現(xiàn)方法有:用戶登錄系統(tǒng)階段驗證碼的隨機生成;用戶向數(shù)據(jù)庫提交數(shù)據(jù)時進行的防SQL注入攻擊的檢測;對于登錄用戶IP地址的獲取和檢驗。4.3小節(jié)本章首先對該系統(tǒng)中每個主要模塊中子模塊的功能實現(xiàn)進行了設(shè)計和說明,介紹了每個子模塊所要實現(xiàn)的功能及用戶實現(xiàn)此功能需完成的步驟。然后對系統(tǒng)中的類和接口的劃分及職責進行了概要性的設(shè)計。最后按照業(yè)務(wù)需求將系統(tǒng)劃分為三大部分,并以此為依據(jù)對數(shù)據(jù)庫部分各表間關(guān)系進行了設(shè)計。此章主要為系統(tǒng)實現(xiàn)環(huán)節(jié)進行規(guī)定,使系統(tǒng)在實現(xiàn)過程中有章可循。

第五章系統(tǒng)的實現(xiàn)本章將依次對系統(tǒng)的數(shù)據(jù)庫、接口和類以及各子模塊的實現(xiàn)進行介紹。5.1功能模塊部分本系統(tǒng)為基于.NET框架的web應(yīng)用程序,主要使用.NET框架中內(nèi)置的web窗體模板來實現(xiàn)系統(tǒng)各功能模塊及相應(yīng)子模塊。由于合同管理模塊為系統(tǒng)的核心模塊,涉及系統(tǒng)中絕大多數(shù)子模塊功能,故本節(jié)主要根據(jù)4.1中的設(shè)計內(nèi)容,對合同管理模塊的實現(xiàn)進行詳細介紹。5.1.1合同管理模塊■填寫合同涉及到的web模板:AddContract.aspx.UI層設(shè)計:合同填寫頁面的設(shè)計在AddContract.aspx文件中實現(xiàn),頁面設(shè)計如下圖5.1所示:圖5.1合同填寫頁面邏輯層設(shè)計:合同填寫模塊的邏輯層設(shè)計在AddContract.aspx.cs文件中實現(xiàn)。根據(jù)4.1.2中內(nèi)容,此文件需要實現(xiàn)的方法大致可分為三類:1.頁面生成;2.“保存申請表”或“提交申請表”;3.其他。其中第一、二類方法為系統(tǒng)通用方法,在其他模塊中實現(xiàn)方法基本一致;第三類方法為該模塊特有方法,需要根據(jù)各模塊中的需求分析分別制定。?頁面生成方法定義為:protectedvoidPage_LoadAdd(objectsender,EventArgse)此方法需要完成三個功能:1.查看用戶是否有填寫合同的權(quán)限:使用Solution類庫中UserFun中的checkUserRight方法來檢查用戶權(quán)限,若沒有權(quán)限則返回系統(tǒng)初始頁面,若擁有權(quán)限則繼續(xù)執(zhí)行下面的操作。2.記錄用戶登錄日志:連接數(shù)據(jù)庫,在表單table_UserLogonHitsory中生成當前用戶的登錄記錄。3.生成頁面:生成AddContract.aspx中制定的網(wǎng)頁。此方法具體的流程圖如下圖所示:圖5.2Page_LoadAdd方法流程圖?“保存申請表”方法定義為:protectedvoidAddNews(objectsender,EventArgse)此方法需要完成三個功能:將用戶在頁面填寫的所有信息依次傳入到邏輯層定義的變量中。1.查看用戶輸入是否包含非法字符:將用戶在頁面填寫的所有信息依次傳入到邏輯層定義的變量中。使用Solution類庫中ISystemTool類的CheckParams方法檢查用戶的輸入是否可能包含SQL注入攻擊的字段,若包含非法字段,則提示用戶輸入錯誤。2.向數(shù)據(jù)庫中插入新合同記錄:連接數(shù)據(jù)庫,在表單table_ContractInfo中生成新的合同記錄并將審批狀態(tài)設(shè)為“未提交”。3.向數(shù)據(jù)庫中插入用戶操作記錄:連接數(shù)據(jù)庫,在表單table_UserFunHistory中生成新的用戶操作記錄。?“提交申請表”方法定義為:protectedvoidAddNews2(objectsender,EventArgse)此方法需要完成四個功能:1.查看用戶輸入是否包含非法字符:將用戶在頁面填寫的所有信息依次傳入到邏輯層定義的變量中。使用Solution類庫中ISystemTool類的CheckParams方法檢查用戶的輸入是否可能包含SQL注入攻擊的字段,若包含非法字段,則提示用戶輸入錯誤。2.查看用戶是否有未填寫的必填項:查看對應(yīng)于必填項的邏輯層變量是否有空值。若有空值,則提示用戶表單沒有填寫完整。3.生成新的合同記錄:連接數(shù)據(jù)庫,在表單table_ContractInfo中生成新的合同記錄并將審批狀態(tài)設(shè)為“待審批”。4.生成新的用戶操作記錄:連接數(shù)據(jù)庫,在表單table_UserFunHistory中生成新的用戶操作記錄。此方法具體的流程圖如圖5.3所示。此文件中第三類(其他)方法主要包括:項目編號的自動生成、日期合理性檢測等,根據(jù)不同表單的需求,此類方法可能各不相同。綜上所述,在添加表單頁面中的主要方法有:生成頁面:protectedvoidPage_LoadAdd(objectsender,EventArgse)保存表單:protectedvoidAddNews(objectsender,EventArgse)提交表單:protectedvoidAddNews2(objectsender,EventArgse)圖5.3AddNews2方法流程圖■查看合同摘要涉及到的web模板:ViewContract.aspxUI層設(shè)計:合同查看頁面的設(shè)計在ViewContract.aspx文件中實現(xiàn),頁面設(shè)計如下圖5.4所示圖5.4合同查看頁面邏輯層設(shè)計:合同填寫模塊的邏輯層設(shè)計在ViewContract.aspx.cs文件中實現(xiàn)。根據(jù)4.1.2中內(nèi)容,此文件需要實現(xiàn)的方法大致可分為兩類;第一類為生成數(shù)據(jù)綁定頁;第二類為“刪除”操作。?生成數(shù)據(jù)綁定頁的方法定義為:protectedvoidPage_LoadView(objectsender,EventArgse)此方法需要完成兩個功能:1.記錄用戶登錄日志:連接數(shù)據(jù)庫,在表單table_UserLogonHitsory中生成當前用戶的登錄記錄。2.結(jié)合ViewContract.aspx文件中使用的.NET內(nèi)置的GridView對合同摘要信息進行綁定。?“刪除”操作的方法定義為:protectedvoidtagremove(objectsender,EventArgse)此方法需要完成兩個功能:1.查看用戶是否擁有進行“刪除”合同的功能權(quán)限;使用Solution類庫中UserFun中的checkUserRight方法來檢查用戶權(quán)限,若沒有權(quán)限則“刪除”按鈕不可用,若擁有權(quán)限則“刪除”按鈕可用。2.對所選中的合同進行刪除:連接數(shù)據(jù)庫,刪除表單table_ContractInfo中相應(yīng)的數(shù)據(jù)。3.生成新的用戶操作記錄。綜上所述,在查看表單摘要頁面中的主要方法有:生成綁定頁面:protectedvoidPage_LoadView(objectsender,EventArgse)執(zhí)行“刪除”操作:protectedvoidtagremove(objectsender,EventArgse)■修改合同信息涉及到的web模板:ContractDetail.aspxUI層設(shè)計:合同填寫頁面的設(shè)計在ContractDetail.aspx文件中實現(xiàn),頁面設(shè)計基本與合同填寫頁面一樣。邏輯層設(shè)計:修改合同信息模塊的邏輯層設(shè)計在ContractDetail.aspx.cs文件中實現(xiàn),此模塊的邏輯層設(shè)計與填寫合同模塊基本一樣。不同點在于修改合同信息模塊中的頁面生成方法Page_LoadModify在確認用戶權(quán)限后,會從數(shù)據(jù)庫中讀出用戶所選合同的數(shù)據(jù),并將其傳入邏輯層變量中,再將變量傳入ContractDetail.aspx的UI層對象中。Page_LoadModify的流程圖如下圖5.8所示:圖5.5Page_Modify方法流程圖綜上所述,在修改合同信息頁面中的主要方法有:生成頁面:protectedvoidPage_LoadModify(objectsender,EventArgse)保存表單:protectedvoidAddNews(objectsender,EventArgse)提交表單:protectedvoidAddNews2(objectsender,EventArgse),■合同審批涉及到的web模板:ContractCommit1.aspx、ContractCommit2.aspx、ContractCommit3.aspx、ContractCommit4.aspxUI層設(shè)計:合同填寫頁面的設(shè)計在ContractCommit.aspx文件中實現(xiàn),頁面設(shè)計與合同查看頁面基本一樣。:邏輯層設(shè)計:合同填寫模塊的邏輯層設(shè)計在ViewContract.aspx.cs文件中實現(xiàn)。根據(jù)4.1.2中內(nèi)容,此文件需要實現(xiàn)的方法大致可分為兩類;第一類為生成數(shù)據(jù)綁定頁;第二類為“審批”操作。?生成數(shù)據(jù)綁定頁的方法定義為:protectedvoidPage_LoadView(objectsender,EventArgse)此方法需要完成兩個功能:1.記錄用戶登錄日志:連接數(shù)據(jù)庫,在表單table_UserLogonHitsory中生成當前用戶的登錄記錄。2.結(jié)合ViewContract.aspx文件中使用的.NET內(nèi)置的GridView對符合當前頁面審批進度的合同摘要信息進行綁定。?“審批”操作的方法定義為:protectedvoidCommit(objectsender,EventArgse)此方法需要完成兩個功能:1.查看當前用戶是否擁有進行當前審批環(huán)節(jié)的合同“審批”權(quán)限;使用Solution類庫中UserFun中的checkUserRight方法來檢查用戶權(quán)限,若沒有權(quán)限則“刪除”按鈕不可用,若擁有權(quán)限則“刪除”按鈕可用。2.對所選中的合同的審批狀態(tài)進行修改:連接數(shù)據(jù)庫,更新表單table_ContractInfo中相應(yīng)的數(shù)據(jù)。3.生成新的用戶操作記錄。綜上所述,在查看表單摘要頁面中的主要方法有:生成綁定頁面:protectedvoidPage_LoadView(objectsender,EventArgse)執(zhí)行“審批”操作:protectedvoidCommit(objectsender,EventArgse)■到款經(jīng)費涉及到的web模板:Income.aspx,AddIncome.aspxUI層設(shè)計:合同填寫頁面的設(shè)計在Income.aspx和AddIncome.aspx文件中實現(xiàn),頁面設(shè)計如下圖5.16和圖5.17所示:圖5.6到款經(jīng)費查詢頁面圖5.7到款經(jīng)費申請單填寫頁邏輯層設(shè)計:合同填寫模塊的邏輯層設(shè)計在Income.aspx.cs和AddIncome.aspx.cs文件中實現(xiàn)。Income.aspx.cs中方法的主要作用為搜索用戶輸入關(guān)鍵字的合同,并將合同摘要綁定在下面的GridView中,若用戶不輸入任何信息,則搜索出左右合同的摘要信息,用戶點擊先關(guān)摘要信息,則會轉(zhuǎn)入AddIncome.aspx頁面填寫到賬單。此方法定義為:protectedvoidPage_LoadIncom(objectsender,EventArgse)AddIncome.aspx.cs中的方法和添加表單頁面的方法相似,主要方法有:生成表單頁面:protectedvoidPage_LoadIncome(objectsender,EventArgse)保存表單:protectedvoidAddNews(objectsender,EventArgse)提交表單:protectedvoidAddNe

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論