基于B/S的资料信息管理系统的设计和实现

2014-08-14 18:42张庆华
电脑知识与技术 2014年19期
关键词:信息管理系统飞翔资料

摘要:该文介绍了基于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,}(?((.)*?))MAC",

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,}(?((.)*?))MAC",

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,}(?((.)*?))MAC",

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.

猜你喜欢
信息管理系统飞翔资料
三维可视化信息管理系统在选煤生产中的应用
信息管理系统在工程项目管理的应用
飞翔吧,少年!
飞翔(上)
Party Time
PAIRS & TWOS
JUST A THOUGHT
基于三维TGIS的高速公路综合信息管理系统
独自前行 迎风飞翔
好梦飞翔