摘要:該文介紹了基于B/S資料信息管理系統(tǒng)的設(shè)計(jì)和開發(fā),重點(diǎn)闡述了資料信息管理系統(tǒng)的開發(fā)設(shè)計(jì)的難點(diǎn)和要點(diǎn),同時(shí)提供了部分?jǐn)?shù)據(jù)庫(kù)表信息和代碼。
關(guān)鍵詞:管理系統(tǒng);網(wǎng)頁(yè)開發(fā);c#;Sqlserver 2008;敏捷開發(fā);B/S
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)19-4381-03
Design and Implementation of Document Information Management System Based in B/S
ZHANG Qing-hua
(Xi'an Changqing Technology & Engineering Co.Ltd,Xi'an 710018,China)
Abstract: This article describes design and implementation of Document Information Management system based in B/S. the main emphasis has been on the need to many intricacies and peculiarities,and provide some tables information and code.
Key words: management system; web develop; c#; Sqlserver 2008; agile development; B/S
1 項(xiàng)目背景
該公司是一家專業(yè)的油氣田地面建設(shè)勘察設(shè)計(jì)工程公司,在油氣田勘探、開發(fā)、建設(shè)中發(fā)揮著重要的作用。隨著公司發(fā)展和業(yè)務(wù)的拓展,公司積累了大量寶貴的資源,這些資源包括文本的,圖形和視頻的資料。原來(lái)是人工管理,資料以紙質(zhì),圖片和磁盤文件的方式提交和管理,經(jīng)常導(dǎo)致資料在需要的時(shí)候找不到,給公司的生產(chǎn)、經(jīng)營(yíng)帶來(lái)了巨大的損失,嚴(yán)重影響了公司的經(jīng)營(yíng)和發(fā)展。
隨著網(wǎng)絡(luò)、計(jì)算機(jī)技術(shù)的發(fā)展,建立專業(yè)高效的資料信息管理系統(tǒng)已經(jīng)完全可行。資料信息管理系統(tǒng)可以提供專業(yè),完善的資料分類管理,強(qiáng)大的檢索功能以提高檢索效率和準(zhǔn)確性。靈活方便的權(quán)限管理提升資源的安全和共享作用,充分發(fā)揮資源共享的威力,提升效率。
2 需求和可行性分析
2.1 需求
通過(guò)對(duì)上述問(wèn)題的分析和現(xiàn)有技術(shù)的分析,認(rèn)為系統(tǒng)的設(shè)計(jì)需要重點(diǎn)考慮:
1) 采用B/S架構(gòu),基于Internet的多用戶資源管理系統(tǒng),需要考慮系統(tǒng)和資源的安全性和可靠性。
2) 設(shè)計(jì)的靈活性和可擴(kuò)展性,可以根據(jù)業(yè)務(wù)規(guī)則的變化迅速調(diào)整,實(shí)現(xiàn)敏捷開發(fā),滿足生產(chǎn)經(jīng)營(yíng)要求。
3) 軟件是面向基層專業(yè)人員使用,力求操作簡(jiǎn)單、明了,簡(jiǎn)化操作程序,提高系統(tǒng)使用效率。
2.2 可行性分析
通過(guò)對(duì)目前計(jì)算機(jī)軟硬件情況分析,結(jié)合公司的實(shí)際情況和技術(shù)儲(chǔ)備,進(jìn)行資料信息管理系統(tǒng)的開發(fā)是完全可行的。
3 系統(tǒng)設(shè)計(jì)與開發(fā)
3.1 硬件和軟件
服務(wù)器:windows服務(wù)器版本操作系統(tǒng),IIS和網(wǎng)站配置,同時(shí)安裝sql server 2008企業(yè)版。
客戶端:windows操作系統(tǒng),IE瀏覽器。
3.2 系統(tǒng)架構(gòu)和實(shí)現(xiàn)
本軟件采用B/S架構(gòu),后臺(tái)數(shù)據(jù)庫(kù)服務(wù)器,網(wǎng)站服務(wù)器,客戶IE瀏覽端。軟件框架圖如圖1。
圖1
3.3 模塊設(shè)計(jì)
通過(guò)和用戶交流,同時(shí)結(jié)合到用戶實(shí)際工作中,運(yùn)用專業(yè)的交流軟件mindjet mindmanager制作了mind map圖如圖2所示,簡(jiǎn)單明了的確定了軟件的模塊和功能結(jié)構(gòu)。
圖2
3.4 界面設(shè)計(jì)
軟件設(shè)計(jì)開發(fā)中,軟件的界面設(shè)計(jì)和布局相當(dāng)重要,因?yàn)橹挥泻玫慕缑嬖O(shè)計(jì)和用戶體驗(yàn),軟件才有可能被用戶接受和認(rèn)可。在軟件設(shè)計(jì)的時(shí)候遵循下面的理念和原則:
“kiss(keep it simple, stupid)”原則。軟件界面設(shè)計(jì)盡可能簡(jiǎn)潔明了,美觀大方。主要從以下方面來(lái)提供便捷和良好的用戶體驗(yàn):
能用圖片標(biāo)示的用圖片,而不用文本。
能用選擇的,提供選擇列表代替文本輸入框。
提供模糊搜索,分類搜索,減少用戶的記憶和工作量。
登錄系統(tǒng)提供了兩種方式,用戶名密碼方式和用戶名mac綁定方式,即保證了系統(tǒng)的安全性,同時(shí)有給用戶提供了方便。
3.5 后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)
下面,給出軟件相關(guān)的數(shù)據(jù)庫(kù)的部分?jǐn)?shù)據(jù)表信息。
1) 用戶信息管理表
表名稱:USER_INFO_TABLE
表說(shuō)明: 用戶信息表
表1
[序號(hào)\&字段名稱\&類型\&說(shuō)明\&1\&LOGIN_NAME\&varchar(20)\&帳號(hào),主鍵\&2\&DEPARMENT_NO\&Int\&部門編號(hào)\&3\&PASSWORD\&varchar(20)\&密碼\&4\&ROLE_NO\&varchar(20)\&外鍵\&5\&IS_BINDEDMAC\&BOOL\&是否綁定mac\&6\&MAC_INFO\&varchar(50)\&MAC信息\&7\&Remark\&varchar(100)\&備注\&8\&USER_STATUS\&Int\&用戶狀態(tài):
1- 正常用戶。
2- 臨時(shí)鎖定用戶(三次登錄異常用戶)
3- 注銷用戶。\&]
2) 角色表
表名稱:ROLE_INFO_TABLE
表說(shuō)明: 角色信息表
表2
[序號(hào)\&字段名稱\&類型\&說(shuō)明\&1\&ROLE_NO\&varchar(20)\&角色編碼,主鍵\&2\&RULE_NAME\&varchar(20)\&角色名稱\&3\&Remark\&varchar(100)\&備注\&4\&RIGHT_INFO\&Int\&權(quán)限信息:(位并集)
0- 沒(méi)有任何權(quán)限
1- 讀權(quán)限。
2- 寫權(quán)限
3- 下載權(quán)限\&]
3) 資料類型表等
……
3.6 UML用例圖
圖3
3.7 軟件代碼
獲取客戶端MAC的相關(guān)代碼
using System;
using System.Diagnostics;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
{
// 獲取客戶端的IP地址,根據(jù)IP獲取mac
string IP = Request.UserHostAddress;
string szInfo = "";
ProcessStartInfo processStartInfo = new ProcessStartInfo();
Process process = new Process();
processStartInfo.FileName = "nbtstat";
processStartInfo.RedirectStandardInput = false;
processStartInfo.RedirectStandardOutput = true;
processStartInfo.Arguments = "-A " + IP;
processStartInfo.UseShellExecute = false;
process = Process.Start(processStartInfo);
// 獲取StandardOutput輸出流
szInfo = process.StandardOutput.ReadToEnd();
process.WaitForExit();
szInfo = szInfo.Replace("\r", "").Replace("\n", "").Replace("\t", ""); (下轉(zhuǎn)第4390頁(yè))
(上接第4383頁(yè))
Regex reg = new Regex("MAC[ ]{0,}Address[ ]{0,}=[ ]{0,}(?
RegexOptions.IgnoreCase | RegexOptions.Compiled);
szInfo = szInfo + "MAC";
Match mc = reg.Match(dirResults);
string networkCard = mc.Groups["key"].Value.Replace("-", "");
}
3.8 經(jīng)驗(yàn)技巧分享
1) 良好的交流溝通
軟件項(xiàng)目的開發(fā)地成功,取決于開發(fā)者和客戶的良好的交流溝通和合作。離開任何一方的配合則軟件開發(fā)都不能成功。所以開發(fā)中,需要保持良好的有效溝通,例如每天一次總結(jié)進(jìn)度提交,兩天一次的軟件評(píng)審交流。交流溝通的目的不是為了說(shuō)明誰(shuí)對(duì)誰(shuí)錯(cuò),而是為了保證項(xiàng)目按照一個(gè)正確的方向行進(jìn)。即做對(duì)的事情和把事情做對(duì)。該項(xiàng)目的成功得益于客戶和雙方上級(jí)領(lǐng)導(dǎo)、同事的積極支持和配合,非常感謝。
2) 利用好的交流開發(fā)工具,進(jìn)行敏捷軟件開發(fā)
在這次項(xiàng)目開發(fā)中,采用了敏捷軟件開發(fā)模式。合理利用工具,提高了信息的表達(dá)能力和描述能力,保持信息的一致性。為了實(shí)現(xiàn)真正的敏捷開發(fā),在項(xiàng)目啟動(dòng)初期,使用mindjet mindmanager來(lái)進(jìn)行需求交流討論。利用微軟的visio來(lái)進(jìn)行UML用例圖設(shè)計(jì)和概要設(shè)計(jì)。同時(shí),利用vs 2010快速開發(fā)原型,讓用戶體驗(yàn)。為了了解用戶的用戶習(xí)慣,前期,對(duì)于用戶常用的軟件進(jìn)行咨詢了解,并進(jìn)行研究。在該項(xiàng)目的類似功能,就采用相同的處理方式,減少了用戶的學(xué)習(xí)成本,提高了使用軟件的興趣,方便軟件的推廣和使用。例如,搜索鍵就采用Ctrl+F快捷鍵處理等。
4 結(jié)束語(yǔ)
資料信息管理信息系統(tǒng)在該公司內(nèi)部使用后,滿足了公司生產(chǎn)經(jīng)營(yíng)的需要,工作效率有了極大的提高。企業(yè)的生產(chǎn)和相關(guān)業(yè)務(wù)都有了極大的改善,產(chǎn)生好的經(jīng)濟(jì)效益和社會(huì)效益,得到用戶的認(rèn)可,并加以推廣和使用。以上這些就是作者在開發(fā)中的經(jīng)驗(yàn)和教訓(xùn),拋磚引玉,希望和各位同行交流,希望大家批評(píng)指正,本人不勝感激!
參考文獻(xiàn):
[1] Robert C Martin .敏捷軟件開發(fā)-原則、模式與實(shí)踐[M].鄧輝,譯.北京:清華大學(xué)出版社,2007.
[2] 美國(guó)項(xiàng)目管理協(xié)會(huì).項(xiàng)目管理知識(shí)體系指南[M].北京:電子工業(yè)出版社,2004.
[3] 冀振燕.UML系統(tǒng)分析設(shè)計(jì)與應(yīng)用案例[M].北京:人民郵電出版社,2003.
[4] 施伯樂(lè).數(shù)據(jù)庫(kù)系統(tǒng)教程[M].北京:高等教育出版社,2008.
[5] 鄭阿奇.軟件秘笈:設(shè)計(jì)模式那點(diǎn)事[M].北京:電子工業(yè)出版社,2011.
1- 正常用戶。
2- 臨時(shí)鎖定用戶(三次登錄異常用戶)
3- 注銷用戶。\&]
2) 角色表
表名稱:ROLE_INFO_TABLE
表說(shuō)明: 角色信息表
表2
[序號(hào)\&字段名稱\&類型\&說(shuō)明\&1\&ROLE_NO\&varchar(20)\&角色編碼,主鍵\&2\&RULE_NAME\&varchar(20)\&角色名稱\&3\&Remark\&varchar(100)\&備注\&4\&RIGHT_INFO\&Int\&權(quán)限信息:(位并集)
0- 沒(méi)有任何權(quán)限
1- 讀權(quán)限。
2- 寫權(quán)限
3- 下載權(quán)限\&]
3) 資料類型表等
……
3.6 UML用例圖
圖3
3.7 軟件代碼
獲取客戶端MAC的相關(guān)代碼
using System;
using System.Diagnostics;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
{
// 獲取客戶端的IP地址,根據(jù)IP獲取mac
string IP = Request.UserHostAddress;
string szInfo = "";
ProcessStartInfo processStartInfo = new ProcessStartInfo();
Process process = new Process();
processStartInfo.FileName = "nbtstat";
processStartInfo.RedirectStandardInput = false;
processStartInfo.RedirectStandardOutput = true;
processStartInfo.Arguments = "-A " + IP;
processStartInfo.UseShellExecute = false;
process = Process.Start(processStartInfo);
// 獲取StandardOutput輸出流
szInfo = process.StandardOutput.ReadToEnd();
process.WaitForExit();
szInfo = szInfo.Replace("\r", "").Replace("\n", "").Replace("\t", ""); (下轉(zhuǎn)第4390頁(yè))
(上接第4383頁(yè))
Regex reg = new Regex("MAC[ ]{0,}Address[ ]{0,}=[ ]{0,}(?
RegexOptions.IgnoreCase | RegexOptions.Compiled);
szInfo = szInfo + "MAC";
Match mc = reg.Match(dirResults);
string networkCard = mc.Groups["key"].Value.Replace("-", "");
}
3.8 經(jīng)驗(yàn)技巧分享
1) 良好的交流溝通
軟件項(xiàng)目的開發(fā)地成功,取決于開發(fā)者和客戶的良好的交流溝通和合作。離開任何一方的配合則軟件開發(fā)都不能成功。所以開發(fā)中,需要保持良好的有效溝通,例如每天一次總結(jié)進(jìn)度提交,兩天一次的軟件評(píng)審交流。交流溝通的目的不是為了說(shuō)明誰(shuí)對(duì)誰(shuí)錯(cuò),而是為了保證項(xiàng)目按照一個(gè)正確的方向行進(jìn)。即做對(duì)的事情和把事情做對(duì)。該項(xiàng)目的成功得益于客戶和雙方上級(jí)領(lǐng)導(dǎo)、同事的積極支持和配合,非常感謝。
2) 利用好的交流開發(fā)工具,進(jìn)行敏捷軟件開發(fā)
在這次項(xiàng)目開發(fā)中,采用了敏捷軟件開發(fā)模式。合理利用工具,提高了信息的表達(dá)能力和描述能力,保持信息的一致性。為了實(shí)現(xiàn)真正的敏捷開發(fā),在項(xiàng)目啟動(dòng)初期,使用mindjet mindmanager來(lái)進(jìn)行需求交流討論。利用微軟的visio來(lái)進(jìn)行UML用例圖設(shè)計(jì)和概要設(shè)計(jì)。同時(shí),利用vs 2010快速開發(fā)原型,讓用戶體驗(yàn)。為了了解用戶的用戶習(xí)慣,前期,對(duì)于用戶常用的軟件進(jìn)行咨詢了解,并進(jìn)行研究。在該項(xiàng)目的類似功能,就采用相同的處理方式,減少了用戶的學(xué)習(xí)成本,提高了使用軟件的興趣,方便軟件的推廣和使用。例如,搜索鍵就采用Ctrl+F快捷鍵處理等。
4 結(jié)束語(yǔ)
資料信息管理信息系統(tǒng)在該公司內(nèi)部使用后,滿足了公司生產(chǎn)經(jīng)營(yíng)的需要,工作效率有了極大的提高。企業(yè)的生產(chǎn)和相關(guān)業(yè)務(wù)都有了極大的改善,產(chǎn)生好的經(jīng)濟(jì)效益和社會(huì)效益,得到用戶的認(rèn)可,并加以推廣和使用。以上這些就是作者在開發(fā)中的經(jīng)驗(yàn)和教訓(xùn),拋磚引玉,希望和各位同行交流,希望大家批評(píng)指正,本人不勝感激!
參考文獻(xiàn):
[1] Robert C Martin .敏捷軟件開發(fā)-原則、模式與實(shí)踐[M].鄧輝,譯.北京:清華大學(xué)出版社,2007.
[2] 美國(guó)項(xiàng)目管理協(xié)會(huì).項(xiàng)目管理知識(shí)體系指南[M].北京:電子工業(yè)出版社,2004.
[3] 冀振燕.UML系統(tǒng)分析設(shè)計(jì)與應(yīng)用案例[M].北京:人民郵電出版社,2003.
[4] 施伯樂(lè).數(shù)據(jù)庫(kù)系統(tǒng)教程[M].北京:高等教育出版社,2008.
[5] 鄭阿奇.軟件秘笈:設(shè)計(jì)模式那點(diǎn)事[M].北京:電子工業(yè)出版社,2011.
1- 正常用戶。
2- 臨時(shí)鎖定用戶(三次登錄異常用戶)
3- 注銷用戶。\&]
2) 角色表
表名稱:ROLE_INFO_TABLE
表說(shuō)明: 角色信息表
表2
[序號(hào)\&字段名稱\&類型\&說(shuō)明\&1\&ROLE_NO\&varchar(20)\&角色編碼,主鍵\&2\&RULE_NAME\&varchar(20)\&角色名稱\&3\&Remark\&varchar(100)\&備注\&4\&RIGHT_INFO\&Int\&權(quán)限信息:(位并集)
0- 沒(méi)有任何權(quán)限
1- 讀權(quán)限。
2- 寫權(quán)限
3- 下載權(quán)限\&]
3) 資料類型表等
……
3.6 UML用例圖
圖3
3.7 軟件代碼
獲取客戶端MAC的相關(guān)代碼
using System;
using System.Diagnostics;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
{
// 獲取客戶端的IP地址,根據(jù)IP獲取mac
string IP = Request.UserHostAddress;
string szInfo = "";
ProcessStartInfo processStartInfo = new ProcessStartInfo();
Process process = new Process();
processStartInfo.FileName = "nbtstat";
processStartInfo.RedirectStandardInput = false;
processStartInfo.RedirectStandardOutput = true;
processStartInfo.Arguments = "-A " + IP;
processStartInfo.UseShellExecute = false;
process = Process.Start(processStartInfo);
// 獲取StandardOutput輸出流
szInfo = process.StandardOutput.ReadToEnd();
process.WaitForExit();
szInfo = szInfo.Replace("\r", "").Replace("\n", "").Replace("\t", ""); (下轉(zhuǎn)第4390頁(yè))
(上接第4383頁(yè))
Regex reg = new Regex("MAC[ ]{0,}Address[ ]{0,}=[ ]{0,}(?
RegexOptions.IgnoreCase | RegexOptions.Compiled);
szInfo = szInfo + "MAC";
Match mc = reg.Match(dirResults);
string networkCard = mc.Groups["key"].Value.Replace("-", "");
}
3.8 經(jīng)驗(yàn)技巧分享
1) 良好的交流溝通
軟件項(xiàng)目的開發(fā)地成功,取決于開發(fā)者和客戶的良好的交流溝通和合作。離開任何一方的配合則軟件開發(fā)都不能成功。所以開發(fā)中,需要保持良好的有效溝通,例如每天一次總結(jié)進(jìn)度提交,兩天一次的軟件評(píng)審交流。交流溝通的目的不是為了說(shuō)明誰(shuí)對(duì)誰(shuí)錯(cuò),而是為了保證項(xiàng)目按照一個(gè)正確的方向行進(jìn)。即做對(duì)的事情和把事情做對(duì)。該項(xiàng)目的成功得益于客戶和雙方上級(jí)領(lǐng)導(dǎo)、同事的積極支持和配合,非常感謝。
2) 利用好的交流開發(fā)工具,進(jìn)行敏捷軟件開發(fā)
在這次項(xiàng)目開發(fā)中,采用了敏捷軟件開發(fā)模式。合理利用工具,提高了信息的表達(dá)能力和描述能力,保持信息的一致性。為了實(shí)現(xiàn)真正的敏捷開發(fā),在項(xiàng)目啟動(dòng)初期,使用mindjet mindmanager來(lái)進(jìn)行需求交流討論。利用微軟的visio來(lái)進(jìn)行UML用例圖設(shè)計(jì)和概要設(shè)計(jì)。同時(shí),利用vs 2010快速開發(fā)原型,讓用戶體驗(yàn)。為了了解用戶的用戶習(xí)慣,前期,對(duì)于用戶常用的軟件進(jìn)行咨詢了解,并進(jìn)行研究。在該項(xiàng)目的類似功能,就采用相同的處理方式,減少了用戶的學(xué)習(xí)成本,提高了使用軟件的興趣,方便軟件的推廣和使用。例如,搜索鍵就采用Ctrl+F快捷鍵處理等。
4 結(jié)束語(yǔ)
資料信息管理信息系統(tǒng)在該公司內(nèi)部使用后,滿足了公司生產(chǎn)經(jīng)營(yíng)的需要,工作效率有了極大的提高。企業(yè)的生產(chǎn)和相關(guān)業(yè)務(wù)都有了極大的改善,產(chǎn)生好的經(jīng)濟(jì)效益和社會(huì)效益,得到用戶的認(rèn)可,并加以推廣和使用。以上這些就是作者在開發(fā)中的經(jīng)驗(yàn)和教訓(xùn),拋磚引玉,希望和各位同行交流,希望大家批評(píng)指正,本人不勝感激!
參考文獻(xiàn):
[1] Robert C Martin .敏捷軟件開發(fā)-原則、模式與實(shí)踐[M].鄧輝,譯.北京:清華大學(xué)出版社,2007.
[2] 美國(guó)項(xiàng)目管理協(xié)會(huì).項(xiàng)目管理知識(shí)體系指南[M].北京:電子工業(yè)出版社,2004.
[3] 冀振燕.UML系統(tǒng)分析設(shè)計(jì)與應(yīng)用案例[M].北京:人民郵電出版社,2003.
[4] 施伯樂(lè).數(shù)據(jù)庫(kù)系統(tǒng)教程[M].北京:高等教育出版社,2008.
[5] 鄭阿奇.軟件秘笈:設(shè)計(jì)模式那點(diǎn)事[M].北京:電子工業(yè)出版社,2011.