1、中文题目:基于 PHP 的新闻发布系统的设计与实现外文题目:DESIGN AND IMPLEMENTATION OF PHP-BASED NEWS PUBLISHING SYSTEM毕业设计(论文)共 80 页(其中外文文献及翻译 9 页)完成日期 2015 年 6 月 答辩日期 2015 年 6 月I摘 要新闻发布系统又叫做内容管理系统 CMS,是一个基于网络的新闻发布和管理管理系统,它是基于 B/S 结构的系统,本系统可以几乎完成新闻发布的所有功能。随着网络新闻发布系统的使用, 网络充当一个比电视报纸更重要的新闻媒介的功能。本系统采用 PHP 作为开发语言,WAMP 作为开发环境,vim
2、作为开发工具,Mysql5.5 作为数据服务器,实现了对网站基本参数设置、新闻类别设置,动态新闻发布及管理等一系列功能,完成了一个动态新闻发布系统的所有功能,包括新闻新闻搜索、表情评论、文字留言、管理员登陆等与用户交互界面。系统捕获了绝大多数的异常情况,具有较好的安全性,容错性。前台页面结合HTML 语言生成静态页面,杜绝了一般用户直接操作数据库的可能,满足了基本的新闻发布系统需求。要实现这个庞大的功能,我们先对用户权限进行划分,不同的用户有着不同的权限。访客进入到新闻发布系统的主页面,可以浏览所有的相关新闻。但是没有任何特殊的特权。最后是管理员,他拥有权限最高,他可以管理所有的新闻,以及新闻
3、分类。可以增加和修改新的新闻分类,也可以增加和修改新的新闻内容。关键字:新闻发布系统;PHP 与 MySQL;内容发布;B/S 结构;IIABSTRACTPress 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 fe
4、atures 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
5、 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 va
6、st 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 div
7、ide 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
8、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 项目概述 .11.1 现系统概述 11.2 公司组织结构 22 系统需求分析 .32.1 需求陈述 32.2UseCase 建模 42.2.1 定义参与者 .42.2.2UseCase 图 .42.2.2 用例及用例规约 .63 系统架构设计
9、.163.1 架构设计目标 163.2 系统架构设计 173.3 系统类图 174 面向对象分析设计 .194.1 系统中的类 194.2 类之间的关联 194.3 系统的状态分析 204.4 系统流程分析 215 面向对象详细设计 .235.1 用例详细设计 235.1.1 文章管理 .235.1.2 图片管理 .275.1.3 账户管理 .305.1.4 访客 .325.2 业务逻辑对象类设计 335.2.1 发现业务逻辑类 .335.2.2 业务逻辑对象类图 .336 数据库设计 .346.1E-R 图 .346.2 物理表结构图 376.3 逻辑结构设计 .387 编码 .397.1
10、开发核心技术概述 397.1.1 系统网络架构设计 .397.2 开发技术与工具 407.2.1PHP 简介 .407.2.2MySQL 简介 417.1.3WAMP 简介 438 系统测试 .448.1 测试原则及测试方法概述 448.2 测试用例 468.3 软件测试结论 508.3.1 软件能力 .508.3.2 缺陷和限制 .508.3.3 建议 .508.3.4 测试结论 .50结论 52致谢 53参考文献 54附录一 中文译文 55附录二 英文原文 59附录三 程序清单 64辽宁工程技术大学毕业设计(论文)11 项目概述1.1 现系统概述在 Internet 飞速发展的今天,互联网
11、成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用.因此网站建设在 Internet 应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。现今的社会,人们已经离不开网络,网络已经成为人与人之间交流的一种形式,它能够把复杂的事情简单化。新闻发布系统的出现使电视不再是唯一的新闻媒体,网络也充当了一个重要的新闻媒介的功能。简单地说,新闻发布系统就是一个网络新闻媒介,实现了对新闻的分类、上传、审核、发布,模拟了一般新闻媒介的新闻发布的过程,通过不同权限的用户名和密码分别实现以上所说功能,当然这些功能也可以是某一个用户
12、全部具有的。随着互联网的进一步发展,网络媒体在人们心中的地位进一步提高,新闻发布系统做为网络媒体的核心系统,其重要性是越来越明显:一方面,它提供一个新闻管理和发布的功能;另一方面,现在的新闻发布要求实现与普通用户之间的交互,用户可以很方便地参加一些调查和相关新闻的评论,这一点也是其他一些媒体现在无法做到的(电视、电台等) ,同时,Internet 发展到当今,可以说,只要你上 Internet,你就会接触到新闻发布系统,新闻发布系统的用户是相当惊人的,其重要性是不容置疑的,当然这也对新闻发布系统的开发提出了更高的要求。网站新闻发布系统,是将网站上需要经常变动的信息,社会的动态等更新信息集中管理
13、,并通过信息的某些共性进行分类,最后系统化、标准化发布到网站上的一种网站应用程序。传统的网站新闻管理方式有两种,一是静态 HTML 页面,更新信息时需要重新制作页面然后上传页面并修改相应链接,这种方式因为效率太低已不多用。二是基于PHP 或者其他语言和脚本语言,将动态网页和数据库结合,通过应用程序来处理新闻,这是目前较为流行的做法。人们对最新信息的需求和发布迫切的需要及时性,而动态交互式网页刚好提供了这些功能,本系统就是一个能够在网上实现新闻发布,多栏目管理,实时的进行行为统计和记录的网上交互系统。赵越:基于 PHP 的新闻发布系统的设计与实现21.2 公司组织结构Hao123 事业部:199
14、9 年 5 月,李兴平创建 hao123“精彩实用网址 ”从这里开始起航。2004 年 8 月,百度斥资 1000 万加上部分股权收购 hao123“hao123 网址之家”跃上新的发展台阶。如今“hao123 上网导航”作为互联网上网导航的第一品牌,成为上亿用户上网的第一站,上网导航中首选的品牌。当前互联网大部分的上网导航站点沿袭了hao123 的特点, hao123 已经成为公认行业标准。产品部,产品经理提需求,组织评审,做设计。研发部,产品需求通过,交给研发部门员工进行功能的实现。测试部,研发部门开发完毕,交给测试部门进行测试。渠道部,对公司进行推广和宣传。市场部,给公司谈合作和赞助。公
15、司具体组织结构图,下图所示:图 1-1 公司组织机构图Fig 1-1 Diagram of the Companys Organizational Structure网址导航事业部研发部产品部市场部渠道部测试部辽宁工程技术大学毕业设计(论文)32 系统需求分析2.1 需求陈述新闻发布系统(News Release System or Content Management System)又叫做内容管理系统 CMS(Content Management System) ,是一个基于网络的新闻发布和管理的管理系统,它是基于 B/S 模式的系统,本系统可以几乎完成新闻发布的所有功能。随着网络新闻发布系
16、统的使用, 网络充当了一个比电视报纸更重要的新闻媒介的功能。我们对此系统的设计便是实现这个系统功能的前提。首先是提供一个发布的功能和新闻分类管理。其次,实现用户交互,用户可以参加一些问卷调查和对新闻的评论。最后,要实现对这个新闻发布的综合管理,方便管理员的管理。要实现这个庞大的功能,我们先对用户权限进行划分,不同的用户有着不同的权限。访客进入到新闻发布系统的主页面,可以浏览所有的相关新闻。但是没有任何特殊的特权。是管理员,他拥有权限最高,他可以管理所有的新闻,以及新闻分类。可以增加和修改新的新闻分类,也可以增加和修改新的新闻内容。(1)总体目标很多网站都提供新闻栏目,例如搜狐、新浪等著名网站的
17、新闻专栏。许多企业和个人网站也需要定期发布一些关于企业或网站的新闻。因为网络中新闻发布的频率非常高,如果使用静态网页作为新闻页面,则维护工作将非常繁琐,管理员每天需要制作大量的网页,从而浪费很多时间和精力。使用新闻发布及管理系统可以使新闻发布和管理变得很轻松,管理员只需设置标题、内容和图片等新闻就可以了,系统将自动生成对应的网页。(2)功能目标本系统的功能目标分为以下几个模块:新闻发布管理、图片管理、账户管理、新闻搜索等。赵越:基于 PHP 的新闻发布系统的设计与实现42.2UseCase 建模2.2.1 定义参与者本系统包含 2 种参与者:普通访客、管理员。普通访客可以对网站所有新闻页面进行
18、浏览、新闻搜索。管理员除了具备普通用户的功能权限外还要管理这个新闻系统的新闻发布、图片管理、账户管理等整个系统的管理。管理员 访客图 2-1 系统参与者Figure 2-1 participants in the system2.2.2UseCase 图Use Case(用例)是一个 UML 中非常重要的概念,在使用 UML 的整个软件开发过程中,Use Case 处于一个中心地位。 在 UML 的文档中, Use Case 的定义是:在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。其实 Use Case 就是对系统功能的描述而已,不过一个 Use C
19、ase 描述的是整个系统功能的一部分,这一部分一定要是在逻辑上相对完整的功能流程。在使用 UML 的开发过程中,需求是用 Use Case 来表达的,界面是在 Use Case 的辅助下设计的,很多类是根据Use Case 来发现的,测试实例是根据 Use Case 来生成的,包括整个开发的管理和任务分配,也是依据 Use Case 来组织的。UML 设计软件对于每个 Actor 来说,他都要使用系统的某项功能,所以我们识别和分析 Use Case 时,要对于每个 Actor 来逐个进行。对于ToDo User,我们可以轻易的识别出两个 Use Case:Add Task 和 Remove T
20、ask。ToDo User 主动使用这两个 Use Case 所描述的系统功能,所以在我们的 Use Case 图上,ToDo User 和这两个 Use Case 的关系是用从 ToDo User 发出的箭来表示的。对于 FileSystem,辽宁工程技术大学毕业设计(论文)5我们识别出的也是同样的两个 Use Case,不过这次箭头从 Use Case 指向 FileSystem,表示 FileSystem 是被动的。新闻发布系统活动者定义如下:管理员登录系统 修改密码基本设置添加文章修改文章添加分类管理分类添加图片管理添加相册管理相册添加账户 管理账户访客查看新闻搜索新闻图 2-2 新闻
21、发布系统 UseCase 图Figure 2-2 Press Release System UseCase Figure赵越:基于 PHP 的新闻发布系统的设计与实现62.2.2 用例及用例规约用例代表了系统能够提供的功能,这款新闻发布系统系统提供对新闻发布管理,相册管理,账户管理,浏览新闻管理等等,因此系统具有表 2-1 的用例。表 2-1 系统用例汇总Table2-1 The system use case summary系统用例汇总模块 用例名称 用例 ID 说明登录系统 UC-001修改密码 UC-002常规设置退出系统 UC-0031.管理员权限2.登录、登出系统添加文章 UC-00
22、4管理文章 UC-005添加分类 UC-006文章管理管理分类 UC-0071.管理员权限2.对文章的发布,修改,删除等操作添加图片 UC-008管理图片 UC-009添加相册 UC-010相册管理管理相册 UC-0111.管理员权限2.对系统和文章的图片管理添加账户 UC-012账户管理管理账户 UC-0131.管理员权限2.管理账户查看新闻 UC-014访客浏览搜索新闻 UC-015开放权限本系统的参与者根据角色不同进入系统的页面也不相同,管理员登录后台直接对文章、相册和账户等管理,普通游客只能页进行搜索和浏览新闻。(1) 常规设置管理员只有进入系统后才能对系统进行维护,不登录对系统无权操
23、作,登陆后具有修改信息等其他功能。其中在此模块其涉及的系统用例如图 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用例名称: 登录用例描述: 参与者登录系统的过程参与者: 管理员前置条件: 系统部署完毕,数据库连接
24、正常后置条件: 登录进系统基本路径: 1:参与者请求登录2:系统显示登录页面3:参与者填写登录信息4:参与者确认登录 分支路径: 3a:参与者填写用户名3b:参与者填写密码4a:参与者用户名或密码错误, 请重试字段列表: 系统中管理员信息=管理员帐户+管理员密码业务规则: 登录页面什么都不填写,系统提示登录失败,必须登录才能进入系统补充说明: 其他模块必须在登录的前提下执行 管理员在登入系统后,需要填写原密码、新密码和确认新密码就可以实现更改密码的操作,表 2-3 表示了更改密码的用例规约。表 2-3 更改密码的用例规约Table2-3The use case specification of
25、 change password用例编号: UC-002用例名称: 修改密码用例描述: 管理员登录系统后修改密码的过程赵越:基于 PHP 的新闻发布系统的设计与实现8参与者: 管理员或者其他管理员帐户前置条件: 登录后置条件: 登录进入系统基本路径: 1:参与者点击修改密码2:系统显示修改密码页面3:参与者填写相应信息信息4:参与者确认修改5:根据修改是否成功,进入不同的页面分支路径: 3a:管理员填写原密码3b:管理员填写新密码3c:管理员确认新密码4a:参与者原密码错误,修改失败,重新修改字段列表: 系统中管理员信息=管理员帐户+管理员密码业务规则: 原密码必须正确才能修改补充说明: 管理
26、员可以点击退出系统按钮或者关闭浏览器来实现退出系统操作,表 2-4 表示了退出的用例规约。表 2-4 退出系统的用例规约Table2-4 The use case specification of quit用例编号: UC-003用例名称: 退出登录用例描述: 管理员退出系统的过程参与者: 管理员和任意一个登录系统的账户前置条件: 登录后置条件: 下次需要重新登录涉众利益: 角色之间的权限基本路径: 1:管理员点击退出系统2:系统跳转到登录页面分支路径: 1a:参与者关闭浏览器窗口字段列表: 系统中管理员信息=管理员帐户+管理员密码业务规则: 管理员关闭浏览器窗口,下次需要重新登录补充说明:
27、管理员关闭浏览器窗口,参与者信息丢失相当于退出,也认为退出(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
28、用例名称: 添加文章用例描述: 管理员后台添加文章参与者: 管理员前置条件: 登录后置条件: 审核文章基本路径: 1:管理员点击添加文章2:系统显示添加文章页面3:管理员填入必要信息4:管理员点击保存,发布按钮分支路径: 3a:管理员填入文章标题、作者、内容等3b:这项是必填的字段列表: 文章信息=文章标题+ 文章摘要+ 发布时间+作者+来源+内容 +关键字+是否有图片+是否审核+是否推荐业务规则: 添加真实可靠新闻补充说明: 登录信息验证在公共管理模块详细说明 管理员登陆后可以进行管理文章操作,表 2-6 表示了管理文章的用例规约。表 2-6 管理文章用例规约Table 2-6 Use Ca
29、se Specification Management Articles用例编号: UC-005用例名称: 管理文章用例描述: 管理员后台管理文章参与者: 管理员赵越:基于 PHP 的新闻发布系统的设计与实现10前置条件: 登录后置条件:基本路径: 1:管理员点击管理文章2:系统显示管理文章页面3:管理员进行管理操作4:管理员点击保存,发布按钮分支路径: 3a:管理员对填入的文章进行审核、修改和删除3b:这项是必填的字段列表: 文章信息=文章标题+ 文章摘要+ 发布时间+作者+来源+内容 +关键字+是否有图片+是否审核+是否推荐业务规则: 管理已发布新闻补充说明: 登录信息验证在公共管理模块详
30、细说明 管理员登陆后可以进行添加分类操作,表 2-7 表示了添加分类的用例规约。表 2-7 添加分类用例规约Add categories to Table 2-7 Use Case Specification用例编号: UC-006用例名称: 添加分类用例描述: 管理员后台添加分类参与者: 管理员前置条件: 登录后置条件:基本路径: 1:管理员点击添加分类2:系统显示添加分类页面3:管理员进行添加分类操作4:管理员点击保存按钮分支路径: 3a:管理员填入添加分类的必要信息3b:这项是必填的字段列表: 分类信息=分类路径+ 分类标题+ 分类描述+分类图片业务规则: 添加可靠分类列表补充说明: 登
31、录信息验证在公共管理模块详细说明 管理员登陆后可以进行管理分类操作,表 2-8 表示了管理分类的用例规约。表 2-8 管理分类用例规约Table 2-8 Classification Management Use Case Specification用例编号: UC-007用例名称: 管理分类用例描述: 管理员后台管理分类参与者: 管理员前置条件: 登录后置条件:基本路径: 1:管理员点击管理分类辽宁工程技术大学毕业设计(论文)112:系统显示添加管理页面3:管理员进行管理分类操作4:管理员点击保存按钮分支路径: 3a:管理员填入管理分类的必要信息3b:这项是必填的字段列表: 分类信息=分类路
32、径+ 分类标题+ 分类描述+分类图片业务规则: 添加可靠分类列表补充说明: 登录信息验证在公共管理模块详细说明(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 th
33、e Statute用例编号: UC-008用例名称: 添加图片用例描述: 管理员后台添加图片参与者: 管理员前置条件: 登录后置条件:基本路径: 1:管理员点击添加图片2:系统显示添加图片页面3:管理员填入必要信息4:管理员点击保存,发布按钮分支路径: 3a:选择相册3b:管理员填入文章标题、作者、内容等赵越:基于 PHP 的新闻发布系统的设计与实现123c:这项是必填的字段列表: 相册信息=图片标题+ 图片描述+ 图片实际路径+图片相册路径+是否有缩略图+是否有水印图业务规则: 添加真实图片补充说明: 登录信息验证在公共管理模块详细说明 管理员登陆后可以进行管理文章操作,表 2-10 表示了
34、管理文章的用例规约。表 2-10 管理图片用例规约Table 2-10 pictures with case management protocol用例编号: UC-009用例名称: 管理图片用例描述: 管理员后台管理图片参与者: 管理员前置条件: 登录后置条件:基本路径: 1:管理员点击管理图片2:系统显示管理图片页面3:管理员进行管理操作4:管理员点击保存,发布按钮分支路径: 3a:管理员对填入的文章进行修改和删除3b:这项是必填的字段列表: 相册信息=图片标题+ 图片描述+ 图片实际路径+图片相册路径+是否有缩略图+是否有水印图业务规则: 管理已添加图片补充说明: 登录信息验证在公共管理
35、模块详细说明 管理员登陆后可以进行添加相册操作,表 2-11 表示了添加相册的用例规约。表 2-11 添加相册用例规约Table 2-11 Add Album Use Case Specification用例编号: UC-010用例名称: 添加相册用例描述: 管理员后台添加相册参与者: 管理员前置条件: 登录后置条件:基本路径: 1:管理员点击添加相册2:系统显示添加相册页面3:管理员进行添加相册操作4:管理员点击保存按钮分支路径: 3a:管理员填入添加相册的必要信息3b:这项是必填的字段列表: 相册信息=上级相册+ 相册标题+ 相册描述辽宁工程技术大学毕业设计(论文)13业务规则: 添加可靠
36、相册列表补充说明: 登录信息验证在公共管理模块详细说明 管理员登陆后可以进行管理相册操作,表 2-12 表示了管理相册的用例规约。表 2-12 管理相册用例规约Table 2-12 Management Use Case Specification album用例编号: UC-011用例名称: 管理相册用例描述: 管理员后台管理相册参与者: 管理员前置条件: 登录后置条件:基本路径: 1:管理员点击管理相册2:系统显示管理相册页面3:管理员进行管理相册操作4:管理员点击保存按钮分支路径: 3a:管理员填入管理相册的必要信息3b:这项是必填的字段列表: 分类信息=分类路径+ 分类标题+ 分类描述
37、+分类图片业务规则: 对已添加相册进行操作补充说明: 登录信息验证在公共管理模块详细说明(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用
38、例编号: UC-012用例名称: 添加账户用例描述: 管理员后台添加账户参与者: 管理员前置条件: 登录后置条件:基本路径: 1:管理员点击添加庄户2:系统显示添加账户页面3:管理员填入必要信息4:管理员点击保存,发布按钮分支路径: 3a:管理员填入用户名称、密码、密码确认3b:这项是必填的字段列表: 账户信息=账户编号+ 账户用户名+ 账户密码业务规则: 添加账户,操作级别:高补充说明: 登录信息验证在公共管理模块详细说明 管理员登陆后可以进行管理账户操作,表 2-14 表示了管理账户的用例规约。表 2-14 管理账户用例规约Table 2-14 Managed Account Use Ca
39、se Specification用例编号: UC-013用例名称: 管理账户用例描述: 管理员后台管理账户参与者: 管理员前置条件: 登录后置条件:基本路径: 1:管理员点击管理账户2:系统显示管理账户页面3:管理员进行管理操作4:管理员点击保存,发布按钮分支路径: 3a:管理员对账户进行修改密码和删除3b:这项是必填的字段列表: 账户信息=账户编号+ 账户用户名+ 账户密码业务规则: 管理已添加账户补充说明: 登录信息验证在公共管理模块详细说明(5) 访客管理访客没有浏览发布后台的权限,只能访问前台页面,对审核完毕的文章进行搜索和浏览。其中在此模块设计的系统用例如图 2-7。辽宁工程技术大学
40、毕业设计(论文)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:搜索框输入新闻标题字段列表: 文章信息=文章标题+
41、文章摘要+ 发布时间+作者+来源+内容 +关键字+是否有图片+是否审核+是否推荐业务规则: 搜索所要新闻补充说明: 登录信息验证在公共管理模块详细说明 访客搜索新闻后可以进行浏览新闻操作,表 2-16 表示了浏览的用例规约。表 2-16 管理账户用例规约Table 2-16 Managed Account Use Case Specification用例编号: UC-015用例名称: 访客用例描述: 访客浏览新闻参与者: 访客前置条件: 点击新闻后置条件:基本路径: 1:访客点击首页新闻标题或者搜索后新闻标题2:对新闻进行浏览、查看分支路径:字段列表: 文章信息=文章标题+ 文章摘要+ 发布时
42、间+作者+来源+内容 +关键字+是否有图片+是否审核+是否推荐业务规则: 只能查看通过审核发布的新闻补充说明: 登录信息验证在公共管理模块详细说明赵越:基于 PHP 的新闻发布系统的设计与实现163 系统架构设计本章在阐述系统需求分析和系统设计目标的基础上,对“新闻发布系统” 的功能进行设计。在数据库设计时通过 E-R 图来描述各个实体间的关系,清晰的展示了 Mysql 关系数据库的强大的功能,用 UML 建模工具描述系统涉及到的时间流,以及系统运行环境的搭建,真实的模拟了一个软件项目的功能的设计与实现、软件的总体结构设计和模块设计、编程和调试、程序联调测试以及编写、提交程序整个流程。3.1
43、架构设计目标软件架构设计要达到如下的目标:可行性(Feasible ):架构具有可行性是架构设计的基石。可靠性(Reliable):软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。安全行(Secure ):软件系统所承担的交易的商业价值极高,系统的安全性非常重要。可定制化(Customizable):同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整。可扩展性(Extensible):在新技术出现的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展。可维护性(Maintainable ):软件系统的维护包括两方面,一是排除现有的错误,二是
44、将新的软件需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持的花费。可升级性(Scalable ):软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能。只有这样,才能适应用户的市场扩展得可能性。客户体验(Customer Experience):软件系统必须易于使用。软件的最终用户很可能是不具有计算机专业技术的人员。辽宁工程技术大学毕业设计(论文)1732 系统架构设计以下将根据架构设计原则和信息系统原理来建立系统的架构设计模型。将信息系统中比较关心的对象分层,可分为三层:用户界面层、业务逻辑层、数据访问层,如图3-1所示:图 3-1 系统体系架构图Fig3-
45、1 The Diagram of System Architecture33 系统类图类图,它是架构的静态结构图,表达了各个类之间的静态联系。新闻发布系统包含了文章操作类、文件目录操作类、存入数据库的管理类、图片数据操作类、权限操作类、帐户操作类、数据检验类。各个类具体含义如下:文章操作类:管理员对文章操作的类。文件目录操作类:管理员操作文章目录的类。存入数据库管理类:输入数据保存到数据库里的类。图片数据操作类:对图片操作的类。权限操作类:权限操作类。账户操作类:对账户操作的类。赵越:基于 PHP 的新闻发布系统的设计与实现18经分析得到系统架构类图如图 3-2 所示:权 限 操 作 类账 户
46、 操 作 类文 章 操 作 类 文 件 目 录 操 作 类存 入 数 据 库 管 理 类图 片 数 据 操 作 类11 . . n11 . . n11 . . n111111图 3-2 系统架构类图Fig3-2 Class Diagram of System Architecture辽宁工程技术大学毕业设计(论文)194 面向对象分析设计面向对象分析的目的是更好的对系统进行建模。以需求分析的结果为基础,来详细分析如何对新闻发布系统进行分析、建模。4.1 系统中的类(1)实体类:实体类主要是作为数据管理和业务逻辑处理层面上存在的类别。实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚
47、至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。(2)边界类:是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。这种交互包括转换事件,并记录系统表示方式(例如接口)中的变更。常见的边界类有窗口、通信协议、打印机接口、传感器和终端。(3)控制类:控制类用于对一个或几个用例所特有的控制行为进行建模。控制对象(控制类的实例)通常控制其他对象,因此它们的行为具有协调性质。控制类将用例的特有行为进行封装。由需求分析得出,新闻发布系统:用 户 任 务 项 目图 4-1 类图Fig4-1 The class diagram4.2 类之间的关联根据需求分析得出:(1)每位用户可以属于多个
48、项目;(2)每位用户可以执行多个任务;(3)每个项目可以对应多个任务;赵越:基于 PHP 的新闻发布系统的设计与实现20由上分析可得:实体类之间的关系如图 4-2 所示。用 户任 务 项 目1 . . n 1 . . n1 . . n1 . . n1 . . n1 . . n图 4-2 类之间的关系图Fig4-2 The relation of classes diagram4.3 系统的状态分析根据项目进度管理系统的需求和系统中的实体类可以得到文章发布系统的状态图。如下图 4-3、图 4-4、图 4-5。被创建被删除被审核管理员审核管理员删除被修改管理员修改管理员审核管理员确认审核管理员确认
49、删除图 4-3 任务的状态图Fig4-3 State Diagram for Job辽宁工程技术大学毕业设计(论文)21被创建管理员被创建管理操作对文章 、 图片 、 账户管理图 4-4 项目的状态图Fig4-4 State Diagram for Program成为管理账户账户被管理注册修改 、 删除操作图 4-5 员工的状态图Fig4-5 State Diagram for Program4.4 系统流程分析根据新闻发布系统的需求可以确定两个活动者,管理员和访客。根据他们不同的功能,可以确定出系统的流程,以下是两个活动者对应的活动图。赵越:基于 PHP 的新闻发布系统的设计与实现22图 4-6登录系统账户管理文章管理常规设置 图片管理管理分类添加文章管理文章添加分类管理相册添加图片管理图片添加相册修改密码添加账户管理账户管理员的活动图Activity diagram in Figure 4-6 Administrator搜索新闻浏览新闻图 4-7 访客的活动图Figure 4-7 visitor activity diagram辽宁工程技术大学毕业设计(论文)235 面向对象详细设计本部分设计主要涉及软件系统的动态建模和系统类图的详细设计。软件系统的动态模型分为交互模型和活动状态模型,其中的交互模型主要由顺序图和协作图构成,活