ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:363.64KB ,
资源ID:13078516      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13078516.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(邮局订阅管理系统.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

邮局订阅管理系统.docx

1、邮局订阅管理系统 课程设计说明书课程设计名称: 嵌入式课程设计 课程设计题目: 邮局订阅管理系统 学 院 名 称: 信息工程学院 专业:计算机科学与技术 班级: 学号: : 评分: 教师:时招军、叶水生 2014 年 6 月 25 日1 问题定义 1.1课题背景随着internet的普及和电子商务的兴起,邮局订阅管理系统是Internet电子商务在报刊销售行业发展的必然结果,这种新型的报刊销售形式,与传统利用书店进行销售的方式相比拥有许多优势:一是降低了销售成本;二是利用网络作为交易平台,改变传统的交易方式,使得交易活动不受空间和时间的限制;三是信息的传递更迅速灵活,新报刊信息上传后,客户可以

2、立即看到,交易马上可以从网上进行,从而大大提高了交易的效率。正是由于这些优势,邮局订阅管理系统才能得以迅速地发展。邮局订阅管理系统的主要功能是利用作为交易平台,将报刊的一些基本信息以的形式发布到Internet中,客户可以通过Internet登录邮局订阅管理系统来查看报刊信息并提交订单订购,实现在线交易。 1.2 课题的目的及意义在客户进行报刊订阅过程中,经常会遇到期刊信息受到限制,客户只能通过上门咨询、沟通等方式进行各种信息的获取,受一定的时间与物理空间的局限并且成本较高。而本系统可以帮助人们认识到网络在现代社会生活中的重要作用,以少量的时间和资金建立邮政门户来方便客户的订阅,以此来是客户的

3、经济活动变得更灵活、更主动也更便捷。邮局订阅管理系统不仅可以大量减少人力、物力,降低了成本,而且突破了时间和空间的限制,使得报刊交易活动可以在任何时间、任何地点进行,实现24小时营业,不需要营业员,可以被设置成一个自动售货机。鉴于互联网的优势以及对国外相关邮局订阅管理系统现状的研究分析,本次课程设计以QT/E,Sqlite为开发平台,通过对邮局的报刊订阅业务进行分析,调查,设计该邮局的报刊订阅管理系统。2 可行性研究 2.1 经济可行性本系统使用软件开发工具QT/E。数据库用的是Sqlite这些都是免费的而且该系统能稳定的运行在WINDOWS操作系统上, 这样整个系统的软件成本得到很大程度的节

4、约,只需要投入人力成本,在系统运行环境中,软硬件都无需做巨大投资,只利用现有计算机设备即可。因此在经济上可行的。 2.2 技术可行性本系统采用的是QT/E开发,Windows 7操作系统,用C+语言进行前台网页界面设计以及后台控制,完成数据的添加、修改、删除、查询等功能。由于QT/E功能强大,而Sqlite灵活易维护在开发方面具有方便快捷、使用灵活的特点,以及目前的广泛实际应用,因此使用QT/E是开发轻平台的极佳选择从而说明本系统在技术方面可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。 2.3 操作可行

5、性 目前,大多数计算机都能运行该系统,该系统的安装、调试、运行不会改变原计算机系统的设置和布局,并且系统界面简单,提示信息完整,由相关人员指导便能够方便的操作此软件。3 需求分析 3.1系统功能模块概述和分析 近年来我国信息产业发展迅速,手工管理方式在报纸订阅管理等需要大量事务处理的应用中已显得不相适应,采用IT技术提高服务质量和管理水平势在必行。面对各种媒体的强势竞争,因此,邮局必须提高其工作效率,改善其工作环境。这样,管理信息化势在必行。 邮局订阅管理系统主要功能如下:1数据显示:显示所有报刊的基本信息(报刊代号,报刊名称,报刊分类,报刊半年价,报刊全年价等基本信息);2用户管理:登录、退

6、出、查询、修改个人信息;3订阅管理:添加、删除、修改、查询订阅订单;4注册管理:注册用户,完善用户信息。 3.2 数据流程图 图 3-1 数据流程图3.3 UML用例图本系统的UML用例图如图3-2所示:图3-4 UML用例图3.4系统开发技术简介3.4.1 QtQt是一个跨平台的C+应用程序开发框架。广泛用于开发GUI程序,这种情况下又被称为部件工具箱。也可用于开发非GUI程序,比如控制台工具和服务器。Qt使用标准的C+和特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏。通过语言绑定,其他的编程语言也可以使用Qt。Qt是自由且开放源代码的

7、软件,在GNU宽通用公共许可证条款下发布。所有版本都支持广泛的编译器,包括GCC的C+编译器和Visual Studio。Qt具有多种优势:首先,它优良的跨平台特性,可以支持很多种操作系统;然后,Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的;再次,Qt 包括多达 250 个以上的 C+ 类,还提供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理功能;最后,支持 2D/3D 图形渲染,支持 Open

8、GL,大量的开发文档和XML 支持。Qt还有很多特点:无障碍环境应用程序:无障碍环境需要无障碍兼容的应用程序、辅助技术、以及辅助工具之间的合作。应用程序通常不会直接沟通辅助工具,而是通过一个辅助技术,这是一个应用程序和工具之间信息交流的桥梁。用户界面元素相关信息,例如按钮和滚动条,使用辅助技术来显示。Qt支持Windows上的Microsoft Active Accessibility(MSAA)和Mac OS X上Mac OS X Accessibility。无障碍兼容的应用程序称为AT-Servers,而辅助工具被称为AT-Clients。Qt应用程序通常会是一个AT-Server,但特别

9、的程序也可能如同AT-Client方式工作。国际化:Qt的字体引擎能够在同一时间正确的显示各种不同的书写系统。并且Qt部使用Unicode编码来存储文字。Qt的多国语言支持技术,可以让应用程序中的文字全部使用英文撰写,能够在完全不需修改程序的状况下,改变整个应用程序中的文字为另一个语系的文字,并能够协助处理不同语言的单、复数问题。独立的翻译文件使得新增支持语言相当容易,同时翻译文件(.ts)为XML格式可以直接编辑或使用Qt Liguist进行翻译,可让无程序开发能力的翻译者亦能独自完成翻译。Qt附带的工具程序就能够自动抽取需要翻译的文字产生翻译文件。多线程:Qt的线程支持是独立于平台的线程类

10、型,采用信号与槽机制,实现类型安全的线程间通讯。这使得它易于开发具可移植性的多线程Qt应用程序。并能充分利用多核架构,获得最佳运行性能,还能根据可用的处理器核数自动调整使用的线程数。多线程程序设计也是一个执行耗时操作而不会冻结用户界面的有效典。语言绑定:除了C+外,Qt还为其它多种计算机语言提供了应用程序接口。3.4.2 SQLiteSQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统

11、,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。 能够真正表现 SQLite 优越性能的领域是 Web 站点,可以使用 SQLite 管理应用程序数据、快速应用程序原型制造和培训工具。由于资源占用少、性能良好和零管理成本,嵌入式数据库有了它的用武之地,它将为那些以前无法提供用作持久数据的后端的数据库的应用程序提供了高效的性能。现在,没有必要使用文本文件来实现持久存储。SQLite 之类的嵌入式数据库的易于使用性可以加快应用程序的开发,并使得小型应用程

12、序能够完全支持复杂的 SQL。这一点对于对于小型设备空间的应用程序来说尤其重要。 不像常见的客户-服务器例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。 SQLite虽然很小巧,但是支持的SQL语句不会逊色于其他开源数据库,同时它还支持事务处理功能等等。也有人说它象Microsoft的Access,有时候真的觉得有点象

13、,但是事实上它们区别很大。比如SQLite 支持跨平台,操作简单,能够使用很多语言直接创建数据库,而不象Access一样需要Office的支持。如果你是个很小型的应用,或者你想做嵌入式开发,没有合适的数据库系统,那么你可以考虑使用SQLite。 嵌入式数据库对于加快应用程序开发也很重要,尤其是在用于数据库抽象层(例如PEAR:DB或ezSQL)时。最后,SQLite 正在积极开发中,未来一定会有新的功能,会对开源社区更有用。4 系统设计 4.1 系统功能结构图 邮局订阅管理系统功能结构如图4-1所示。 图 4-1网上购物系统功能结构图 4.2 功能模块分工 组员:谢碧玲 母丹红 4.2.1 组

14、员分工 母丹红:数据显示,用户管理 谢碧玲:订阅管理,注册管理 4.2.2 我的模块 订阅管理:添加、删除、修改、查询订阅订单; 注册管理:注册用户,完善用户信息。4.3 数据库设计 4.3.1 邮局订阅管理系统E-R图 1.用户信息实体管理员信息实体包括:用户账号、用户密码、住址、部门、订阅数量。用户信息实体的E-R图如图4-2所示。图4-2 用户信息实体E-R图2.报刊信息实体包括:报刊代号、报刊名称、报刊类别、出版时间、半价、全价。报刊信息实体的E-R图如图4-3所示。图4-3 报刊信息实体E-R图 3.部门信息实体部门信息实体包括:部门号、部门名称。部门信息实体的E-R图如图4-4所示

15、。 图4-4 部门信息实体E-R图 4.报刊类别信息实体报刊类别信息实体包括:类别号、类别名称。课程信息实体的E-R图如图4-5所示。图4-5 报刊类别信息实体的E-R图4.3.2 数据表的结构 数据库在整个管理系统中占据非常重要的地位,数据库结构设计的好坏直接影响着系统的效率和实现。本实例采用SQLite数据库,下面介绍数据库中的数据表结构。 本系统数据库表如下:(1)users表用来存储用户的信息,该表的结构如表4-1所示。表4-1 users表结构字段名数据类型是否为空是否主键默认值描述uIdTEXTNOYES用户账号uNameTEXTNONONULLuPasswordTEXTNONON

16、ULL用户密码uAddressTEXTNONONULL地址uNumberTEXTNONONULLuDepartmentTEXTYESNONULL部门uQuantityTEXTYESNONULL数量(2)subscribe表用来存储订阅的信息,该表的结构如表4-2所示。表4-2 subscribe表结构字段名数据类型是否为空是否主键默认值描述sIdINTEGERNOYES订阅号uIdTEXTNOYES用户账号jIdTEXTNOYES报刊号sNumberINTEGERYESNONULL份数sYearTEXTYESNONULL订阅年数sTotalTEXTYESNONULL总金额(3)journal表

17、用来存储报刊信息,该表的结构如表4-3所示。表4-3 journal表结构字段名数据类型是否为空是否主键默认值描述jIdINTEGERNOYES报刊号cNameTEXTNONONULL报刊名称cKindTEXTYESNONULL报刊类别jPressTEXTNONONULLjPretimeTEXTNONONULL出版时间jHarfpriceREALNONONULL半价jwholepriceREALNONONULL全价(4)department表用来存储部门信息,该表的结构如表4-4所示。表4-4 department表结构字段名数据类型是否为空是否主键默认值描述dIdINTEGERNOYES部门

18、号dNameTEXTNONONULL部门名称(5)classification表用来存储报刊类别信息,该表的结构如表4-5所示。表4-5 classification表结构字段名数据类型是否为空是否主键默认值描述cIdINTEGERNOYES报刊类别号cNameTEXTNONONULL报刊类别名称5 系统实现5.1系统构成各个输入界面,显示界面,用于信息的输入输出以及显示如表5-1所示:表5-1addindent增加订单alterindent修改订单信息indent订单信息journal报刊信息mainwindow登录页面register用户注册subscribe订阅报刊userinfo用户信

19、息管理usersubscription用户登入页面 5.2 个人部分核心代码1 添加订单 用户增添订单信息,如图5-1所示。 如图5-1 用户增添订单信息 核心代码如下所示: void Subscription:on_subscibe_clicked() if(ui-year-text().isEmpty()|ui-Copies-text().isEmpty()|ui-rental-text().isEmpty() QMessageBox:about(0,tr(tishi),tr(NO); else QSqlQuery query(global:db); query.exec(select *

20、 from subscribe); int sum=0; while(query.next() sum+; sum=sum+1; int mark=ui-mark-currentIndex()+1; /query.exec(insert into subscribe values(+sum+,+global:uid+,+mark+,+ui-Copies-text()+,+ui-year-text()+,+ui-rental-text()+); query.prepare(insert into subscribe(sId,uId,jId,sNumber,sYear,sTotal) values

21、(?,?,?,?,?,?); query.bindValue(0,sum); query.bindValue(1,global:uid); query.bindValue(2,mark); query.bindValue(3,ui-Copies-text(); query.bindValue(4,ui-year-text(); query.bindValue(5,ui-rental-text(); query.exec(); QMessageBox:about(0,tr(shi),tr(YES); 2 删除订阅订单用户可以删除已经生成的订单,如图5-2所示。图5-2 删除已经生成的订单核心代码

22、如下所示:void UserSubscription:on_delete_2_clicked() QSqlQuery query(global:db); bool f= query.exec(delete from subscribe where sid=+ui-delete_number-text()+); if(f) QMessageBox:about(0,qApp-tr(prompt),qApp-tr(Delete success!); /QMessageBox:Abort(0,qApp-tr(prompt),qApp-tr(删除成功!); else QMessageBox:about(

23、0,qApp-tr(prompt),qApp-tr(Delete failure!); 3 修改订阅订单 用户可以修改已经生成的订单,如图5-3所示。图5-3 修改已经生成的订单核心代码如下所示: QSqlQuery query(global:db); query.prepare(update subscribe set jId=?,sNumber=?,sYear=?,sTotal=? where sid=+global:sid+); query.bindValue(0,ui-mark-currentText(); query.bindValue(1,ui-Copies-text(); que

24、ry.bindValue(2,ui-year-text(); query.bindValue(3,ui-rental-text(); query.exec(); QMessageBox:about(0,tr(shi),tr(YES);4 注册用户 用户可以注册成为邮局管理系统的用户,如图5-4所示。图5-4 普通用户注册核心代码如下所示:void Register:on_register_2_clicked()if(ui-account-text().isEmpty()|ui-address-text().isEmpty()|ui-name-text().isEmpty()|ui-passwo

25、rd-text().isEmpty()|ui-passwordtwo-text().isEmpty()|ui-phone-text().isEmpty() QMessageBox:about(0,qApp-tr(提示),qApp-tr(信息没填写完整!); else if(ui-passwordtwo-text().size()=ui-password-text().size() QSqlQuery query(global:db); bool f=query.exec(insert into users values(+ui-account-text()+,+ui-name-text()+,

26、+ui-password-text()+,+ui-address-text()+,+ui-phone-text()+,+ui-depar-currentText()+,1);); if(f) QMessageBox:about(0,qApp-tr(提示),qApp-tr(注册成功!); else QMessageBox:about(0,qApp-tr(提示),qApp-tr(注册失败!); else QMessageBox:about(0,qApp-tr(提示),qApp-tr(密码两次输入不一样!); 6 系统测试 6.1 测试用例 (1)用户账户:0001 密码:1 6.2 测试结果此部分

27、对邮局订阅管理系统进行功能测试,此处指挑选系统中的一项功能进行展示,对用户的登录功能进行测试。用户账号为0001,密码为2.密码错误,登陆不成功,账号对应的密码与数据库中存储的不符,不能够成功登陆。现在是以下正确的账号和密码。成功登陆,进入到登入页面,接下来可以进行报刊查询等操作。成功查询报刊信息。7 总结 本论文介绍了邮局订阅管理系统的设计与实现,实现了显示所有报刊的基本信息(报刊代号,报刊名称,报刊分类,报刊半年价,报刊全年价等基本信息);用户管理部分的登录、退出、查询、修改个人信息;订阅管理管理部分的添加、删除、修改、查询;订阅订单部分的注册以及管理部分的注册用户,完善用户信息等功能。在

28、本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对邮局订阅管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。虽然网络在邮局订阅管理系统中的应用不是很多,但这是未来的发展方向。本邮局订阅管理系统存在着很多不足,安全性不高,功能不够完善。但其具有易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性较好等优点。相信本邮局订阅管理系统是一套邮局在日常管理中必不可少的管理软件,通过开发这个系统,我巩固了对QT技术,Sqlite的学习,但在这次课程设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。8 参考文献1 (加)布兰切特,(英)萨默菲尔德著,闫锋欣等译,C+ GUI Qt 4编程(第二版).:电子工业. 2013.2 波编著,Qt中的C+技术.:电子工业.2012.3 (美)伊斯特(EEzust,A.),(美)伊斯特(Ezust,P.) 著,仁见,战晓明 译,C+设计模式基于Qt 4开源跨平台开发框架.:清华大学.2007.4 霍亚飞编著,Qt Creator快速入门(第2版).

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1