//登陆验证
list list=new arraylist();
integer page=nt(ameter("page"));
ribute("", "1");
integer pagenumber=(integer)ribute("mber");
integer perpagenumber=(integer)ribute("enumber");
//从session中取出分页信息
if(pagenumber!=0){
if(page<1||page>pagenumber){
return rward("");
}
//验证当前页是否非法,若是,返回首页
string sql=(string)ribute("");
if(sql!=null){
sql+=" limit "+((page-1)*perpagenumber+1)+","+perpagenumber;
}
//拼接sql语句得到显示当前页的sql
list=new userdao().finduser(sql);
}
else{
if(page!=1){
return rward("");
}
}
if(list!=null||()>0){
ribute("list", list);
return rward("");
}else{
return rward("");
}
//若list长度大于0则分发至显示页面,否则生成错误信息返回
}
}
5 系统测试
系统在投入使用之前必须进行严格的测试,测试的内容包括功能测试、性能测试、可用性测试、客户端兼容性测试、安全测试等。测试完成后要上交测试报告,我们可以根据测试报告及时发现问题并提出解决方案,便于系统的维护与升级。
迄今为止,软件质量仍然主要靠软件测试来验证和确认,而且由于测试工作特别耗费资源,在软件开发的总成本中,用在测试上的开销要占30%到50%。在极端的情况下,例如在关系到人的生命安全的软件中(如飞机控制或核反应监控等软件),测试费用可能相当软件生存周期所有其它阶段费用总和的三到五倍。此外,据美国工业界的统计,对商品化的程序来说,测试在时间和费用两方面的花费都要占整个软件开发周期总开销的50%左右。
但软件测试并不是质量保证的“安全网”。因此,我们应该从两个方面来保证和提高软件质量:首先,应尽量在开发期间减少错误,通过软件过程来建立软件质量;次之,应通过分析和测试来发现和修复软件产品中残存的错误。
经过初步测试,系统在服务器上运行正常,对于不同显示分辨率下网页也能够正常显示而且网页的链接正确。系统各个基本功能都能顺利实现,没有发现重大系统错误。但是由于时间短促和设计者能力有限,在日志和新闻显示中效果不是很理想,另外页面美工效果一般。各个功能的可扩展性,如能在日志添加相册功能,在公开文章中加入留言功能等,还有待进一步实现。
附录一:
1 表单设计
表单要素说明
表单要素名称
表单要素性质
用户名
username
文本框(必填项)
密码
password
文本框(密码域、必填项)
确认密码
passconfirm
文本框(密码域、必填项)
真实姓名
realname
文本框
出生年月
year,month,day
下拉菜单
性别
sex
下拉菜单
联系方式
telnumber
文本框
email地址
文本框
提交按钮
submit2
按钮(类型为submit)
重置按钮
reset2
按钮(类型为reset)
2 用户数据表结构
(1)用户表
表2 users 数据表结构
字段名
字段类型
字段含义
主外键约束
username
varchar
用户名
主键
userpass
varchar
密码
sex
char
性别
realname
varchar
真实姓名
borntime
varchar
出生年月
status
char
审批状态
telnumber
varchar
联系方式
varchar
邮箱地址
introduce
text
自我介绍
(2)管理员表:
表3 admin 数据表结构
字段名
字段类型
字段含义
主外键约束
admin_name
varchar
用户名
主键
admin_pass
varchar
密码
(3)日志表:
表4 diary 数据表结构
字段名
字段类型
字段含义
主外键约束
diaryid
integer
id,自动编号
主键
title
varchar
标题
kindid
integer
所属类别
外键关联表kind
username
varchar
发布人
外键关联users
content
text
内容
createtime
datetime
创建时间
updatetime
datetime
更新时间
status
char
状态
isopen
char
是否公开
(4)公告表:
表5 gonggao 数据表结构
字段名
字段类型
字段含义
主外键约束
id
integer
id,自动编号
主键
title
varchar
标题
content
text
内容
updatetime
datetime
更新时间
(5)日志类别表:
表6 kind 数据表结构
字段名
字段类型
字段含义
主外键约束
kindid
integer
id,自动编号
主键
kindname
varchar
类别名称
username
varchar
创建人
外键关联users
(6)新闻表:
表7 news 数据表结构
字段名
字段类型
字段含义
主外键约束
newsid
int
id,自动编号
主键
title
varchar
标题
content
text
内容
createtime
datetime
更新时间
address
datetime
转载地址
附录二:文件
<?xml version="1.0" encoding="utf-8"?>