当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

10.3.1新闻发布系统的功能需求

9/17/2020 9:37:07 PM 人评论

10.3.1新闻发布系统的功能需求

10.3 新闻发布系统的系统分析

系统分析的目标是了解并详述用户的需求,系统分析的任务是收集大量信息并确定系统需求,分析阶段着重考虑的是系统做什么。一般而言,可以将系统需求分为两类:功能需求和技术需求。功能需求定义了新系统必须完成的功能,技术需求定义了系统的运行环境(软件及硬件环境)以及性能指标。系统分析主要由项目小组组长和虚拟用户共同完成。

10.3.1 新闻发布系统的功能需求

定义系统的功能需求最简单的方法是定义事件,并跟踪针对某一个参与者而发生的一序列事件。事件是可以描述的、值得记录的、在某个特定时间和地点发生的事情。以新闻发布系统为例,新闻发布系统的参与者为普通用户(游客)和管理员用户。

从管理员的角度来看,管理员首先添加一些新闻的类别(例如财经新闻),然后再向该新闻类别中添加多条新闻信息。管理员有权修改和删除新闻的类别信息以及新闻信息。

从游客的角度来看,游客首先查看新闻的标题列表,然后查看指定标题新闻的详细信息,并可以向该新闻发表新闻评论。游客还可以输入关键字查询所有相关的新闻信息。

从管理员的角度来看,新的评论需要管理员审核后才能被浏览。管理员也可以删除某些评论信息。

系统所有的事件按照工作流的顺序组织在一起可以构成系统的事件表,一个事件表包括行和列,行代表事件,列代表某个事件的详细信息,表10-1列出了“管理员添加新闻类别”的事件信息。

表10-1 “管理员添加新闻类别”的事件信息
figure_0207_0275

表10-1中,触发器就是用于通知系统某一个事件发生了的事物,对于外部事件而言,触发器就是系统必须处理的数据到达了。来源就是为某个事件提供数据的参与者。动作就是系统对事件的响应,当管理员添加新闻类别后,系统就执行“添加新闻类别”动作。响应就是系统的输出结果。目的地就是接收系统输出结果的参与者。

事件名称以及该事件的触发器、来源、动作、响应和目的地都可以放在事件表中,用于记录信息系统功能需求的关键信息。表10-2给出了新闻发布系统的事件表,通过分析新闻发布系统的事件表,可以统计该系统应该具有的功能。

表10-2 新闻发布系统的事件表
figure_0207_0276
续表
figure_0208_0277

1.用户登录和注销

管理员是具有管理新闻发布系统网站权限的用户。为了保证数据库的安全性和准确性,在后台为管理员设置了一个用户名和密码(使用 md5 加密算法加密)。普通用户登录成功后变为管理员用户,实现新闻类别、新闻以及评论等信息的维护。登录后的管理员用户注销后,变为普通用户后安全地退出新闻发布系统。

2.新闻类别管理

新闻类别管理为新闻发布系统的灵活高效提供了可能性。新闻类别管理由管理员完成,它使管理员随时调整新闻的类别,具体包括增加新闻的类别、修改新闻的类别、删除新闻的类别、查看新闻的类别等功能。

3.新闻信息管理

新闻信息管理为管理员提供了在后台添加、修改、删除新闻信息的功能,为普通用户提供了新闻标题的前台分页显示(以新闻发布时间降序排序)、浏览新闻详细信息(包括标题、内容、类别、发布时间、浏览次数与附件等)、下载新闻附件以及模糊查询等功能。

4.评论管理

普通用户可以针对某条新闻发表评论(包括内容、状态、IP 地址、发布时间等),并可以浏览审核过的新闻评论,管理员在后台可以对评论进行审核、删除等操作。

10.3.2 新闻发布系统的技术需求

