1、图4-1新闻系统功能模块图2.2运行环境要求2.2.1硬件设备要求客户机硬件要求:具有 Pentium III 处理器以上且满足以下要求的计算机:最低 64 MB 内存,最小 2.1 GB 硬盘。服务器硬件要求:最低 256MB 内存,最小 8 GB 硬盘。2.2.2软件设备要求 客户端操作系统:Windows 98/NT/2000/XP或更高版本浏览器:IE 5.0以上或Netscape同等版本以上服务端系统设计工具: Visual Studio 2005或者Visual Studio 2008数据库:SQL server20053. 系统设计3.1新闻系统的设计模型结构3.1.1系统的功能
2、模块新闻的功能模块分为四个大的部分,新闻的管理,新闻的查询,新闻类别的管理,用户的管理。系统的功能模块图如图3-1所示图3-1系统的功能模块图3.1.2用户管理功能模块的关系本新闻系统的用户分为管理员用户和普通的用户。普通用户在新闻管理上可以浏览新闻的基本信息,添加新闻;在新闻查询上可以按照新闻的发布时间对新闻进行查询。管理员用户除了拥有普通用户的功能外,还可以在用户管理上对用户进行用户的基本信息的浏览,用户管理和新闻类别管理是管理员用户所特有的操作,用户管理包括对所有用户的添加、浏览和删除;新闻类别管理是在进行新闻类别界面对新闻界面的浏览,添加和删除。用户的功能模块图如图3-2所示图3-2用
3、户功能模块图3.1.3系统工作流程分析用户进入系统后,按照其身份的不同,可进入不同操作界面。但是其工作的流程是大致相同的。如果是管理员用户,则进入管理员身份的新闻系统,管理员可以进行新闻管理、新闻查询、用户管理和新闻类别的管理,管理员的新闻管理不但有新闻的添加和浏览,还可以对新闻进行删除操作;新闻查询是按照时间对新闻进行精确地查询,并在查询界面返回查询结果;用户可以在每个页面新闻之间相互跳转,只要点击相应页面的连接就可以实现。其工作流程图如图3-3所示图3-3系统工作流程图3.2新闻系统的功能模块简介新闻的功能是新闻系统的重点模块,进一步了解与熟悉新闻系统的功能模块,才能够很好的完成新闻系统,
4、掌握新闻系统的工作流程,明确每一个新闻系统界面的功能。下面是对新闻管理系统功能模块的一些说明。3.2.1.新闻类别管理管理员发布Web Services,使得用户可以通过Web Services向数据转换服务器发送执行作业的请求。用户调用发布的Web Services,输入相关的参数,服务器调用适当的作业服务器和作业来处理请求,最后将需要的结果返回。(1)新闻类别的录入,包括类别编号和类别名称等信息;(2)新闻类别的增加;(3)新闻类别的删除;3.2.2.新闻的管理通过对后台数据库相关内容的修改能够实现对新的新闻内容进行添加和讲过去的新闻删除,为此系统的核心部分。(1)基本新闻信息的录入,包括
5、新闻标题、新闻内容和所属类别等;(2)基本新闻信息的增加;(3)基本新闻信息的删除;3.2.3.新闻查询模块(1)按照新闻类别分页显示新闻;(2)按照日期分页显示新闻。3.2.4.编辑用户信息(1)系统用户信息的录入,包括用户名和密码等信息;(2)系统用户信息的增加;(3)系统用户信息的删除。4.详细设计4.1数据库设计本系统定义的数据库中包含以下3个表:新闻类别表:category、新闻基本信息表:news、和用户信息表:xtuser。首先根据新闻系统设计计划表的的内容及相关的属性,并使用数据库工具创建表。下面分别介绍这些表的结构及相关内容,表建立好后,新闻系统的用户可以根据具体的新闻系统的
6、实现新闻系统的功能。4.1.1新闻类别表category新闻类别表category用来保存新闻类别数据,结构如表4.1所示。表4.1新闻类别表category的结构编号字段名称数据结构说明1cateIDint新闻类别编号2catenamevarchar (50)新闻类别名称(其中cateID是表category的主键)在设计数据库结构时,很多表都需要设计一个整型字段作为标识列,这几乎已经成为惯例,例如表category中的cateID字段。所谓标识列,就是可以惟一标识一行记录的列,在表中不会存在两条标识列相同的记录。如果其他表需要引用表category中的数据,则在表中添加一个cateID字段
7、就可以了。有的程序设计人员习惯于直接使用名称字段作为标识列,例如表category中的catename字段。这样,如果修改catename字段的值,就需要同时修改其他所有表的相应字段的值,从而造成不必要的麻烦。在系统中,cateID字段对于用户来说是透明的,用户感觉不到它的存在,也无法对其进行修改。其中新闻类别编号的int是自增长的的。在SQL server 2005中创建的category表如图4-1所示图4-1新闻类别表category4.1.2基本新闻表news基本新闻表news用来保存网上新闻的基本信息,结构如表4.2所示。表4.2基本新闻表news的结构ID新闻编号titlevarc
8、har(50)新闻标题3contenttext新闻内容4postTimedatetime提交时间5poster提交人6cateId(其中ID是表news的主键,主键ID自增长的)在SQLServer2005中,可以使用char、varchar和text等3种数据类型存储非Unicode字符数据。char和varchar只能存储最多8000个字符,其中char用于存储固定长度的字符数据,varchar用于存储可变长度的字符数据。如果需要存储的数据很大,则可以使用text数据类型,例如表News中的Content字符,因为新闻内容的数据量通常会超过8000个字符。text数据类型也是可变长度的,最
9、多可为2147483647个字符。其中新闻编号ID是自增长的。在SQL server 2005中创建的news表如图4-2所示图4-2基本新闻表news4.1.3用户信息表xtuser用户信息表xtuser用来保存用户的基本信息,这个表主要涉及新闻系统用户的各项基本的信息,每个用户的基本信息包括用户ID、用户名、密码、真实姓名、电子邮件和是否是管理员6项,其结构如表4.3所示表4.3 用户信息表xtuser的结构userID用户ID号username用户名userpwdvarcahr(50)密码Ename用户姓名Email电子邮箱admin是否为管理员(0为是管理员,1为不是管理员),user
10、Id是表xtuser的主键,用户ID号userId是自增长的。)SQL server 2005中创建的xtuser表如图4-3所示图4-3用户信息表xtuser4.2各主要窗体页的图形界面介绍新闻系统的页面设计是基于各个窗体的图形界面的。新闻系统的各个主要界面包括用户的登录界面,新闻管理界面,新闻查询界面,新闻类别管理界面和用户管理界面5个大的部分。设计者根据需求分析中的新闻系统的要求,完成对新闻系统的页面设计。4.2.1登录界面登录界面包括用户名和密码,及一个身份的选择,在Visual Studio中的工具栏中分别选择Label、DropList、TextBox和Buttton控件,选中每个
11、控件,修改每个控件属性中的“text”,更改为要显示出的内容,根据需要调整其位置及大小,如修改密码的属性为password,使其显示为密码形式等。登录界面的设计如图4-4所示图4-4用户登录界面4.2.2新闻管理界面新闻管理界面是显示新闻内容的一个重要界面,在上面不但可以浏览到用户提交的新闻,还可以连接到其他的管理界面,并可以转到新闻添加的界面。所要用到的控件是Hyperlink、Label、TextBox和Buttton,并需要添加一个GridView的表,根据新闻数据库中的有关新闻的信息,完善GridView表的内容。因为是GridView表格,所以完成表格列的的基本信息后要对表格进行数据
12、绑定,在数据绑定时绑定的列的名称一定要与数据库中列的名称一致,GridView表中包含删除一项,所以要对删除的RowDeleting属性进行修改完善。添加后的新闻管理界面设计显示如图4-5所示图4-5新闻管理界面新闻管理界面还应包括新闻添加的界面,点击新闻添加按钮,就可以跳转到新闻添加页面。添加新闻界面是用户填写新闻基本信息的界面。设计者要根据需要把控间的每个属性进行完善,例如新闻的各项基本信息选项不可为空,如果为空,则新闻添加不成功,并要给出提示等等。添加新闻的设计如图4-6所示图4-6添加新闻界面4.2.3新闻查询界面新闻查询界面是用户按照新闻的提交时间来进行查询的一个操作界面,新闻查询也
13、要使用一个GridView表,其显示格式要与新闻管理中的新闻表一样,普通用户和管理员用户都可以通过单击“开始查询”来查找新闻,并可以点击“重新查询”来进行重新查询。所以新闻查询界面的设计如图4-7所示图4-7新闻查询界面4.2.4新闻类别管理界面新闻类别管理是新闻进行分类和添加新闻时进行新闻选择的一个重要管理,管理员用户可以添加和删除新闻类别,添加和删除新闻类别在一个界面之上,用户并可以在此界面上连接到其他的管理界面,所要用到的控件是Hyperlink、Label、TextBox和Buttton,及一个GridView的新闻表格,表格的形式应与新闻管理中的新闻表格一致(没有新闻删除一列)新闻类
14、别管理的界面设计如图4-8所示图4-8新闻类别管理界面4.2.5用户管理界面用户管理包括管理员用户对所有用户的添加和删除,在用户管理界面上可以看到所有的用户的各项基本信息,通过点击“添加用户”按钮来进入用户添加界面,对用户的基本信息进行添加,通过返回用户管理界面进行添加后的用户信息查看。点击“删除”来删除用户。用户管理界面的设计如图4-9所示图4-9用户管理界面用户管理应包括一个添加用户基本信息的界面,同新闻的基本信息添加一样。用户的各项基本信息的空间属性也需要进行相关的完善。除了各项必须要填写的信息外,密码要设置成不可见的形式,另外确认密码的属性也要设置为源输入密码一致。添加用户的操作设计如
15、图4-10所示图4-10添加用户界面4.3系统部分重要功能及代码新闻系统设计用户登录,新闻管理,新闻添加,新闻删除,新闻查询,新闻类别管理,新闻类别添加,新闻类别删除,用户管理,添加用户,删除用户等,在新闻系统的每个前台创建好新闻系统的各个界面以后(ASPX界面),需要连接调用Web Services方法。Web Services所用到的WebMethod一共有2个,其中一个是userWeb Services.cs,包括登录时的CheckUser(),添加用户时的用到的AddUser(),登录用户管理界面时出现数据表DataTable UserManage(),以及删除删除用户的DeleteU
16、ser()等等,另一个newsWeb Services.cs,包括添加新闻时用到的AddNews(),新闻类别管理时出现的数据表格用到的 Category(), 删除新闻时用到的DeleteNews(), 删除新闻类别时用到的DeleteCategory(),核对新闻数据表格时用到的 CheckNews()等等。新闻系统所要用到的全部Web Services的方法如图4-11(a)和图4-11(b)所示图4-11(a)NewWebServices方法图4-11(b)UserWebServices方法4.3.1用户登录用户登录界面包括用户名,密码和用户身份的选择,首先要创建名为“Login.as
17、px”的文件。在设计好文件样式后,要编辑每个功能按钮的代码。对于“登录”按钮,在“Login.aspx.cs”中的代码为:protected void Button_Login_Click(object sender, EventArgs e) UserWebService userWS = new UserWebService(); string username = TextBox_Username.Text; string pwd = TextBox_Password.Text; int chr=userWS.CheckUser(username, pwd); if (chr=0) Re
18、sponse.Redirect(/NewsManage.aspx); else if (chr=1)/NewsManage2.aspx else Label_Result.ForeColor = Color.Red; Label_Result.Text = 用户名与密码不一致,请重新输入!;上述部分代码的功能是用户输入用户名和密码后,点击登录系统会根据用户输入用户名和密码,作出判断:如果是管理员,则进入到管理员的新闻管理界面;如果是普通用户,则进入到普通用户的新闻管理界面;如果输入的用户名和密码不符,则不能成功登陆,系统会自动提示“用户名与密码不一致,请重新输入!”上述代码是在“Login.a
19、spx.cs”文件中编写的,而在上述代码里面调用了Web Services的方法,在UserWeb Services.cs的文件下的WebMethod CheckUser()的代码如下:WebMethod public int CheckUser(string username, string pwd) /连接用户数据库 判断 DB db = new DB(); db.Connect(); string sql = SELECT * FROM xtuser WHERE username= + username + and userpwd= + pwd + SqlDataReader reade
20、r = db.QueryReader(sql); if (reader.Read() return (int)readeradmin; return -1;在Login.aspx.cs的页面进行调试,调用WebMethod中的用于判定与联系数据库的方法,就可以登录在本系统中还需要一个通用的类DB.cs用于数据库的连接,可以避免重复的编写,通用类DB的关键代码如下:public void Connect() if (conn = null) conn = new SqlConnection(DB.connString); if (conn.State != ConnectionState.Ope
21、n) conn.Open(); public void Close() if (conn != null & conn.State != ConnectionState.Closed) conn.Close();/ / 获取SqlDataReader / public SqlDataReader QueryReader(string sql) SqlCommand cmd = new SqlCommand(sql, conn); return cmd.ExecuteReader(CommandBehavior.CloseConnection); / 执行非查询语句public int Quer
22、yInt(string sql) return cmd.ExecuteNonQuery();用户在填写好用户名和密码之后,就可以顺利登陆系统,如果用户名或密码错误,则系统会给出提示,提示用户更正错误,是否是管理员身份的选择用户可以进行选择,也可以不用选择,系统会根据数据库中用户身份自动判断用户是否是管理员。新闻系统的登录界面如图4-12所示(图4-12就是登陆失败的情况)图4-12用户登录4.3.2新闻管理用户成功登陆后,就进入了新闻管理界面,新闻管理界面包括与其他新闻系统页面的相互跳转级新闻的添加和删除,进入新闻管理界面首先可以浏览到一个新闻基本信息的表,所以在“NewsManage.asp
23、x.cs”文件中首先应有如下代码;protected void Page_Load(object sender, EventArgs e) /一个新闻的表格 NewsWebService newsWS = new NewsWebService(); DataTable dt = newsWS.News(); GridView_News.DataSource = dt; GridView_News.DataBind();显示的新闻表格GridView_News调用了Web Services方法,在NewsWeb Services.cs中的News方法代码如下: public DataTable
24、News()SELECT * FROM news DataTable dt = new DataTable(); dt.Load(reader); db.Close(); return dt;用户成功登陆后,就进入了新闻管理界面,新闻管理界面包括与其他新闻系统页面的相互跳转级新闻的添加和删除,点击相关的连接,用户就可以跳转到相关的页面,进入新闻管理界面首先可以浏览到一个新闻基本信息的表,用户点击添加新闻按钮,就可以对新闻进行添加,新闻管理界面如图4-13所示(图4-13登陆的身份是管理员用户)图4-13新闻管理另外点击“添加新闻”按钮进入到添加新闻的界面,跳转到添加新闻页面(Addnews.a
25、spx)的代码如下:protected void Button1_Click(object sender, EventArgs e)/Addnews.aspx普通用户和管理员都可以对新闻进行添加,填写新闻的有关基本信息,然后提交。提交成功后,可以在新闻管理界面浏览到刚刚添加的新闻。新闻添加界面包括新闻的基本信息新闻类别、新闻题目、新闻发布人、发布时间、新闻内容,在进入新闻添加的界面时,要首先获取一个新闻类别的下拉框,新闻类别的内容是根据数据库中的新闻类别(category)自动获取的,获取新闻类别的代码如下: if (!IsPostBack) /通过WebService获取分类信息 ArrayList lst = newsWS.GetCategory(); for (int i = 0; i lst.Count; i+) object news = (object)lsti; DropDownList_Category.Items.Add(new ListItem(news1.ToString(), news0.ToString
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1