杂志订阅系统的开发毕业论文.docx
- 文档编号:9718497
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:80
- 大小:1.10MB
杂志订阅系统的开发毕业论文.docx
《杂志订阅系统的开发毕业论文.docx》由会员分享,可在线阅读,更多相关《杂志订阅系统的开发毕业论文.docx(80页珍藏版)》请在冰豆网上搜索。
杂志订阅系统的开发毕业论文
杂志订阅系统的开发毕业论文
目 录
第一章前言1
1.1研究的目的意义1
1.2现状分析1
第二章开发环境综述2
2.1ASP简介2
2.2SQLServer简介4
第三章系统总体设计6
3.1功能结构设计6
3.2开发架构设计6
3.3数据库设计9
第四章系统详细设计与实现20
4.1登录和注册20
4.2用户管理22
4.3后台管理26
第五章系统测试与维护30
5.1系统测试30
5.2系统维护31
第六章结论32
参考文献33
附录I:
英文资料及其翻译34
附录II:
主要代码40
谢辞59
第一章前言
1.1研究的目的意义
近些年来,随着网络技术的不断发展,网络知识的逐渐普及,人们越来越频繁地接触网络,越来越多地利用网络来完成各种工作。
许多传统的工作也开始移植到网上,从而形成了一套更便捷的工作流程。
杂志订阅系统就是在这样的背景下开发的。
我国的杂志一般都是通过邮局或代理进行订阅和发行的,杂志种类繁多,订阅者的身份及需求不同,因此杂志的订阅工作较为繁杂。
当今,计算机网络已成为社会信息传递最方便快捷的工具,利用它可以使远隔万里的用户能够相互通讯。
如果利用计算机网络辅助管理杂志订阅工作,那么将极大地提高工作效率,减少不必要的工作差错,降低人力支出。
1.2现状分析
网络上有关杂志订阅系统开发的方案极少,却大多都是提出功能需求希望有人来开发的。
在网上也并没有找到一个可以用来参考的实际案例,只有一些不全面的理论介绍。
经过查询,与此相关的文献书籍也很缺乏。
杂志订阅系统是一个计算机辅助信息管理系统。
该系统保存所有通过邮局(或杂志发行代理)发行的杂志以及与发行有关的信息;接受订阅者的订阅,并保存订阅、付款日期和金额、以及投递信息;输出投递和订阅清单;统计各杂志的各阶段的总订阅数,并输出各杂志社的订单汇总表。
第二章开发环境综述
2.1ASP简介
MicrosoftActiveServerPages即用户所称的ASP,其实是一套微软开发的服务器端脚本环境,ASP含于IIS之中,通过ASP,用户可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的Web服务器应用程序。
有了ASP,用户就不必担心客户的浏览器是否能运行他所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。
当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。
ASP所设计出的是动态主页,可接收用户提交的信息并作出反应,其中的数据可随实际情况而改变,无须人工对网页文件进行更新即可满足应用需要。
例如:
当在浏览器上填好表单并提交HTTP请求时,可以要求在站点服务器上执行一个表单所设定的应用程序,而不只是一个简单的HTML文件。
该应用程序分析表单的输入数据,根据不同的数据容将相应的执行结果(通常是数据库查寻的结果集)以HTML的格式传送给浏览器。
数据库的数据可以随时变化,而服务器上执行的应用程序却不必更改,客户端得到的网页信息会始终保持新鲜的魅力。
从软件的技术层面看,ASP有如下的特点:
1.无需编译:
ASP脚本集成于HTML当中,容易生成,无需编译或即可直接解释执行。
2.易于生成:
使用常规文本编辑器(如WINDOWS下的记事本),即可进行*.asp页面的设计。
若从工作效率来考虑,不妨选用具有可视化编辑能力的VisualInterDev。
3.独立于浏览器:
用户端只要使用可解释常规HTML码的浏览器,即可浏览ASP所设计的主页。
ASP脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。
因此,若不通过从服务器下载来观察*.asp主页,在浏览器端见不到正确的页面容。
4.面向对象:
在ASP脚本中可以方便地引用系统组件和ASP的置组件,还能通过定制ActiveXServerComponent(ActiveX服务器组件)来扩充功能。
5.与任何ActiveXscripting语言兼容:
除了可使用VBScript和JScript语言进行设计外,还可通过Plug-in的方式,使用由第三方所提供的其它scripting语言。
6.源程序码不会外漏:
ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证辛辛苦苦编写出来的程序代码不会被他人盗取。
从应用的层面看,ASP有如下的功能:
1.处理由浏览器传送到站点服务器的表单输入。
2.访问和编辑服务器端的数据库表。
使用浏览器即可输入、更新和删除站点服务器的数据库中的数据。
3.读写站点服务器的文件,实现访客计数器、座右铭等功能。
4.提供广告轮播器、取得浏览器信息、URL表管理等置功能。
5.由cookies读写用户端的硬盘文件,以记录用户的数据。
6.可以实现在多个主页间共享信息,以开发复杂的商务站点应用程序。
7.使用VBScript或JScript等简易的脚本语言,结合HTML码,快速完成站点的应用程序。
通过站点服务器执行脚本语言,产生或更改在客户端执行的脚本语言。
8.扩充功能的能力强,可通过使用VisualBasic、Java、VisualC++等多种程序语言制作ActiveXServerComponent以满足自己的特殊需要。
ASP脚本是一系列按照特定语法(目前支持VBScript和JScript两种脚本语言)编写的,与标准HTML页面混合在一起的脚本所构成的文本格式文件。
当客户端的最终用户用Web浏览器通过Internet来访问基于ASP脚本的应用时,Web浏览器将向Web服务器发出HTTP请求。
Web服务器分析、判断出该请求时ASP脚本的应用后,自动通过ISAPI接口调用ASP脚本的解释运行引擎(ASP.DLL)。
ASP.DLL将从文件系统或部缓冲区获取制定的ASP脚本文件,接着就进行语法分析并解释执行。
最终的处理结果将形成HTML格式的容,通过Web服务器“原路”返回给Web浏览器,由Web浏览器在客户端形成最终的结果呈现。
这样就完成了一次完整地ASP脚本调用,若干个有机的ASP脚本调用就组成了一个完整的ASP脚本应用。
另外注意,当遇到访问数据库的脚本命令时,ASP通过ActiveX组件ADO(ActiveXDataObjects)与数据库对话(ADO是建立在微软新的数据库API,即OLEDB之上的,目前的OLEDB通过ODBC引擎与现存的ODBC数据库交互,进一步的OLEDB版本将直接与数据库打交道,不再通过ODBC引擎),并将执行结果动态生成一个HTML页面来返回服务器端,以响应浏览器的请求。
在用户端浏览器所见到的是纯HTML表现的画面,例如用表格来表现的后台数据库表中的字段容。
由于ASP结合了脚本语言,可以通过编程访问ActiveX组件,并且具有现场自动生成HTML的能力,所以它成为建立动态Web站点的有效工具。
ASP原理示意图如图2-1所示。
图2-1ASP原理示意图
2.2SQLServer简介
Database-数据库是数据集中存放的地方,并且只有经过授权的人或程序才能使用数据库中的信息,才能对数据库进行操作,在数据库中的数据经过适当设计,可以减少信息冗余。
它是一种存储数据并对数据进行操作的工具,作用在于组织和表达信息,简而言之,数据库就是信息的集合。
计算机的数据库可以分为两类:
非关系数据库(flat-file)和关系数据库(relational)。
关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,如记录、域等。
SQLServer2000是Microsoft公司最新开发的大型关系数据库管理系统,具有非常强大的关系数据库创建、开发、设计及管理功能;它将数据库连接到Internet,并通过Web浏览器显示数据操作,具有客户机/服务器结构,并与Microsoft公司的其他产品及第三方产品具有良好的兼容性,能方便的实现无缝操作。
此外,SQLServer2000还提供了对分布式事务处理的支持,并具有对开发工具的良好支持,能为大型数据库项目提供优秀的企业级解决方案。
因此,SQLServer2000具有以下几个方面的特点:
1.与Internet的紧密结合
SQLServer2000的数据库引擎集成了对XML的支持,同时以可扩展、易于使用和安全的特点,成为建设大型Web站点最好的数据存储设备之一。
SQLServer2000的编程模式在很大程度上与专用于开发Web应用的WindowsDNA架构相集成。
同时,SQLServer2000所携带的诸如英语查询以及Microsoft查询服务等为开发
Web应用提供了友好而强大的查询界面。
2.可扩展性和可用性
SQLServer2000所支持的联盟数据库服务器(federeateddatabaseserver)
特性允许用户在多个数据库服务器上水平划分数据表,从而使得用户把本来一台服务器负责的功能扩展到多台数据库服务器上去。
这多台数据库服务器彼此合作提供类似于集群服务器所提供的强大性能。
3.企业级数据库
SQLServer2000关系数据库引擎具备有完善而强大的数据处理功能。
它在
有效保证数据库一致性的基础上,尽量降低成千上万的数据库用户进行并发访问时的管理和延迟成本。
4.简单、友好的操作方式
SQLServer2000包含一整套的管理和开发工具。
这些工具都具有非常友好的用户界面,在提供强大功能的同时,易于安装、使用和发布。
用户可以把更多的精力放在自己的业务问题上,可以非常迅速地建立并发布强大而复杂的数据库应用系统。
5.数据仓库支持
SQLServer2000为了满足现代企业对大规模数据进行有效分析和利用的要求,包含了一系列提取、分析、总结数据的工具从而使联机分析处理成为可能。
同时,SQLServer2000提供了英语查询工具和编程接口。
使得以英语为基础设计和管理、查询数据库成为可能。
SQL语言由以下几部分组成:
1.数据定义语言(DDL):
提供定义关系模型、删除关系、建立索引以及修改关系模型的命令。
2.数据操作语言(DML):
不仅包括基于关系代数和关系演算的查询语言,而且还包括在数据库中插入、修改、删除等命令。
3.视图定义:
包括定义视图的命令。
4.权限管理:
包括指定对关系和视图的访问权限的命令。
5.完整性:
定义数据库的数据必须满足的完整性约束条件的命令,破坏数据完整性约束条件的更新将被禁止。
6.事务控制:
SQL提供定义事务开始和事务结束的命令,有时还利用加锁机制用来使用并发机制。
7.嵌入式DDL语言:
用于某种通用编程语言中,如Pascal、C和Fortran。
第三章系统总体设计
3.1功能结构设计
杂志订阅系统主要由登录验证模块,订单管理模块,客户子系统,基本信息子系统组成。
客户子系统主要包含2个功能模块:
个人信息模块,客户事务模块。
基本信息子系统主要包含3个功能模块:
杂志信息模块,杂志社信息模块,客户信息模块。
客户事务模块又可包括3个子模块:
杂志浏览模块,临时订阅模块,已往订阅模块。
系统功能模块图如图3-1所示。
图3-1系统功能模块图
3.2开发架构设计
因为ASP只是支持不彻底的面向对象思想,所以很多设计模式是不能真正实现的,只能以设计模式思想作指导,以VBScript为实现(可结合COM组件技术)来编写ASP框架Framework。
ASP框架是典型的微型DNA(WindowsDistributedInternetApplicationsArchitecture分布式互连网应用结构)架构,包括数据层(data),业务层
(business),表示层(presentation)的三层体系结构,业务层是整个应用的心脏(核心)部分。
如图3-2所示:
图3-2系统架构设计图
各个层次的结构描述如下:
1.数据存储层(data):
数据服务层为应用提供数据来源。
可以根据需要选择MicrosoftSQLServer、Oracle或任何与OLEDB或ODBC兼容的数据源。
2.数据访问层接口为数据访问层提供访问数据库的抽象接口,它并不实
现具体方法。
它的主要作用为数据访问层提供一个通用的可继承、可实例化的接口。
每个接口都与数据访问层的某个方法相对应。
3.业务层(business):
事务逻辑层负责处理表示层的应用请求,完成商务逻辑的计算任务,并将处理结果返回给用户。
A数据访问层DAL(DataAccessLayer):
负责访问和控制所有数据库,所有用户提交的数据全都交给DAL处理,比如FORM数据或者是URL参数,后台逻辑层的其它相关处理都必须从DAL获取返回值,这里应该进行的操作一般有:
获取Request数据--进行安全处理--检查用户数据是否规--输出返回值。
B业务逻辑层(BusinessLogicLayer):
和系统Web业务逻辑相关,它是系统数据处理的最高层,与系统的具体业务相关联。
它与Web呈现层中的具体操作相关,如页面中的添加、更新和删除操作,并使用数据访问层实现Web呈现层中的具体操作。
4.表示层(presentation):
是以JavaScript(浏览器的支持较友好)+XML为主的可加上HTML,DHTML,Scripting,JavaApplet,ActiveX等组成的用户界面层和数据传递层。
数据传递层(网页表单)负责预处理用户提交的所有数据,也负
责接收后台输出的轻量级数据,可采用JSAX技术获取局部资料等。
因此本系统可分为5层,它们分别为表示层(主要显示系统信息,为用户服务)、业务逻辑层(或称商业逻辑层,主要把表面呈现层的功能抽象化,为表面呈现层服务)、数据访问层(主要访问数据库,也为业务逻辑层服务)、数据库访问接口层(实现数据访问层访问数据库的抽象函数或接口)和系统数据库。
由于ASP只是支持不彻底的面向对象思想,对于表示层、业务逻辑层、数据访问层不能完全地分离。
但可以在代码上进行优化,以利于维护和阅读并向ASP.NET进行整合或迁移。
具体优化方法是:
将数据访问层所做操作(如:
获取Request数据--进行安全处理--检查用户数据是否规--输出返回值)的代码编写在一起,也可以通过COM组件进行事务处理,使用VB(VC和C++等)来创建用户组件,将同一业务逻辑下的页面和逻辑封装到一个类里,用不同的方法来实现。
这样就能充分利用廉价的存来存储逻辑上独立的一个复杂对象,从而减少昂贵资源(例如数据库)的使用。
可将业务逻辑层所做操作的代码编写在一起,也可封装成一个个的VBS CLASS。
此层可以作为数据访问层与表示层之间的控制页面,将数据访问层所返回的查询值正确地显示在相对应的表示层页面上。
表示层绝大部分工作主要用于解决如何准确美观地显示页面及如何对表单进行检查的问题。
由于ASP的局限性,可能会有部分工作涉及到业务层(包括业务逻辑层、数据访问层),所以只能尽可能地避免这种情况,但不能杜绝。
经过上述优化方法,基本可以实现表示层,业务逻辑层,数据访问层三层的分离。
采用上述优化方法设计如图3-3所示系统应用架构图。
图3-3系统应用架构图
在上图中,数据存储层存储杂志订阅系统所有数据源;数据访问层接口主要提供访问数据库的抽象接口;数据访问层负责获取Request数据--进行安全处理--检查用户数据是否规--输出返回值给业务逻辑层;业务逻辑层建立在数据访问层之上,同时又为业务表现层提供服务,它将根据数据访问层提供的返回值选择相应的显示页面模版,并进一步处理返回值;表示层主要为用户提供可视界面。
3.3数据库设计
数据库设计是实现系统功能至关重要的一个部分,它的结构决定了前台数据的输入、输出,因此,设计出一个功能完善、结构清晰的数据库是非常必要的。
数据库设计的目标是:
对于给定的应用环境,建立一个性能良好的、能满足不同用户使用要求的、又能被选定的DBMS所接受的数据库系统模式。
在本系统中将SQLServer2000作为应用程序的数据库。
按照规设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段:
需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。
本节主要针对需求分析、概念结构设计、逻辑结构设计进行系统数据库的设计。
3.3.1需求分析
需求分析的任务是通过详细调查杂志订阅过程中要处理的所有对象,通过充分了解杂志订阅的工作流程,明确使用者的各种需求,充分考虑今后可能的扩充和改变,然后在此基础上来设计数据库。
通过详细调查和认真分析,得出如图3-4所示的系统数据流图。
(a)登录验证模块
(b)个人信息模块
(c)客户事务模块
(d)用户信息模块
(e)杂志社信息模块
(f)杂志信息模块
(g)订单管理模块
图3-4系统数据流图
通过对数据流程的分析,以及对将来数据库扩充的需要,得出本系统数据字典的两项重要容:
数据结构和数据项设计。
具体设计如下:
●管理员信息:
包括的数据项有管理员名、密码、管理员级别等。
●用户信息:
包括的数据项有用户编号、、投递省份、投递地址、邮政编码、联系、身份证号、登录用昵称、密码、、帐户余额、已订阅未过期、已订阅所有、临时订阅车等。
●省份信息:
包括的数据项有省份编号、省份名称等。
●杂志社信息:
包括的数据项有杂志社编号、杂志社名、邮发代号、地址、
邮政编码、杂志社、联系人、联系人等。
●杂志信息:
包括的数据项有杂志编号、杂志名、期刊号、单价、间隔期名、发行间隔期、杂志社编号、杂志类型、简单说明、图片地址等。
●订单信息:
包括的数据项有订单号、订阅人编号、订阅日期、杂志编号、订阅份数、起始年月、期限、到期年月、实付金额等。
●杂志类型信息:
包括的数据项有类型编号、类型名等。
●杂志周期信息:
包括的数据项有周期编号、周期名等。
3.3.2概念结构设计
概念结构设计就是将需求分析得到用户需求抽象为信息结构即概念模型的过程。
它是整个数据库设计的关键。
概念结构设计的第一步就是对需求分析阶段收集到的数据进行分类、组织(聚集),形成实体、实体的属性,标识实体的码,确定实体之间的联系类型,设计分E-R图。
根据数据流程图与数据字典分析得到本系统所涉及到的实体E-R图如下:
管理员实体E-R图如图3-5所示。
图3-5管理员实体E-R图
用户实体E-R图如图3-6所示。
图3-6用户实体E-R图
省份实体E-R图如图3-7所示。
图3-7省份实体E-R图
杂志社实体E-R图如图3-8所示。
图3-8杂志社实体E-R图
杂志实体E-R图如图3-9所示。
图3-9杂志实体E-R图
订单实体E-R图如图3-10所示。
图3-10订单实体E-R图
杂志类型实体E-R图如图3-11所示。
图3-11杂志类型实体E-R图
杂志周期实体E-R图如图3-12所示。
图3-12杂志周期实体E-R图
各分E-R图设计好以后,下一步就是要将所有的分E-R图综合成一个系统的总E-R图。
杂志订阅系统总E-R图如图3-13所示。
图3-13杂志订阅系统总E-R图
3.3.3逻辑结构设计
逻辑结构设计的任务就是把概念模型结构转化成某个具体的DBMS所支持的数据模型。
在上面设计的数据库E-R图的基础上,将数据库的概念结构转化为数据库系
统所支持的实际数据模型,进一步形成数据库中的表格以及各个表格之间的关系。
因此本系统数据库主要包括订单信息表(Orders)、杂志信息表(Mzines)、杂志社信息表(Press)、用户信息表(Users)、管理员信息表(Admins)。
另外还有省份信息表(City)、杂志类型信息表(MzineType)、杂志周期信息表(Issue_Cycle)。
其中各个表结构设计及简要说明如下所示。
1.管理员信息表(Admins)
管理员信息表储存管理员登录名、密码和级别(默认级别为“1”,此项可根据系统以后升级需要扩展其他不同级别的管理员)。
字段说明如表3-1所示。
表3-1Admins表
列名
数据类型
可否为空
说明
Admin_Name
Char(20)
NotNull
管理员名(主键)
Admin_Pword
Varchar(50)
NotNull
密码(MD5处理)
Admin_Level
Smallint
(2)
NotNull
管理员级别,默认为1
2.用户信息表(Users)
用户信息表储存用户的相关信息,包括注册时的信息以及在使用过程中修改以后的信息。
字段说明如表3-2所示。
表3-2Users表
列名
数据类型
可否为空
说明
User_Id
Bigint(8)
NotNull
用户编号(主键)
User_Name
Varchar(16)
NotNull
User_City
Varchar(30)
NotNull
投递省份
User_Add
Varchar(120)
NotNull
投递地址
User_Pcode
Char(6)
NotNull
邮政编码
User_Tel
Varchar(20)
NotNull
联系
User_Idnum
Varchar(18)
NotNull
身份证号
User_Nic
Varchar(16)
NotNull
登录用昵称
User_Pword
Varchar(32)
NotNull
密码(MD5处理)
User_Email
Varchar(60)
NotNull
User_Cash
Smallint
(2)
NotNull
帐户余额(默认“0”)
User_Collection
Varchar(500)
NotNull
已订阅未过期(默认“|”)
User_Past
Varchar(8000)
NotNull
已订阅所有(默认“|”)
User_Just
Varchar(500)
NotNull
临时订阅车(默认“|”)
3.省份信息表(City)
省份信息主要是为投递分类方便而设置,在输出投递清单时,可按照不同省份将投递清单进行分类,以便于投递。
字段说明如表3-3所示。
表3-3City表
列名
数据类型
可否为空
说明
City_Id
Int(4)
NotNull
省份编号(主键)
City_Name
Varchar(30)
NotNull
省份名称
4.杂志社信息表(Press)
杂志社必须正确地填写单位的基本信息,为方便操作,杂志社信息一经建立不能删除,但可以进行信息的修改。
字段说明如表3-4所示。
表3-4Press表
列名
数据类型
可否为空
说明
Press_Id
Bigint(8)
NotNull
杂志社编号(主键)
Press_Name
Varchar(20)
NotNull
杂志社名
Press_C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 杂志 订阅 系统 开发 毕业论文