软件工程综合设计BBS系统Word格式.docx
《软件工程综合设计BBS系统Word格式.docx》由会员分享,可在线阅读,更多相关《软件工程综合设计BBS系统Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
ITCBBS系统分析与设计
一、实验目的
通过分析简化的程序员资格和水平考试系统的功能描述,采用结构化分析与设计方法完成系统的需求分析和设计过程,通过建立系统的成套数据流图和结构图对系统的需求和模块设计进行详细描述。
从而锻炼学生使用结构化方法分析和设计计算机软件系统的能力。
二、设备与环境
硬件:
计算机
软件:
Windows7,tomcat,javaSE,Eclipse
三、实验内容
1.可行性分析:
通过各种分析得出我们的系统可行性很高。
从技术方面来说:
我们的项目是用当前最流行的网页编程语言JSP和SSH框架写的,网页运行速度快,功能比较齐全。
后台采用Oracle数据,方便处理大量数据,及较高的安全性。
从经济方面再说:
开发人员都是本项目组成员,且开发所使用软件均为免费或开源,所以不涉及经济支出。
硬件可使用个人PC机。
2.需求分析:
(1)功能需求
(一)会员注册新会员注册,提供会员信息,检验会员信息的有效性,
(二)会员登陆提供用户凭证,验证用户信息,基于角色授权。
(三)会员管理管理员由系统初始化分配一个,管理员可以对会员信息用户角色调整,删除会员等。
(四)帖子管理管理员可以对所有帖子进行删除等操作,版主可以对本板块帖子进行删除等操作。
(六)帖子发表注册用户可以在感兴趣的板块中发表新主题帖
(七)帖子回复用户可以对自己感兴趣的主题发表回复
(2)数据流图
顶层图
0层图
(3)E-R图
3.系统设计:
(1)总体设计
(2)数据库设计
(3)详细设计(至少包括两个主要功能模块)
A用户模块:
B回复模块:
4.系统实现:
(1)实现的主要功能
(2)主要代码
我主要编写了四个模块的代码:
1.topic模块主要为了实现主题发表,主题查看,删除主题这三个功能,
定义一个类publicclassTopicActionextendsBaseAction<
Topic>
{}来实现,期中的add(),show(),setType()几个方法来实现这三个功能。
2.Reply模块主要为了实现回复及回复删除的功能。
定义一个类publicclassReplyActionextendsBaseAction<
Reply>
{}来实现,里面包括四个个方法:
publicStringaddUI(){
//未登录用户转入登录页面禁止回复
if(getCurrentUser()==null){
return"
loginUI"
;
}
//准备所回复主题回显数据
Topictopic=topicService.getById(topicId);
ActionContext.getContext().getValueStack().push(topic);
return"
addUI"
}
publicStringadd(){
model.setAuthor(getCurrentUser());
model.setIpAddr(ServletActionContext.getRequest().getRemoteAddr());
model.setPostTime(newDate());
model.setTopic(topicService.getById(topicId));
replyService.save(model);
toShow"
publicintgetTopicId(){
returntopicId;
publicvoidsetTopicId(inttopicId){
this.topicId=topicId;
3.home模块:
publicclassHomeActionextendsActionSupport{
publicStringmainFrame(){
toList"
publicStringtop(){
top"
publicStringindex(){
index"
}
4.forum模块
publicclassForumActionextendsBaseAction<
Forum>
{}
privateintviewType;
//查看帖子类型默认查看所有帖子
privatebooleanasc=false;
//排序方式默认降序
publicStringlist(){
//准备用户信息
//准备版块信息
publicStringshow(){
//获取要展现的版块
//获取版块下指定页面的主题
//自定义过滤如果查看精华帖则添加此条件
//先根据帖子类型排序置顶帖在最上面
//再根据帖子的最后跟新时间排序更新时间越晚越向上
//最后根据帖子的发表时间排序发表越早的越向下
publicintgetViewType(){
returnviewType;
publicvoidsetViewType(intviewType){
this.viewType=viewType;
publicbooleanisAsc(){
returnasc;
publicvoidsetAsc(booleanasc){
this.asc=asc;
四、总结
通过此次课程设计,使我更加扎实的掌握了有关软件工程方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。
实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。
过而能改,善莫大焉。
在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。
最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。
这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。
在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!
教师评价
评定项目
A
B
C
D
算法正确
界面美观,布局合理
程序结构合理
操作熟练
语法、语义正确
解析完整
实验结果正确
文字流畅
报告规范
题解正确
其他:
评价教师签名:
年月日