QQ空间管理系统设计学院:电子信息工程学院班级:信息管理于信息系统成员:葛晓飞石晓甜侯建英孙千惠马莹莹课程:应用系统项目实践第一章:要求和目标1.1基本要求(1)功能:用户登录功能:并以此来判断用户本人和访客,并且对相应的操作权限进行设置。用户日志信息(更新):查看、发表、评论等信息的导入/导出。用户相册信息更新:上传、查询,及实现简单的在线播放。实现用户留言板功能,每当有游客来访问时,可以进行简单留言功能。访客记录功能:统计、显示历史访问人数,以及当日访问人数的信息。个人资料管理功能:对个人信息的修改以及实现简单的注册功能。查找添加用户功能:可以方便查找所有好友以及添加好友功能,(2)性能方便数据导入和输出,提高了软件的使用效率。(3)系统的输入日志信息、相册信息、留言信息、访客信息及其具有特殊权限用户的修改信息(4)系统的输出查询结果和数据的显示。(5)数据安全系统对不同权限的用户提供不同的功能模板,有一定特殊权限的用户可以进行相对的操作,一般的游客只能进行信息查看的操作。1.2.开发目标(1)方便操用户添加、查询及其修改相关信息,减少人力和设备需求;(2)同时满足查询及其修改的要求;(3)促进信息交流规范化及其多样化;(4)学生自行开发降低选课管理创作及其维护费用1.3.定义概念(1)QQSystem:QQ信息管理系统。(2)用户:QQ空间管理系统的客户,主要分为游客和用户,可以拥有QQ信息管理系统的帐户。(3)帐户:用户登录QQ空间管理系统的凭证,用户通过密码或其它安全认证拥有帐户的相关功能。二:一般性描述该系统所涉及的帐户信息和用户信息全部存放在银行数据库服务器中,数据库服务器运行在小型机上。本系统采用浏览器/服务器(B/S)的工作方式,系统的用户主要有:用户和游客。1.系统UseCase图顶层的UseCase如下图所示:顶层的UseCaseActor定义如下:Adminixtrator:一般用户。Tourist:游客。对顶层的UseCase进行细化,得到的UseCase图如下所示。细化UseCase图各UseCase说明如下:(1)登录:提供用户登录的验证。Step1:用户登录QQ信息管理系统的登录页面,输入用户名和密码。Step2:验证成功则跳转至主页面,否则重新登录,本UseCase结束。(2)留言;为自己或者他人进行留言Step1:用户首先进行系统登录,登录成功则可执行本功能。Step2:本人信息的留言:用户可以在自己的留言板处,进行个人留言,编辑信息后,点击提交按钮,若出现留言成功提示,则说明留言成功,否则留言失败。Step3:若对好友进行留言,则首先查看自己的好友,跳转至好友的主页,然后找到对应的留言板板块,再说输入框进行编辑文本,同样单击提交按钮提交,出现留言成功则表示本次留言成功,本UseCase结束。(3)查看:查看自己或好友的信息Step1:用户首先进行系统登录,登录成功则可执行本功能。Step2:查看自己本人的信息:登录成功后则进入个人主页,在该页面有日志、说说、相册、留言板、请求信息、个人信息等模块。如果查看他人的信息则需要首先进入好友的空间然后选择相应的信息进行查看,但需要注意的是我们在别人空间只能查看而不能操作他人的信息Step3:完成查看后可以返回好友或自己的界面,同时可以退出本系统。(4)评论:对自己或者好友的信息进行评论Step1:用户首先进行系统登录,登录成功则可执行本功能。Step2:用户登陆成功后,选择要访问的好友,进入好友的主页,选择好友的说说或者是日志然后在下面的输入框输入评论信息,输入完成后按提交按扭。Step3:提交之后若提交成功,则提示评论成功否则评论失败。Step4:评论完成后可以跳转好友的主页面或者是自己的主页面。(5)发表信息;该功能是发表自己的日志,说说,音乐。Step1:用户首先进行系统登录,登录成功则可执行本功能。Step2:当用户登陆成功之后,跳转主界面,选择对应的日志或者说说或者音乐功能,然后在每个单摸版中都有提示按钮,像说说在文本框中输入要发表的信息,然后淡季发表按钮;若是上传音乐,则单击上传按钮。Step3:在每次响应的操作之后都会出现响应的状态提示。(6)回复评论:用户对好友发表的评论进行回复Step1:用户首先进行系统登录,登录成功则可执行本功能。Step2:查看自己的说说或者日志,观看下面的评论信息。Step3:找到好友对自己信息的评论,在回复框中输入回复信息。Step4:状态显示,回复成功则提示回复成功,否则显示失败。(7)添加好友:添加好友,方便查看好友信息。Step1:用户首先进行系统登录,登录成功则可执行本功能。Step2:将鼠标放到添加好友,会划出一个文本框,上面列出了所有的好友,单击右边的添加好友按钮,会弹出已发送添加请求,等待好友回复。Step3:当好友同意添加后,在自己的消息中会提示消息+1,1即为消息数目。Step4:添加成功后,将鼠标放在我的好友处,将划出一文本框,显示自己的所有好友。因此,本QQ空间管理系统由以下功能模块组成:(1)用户登录、注册登录模块(2)主界面模块(3)个人信息管理与维护模块1.4用户特征此系统有两类用户:普通用户和游客。功能(1):只有进行登录并通过身份验证的用户,才可以在QQ空间系统页面发表日志,并借助个人设置实现对个人相关信息的管理维护。对于没有经过身份验证的网络用户不允许在本系统中发表日志,更不允许对本系统的页面信息进行管理维护。该模块实现QQ空间系统的注册及登录验证功能。注册成功的用户登录时,会随时根据页面输入的登录信息进行提示,如用户名错误或者密码错误。功能(2):在该模块中提供了QQ空间系统页面统计信息(如访问量等),日志、评论、音乐盒及留言信息分页显示等多种功能,方便用户操作。功能(3):借助该模块,用户可以随时对个人QQ空间主页中的内容进行增加或修改,包括日志等信息的更新、评论及留言管理等功能,也允许用户对个人信息进行维护及其管理。对于用户来说一般都有一定的专业领域知识,一般有一定的电脑操作能力,但对于一些特殊的顾客来说可能对电脑操作知识了解比较少,因此对于一般使用者来说不需要特殊的理论、知识来支持,也不需要经过特殊的训练,用户只要在计算机上装有IE或Netscape浏览器,并有基本的浏览器操作知识,便能方便的使用本系统。1.5限制与约束此系统必须满足以下限制:(1)系统中所有帐户能够供用户随时使用,并且用户名唯一性;(2)在同一时刻,一个帐户不能同时为两个用户服务;(3)超过预定的时间,没有操作该账号被自动释放;第二章:功能描述2.1主要功能模块根据系统需求分析和系统功能模块结构图来看,该系统应具备如下基本功能:登录信息主页信息日志信息留言板信息相册信息个人档信息音乐信息QQ空间管理系统可划分为登陆信息,主页信息,个人档信息,说说信息等部分。其层次图如图1所示。系统数据登录主页日志相册说说空间登录系统留言板个人档音乐退出图1功能模块图2.2注册功能模块登录输入用户名和密码无帐号登录信息正确进入空间注册新账户填写用户名密码登录退出登录1.用户表_user其设计结构如下:输入登录信息事务确认登录信息登录信息正确系统数据库图2登陆信息图结束开始留言板登录退出NNYY登录个人信息信息查询个人资料信息是否正确退出登录Y进入主页NY日志相册NY用户登录与注册模块实现登录界面的servlet控制器的部分代码如下:packagecom.softeem.qqsystem.servlet;publicclasslogInfoMangerextendsHttpServlet{privateintcount;//总的日志数privateintpagecount;//共有的页数privateinteverypage;//每页显示的数量privateintcurrentpage;//当前的页数privatestaticfinallongserialVersionUID=1L;privateLogDAOlogdao=newLogDAO();publicvoidservice(HttpServletRequestrequest,HttpServletResponseresponse){try{request.setCharacterEncoding(utf-8);response.setCharacterEncoding(utf-8);}catch(UnsupportedEncodingExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}Stringflag=request.getParameter(flag);if(_showlog_daily.equals(flag)){this.getAlllog_Daily(request,response);System.out.println(--------*****-----------);}elseif(show_daily.equals(flag)){this.show_daily(request,response);}elseif(_write_daily_log.equals(flag)){//写日志this.write_daily_log(request,response);}elseif(_comment.equals(flag)){//进行评论日志this.createComments(request,response);System.out.println(***********bbbbbbbbbbbbbb****);}elseif(show_message.equals(flag)){//显示所有留言信息this.getAllMessage(request,response);}}//显示所有的日志,按页显示publicvoidgetAlllog_Daily(HttpServletRequestrequest,HttpServletResponseresponse){HttpSessionsession=request.getSession();//注意session需要获取Stringmainaccount=(String)session.getAttribute(user);Stringnewaccount=(String)session.getAttribute(newUser);Stringaccount;if(newaccount!=null){account=newaccount;}else{account=mainaccount;System.out.println(account);}//System.out.println(account);everypage=3;//每页显示5条数据count=logdao.findallpage(account);//总的数据量为if(count%everypage==0){//计算总的页面数pagecount=count/everypage;}else{pagecount=count/everypage+1;}currentpage=Integer.parseInt(request.getParameter(currentpage));//接受网页传来的当前页数if(currentpage0){//判断前一页后一页是否超出该范围currentpage=0;}elseif(currentpage=pagecount-1){currentpage=pagecount-1;}ListLogdailyloglist=logdao.getalllog_daily(account,currentpage*everypage,everypage);request.setAttribute(List,dailyloglist);request.setAttribute(currentpage