搜索
您的当前位置:首页正文

新闻发布系统总结

来源:小奈知识网
 新闻发布系统总结

第一部分:需求分析总结:

这一部分我学到了需求分析的大致流程步骤,也深刻的体会到了它的重要性,就像是做一件事之前要想想为什么要做它一样,这就是需求分析的价值所在,的确,随着互连网的进一步发展,网络媒体在人们心中的地位进一步提高,新闻发布系统做为网络媒体的核心系统,其重要性是越来越重要:一方面,它提供一个新闻管理和发布的功能;另一方面,现在的新闻发布要求实现与普通的用户实现交互,用户可以很方便地参加一些调查和相关新闻的评论。新闻发布系统是在学校区域内为学校教育提供资源共享、信息交流和协同工作的计算机网络信息系统。随着网络技术的发展和Internet应用的普及互联网已成为人们获取信息的重要来源。本系统主要是基于asp.NET+SQL Server2005技术开发了一个新闻发布系统。本新闻发布系统实现了如下功能:1 新闻浏览和搜索;2 新闻管理员发布新闻。本系统其功能灵活并易于使用,能够实现网站新闻的动态管理,使得对新闻的管理更加及时,高效。 2.1 功能需求

本系统的目的是实现校园新闻发布系统的基本功能。

本新闻发布系统提供了不同类型新闻(如校园新闻、体育新闻和校园之家等) 满足不同用户需求;系统将用户分为:普通用户,系统管理员和新闻管理员。 普通用户能在本系统中进行新闻浏览,阅读,新闻搜索。每条新闻的标题被做成一个链接,用户点击它们就能跳转页面进行新闻阅读;新闻阅读页面,每条新闻的详细信息将被取出,包括内容、标题等;用户能根据自己的需要搜索新闻,如可以通过新闻标题或新闻内容对新闻进行搜索,这样可以快速地找到符合条件的新闻,并输出搜索结果;用户能对新闻进行被评论(允许匿名评论)。

系统管理员可以进行新闻分类管理、添加新闻、修改新闻、新闻审核和删除新闻,同时系统管理员能完成用户管理如包括系统用户管理、添加用户和更改账号。 新闻管理员拥有添加新闻和更改账号的权限。根据用户不同,给予不同权限,这样加强系统的管理,同时加强系统的安全性。 2.2 性能需求

根据新闻系统的需求进行开发设计,主要实现如下目标: 界面设计友好、美观、数据要准确、安全、可靠。 强大查询功能,方便用户浏览网站的所有信息。 设计会员登陆功能,保证新闻留言的安全性。

实现对信息、比赛项目等信息的添加、修改、删除,便于更新网站内容。 系统最大限度地实现易维护性和易操作性。

操作的简易实用性本系统是校园新闻发布系统,针对的用户大多数是学生,教师等等。因此操作的简易实用性就体现的尤其重要。在此系统的开发中就很好的体现了这一点,系统的界面美观,典雅,充满了人性化;用户操作起来也容易上手。对于一个

新闻发布系统而言新闻信息是很多的,而且使用人数较多,所以对系统的安全性有比较高的要求:对于数据库,要设置不同用户的权限,数据的修改必须由合法用户操作。

2.3 环境需求

本系统运行时需要以下条件:

操作系统:Windows XP /Windows 7/win8。

数据库:sqlsever2005。 开发工具:vs2010。 开发语言:c#. 浏览器:IE6.0以上。

分辨率:最佳效果1024 × 768 像素。 2.4 可靠性需求

为更好地加强网络系统,新闻发布网站的管理,认真落实网络和信息安全保障制度,确保网络提供稳定、安全的信息服务。 2.5 用户界面需求

网站界面是用户直接访问的页面,所以必须要让用户一访问就能看出来这个网站的主题思想是什么,一下就能体现出这个网站的中心内容。并且首页的模块之间要联系紧密,更好的让用户理解明白。在这个页面上我们要做到所有查看消息的功能都能实现,或者说有能实现查询信息功能的连接。

二、架构分析与设计总结

在这一部分我学到了架构分析与设计的整体思路,它就是整个程序的核心一样,让你思路更加清晰对整体有个把控,架构就是人们对一个结构内的元素及元素间关系的一种主观映射的产物。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口(计算机科学)来实现。 软件体系结构是构建计算机软件实践的基础。与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础。 下面是它的大概流程步骤: 2.1项目规划:

