北软教育网络培训java培训班学生作品网上交友系统2.docx
- 文档编号:18508384
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:43
- 大小:567.18KB
北软教育网络培训java培训班学生作品网上交友系统2.docx
《北软教育网络培训java培训班学生作品网上交友系统2.docx》由会员分享,可在线阅读,更多相关《北软教育网络培训java培训班学生作品网上交友系统2.docx(43页珍藏版)》请在冰点文库上搜索。
北软教育网络培训java培训班学生作品网上交友系统2
案卷号
日期
<辣不辣网上交友系统>
详细设计说明书
作者:
第二小组李春雷
完成日期:
2010年7月23日
签收人:
签收日期:
修改情况记录:
版本号
修改批准人
修改人
安装日期
签收人
北软教育java培训班学生作品
版权所有:
北软教育
www.softedu.org
目录
1引言1
1.1编写目的1
1.2背景1
1.3定义1
1.4参考资料1
2程序系统的结构1
3程序设计说明2
3.1用户模块设计说明3
3.1.1注册模块3
3.1.1.1程序描述3
3.1.1.2功能3
3.1.1.3输入项4
3.1.1.4输出项4
3.1.1.5算法4
3.1.1.6流程逻辑4
3.1.1.7测试计划4
3.1.2登录模块4
3.1.2.1程序描述5
3.1.2.2功能5
3.1.2.3输入项5
3.1.2.4输出项5
3.1.2.5算法5
3.1.2.6性能6
3.1.2.7注释设计6
3.1.2.8测试计划6
3.1.3图片编辑模块6
3.1.3.1程序描述7
3.1.3.2功能7
3.1.3.3输入项8
3.1.3.4输出项9
3.1.3.5算法9
3.1.3.6接口11
3.1.3.7测试计划14
3.1.4用户搜索模块15
3.1.4.1程序描述15
3.1.4.2功能15
3.1.4.3输入项15
3.1.4.4输出项15
3.1.4.5算法16
3.1.4.6流程逻辑16
3.1.5个人信息管理模块16
3.1.5.1程序描述16
3.1.5.2接口16
3.1.5.3算法16
3.1.5.4输入项16
3.1.5.5输出项17
3.1.5.6程序逻辑17
3.1.5.7流程逻辑17
3.1.5.8限制条件18
3.1.5.9测试计划18
3.1.6用户约会模块18
3.1.6.1程序描述18
3.1.6.2功能18
3.1.6.3输入项19
3.1.6.4输出项19
3.1.6.5算法19
3.1.6.6流程逻辑19
3.1.6.7接口19
3.1.6.8存储分配19
3.1.6.9限制条件19
3.1.6评论模块19
3.1.6.1程序描述19
3.1.6.2功能19
3.1.6.3输入项20
3.1.6.4输出项20
3.1.6.5算法20
3.1.6.6流程逻辑20
3.1.6.7限制条件21
3.2管理员模块设计说明21
3.2.1用户信息管理模块21
3.2.1.1程序描述21
3.2.1.2功能21
3.2.1.3输入项22
3.2.1.4输出项22
3.2.1.5算法22
3.2.2网站盈利统计模块23
3.2.2.1程序描述23
3.2.2.2功能23
3.2.2.3输入项24
3.2.2.4输出项24
3.2.2.5流程逻辑24
3.2.2.6接口25
3.2.2.7限制条件25
3.2.2.8测试计划25
3.2.3用户反馈模块25
3.2.3.1程序描述26
3.2.3.2功能26
3.2.3.3输入项26
3.2.3.4输出项26
3.2.3.5流程逻辑26
3.2.3.6接口26
3.2.3.7测试计划27
3.2.4统计用户消费模块27
3.2.4.1程序描述27
3.2.4.2功能27
3.2.4.3输入项28
3.2.4.4输出项28
3.2.4.5算法28
3.2.4.6尚未解决的问题28
3.2.5网站来访统计模块28
3.2.5.1程序描述28
3.2.5.2功能29
3.2.5.3输入项29
3.2.5.4输出项29
3.2.5.5算法29
1引言
1.1编写目的
本项目的目的是通过担当中介角色的方式撮合一对对彼此都觉得对方很辣的陌生人,我们这个网站不需要填写或阅读很长的资料。
在我们这个网站人们会仿佛置身真实的世界。
游戏般为照片快速打分,通过查看分值知道自己的眼光是否是主流是否与主流意见相符。
本项目致力于让每一个人从一瞥中得到消遣,仅这一点我们相信这已经有足够的动力让人们在朋友间相互转告。
1.2背景
项目名称:
辣不辣交友网
项目提出者:
东北大学软件学院北软实训第二小组
开发者:
项目组长:
李春雷
组员:
王林林、王刚、周林、连大赢、宋健、张博文、冯亮
项目使用者:
所有互联网用户
1.3定义
Lon
辣不辣网
USECASE
用例
网站vip
那些注册了辣不辣网并申请成为VIP的用户
游客
未注册或者未登录辣不辣网的
管理员
管理网站后台,统计记录网站信息,管理用户信息的人员
站内信
登录的VIP用户给另一个用户发送的网上信件
活动图
一种用来表示用户业务功能活动顺序的UML图示
序列图
用来表示用户在一种业务活动中,各个对象之间交互关系和交互顺序的UML图示
在该概要设计说明书中的专门术语有:
总体设计接口设计数据结构设计运行设计出错设计
1.4参考资料
GB8566-88—计算机软件开发规范
GB8567-88—计算机软件产品开发文件编制指南
GB/T11457—软件工程术语
2程序系统的结构
本程序主要采用MVC三层结构,如下所示:
业务逻辑层(CONTROL)
数据访问层(MODEL)
用户层(VIEW)
图1系统结构示意图
系统的主要流程图如下:
系统的总体处理数据流程如下图
图2-1.为用户的基本处理流程
分析用户访问来源
统计用户信息
向申请短信模块的用户发送短信
查看网站的来访信息
统计网站的盈利信息
查看用户信息
冻结用户
管理员
图2-1.为管理员的基本处理流程
3程序设计说明
3.1用户模块设计
该模块主要包含:
用户的注册、登录、图片编程、用户的搜索功能和用户对图片的评分,以及用户对自己信息管理等功能。
3.1.1注册模块
3.1.1.1程序描述
游客在注册界面上(regist.jsp)输入用户名、密码、邮箱、真实姓名、注册地址、性别、生日、个人描述、关键字描述,并上传头像之后,完成注册,成为网站一位会员。
VIP注册(VIPregist):
普通用户在注册VIP界面上(vipregist.jsp)选择付款业务,并通过支付宝缴纳一定费用之后,成为VIP用户,可以对网站内中意的人发起约会。
3.1.1.2功能
支付宝付款
注册成功
注册
输入注册信息
注册成为VIP用户
3.1.1.3输入项
用户名(userName):
文本框,只能是字母和数字,并且长度在6~20之间
密码(password):
文本框,只能是字母和数字,并且长度在6~20之间
确认密码(confirm):
文本框,只能是字母和数字,长度在6~20之间,并且与密码相同
邮箱(email):
文本框,符合Email标准
真实姓名(realName):
文本框,只能是汉字或者字母,长度在4~20之间
注册地址(location):
文本框,系统自动填写
性别(gender):
单选框,分为男女
生日(birthday):
文本框,按照年月日,以-分隔
个人描述(introduction):
文本框,汉字、字母、标点,长度在200个字以内
关键字描述(keyWord):
文本框,汉字、字母、标点,长度在50个单词以内
上传头像(portrait):
文本框+触发单击按钮事件,引用地址。
触发单击按钮事件
VIP注册:
点击选择支付业务()
触发单击按钮事件
3.1.1.4输出项
提示注册成功,并返回到首页;失败则在本页面提示错误信息,要求重新输入
VIP注册:
提示VIP注册成功,并返回到首页
3.1.1.5算法
1)用户名的校验if(user.getUserName().length()<6||user.getUserName().length()>20)
msg="用户名长度要在6到20之间";
if(user.getUserName().length()>0){
if(userdao.getByUserName(user.getUserName())!
=null)
msg="用户名已被使用";
}
2)验证码校验
Stringrand=(String)ActionContext.getContext().getSession().get("rand");
if(!
verifycode.equals(rand)){
msg="验证码输入错误";
}
3)注册后返回注册用户的IDreturnusers.get(0).getId();
3.1.1.6流程逻辑
用例图
流程图
3.1.1.7测试计划
1.技术要求:
能够使用浏览器;能够打字;
2.用户输入合理信息可以注册,用户名不能重复,否则提示重新输入,验证码输入必须正确。
3.进度安排:
完成功能后进行测试。
4.人员职责:
测试人—张博文
5.设备条件:
windows系统,IE浏览器
3.1.2登录模块
3.1.2.1程序描述
用户在登录界面上(login.jsp)输入有效的账号密码之后,完成登录。
忘记密码(forgetpassword):
用户在登录界面上(login.jsp)点击忘记密码按钮,将弹出一个对话框,要求输入用户邮箱,完成后,系统将该邮箱对应的用户名和密码返回到邮箱中。
3.1.2.2程序功能
发送密码到邮箱
输入邮箱名
忘记密码
输入账号密码
登录成功
登录
3.1.2.3输入项
用户名(userName):
文本框,只能是字母和数字,并且长度在6~20之间
密码(password):
文本框,只能是字母和数字,并且长度在6~20之间
触发单击按钮事件
忘记密码:
邮箱名(Email):
文本框,符合Email标准。
触发单击按钮事件
3.1.2.4输出项
成功后返回首页;失败则在登陆页面提示错误信息,并要求重新登陆
忘记密码:
相应邮箱中输出用户名和密码;数据库中没有相应的邮箱,或者邮箱不存在,则提示。
3.1.2.5算法
1)页面上通过 textfieldname="user.userName"key="用户名">
textfield>
passwordname="user.password"label="密码">
password>获得用户输入的用户名和密码
3)在UserDAO.java中建立login()方法,用来检验用户名和密码是否存在和匹配。
核心代码为:
hql="fromUserasuserwhereuser.userName=?
anduser.password=?
";
方法名为:
publicStringlogin(){}
4)在UserDAO.java中建立updateOnline()方法,在确定用户登陆成功后将用户状态改为在线,方法名为:
publicvoidupdateOnline(Useruser){}
5)在UserDAO.java中建立checkIsFrozen()方法,检查该用户是否被冻结,如果冻结了,则不能登陆,方法名为:
publicintcheckIsFrozen(Useruser){}
6)在UserAction.java中建立方法login(),调用UserDAO中的login()方法完成登录,方法名为:
publicStringlogin(){}
7)在登录页面(login.jsp)通过插件验证输入是否符合规范
验证符合规范,则将表单内容提交到UserAction中,调用login()方法。
验证不符合规范,则提示不符合规范,要求用户重新填写。
忘记密码:
1)创建查找过程,核心语句:
hql="fromUserasuserwhereuser.email=?
"
Queryquery=session.createQuery(hql);
query.setString(0,email);
3.1.2.6性能
这是一个每次都必须使用的模块,要求在2~3秒钟完成。
忘记密码:
这是一个不经常使用的模块,要求当用户提交完邮箱地址以后,在5分钟之内作出回应。
3.1.2.7注释设计
1)UserDAO.java
/**
*周林--用户登陆
*@paramuserName
*@parampassword
*@return
*/
/**
*周林--登陆成功后将用户的在线状态设为“true”
*@paramuser
*/
/**
*周林--检查该用户是否已经被冻结
*@paramuser
*@return
*/
/**
*周林--用户忘记账号密码时通过输入邮箱地址获取用户的账号密码
*@paramemail
*@return
*/
2)UserAction.java
/**
*周林--用户登陆
*@return
*@throwsException
*/
/**
*周林--根据用户邮箱找到相应密码
*@return
*/
3)User.java
privateintid;//用户ID
privateStringuserName;//用户名
privateStringpassword;//密码
privateStringemail;//邮箱
privateDatebirthday;//生日
privateStringgender;//性别
privateStringrealName;//真实姓名
privateStringlocation;//位置
privateStringintroduction;//自我介绍
privateStringkeyWord;//关键词
privateStringonline;//是否在线(true/false)
privateintaccessTime;//被访问次数
privateintverification;//是否已邮箱验证
privateintstate;//是否是vip
privateintfrozen;//冻结状态(0不冻结,1冻结)
privateSet
privatePortraitportrait;//用户头像
privateSet
privateSet
privateSet
4)login.xml
--周林-登陆功能-->
3.1.2.8测试计划
一.登录
1.技术要求:
能够使用浏览器;能够打字;
2.用户zlzlzl,密码为zlzlzl,未被冻结;用户lcl,密码lcl,被冻结
输入
预期输出
用户名
密码
1
zl
zl
用户名和密码只能是字母和数字,长度在6~20之间
2
zlzlzl
zl
用户名或密码不正确
3
zl
zlzlzl
用户名或密码不正确
4
zlzlzl
zlzlzl
成功登录到首页
5
lcl
lcl
该用户已经被冻结
3.进度安排:
完成功能后进行测试。
4.人员职责:
测试人—周林
5.设备条件:
windows系统,IE浏览器
二、忘记密码
1.技术要求:
能够使用浏览器;能够使用邮箱;能够打字;
2.用户zlzlzl有邮箱zhoulin381558133@;用户lcl邮箱未激活。
输入
预期输出
1
Zhoulin381558133@
该邮箱中受到系统信件,内容是用户名zlzlzl和密码zlzlzl
2
zhoulin@
提示邮箱不存在或输入有误
3
lcl@
该邮箱未激活
3.进度安排:
完成功能后进行测试。
4.人员职责:
测试人—周林
5.设备条件:
windows系统,IE浏览器
3.1.3图片编辑模块
3.1.3.1程序描述
图片基本信息及用户详情管理有查询,显示:
1、查询:
查询用户头像的信息,获得总评分与总评价次数,查询用户基本信息
2、显示:
执行显示功能。
3.1.3.2接口
1、模块获得前台页面产生的host对象,通过其查找对应的用户信息及头像信息。
2、模块输出信息到页面
3、入口:
用户点击首页头像;出口:
页面跳转,显示相应信息。
3.1.3.3流程逻辑
用户点击首页中的头像,页面跳转到头像对应用户主页,显示用户信息。
3.1.3.4算法
查询:
通过hibernate创建查询语句,根据用户ID查询用户基本信息,获得其头像信息。
显示:
传递对象信息到前台页面。
3.1.3.5程序逻辑
前台页面产生hostId,传给页面action,action调用dao中方法,得到对应host的详细信息以及头像信息,算出平均辣度,再由action将其传递到前台页面进行显示。
3.1.3.6限制条件
游客进入用户主页后不能约会用户,必须先登录。
3.1.3.7测试计划
在数据库中插入几组数据,工程内存入几张对应图片,启动工程,分别用游客身份及注册用户身份查看用户主页,测试限制条件是否实现。
3.1.4用户搜索模块
3.1.4.1程序描述
该功能模块是对本网站的一些图像信息的查询,为系统的其他模块调用做好铺垫。
3.1.4.2功能
根据需求分析和详细设计中的对该功能的总的流程图如下:
3.1.4.3输入项
简单查询
性别(gender):
下拉列表中选择
年龄段(ageSegment):
下拉列表中选择
组合查询
性别(gender):
下拉列表中选择
年龄段:
下拉列表中选择得到(minAge、maxAge)
地址(location):
输入框
评分
评分(score):
单选按钮分置段(1-10)
3.1.4.4输出项
简单查询
找到符合的对象,从中随机显示一张
组合查询
将所有符合的对象分页显示出来
评分
将刚才评分的图像的平均分显示出来,并显示下一张图像
3.1.4.5算法
本功能主要查询符合的对象,并给其评分
1.进入首页时,默认查询性格为女,年龄在18-25之间的,然后随机显示一张,并随机取得四个对象初始化nextUp容器。
具体用到了查询数据库时限定查询条数
2.当评论图像分数时,将其分数加入到总的分数中,并将评分次数加一,求平均分时两数相除即可得到。
3.1.4.6流程逻辑
1、简单查询时,选择下列框中的选项,提交表单
2、找到符合的对象,并随机放回一个显示其图像
3、对图像进行评分,点击某一分数单选按钮,提交表单
4显示评分的图片将其显示,并显示下一张图像,继续评分
3.1.5个人信息管理模块
3.1.5.1程序描述
该功能模块主要是管理系统中所用到的一些个人信息:
查看个人信息,修改个人信息,注销个人账号。
注册用户可以查看自己的基本信息和别人对自己的评论,别人对自己的访问量,以及本人图片的辣度,消费记录。
可以修改个人的基本信息和头像。
3.1.5.2接口
1、查看个人信息:
入口:
用户点击主页中查看个人信息的链接;出口:
页面跳转,显示相应信息。
2、修改个人信息:
入口:
用户输入要修改的信息;出口:
刷新页面,显示更新后信息。
3、注销账号:
入口:
用户点击主页中注销账号的链接;出口:
将该账户相关信息从数据库删除,显示注销成功。
该功能点的大致处理流程图如下:
3.1.5.3算法
查询:
通过hibernate创建查询语句,根据用户ID查询用户基本信息,获得其头像信息、相册信息;
修改:
通过hibernate创建修改语句,根据用户ID修改用户基本信息,修改头像、相册;
注销:
通过hibernate创建删除语句,删除用户ID相关信息;
3.1.5.4输入项
修改信息时用户输入要修改的信息内容,分别有个人基本信息,自我介绍,以及关键字。
3.1.5.5输出项
修改后的用户信息
3.1.5.6程序逻辑
查询:
用户主页传递hostId给action,调用dao中的查询方法,传递用户对象给前台页面进行显示。
修改:
主页传递要修改的用户对象以及修改的值给action,调用dao中的修改方法对数据库进行操作,成功后返回查询对象给前台页面进行显示。
注销:
主页传递hostId给action,调用dao中删除方法,删除数据库中相关数据,返回是否成功给前台页面进行显示。
3.1.5.7流程逻辑
查询与修改:
用户点击主页中的个人信息链接,页面跳转到用户信息页面,显示用户详细信息,用户可直接对信息进行修改并提交,修改成功后页面自动刷新,显示修改成功后用户基本信息。
注销:
用户点击主页中注销账号的链接,页面跳出警告对话框,用户确定注销后对数据库操作,成功后返回前台页面传递给用户已成功信息。
3.1.5.8限制条件
用户修改信息有字数限制,以及类型限制,输入非法则不成功。
3.1.5.8测试计划
注册用户登录,查询个人信息,并进行修改,测试字数不足及超过限制,并进行输入格式测试,注销账号,查看数据库中相关数据是否已彻底删除。
3.1.6用户约会模块
3.1.6.1程序描述
注册用户申请成为VIP后,可以向自己心仪的对象提交约会申请。
提交申请后,如果约会对象同意了约会申请双方就可以进行进一步的沟通。
约会类图如下
功能流程图如下
3.1.6.2输入项
用户需要输入约会主题,约会理由,被约会人的人的名字,然后发送请求,等待被约会人的响应。
3.1.6.3输出项
申请的结果,申请被接受、被拒绝或被申请人还未响应
3.1.6.4算法
1.向前台返回数据时把约会对象保存到InvatationSet中,然后以迭代的形式输出。
2.后台model实现采用hiberna
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教育 网络 培训 java 培训班 学生 作品 网上 交友 系统