收藏 分销(赏)

QQ空间标准管理专业系统设计分析书.doc

上传人:精*** 文档编号:2957275 上传时间:2024-06-12 格式:DOC 页数:32 大小:1.36MB
下载 相关 举报
QQ空间标准管理专业系统设计分析书.doc_第1页
第1页 / 共32页
QQ空间标准管理专业系统设计分析书.doc_第2页
第2页 / 共32页
QQ空间标准管理专业系统设计分析书.doc_第3页
第3页 / 共32页
QQ空间标准管理专业系统设计分析书.doc_第4页
第4页 / 共32页
QQ空间标准管理专业系统设计分析书.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、QQ空间管理系统设计学院: 电子信息工程学院 班级: 信息管理于信息系统 组员: 葛晓飞 石晓甜 侯建英 孙千惠 马莹莹 课程: 应用系统项目实践 第一章:要求和目标1.1基础要求(1)功效:用户登录功效:并以此来判定用户本人和访客,而且对对应操作权限进行设置。用户日志信息(更新):查看、发表、评论等信息导入/导出。用户相册信息更新:上传、查询,及实现简单在线播放。实现用户留言板功效,每当有游客来访问时,能够进行简单留言功效。访客统计功效:统计、显示历史访问人数,和当日访问人数信息。个人资料管理功效:对个人信息修改和实现简单注册功效。查找添加用户功效:能够方便查找全部好友和添加好友功效,(2)

2、性能方便数据导入和输出,提升了软件使用效率。(3)系统输入 日志信息、相册信息、留言信息、访客信息及其含有特殊权限用户修改信息(4)系统输出查询结果和数据显示。(5)数据安全系统对不一样权限用户提供不一样功效模板,有一定特殊权限用户能够进行相正确操作,通常游客只能进行信息查看操作。1.2 .开发目标(1)方便操用户添加、查询及其修改相关信息,降低人力和设备需求;(2)同时满足查询及其修改要求;(3)促进信息交流规范化及其多样化;(4)学生自行开发降低选课管理创作及其维护费用 1.3. 定义 概念(1)QQ System:QQ信息管理系统。(2)用户:QQ空间管理系统用户,关键分为游客和用户,能

3、够拥有QQ信息管理系统帐户。(3)帐户:用户登录QQ空间管理系统凭证,用户经过密码或其它安全认证拥有帐户相关功效。二:通常性描述该系统所包含帐户信息和用户信息全部存放在银行数据库服务器中,数据库服务器运行在小型机上。本系统采取浏览器/服务器(B/S)工作方法,系统用户关键有:用户和游客。1 .系统Use Case图顶层Use Case以下图所表示:顶层Use CaseActor定义以下: Adminixtrator:通常见户。 Tourist:游客。对顶层Use Case进行细化,得到Use Case图以下所表示。细化Use Case图各Use Case说明以下:(1) 登录:提供用户登录验证

4、。Step1:用户登录QQ信息管理系统登录页面,输入用户名和密码。Step2:验证成功则跳转至主页面,不然重新登录,本Use Case结束。(2) 留言;为自己或她人进行留言Step1:用户首优异行系统登录,登录成功则可实施本功效。Step2:本人信息留言:用户能够在自己留言板处,进行个人留言,编辑信息后,点击提交按钮,若出现留言成功提醒,则说明留言成功,不然留言失败。Step3:若对好友进行留言,则首先查看自己好友,跳转至好友主页,然后找到对应留言板板块,再说输入框进行编辑文本,一样单击提交按钮提交,出现留言成功则表示此次留言成功,本Use Case结束。(3) 查看:查看自己或好友信息St

5、ep1: 用户首优异行系统登录,登录成功则可实施本功效。Step2:查看自己本人信息:登录成功后则进入个人主页,在该页面有日志、说说、相册、留言板、请求信息、个人信息等模块。假如查看她人信息则需要首优异入好友空间然后选择对应信息进行查看,但需要注意是我们在她人空间只能查看而不能操作她人信息Step3:完成查看后能够返回好友或自己界面,同时能够退出本系统。(4) 评论:对自己或好友信息进行评论Step1: 用户首优异行系统登录,登录成功则可实施本功效。Step2:用户登陆成功后,选择要访问好友,进入好友主页,选择好友说说或是日志然后在下面输入框输入评论信息,输入完成后按提交按扭。Step3:提交

