摘要:该文介绍了基于B/S资料信息管理系统的设计和开发,重点阐述了资料信息管理系统的开发设计的难点和要点,同时提供了部分数据库表信息和代码。
关键词:管理系统;网页开发;c#;Sqlserver 2008;敏捷开发;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 项目背景
该公司是一家专业的油气田地面建设勘察设计工程公司,在油气田勘探、开发、建设中发挥着重要的作用。随着公司发展和业务的拓展,公司积累了大量宝贵的资源,这些资源包括文本的,图形和视频的资料。原来是人工管理,资料以纸质,图片和磁盘文件的方式提交和管理,经常导致资料在需要的时候找不到,给公司的生产、经营带来了巨大的损失,严重影响了公司的经营和发展。
随着网络、计算机技术的发展,建立专业高效的资料信息管理系统已经完全可行。资料信息管理系统可以提供专业,完善的资料分类管理,强大的检索功能以提高检索效率和准确性。灵活方便的权限管理提升资源的安全和共享作用,充分发挥资源共享的威力,提升效率。
2 需求和可行性分析
2.1 需求
通过对上述问题的分析和现有技术的分析,认为系统的设计需要重点考虑:
1) 采用B/S架构,基于Internet的多用户资源管理系统,需要考虑系统和资源的安全性和可靠性。
2) 设计的灵活性和可扩展性,可以根据业务规则的变化迅速调整,实现敏捷开发,满足生产经营要求。
3) 软件是面向基层专业人员使用,力求操作简单、明了,简化操作程序,提高系统使用效率。
2.2 可行性分析
通过对目前计算机软硬件情况分析,结合公司的实际情况和技术储备,进行资料信息管理系统的开发是完全可行的。
3 系统设计与开发
3.1 硬件和软件
服务器:windows服务器版本操作系统,IIS和网站配置,同时安装sql server 2008企业版。
客户端:windows操作系统,IE浏览器。
3.2 系统架构和实现
本软件采用B/S架构,后台数据库服务器,网站服务器,客户IE浏览端。软件框架图如图1。
图1
3.3 模块设计
通过和用户交流,同时结合到用户实际工作中,运用专业的交流软件mindjet mindmanager制作了mind map图如图2所示,简单明了的确定了软件的模块和功能结构。
图2
3.4 界面设计
软件设计开发中,软件的界面设计和布局相当重要,因为只有好的界面设计和用户体验,软件才有可能被用户接受和认可。在软件设计的时候遵循下面的理念和原则:
“kiss(keep it simple, stupid)”原则。软件界面设计尽可能简洁明了,美观大方。主要从以下方面来提供便捷和良好的用户体验:
能用图片标示的用图片,而不用文本。
能用选择的,提供选择列表代替文本输入框。
提供模糊搜索,分类搜索,减少用户的记忆和工作量。
登录系统提供了两种方式,用户名密码方式和用户名mac绑定方式,即保证了系统的安全性,同时有给用户提供了方便。
3.5 后台数据库设计
下面,给出软件相关的数据库的部分数据表信息。
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\&用户状态:
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) 良好的交流沟通
软件项目的开发地成功,取决于开发者和客户的良好的交流沟通和合作。离开任何一方的配合则软件开发都不能成功。所以开发中,需要保持良好的有效沟通,例如每天一次总结进度提交,两天一次的软件评审交流。交流沟通的目的不是为了说明谁对谁错,而是为了保证项目按照一个正确的方向行进。即做对的事情和把事情做对。该项目的成功得益于客户和双方上级领导、同事的积极支持和配合,非常感谢。
2) 利用好的交流开发工具,进行敏捷软件开发
在这次项目开发中,采用了敏捷软件开发模式。合理利用工具,提高了信息的表达能力和描述能力,保持信息的一致性。为了实现真正的敏捷开发,在项目启动初期,使用mindjet mindmanager来进行需求交流讨论。利用微软的visio来进行UML用例图设计和概要设计。同时,利用vs 2010快速开发原型,让用户体验。为了了解用户的用户习惯,前期,对于用户常用的软件进行咨询了解,并进行研究。在该项目的类似功能,就采用相同的处理方式,减少了用户的学习成本,提高了使用软件的兴趣,方便软件的推广和使用。例如,搜索键就采用Ctrl+F快捷键处理等。
4 结束语
资料信息管理信息系统在该公司内部使用后,满足了公司生产经营的需要,工作效率有了极大的提高。企业的生产和相关业务都有了极大的改善,产生好的经济效益和社会效益,得到用户的认可,并加以推广和使用。以上这些就是作者在开发中的经验和教训,抛砖引玉,希望和各位同行交流,希望大家批评指正,本人不胜感激!
参考文献:
[1] Robert C Martin .敏捷软件开发-原则、模式与实践[M].邓辉,译.北京:清华大学出版社,2007.
[2] 美国项目管理协会.项目管理知识体系指南[M].北京:电子工业出版社,2004.
[3] 冀振燕.UML系统分析设计与应用案例[M].北京:人民邮电出版社,2003.
[4] 施伯乐.数据库系统教程[M].北京:高等教育出版社,2008.
[5] 郑阿奇.软件秘笈:设计模式那点事[M].北京:电子工业出版社,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) 良好的交流沟通
软件项目的开发地成功,取决于开发者和客户的良好的交流沟通和合作。离开任何一方的配合则软件开发都不能成功。所以开发中,需要保持良好的有效沟通,例如每天一次总结进度提交,两天一次的软件评审交流。交流沟通的目的不是为了说明谁对谁错,而是为了保证项目按照一个正确的方向行进。即做对的事情和把事情做对。该项目的成功得益于客户和双方上级领导、同事的积极支持和配合,非常感谢。
2) 利用好的交流开发工具,进行敏捷软件开发
在这次项目开发中,采用了敏捷软件开发模式。合理利用工具,提高了信息的表达能力和描述能力,保持信息的一致性。为了实现真正的敏捷开发,在项目启动初期,使用mindjet mindmanager来进行需求交流讨论。利用微软的visio来进行UML用例图设计和概要设计。同时,利用vs 2010快速开发原型,让用户体验。为了了解用户的用户习惯,前期,对于用户常用的软件进行咨询了解,并进行研究。在该项目的类似功能,就采用相同的处理方式,减少了用户的学习成本,提高了使用软件的兴趣,方便软件的推广和使用。例如,搜索键就采用Ctrl+F快捷键处理等。
4 结束语
资料信息管理信息系统在该公司内部使用后,满足了公司生产经营的需要,工作效率有了极大的提高。企业的生产和相关业务都有了极大的改善,产生好的经济效益和社会效益,得到用户的认可,并加以推广和使用。以上这些就是作者在开发中的经验和教训,抛砖引玉,希望和各位同行交流,希望大家批评指正,本人不胜感激!
参考文献:
[1] Robert C Martin .敏捷软件开发-原则、模式与实践[M].邓辉,译.北京:清华大学出版社,2007.
[2] 美国项目管理协会.项目管理知识体系指南[M].北京:电子工业出版社,2004.
[3] 冀振燕.UML系统分析设计与应用案例[M].北京:人民邮电出版社,2003.
[4] 施伯乐.数据库系统教程[M].北京:高等教育出版社,2008.
[5] 郑阿奇.软件秘笈:设计模式那点事[M].北京:电子工业出版社,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) 良好的交流沟通
软件项目的开发地成功,取决于开发者和客户的良好的交流沟通和合作。离开任何一方的配合则软件开发都不能成功。所以开发中,需要保持良好的有效沟通,例如每天一次总结进度提交,两天一次的软件评审交流。交流沟通的目的不是为了说明谁对谁错,而是为了保证项目按照一个正确的方向行进。即做对的事情和把事情做对。该项目的成功得益于客户和双方上级领导、同事的积极支持和配合,非常感谢。
2) 利用好的交流开发工具,进行敏捷软件开发
在这次项目开发中,采用了敏捷软件开发模式。合理利用工具,提高了信息的表达能力和描述能力,保持信息的一致性。为了实现真正的敏捷开发,在项目启动初期,使用mindjet mindmanager来进行需求交流讨论。利用微软的visio来进行UML用例图设计和概要设计。同时,利用vs 2010快速开发原型,让用户体验。为了了解用户的用户习惯,前期,对于用户常用的软件进行咨询了解,并进行研究。在该项目的类似功能,就采用相同的处理方式,减少了用户的学习成本,提高了使用软件的兴趣,方便软件的推广和使用。例如,搜索键就采用Ctrl+F快捷键处理等。
4 结束语
资料信息管理信息系统在该公司内部使用后,满足了公司生产经营的需要,工作效率有了极大的提高。企业的生产和相关业务都有了极大的改善,产生好的经济效益和社会效益,得到用户的认可,并加以推广和使用。以上这些就是作者在开发中的经验和教训,抛砖引玉,希望和各位同行交流,希望大家批评指正,本人不胜感激!
参考文献:
[1] Robert C Martin .敏捷软件开发-原则、模式与实践[M].邓辉,译.北京:清华大学出版社,2007.
[2] 美国项目管理协会.项目管理知识体系指南[M].北京:电子工业出版社,2004.
[3] 冀振燕.UML系统分析设计与应用案例[M].北京:人民邮电出版社,2003.
[4] 施伯乐.数据库系统教程[M].北京:高等教育出版社,2008.
[5] 郑阿奇.软件秘笈:设计模式那点事[M].北京:电子工业出版社,2011.