一个面向组件的程序语言,C#另一个重要的设计考虑便是对面向对象能力的支持,C#的统一类型系统特性,大幅度简化了系统的开发操作,提高了扩展性与重复使用性:如集合对象可以存放任何类型的对象。C#中没有指针,因此C#程序不会有"乱指"的指针这种困扰,C#程序编译后产生EXE或DLL等PE可执行文件,这些文件是一种中间语言,与CPU无关,这样使得C#所编译的程序可以在任何支持.NETFramework的操作系统下执行。C#还具有资源自动回收等特性。
§7.2数据库的连接与关闭连接
§7.2.1数据库连接与关闭连接的重要性
在信息管理系统中什么最重要?是数据!数据的展示与存放都由数据库来间接或直接的参与,信息管理系统的稳定性关系到企业的日常生产管理的正常运行,所以只有稳定的数据库连接才能够保证系统的正常运行。当然,关闭数据库连接也同样重要,因为数据库连接总是不能及时关闭的话,那连接池中的连接数目过大有,可能导致整个系统的瘫痪。
§7.2.2该系统中数据库的连接与关闭
本系统使用的数据库连接方式有两种,一种是在Web.Config中对数据源进行配置,另一种就是用SqlDataSource服务器控件连接关闭数据源。
1、在Web.Config中配置数据源的连接字符串的相关代码。
Web.Config文件为整个应用程序的配置文件,它在应用程序起用的时候自动调用,其格式为XML文档。
连接字符串代码:
2、SqlDataSource服务器控件连接、关闭数据源和手动连接、关闭数据源的示例代码。
页面程序代码:
"
DeleteCommand="DELETEFROM[KeepNum]WHERE[ID]=@ID"InsertCommand="INSERTINTO[KeepNum]([KeepName],[GoodClass])VALUES(@KeepName,@GoodClass)"
SelectCommand="SELECT[ID],[KeepName],[GoodClass]FROM[KeepNum]ORDERBY[ID]"
UpdateCommand="UPDATE[KeepNum]SET[KeepName]=@KeepName,[GoodClass]=@GoodClassWHERE[ID]=@ID">
在Web.Config添加如下配置代码
§7.3安全性问题
§7.3.1数据库安全问题
由于管理系统的数据相当重要,所以本系统对用户登陆权限做了严格的限制,用户分角色,每个角色只能拥有自己角色下的权限。
数据的修改必须有系统合法登录并且角色权限符合的用户操作;限制服务器端口被攻击,防止系统出现瘫痪现象;以免数据库服务器无法响应操作。
对数据进行备份,防止数据的丢失,系统的崩溃。
本系统还要防止URL欺骗,防止执行用户输入的SQL语句。
§7.3.2系统安全问题
在本系统中,设置了防止用户绕过登录,而直接进入系统内部进行操作。
为了确保系统安全性,在系统每个页面的PageLoad中必须进行登录身份验证。也就是说,在每个页面加载时,判断其Session值是否为空,如果其Session值为空,该页面将加载失败返回登陆页面。否则,加载成功。
因此,在系统设计过程中,一定要确保Session值的存活期。在Web.Config中默认Session值的存活期是用户推出系统30秒自动消亡,在该系统中设置为1分钟。
§7.4类库
按照对本系统的实际应用,对以下几个比较重要的类做些介绍:
§7.4.1SqlDataBase类
数据库访问类,包含了绝大多数常用的数据库操作。
§7.4.2CheckLogin类
用户登陆验证类,返回一些相关的登陆信息。
§7.4.3Admin类
管理员类,返回系统管理员对系统的一些操作信息。
§7.4.4Goods类
库存类,读取一些库存产品的相关信息。
§7.4.5Keeps类
出入库操作类,向数据库中插入出入库信息记录。
§7.4.6Sums类
数据统计类,返回用户及管理员对仓库系统的数据统计记录。
§7.4.7UserAction类
用户操作类,包含了用户对系统的一些操作。
§7.5相关视图及存储过程
本系统为了使用户对数据库的操作更加方便快捷,故使用了一些视图和存储过程。
§7.5.1View_Dao(系统操作视图)
该视图主要用于显示读取用户操作日志。
§7.5.2View_GoodMsg(库存产品视图)
主要关联了产品表及产品分类表,方便用户显示信息。
§7.5.3View_Papes(操作单据视图)
该试图主要显示系统库存操作单据。
§7.5.4View_Sum(库存统计视图)
该视图主要统计了几个相关表,然后显示库存数据统计信息。
§7.5.5InsertGood(入库存储过程)
由于入库数据量较大,为了使系统响应更加迅速,因此使用该过程插入入库数据。
§7.6代码规范
§7.6.1数据库中表名和字段名的规范
1.表名和字段名中全部使用英文词汇。
2.名称中不带有特殊字符,尽量全部使用字母。
3.英文单词的首字母大写。
§7.6.2系统中文件目录命名规范
1.根据软件工程中的文件命名规则对系统文件进行命名。
§7.6.3程序书写,缩进,注释规范
1.缩进规范使用VS2005默认缩进样式。
2.类变量以下划线开头,第一个单词首字母小写,其它单词首字母大写,不带有特殊字符。
3.属性的每个单词的首字母都大写。
4.方法内部变量小写字母开头,其它单词首字母大写。
5.///用于类,功能模块的说明与注释。
6.//用于代码注释。
7./**/*用于版本修正。
第8章总结
§8.1系统的总结
本系统已经从功能上满足了红旗汽车修理厂物资流通管理的需要,但是从技术上来说这个系统还并不是一个高水平的作品。任何一个项目想做的完美都不是一件很容易的事情。
本系统在以下几个方面还存在缺陷:
1.产品入库操作应该结合硬件刷条形码。
2.数据报表模块应该有图形化的展示界面,这样更加直观。
§8.2开发过程的总结
开发过程是快乐的。因为在开发中不但能充实生活,同时自己的技能也得到了很好锻炼。但是在开发过程中暴露出自己的一些问题或不足也是很值得思考的:
首先,在对一个系统的整体理解上,还不够充分,因此功能模块的设计和开发出现过技术上的调整。其次,在进行开发时,还不能深入的理解ASP.NET的思想,所以虽然是在.NET下开发程序,有些时候却还是在用面向过程的程序算法来实现......
相信有了这次开发经历,以后再做类似的开发项目,应该就会少栽很多跟头了。
参考文献
[1]顾自新,王炳同.物流信息系统开发策略研究.物流科技,2006,1:10-13
[2]蒋宝家,郑荣,董绍华.可视化仓库管理系统的设计.物流科技,2005,9:178-180
[3]余明海.整合仓储资源参与现代物流.物流技,2007,1:47-49
[4]王兴山.企业信息化、你准备好了吗?.中国计算机报,2001.2.10
[5]王如龙.企业实施信息化工程成功因素探讨.企业信息化集成,2003,4:9-10
[6](美)凯西·施瓦尔贝.IT项目管理.王金玉等译.北京:机械工业出版社,2003
[7]张本丰.基于CMM/CMMI.中国计算机报,2004.05.10,1311,32
[8]蔡淑琴,张金隆.论企业的信息化建设.华中理工大学学报(社会科学版).1998.03.100-102
[9]郝刚.ASP.NET服务器控件开发技术与实例.北京:人民邮电出版社,2003
[10]王勇,张发勇,周顺平.CMM软件配置管理的理论与实践.计算机工程与应用,2004,40(23):102-104
[11]WSH.ADisciplineforsoftwareEngineering.Addison1995:97-142
[12]Highsmith,Jim.AgileProjectManagement.美国:PEARSON,2002
[13]TheSingleUNIXSpecification.Version2[OL].
http://www.opengroup.org/onlinepubs/007908799/xbd/re.html
[14]J.Hamilton,andT.Nayak.MicrosoftSQLServerFull-TextSearch[J].IEEEDataEngineeringBulletin,December,2001.
[15]DejanSunderic.SQLServe
上一篇:
ASP_net通用作业批改系统设计+论文(论文和程序)
下一篇:
试析影响公路路面平整度的因素及应采取的施工措施