的用户ID。得到的返回值需要做一下强制类型转换。
首先要从request中取出人员信息,在转化成Users类型,然后显示在页面中。在显示是否是管理员的项时比较人特别。如下所示:
<%=new
Byte(\
onClick=\
name=\
type=\
<%=new
Byte(\
onClick=\
只是在显示给用户的看的。在表单不接收isadminhelp的value,只接收isadmin的value。
4.2 技术难点
4.3.1 参数传递中的中文乱码问题
由于浏览器中的参数传递是按字节传送,因此英文和数字不会有任何的问题,而中文汉字则由两个字节组成。为了解决这个问题,使用了下面的两种方法:
①<%request.setCharacterEncoding(“gb2312”);%>
②request.getParameter(\4.3.2 图片处理
在SQL Server2000的数据库中可以存放任何格式的图片,但是要将其转换为二进制的数据存入数据库,在调用时再将二进制数据转换为图片,这样虽然便于管理,但是在当前国内的网速来看,这样的方法是在是不可取。因此本系统的图片均是存放的相对路径,将图片放在系统根目录下的image文件夹中,按类分好,然后将其相对路径存入数据库的对应列中,这样可以大大提高网页浏览的速度。 4.3.3 HQL语言
本系统中,所有对数据库的操作都由Hibernate来完成,因此用到了大量的HQL语言。HQL是Hibernate设计的一套完整而实用高效的查询语言,它通过面向对象的语句结构实现了和SQL语言类似的功能。如果向表里插入一条数据的话,直接调用save()方法即可,但如果要使用查询功能的话,我按照一般的SQL语句的方法:from 表名 where 条件,却
29
总是找不到预期的数据,后来看书中发现,from后跟的是表对应映射的类文件名,而非表名,比如招聘表为invite,它对应的类为Invite.java,所以在from后要根Invite而不是invite。 4.3.4 安全性
将项目发布到互联网上后,有些用户不是点击超链接打开网站的某个页面,而是在地址栏中直接写,而后进入,试图避开身份验证,处于对安全性的考虑,本项目在用户登陆后才能进入的页面中,加入了一行判断,如果用户非法进入,则看到的将是一片空白页。
5 系统测试
在完成了程序的编写工作后,接下来将进行软件的测试,这里说的软件,并不单单是指程序本身,还包括其他方面。测试和开发一样,也是一项技术性很强的工作,有着很多的技巧。软件测试是软件质量保证的主要活动之一,因此,测试的质量直接影响软件的质量。
依据前面所说的测试对象,我们把测试划分为几个方面来进行测试。
5.1 界面测试
界面测试是测试过程中比较简单直观的一种测试方法,只要细心地按界面要求核对就行了。可这快往往是程序开发人员容易忽视和遗漏的地方。也是常常出Bug的地方。下面是界面测试中经常出现的几种Bug:
错别字,即界面中的标题或者文本内容中出现了错别字。这种Bug如果测试人员不细心,和难找出来,可能会出现在提示信息或界面中。
出现了一些根本读不懂的内容,一般多出现在程序的提示信息和一些较长的文本中。这种情况基本上出现在拼起来显示的提示中,页面的简单陈述是通过变量拼组起来的,通过程序将字一个一个地输出出来。通常是因为程序中的控制错误或是程序开发人员对程序没有进行认真的自测,导致出现这种Bug。
程序员自创的词语,虽然意思对,但不符合界面的标准及需求。这种情况基本上是由于开发人员使用一些专业术语,并且混杂着自己的理解出现Bug,主要是由于开发过程中团队合作没又明确的分工,没有统一的规范用语。
页面类似的内容中,明显有字体,字号不同的情况,使界面整体风格看上去不一致,这种情况只出现在没有CSS定义的情况下,或是已经定义的CSS,开发人员在开发过程中没有调用。
标题相近的程序及模块,把标题弄混。这种情况多是因为业务方面的定义名称很相似或很类似,并且业务实体方面也很类似,开发人员在开发过程中忽略了开发名称和模块,只单独地实现其功能。
5.2 功能测试
顾名思义,功能测试主要是测试程序模块是否实现了设计中所有要求的功能。功能测
30
试中需要注意的有:
查询功能中,有按单一查询条件进行查询的,也有按多个查询条件组合查询的,这里要注意多个查询条件之间的关系,还有一些常识性的问题,比如按月查询,闰年中二月的天数。
录入功能中,需要注意的是前台设置的数值长度是否大于后台数值长度,以及前台与后台的数据结构是否相符,很多时候录入功能无法实现是由于这些原因。还有就是必须录入的字段的设置是否有误。
测试删除功能中需要注意的是单击”删除”按钮后,一般会出现提示信息,询问是否确定删除。通常情况下,我们单击”确认”按钮查看信息是否被删除掉了,而忽略了单击“取消”按钮后程序的反应,这时有可能的是没有删除,还有一种可能是即便单击了“取消”按钮,也一样删除了数据。另外,在删除多条记录的时候,要注意连续选中的几条记录是否真正都被删除了,即如果再按照这种查询方式查询,是否还能查询出来。有的时候需要在数据库中设一个标志位,而不是真正的物理删除。所以在下一次查询中,可能还会被查询出来,这主要是因为在查询条件中没有将标志位考虑在内。
关于修改功能的测试,主要是看修改确认后是否数据真正已被修改了。这是最基本的功能,需要注意的是看是否能把不应该修改的数据也修改成功了。
5.3 需求测试
针对需求测试,是测试中很重要的一个环节。因为需求是在软件设计,开发乃至软件测试中重要的依据。要针对需求测试,首先就要对项目的需求和业务有一定的了解。这些需求很多时候是在实现增、删、查、改这些基本功能之上,针对项目和相关业务所作的一些逻辑上的控制。这就要求程序员在设计和编码的时候要去充分理解考虑需求。
5.4 性能测试
性能测试在软件的质量保证中起着重要的作用。通常我们把性能指标全部归结到硬件,操作系统和开发环境上,而忽略了代码本身性能上的考虑。性能需求指标中,稳定性、并访支撑能力以及安全性都很重要。作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。
5.5 企业员工信息管理系统的测试
在完成编码的工作以后,根据以上的方法和步骤进行了如下的测试:
· 界面测试:在不开启Web服务器的情况下,反复点击网页上的超链接,测试其连接情况,直到所有的链接都达到预期的效果。
· 功能测试:对网站的几大功能模块逐一测试,尽最大可能发现起潜在的错误。 · 性能测试:将程序以局域网的形式发布,查看其是否满足多用户的要求。 · 需求测试:根据需求分析的内容,测试网站是否和当初的设计一样。
通过这几方面的测试,我及时修正了系统中存在的问题,很好的提高了系统的性能,达到了目标。
31
总结
本系统开发的技术难点主要有两个方面:一是否业务逻辑的理解;二是数据库逻辑结构的设计。业务逻辑是依据空警管理系统的行业特点及其特殊的应用领域需要来进行设计的。只有在准确不理解一个系统的业务逻辑之后才可能开发出适应其应用的应用系统来,并且在系统之间模块的科学划分与结构组织都是在正确不理解实际应用的业务逻辑需求的前提下完成的。
数据库设计是应用系统开发的另一个难点,只有科学的数据库设计才能使系统具有良好的结构及良好的可编程性、可扩展性。数据库设计是直接影响系统运行情况及程序设计的一个重要因素。因此,在开发相关数据库方面的管理系统时,都需要充分考虑到科学性,结构性,规范性,安全性,可扩展等相关问题。
本次毕业设计是我工作前一次很好的演练和实践的机会。是培养独立思考问题和自学能力的锻炼,使我意识到必须努力学习才能才工作中体现自己的价值,适应社会的需要。
32
参考文献
[1] 刘洋.精通Hibernate.北京:电子工业出版社.2005
[2] 张秋余,杨玥. 基于用例的需求建模方法[J]. 计算机工程与设计,2006.19:3539-3541 [3] 张桂元.贾燕枫.Eclipse开发入门与项目实践.北京:人民邮电出版.2006 [4] 张桂元.Struts开发入门与项目实践.北京:人民邮电出版社.2005 [5] 史济民.软件工程――原理、方法与应用.北京:高等教育出版社.2002
[6] Solid Quality Learning. Microsoft SQL Server 2005:Database Essentials Step by Step. Microsoft Press. 2007
[7] 陆荣幸,郁洲. J2EE平台上MVC设计模式的研究与实现[J]. 计算机应用研究,2003,03:144-146. [8] MattheMacDonal.管理信息系统[J].电子工业出版社.2003. 3-8:102-108. [9] 孙卫琴.精通Hibernate:Java对象持久化技术详解.北京:电子工业出版社.2005
[10] Java Open Source Programming.Joe Walnes,Ara Abrahamian,Mike Cannon-Brookes,Pat Lightbody.Indianapolis,Indiana:Wiley Publishing,Inc.2004.
[11] 何成万,余秋惠. MVC模型2及软件框架Struts的研究[J].计算机工程,2002,06:274-276. [12] Gerald Post. Albert Kagan. Database management system:design consideration and attribute.2003
[13] John B.Miner.Donald P.Crane. Human Resource Management.Harper Collins College Publishers. 1995
[14] 李小喆,张晓辉,李祥胜.SQLServer 2000管理及应用系统开发[M].北京:人民邮电出版社.2002
33
致谢
在此论文完成之际,我衷心的感谢我的导师詹恩奇老师,感谢他对我的悉心指导。詹老师严谨的治学精神,忘我的工作热情,丰富的实践经验,高尚的品德和渊博的知识使我受益颇深。我不仅在学习能力,科研能力上取得很大的进步,而且学到了许多为人处世的道理。在论文写作过程中,从资料收集,开题报告,撰写初稿到修改定稿,詹老师从多个方面悉心指导,我才能顺利完成这篇论文。在学习和生活中,恩师所给予的至真至诚的关怀和谆谆教导,我将终生铭记,并将恩师作为今后工作和学习中的楷模,努力工作,以更加出色的成绩回报恩师。
感谢参加论文评审的各位专家,他们为本文提出了很有价值的意见和建议。同时还要感谢信息系的领导和老师们多年来对我的培养和支持,是他们为我提供了良好的学习环境和机会。
感谢我的父亲、母亲,正是他们这么多年以来的关心,鼓励和支持,才使得我可以走到今天,而且有勇气和信心继续努力下去。
34