新闻发布系统是一个由前台新闻浏览和后台新闻管理两大部分组成。 前台新闻显示:(新闻浏览、新闻搜索、新闻评论、用户登录)

可以根据网站的需要,进行各种方式的插入,自动更新.如显示栏目导航,显示某栏目的最新N条新闻等. 使用新闻文章管理系统制作动态网页时,可在需要的地方插入相应的代码,即可以多种形式显示新闻 文章的栏目或内容。例如: 功能包括: 1.新闻浏览 2.新闻搜索 3.新闻评论 4.新闻管理

5.管理权限[用户和管理员] 后台管理:

1. 新闻管理:增加,修改,删除,查找 2.新闻评论管理 3.新闻类别管理 4.用户管理

5.管理员管理:新闻管理系统的管理员设置。

2.2系统功能结构图:

新闻发布系统 前台后操作 台 操 作 管

用用管共户理户理同 登员操员操登 录 作 操作 录 作 2.3系统设计 设计目标 本网站是根据新闻信息分类进行开发设计的,主要实现如下目标:类展示新闻。 显示新闻的详细信息。 设置新闻搜索功能模块。

分 2.4 逻辑结构设计

本系统数据库采用SQL server 2005数据库,系统数据库名称为system news。数据库中包含5张表。关于数据库中的数据表请参见本文档第四大部分数据库设计总结中。

本新闻发布系统主要分为两层:界面层和实体层。 界面层的主要功能包括: (1) 界面层的主要功能包括:

(2) 向浏览者展示新闻的内容,分类等信息。 (3) 采集浏览者和管理员的输入信息和操作。 实体层的主要功能包括:

(1)操作数据库

(2)从数据访问层中获取数据,以供界面显示用

(3)从界面层中获取用户指令和数据,执行业务逻辑 (4)从界面层中获取用户指令和数据,通过DAL写入数据源

本系统是采用三层架构,即为表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想,这样做使开发人员可以只关注整个结构中的其中某一层; 可以很容易的用新的实现来替换原有层次的实现; 可以降低层与层之间的依赖;有利于标准化;利于各层逻辑的复用。 结构更加的明确 7、在后期维护的时候,极大地降低了维护成本和维护时间。 ·

三、子系统与类分析与设计总结。

在经过了架构分析与设计总结以后,就进入了具体的子系统的设计,为的是如何协作子系统内部的设计元素(类,已有的通信技术,遗留系统)等来实现子系统对外接口所许偌的操作。在设计子系统的过程中要注意的是要将那些非功能性需求所需要的技术也要融入进来,这样就将设计机制的东西也放了进来,此时的设计成为了一个对程序员来说具有实际意义的设计。

而对于在用例设计过程当中并没有成为子系统一部分的设计元素也就是类设计元素,在这个阶段也应当根据细化的事件流设计成具体的类.

关于子系统和类的设计我没有非常详细的阐述,原因在于这两个方面的设计一个是比较的复杂,另外一个也是需要经验的缘故,我其实是有点难以理解, 我的新闻发布系统采用了三层架构的设计模式,在这个系统里面还设计了对数据库字段的封装类,成为Model类,在这一部分,子系统与类的分析与设计中,我学到了很多首先对类的设计进行分析一下, 1类的分析与设计:

基于我这个新闻发系统来说类的设计如:

在业务逻辑层,主要建了4个类,分别是CategoryManager.cs,CommentManager.cs,LoginManager.cs,NewsManager.cs,在CategoryManager.cs里面,主要有以下几个方法: · 取出当前所有新闻分类 · 增加类别 · 修改类别 · 删除类别(连同其下的新闻及新闻评论一起删除) · 判断类别名称是否已存在 在CommentManager.cs里的方法有: 根据新闻ID取出该新闻的所有评论 · 添加评论 · 删除评论

在NewsManager.cs这个类里,方法有:

· 取出最新10条新闻(所属分类、新闻标题、发布时间) · 取出10条热点新闻 · 根据类别ID取出该类别下的所有新闻 · 根据新闻ID取出该条新闻主体内容 · 根据标题搜索新闻 · 根据内容搜索新闻 · 增加新闻 · 修改新闻 · 删除新闻(连同其下新闻评论一起删除) 例此之外还有个LoginManager.cs,它的方法有: 判断用户登录是否成功

