报刊订阅管理系统课程设计.docx
- 文档编号:28910601
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:39
- 大小:470.61KB
报刊订阅管理系统课程设计.docx
《报刊订阅管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《报刊订阅管理系统课程设计.docx(39页珍藏版)》请在冰豆网上搜索。
报刊订阅管理系统课程设计
交通运输学院
应用软件设计实践
课程设计
学院交通运输学院班级交运班
姓名滕方宁阿迪力.阿卜都热合曼孙新光
学号
成绩指导老师杨信丰
年月1日
指导教师评语及成绩
指
导
教
师
评
语
成
绩
导师签字:
年月日
兰州交通大学交通运输学院课程设计任务书
所在系:
交通运输课程名称:
应用软件设计实践指导教师(签名):
杨信丰
专业班级:
交运班学生姓名:
滕方宁阿迪力.阿卜都热合曼孙新光学号:
一、课程设计题目
报刊订阅管理系统
二、课程设计的目的
()对于给定的设计题目,如何进行分析、理解,以做到思路清晰。
()掌握自顶而下的设计方法,将大问题进行模块化分解,领会结构化程序设计的方法,同时深刻认识到面向对象程序设计及面向过程程序设计的根本区别。
()熟练掌握常用控件的使用,灵活运用各种数据类型。
()进一步掌握在集成环境下调试程序和修改程序的方法和技巧。
三、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求)
主要内容:
()设计数据库
()实现报刊订阅查询,用户的登陆,管理员管理程序
()实现分类统计及生成报表功能。
()实现查询结果以及结果合计。
设计基本要求:
()符合课题报刊订阅管理系统的要求。
()要求界面友好美观,操作方便易行;
()注意程序的实用性、安全性;
四、工作进度安排
学年第二学期:
第周共计周。
第周程序设计及调试;
第周撰写完成课程设计说明书。
五、主要参考文献
、龚沛曾,陆慰民,杨志强 程序设计教程(版).北京:
高等
教育出版社,
、龚沛曾,陆慰民,杨志强. 实验指导及测试(第三版).北京:
高等教育出版社,
、罗朝盛. 程序设计教程(第二版).北京:
人民邮电出版社,
审核批准意见
系主任(签字)年月日
一.引言
.课程设计的目的
.课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求)
)主要内容:
)设计基本要求:
二.系统设计
、概念设计
、下面所示的数据项
、数据库概念结构设计
、逻辑设计
、数据表
)、用户表
)、管理员表
)、报刊表
、系统实现
)、数据库实现
)、系统测试
)窗体构建
三.课程设计心得体会
四.参考文献
五.附录
报刊订阅管理系统课程设计
课程设计的目的
开发一个既能方便订阅人订阅报刊,也利于操作订阅信息的管理系统
课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求等)
主要内容:
.对于给定的设计题目,如何进行分析、理解,以做到思路清晰。
.掌握自顶而下的设计方法,将大问题进行模块化分解,领会结构化程序设计的方法,同时深刻认识到面向对象程序设计及面向过程程序设计的根本区别。
.熟练掌握常用控件的使用,灵活运用各种数据类型。
.进一步掌握在集成环境下调试程序和修改程序的方法和技巧。
设计基本要求:
开发一个报刊订阅管理的系统。
系统是智能化的管理系统,它面向所有订阅用户,但具有安全性能。
它能够实现报刊订阅的基本功能,包括新报刊信息的登录、录入、订阅、查询、统计等操作。
用户合法注册后必须输入有效密码才能成功进入此系统,可以进行订阅报刊,查询信息,统计信息等操作。
系统设计
、概念设计
设计概念结构通常有四类方法:
()自顶向下:
即首先定义全局概念结构的框架,然后逐步细化。
()自底向上:
即首先定义各局部应用的概念结构,然后将它们集成起来得到全局概念模式。
()逐渐扩张:
首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他的概念结构,直至总体概念结构。
()混合策略:
即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。
其中最经常采用的策略是自底向上的方法。
即自顶向下地进行需求分析,然后再自底向上地设计概念结构。
这个报刊订阅系统就用这种方法。
概念结构设计的步骤第一步是进行局部视图的设计:
由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成。
因此我们先逐一的设计分图。
第二步是进行视图的集成:
各子系统的图设计好之后,下一步就是要将所有的分图合成一个系统
的总图,一般有两个方式,多个分图一次集成,另一种是一次集成两个分图。
我想采用一次集成两个分图的方式。
、下面所示的数据项
().定单信息,包括的数据项有:
顾客名字,顾客地址,顾客邮编,顾客电话,顾客所订阅的报刊名称,订阅日期
().客户信息,包括的数据项有:
名字,客户电话,客户地址,客户邮编,客户邮箱,密码
().报刊信息,包括的数据项有:
报刊名,报刊类别,发行地,报刊刊号,报刊价格,说明
、数据库概念结构设计
本实例根据上面的设计规划出的实体有:
定单信息,客户信息,报刊信息。
各个实体具体的描述
定单信息实体的—图
图客户信息实体图
图报刊实体信息图
图实体之间的关系图
视图的集成
经过逐步细化再进行每两个一集成初步形成一个图,最后得到总体概念结构图:
图总体概念结构图
、逻辑设计
现在需要将上面的数据库概念结构转化为数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
表报刊信息表
表订单表
表三客户信息表
图向关系模型的转换
用户(用户名,密码,真实姓名,性别,部门号,联系电话,联系地址,订阅报刊种类数)
管理员(管理员,密码)
报刊(报刊代号,报刊名,类型,出版报社,出版周期,半年订约价,全年订约价)
订阅(用户名,报刊代号,订阅年限,订阅数量,所需金额)
、数据表
)、用户表
表)是用户名,是真实姓名,是密码,是性别,是联系电话,是联系地址;是订阅报刊种类数;
图用户表
)、管理员表
(表)是管理员名,是密码
图管理员表
)、报刊表
(表)是报刊代号是报刊名是类型出版报社出版周期半年订阅价全年订阅价
图报刊表
)、订阅表
(表)是用户名(及用户表主键有关系)是报刊代号(及报刊表主键有关系)是订阅年限是订阅份数,是金额;
图订阅表
、系统实现
)、数据库实现
主要工作内容
包括实现报刊的添加和删除功能,以及报刊的查询统计功能:
能够以报刊发行地、发行刊号、报刊名等进行简单及复杂查询能够按照月、季、年生成统计表。
而这一部分的工作主要是和数据库相联系的,所以数据库的应用就是我所设计部分的关键技术。
管理员登陆是通过“.”来登陆的,它是通过登陆窗体输入管理员名,密码登录,按确定登陆,就进入到“.”窗体,该窗体主要实现的功能是浏览,修改,添加,删除,查询等功能,主要完成的功能是报刊管理。
管理员在进入之后,如果想查看报刊的整体情况,就按浏览页面,可以先浏览大概情况,而后可以详细浏览。
查看报刊的具体情况。
当管理员想知道某一商品是否存在,就可以进行查询功能,查看它是否存在。
当新近一种报刊时管理员要及时添加上去,顾客员就要通过添加页面进行添加,并及时更新,以便让顾客随时获得最新信息,可以购买自己心仪的报刊。
当某一报刊不再发行或销售时,管理员就要通过删除页面把它删除掉,方便用户订阅。
)、系统测试
进入报刊订阅系统
图登陆界面图
简洁的界面,可输入用户名和密码。
程序核心代码:
()
()
("")()("")(())
"对不起,你已经连续输错次用户名或密码!
系统将退出",,"系统退出"
"用户名或密码错误,请重新输入。
你还可以尝试""次"()
"“友情提示:
检查大小写”",,"用户名或密码错误"
()
()
<>
"*",,,
设有修改密码,可输入旧密码来输入新密码。
图系统设置图
登入系统后,可查询客户姓名电话地址邮编等。
可查询订阅报纸的名称单价结束日期等。
()
'询问确认清除
("你确定清除已经投放完毕的过期订单吗?
",,"确定清除")
'删除订阅期过了的订单
<>
"*",,,
("")<
Loop
"投放完毕的过期订单清除完成!
",,"清除完成"
()
<>
"*",,,
("")(())
()<>()()""
"新密码两次输入不同!
请重新输入",,"新密码两次输入不同"
"旧密码输入错误!
",,"旧密码输入错误"
'询问确认更改
("你确定更改密码吗?
",,"确定更改")
("")(())
"更改密码成功!
",,"更改密码成功"
(,,)
()
图进入开始界面
报纸订阅情况查询()
报纸管理()
订阅报纸()
客户订阅情况查询()
客户管理()
退出()
"*"
()
系统设置()
图可查阅报纸订阅情况。
图报纸订阅情况查询
()
()""
""
'
()
()
()
(()"")>
(()"")
(()"")>
(()"")
(()"")>
(()"")
(()"")>
(()"")
(()"")>
(()"")
(()"")>
(()"")
(()"")>
(()"")
()
","
",(*)"
"[][]"
"[][]"
"""'"(())"'"
"""'"(())"'"
()
""()""
()
""()""
,,
'计算总订购量,总金额
>
("")
()
("")
()
()
>
()
()()
()
()
()
<>
","
",(*)"
"[][]"
"[][]"
"""'"(())"'"
"""'"(())"'"
()
""()""
()
""()""
,,
'初始化数据
(()"")>
(()"")
(()"")>
(()"")
(()"")>
(()"")
(()"")
(()"")
(()"")
(()"")
'计算总订购量,总金额
>
("")
()
("")
()
图客户资料管理图
()
()
()
()""
()
()
()
()
()""
()
()
'询问确认删除
("你确定删除"()"这个客户资料吗?
",,"确定删除客户信息")
'删除客户资料
()""
"您尚未选择需要删除的客户资料,请选择一条需要删除的客户资料",,"选择客户资料"
""
"[][]"
"'"("")"'"
"'"("")"'"
"'"("")"'"
"'"("")"'"
,,
<
"删除客户资料成功!
",,"删除客户资料成功"
"无法删除,此客户还有订购的报纸仍在投送或尚未投送",,"无法删除客户资料"
()
'判断文本框是否为空
()<>""
"新添资料前请点击“添加客户资料”",,"添加客户资料"
()""
"请输入“客户姓名”,它不可以为空!
",,"输入“客户姓名”"
()
()""
"请输入“客户电话”,它不可以为空!
",,"输入“客户电话”"
()
()""
"请输入“客户地址”,它不可以为空!
",,"输入“客户地址”"
()
()""
"请输入“客户邮编”,它不可以为空!
",,"输入“客户邮编”"
()
((()))>
"“客户姓名”必须为中文",,"“客户姓名”必须为中文"
()
()
()(())
((()))
"“客户电话”必须为数字",,"“客户电话”必须为数字"
()
()
()(())
((()))>
"“客户地址”必须为中文",,"“客户地址”必须为中文"
()
()
()(())
((()))
"“客户邮编”必须为数字",,"“客户邮编”必须为数字"
()
()
()(())
((""),(()),)
'当存在相同姓名时,询问是否添加
("姓名为"()"的客户资料已存在你确定添加吗?
",,"确定添加客户资料")
((""),(()),)
((""),(()),)
((""),(()),)
"客户姓名,电话,地址,邮编及要添加的客户资料完全相同的记录已存在,无需添加",,"重复客户资料"
'保存新客户资料
("")(())
("")(())
("")(())
("")(())
()
"新增客户资料已经保存成功!
",,"新增客户资料成功"
()
()
"*""'"(())"'"
"""'"(())"'"
"""'"(())"'"
"""'"(())"'"
,,
()
'询问确认修改
("你确定更改"()"这个客户资料吗?
这将会更改所有此客户的订阅信息",,"确定修改客户信息")
'判断文本框是否为空
()""
"您尚未选择需要修改的客户资料,请选择一条需要修改的客户资料",,"选择客户资料"
()""
"请输入“客户姓名”,它不可以为空!
",,"输入“客户姓名”"
()
()""
"请输入“客户电话”,它不可以为空!
",,"输入“客户电话”"
()
()""
"请输入“客户地址”,它不可以为空!
",,"输入“客户地址”"
()
()""
"请输入“客户邮编”,它不可以为空!
",,"输入“客户邮编”"
()
'判断“客户姓名”是否为中文字符
((()))>
"“客户姓名”必须为中文",,"“客户姓名”必须为中文"
()
()
()(())
'判断“客户电话”是否为数字
((()))
"“客户电话”必须为数字",,"“客户电话”必须为数字"
()
()
()(())
((()))>
"“客户地址”必须为中文",,"“客户地址”必须为中文"
()
()
()(())
((()))
"“客户邮编”必须为数字",,"“客户邮编”必须为数字"
()
()
()(())
'保存客户资料修改
("")(())
("")(())
("")(())
("")(())
"客户资料已经修改成功!
",,"修改成功"
()
'设置文本框的数据源
()
'设置文本框的数据绑定字段
()()
()
()
<>
''''关键在这里,必须使用客户端游标。
"*",,,
()
()
图报纸资料管理
图客户订阅情况查询
()
()""
()
()
","
","
",(*)"
"[][]"
"[][]"
"""'"(())"'"
(())<>""
"'"(())"'"
"""'"(())"'"
(())<>""
"'"(())"'"
,,
'计算订购种类,总订购量,总金额
>
()
("")
()
("")
()
()
>
()
()()
()
<>
","
","
",(*)"
"[][]"
"[][]"
"""'"(())"'"
(())<>""
"'"(())"'"
"""'"(())"'"
(())<>""
"'"(())"'"
,,
'计算订购种类,总订购量,总金额
>
()
("")
()
("")
()
(,,)
课程设计心得体会
通过参加报刊订阅系统这个课题的设计,我既提高了系统设计和软件编码的能力,自身各方面素质也得到提高。
首先,参及这样一个系统开发,就要在整个开发过程中贯穿一种系统工程的概念,强调的是系统的统一和协调。
其中,最主要的是在管理上统一规范和标准,硬件环境和软件开发环境都应大致相同。
其次,在开发过程中,由于工作需要,我熟悉了,编程,对数据库的概念和使用,有了
更深一层的理解,同时掌握了其它常用工具软件的使用。
所有这些,不但充实了我的知识结构,扩大了知识面,增强了分析和解决问题的能力,也提高了自学能力,为今后工作打下了基础。
同时,在系统开发的过程中,也培养了一种坚忍不拔的精神。
因为,在系统的开发过程中,经常要对基本的数据库结构进行修改,这样就会给系统的运行带来错误,刚开始时我茫然无措,通过向别人请教及查阅资料,到后来,在进一步熟悉了之后,慢慢完善这些功能。
其间,我的程序也多次随着数据结构的修改、用户新的需求而进行改动。
但每一次改动,都是对本功能模块的完善。
在系统的开发过程中,让我感触最深的是一个成功的系统是离不开前期大量的需求分析和及用户不断交流的,只有让用户感到满意的系统才算是一个真正成功的系统,因此,在程序的设计及测试过程中,力图使自己的系统更贴近实际情况和用户需要在实现代码的过程中,会不断的发现新的问题,例如:
后台数据库建的不够合理,当前台形成一定规模时,不宜再修改数据库的结构。
系统使用时的安全性主要体现在操作员的权限和对业务流程的控制方面。
前者要对各类操作员所涉及的业务内容进行详细的划分,防止其进入他人的业务范围。
由于我经验不足,系统仍有很多不完善的地方。
最后,我认为自己在系统开发过程中,还培养了一种严谨、认真的工作态度和良好的工作习惯。
我觉得经过这一段时间的课程设计工作,我在各方面都有较大的收获,取得了较大的进步。
参考文献
附录
应用软件介绍
)
是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。
从任何标准来说,都是世界上使用人数最多的语言——不仅是盛赞的开发者还是抱怨的开发者的数量。
它源自于编程语言。
拥有图形用户界面()和快速应用程序开发()系统,可以轻易的使用、、连接数据库,或者轻松的创建控件。
程序员可以轻松的使用提供的组件快速建立一个应用程序。
发展历史
作为的一员发布,证明微软正在改变的产品定位,他想让成为企业级快速开发的利器。
在数据访问方面有了很大的改进,新的组件让对大量数据快速访问成为可能。
数据环境和新的报表功能也让数据开发有了全新的体验。
借助强大的功能,可以开发具有层结构的分布式应用程序。
同时,还可以在上开发性能超群的应用程序。
在语言方面和方面的改进都不大,但是许多新增的组件成为开发人员手中的利器,如等。
新的字符串函数和等也给的程序员带来很大方便。
语言特性
的中心思想就是要便于程序员使用,无论是新手或者专家。
使用了可以简单建立应用程序的系统,但是又可以开发相当复杂的程序。
的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组件的属性和方法。
窗体控件的增加和改变可以用拖放技术实现。
一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。
每个控件都有自己的属性和事件。
默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。
很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。
举个例子来说:
窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。
在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。
的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。
有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。
的组件既可以拥有用户界面,也可以没有。
这样一来服务器端程序就可以处理增加的模块。
)
是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。
它是微软的一个成员,在包括专业版和更高版本的版本里面被单独出售。
年月日,最新的微软在微软里发布,微软是前一个版本。
以它自己的格式将数据存储在基于的数据库引擎里。
它还可以直接导入或者链接数据(这些数据存储在其他应用程序和数据库)。
软件开发人员和数据架构师可以使用开发应用软件,“高级用户”可以使用它来构建软件应用程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 报刊 订阅 管理 系统 课程设计