劉健
摘 要: 為了提高軟件評(píng)測(cè)業(yè)務(wù)效率,開(kāi)發(fā)與設(shè)計(jì)了基于B/S架構(gòu)的軟件評(píng)測(cè)管理系統(tǒng)。以.NET為平臺(tái),采用B/S架構(gòu)中常用的MVC設(shè)計(jì)模式,以及ASP.NET、CSS+DIV 等技術(shù)進(jìn)行系統(tǒng)開(kāi)發(fā),通過(guò)SQL Server建立系統(tǒng)數(shù)據(jù)庫(kù),并由ADO.NET組件實(shí)現(xiàn)數(shù)據(jù)庫(kù)的操作,完成了軟件評(píng)測(cè)管理系統(tǒng)的報(bào)告錄入、分配、提交審核、歸檔等功能。實(shí)際應(yīng)用表明,基于.NET的軟件評(píng)測(cè)管理系統(tǒng)能夠?qū)崿F(xiàn)評(píng)測(cè)業(yè)務(wù)的無(wú)紙化操作,提升了業(yè)務(wù)的流轉(zhuǎn)效率。
關(guān)鍵詞: .NET; B/S; 管理系統(tǒng); 數(shù)據(jù)庫(kù)
中圖分類號(hào):TP315 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2018)09-99-03
Abstract: In order to improve the efficiency of software testing & evaluating, this paper develops and designs a software testing & evaluating management system of B/S structure, which uses the frequently-used MVC design pattern on the .Net platform, uses ASP. Net, CSS+DIV to develop, and builds the database by SQL Server, uses ADO.Net components to access it. This system realizes the function of report input, distribution, submission, verification, filing etc. It realizes the paperless operation for the software testing & evaluating management and improves the efficiency of business flow.
Key words: .NET; B/S; management system; database
0 引言
目前,檢驗(yàn)所受理軟件評(píng)測(cè)業(yè)務(wù)后由人工分發(fā)到各工程師,工程師完成評(píng)測(cè)報(bào)告后提交審核,審核通過(guò)后歸檔整理,并由受理人員告知客戶評(píng)測(cè)報(bào)告進(jìn)度,整個(gè)過(guò)程類似生產(chǎn)流水線。這種傳統(tǒng)方式存在一些缺點(diǎn):評(píng)測(cè)業(yè)務(wù)分發(fā)到的工程師需人工登記,等待評(píng)測(cè)的客戶聯(lián)系評(píng)測(cè)事宜時(shí)受理人員需手動(dòng)翻閱記錄本,查找對(duì)應(yīng)工程師,操作上低效耗時(shí),客戶體驗(yàn)不佳;宏觀上來(lái)講這種方法也不便均衡每個(gè)工程師的業(yè)務(wù)量,不利于監(jiān)控每個(gè)評(píng)測(cè)業(yè)務(wù)所處階段,導(dǎo)致評(píng)測(cè)報(bào)告完成時(shí)無(wú)法第一時(shí)間通知到客戶。針對(duì)以上存在的弊端,結(jié)合計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),設(shè)計(jì)一種信息管理系統(tǒng),滿足軟件評(píng)測(cè)業(yè)務(wù)的需求,讓評(píng)測(cè)業(yè)務(wù)流程化運(yùn)作起來(lái),推動(dòng)執(zhí)行力,方便安排任務(wù)、跟蹤監(jiān)督任務(wù)以及最終評(píng)估任務(wù)完成情況。
1 總體設(shè)計(jì)
1.1 系統(tǒng)分析
軟件評(píng)測(cè)管理系統(tǒng)需求上包括以下幾個(gè)方面:評(píng)測(cè)業(yè)務(wù)登記、分發(fā)、提交、審核、歸檔。涉及到的角色有受理人員、分發(fā)人員、工程師、審核人員。流程及人員關(guān)系如圖1所示。
根據(jù)實(shí)際業(yè)務(wù)在系統(tǒng)中分發(fā)人員由受理人員和組長(zhǎng)組成,分發(fā)有兩個(gè)層級(jí),第一層級(jí)分發(fā)由受理人員將評(píng)測(cè)業(yè)務(wù)分配到組長(zhǎng),第二層級(jí)分發(fā)由組長(zhǎng)分配到工程師。系統(tǒng)中共設(shè)計(jì)受理人員、組長(zhǎng)、工程師、審核人員四種角色。
1.2 系統(tǒng)環(huán)境
在.NET架構(gòu)中的公共語(yǔ)言運(yùn)行庫(kù)組件提供了對(duì)多種語(yǔ)言的支持,如C#、J#、C++、VB.NET等,本文所設(shè)計(jì)的系統(tǒng)采用C#語(yǔ)言編寫(xiě),通過(guò)局域網(wǎng)網(wǎng)絡(luò)連接服務(wù)器,在客戶端使用瀏覽器實(shí)現(xiàn)信息的錄入、更新、查詢及分析。開(kāi)發(fā)的服務(wù)器端軟件運(yùn)行在Windows 2003中,數(shù)據(jù)庫(kù)采用SQL Server 2005[1],使整個(gè)系統(tǒng)能夠兼容,并且還具有安全性及控制能力。
2 軟件設(shè)計(jì)
2.1 系統(tǒng)功能設(shè)計(jì)
本系統(tǒng)根據(jù)需求將功能按角色分配,各角色共有的功能包括系統(tǒng)注冊(cè)、登錄系統(tǒng)、查詢?cè)u(píng)測(cè)業(yè)務(wù)。
受理人員功能:登記評(píng)測(cè)業(yè)務(wù),分配評(píng)測(cè)業(yè)務(wù)到組長(zhǎng),歸檔已完結(jié)的評(píng)測(cè)業(yè)務(wù)。
組長(zhǎng)功能:分配評(píng)測(cè)業(yè)務(wù)到組員,提交評(píng)測(cè)業(yè)務(wù)。
工程師功能:提交評(píng)測(cè)業(yè)務(wù)。
審核人員功能:審核評(píng)測(cè)業(yè)務(wù)。
其中查詢?cè)u(píng)測(cè)業(yè)務(wù)具有權(quán)限控制,工程師只能查詢自己的評(píng)測(cè)業(yè)務(wù),組長(zhǎng)可查詢組員的評(píng)測(cè)業(yè)務(wù),受理人員和審核人員可查詢所有組長(zhǎng)及工程師的評(píng)測(cè)業(yè)務(wù)。為跟蹤業(yè)務(wù)進(jìn)度將業(yè)務(wù)狀態(tài)分為“尚未分發(fā)”、“評(píng)測(cè)中”、“審核中”、“已完成”、“已歸檔”,各狀態(tài)以當(dāng)前時(shí)間所處階段來(lái)劃分,時(shí)間節(jié)點(diǎn)分別為“送到日期”、“分發(fā)日期”、“提交日期”、“完成時(shí)間”、“歸檔日期”。如圖2所示。
2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)
本文采用的是MVC三層結(jié)構(gòu)[2],前臺(tái)作頁(yè)面設(shè)計(jì)和布局,中間層作業(yè)務(wù)邏輯處理,后臺(tái)使用數(shù)據(jù)庫(kù)存取數(shù)據(jù),因此數(shù)據(jù)庫(kù)設(shè)計(jì)是系統(tǒng)的一個(gè)重要環(huán)節(jié)。根據(jù)數(shù)據(jù)庫(kù)設(shè)計(jì)的方法和步驟,首先進(jìn)行數(shù)據(jù)的收集與分析,然后在此基礎(chǔ)上建立一種抽象的數(shù)據(jù)模型及E-R圖,最后把E-R圖轉(zhuǎn)換成相應(yīng)的關(guān)系模式。根據(jù)對(duì)系統(tǒng)的功能分析,提取出本數(shù)據(jù)庫(kù)的幾大實(shí)體及實(shí)體間的聯(lián)系,通過(guò)相互作用形成數(shù)據(jù)流動(dòng)[3],如圖3所示。
將E-R圖轉(zhuǎn)變?yōu)镾QL Server數(shù)據(jù)庫(kù)系統(tǒng)支持的數(shù)據(jù)模型,從而得到系統(tǒng)需要的信息表及字段,系統(tǒng)主要數(shù)據(jù)庫(kù)表如表1-表3所示。
3 系統(tǒng)實(shí)現(xiàn)
3.1 母版頁(yè)的設(shè)計(jì)與實(shí)現(xiàn)
在.NET中,母版頁(yè)與頁(yè)面模板一樣,使用母版頁(yè)創(chuàng)建統(tǒng)一的用戶界面與樣式,可以將Web應(yīng)用程序中的靜態(tài)文本,如網(wǎng)站標(biāo)志、廣告條、導(dǎo)航條、版權(quán)聲明、HTML元素和服務(wù)器控件預(yù)定義布局等內(nèi)容整合到母版頁(yè)中。當(dāng)用戶請(qǐng)求內(nèi)容頁(yè)時(shí),將母版頁(yè)的布局與內(nèi)容頁(yè)中的內(nèi)容組合在一起輸出。本文的母版頁(yè)設(shè)計(jì)如圖4所示。
3.2 數(shù)據(jù)庫(kù)連接
將連接數(shù)據(jù)庫(kù)的地址、用戶名、密碼等信息配置到Web.Config文件中的appSettings標(biāo)簽中。每一次的數(shù)據(jù)庫(kù)操作都通過(guò)讀取appSettings中的值實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接。
String strCon=ConfigurationSettings.AppSettings
["ConnectionString"];
try
{ SqlConnection conn=new SqlConnection(strCon);
conn.Open();
…… //數(shù)據(jù)庫(kù)的讀寫(xiě)、查詢
conn.Close();
}
catch
{}
3.3 用戶登錄
以用戶登錄的驗(yàn)證為例,如果賬戶和密碼不是空值,那么查詢用戶賬號(hào)是否存在的。如果沒(méi)有存在,提示“用戶未注冊(cè),請(qǐng)注冊(cè)后再登錄”。如果存在,判斷用戶名和密碼是否相同,如果相同,用戶就能夠訪問(wèn)系統(tǒng),如果不相同,提示“密碼輸入有誤”。為保證系統(tǒng)中用戶密碼的安全性,數(shù)據(jù)庫(kù)中存儲(chǔ)的密碼為加密后的密文,故在判斷密碼時(shí)先要將明文轉(zhuǎn)換為密文。
byte[] result=Encoding.Default.GetBytes
(TextBox_password. Text);
MD5 md5=new MD5CryptoServiceProvider();
byte[] output=md5.ComputeHash(result);
string sCipher=BitConverter.ToString(output).Replace("-", "");
3.4 數(shù)據(jù)管理
用戶能夠通過(guò)系統(tǒng)頁(yè)面實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的管理,包括數(shù)據(jù)的插入、修改、刪除、查詢。通過(guò)報(bào)告錄入界面將業(yè)務(wù)數(shù)據(jù)寫(xiě)入到數(shù)據(jù)庫(kù),使用SQL語(yǔ)句更新業(yè)務(wù)所屬的工程師和時(shí)間節(jié)點(diǎn),同時(shí)可在主頁(yè)中查詢業(yè)務(wù)相關(guān)信息,本系統(tǒng)使用GridView控件綁定數(shù)據(jù)源,如圖5。
SqlDataAdapter da=new SqlDataAdapter(strQuery, conn);
DataSet ds=new DataSet();
da.Fill(ds);
GridView_main.DataSource=ds.Tables[0].DefaultView;
3.5 系統(tǒng)的測(cè)試
系統(tǒng)的測(cè)試[4]主要包括系統(tǒng)的功能、性能、可用性、客戶端兼容性、安全性測(cè)試,細(xì)分為鏈接、表單、設(shè)計(jì)語(yǔ)言、數(shù)據(jù)庫(kù)、負(fù)載、壓力、連接速度、導(dǎo)航、圖形、整體界面、內(nèi)容、平臺(tái)、瀏覽器、登錄、日志安全、超時(shí)限制、系統(tǒng)漏洞等的測(cè)試。根據(jù).NET 系統(tǒng)的封裝及抽象特點(diǎn),使用黑盒測(cè)試,對(duì)系統(tǒng)的可用性及功能進(jìn)行測(cè)試。通過(guò)不斷的調(diào)試及反復(fù)測(cè)試,系統(tǒng)基本滿足設(shè)計(jì)需求,實(shí)現(xiàn)了開(kāi)發(fā)目標(biāo)。系統(tǒng)的功能測(cè)試詳見(jiàn)表4。
4 結(jié)束語(yǔ)
基于.NET的軟件評(píng)測(cè)管理系統(tǒng)具有良好的穩(wěn)定性,代替了傳統(tǒng)的紙質(zhì)管理,提高了業(yè)務(wù)分配的公平性和效率。通過(guò)研究表明,該系統(tǒng)在信息管理尤其涉及到流水作業(yè)方面具有一定的通用性,能夠滿足用戶的基本需求。除了.NET技術(shù)還有J2EE等技術(shù)架構(gòu)也可實(shí)現(xiàn)類似的管理系統(tǒng),通過(guò)不同技術(shù)之間對(duì)比,找到各自優(yōu)劣,實(shí)現(xiàn)快速高效地開(kāi)發(fā),提升系統(tǒng)的擴(kuò)展性和可維護(hù)性始終是我們將來(lái)需要進(jìn)一步探索研究的工作。
參考文獻(xiàn)(References):
[1] 龍馬工作室.新編ASP.NET 2.0+SQL Server 2005 從入門(mén)到精通[M].人民郵電出版社.2008.
[2] Grady Booch,Robert A. Maksimchuk,Michael W.Engel,etal.王海鵬,潘加宇譯.面向?qū)ο蠓治雠c設(shè)計(jì)(第3版)[M].人民郵電出版社,2009.
[3] 劉敬敬.基于B/S構(gòu)架的學(xué)生信息管理系統(tǒng)的研究[J].無(wú)線互聯(lián)科技,2014.11(6):75-76
[4] 劉晶.基于.NET的學(xué)校信息管理系統(tǒng)的研究[J].電子設(shè)計(jì)工程,2017.25(21):164-168