目录1需求分析……………………………………………………………………12概要设计……………………………………………………………………33详细设计……………………………………………………………………54调试分析……………………………………………………………………155用户使用说明………………………………………………………………166测试结果……………………………………………………………………227结论………………………………………………………………………238致谢……………………………………………………………………………249参考文献………………………………………………………………………25报刊订阅管理系统摘要随着社会发展的多元化、信息化,订阅报刊的管理已经成为一个令人头痛的事情。由于现在报刊总类繁多,需求量大,交易速度快,如何在最短的时间内,对各种报刊进行有效的管理,已成为十分迫切的问题。本系统是一个基于C#和数据库的企业报刊订阅管理系统。系统是智能化的管理系统,它面向企业所有的部门的职业用户,但具有安全性。它能够实现报刊订阅的基本功能,包括对用户、报刊信息的录入、统计、增删改查等操作。用户合法注册后必须输入有效密码才能成功进入此系统,可以进行报刊订阅与退订,修改个人信息和订单信息等操作。关键词:报刊订阅管理系统,C#,数据库报刊订阅管理系统1/25引言随着社会不断的发展,人们的生活水平越来越高,对知识和时事的渴求也越来越高,人们希望能够方便快捷地订阅各种报刊杂志。但是各种各样的报刊名目和详细信息以及订阅,为相关企业的管理造成很大的麻烦。因此我们想到开发一个报刊订阅管理系统。在本系统中,需要实现:管理员可以录入用户信息,报刊信息,同时可按用户名、报刊名、部门对系统进行相应的查询信息以及统计信息等功能;用户可以注册、更新自己的信息,同时还可以订阅、退订报刊和查询、修改订单。1需求分析一直以来,人们在企业单位中都是使用传统人工方式管理单位的报刊订阅,这种管理方式存在着许多缺点,譬如,效率低,保密性差,而且时间一长,将产生大量的文件和数据,难以归类整理,这对于查找、更新和维护都带来了不少的麻烦。通过学习,了解了C#、数据库,并在本次课程设计中利用这些知识点,实现一个面向于企业的报刊订阅管理系统,能够通过计算机和数据库对本单位的报刊订阅进行一系列的管理,实现智能化管理,克服了传统人工管理方式的缺点以及弊端。在报刊订阅管理系统中,要实现:管理员可以录入用户信息,报刊信息,同时可按用户名、报刊名、部门对系统进行相应的查询信息以及统计信息等功能;用户可以注册、更新自己的信息,同时还可以订阅、退订报刊和查询、修改订单。订阅信息处理的特点是订阅信息处理量比较大,所管理的信息信息种类繁多,而且订阅单、编辑单的发生量特别大,关联信息多,查询和统计的方式各不相同。因此在管理上实现起来有一定因难。本系统在设计过程中,为了克服这些困难,需要使程序代码标准化,软件统一化,确保软件的可维护性和实用性;删除不必要的管理冗余,实现管理规范化、科学化;界面友好、简单化,做到实用、方便,尽量满足报刊订阅中员工的需要。报刊订阅管理系统2/251.1任务与分析(1)界面需求:用户界面简洁明了,提供功能实用,按钮逻辑排列清晰,容易使用。(2)登陆功能需求:通过数据库连接,对管理员ID和密码进行身份验证,进入报刊订阅管理系统界面。(3)录入功能:1)系统管理员可以录入新用户信息,,信息一旦提交就存入到后台数据库中;2)系统管理员可以录入新报刊信息,,信息一旦提交就存入到后台数据库中。(4)订阅功能:用户订阅报刊,并可以对订单进行修改、删除等操作。(5)统计功能:管理员可以对订单进行统计,并对订单进行修改、删除等操作。(6)注册:新用户可以注册新帐号,并且将新用户的数据提交到数据库中。1.2测试数据(1)管理员:用户名(admin)、密码(admin)。(2)录入报刊信息:报刊代号(1-3)、报刊名称(huaxi)、出版社(HuaxiPublish)、出版日期(2016-05-10)、内容介绍(live)、季度报价(45)。(3)注册:用户帐号(3120130901506)、真实姓名(Zhangsan)、用户密码(1234)、联系电话(18394842934)、部门名称(publicRelations)、部门号(0135)、用户联系地址(Xihuauniversity)。(4)订阅报刊:用户帐号(3120130901506)、真实姓名(Zhangsan)、报刊代号(1-3)、报刊名称(huaxi)、部门名称(publicRelations)、部门号(0135)、订阅份数(2)。报刊订阅管理系统3/252概要设计报刊订阅管理系统功能结构图如下:本系统分为六大模块:(1)登录功能:登录系统为身份验证登录。分为管理员登录和一般用户登录。分别通过不同的用户名和密码进入报刊订阅管理界面,新的用户需要注册。(2)录入新信息功能:录入报刊和用户信息,并能对报刊和用户信息进行增删改查。(3)订阅功能:用户可以订阅报刊,并对订单进行修改、删除等操作。(4)统计功能:管理员对订单进行统计。(5)系统维护:权限管理,管理员只能登录管理员界面,用户只能根据正确的用户名和密码登录用户界面。E-R如下:登录用户查询、修改信息订阅、退订报刊查询、修改订单管理员统计录入用户信息(增删改查)报刊信息(增删改查)注册报刊订阅管理系统4/25用户联系电话真实姓名联系地址部门号用户账号密码部门名称订单订阅份数用户名报刊代号用户编号订单总额报刊名管理员管理员名密码管理订制报刊信息出版周期季度报价出版报社内容介绍报刊代号报刊名称订阅NM1M1M部门名称部门号数据库设计如下:admin管理员表字段名称字段类型允许空说明adminUser(主码)Char(20)否管理员用户名adminPassChar(10)否管理员密码book订单表字段名称字段类型允许空说明userNoChar(10)否用户帐号userNameChar(20)是真实姓名newsNoChar(10)否报刊代号newsNameChar(40)否报刊名称报刊订阅管理系统5/25orderAmountInt(4)否订阅份数totalPriceFloat(8)是订阅总额users用户表字段名称字段类型允许空说明userNo(主码)Char(20)否用户帐号userNameChar(20)是真实姓名passwordChar(10)否用户密码phoneChar(20)是联系电话depNameChar(50)是部门名称depNumberChar(10)否部门号addressChar(150)是用户联系地址newspaper报刊表字段名称字段类型允许空说明newsNo(主码)Char(10)否报刊代号newsNameChar(40)否报刊名称publishChar(150)是出版报社pubPeriodChar(30)是出版日期contentChar(200)是内容介绍priceFloat(8)否季度报价3详细设计3.1主函数的实现(1)连接数据库(connection.aspx.cs)usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;//引用数据库访问名称空间usingSystem.Data.SqlClient;报刊订阅管理系统6/25usingSystem.Configuration;publicpartialclassconnection:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){//从web.config配置文件取出数据库连接串stringsqlconnstr=ConfigurationManager.ConnectionStrings[ConnectionString].ConnectionString;//建立数据库连接对象SqlConnectionsqlconn=newSqlConnection(sqlconnstr);//打开连接对象sqlconn.Open();Label1.Text=成功建立SQLserver2008数据库连接;sqlconn.Close();//关闭连接对象sqlconn=null;}}3.2数据录入实现3.2.1录入报刊信息(录入用户信息和对用户、报刊、订单的增删改查与之类似)(1)LoggingdataNewspaper.aspx%@PageLanguage=C#AutoEventWireup=trueCodeFile=LoggingdataNewspaper.aspx.csInherits=LoggingdataNewspaper%!DOCTYPEhtmlhtmlxmlns==servermetahttp-equiv=Content-Typecontent=text/html;charset=utf-8/title/title/headbodystyle=background-image:url(13.jpg);background-size:cover;background-repeat:no-repeat;text-align:centerformid=form1runat=serverdivasp:LabelID=Label9runat=serverFont-Bold=TrueFont-Size=25ptText=录入报刊信息/asp:Labelbr/报刊订阅管理系统7/25br/asp:LabelID=Label1runat=serverText=报刊代号/asp:Label asp:TextBoxID=newsNorunat=server/asp:TextBox asp:LabelID=Label2runat=serverText=报刊名称/asp:Label asp:TextBoxID=newsNamerunat=server/asp:TextBox br/br/asp:LabelID=Label3runat=serverText=出版报社/asp:Label asp:TextBoxID=publishrunat=server/asp:TextBox asp:LabelID=Label4runat=serverText=出版周期/asp:Label asp:TextBoxID=pubPeriodrunat=server/asp:TextBox br/br/asp:LabelID=Label5runat=serverText=内容介绍/asp:Label asp:TextBoxID=contentrunat=server/asp:TextBox asp:LabelID=Label6runat=serverText=季度报价/asp:Label asp:TextBoxID=pricerunat=server/asp:TextBox br/br/asp:ButtonID=AddButtonrunat=serverText=添加OnClick=AddButton_Click/ asp:ButtonID=RootButtonrunat=serverText=