6、以后若提交成功,则提醒评论成功不然评论失败。Step4:评论完成后能够跳转好友主页面或是自己主页面。(5) 发表信息;该功效是发表自己日志,说说,音乐。Step1: 用户首优异行系统登录,登录成功则可实施本功效。Step2:当用户登陆成功以后,跳转主界面,选择对应日志或说说或音乐功效,然后在每个单摸版中全部有提醒按钮,像说说在文本框中输入要发表信息,然后淡季发表按钮;若是上传音乐,则单击上传按钮。Step3:在每次响应操作以后全部会出现响应状态提醒。(6) 回复评论:用户对好友发表评论进行回复Step1:用户首优异行系统登录,登录成功则可实施本功效。Step2:查看自己说说或日志,观看下面评论

7、信息。Step3:找到好友对自己信息评论,在回复框中输入回复信息。Step4:状态显示,回复成功则提醒回复成功,不然显示失败。(7) 添加好友:添加好友,方便查看好友信息。Step1:用户首优异行系统登录,登录成功则可实施本功效。Step2:将鼠标放到添加好友,会划出一个文本框,上面列出了全部好友,单击右边添加好友按钮,会弹出已发送添加请求,等候好友回复。Step3:当好友同意添加后,在自己消息中会提醒消息+1,1即为消息数目。Step4:添加成功后,将鼠标放在我好友处,将划出一文本框,显示自己全部好友。所以,本QQ空间管理系统由以下功效模块组成:(1)用户登录、注册登录模块(2)主界面模块(

8、3)个人信息管理和维护模块1.4用户特征此系统有两类用户:一般用户和游客。功效(1):只有进行登录并经过身份验证用户,才能够在QQ空间系统页面发表日志,并借助个人设置实现对个人相关信息管理维护。对于没有经过身份验证网络用户不许可在本系统中发表日志,更不许可对本系统页面信息进行管理维护。该模块实现QQ空间系统注册及登录验证功效。注册成功用户登录时,会随时依据页面输入登录信息进行提醒,如用户名错误或密码错误。功效(2):在该模块中提供了QQ空间系统页面统计信息(如访问量等),日志、评论、音乐盒及留言信息分页显示等多个功效,方便用户操作。功效(3):借助该模块,用户能够随时对个人QQ空间主页中内容进

9、行增加或修改,包含日志等信息更新、评论及留言管理等功效,也许可用户对个人信息进行维护及其管理。对于用户来说通常全部有一定专业领域知识,通常有一定电脑操作能力,但对于部分特殊用户来说可能对电脑操作知识了解比较少,所以对于通常使用者来说不需要特殊理论、知识来支持,也不需要经过特殊训练,用户只要在计算机上装有IE或Netscape浏览器,并有基础浏览器操作知识,便能方便使用本系统。1.5限制和约束此系统必需满足以下限制:(1)系统中全部帐户能够供用户随时使用,而且用户名唯一性;(2)在同一时刻,一个帐户不能同时为两个用户服务;(3)超出预定时间,没有操作该账号被自动释放;第二章:功效描述2.1关键功

10、效模块依据系统需求分析和系统功效模块结构图来看,该系统应含有以下基础功效:l 登录信息l 主页信息l 日志信息l 留言板信息l 相册信息l 个人档信息l 音乐信息QQ空间管理系统可划分为登陆信息,主页信息,个人档信息,说说信息等部分。其层次图图1所表示。图1 功效模块图2.2 注册功效模块1.用户表_user其设计结构以下: 图2登陆信息图用户登录和注册模块实现登录界面servlet控制器部分代码以下:package com.softeem.qqsystem.servlet;public class logInfoManger extends HttpServlet private int c

