




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
杂志订阅系统的开发毕业论文目录第一章 前言11.1 研究的目的意义11.2 现状分析1第二章 开发环境综述22.1 ASP简介22.2 SQL Server简介4第三章 系统总体设计63.1 功能结构设计63.2 开发架构设计63.3 数据库设计9第四章 系统详细设计与实现204.1 登录和注册204.2 用户管理224.3 后台管理26第五章 系统测试与维护305.1 系统测试305.2系统维护31第六章 结论32参考文献33附录I:英文资料及其翻译34附录II:主要代码40谢辞59天津工业大学2007届本科生毕业设计(论文)第一章 前言1.1 研究的目的意义近些年来,随着网络技术的不断发展,网络知识的逐渐普及,人们越来越频繁地接触网络,越来越多地利用网络来完成各种工作。许多传统的工作也开始移植到网上,从而形成了一套更便捷的工作流程。杂志订阅系统就是在这样的背景下开发的。我国的杂志一般都是通过邮局或代理进行订阅和发行的,杂志种类繁多,订阅者的身份及需求不同,因此杂志的订阅工作较为繁杂。当今,计算机网络已成为社会信息传递最方便快捷的工具,利用它可以使远隔万里的用户能够相互通讯。如果利用计算机网络辅助管理杂志订阅工作,那么将极大地提高工作效率,减少不必要的工作差错,降低人力支出。1.2 现状分析网络上有关杂志订阅系统开发的方案极少,却大多都是提出功能需求希望有人来开发的。在网上也并没有找到一个可以用来参考的实际案例,只有一些不全面的理论介绍。经过查询,与此相关的文献书籍也很缺乏。杂志订阅系统是一个计算机辅助信息管理系统。该系统保存所有通过邮局(或杂志发行代理)发行的杂志以及与发行有关的信息;接受订阅者的订阅,并保存订阅、付款日期和金额、以及投递信息;输出投递和订阅清单;统计各杂志的各阶段的总订阅数,并输出各杂志社的订单汇总表。 59 第二章 开发环境综述2.1 ASP简介Microsoft Active Server Pages 即用户所称的ASP,其实是一套微软开发的服务器端脚本环境,ASP内含于IIS之中,通过ASP,用户可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的Web服务器应用程序。有了ASP,用户就不必担心客户的浏览器是否能运行他所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。ASP所设计出的是动态主页,可接收用户提交的信息并作出反应, 其中的数据可随实际情况而改变,无须人工对网页文件进行更新即可满足应用需要。例如:当在浏览器上填好表单并提交HTTP请求时,可以要求在站点服务器上执行一个表单所设定的应用程序,而不只是一个简单的HTML文件。该应用程序分析表单的输入数据,根据不同的数据内容将相应的执行结果(通常是数据库查寻的结果集)以HTML的格式传送给浏览器。数据库的数据可以随时变化,而服务器上执行的应用程序却不必更改,客户端得到的网页信息会始终保持新鲜的魅力。从软件的技术层面看,ASP有如下的特点:1. 无需编译:ASP脚本集成于HTML当中,容易生成,无需编译或链接即可直接解释执行。2. 易于生成:使用常规文本编辑器(如WINDOWS下的记事本),即可进行*.asp页面的设计。若从工作效率来考虑,不妨选用具有可视化编辑能力的Visual InterDev。3. 独立于浏览器:用户端只要使用可解释常规HTML码的浏览器, 即可浏览ASP所设计的主页。ASP脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。因此,若不通过从服务器下载来观察*.asp 主页,在浏览器端见不到正确的页面内容。4. 面向对象:在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能通过定制 ActiveX Server Component(ActiveX服务器组件)来扩充功能。5. 与任何ActiveX scripting 语言兼容:除了可使用VBScript 和JScript语言进行设计外,还可通过Plug-in的方式,使用由第三方所提供的其它scripting 语言。6. 源程序码不会外漏:ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证辛辛苦苦编写出来的程序代码不会被他人盗取。从应用的层面看,ASP有如下的功能:1. 处理由浏览器传送到站点服务器的表单输入。2. 访问和编辑服务器端的数据库表。使用浏览器即可输入、更新和删除站点服务器的数据库中的数据。3. 读写站点服务器的文件,实现访客计数器、座右铭等功能。4. 提供广告轮播器、取得浏览器信息、URL表管理等内置功能。5. 由cookies读写用户端的硬盘文件,以记录用户的数据。6. 可以实现在多个主页间共享信息,以开发复杂的商务站点应用程序。7. 使用VBScript或JScript等简易的脚本语言,结合HTML码,快速完成站点的应用程序。通过站点服务器执行脚本语言,产生或更改在客户端执行的脚本语言。8. 扩充功能的能力强,可通过使用Visual Basic、Java、Visual C + 等多种程序语言制作ActiveX Server Component以满足自己的特殊需要。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(ActiveX Data Objects)与数据库对话(ADO是建立在微软新的数据库API,即OLE DB之上的,目前的OLE DB通过ODBC引擎与现存的ODBC数据库交互,进一步的OLE DB版本将直接与数据库打交道,不再通过ODBC引擎),并将执行结果动态生成一个HTML 页面来返回服务器端,以响应浏览器的请求。在用户端浏览器所见到的是纯HTML表现的画面,例如用表格来表现的后台数据库表中的字段内容。由于 ASP结合了脚本语言,可以通过编程访问ActiveX组件,并且具有现场自动生成HTML的能力,所以它成为建立动态Web站点的有效工具。ASP原理示意图如图2-1所示。发送相应网页数据到客户端用户访问网站读取服务器上的文件服务器响应请求生成页面数据流处理ASP脚本文件(ASP.DLL)数据库操作所请求的文件是否需要服务器解析图2-1 ASP原理示意图2.2 SQL Server简介Database-数据库是数据集中存放的地方,并且只有经过授权的人或程序才能使用数据库中的信息,才能对数据库进行操作,在数据库中的数据经过适当设计,可以减少信息冗余。它是一种存储数据并对数据进行操作的工具,作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,如记录、域等。SQL Server 2000是Microsoft公司最新开发的大型关系数据库管理系统,具有非常强大的关系数据库创建、开发、设计及管理功能;它将数据库连接到Internet,并通过Web浏览器显示数据操作,具有客户机/服务器结构,并与Microsoft公司的其他产品及第三方产品具有良好的兼容性,能方便的实现无缝操作。此外, SQL Server 2000还提供了对分布式事务处理的支持,并具有对开发工具的良好支持,能为大型数据库项目提供优秀的企业级解决方案。因此,SQL Server 2000具有以下几个方面的特点:1. 与Internet的紧密结合SQL Server 2000的数据库引擎集成了对XML的支持,同时以可扩展、易于使用和安全的特点,成为建设大型Web站点最好的数据存储设备之一。SQL Server 2000的编程模式在很大程度上与专用于开发Web应用的Windows DNA架构相集成。同时,SQL Server 2000所携带的诸如英语查询以及Microsoft查询服务等为开发Web应用提供了友好而强大的查询界面。2. 可扩展性和可用性 SQL Server 2000所支持的联盟数据库服务器(federeated databaseserver)特性允许用户在多个数据库服务器上水平划分数据表,从而使得用户把本来一台服务器负责的功能扩展到多台数据库服务器上去。这多台数据库服务器彼此合作提供类似于集群服务器所提供的强大性能。3. 企业级数据库 SQL Server 2000关系数据库引擎具备有完善而强大的数据处理功能。它在有效保证数据库一致性的基础上,尽量降低成千上万的数据库用户进行并发访问时的管理和延迟成本。4. 简单、友好的操作方式 SQL Server 2000包含一整套的管理和开发工具。这些工具都具有非常友好的用户界面,在提供强大功能的同时,易于安装、使用和发布。用户可以把更多的精力放在自己的业务问题上,可以非常迅速地建立并发布强大而复杂的数据库应用系统。5. 数据仓库支持SQL Server 2000为了满足现代企业对大规模数据进行有效分析和利用的要求,包含了一系列提取、分析、总结数据的工具从而使联机分析处理成为可能。同时,SQL Server 2000提供了英语查询工具和编程接口。使得以英语为基础设计和管理、查询数据库成为可能。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(Windows Distributed Internet Applications Architecture分布式互连网应用结构)架构,包括数据层(data),业务层(business),表示层(presentation)的三层体系结构,业务层是整个应用的心脏(核心)部分。如图3-2所示:表示层 业务层数据访问层业务逻辑层数据库数据访问层接口图 3-2 系统架构设计图各个层次的结构描述如下:1. 数据存储层(data): 数据服务层为应用提供数据来源。可以根据需要选择Microsoft SQL Server、Oracle或任何与OLEDB或ODBC兼容的数据源。2. 数据访问层接口为数据访问层提供访问数据库的抽象接口,它并不实现具体方法。它的主要作用为数据访问层提供一个通用的可继承、可实例化的接口。每个接口都与数据访问层的某个方法相对应。 3. 业务层(business):事务逻辑层负责处理表示层的应用请求,完成商务逻辑的计算任务,并将处理结果返回给用户。A 数据访问层DAL(Data Access Layer): 负责访问和控制所有数据库,所有用户提交的数据全都交给DAL处理,比如FORM数据或者是URL参数,后台逻辑层的其它相关处理都必须从DAL获取返回值,这里应该进行的操作一般有:获取Request数据进行安全处理检查用户数据是否规范输出返回值。B 业务逻辑层(Business Logic Layer):和系统Web业务逻辑相关,它是系统数据处理的最高层,与系统的具体业务相关联。它与Web呈现层中的具体操作相关,如页面中的添加、更新和删除操作,并使用数据访问层实现Web呈现层中的具体操作。4. 表示层(presentation): 是以Java Script(浏览器的支持较友好)+XML为主的可加上 HTML ,DHTML ,Scripting ,JavaApplet ,Active X等组成的用户界面层和数据传递层。数据传递层(网页表单)负责预处理用户提交的所有数据,也负责接收后台输出的轻量级数据,可采用JSAX技术获取局部资料等。因此本系统可分为5层,它们分别为表示层(主要显示系统信息,为用户服务)、业务逻辑层(或称商业逻辑层,主要把表面呈现层的功能抽象化,为表面呈现层服务)、数据访问层(主要访问数据库,也为业务逻辑层服务)、数据库访问接口层(实现数据访问层访问数据库的抽象函数或接口)和系统数据库。由于ASP只是支持不彻底的面向对象思想,对于表示层、业务逻辑层、数据访问层不能完全地分离。但可以在代码上进行优化,以利于维护和阅读并向 ASP.NET进行整合或迁移。具体优化方法是:将数据访问层所做操作(如:获取Request数据进行安全处理检查用户数据是否规范输出返回值)的代码编写在一起,也可以通过COM组件进行事务处理,使用VB(VC和C+等)来创建用户组件,将同一业务逻辑下的页面和逻辑封装到一个类里,用不同的方法来实现。这样就能充分利用廉价的内存来存储逻辑上独立的一个复杂对象,从而减少昂贵资源(例如数据库链接)的使用。可将业务逻辑层所做操作的代码编写在一起,也可封装成一个个的VBSCLASS。此层可以作为数据访问层与表示层之间的控制页面,将数据访问层所返回的查询值正确地显示在相对应的表示层页面上。表示层绝大部分工作主要用于解决如何准确美观地显示页面及如何对表单进行检查的问题。由于ASP的局限性,可能会有部分工作涉及到业务层(包括业务逻辑层、数据访问层),所以只能尽可能地避免这种情况,但不能杜绝。经过上述优化方法,基本可以实现表示层,业务逻辑层,数据访问层三层的分离。采用上述优化方法设计如图3-3所示系统应用架构图。数据访问层接口业务逻辑层数据访问层Web Browser页面数据处理页面控制显示页面数据库访问接口SQL Server数据库表示层业务层数据存储层图 3-3 系统应用架构图在上图中,数据存储层存储杂志订阅系统所有数据源;数据访问层接口主要提供访问数据库的抽象接口;数据访问层负责获取Request数据进行安全处理检查用户数据是否规范输出返回值给业务逻辑层;业务逻辑层建立在数据访问层之上,同时又为业务表现层提供服务,它将根据数据访问层提供的返回值选择相应的显示页面模版,并进一步处理返回值;表示层主要为用户提供可视界面。3.3 数据库设计数据库设计是实现系统功能至关重要的一个部分,它的结构决定了前台数据的输入、输出,因此,设计出一个功能完善、结构清晰的数据库是非常必要的。数据库设计的目标是:对于给定的应用环境,建立一个性能良好的、能满足不同用户使用要求的、又能被选定的DBMS所接受的数据库系统模式。在本系统中将SQL Server 2000作为应用程序的数据库。按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。本节主要针对需求分析、概念结构设计、逻辑结构设计进行系统数据库的设计。3.3.1 需求分析需求分析的任务是通过详细调查杂志订阅过程中要处理的所有对象,通过充分了解杂志订阅的工作流程,明确使用者的各种需求,充分考虑今后可能的扩充和改变,然后在此基础上来设计数据库。通过详细调查和认真分析,得出如图3-4所示的系统数据流图。个人id个人id昵称密码个人信息个人信息有效注册用户验证用户信息登录初始化D1用户信息有效注册用户D2用户id/预定/订阅/过期id集用户名密码管理员信息管理员信息后台管理员验证管理员信息D1管理员信息后台管理员(a) 登录验证模块个人id个人信息个人信息个人信息个人信息有效注册用户修改用户信息浏览用户信息D1用户信息有效注册用户D2用户信息个人信息个人信息有效注册用户个人信息浏览用户信息有效注册用户D1用户信息(b)个人信息模块杂志信息杂志信息浏览信息浏览信息杂志id预定信息D2杂志信息有效注册用户预定杂志D1个人预定杂志id集有效注册用户浏览杂志信息订阅信息个人信息订阅id集帐户信息D2个人订阅杂志id集浏览预定的杂志付款确认订阅杂志有效注册用户D1个人帐户信息预定杂志信息预定杂志信息预定杂志id集D4杂志信息有效注册用户D3个人预定杂志id集预定杂志信息预定杂志信息预定杂志id集个人信息取消预定id取消预定信息取消预定杂志D1个人预定杂志id集浏览预定的杂志有效注册用户D3杂志信息有效注册用户D2个人预定杂志id集订单信息订单信息个人信息浏览/输出订单D1订单信息有效注册用户有效注册用户(c)客户事务模块用户信息用户信息用户信息用户信息用户信息后台管理员修改用户信息浏览用户信息D1用户信息后台管理员D2用户信息用户信息用户信息用户信息用户信息后台管理员添加用户信息浏览用户信息D1用户信息后台管理员用户信息用户信息后台管理员用户信息浏览用户信息后台管理员D1用户信息(d)用户信息模块杂志社信息杂志社信息杂志社信息杂志社信息杂志社信息后台管理员修改杂志社信息浏览杂志社信息D1杂志社信息后台管理员D2杂志社信息杂志社信息杂志社信息杂志社信息杂志社信息后台管理员添加杂志社信息浏览杂志社信息D1杂志社信息后台管理员杂志社信息杂志社信息后台管理员杂志社信息浏览杂志社信息后台管理员D1杂志社信息(e)杂志社信息模块杂志信息杂志信息杂志信息杂志信息杂志信息后台管理员修改杂志信息浏览杂志信息D1杂志信息后台管理员D2杂志信息杂志信息杂志信息杂志信息杂志信息后台管理员添加杂志信息浏览杂志信息D1杂志信息后台管理员杂志信息杂志信息后台管理员杂志信息浏览杂志信息后台管理员D1杂志信息(f)杂志信息模块订单信息订单信息后台管理员订单信息浏览/输出订单后台管理员D1订单信息(g)订单管理模块图 3-4 系统数据流图通过对数据流程的分析,以及对将来数据库扩充的需要,得出本系统数据字典的两项重要内容:数据结构和数据项设计。具体设计如下:管理员信息:包括的数据项有管理员名、密码、管理员级别等。用户信息:包括的数据项有用户编号、姓名、投递省份、投递地址、邮政编码、联系电话、身份证号、登录用昵称、密码、e-mail、帐户余额、已订阅未过期、已订阅所有、临时订阅车等。省份信息:包括的数据项有省份编号、省份名称等。杂志社信息:包括的数据项有杂志社编号、杂志社名、邮发代号、地址、邮政编码、杂志社电话、联系人、联系人电话等。杂志信息:包括的数据项有杂志编号、杂志名、期刊号、单价、间隔期名、发行间隔期、杂志社编号、杂志类型、简单说明、图片地址等。订单信息:包括的数据项有订单号、订阅人编号、订阅日期、杂志编号、订阅份数、起始年月、期限、到期年月、实付金额等。杂志类型信息:包括的数据项有类型编号、类型名等。杂志周期信息:包括的数据项有周期编号、周期名等。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所示。所属杂志周期杂志类型订单杂志杂志社省份用户发行订阅提交所属所属nnnnnn图 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-1 Admins表列名数据类型可否为空说明Admin_NameChar(20)Not Null管理员名(主键)Admin_PwordVarchar(50)Not Null密码(MD5处理)Admin_LevelSmallint(2)Not Null管理员级别,默认为12. 用户信息表(Users)用户信息表储存用户的相关信息,包括注册时的信息以及在使用过程中修改以后的信息。字段说明如表3-2所示。表 3-2 Users表列名数据类型可否为空说明User_IdBigint(8)Not Null用户编号(主键)User_NameVarchar(16)Not Null姓名User_CityVarchar(30)Not Null投递省份User_AddVarchar(120)Not Null投递地址User_PcodeChar(6)Not Null邮政编码User_TelVarchar(20)Not Null联系电话User_IdnumVarchar(18)Not Null身份证号User_NicVarchar(16)Not Null登录用昵称User_PwordVarchar(32)Not Null密码(MD5处理)User_EmailVarchar(60)Not Nulle-mailUser_CashSmallint(2)Not Null帐户余额(默认“0”)User_CollectionVarchar(500)Not Null已订阅未过期(默认“|”)User_PastVarchar(8000)Not Null已订阅所有(默认“|”)User_JustVarchar(500)Not Null临时订阅车(默认“|”)3. 省份信息表(City)省份信息主要是为投递分类方便而设置,在输出投递清单时,可按照不同省份将投递清单进行分类,以便于投递。字段说明如表3-3所示。表 3-3 City表列名数据类型可否为空说明City_IdInt(4)Not Null省份编号(主键)City_NameVarchar(30) Not Null省份名称4. 杂志社信息表(Press)杂志社必须正确地填写单位的基本信息,为方便操作,杂志社信息一经建立不能删除,但可以进行信息的修改。字段说明如表3-4所示。表 3-4 Press表列名数据类型可否为空说明Press_IdBigint(8)Not Null杂志社编号(主键)Press_NameVarchar(20)Not Null杂志社名Press_CodeVarchar(20)Not Null邮发代号Press_AddVarchar(120)Not Null地址Press_PcodeChar(6)Not Null邮政编码Press_TelVarchar(20)Not Null杂志社电话Press_ContactVarchar(16)Not Null联系人Press_ContactTelVarchar(20)Not Null联系人电话5. 杂志信息表(Mzines)杂志信息与杂志社相关,同时与订单相关,所以一般在输入后也不能随意删除,只能进行修改。字段说明如表3-5所示。表 3-5 Mzines表列名数据类型可否为空说明Mzine_IdBigint(8)Not Null杂志编号(主键)Mzine_NameVarchar(20)Not Null杂志名Mzine_IssnVarchar(10)Not Null期刊号Mzine_PriceInt(4)Not Null单价Issue_CycleNameChar(10)Not Null间隔期名Issue_CycleIdSmallint(2)Not Null发行间隔期Press_IdBigint(8)Not Null杂志社编号Mzine_TypeInt(4)Not Null杂志类型Mzine_InfoVarchar(120)简单说明Mzine_ImgVarchar(500)图片地址6. 订单信息表(Orders)订单信息是用户付款后提交的重要信息,由用户提交时自动创建,不允许随意修改,对于未过期的订单不允许删除,对于已过期的订单可保留一定期限后转移到备份表,或直接删除。字段说明如表3-6所示。表 3-6 Orders表列名数据类型可否为空说明Ord_IdBigint(8)Not Null订单号(主键)User_IdBigint(8)Not Null订阅人编号Ord_PdateDatetime(8)Not Null订阅日期Mzine_IdBigint(8)Not Null杂志编号Ord_VolumeInt(4)Not Null订阅份数Ord_StartDatetime(8)Not Null起始年月Ord_PeriodSmallint(2)Not Null期限Oro_DeadlineDatetime(8)Not Null 到期年月Ord_CashInt(4)Not Null实付金额7. 杂志类型信息表(MzineType)该表信息固定,建表时已经录入,一般不随意删除或更改。字段说明如表3-7所示。表 3-7 MzineType表列名数据类型可否为空说明idInt(4)Not Null类型编号(主键)Mzine_TypeVarchar(20)Not Null类型名8. 杂志周期信息表(Issue_Cycle)该表信息也已固定,建表时已经录入,一般不随意删除或更改,周期编号每增加1代表周期增加一周,一般表示为2、4、8、12,分别代表半月刊、月刊、双月刊、季刊。字段说明如表3-7所示。表 3-8 Issue_Cycle表列名数据类型可否为空说明Issue_CycleIdSmallint(2)Not Null周期编号(主键)Issue_CycleNameChar(10)Not Null周期名数据库各个表之间的关系设计如图3-5所示。图 3-14 数据库表关系设计图第四章 系统详细设计与实现详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统,也就是是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述。系统实现阶段通常包括代码和测试系统两个阶段。本章重点在于系统的详细设计与代码实现。下面将分以下几个部分进行详细设计与实现的说明:l 登录和注册l 用户管理l 后台管理4.1 登录和注册用户登录过程是一个验证过程,应用程序首先从数据库获取该用户的信息,如用户登录名和用户密码等,如验证正确则显示用户的下一步操作页面。由于杂志订阅系统本身业务流程要求,用户不能自行注册,只能由后台管理员为其开通账户。本系统的用户登录流程图如图4-1所示。管理员登录过程与用户登录过程基本相同,不再赘述。是用户登录否登录成功?用户控制界面界面业务层处理数据库图 4-1 用户登录流程图本系统在功能的实现上主要分为两大部分:用户管理功能实现、后台管理功能实现,分别有不同的登录界面,但功能相同,登录成功后分别进入各自的管理界面。但要注意用户登录采用用户昵称,而不是真实姓名,管理员登录采用管理员用户名。以用户登录为例其界面如图4-2所示。图 4-2 用户登录界面用户管理界面如图4-3所示。图 4-3 用户管理界面后台管理界面如图4-4所示。图 4-4 用户管理界面4.2 用户管理用户管理其实就是客户子系统,因此其实现界面应由基本信息、投递信息、杂志浏览、临时订阅、已订阅查询等功能组成。由于采用了微DNA的开发框架思想,因此在实现功能时,可将显示界面与业务界面分离进行开发,两者互不影响。用户管理界面功能详细设计如图4-5所示。用户管理基本信息投递信息杂志浏览临时订阅系统数据库访问层数据库已订阅查询浏览修改浏览修改浏览预定浏览订阅浏览删除输出图 4-5 用户管理界面功能详细设计图下面分别对各个功能的详细设计与实现进行介绍。4.2.1 基本信息与投递信息基本信息与投递信息同属个人信息模块,主要是实现对用户个人信息的浏览与修改操作,其中有些信息是不可以修改的,因此未给出修改表单,有些信息是可以修改的,则给出了修改表单。在提交时都是通过Update 语句将这些信息存入数据库中的Users表中。基本信息界面如图4-6所示。图 4-6 基本信息界面如上图所示,存款余额是不可以自行修改的,要想增加存款,必须首先通过银行向邮局或代理汇款,邮局或代理收到汇款后由管理员在后台管理中为用户添加汇款。可改进的方案是:用户通过支付宝等软件或电子银行向邮局或代理汇款后,后台通过安装相关软件自动为用户添加汇款。投递信息界面如图4-7所示。图 4-7 投递信息界面用户姓名与身份证号涉及用户真实身份的确认,所以在用户向邮局注册时是已经绑定固定不变的,所以在此不显示身份证号,且用户姓名也不能更改。4.2.2 杂志浏览杂志浏览是客户事务模块的子模块,其实现界面有两种浏览方式:一种是快速浏览,一种是详细浏览。前者是通过列表方式只显示杂志的重要信息,后者是采用图文并茂方式显示杂志的详细信息。两种浏览方式都可以按分类,发行周期,价格等条件进行浏览。两种浏览方式在业务层上的处理是一样的,即通过Select语句查询表Mzines,Users,Press等来获得杂志信息以及用户订阅与否的信息。二者仅在表示层上有所不同。所以为方便起见,只实现了快速浏览方式,而详细浏览方式缺少表示层,但已经预留了详细浏览的业务层,未来只需增加详细浏览的表示层页面即可方便实现此种浏览方式。在杂志浏览界面中,设置了订阅功能,点击订阅后,其实并未真正订阅,还要进入临时订阅箱进行确认、付款后才完成订阅流程。杂志订阅流程如下图4-8所示。预定杂志浏览界面确认付款临时订阅界面不足足够余额足够否提示订阅成功提示余额不足图 4-8 杂志订阅流程杂志浏览界面如下图4-9所示。图 4-9 杂志浏览界面4.2.3 临时订阅临时订阅也是客户事务模块的子模块,其实现界面保存了用户预定但未付款的所有杂志,在此可以选择订阅期、订阅份数后进行付款订阅,也可以进行删除预定的操作。临时订阅界面如图4-10所示。图 4-10 临时订阅界面如果点击“付款”按钮便进入付款数据处理的操作(payment.asp),它将首先通过计算式:期限*4/发行间隔期*单价*份数=一种杂志金额计算出用户所选择的那些需要付款的杂志的应付金额,然后访问数据库中的Users表来获得用户帐户金额,如果帐户金额足够则扣除应付金额后更新帐户金额,返回付款成功的提示,如果帐户金额不足,则返回帐户金额不足的提示。如果点击“删除”按钮便进入删除数据处理的操作(justdel.asp),它将查询数据表Users中的User_Just数据项,将需要删除的临时订阅记录删除,然后返回删除成功的消息。4.2.4 已往订阅和清单输出已往订阅和清单输出同样属于客户事务模块的子模块,在实现时将两个模块集中在了一个显示界面上,它保存了用户所有的到期和未到期的订单记录。在这里用户可以删除所有到期记录,或输出订单报表。已订阅查询界面如图4-11所示。图 4-11 已订阅查询界面当点击“只保留未到期记录”按钮时,便转入删除所有到期记录数据处理的操作(pastdel.asp),它将首先比对Users表中的User_Past项与User_Collection项中的信息,然后删除User_Past项在User_Collection项中所没有的信息,返回操作成功提示。当点击“输出报表”按钮时,便转入输出报表数据处理的操作(useroutlist.asp),它将创建scripting.filesystemobject对象,利用此对象进行报表输出给用户一个excel报表。4.3 后台管理后台管理的界面实现其实是由基本信息子系统和订单管理模块所组成的。4.3.1 基本信息子系统基本信息子系统包括杂志信息、杂志社信息、用户信息的添加、修改、浏览等功能。由于杂志社与杂志信息的不断更新,管理员需要把新的信息储存到数据库中,用户的个人基本信息和投递信息都可以根据需要进行修改。在修改信息之前需要先访问数据库,获取原来的信息,再进行修改,最后再访问数据库,保存这些新的信息,原来的信息则被覆盖。基本信息子系统界面功能详细设计如图4-12所示。基本信息管理杂志社信息杂志信息用户信息系统数据访问层接口数据库添加修改浏览添加修改浏览添加修改浏览图 4-12 基本信息子系统界面功能详细设计由于基本信息子系统中的三个模块实现方式基本相同,界面风格基本一致,故仅以用户信息模块为例,介绍其实现方式。管理员登录后台后点击左侧导航栏“基本信息管理”项,在下拉菜单中点击“用户信息”便进入浏览用户信息界面。导航栏操作界面如图4-13所示。图 4-13 导航栏操作界面 浏览用户信息界面如图4-14所示。图 4-14 浏览用户信息界面由于查询与浏览的业务层原理是一样的,所以均用浏览用户信息页面(user.asp)进行处理。当在浏览用户界面输入查询信息,并点击查询按钮后,便转入浏览用户信息数据处理的操作(user.asp)。它将首先根据从上一页获得的信息判断出查询条件是全查询(即浏览所有用户信息)还是按条件查询,然后设置sql查询语句的查询条件。确定查询条件后对数据库进行查询操作,将查询结果通过控制页面adm_moban_pre.asp制作出的表示层显示给管理员。当点击“添加用户”按钮时,便进入添加用户的表单页,输入用户信息后,提交表单,下面的操作便与4.2.1节所介绍的修改基本信息的操作原理一致。当点击“修改”按钮时,便转入修改用户信息数据处理的操作,其原理也如4.2.1节所介绍的一致,不再赘述。添加用户界面如图4-15所示。图 4-15 添加用户界面4.3.1 订单管理块订单管理模块主要包含订单管理和投递管理两个部分,都是实现对订单的数据管理。订单管理主要是对订单信息按不同要求进行查询和简单的统计操作,并按查询要求打印订单。投递管理主要是根据投递需要打印订单的操作。同样,这些操作都是要对数据库进行访问的,因此,都需要通过系统数据访问层访问数据库。订单管理模块界面功能详细设计如图4-16所示。订单信息管理系统数据访问层接口数据库订单信息按要求输出投递清单按要求查询按要求输出统计表浏览
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 救援技师考试题库及答案
- 电工考试的实操电路题及答案
- 国际组织视角下的兽药残留风险分析与管理策略探究
- 全国教师笔试试题及答案
- 2025年自考审计学试题及答案
- 2025年保护环境知识竞赛题库及答案
- 青岛市幼师考编笔试题及答案
- 青岛地铁招聘笔试题库及答案
- 前端面试笔试题及答案
- 2025年岗位模拟主管护师考试试题及答案
- 方物电子教室q2用户手册
- 消防管道支架工程量计算表
- 应用成型的双面彩钢板复合风管代替传统的铁皮风管
- JJF(石化)006-2018漆膜弹性测定器校准规范
- GB/T 700-2006碳素结构钢
- 东华软件需求调研提纲汇总版与03-02同步
- 腹腔镜下肾癌根治术
- 如何学好初中数学-课件
- 车辆交接协议书(标准版)
- 满族萨满教衰落原因探析论文
- 部编版四年级语文上册第5课《一个豆荚里的五粒豆》优秀PPT课件
评论
0/150
提交评论