基于php的新闻发布系统的设计与实现计算机软件专业课件_第1页
基于php的新闻发布系统的设计与实现计算机软件专业课件_第2页
基于php的新闻发布系统的设计与实现计算机软件专业课件_第3页
基于php的新闻发布系统的设计与实现计算机软件专业课件_第4页
基于php的新闻发布系统的设计与实现计算机软件专业课件_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文题目:基于 PHP 的新闻发布系统的设计与实现 外文题目:DESIGN AND IMPLEMENTATION OF PHP-BASED NEWS PUBLISHING SYSTEM 毕业设计(论文)共 80 页(其中外文文献及翻译 9 页) 完成日期 2015 年 6 月 答辩日期 2015 年 6 月 I 摘 要 新闻发布系统又叫做内容管理系统 CMS,是一个基于网络的新闻发布和管理管 理系统,它是基于 B/S 结构的系统,本系统可以几乎完成新闻发布的所有功能。随 着网络新闻发布系统的使用, 网络充当一个比电视报纸更重要的新闻媒介的功 能。本系统采用 PHP 作为开发语言,WAMP 作为开发环境,vim 作为开发工具, Mysql5.5 作为数据服务器,实现了对网站基本参数设置、新闻类别设置,动态 新闻发布及管理等一系列功能,完成了一个动态新闻发布系统的所有功能,包 括新闻新闻搜索、表情评论、文字留言、管理员登陆等与用户交互界面。系统 捕获了绝大多数的异常情况,具有较好的安全性,容错性。前台页面结合 HTML 语言生成静态页面,杜绝了一般用户直接操作数据库的可能,满足了基 本的新闻发布系统需求。要实现这个庞大的功能,我们先对用户权限进行划分, 不同的用户有着不同的权限。访客进入到新闻发布系统的主页面,可以浏览所 有的相关新闻。但是没有任何特殊的特权。最后是管理员,他拥有权限最高, 他可以管理所有的新闻,以及新闻分类。可以增加和修改新的新闻分类,也可 以增加和修改新的新闻内容。 关键字:新闻发布系统;PHP 与 MySQL;内容发布;B/S 结构; II ABSTRACT Press Release System also called content management system CMS, is a web-based news publishing and management management system, which is based on B / S structure of the system, the system can be completed almost all the features news release. With the use of online news publishing system, the network acts as a newspaper is more important than television media functions. The system uses PHP as a development language, WAMP as a development environment, vim as a development tool, Mysql5.5 as a data server to achieve the basic parameters of the site, news category settings, dynamic series of press releases and other management functions, completed a All features dynamic news release system, including news news search, Wink Comments, text messages, the administrator landing and user interface. System captures the vast majority of unusual circumstances, with better security, fault tolerance. Front page combines HTML language to generate static pages to eliminate the average user could directly manipulate the database to meet the basic needs of the news release system. To achieve this huge function, we first divide the user privileges, different users have different privileges. Visitors enter the main page of the news release system, you can browse all the news. But without any special privileges. Finally, an administrator, he has the highest authority, he can manage all the news, and news categories. You can add and modify the new news categories, you can also add and modify new news content. Key Words: Press Release System; PHP and MySQL; content publishing; B / S structure; 目 录 1 项目概述.1 1.1 现系统概述1 1.2 公司组织结构2 2 系统需求分析.3 2.1 需求陈述3 2.2UseCase 建模4 2.2.1 定义参与者.4 2.2.2UseCase 图.4 2.2.2 用例及用例规约.6 3 系统架构设计.16 3.1 架构设计目标16 3.2 系统架构设计17 3.3 系统类图17 4 面向对象分析设计.19 4.1 系统中的类19 4.2 类之间的关联19 4.3 系统的状态分析20 4.4 系统流程分析21 5 面向对象详细设计.23 5.1 用例详细设计23 5.1.1 文章管理.23 5.1.2 图片管理.27 5.1.3 账户管理.30 5.1.4 访客.32 5.2 业务逻辑对象类设计33 5.2.1 发现业务逻辑类.33 5.2.2 业务逻辑对象类图.33 6 数据库设计.34 6.1E-R 图 .34 6.2 物理表结构图37 6.3 逻辑结构设计.38 7 编码.39 7.1 开发核心技术概述39 7.1.1 系统网络架构设计.39 7.2 开发技术与工具40 7.2.1PHP 简介 .40 7.2.2MySQL 简介41 7.1.3WAMP 简介 43 8 系统测试.44 8.1 测试原则及测试方法概述44 8.2 测试用例46 8.3 软件测试结论50 8.3.1 软件能力.50 8.3.2 缺陷和限制.50 8.3.3 建议.50 8.3.4 测试结论.50 结论52 致谢53 参考文献54 附录一 中文译文55 附录二 英文原文59 附录三 程序清单64 辽宁工程技术大学毕业设计(论文) 1 1 项目概述 1.1 现系统概述 在 Internet 飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道, 它在人们政治、经济、生活等各个方面发挥着重要的作用.因此网站建设在 Internet 应用上 的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受 人们的重视。现今的社会,人们已经离不开网络,网络已经成为人与人之间交流的一种 形式,它能够把复杂的事情简单化。新闻发布系统的出现使电视不再是唯一的新闻媒体, 网络也充当了一个重要的新闻媒介的功能。简单地说,新闻发布系统就是一个网络新闻 媒介,实现了对新闻的分类、上传、审核、发布,模拟了一般新闻媒介的新闻发布的过 程,通过不同权限的用户名和密码分别实现以上所说功能,当然这些功能也可以是某一 个用户全部具有的。 随着互联网的进一步发展,网络媒体在人们心中的地位进一步提高,新闻发布系统 做为网络媒体的核心系统,其重要性是越来越明显:一方面,它提供一个新闻管理和发 布的功能;另一方面,现在的新闻发布要求实现与普通用户之间的交互,用户可以很方 便地参加一些调查和相关新闻的评论,这一点也是其他一些媒体现在无法做到的(电视、 电台等) ,同时,Internet 发展到当今,可以说,只要你上 Internet,你就会接触到新闻发 布系统,新闻发布系统的用户是相当惊人的,其重要性是不容置疑的,当然这也对新闻 发布系统的开发提出了更高的要求。 网站新闻发布系统,是将网站上需要经常变动的信息,社会的动态等更新信息集中管 理,并通过信息的某些共性进行分类,最后系统化、标准化发布到网站上的一种网站应 用程序。传统的网站新闻管理方式有两种,一是静态 HTML 页面,更新信息时需要重新 制作页面然后上传页面并修改相应链接,这种方式因为效率太低已不多用。二是基于 PHP 或者其他语言和脚本语言,将动态网页和数据库结合,通过应用程序来处理新闻, 这是目前较为流行的做法。人们对最新信息的需求和发布迫切的需要及时性,而动态交互 式网页刚好提供了这些功能,本系统就是一个能够在网上实现新闻发布,多栏目管理, 实时的进行行为统计和记录的网上交互系统。 赵越:基于 PHP 的新闻发布系统的设计与实现 2 1.2 公司组织结构 Hao123 事业部: 1999 年 5 月,李兴平创建 hao123“精彩实用网址”从这里开始起航。 2004 年 8 月,百度斥资 1000 万加上部分股权收购 hao123“hao123 网址之家”跃 上新的发展台阶。如今“hao123 上网导航”作为互联网上网导航的第一品牌,成为上亿用 户上网的第一站,上网导航中首选的品牌。当前互联网大部分的上网导航站点沿袭了 hao123 的特点,hao123 已经成为公认行业标准。 产品部,产品经理提需求,组织评审,做设计。 研发部,产品需求通过,交给研发部门员工进行功能的实现。 测试部,研发部门开发完毕,交给测试部门进行测试。 渠道部,对公司进行推广和宣传。 市场部,给公司谈合作和赞助。 公司具体组织结构图,下图所示: 图 1-1 公司组织机构图 Fig 1-1 Diagram of the Companys Organizational Structure 网址导航事业部 研 发 部 产 品 部 市 场 部 渠 道 部 测 试 部 辽宁工程技术大学毕业设计(论文) 3 2 系统需求分析 2.1 需求陈述 新闻发布系统(News Release System or Content Management System)又叫做内容管理系 统 CMS(Content Management System) ,是一个基于网络的新闻发布和管理的管理系统,它 是基于 B/S 模式的系统,本系统可以几乎完成新闻发布的所有功能。随着网络新闻发布系 统的使用, 网络充当了一个比电视报纸更重要的新闻媒介的功能。 我们对此系统的设计便是实现这个系统功能的前提。首先是提供一个发布的功能和新 闻分类管理。其次,实现用户交互,用户可以参加一些问卷调查和对新闻的评论。最后,要 实现对这个新闻发布的综合管理,方便管理员的管理。 要实现这个庞大的功能,我们先对用户权限进行划分,不同的用户有着不同的权限。 访客进入到新闻发布系统的主页面,可以浏览所有的相关新闻。但是没有任何特殊的特 权。是管理员,他拥有权限最高,他可以管理所有的新闻,以及新闻分类。可以增加和 修改新的新闻分类,也可以增加和修改新的新闻内容。 (1)总体目标 很多网站都提供新闻栏目,例如搜狐、新浪等著名网站的新闻专栏。许多企业和个人 网站也需要定期发布一些关于企业或网站的新闻。因为网络中新闻发布的频率非常高, 如果使用静态网页作为新闻页面,则维护工作将非常繁琐,管理员每天需要制作大量的 网页,从而浪费很多时间和精力。使用新闻发布及管理系统可以使新闻发布和管理变得 很轻松,管理员只需设置标题、内容和图片等新闻就可以了,系统将自动生成对应的网 页。 (2)功能目标 本系统的功能目标分为以下几个模块:新闻发布管理、图片管理、账户管理、新闻搜 索等。 赵越:基于 PHP 的新闻发布系统的设计与实现 4 2.2UseCase 建模 2.2.1 定义参与者 本系统包含 2 种参与者: 普通访客、管理员。 普通访客可以对网站所有新闻页面进行浏览、新闻搜索。 管理员除了具备普通用户的功能权限外还要管理这个新闻系统的新闻发布、图片管理、 账户管理等整个系统的管理。 管理员访客 图 2-1 系统参与者 Figure 2-1 participants in the system 2.2.2UseCase 图 Use Case(用例)是一个 UML 中非常重要的概念,在使用 UML 的整个软件开发过程 中,Use Case 处于一个中心地位。 在 UML 的文档中,Use Case 的定义是:在不展现一 个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描 述。其实 Use Case 就是对系统功能的描述而已,不过一个 Use Case 描述的是整个系统功 能的一部分,这一部分一定要是在逻辑上相对完整的功能流程。在使用 UML 的开发过程 中,需求是用 Use Case 来表达的,界面是在 Use Case 的辅助下设计的,很多类是根据 Use Case 来发现的,测试实例是根据 Use Case 来生成的,包括整个开发的管理和任务分 配,也是依据 Use Case 来组织的。UML 设计软件对于每个 Actor 来说,他都要使用系统 的某项功能,所以我们识别和分析 Use Case 时,要对于每个 Actor 来逐个进行。对于 ToDo User,我们可以轻易的识别出两个 Use Case:Add Task 和 Remove Task。ToDo User 主动使用这两个 Use Case 所描述的系统功能,所以在我们的 Use Case 图上,ToDo User 和这两个 Use Case 的关系是用从 ToDo User 发出的箭来表示的。对于 FileSystem, 辽宁工程技术大学毕业设计(论文) 5 我们识别出的也是同样的两个 Use Case,不过这次箭头从 Use Case 指向 FileSystem,表 示 FileSystem 是被动的。 新闻发布系统活动者定义如下: 管理员 登录系统修改密码 基本设置 添加文章 修改文章 添加分类管理分类添加图片 管理 添加相册 管理相册 添加账户管理账户 访客 查看新闻 搜索新闻 图 2-2 新闻发布系统 UseCase 图 Figure 2-2 Press Release System UseCase Figure 赵越:基于 PHP 的新闻发布系统的设计与实现 6 2.2.2 用例及用例规约 用例代表了系统能够提供的功能,这款新闻发布系统系统提供对新闻发布管理,相 册管理,账户管理,浏览新闻管理等等,因此系统具有表 2-1 的用例。 表 2-1 系统用例汇总 Table2-1 The system use case summary 系统用例汇总 模块用例名称用例 ID说明 登录系统UC-001 修改密码UC-002 常规设置 退出系统UC-003 1.管理员权限 2.登录、登出系统 添加文章UC-004 管理文章UC-005 添加分类UC-006 文章管理 管理分类UC-007 1.管理员权限 2.对文章的发布,修 改,删除等操作 添加图片UC-008 管理图片UC-009 添加相册UC-010 相册管理 管理相册UC-011 1.管理员权限 2.对系统和文章的图 片管理 添加账户UC-012账户管理 管理账户UC-013 1.管理员权限 2.管理账户 查看新闻UC-014访客浏览 搜索新闻UC-015 开放权限 本系统的参与者根据角色不同进入系统的页面也不相同,管理员登录后台直接对文 章、相册和账户等管理,普通游客只能页进行搜索和浏览新闻。 (1) 常规设置 管理员只有进入系统后才能对系统进行维护,不登录对系统无权操作,登陆后具有 修改信息等其他功能。其中在此模块其涉及的系统用例如图 2-3 所示。 辽宁工程技术大学毕业设计(论文) 7 管理员 登录系统 修改密码 退出系统 图 2-3 账户管理模块用例图 Figure 2-3 Use Case Diagram account management module 管理员登录系统的过程中,需要填写用户名、密码,表 2-2 表示了登录的用例规约。 表 2-2 登录的用例规约 Table2-2The use case specification of login 用例编号:UC-001 用例名称:登录 用例描述:参与者登录系统的过程 参与者:管理员 前置条件:系统部署完毕,数据库连接正常 后置条件:登录进系统 基本路径:1:参与者请求登录 2:系统显示登录页面 3:参与者填写登录信息 4:参与者确认登录 分支路径:3a:参与者填写用户名 3b:参与者填写密码 4a:参与者用户名或密码错误, 请重试 字段列表:系统中管理员信息=管理员帐户+管理员密码 业务规则:登录页面什么都不填写,系统提示登录失败,必须登录才能进入系统 补充说明:其他模块必须在登录的前提下执行 管理员在登入系统后,需要填写原密码、新密码和确认新密码就可以实现更改密码的 操作,表 2-3 表示了更改密码的用例规约。 表 2-3 更改密码的用例规约 Table2-3The use case specification of change password 用例编号:UC-002 用例名称:修改密码 用例描述:管理员登录系统后修改密码的过程 赵越:基于 PHP 的新闻发布系统的设计与实现 8 参与者:管理员或者其他管理员帐户 前置条件:登录 后置条件:登录进入系统 基本路径:1:参与者点击修改密码 2:系统显示修改密码页面 3:参与者填写相应信息信息 4:参与者确认修改 5:根据修改是否成功,进入不同的页面 分支路径:3a:管理员填写原密码 3b:管理员填写新密码 3c:管理员确认新密码 4a:参与者原密码错误,修改失败,重新修改 字段列表:系统中管理员信息=管理员帐户+管理员密码 业务规则:原密码必须正确才能修改 补充说明: 管理员可以点击退出系统按钮或者关闭浏览器来实现退出系统操作,表 2-4 表示了退 出的用例规约。 表 2-4 退出系统的用例规约 Table2-4 The use case specification of quit 用例编号:UC-003 用例名称:退出登录 用例描述:管理员退出系统的过程 参与者:管理员和任意一个登录系统的账户 前置条件:登录 后置条件:下次需要重新登录 涉众利益:角色之间的权限 基本路径:1:管理员点击退出系统 2:系统跳转到登录页面 分支路径:1a:参与者关闭浏览器窗口 字段列表:系统中管理员信息=管理员帐户+管理员密码 业务规则:管理员关闭浏览器窗口,下次需要重新登录 补充说明:管理员关闭浏览器窗口,参与者信息丢失相当于退出,也认为退出 (2) 文章管理 管理员登入就具有对文章管理的权限,进行添加文章、管理文章、添加分类、管理 分类等操作。其中在此模块设计的系统用例如图 2-5 所示。 辽宁工程技术大学毕业设计(论文) 9 管理员 添加文章 管理文章 添加分类 管理分类 图 2-4 文章管理用例图 Figure 2-4Use Case Diagram article management 管理员登陆后可以进行添加文章操作,表 2-5 表示了添加文章的用例规约。 表 2-5 添加文章用例规约 Table 2-5 use cases Statute add articles 用例编号:UC-004 用例名称:添加文章 用例描述:管理员后台添加文章 参与者:管理员 前置条件:登录 后置条件:审核文章 基本路径:1:管理员点击添加文章 2:系统显示添加文章页面 3:管理员填入必要信息 4:管理员点击保存,发布按钮 分支路径:3a:管理员填入文章标题、作者、内容等 3b:这项是必填的 字段列表:文章信息=文章标题+文章摘要+发布时间+作者+来源+内容+关键字 +是否有图片+是否审核+是否推荐 业务规则:添加真实可靠新闻 补充说明:登录信息验证在公共管理模块详细说明 管理员登陆后可以进行管理文章操作,表 2-6 表示了管理文章的用例规约。 表 2-6 管理文章用例规约 Table 2-6 Use Case Specification Management Articles 用例编号:UC-005 用例名称:管理文章 用例描述:管理员后台管理文章 参与者:管理员 赵越:基于 PHP 的新闻发布系统的设计与实现 10 前置条件:登录 后置条件: 基本路径:1:管理员点击管理文章 2:系统显示管理文章页面 3:管理员进行管理操作 4:管理员点击保存,发布按钮 分支路径:3a:管理员对填入的文章进行审核、修改和删除 3b:这项是必填的 字段列表:文章信息=文章标题+文章摘要+发布时间+作者+来源+内容+关键字 +是否有图片+是否审核+是否推荐 业务规则:管理已发布新闻 补充说明:登录信息验证在公共管理模块详细说明 管理员登陆后可以进行添加分类操作,表 2-7 表示了添加分类的用例规约。 表 2-7 添加分类用例规约 Add categories to Table 2-7 Use Case Specification 用例编号:UC-006 用例名称:添加分类 用例描述:管理员后台添加分类 参与者:管理员 前置条件:登录 后置条件: 基本路径:1:管理员点击添加分类 2:系统显示添加分类页面 3:管理员进行添加分类操作 4:管理员点击保存按钮 分支路径:3a:管理员填入添加分类的必要信息 3b:这项是必填的 字段列表:分类信息=分类路径+分类标题+分类描述+分类图片 业务规则:添加可靠分类列表 补充说明:登录信息验证在公共管理模块详细说明 管理员登陆后可以进行管理分类操作,表 2-8 表示了管理分类的用例规约。 表 2-8 管理分类用例规约 Table 2-8 Classification Management Use Case Specification 用例编号:UC-007 用例名称:管理分类 用例描述:管理员后台管理分类 参与者:管理员 前置条件:登录 后置条件: 基本路径:1:管理员点击管理分类 辽宁工程技术大学毕业设计(论文) 11 2:系统显示添加管理页面 3:管理员进行管理分类操作 4:管理员点击保存按钮 分支路径:3a:管理员填入管理分类的必要信息 3b:这项是必填的 字段列表:分类信息=分类路径+分类标题+分类描述+分类图片 业务规则:添加可靠分类列表 补充说明:登录信息验证在公共管理模块详细说明 (3) 相册管理 管理员登入就具有对文章管理的权限,进行添加图片、管理图片、添加相册、管理 相册等操作。其中在此模块设计的系统用例如图 2-5 所示。 管理员 添加图片 管理图片 添加相册 管理相册 图 2-5 相册管理用例图 Figure 2-5 album management use case diagram 管理员登陆后可以进行添加图片操作,表 2-9 表示了添加图片的用例规约。 表 2-9 添加图片用例规约 Table 2-9 to add pictures with the case of the Statute 用例编号:UC-008 用例名称:添加图片 用例描述:管理员后台添加图片 参与者:管理员 前置条件:登录 后置条件: 基本路径:1:管理员点击添加图片 2:系统显示添加图片页面 3:管理员填入必要信息 4:管理员点击保存,发布按钮 分支路径:3a:选择相册 3b:管理员填入文章标题、作者、内容等 赵越:基于 PHP 的新闻发布系统的设计与实现 12 3c:这项是必填的 字段列表:相册信息=图片标题+图片描述+图片实际路径+图片相册路径+是否 有缩略图+是否有水印图 业务规则:添加真实图片 补充说明:登录信息验证在公共管理模块详细说明 管理员登陆后可以进行管理文章操作,表 2-10 表示了管理文章的用例规约。 表 2-10 管理图片用例规约 Table 2-10 pictures with case management protocol 用例编号:UC-009 用例名称:管理图片 用例描述:管理员后台管理图片 参与者:管理员 前置条件:登录 后置条件: 基本路径:1:管理员点击管理图片 2:系统显示管理图片页面 3:管理员进行管理操作 4:管理员点击保存,发布按钮 分支路径:3a:管理员对填入的文章进行修改和删除 3b:这项是必填的 字段列表:相册信息=图片标题+图片描述+图片实际路径+图片相册路径+是否 有缩略图+是否有水印图 业务规则:管理已添加图片 补充说明:登录信息验证在公共管理模块详细说明 管理员登陆后可以进行添加相册操作,表 2-11 表示了添加相册的用例规约。 表 2-11 添加相册用例规约 Table 2-11 Add Album Use Case Specification 用例编号:UC-010 用例名称:添加相册 用例描述:管理员后台添加相册 参与者:管理员 前置条件:登录 后置条件: 基本路径:1:管理员点击添加相册 2:系统显示添加相册页面 3:管理员进行添加相册操作 4:管理员点击保存按钮 分支路径:3a:管理员填入添加相册的必要信息 3b:这项是必填的 字段列表:相册信息=上级相册+相册标题+相册描述 辽宁工程技术大学毕业设计(论文) 13 业务规则:添加可靠相册列表 补充说明:登录信息验证在公共管理模块详细说明 管理员登陆后可以进行管理相册操作,表 2-12 表示了管理相册的用例规约。 表 2-12 管理相册用例规约 Table 2-12 Management Use Case Specification album 用例编号:UC-011 用例名称:管理相册 用例描述:管理员后台管理相册 参与者:管理员 前置条件:登录 后置条件: 基本路径:1:管理员点击管理相册 2:系统显示管理相册页面 3:管理员进行管理相册操作 4:管理员点击保存按钮 分支路径:3a:管理员填入管理相册的必要信息 3b:这项是必填的 字段列表:分类信息=分类路径+分类标题+分类描述+分类图片 业务规则:对已添加相册进行操作 补充说明:登录信息验证在公共管理模块详细说明 (4) 账户管理 管理员登入就具有对账户管理的权限,进行添加账户、管理账户等操作。其中在此 模块设计的系统用例如图 2-6。 管理员 添加账户 管理账户 图 2-6 账户管理用例图 Figure 2-6 Account Management use case diagram 管理员登陆后可以进行添加账户操作,表 2-13 表示了添加图片的用例规约。 赵越:基于 PHP 的新闻发布系统的设计与实现 14 表 2-13 添加图片用例规约 Table 2-13 Add a picture Use Case Specification 用例编号:UC-012 用例名称:添加账户 用例描述:管理员后台添加账户 参与者:管理员 前置条件:登录 后置条件: 基本路径:1:管理员点击添加庄户 2:系统显示添加账户页面 3:管理员填入必要信息 4:管理员点击保存,发布按钮 分支路径:3a:管理员填入用户名称、密码、密码确认 3b:这项是必填的 字段列表:账户信息=账户编号+账户用户名+账户密码 业务规则:添加账户,操作级别:高 补充说明:登录信息验证在公共管理模块详细说明 管理员登陆后可以进行管理账户操作,表 2-14 表示了管理账户的用例规约。 表 2-14 管理账户用例规约 Table 2-14 Managed Account Use Case Specification 用例编号:UC-013 用例名称:管理账户 用例描述:管理员后台管理账户 参与者:管理员 前置条件:登录 后置条件: 基本路径:1:管理员点击管理账户 2:系统显示管理账户页面 3:管理员进行管理操作 4:管理员点击保存,发布按钮 分支路径:3a:管理员对账户进行修改密码和删除 3b:这项是必填的 字段列表:账户信息=账户编号+账户用户名+账户密码 业务规则:管理已添加账户 补充说明:登录信息验证在公共管理模块详细说明 (5) 访客管理 访客没有浏览发布后台的权限,只能访问前台页面,对审核完毕的文章进行搜索和 浏览。其中在此模块设计的系统用例如图 2-7。 辽宁工程技术大学毕业设计(论文) 15 访客 搜索新闻 浏览新闻 图 2-7 访客管理用例图 Figure 2-7 Use Case Diagram Visitor Management 访客访问页面后可以进行搜索新闻户操作,表 2-15 表示了搜索新闻的用例规约。 表 2-15 添加图片用例规约 Table 2-15 Add a picture Use Case Specification 用例编号:UC-014 用例名称:搜索新闻 用例描述:访客前端页面搜索新闻 参与者:访客 前置条件:访问网页 后置条件: 基本路径:1:访客访问网页 2:在搜索框输入信息 分支路径:2a:搜索框输入新闻标题 字段列表:文章信息=文章标题+文章摘要+发布时间+作者+来源+内容+关键字 +是否有图片+是否审核+是否推荐 业务规则:搜索所要新闻 补充说明:登录信息验证在公共管理模块详细说明 访客搜索新闻后可以进行浏览新闻操作,表 2-16 表示了浏览的用例规约。 表 2-16 管理账户用例规约 Table 2-16 Managed Account Use Case Specification 用例编号:UC-015 用例名称:访客 用例描述:访客浏览新闻 参与者:访客 前置条件:点击新闻 后置条件: 基本路径:1:访客点击首页新闻标题或者搜索后新闻标题 2:对新闻进行浏览、查看 分支路径: 字段列表:文章信息=文章标题+文章摘要+发布时间+作者+来源+内容+关键字 +是否有图片+是否审核+是否推荐 业务规则:只能查看通过审核发布的新闻 补充说明:登录信息验证在公共管理模块详细说明 赵越:基于 PHP 的新闻发布系统的设计与实现 16 3 系统架构设计 本章在阐述系统需求分析和系统设计目标的基础上,对“新闻发布系统”的功能进行设 计。在数据库设计时通过 E-R 图来描述各个实体间的关系,清晰的展示了 Mysql 关系数 据库的强大的功能,用 UML 建模工具描述系统涉及到的时间流,以及系统运行环境的搭 建,真实的模拟了一个软件项目的功能的设计与实现、软件的总体结构设计和模块设计、 编程和调试、程序联调测试以及编写、提交程序整个流程。 3.1 架构设计目标 软件架构设计要达到如下的目标: 可行性(Feasible):架构具有可行性是架构设计的基石。 可靠性(Reliable):软件系统对于用户的商业经营和管理来说极为重要,因此软件 系统必须非常可靠。 安全行(Secure):软件系统所承担的交易的商业价值极高,系统的安全性非常重要。 可定制化(Customizable):同样的一套软件,可以根据客户群的不同和市场需求的 变化进行调整。 可扩展性(Extensible):在新技术出现的时候,一个软件系统应当允许导入新技术, 从而对现有系统进行功能和性能的扩展。 可维护性(Maintainable):软件系统的维护包括两方面,一是排除现有的错误,二 是将新的软件需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持 的花费。 可升级性(Scalable):软件必须能够在用户的使用率、用户的数目增加很快的情况 下,保持合理的性能。只有这样,才能适应用户的市场扩展得可能性。 客户体验(Customer Experience):软件系统必须易于使用。软件的最终用户很可能 是不具有计算机专业技术的人员。 辽宁工程技术大学毕业设计(论文) 17 32 系统架构设计 以下将根据架构设计原则和信息系统原理来建立系统的架构设计模型。将信息系统 中比较关心的对象分层,可分为三层:用户界面层、业务逻辑层、数据访问层,如图3-1 所示: 图 3-1 系统体系架构图 Fig3-1 The Diagram of System Architecture 33 系统类图 类图,它是架构的静态结构图,表达了各个类之间的静态联系。新闻发布系统包含 了文章操作类、文件目录操作类、存入数据库的管理类、图片数据操作类、权限操作类、 帐户操作类、数据检验类。各个类具体含义如下: 文章操作类:管理员对文章操作的类。 文件目录操作类:管理员操作文章目录的类。 存入数据库管理类:输入数据保存到数据库里的类。 图片数据操作类:对图片操作的类。 权限操作类:权限操作类。 账户操作类:对账户操作的类。 赵越:基于 PHP 的新闻发布系统的设计与实现 18 经分析得到系统架构类图如图 3-2 所示: 权权限限操操作作类类 账账户户操操作作类类 文文章章操操作作类类文文件件目目录录操操作作类类 存存入入数数据据库库管管理理类类 图图片片数数据据操操作作类类 1 1n 1 1n 1 1n 1 1 1 1 1 1 图 3-2 系统架构类图 Fig3-2 Class Diagram of System Architecture 辽宁工程技术大学毕业设计(论文) 19 4 面向对象分析设计 面向对象分析的目的是更好的对系统进行建模。以需求分析的结果为基础,来详细分 析如何对新闻发布系统进行分析、建模。 4.1 系统中的类 (1)实体类:实体类主要是作为数据管理和业务逻辑处理层面上存在的类别。实体 类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但 这些行为必须与它所代表的实体对象密切相关。 (2)边界类:是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。 这种交互包括转换事件,并记录系统表示方式(例如接口)中的变更。常见的边界类有 窗口、通信协议、打印机接口、传感器和终端。 (3)控制类:控制类用于对一个或几个用例所特有的控制行为进行建模。控制对象 (控制类的实例)通常控制其他对象,因此它们的行为具有协调性质。控制类将用例的 特有行为进行封装。 由需求分析得出,新闻发布系统: 用用户户任任务务项项目目 图 4-1 类图 Fig4-1 The class diagram 4.2 类之间的关联 根据需求分析得出: (1)每位用户可以属于多个项目; (2)每位用户可以执行多个任务; (3)每个项目可以对应多个任务; 赵越:基于 PHP 的新闻发布系统的设计与实现 20 由上分析可得:实体类之间的关系如图 4-2 所示。 用用户户 任任务务项项目目 1n1n 1n 1n 1n 1n 图 4-2 类之间的关系图 Fig4-2 The relation of classes diagram 4.3 系统的状态分析 根据项目进度管理系统的需求和系统中的实体类可以得到文章发布系统的状态图。如 下图 4-3、图 4-4、图 4-5。 被创建 被删除 被审核 管理员审核 管理员删除 被修改 管理员修改 管理员审核 管理员 确认审 核 管理员确认 删除 图 4-3 任务的状态图 Fig4-3 State Diagram for Job 辽宁工程技术大学毕业设计(论文) 21 被创建 管理员被创建 管理操作 对文章、图 片、账户管 理 图 4-4 项目的状态图 Fig4-4 State Diagram for Program 成为管理账户 账户被管理 注册 修改、删除操 作 图 4-5 员工的状态图 Fig4-5 State Diagram for Program 4.4 系统流程分析 根据新闻发布系统的需求可以确定两个活动者,管理员和访客。根据他们不同的功能, 可以确定出系统的流程,以下是两个活动者对应的活动图。 赵越:基于 PHP 的新闻发布系统的设计与实现 22 图 4-6 登录系统 账户管理 文章管理 常规设置图片管理 管理分类 添加文章 管理文章 添加分类 管理相册 添加图片 管理图片 添加相册 修改密码 添加账户 管理账户 管理员的活动图 Activity diagram in Figure 4-6 Administrator 搜索新闻 浏览新闻 图 4-7 访客的活动图 Figure 4-7 visitor activity diagram 辽宁工程技术大学毕业设计(论文) 23 5 面向对象详细设计 本部分设计主要涉及软件系统的动态建模和系统类图的详细设计。软件系统的动态 模型分为交互模型和活动状态模型,其中的交互模型主要由顺序图和协作图构成,活动 状态模型主要包括活动图和状态图。通过为软件系统项目建立动态模型,从而产生体现 系统动态行为的可视化分析结果包括对象的时间特性和对象为完成目标任务而相互 进行通信的机制、对象行为的改变和状态变化情况,以及对象可能出现的各种活动状况 等信息。 5.1 用例详细设计 5.1.1 文章管理 此功能针对管理员。具体分为四部分:添加文章、管理文章、添加分类和管理分类。 顺序图(Sequence Diagram)描述了对象之间传送消息的时间顺序,它用来表示用例中 的行为顺序。新闻发布系统文章管理模块顺序图和协作图如下图所示: (1)添加文章 :管理员 article 2.addArticle() 1.login() user 图 5-1 添加文章顺序图 Figure 5-1 Add article sequence diagram 赵越:基于 PHP 的新闻发布系统的设计与实现 24 管理员 :user 1.login() :article 2.addArticle() 图 5-2 添加文章协作图 Figure 5-2 Add article collaboration diagram (2)管理文章 :管理员 :article 2.editArticle() 1.login() :user 3.delArticle() 图 5-3 管理文章顺序图 Figure 5-3 Management Articles sequence diagram 辽宁工程技术大学毕业设计(论文) 25 管理员 :user 1.login() :article 2.editArticle() 3.delArticle() 图 5-4 管理文章协作图 Figure 5-4 Management Articles collaboration diagram (3)添加分类 :管理员 :category 2.add() 1.login() :user 图 5-5 添加分类顺序图 Figure 5-5 Add categories to the sequence diagram 赵越:基于 PHP 的新闻发布系统的设计与实现 26 管理员 :user 1.login() :category 2.add() 图 5-6 添加分类协作图 Figure 5-6 Add categories collaboration diagram (4)管理分类 :管理员 :category 2.moveTo() 1.login() :user 图 5-7 管理分类顺序图 Figure 5-7 Management segment sequence diagram 辽宁工程技术大学毕业设计(论文) 27 管理员 :user 1.login() :category 2.moveTo() 图 5-8 管理分类协作图 Figure 5-8 Management classification collaboration diagram 5.1.2 图片管理 此功能针对管理员。具体分为四部分:添加图片、管理图片、添加相册和管理相册。 (1)添加图片 :管理员 :picture 2.addPic() 1.login() :user 图 5-9 添加图片顺序图 Figure 5-9 Add a picture sequence diagram 赵越:基于 PHP 的新闻发布系统的设计与实现 28 管理员 :user 1.login() :picture 2.addPic() 图 5-10 添加文章协作图 Figure 5-10 Adding article collaboration diagram (2)管理图片 :管理员 :picture 2.editPic() 1.login() :user 3.delPic() 图 5-11 管理图片顺序图 Figure 5-11 Picture sequence diagram 辽宁工程技术大学毕业设计(论文) 29 管理员 :user 1.login() :picture 2.editPic() 3.delPic() 图 5-12 管理图片协作图 Figure 5-12 Picture collaboration diagram (3)管理相册 :管理员 :picture 2. deletePic() 1.login() :user 图 5-13 管理相册顺序图 Figure 5-13 Management Album sequence diagram 赵越:基于 PHP 的新闻发布系统的设计与实现 30 管理员 :user 1.login() :picture 2. deletePic() 图 5-14 管理相册协作图 Figure 5-14 Management album collaboration diagram 5.1.3 账户管理 此功能针对管理员。具体分为四部分:添加账户、管理账户。 (1)添加账户 :管理员 1.login() :user 2.adduser() 图 5-15 添加账户顺序图 Figure 5-15 Add Account sequence diagram 辽宁工程技术大学毕业设计(论文) 31 管理员 :user 1.login() 2.adduser() 图 5-16 添加账户协作图 Figure 5-16 Add Account collaboration diagram (2)管理账户 :管理员 1.login() :user 2.editUser() 图 5-17 管理账户顺序图 Figure 5-17 Managed Accounts sequence diagram 赵越:基于 PHP 的新闻发布系统的设计与实现 32 管理员 :user 1.login() 2.editUser() 图 5-18 管理账户协作图 Figure 5-18 Managed Account collaboration diagram 5.1.4 访客 此处功能为开放功能,进入首页都可进行。搜索新闻顺序图和协作图如下图所示:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论