11、ount;/ 总日志数private int pagecount;/ 共有页数private int everypage;/ 每页显示数量private int currentpage;/ 目前页数private static final long serialVersionUID = 1L;private LogDAO logdao = new LogDAO();public void service(HttpServletRequest request, HttpServletResponse response) try request.setCharacterEncoding(utf-8

12、);response.setCharacterEncoding(utf-8); catch (UnsupportedEncodingException e) / TODO Auto-generated catch blocke.printStackTrace();String flag = request.getParameter(flag);if (_showlog_daily.equals(flag) this.getAlllog_Daily(request, response);System.out.println(-*-); else if (show_daily.equals(fla

13、g) this.show_daily(request, response); else if (_write_daily_log.equals(flag) / 写日志this.write_daily_log(request, response); else if (_comment.equals(flag) / 进行评论日志this.createComments(request, response);System.out.println(*bbbbbbbbbbbbbb*); else if (show_message.equals(flag) / 显示全部留言信息this.getAllMess

14、age(request, response);/ 显示全部日志,按页显示public void getAlllog_Daily(HttpServletRequest request,HttpServletResponse response) HttpSession session = request.getSession();/ 注意session需要获取String mainaccount = (String) session.getAttribute(user);String newaccount = (String) session.getAttribute(newUser);Strin

15、g account;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 / e

16、verypage + 1;currentpage = Integer.parseInt(request.getParameter(currentpage);/ 接收网页传来目前页数if (currentpage = pagecount - 1) currentpage = pagecount - 1;List dailyloglist = logdao.getalllog_daily(account, currentpage* everypage, everypage);request.setAttribute(List, dailyloglist);request.setAttribute(

17、currentpage, currentpage);/ 将目前页面传输到页面中request.setAttribute(pagecount, pagecount);/ 将总页面数传输到页面中try request.getRequestDispatcher(jsp/log_daily.jsp).forward(request,response); catch (ServletException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (IOException e) / TODO Auto-generated c

18、atch blocke.printStackTrace();/ 显示所要查看日志public void show_daily(HttpServletRequest request,HttpServletResponse response) int log_num = Integer.parseInt(request.getParameter(log_num);Log log = logdao.getonedaily(log_num);List discusslist = logdao.getalldiscuss(log_num);request.setAttribute(DiscussList

19、, discusslist);request.setAttribute(Log, log);/ 将相关该文章内容发送到页面中try request.getRequestDispatcher(jsp/show_daily.jsp).forward(request,response); catch (ServletException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();/

20、发表日志public void write_daily_log(HttpServletRequest request,HttpServletResponse response) HttpSession session = request.getSession();String account = (String) session.getAttribute(user);String title = request.getParameter(title);String content = request.getParameter(content);Log log = new Log();log.s

21、etAccount_num(account);log.setContent(content);log.setLog_name(title);System.out.println(title);System.out.println(content);int flag = logdao.write_daily_log(log);System.out.println(flag);if (flag 0) request.setAttribute(message, 文章发表成功!); else request.setAttribute(message, 对不起,文章发表失败!);try request.

22、getRequestDispatcher(jsp/writedaily_log.jsp).forward(request, response); catch (ServletException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();当注册页面时,会跳入注册页面,当登陆成功后会跳入该系统主页面,主页面部分代码以下:var flag = true;function show(

23、) var odv = document.getElementById(dv);var count = odv.offsetTop;if (flag) var time = window.setInterval(function() count = count + 4;odv.style.top = count;if (count = 0) window.clearInterval(time);flag = false;, 30)function hide() var odv = document.getElementById(dv);var count = odv.offsetTop;if

24、(!flag) var time = window.setInterval(function() count = count - 4;odv.style.top = count;if (count = -400) window.clearInterval(time);flag = true;, 30)用户登录主界面模块2.3主页信息模块2.4日志模块1.日志表_log其设计结构以下:2.5留言板模块1.留言板分为填写主人寄语,好友印象和留言管理三部分。 2.用户在填写留言部分填写问题,提交后只会显示提交成功,在没有得到回复前,留言板里没有此条信息,信息会显示在留言管理中等候管理者回复,等到网站

25、管理者对这条留言进行回复后,才显示在留言板中。 3.留言管理是为了方便网站管理者管理和修改而设置,留言管理部分只有网站管理者可见,一般用户登录网站时,是看不到这部分内容。留言管理里会显示公布留言者在填写留言部分填写全部信息,便于管理者对访客进行管理。 4.管理者看到访客留言时,能够对此条信息进行回复留言,删除留言,显示或隐藏操作,能够对公布留言进行管理。 5.留言可定义是否审核 ,如定义为不需要审核,则用户留言会直接显示到页面上,如定义为需要审核,则默认为隐藏状态,管理人员审核后方才显示。1留言表_message其设计结构以下:2评论表_discuss其设计结构以下:3访问统计表_visit其

26、设计结构以下:4好友表_friend其设计结构以下:2.6相册模块一、 相册模块 这是相册模块第一个页面功效图。我们点击各个功效能够跳转到一下各个子页面。(1)创建相册功效描述(2)展示设置功效描述(3)上传照片功效描述。4相册表_photo其设计结构以下:2.7个人档信息模块1音乐表_music其设计结构以下:2.8个人信息管理和维护模块5.3.1该页面用来用户日志管理5.3.2该页面用来管理用户上传音乐,和在线播放音乐操作 第三章:数据字典3.1空间数据字典利用经过系统需求分析,QQ空间系统编制数据字典以下:各关键数据流定义如表1至表4所表示:表1名字:用户登录信息描述:确定是否是注册用户

27、基础信息定义:用户登录信息=用户名+密码位置:登录界面 表2名字:用户档案描述:登录空间个人信息定义:用户档案=姓名+性别+年纪+生日+基础信息=表 3名字:空间信息描述:空间布局基础信息定义:空间信息=主页+日志+相册+留言+说说+音乐+更多第四章:数据库设计数据库是目前应用软件系统关键组成部分,怎样使基于数据库应用系统安全、可靠、高效运行一直是软件开发技术研究难题。所以本系统数据库设计基于以下几点来考虑:(1)数据库规范化和非规范化考虑。(2)数据查询优化和索引建立。(3)存放过程和视图。4.1 数据库分析为了把用户数据要求清楚明确地表示出来,通常要建立一个概念性数据模型。概念性数据模型是

28、一个面向问题数据模型,是根据用户见解来对数据和信息建模。描述了从用户角度看到数据,反应了用户现实环境。QQ空间系统包含表包含:(1)用户表 账户、密码、权限(好友)年纪 地址 (2)音乐表 编号 账户 歌名 上传时间 URL(3)相册表 编号 账户 url 上传时间(4)日志表 编号 账户 日志名 发表时间 发表内容 私密设置(说说一样)发表类型(跟说说区分)(5)留言表 编号 账户 留言人 留言时间 留言内容 发表类型(6)评论表 编号 对应评论文章编号 评论账户 评论人 类型(属于日志、说说、留言) 评论时间 内容(7)访问统计表 编号(主键) 账户 访问账户 访问时间(8)好友表 编号(

29、主键) 添加人 被添加人 状态 特征4.2 数据库逻辑设计4.3 数据连接现在流行数据库连接技术关键有:JDBC-ODBC桥、JDBC和数据连接池技术。该系统采取数据连接池技术,使用连接池优点关键表现在两个方面:对数据库连接统一进行配置、管理、监控,和对数据库连接池参数进行优化调整,同时对应用程序中没相关闭或其它原因造成没相关闭数据库连接由连接池统一进行管理。便于程序移植和后端数据库切换,因为在应用中经过统一JNDI取得数据库连接,而具体连接是哪一台机器上数据库和程序无关。数据库连接池技术思想很简单,将数据库连接作为对象存放在一个Vector对象中,一旦数据库连接建立后,不一样数据库访问请求就

30、能够共享这些连接。这么,经过复用这些已经建立数据库连接,能够克服上述缺点,极大地节省系统资源和时间。数据库连接池关键操作以下:(1)建立数据库连接池对象(服务器开启)。(2)根据事先指定参数创建初始数量数据库连接(即:空闲连接数)。(3)对于一个数据库访问请求,直接从连接池中得到一个连接。假如数据库连接池对象中没有空闲连接,且连接数没有达成最大(即:最大活跃连接数),创建一个新数据库连接。(4)存取数据库。(5)关闭数据库,释放全部数据库连接(此时关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)。(6)释放数据库连接池对象(服务器停止、维护期

31、间,释放数据库连接池对象,并释放全部连接)。第五章 具体设计和系统实现5.1关键部分具体实现因为该系统采取是MVC模式,本系统关键分为四个文件夹,其中connection文件夹放着连接数据库文件,而dao是存放是跟底层数据库操作类,dto是封装javabean类,而servlet则是存放是该系统中央控制器,用来接收用户全部请求,而且对应用户请求。数据库连接类ConnectionUtils.java,是用来连接数据库文件,该文件具体代码以下:package com.softeem.qqsystem.connection;public class ConnectionUtils private s

32、tatic String USER = root;/ 连接数据库用户private static String PASSWORD = admin;/ 密码private static String URL = jdbc:mysql:/localhost:3306/qqdatabase;/ 连接数据库路径private static String DRIVERNAME = com.mysql.jdbc.Driver;/ 数据库驱动名称/ 在加载类时候进行注册驱动static try Class.forName(DRIVERNAME); catch (ClassNotFoundException

33、e) / TODO Auto-generated catch blocke.printStackTrace();/ 连接数据库,返回是一个连接public static Connection getConnection() try return DriverManager.getConnection(URL, USER, PASSWORD); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return null;/ 假如创建连接失败,则返回是null/ 假如连接不为空,关闭连接public

34、 static void close(Connection conn, Statement stat, ResultSet rs) if (conn != null) try conn.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();if (stat != null) try stat.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();if (rs != null) try rs.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服