摘 要
传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装电影院购票系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,电影院购票系统的有效运用可以帮助管理人员准确快速地处理信息。
电影院购票系统在对开发工具的选择上也很慎重,为了便于开发实现,选择的开发工具为Eclipse,选择的数据库工具为Mysql。以此搭建开发环境实现电影院购票系统的功能。其中管理员管理用户,新闻公告。
电影院购票系统是一款运用软件开发技术设计实现的应用系统,在信息处理上可以达到快速的目的,不管是针对数据添加,数据维护和统计,以及数据查询等处理要求,电影院购票系统都可以轻松应对。
关键词:电影院购票系统;SpringBoot框架,系统分析,数据库设计
第 4 章 系统设计
市面上设计比较好的系统都有一个共同特征,就是主题鲜明突出。通过对页面简洁清晰的布局,让页面的内容,包括文字语言,或者视频图片等元素可以清晰表达出系统的主题。让来访用户无需花费过多精力和时间找寻需要的内容。
4. 1 界面设计原则
一般来说,大部分用户使用系统,有些是想从系统中获取需要的信息,有些则是使用系统提供的服务。所以,为了改善用户体验,提高系统的使用率,在对系统界面设计时,需要按照下面的原则进行。
第一点,对用户进行分析,了解用户使用系统的目的,以及使用系统的方式,考虑大部分用户的阅读习惯,设计Z字形或F型结构可以方便用户获取信息。
第二点:设计有效的导航,这个包括每个页面上都有导航条的显示,有时也可以在页面的底部设计导航条,当用户进入具体页面时,要设计相应的位置提示,在页面中比较特殊的位置,需要设计返回链接,可以返回上个页面,也可以返回首页等。
第三点:对整个系统要运用统一的设计方案,包括色彩方案的一致性,页面模板的相似性等,对相同操作和专业术语的描述在整个系统中也应该保持一致。
第四点:设计的界面要保证传达的内容清晰准确。要避免在同一个页面设计非常多的内容,另外可以准确对系统内容进行分类,把页面中用户视觉集中的位置,用来显示重要信息。
作为初学者,并没有那么多的设计经验,但是可以运用上面提到的界面设计原则设计出比较好的系统,可以让用户产生良好的使用体验。
4. 2 功能 结构设计
为了让系统的编码可以顺利进行,特意对本系统功能进行细分设计,设计的系统功能结构见下图。
图4.1 系统功能结构图
4.3 数据库设计
开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。
4.3.1 数据库概念设计
这部分内容需要借助数据库关系图来完成,也需要使用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也需要按照设计的流程进行,首先还是要根据需求完成实体的确定,分析实体具有的特征,还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法,绘制本系统的E-R图。不管是使用亿图软件,还是Visio工具,对于E-R模型的表示符号都一样,通常矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。
(1)下图是电影评价实体和其具备的属性。
图4.1 电影评价实体属性图
(2)下图是电影订单实体和其具备的属性。
图4.2 电影订单实体属性图
(3)下图是论坛实体和其具备的属性。
图4.3 论坛实体属性图
(4)下图是用户实体和其具备的属性。
图4.4 用户实体属性图
(5)下图是电影实体和其具备的属性。
图4.5 电影实体属性图
(6)下图是用户表实体和其具备的属性。
图4.6 用户表实体属性图
(7)下图是电影收藏实体和其具备的属性。
图4.7 电影收藏实体属性图
(8)下图是新闻信息实体和其具备的属性。
图4.8 新闻信息实体属性图
4. 3 .2 数据库物理设计
作为程序后台的支持,本数据库也需要设计数据存储的结构。而数据存储结构的设计就包括了数据表结构的设计和创建。数据表结构包括了字段,数据类型,还有字段的取值范围等信息。而E-R模型中的实体就是一张表,实体的特征就可以作为该表中的字段,根据本程序信息存储要求,设计每个字段需要的类型,还有该字段的取值范围等。每当设计完成一张数据表,就需要及时保存在数据库里面,并对该设计的数据表准确命名,要求设置的数据表的名称尽量不要是中文,而且要方便记忆。因为在程序编码阶段,通过SQL语句可以把程序里面的数据写入在各个数据表里面,而这个环节需要使用到数据表的名称。如果数据表名称是中文的话,可能会乱码并影响程序运行。下面就以表格形式展示设计的结果。
表4.1电影表
|----|--------------------|------------|---------|-----|
| 序号 | 列名 | 数据类型 | 说明 | 允许空 |
| 1 | Id | Int | id | 否 |
| 2 | dianying_name | String | 电影名称 | 是 |
| 3 | dianying_types | Integer | 电影类型 | 是 |
| 4 | dianying_photo | String | 封面 | 是 |
| 5 | dianying_danyan | String | 导演 | 是 |
| 6 | dianying_bianju | String | 编剧 | 是 |
| 7 | dianying_address | String | 制片国家/地区 | 是 |
| 8 | dianying_yuyan | String | 语言 | 是 |
| 9 | dianying_shijian | String | 上映日期 | 是 |
| 10 | dianying_pianchang | String | 片长 | 是 |
| 11 | dianying_old_money | BigDecimal | 电影原价 | 是 |
| 12 | dianying_new_money | BigDecimal | 现价 | 是 |
| 13 | zuowei_number | Integer | 座位 | 是 |
| 14 | dianying_clicknum | Integer | 点击次数 | 是 |
| 15 | shangxia_types | Integer | 是否上架 | 是 |
| 16 | dianying_delete | Integer | 逻辑删除 | 是 |
| 17 | dianying_content | String | 电影简介 | 是 |
| 18 | create_time | Date | 创建时间 | 是 |
表4.2电影收藏表
|----|---------------------------|---------|------|-----|
| 序号 | 列名 | 数据类型 | 说明 | 允许空 |
| 1 | Id | Int | id | 否 |
| 2 | dianying_id | Integer | 电影 | 是 |
| 3 | yonghu_id | Integer | 用户 | 是 |
| 4 | dianying_collection_types | Integer | 类型 | 是 |
| 5 | insert_time | Date | 收藏时间 | 是 |
| 6 | create_time | Date | 创建时间 | 是 |
表4.3电影评价表
|----|---------------------------|---------|------|-----|
| 序号 | 列名 | 数据类型 | 说明 | 允许空 |
| 1 | Id | Int | id | 否 |
| 2 | dianying_id | Integer | 电影 | 是 |
| 3 | yonghu_id | Integer | 用户 | 是 |
| 4 | dianying_commentback_text | String | 评价内容 | 是 |
| 5 | reply_text | String | 回复内容 | 是 |
| 6 | insert_time | Date | 评价时间 | 是 |
| 7 | update_time | Date | 回复时间 | 是 |
| 8 | create_time | Date | 创建时间 | 是 |
表4.4电影订单表
|----|------------------------------|------------|--------|-----|
| 序号 | 列名 | 数据类型 | 说明 | 允许空 |
| 1 | Id | Int | id | 否 |
| 2 | dianying_order_uuid_number | String | 订单号 | 是 |
| 3 | dianying_id | Integer | 电影 | 是 |
| 4 | yonghu_id | Integer | 用户 | 是 |
| 5 | dianying_order_true_price | BigDecimal | 实付价格 | 是 |
| 6 | dianying_order_types | Integer | 订单类型 | 是 |
| 7 | dianying_order_payment_types | Integer | 支付类型 | 是 |
| 8 | buy_zuowei_number | String | 购买的座位 | 是 |
| 9 | buy_zuowei_time | Date | 订购日期 | 是 |
| 10 | insert_time | Date | 订单创建时间 | 是 |
| 11 | create_time | Date | 创建时间 | 是 |
表4.5字典表
|----|-------------|---------|-------|-----|
| 序号 | 列名 | 数据类型 | 说明 | 允许空 |
| 1 | Id | Int | id | 否 |
| 2 | dic_code | String | 字段 | 是 |
| 3 | dic_name | String | 字段名 | 是 |
| 4 | code_index | Integer | 编码 | 是 |
| 5 | index_name | String | 编码名字 | 是 |
| 6 | super_id | Integer | 父字段id | 是 |
| 7 | beizhu | String | 备注 | 是 |
| 8 | create_time | Date | 创建时间 | 是 |
表4.6论坛表
|----|-------------------|---------|------|-----|
| 序号 | 列名 | 数据类型 | 说明 | 允许空 |
| 1 | Id | Int | id | 否 |
| 2 | forum_name | String | 帖子标题 | 是 |
| 3 | yonghu_id | Integer | 用户 | 是 |
| 4 | laoshi_id | Integer | 老师 | 是 |
| 5 | users_id | Integer | 管理员 | 是 |
| 6 | forum_content | String | 发布内容 | 是 |
| 7 | super_ids | Integer | 父id | 是 |
| 8 | forum_state_types | Integer | 帖子状态 | 是 |
| 9 | insert_time | Date | 发帖时间 | 是 |
| 10 | update_time | Date | 修改时间 | 是 |
| 11 | create_time | Date | 创建时间 | 是 |
表4.7新闻信息表
|----|--------------|---------|--------|-----|
| 序号 | 列名 | 数据类型 | 说明 | 允许空 |
| 1 | Id | Int | id | 否 |
| 2 | news_name | String | 新闻名称 | 是 |
| 3 | news_photo | String | 新闻图片 | 是 |
| 4 | news_types | Integer | 新闻类型 | 是 |
| 5 | insert_time | Date | 新闻发布时间 | 是 |
| 6 | news_content | String | 新闻详情 | 是 |
| 7 | create_time | Date | 创建时间 | 是 |
表4.8用户表
|----|------------------|------------|------|-----|
| 序号 | 列名 | 数据类型 | 说明 | 允许空 |
| 1 | Id | Int | id | 否 |
| 2 | yonghu_name | String | 用户姓名 | 是 |
| 3 | yonghu_id_number | String | 身份证号 | 是 |
| 4 | yonghu_phone | String | 手机号 | 是 |
| 5 | yonghu_photo | String | 照片 | 是 |
| 6 | new_money | BigDecimal | 余额 | 是 |
| 7 | dianying_types | Integer | 喜欢类型 | 是 |
| 8 | yonghu_delete | Integer | 假删 | 是 |
| 9 | create_time | Date | 创建时间 | 是 |
表4.9用户表表
|----|----------|--------|------|-----|
| 序号 | 列名 | 数据类型 | 说明 | 允许空 |
| 1 | Id | Int | id | 否 |
| 2 | username | String | 用户名 | 是 |
| 3 | password | String | 密码 | 是 |
| 4 | role | String | 角色 | 是 |
| 5 | addtime | Date | 新增时间 | 是 |
第 5 章 系统实现
这个环节需要使用前面的设计方案,包括对系统模块的设计,还有对程序后台的数据支持的数据库的设计等。不过这部分内容还是强调系统编码人员的开发能力,要把前面设计的内容通过编码的形式以一个完整的,可以运行的系统呈现出来。
功能模块的实现
5.1用户信息管理
如图5.1显示的就是用户信息管理页面,此页面提供给管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息,
还进行了对用户名称的模糊查询的条件
图5.1 用户信息管理页面
5.2 电影信息管理
如图5.2显示的就是电影信息管理页面,此页面提供给管理员的功能有:查看已发布的电影信息数据,修改电影信息,电影信息作废,即可删除,还进行了对电影信息名称的模糊查询 电影信息信息的类型查询等等一些条件。
图5.2 电影信息管理页面
5.3电影评价管理
如图5.3显示的就是电影评价管理页面,此页面提供给管理员的功能有:根据电影评价进行条件查询,还可以对电影评价进行新增、修改、查询操作等等。
图5.3 电影评价管理页面
5.1新闻信息管理
如图5.4显示的就是新闻信息管理页面,此页面提供给管理员的功能有:根据新闻信息进行新增、修改、查询操作等等。
图5.4 新闻信息管理页面