其实在业务逻辑层的这些类里面所包含的方法中,只有判断用户登陆是否成功个一个方法是真正的实现了它的功能,最终实现了登陆,而其它的这些方法他们其实只能说是个接口,它实现了界面层数据的接收,以及将数据访问层传来的数据返回给界面层显示的功能,说白了只能算是个数据传递者。

在数据访问层也有这么几个类:CategoryDAO.cs,CommentDAO.cs,NewsDAO.cs,SQLHelper.cs 其中前三个类CategoryDAO.cs,CommentDAO.cs,NewsDAO.cs在我看来是处理业务逻辑层与之对应的方法传来的一些数据或指令,是与数据库的交互,之后再把与数据库交互后的数据返回给业务逻辑层。而

SQLHelper.cs是一些ADO操作,供数据访问层的那些类使用。可以说是数据库助手类吧,我个人觉得是个很好的设计。

在这一部分,我觉得遇到的困难就是有时候用业务逻辑层调用方法时没有智能提示,这一点通过后来的努力也解决了,方法是添加引用,要习惯于对数据访问层的生成操作。

在Model 层里,其实Model 在我觉得只算是一个封装层吧,我的设计是它主要封装数据库里面的字段,有如下几个类:

Category.cs,Comment.cs,News.cs。它们对应着数据库里面的三张表类别表,评论表,和新闻表,对表里面的字段进行封装,分别形成独立的类,这样在写代码的时候直接调用类里面的字段,这样就可以减少在写数据库里面的字段是,发生拼写错误。

我个人感觉这个新闻发布系统对类的设计还是很不错的,没有形成代码的冗余,繁杂。使代码更加有条理化了。 四、数据设计总结

在这一部分学到了数据库在一个系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建议中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。数据库建设是硬件、软件和干件的结合 ,三分技术,七分管理,十二分基础数据,技术与管理的界面称之为“干件” ,数据库设计应该与应用系统设计相结合 结构(数据)设计:设计数据库框架或数据库结构 ,行为(处理)设计:设计应用程序、事务处理等 结构和行为分离的设计 传统的软件工程忽视对应用中数据语义的分析和抽象,只要有可能就尽量推迟数据结构设计的决策早期的数据库设计致力于数据模型和建模方法研究,忽视了对行为的设计。

设计数据库系统时应该充分了解用户各个方面的需求,包括现有的及将来可能增加的需求。难点就是数据库设计中逻辑结构设计。下面是数据库设计一般包括如下几个步骤。 (1)数据库需求分析。 (2)数据库概念结构设计。 (3)数据库逻辑结构设计。 (4)存储过程设计。 数据库需求分析数据库需求分析数据库需求分析数据库需求分析 用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据结构能充分满足各种信息的输出和输入。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。 数据库的需求分析是进行系统功能划分和系统设计最重要的一个环节,根据系统数据流程图,可以得到主要的几个数据库表:用户信息表(user),管理员表(Administrator)新闻信息表(news)、评论表(comment)、新闻种类表(category).如下所示:

数据库表 数据库表名 存储内容 user Administrator Comment 存储用户的信息 存储管理员的信息 存储用户评论信息 category news

用户表[user] 字段名 字段类型 说明 id int 用户编号 name Varchar(20) 用户姓名 Not null pwd Varchar(15) 用户密码 Not null 管理员表[Administrator] 字段名 字段类型 说明 id int 管理员编号 name Varchar(20) 管理员姓名 Not null pwd Varchar(15) 管理员密码 Not null 新闻表[news] 字段名 字段类型 说明 id int 新闻编号 title Varchar(100) 新闻标题 Not null content Text 新闻内容 Not null createtime datetime 新闻创建时间 Not null caId Int 新闻所属类别 Not null 评论表[comment] 字段名 字段类型 说明 存储新闻种类信息 存储新闻信息 备注 主键 备注 主键 备注 主键 备注 id content createtime userIp newId name int 编号 Text 评论内容 Not null Datetime 评论时间 Not null varchar(15) 用户id Not null int 新闻id Nvarchar(50) 名字 主键

新闻种类表[category] 字段名 字段类型 说明 id Int 编号 Not null name Varchar(20) 新闻分类名 Not null

备注 主键

因篇幅问题不能全部显示,请点此查看更多更全内容

Top