软件工程综合实务书
2011 —2012 学年第 学期
系 专业 班级
课程设计名称: 软件工程综合实(校实组)
设计题目: 博客理系统
完成期限: 2011 年 12月 19 日 2012 年 1月 13 日 4 周
设计求容(加附页):
设计
[1]软件工程综合实务书
[2]软件工程综合实纲
二设计求
程序设计综合实容运面象程序设计数库技术等完成实践性较强综合性程序设计课题
1 根题目求划分模块完成相应功
2 户界面友
3 功模块设计合理
4 程序测试求全部合法数整体非法数局部非法数进行程序测试保证程序稳定
5 综合实结束交程序设计综合实报告
三容
系统简单型博客理系统实现户注册登录文章发表修改性化设置传相册查点击量统计评等基功
四参考资料
[1] 精通Java EE Eclipse Struts2 Hibernate Spring整合应案例 叶健毅编著
[2] 基Struts2+Hibernate+Spring实开发指南 高洪岩编著
[3] 精通Java EE项目案例 基Eclipse Spring Struts Hibernate 刘丽编著
指导教师(签字):_______________
教研室(签字):_______________
批准日期: 2011年 12月 19 日
目 录
需求分析 1
11 项目背景 1
12 功需求 1
13 例模型 1
14 功描述 2
141 户注册 2
142 性设置 2
143 文章发表 2
144 图片传 2
145 文章理 2
15 数流图 2
二总体设计 4
21 模块划分 4
22 系统结构图 5
三数库设计 6
31 实体关系图 6
32 数表结构 7
四详细设计 8
41 模块设计说明 8
42 模块界面样式 10
五系统实现 14
51 运行环境 14
52 部分代码 14
六系统测试 18
61 测试方法 18
62 测试环境 18
63 测试例 18
64 测试截图 19
七总结 20
八参考资料 21
需求分析
11 项目背景
系统博客理系统互联网普越越喜欢网发表文章分享片出现Blog种形式互联网娱乐方式系统功户提供空间方便户博客中发表文章传图片等
12 功需求
系统户提供功:
a户注册
b性设置
c文章发表
d图片传
e文章理
13 例模型
14 功描述
141 户注册
新户系统中开通账户提供注册方式户注册系统中功
142 性设置
户设置博客中标题文字性签名等信息
143 文章发表
户文章发布模块中写入文章选择样式发布博客系中
144 图片传
户提供片传片接口户选择图片文件进行传显示博客中
145 文章理
户理已发布文章选择排序者进行删
15 数流图
图1 顶层数流图
图2 DFD0
图3 DFD0
二总体设计
21 模块划分
通需求分析中系统提出求系统提出模块划分策略系统中包含两种角色身份户二游客系统树形结构:
博客理系统
|
|1 游客理
| |11 浏览文章
| |12 文章评
|2 博客理
|21 户理
| |211 户注册
| |112 户登录
|22 文章理
| |221 文章提交
| |222 文章查
| |223 评回复
| |224 浏览量统计
|23 性化设置
|231题目设置
|232 性化签名
|24 图片理
|241图片传
|242 图片显示
中博客理模块登录操作部分
22 系统结构图
三数库设计
31 实体关系图
户
密码
昵称
问题
姓名
答案
文章
发表
点击量
评
容
标题
n
1
浏览
n
游客
时间
Ip址
n
32 数表结构
user (户表)
字段名称
数类型
字段含义
默认值
否外键
username
varchar(20)
户名
EmptyString
否
password
varchar(20)
密码
NULL
否
nickname
varchar(20)
昵称
NULL
否
question
varchar(50)
提示问题
NULL
否
answer
varchar(50)
答案
NULL
否
dianjiliang(点击量表)
字段名称
数类型
字段含义
默认值
否外键
id
int
点击量键
增
否
Aid
int
文章序号
NULL
否
ip
varchar(255)
游客址
NULL
否
time
datetime
浏览时间
NULL
否
ctitique(评表)
字段名称
数类型
字段含义
默认值
否外键
id
int
评键
增
否
Aid
int
文章序号
NULL
否
context
text
评容
NULL
否
ip
varchat(255)
游客址
NULL
否
article(文章表)
字段名称
数类型
字段含义
默认值
否外键
id
int
文章键
增
否
title
varchar(255)
文章题
NULL
否
content
text
文章容
NULL
否
username
varcha(20)
户名
NULL
date
daetime
流量时间
NULL
否
hasread
bit
浏览量
NULL
否
bloginfo(性化设置表)
字段名称
数类型
字段含义
默认值
否外键
username
varchar(20)
户名
EmptyString
否
blogtitle
varchar(50)
性化标题
NULL
否
idiograph
varchar(50)
性化签名
NULL
否
四详细设计
41 模块设计说明
模块名称
户注册
模块编号
Mod_0001
适范围
新户
类 型
网站界面
模块功
注册新户信息找回密码问题答案
性求
限制条件
输 入
户信息
输 出
成功回复提示
算法逻辑
相关象接口
UserDao UserService Register User
备 注
模块名称
户登录
模块编号
Mod_0002
适范围
已注册户
类 型
网站界面
模块功
登录页面
性求
限制条件
输 入
户名密码
输 出
登录信息
算法逻辑
相关象接口
UserDao UserService Login User
备 注
模块名称
新建日志
模块编号
Mod_0003
适范围
已登录户
类 型
网站界面
模块功
创建文章
性求
分页显示
限制条件
输 入
文章标题容
输 出
文章列表
算法逻辑
相关象接口
ShowArticle ShowAllArticle ArticleDao Article ArticleService
备 注
模块名称
相册理
模块编号
Mod_0004
适范围
已登录户
类 型
网站界面
模块功
传相册浏览
性求
分页显示
限制条件
输 入
相册址
输 出
相册
算法逻辑
相关象接口
PhotoUpload PhotoShow Photo
备 注
模块名称
文章信息
模块编号
Mod_0005
适范围
户
类 型
网站界面
模块功
户查点击量评等信息回复评信息
性求
时获取新回复信息
限制条件
输 入
查文章
输 出
回复容
算法逻辑
相关象接口
CritiqueDao DianjiliangDao Dianjiliang Critique DianjiliangService CritiqueService
备 注
模块名称
文章浏览评
模块编号
Mod_0006
适范围
户游客
类 型
网站界面
模块功
查文章文章进行评
性求
时获取新回复信息
限制条件
输 入
文章评
输 出
评容
算法逻辑
相关象接口
CritiqueDao DianjiliangDao Dianjiliang Critique DianjiliangService CritiqueService
备 注
42 模块界面样式
模块名称
户注册
模块编号
Mod_0001
界面样式
模块名称
户登录
模块编号
Mod_0002
界面样式
模块名称
新建日志
模块编号
Mod_0003
界面样式
模块名称
相册理
模块编号
Mod_0004
界面样式
模块名称
文章信息
模块编号
Mod_0005
界面样式
模块名称
文章浏览评
模块编号
Mod_0006
界面样式
五系统实现
51 运行环境
硬件环境:处理器:Intel Peteum 4 Core 186Ghz存:2G
操作系统:Windows7 Ultimate
运行环境数库:mysqlJdk版:16服务器tomcat60
浏览器求:IE60非IE核浏览器
52 部分代码
代码功
户登录逻辑设计
代码编号
P1M0F0R00001
程序源码
Login
public String execute() throws Exception {
User user new User()
usersetUsername(username)
usersetPassword(password)
HttpServletRequest request ServletActionContextgetRequest()
if(userServiceloginUser(user)) {
requestsetAttribute(url usergetBlogInfoaction)
requestsetAttribute(info 欢迎您)
HttpSession session requestgetSession()
Map session ActionContextgetContext()getSession()
sessionsetAttribute(username username)
sessionput(username username)
return SUCCESS
} else {
requestsetAttribute(url loginjsp)
requestsetAttribute(info 输入错误请重新登录)
return ERROR
}
}
UserServiceImpl
public class UserServiceImpl implements UserService {
private UserDAO userDAO
public boolean registerUser(User user) {
if(userDAOqueryByID(usergetUsername()) null) {
return false
}else {
userDAOadd(user)
return true
}
}
public UserDAO getUserDAO() {
return userDAO
}
public void setUserDAO(UserDAO userDAO) {
thisuserDAO userDAO
}
public boolean loginUser(User user) {
if(userDAOqueryByID(usergetUsername()) null) {
return false
} else {
User queryUser userDAOqueryByID(usergetUsername())
if(queryUsergetPassword()equals(usergetPassword())) {
return true
} else {
return false
}
}
}
UserDaoImpl
public class UserDAOImpl extends HibernateDaoSupport implements UserDAO {
public void add(User user) {
thisgetHibernateTemplate()save(user)
}
public void delete(User user) {
}
public List queryAll() {
return null
}
public User queryByID(String username) {
List list thisgetHibernateTemplate()find(select user from User user where userusername ' + username + ')
if(listsize() 0) {
return null
} else {
return (User)listget(0)
}
}
public void update(User user) {
}
代码功
文章添加
代码编号
P1M0F0R00002
程序源码
public class AddArticle extends ActionSupport {
private String title
private String content
private ArticleService articleService
public ArticleService getArticleService() {
return articleService
}
public void setArticleService(ArticleService articleService) {
thisarticleService articleService
}
public String getTitle() {
return title
}
public void setTitle(String title) {
thistitle title
}
public String getContent() {
return content
}
public void setContent(String content) {
thiscontent content
}
public String execute() throws Exception {
Map session ActionContextgetContext()getSession()
String username (String) sessionget(username)
{1sunsun2huzong}
Article article new Article()
articlesetTitle(title)
articlesetContent(content)
articlesetUsername(username)
articlesetDate(new Date())
articlesetHasread(0)
articleServiceaddArticle(article)
return thisSUCCESS
}
}
六系统测试
61 测试方法
相采手动测试方法目验证系统中权限控制程序容错性非法数检验力
62 测试环境
硬件环境:处理器:Intel Peteum 4 Core 186Ghz存:2G
操作系统:Windows7 Ultimate
运行环境数库:mysqlJdk版:16服务器tomcat60
浏览器求:IE8 谷歌浏览器
63 测试例
测试功
户登录
测试编号
M01T001
例设计
例编号
预期输入
预期输出
实际输出
Case_001
sunsun
正常登录
正常登录
Case_002
SUNSUN
户跳转页
跳转页
Case_003
户跳转页
跳转页
测试功
单点登录
测试编号
M01T002
例设计
例编号
预期输入
预期输出
实际输出
Case_001
账号登录
正常登录
正常登录
Case_002
相账号登录
重复登录跳转页
跳转页
64 测试截图
七总结
1前系统完成情况
a户注册登录
b文章发表查
c文章评
d相册传性化设置页面设计
2未完成部分
a相册传功部分功
b已登录户注销
3心德体会
次实中通应学知识基完成博客系统系统完成期间遇种样困难部分通资料查找等方式解决次实积累少项目验总结:
计算机项目说明文档进步解项目初期应该确立项目完成目根确定项目题目进步明确项目求进行项目需求分析分析期间应该制作出需求分析报告书面形式罗列出项目求功目项目期间更目性确保项目合格完成系统设计说明书进步说明完成项目进行系统设计中涉编码设计文件设计具体设计项程序编码员条理具体实施编码确保项目完成数设计说明书表明系统需数库设计方式中说明系统需数库名包含数表数表字段定义数表间参关系等数表中数流图说明系统中数流动方操作中操作数表
次系统实现更加掌握知识掌握力相信学工作中起重帮助
八参考资料
[1] 精通Java EE Eclipse Struts2 Hibernate Spring整合应案例 叶健毅编著
[2] 基Struts2+Hibernate+Spring实开发指南 高洪岩编著
[3] 精通Java EE项目案例 基Eclipse Spring Struts Hibernate 刘丽编著
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档