4.3.2 数据库设计表
学生会管理信息系统需要后台数据库,下面介绍数据库中的各个表的详细信息:
数据库名:xsh
表名:admin·
表名:hd
表名:member
表名:xw
五、系统详细实现
5.1 系统登陆模块
调试成功后会自动跳转到首页界面,在这个界面里可以看到用户中心,用户中心可以实现用户的登陆,没有登陆只能进行各种信息的浏览,不能操作,登陆的进修可以看到需要输入账号和密码,没有账号和密码的可以进行注册。
5.2 系统首页实现
系统的首页是给人的第一印象,本系统采用了上下两部分的展示效果,上面是各个功能的展示,下面是功能的相对应信息内容,可以看到主要的功能有活动信息,人员信息,信息查询,活动查询,用户中心等。
5.3 密码管理模块的实现
用户可以对自己的登陆密码进行修改,可以防止密码的泄露,修改的时候需要注意的是旧密码的输入,具体的效果如下图所示:
5.4 用户信息管理模块
这个功能是对用户的个人信息进行修改,可以看到用户的详细信息,包括名字和登陆账号的信息,具体效果如下图5-4所示:
5.5 活动信息管理模块实现
活动信息管理功能是本系统的主要功能,可以实现对活动信息的添加和删除修改,并且可以对活动信息进行查询,实际的设计效果界面如图5-5所示:
5.6公共信息管理功能实现
可以对公共信息进行添加和管理,并且可以进行公共信息进行查询,具体的实现界面如图5-6所示:
5.7 个人后台功能设计
个人后台包括活动信息的添加和查询管理,并且可以修改自己的信息和对密码进行修改,界面如图5-7所示:
5.8 关键代码
5.8.1 登录注册代码
<table width="100%" border="0" align="center" cellpadding="4" cellspacing="0" class="rtable"> <tbody> <tr class="tr1"> <td class="rldatee daslist"></td> <td class="rltitle daslist"> 注册用户登录</td> </tr> <tr class="tr1"> <td class="rldatee daslist">登录帐号:</td><input type=hidden name=method value="mlogin"/><input type=hidden name=sf value="注册用户"/> <td class="rltitle dotlist"><input type="text" size="30" name="username" required /></td> </tr> <tr class="tr1"> <td class="rldatee daslist">登录密码:</td> <td class="rltitle dotlist"><input type="password" size="30" name="password" required /></td> </tr> <tr class="tr1"> <td class="rldatee daslist"></td> <td class="rltitle daslist"><input type="submit" value="用户登录" style="width:80px;" /> <input type="button" value="用户注册" style="width:80px;" onclick="reg()"/> <input type="button" value="找回密码" style="width:80px;" onclick="lost()"/></td> </tr> <tr class="tr1"> <td class="rldatee daslist"></td> <td class="rltitle daslist"> </td> </tr>
5.8.2 活动信息代码
<div class="cmain"> <div class="rmain"> <div class="rdetail"> <div class="rdtitle"><span><%=list.get(1).toString() %></span></div> <div class="rdmark"> 场地:<%=list.get(2).toString() %> 预算:<%=list.get(3).toString() %> 时间:<%=list.get(4).toString() %> 发布用户:<%=list.get(6).toString() %> 发布时间:<%=list.get(7).toString() %> </div> <div class="rcontent"><%=list.get(5).toString() %></div> <div class="rdmark"></div>
5.8.3 活动信息查询代码
<table width="100%" border="0" align="center" cellpadding="4" cellspacing="0" class="rtable"> <tbody> <tr class="tr1"> <td class="rldatee daslist"></td> <td class="rltitle daslist"> </td> </tr> <tr class="tr1"> <td class="rldatee daslist">活动名称:</td> <td class="rltitle dotlist"><input type="text" size="30" name="word" required /></td> </tr> <tr class="tr1"> <td class="rldatee daslist"></td> <td class="rltitle daslist"><input type="submit" value="查询" style="width:80px;" /></td> </tr> <tr class="tr1"> <td class="rldatee daslist"></td> <td class="rltitle daslist"> </td> </tr> </tbody>
5.8.4 活动信息发布代码
<div class="main"> <div class="narea"><div> <img height="150" src="<%=basePath%>images/zgm.jpg" width="1020"> </div></div> <div class="cmain"> <div class="rmain"> <div class="rdetail"> <div class="rdtitle"><span><%=list.get(1).toString() %></span></div> <div class="rdmark"> 发布时间:<%=list.get(3).toString() %> </div> <div class="rcontent"><%=list.get(2).toString() %></div> <div class="rdmark"></div> 5.8.5用户密码找回代码 <table width="100%" border="0" align="center" cellpadding="4" cellspacing="0" class="rtable"> <tbody> <tr class="tr1"> <td class="rldatee daslist"></td> <td class="rltitle daslist"> 找回密码</td> </tr> <tr class="tr1"> <td class="rldatee daslist">登录帐号:</td> <td class="rltitle dotlist"><input type="text" size="30" name="username" required /></td> </tr> <tr class="tr1"> <td class="rldatee daslist">密保邮箱:</td> <td class="rltitle dotlist"><input type="email" size="30" name="email" required /></td> </tr> <tr class="tr1"> <td class="rldatee daslist"></td> <td class="rltitle daslist"><input type="submit" value="确定提交" style="width:80px;"/> <input type="button" value="返回登录" style="width:80px;" onclick="login()"/></td> </tr> </tbody> </table>
六、系统测试
6.1 概念和意义
测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为:
- 目的:发现程序的错误;
- 任务:通过在计算机上执行程序,暴露程序中潜在的错误。
另一个预测是相关的术语叫纠错(Debugging)。它的目的与任务可以规定为:
- 目的:定位和纠正错误;
- 任务:消除软件故障,保证程序的可靠运行。测试与纠错的关系,可以用图6-1的数据流图来说明。图中表明,每一次测试都要准备好若干必要的测试数据,与被测试程序一道送入计算机执行。通常把一次程序执行需要的测试数据,称为一个“测试用例(Test Case)。每一个测试用例产生一个相应的“测试结果”。如果它与“期望结果”不想符合,便说明程序中存在错误,需要用纠错来改正
6.2 特性
挑剔性
测试是为了证明程序有错,而不是证明程序无错。因此,对于被测程序就是要“纯毛求疵”,就是要“鸡蛋里挑骨头”。
复杂性
测试仪程序则比较容易,这其实是一个误区。设计测试用力是一项需要细致和高度技巧的高能工作,稍有不慎就会顾此失彼,发生不应用得数楼。
不彻底性
实际测试都是不彻底的,当然不能够保证测试后的程序不存在遗漏的错误。
经济性
通场这种测试称为“选择测试(Selective Testing)”。为了降低测试成本,选择测试用力是应注意遵守“经济性”的原则。
6.3 重要性
软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。
6.4 测试方法
首先我们来说界面测试,界面测试是为了使程序在不同的的操作平台上能够运行界面,并且能够保持原来的风格。我把完整程序拷贝到Windows 7环境下,似的程序运行正常,运行界面上的字体图片等设置都能够保持得非常好。不出现字体变形等情况!
其次进行功能测试。该系统测试采用的是单元测试,集成测试,完善性测试等多种方式进行测试。
经过测试,所有功能都能得以实现,没有任何变形。至此,在功能的测试上也已经比较圆满的完成了。
由于经验不足,写代码时出现了一些考虑不周的系统缺陷,写代码的时候会出现与设想不一致,比如说代码不规范导致接口与接口之间出现问题,功能与客户的要求不符合,这样导致产品不能过关,无法交付。所以产品在上线前必须反复测试,经过反复测试,修改,再测试,再修改,产品才能够不断完善。在整个系统测试中,根据需求文档和设计文档,逐一对功能进行检测并写好测试用例,有效避免残片缺陷,因为产品出现缺陷不仅影响功能,而且可以导致数据的不准确,导致产品质量的降低,经过测试,才能使得产品的稳定性和成熟度得到极大的提升,产品质量也才有保证。
6.5 功能测试
功能测试主要包括五项内容:适用性、准确性、可操作性、依从性、安全性。
本系统功能测试如表6.1所示:
6.6 可用性测试
可用性测试用于检测系统的可操作性、可理解性、可学习性等方面内容。具体测试方面如表6.2所示。
6.7 性能测试
性能测试主要通过模拟系统运行环境,测试系统性能是否符合客户需求。性能测试的重要技术指标就是:系统运行速度、网络响应时间和支持并发节点数。
- 系统运行速度:通过在不同计算机上试运行本系统,没有发现有任何迟滞、停顿现象
- 网络响应时间:网络响应时间主要包括网络最小响应时间、平均响应时间、最大响应时间三个参数。经过测试,在网络运营良好状态下,NBA局域网内响应时间三参数为:1/2/6s,NBA外网响应时间三参数为3/7/12s,符合客户需求,属于用户心理可承受范围
- 支持并发节点数:经过模拟环境测试,本系统在并发节点达46个时,网络运营速度会发生较大波动,延迟时间10秒左右,符合客户需求
6.8 测试分析
本网站设计时借鉴了国内外优秀网站的优点,从界面到系统设计都保证了用户能够方便操作。系统的主要特点和优点归纳如下:
- 本系统用的移置性和针对性都比较高,因为针对性高可以提供更好的服务而移置性可以在多个系统上运行,更给客户带来了极大的方便
- 该完整内容全面,管理方便可以及时的全面的处理各种错误,异常,这样避免了很多因用户的马虎操作而出现的失误,其操作方便,用户界面友好,能够上网的人都可以很好的进行操作