摘要:該文介紹了基于B/S資料信息管理系統(tǒng)的設計和開發(fā),重點闡述了資料信息管理系統(tǒng)的開發(fā)設計的難點和要點,同時提供了部分數(shù)據庫表信息和代碼。
關鍵詞:管理系統(tǒng);網頁開發(fā);c#;Sqlserver 2008;敏捷開發(fā);B/S
中圖分類號:TP311 文獻標識碼:A 文章編號: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 項目背景
該公司是一家專業(yè)的油氣田地面建設勘察設計工程公司,在油氣田勘探、開發(fā)、建設中發(fā)揮著重要的作用。隨著公司發(fā)展和業(yè)務的拓展,公司積累了大量寶貴的資源,這些資源包括文本的,圖形和視頻的資料。原來是人工管理,資料以紙質,圖片和磁盤文件的方式提交和管理,經常導致資料在需要的時候找不到,給公司的生產、經營帶來了巨大的損失,嚴重影響了公司的經營和發(fā)展。
隨著網絡、計算機技術的發(fā)展,建立專業(yè)高效的資料信息管理系統(tǒng)已經完全可行。資料信息管理系統(tǒng)可以提供專業(yè),完善的資料分類管理,強大的檢索功能以提高檢索效率和準確性。靈活方便的權限管理提升資源的安全和共享作用,充分發(fā)揮資源共享的威力,提升效率。
2 需求和可行性分析
2.1 需求
通過對上述問題的分析和現(xiàn)有技術的分析,認為系統(tǒng)的設計需要重點考慮:
1) 采用B/S架構,基于Internet的多用戶資源管理系統(tǒng),需要考慮系統(tǒng)和資源的安全性和可靠性。
2) 設計的靈活性和可擴展性,可以根據業(yè)務規(guī)則的變化迅速調整,實現(xiàn)敏捷開發(fā),滿足生產經營要求。
3) 軟件是面向基層專業(yè)人員使用,力求操作簡單、明了,簡化操作程序,提高系統(tǒng)使用效率。
2.2 可行性分析
通過對目前計算機軟硬件情況分析,結合公司的實際情況和技術儲備,進行資料信息管理系統(tǒng)的開發(fā)是完全可行的。
3 系統(tǒng)設計與開發(fā)
3.1 硬件和軟件
服務器:windows服務器版本操作系統(tǒng),IIS和網站配置,同時安裝sql server 2008企業(yè)版。
客戶端:windows操作系統(tǒng),IE瀏覽器。
3.2 系統(tǒng)架構和實現(xiàn)
本軟件采用B/S架構,后臺數(shù)據庫服務器,網站服務器,客戶IE瀏覽端。軟件框架圖如圖1。
圖1
3.3 模塊設計
通過和用戶交流,同時結合到用戶實際工作中,運用專業(yè)的交流軟件mindjet mindmanager制作了mind map圖如圖2所示,簡單明了的確定了軟件的模塊和功能結構。
圖2
3.4 界面設計
軟件設計開發(fā)中,軟件的界面設計和布局相當重要,因為只有好的界面設計和用戶體驗,軟件才有可能被用戶接受和認可。在軟件設計的時候遵循下面的理念和原則:
“kiss(keep it simple, stupid)”原則。軟件界面設計盡可能簡潔明了,美觀大方。主要從以下方面來提供便捷和良好的用戶體驗:
能用圖片標示的用圖片,而不用文本。
能用選擇的,提供選擇列表代替文本輸入框。
提供模糊搜索,分類搜索,減少用戶的記憶和工作量。
登錄系統(tǒng)提供了兩種方式,用戶名密碼方式和用戶名mac綁定方式,即保證了系統(tǒng)的安全性,同時有給用戶提供了方便。
3.5 后臺數(shù)據庫設計
下面,給出軟件相關的數(shù)據庫的部分數(shù)據表信息。
1) 用戶信息管理表
表名稱:USER_INFO_TABLE
表說明: 用戶信息表
表1
[序號\&字段名稱\&類型\&說明\&1\&LOGIN_NAME\&varchar(20)\&帳號,主鍵\&2\&DEPARMENT_NO\&Int\&部門編號\&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- 臨時鎖定用戶(三次登錄異常用戶)
3- 注銷用戶。\&]
2) 角色表
表名稱:ROLE_INFO_TABLE
表說明: 角色信息表
表2
[序號\&字段名稱\&類型\&說明\&1\&ROLE_NO\&varchar(20)\&角色編碼,主鍵\&2\&RULE_NAME\&varchar(20)\&角色名稱\&3\&Remark\&varchar(100)\&備注\&4\&RIGHT_INFO\&Int\&權限信息:(位并集)
0- 沒有任何權限
1- 讀權限。
2- 寫權限
3- 下載權限\&]
3) 資料類型表等
……
3.6 UML用例圖
圖3
3.7 軟件代碼
獲取客戶端MAC的相關代碼
using System;
using System.Diagnostics;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
{
// 獲取客戶端的IP地址,根據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", ""); (下轉第4390頁)
(上接第4383頁)
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 經驗技巧分享
1) 良好的交流溝通
軟件項目的開發(fā)地成功,取決于開發(fā)者和客戶的良好的交流溝通和合作。離開任何一方的配合則軟件開發(fā)都不能成功。所以開發(fā)中,需要保持良好的有效溝通,例如每天一次總結進度提交,兩天一次的軟件評審交流。交流溝通的目的不是為了說明誰對誰錯,而是為了保證項目按照一個正確的方向行進。即做對的事情和把事情做對。該項目的成功得益于客戶和雙方上級領導、同事的積極支持和配合,非常感謝。
2) 利用好的交流開發(fā)工具,進行敏捷軟件開發(fā)
在這次項目開發(fā)中,采用了敏捷軟件開發(fā)模式。合理利用工具,提高了信息的表達能力和描述能力,保持信息的一致性。為了實現(xiàn)真正的敏捷開發(fā),在項目啟動初期,使用mindjet mindmanager來進行需求交流討論。利用微軟的visio來進行UML用例圖設計和概要設計。同時,利用vs 2010快速開發(fā)原型,讓用戶體驗。為了了解用戶的用戶習慣,前期,對于用戶常用的軟件進行咨詢了解,并進行研究。在該項目的類似功能,就采用相同的處理方式,減少了用戶的學習成本,提高了使用軟件的興趣,方便軟件的推廣和使用。例如,搜索鍵就采用Ctrl+F快捷鍵處理等。
4 結束語
資料信息管理信息系統(tǒng)在該公司內部使用后,滿足了公司生產經營的需要,工作效率有了極大的提高。企業(yè)的生產和相關業(yè)務都有了極大的改善,產生好的經濟效益和社會效益,得到用戶的認可,并加以推廣和使用。以上這些就是作者在開發(fā)中的經驗和教訓,拋磚引玉,希望和各位同行交流,希望大家批評指正,本人不勝感激!
參考文獻:
[1] Robert C Martin .敏捷軟件開發(fā)-原則、模式與實踐[M].鄧輝,譯.北京:清華大學出版社,2007.
[2] 美國項目管理協(xié)會.項目管理知識體系指南[M].北京:電子工業(yè)出版社,2004.
[3] 冀振燕.UML系統(tǒng)分析設計與應用案例[M].北京:人民郵電出版社,2003.
[4] 施伯樂.數(shù)據庫系統(tǒng)教程[M].北京:高等教育出版社,2008.
[5] 鄭阿奇.軟件秘笈:設計模式那點事[M].北京:電子工業(yè)出版社,2011.
1- 正常用戶。
2- 臨時鎖定用戶(三次登錄異常用戶)
3- 注銷用戶。\&]
2) 角色表
表名稱:ROLE_INFO_TABLE
表說明: 角色信息表
表2
[序號\&字段名稱\&類型\&說明\&1\&ROLE_NO\&varchar(20)\&角色編碼,主鍵\&2\&RULE_NAME\&varchar(20)\&角色名稱\&3\&Remark\&varchar(100)\&備注\&4\&RIGHT_INFO\&Int\&權限信息:(位并集)
0- 沒有任何權限
1- 讀權限。
2- 寫權限
3- 下載權限\&]
3) 資料類型表等
……
3.6 UML用例圖
圖3
3.7 軟件代碼
獲取客戶端MAC的相關代碼
using System;
using System.Diagnostics;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
{
// 獲取客戶端的IP地址,根據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", ""); (下轉第4390頁)
(上接第4383頁)
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 經驗技巧分享
1) 良好的交流溝通
軟件項目的開發(fā)地成功,取決于開發(fā)者和客戶的良好的交流溝通和合作。離開任何一方的配合則軟件開發(fā)都不能成功。所以開發(fā)中,需要保持良好的有效溝通,例如每天一次總結進度提交,兩天一次的軟件評審交流。交流溝通的目的不是為了說明誰對誰錯,而是為了保證項目按照一個正確的方向行進。即做對的事情和把事情做對。該項目的成功得益于客戶和雙方上級領導、同事的積極支持和配合,非常感謝。
2) 利用好的交流開發(fā)工具,進行敏捷軟件開發(fā)
在這次項目開發(fā)中,采用了敏捷軟件開發(fā)模式。合理利用工具,提高了信息的表達能力和描述能力,保持信息的一致性。為了實現(xiàn)真正的敏捷開發(fā),在項目啟動初期,使用mindjet mindmanager來進行需求交流討論。利用微軟的visio來進行UML用例圖設計和概要設計。同時,利用vs 2010快速開發(fā)原型,讓用戶體驗。為了了解用戶的用戶習慣,前期,對于用戶常用的軟件進行咨詢了解,并進行研究。在該項目的類似功能,就采用相同的處理方式,減少了用戶的學習成本,提高了使用軟件的興趣,方便軟件的推廣和使用。例如,搜索鍵就采用Ctrl+F快捷鍵處理等。
4 結束語
資料信息管理信息系統(tǒng)在該公司內部使用后,滿足了公司生產經營的需要,工作效率有了極大的提高。企業(yè)的生產和相關業(yè)務都有了極大的改善,產生好的經濟效益和社會效益,得到用戶的認可,并加以推廣和使用。以上這些就是作者在開發(fā)中的經驗和教訓,拋磚引玉,希望和各位同行交流,希望大家批評指正,本人不勝感激!
參考文獻:
[1] Robert C Martin .敏捷軟件開發(fā)-原則、模式與實踐[M].鄧輝,譯.北京:清華大學出版社,2007.
[2] 美國項目管理協(xié)會.項目管理知識體系指南[M].北京:電子工業(yè)出版社,2004.
[3] 冀振燕.UML系統(tǒng)分析設計與應用案例[M].北京:人民郵電出版社,2003.
[4] 施伯樂.數(shù)據庫系統(tǒng)教程[M].北京:高等教育出版社,2008.
[5] 鄭阿奇.軟件秘笈:設計模式那點事[M].北京:電子工業(yè)出版社,2011.
1- 正常用戶。
2- 臨時鎖定用戶(三次登錄異常用戶)
3- 注銷用戶。\&]
2) 角色表
表名稱:ROLE_INFO_TABLE
表說明: 角色信息表
表2
[序號\&字段名稱\&類型\&說明\&1\&ROLE_NO\&varchar(20)\&角色編碼,主鍵\&2\&RULE_NAME\&varchar(20)\&角色名稱\&3\&Remark\&varchar(100)\&備注\&4\&RIGHT_INFO\&Int\&權限信息:(位并集)
0- 沒有任何權限
1- 讀權限。
2- 寫權限
3- 下載權限\&]
3) 資料類型表等
……
3.6 UML用例圖
圖3
3.7 軟件代碼
獲取客戶端MAC的相關代碼
using System;
using System.Diagnostics;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
{
// 獲取客戶端的IP地址,根據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", ""); (下轉第4390頁)
(上接第4383頁)
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 經驗技巧分享
1) 良好的交流溝通
軟件項目的開發(fā)地成功,取決于開發(fā)者和客戶的良好的交流溝通和合作。離開任何一方的配合則軟件開發(fā)都不能成功。所以開發(fā)中,需要保持良好的有效溝通,例如每天一次總結進度提交,兩天一次的軟件評審交流。交流溝通的目的不是為了說明誰對誰錯,而是為了保證項目按照一個正確的方向行進。即做對的事情和把事情做對。該項目的成功得益于客戶和雙方上級領導、同事的積極支持和配合,非常感謝。
2) 利用好的交流開發(fā)工具,進行敏捷軟件開發(fā)
在這次項目開發(fā)中,采用了敏捷軟件開發(fā)模式。合理利用工具,提高了信息的表達能力和描述能力,保持信息的一致性。為了實現(xiàn)真正的敏捷開發(fā),在項目啟動初期,使用mindjet mindmanager來進行需求交流討論。利用微軟的visio來進行UML用例圖設計和概要設計。同時,利用vs 2010快速開發(fā)原型,讓用戶體驗。為了了解用戶的用戶習慣,前期,對于用戶常用的軟件進行咨詢了解,并進行研究。在該項目的類似功能,就采用相同的處理方式,減少了用戶的學習成本,提高了使用軟件的興趣,方便軟件的推廣和使用。例如,搜索鍵就采用Ctrl+F快捷鍵處理等。
4 結束語
資料信息管理信息系統(tǒng)在該公司內部使用后,滿足了公司生產經營的需要,工作效率有了極大的提高。企業(yè)的生產和相關業(yè)務都有了極大的改善,產生好的經濟效益和社會效益,得到用戶的認可,并加以推廣和使用。以上這些就是作者在開發(fā)中的經驗和教訓,拋磚引玉,希望和各位同行交流,希望大家批評指正,本人不勝感激!
參考文獻:
[1] Robert C Martin .敏捷軟件開發(fā)-原則、模式與實踐[M].鄧輝,譯.北京:清華大學出版社,2007.
[2] 美國項目管理協(xié)會.項目管理知識體系指南[M].北京:電子工業(yè)出版社,2004.
[3] 冀振燕.UML系統(tǒng)分析設計與應用案例[M].北京:人民郵電出版社,2003.
[4] 施伯樂.數(shù)據庫系統(tǒng)教程[M].北京:高等教育出版社,2008.
[5] 鄭阿奇.軟件秘笈:設計模式那點事[M].北京:電子工業(yè)出版社,2011.