系统的技术需求分为:软件技术需求、硬件技术需求和性能技术需求。新闻发布系统软件技术需求为:该系统在Windows NT客户机-服务器环境下开发和部署,系统开发时所使用的语言为PHP(5.0以上版本),所使用的浏览器包括IE5.0以上版本浏览器和Firefox浏览器,所使用的数据库服务器为MySQL(5.0以上版本),所使用的WEB服务器为Apache(2.0以上版本)。新闻发布系统的开发过程严格遵照软件开发生命周期,开发过程中使用的CASE工具有PowerDesigner 12以及Visio 2003。新闻发布系统性能技术需求为:系统的响应时间必须少于0.5s,系统要求同时在线人数为100人。新闻发布系统硬件技术需求为:当前主流硬件配置基本满足该系统软件技术需求和性能技术需求。

10.3.3 新闻发布系统中使用的模型

在开发MIS时要用到许多模型,包括描述模型和图形模型。描述模型描述系统某一方面的描述性的报表或列表,事件列表和数据字典(DD)就是常用的描述模型。图形模型是系统某方面的图形表示,常用的图形模型包括E-R模型、功能结构图和数据流程图(DFD)等。使用各种模型可以方便开发人员与用户以及开发人员与开发人员之间的信息沟通。图10-1和图10-2所示为新闻发布系统的功能结构图。

figure_0209_0278
图10-1 新闻发布系统前台的功能结构图
figure_0209_0279
图10-2 新闻发布系统后台的功能结构图

10.3.4 新闻发布系统的E-R模型

通过考察事件列表中的事件,可以抽象出某个事件影响了哪些事物,从而确定出系统所使用的事物。对于新闻发布系统而言,存在以下事物:用户、新闻类别、新闻和评论,这些事物对应于E-R模型中的实体。事物间存在着联系,这些联系对应于E-R模型中实体间的关系。对于新闻发布系统而言,一个管理员可以发表多篇新闻,一个新闻类别中可以包含多篇新闻,一条新闻可以对应多条新闻评论,新闻发布系统的E-R模型如图10-3所示。

该E-R模型中共有如下4个实体。

news(新闻)实体共有6个属性,分别是news_id、title(标题)、content(内容)、publish_time (发布时间)、clicked(点击次数)和attachment(附件)。

review(评论)实体共有 5 个属性,分别是 review_id、content(内容)、publish_time(发布时间)、ip(IP地址)和state(状态:已审核和未审核)等。

category(类别)实体共有两个属性,分别是category_id和name(类别名)等。

users(用户)实体共有3个属性,分别是user_id、name(用户名)和password(密码)等。

figure_0210_0280
图10-3 新闻发布系统的E-R模型

figure_0210_0281E-R模型中每个实体的属性不仅仅是通过考察事件列表得出的,有可能需要绘制出数据流程图后才能确定实体的所有属性。因此严格意义上系统的开发并不是绝对的“瀑布模型”,而是一种“迭代”式的开发。

同一个系统的 E-R 模型不具有唯一性,不同的设计人员为同一个软件系统设计出来的E-R模型可能不同,这些E-R模型没有正确与错误之分,只有合适与不合适之分。

10.3.5 新闻发布系统的数据流程图

数据流程图(Data Flow Diagram,DFD)是一种能全面地描述信息系统逻辑模型的工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。数据流程图由4部分组成:外部实体、处理过程、数据存储和数据流,如图10-4所示。

figure_0210_0282
图10-4 数据流程图的符号

外部实体:系统以外又和系统有联系的人或事物,它说明了数据的外部来源或去处,属于系统的外部或系统的界面。在数据流程图中外部实体通常用正方形框表示,框中写上外部实体名称,例如新闻发布系统的外部实体有游客和管理员。

处理过程:对数据的逻辑处理,用来改变数据值。一个处理过程定义了输入数据转换到输出数据的算法或程序。在数据流程图中处理过程通常用带圆角的长方形表示,例如新闻发布系统的处理过程有查看新闻详细信息、添加新闻和发表评论等。

数据流:处理过程中的输入参数或返回结果,它用来表示中间数据流值。数据流是模拟数据在系统中传递过程的工具,表示数据在处理过程、数据存储和外部实体之间的流动。在数据流程图中数据流通常用带箭头的线表示。

数据存储:数据保存的地方。它用来存储数据,它可以是一个文件,但更多时候是数据库中的表或视图。处理过程从数据存储或外部实体中提取数据,然后将处理结果返回数据存储或外部实体。在数据流程图中,数据存储通常使用三边矩形表示。例如新闻发布系统的数据存储有新闻、评论和新闻类别等。

结构化需求分析采用的是“自顶向下,由外到内,逐层分解”的思想,在绘制系统数据流程图的过程中,开发人员要先画出系统顶层的数据流程图,然后再逐层画出低层的数据流程图,对于中等规模或小型的软件系统而言,采用3层的数据流程图就可以了。在3层的数据流程图中,顶层的数据流程图定义系统范围,它是对系统架构的高度概括和抽象;中层数据流程图是对顶层数据流程图的细化,描述系统的主要功能模块,以及数据在功能模块之间的流动关系;底层数据流程图是对中层数据流程图的进一步细化,它更关注于功能模块内部的数据处理细节。通过这样的方法可以得到一整套分层的数据流程图,从而从不同的角度描述软件系统。新闻发布系统顶层数据流程图如图10-5所示,新闻发布系统中层数据流程图如图10-6所示,用户管理底层数据流程图如图10-7所示,新闻类别管理底层数据流程图如图10-8所示,新闻信息管理包含了新闻信息查询以及新闻信息维护两个底层数据流程图如图10-9所示,评论管理的底层数据流程图如 图10-10所示。

figure_0211_0283
图10-5 新闻发布系统顶层数据流程图
figure_0211_0284
图10-6 新闻发布系统中层数据流程图
figure_0212_0285
图10-7 用户管理底层数据流程图
figure_0212_0286
图10-8 新闻类别管理底层数据流程图
figure_0212_0287
图10-9 新闻信息管理底层数据流程图
figure_0213_0288
图10-10 评论管理底层数据流程图

10.3.6 数据字典(Data Dictionary)

数据字典用于描述E-R模型以及数据流程图中使用的元数据,是对E-R模型以及数据流程图的补充和完善。数据字典可以描述的元数据包括数据项、数据流、数据存储、外部实体、数据加工和数据结构,这些描述按照一定的规则组织起来便构成了数据字典。

新闻发布系统中使用到的用于描述数据项的数据字典如图 10-11 所示,描述的是各数据项的名称、代码、表、数据类型(长度)、是否为主键、是否为外键、是否强制等信息。

figure_0213_0289
图10-11 使用数据字典描述数据项

示例1使用数据字典描述图10-10中的数据存储“review”。

数据存储编号:F04

数据存储名称:review

数据存储别名:评论表

说 明:用于存储评论的细节信息

来 自:为新闻添加评论处理过程

组 成:review_id+评论的内容content+评论的时间publish_time+评论的IP+评论的状态state示例2使用数据字典描述图10-10中的数据流“为特定的新闻发表的评论信息”。

数据流编号:DF4.1

数据流名称:为特定的新闻发表的评论信息

说 明:发表评论的细节信息

来 自:普通用户外部实体

去 向:为新闻添加评论处理过程

组 成:news_id+评论的内容+评论的时间+评论的IP+评论的状态

示例3使用数据字典描述图10-10中的数据加工“为新闻添加评论”。

数据加工编号:P4.1

数据加工名称:为新闻添加评论

说 明:将评论的详细信息添加到review表中

来 自:普通用户外部实体

输 入:评论的详细信息

输 出:添加成功信息

数据加工处理:接收新闻评论内容,将评论的状态设置为“未审核”,将评论的发布时间设置为服务器当前时间,获取发表评论的主机IP地址,最后将这些信息添加到review表中,并提示普通用户评论添加成功。

示例4使用数据字典描述10-10图中的数据结构“某一页的评论信息列表”。

数据结构编号:DS4.1

数据结构名称:某一页的评论信息列表,某一页显示3条评论信息

说 明:显示某一页的评论详细信息

来 自:普通用户外部实体或管理员外部实体

去 向:普通用户外部实体或管理员外部实体

组 成:{review_id+news_id+评论的内容+评论的时间+评论的IP+评论的状态}3

相关教程

共有条评论 网友评论

验证码: 看不清楚?