第4章 系统设计
4.1系统结构设计
系统设计主要是管理员登录后对整个系统相关操作进行处理,可进行管理员的添加和删除,站点管理、用户管理、内容管理、影城简介、电影类别、电影信息、放映大厅、售票处、销售记录管理等操作管理。
系统的功能结构图如下图所示。
图4-1系统功能结构图
4.2功能模块设计
- 系统登录:系统登录是管理员访问系统的路口,设计了系统登录界面,包括管理员名、密码和验证码,然后对登录进来的管理员判断身份信息,判断是管理员还是普通用户。
- 管理员管理:管理员可以管理系统的其他普通用户的账号,包括录入新管理员,删除现有的普通用户,修改现有的普通用户的信息,并可以通过管理员名和姓名等关键字搜索普通用户,打印管理员列表页面,导出管理员列表至excel中。
- 修改密码:系统所有管理员(管理员和普通用户)应该都要能修改自己的登录密码,修改后需要重新登录。
- 个人资料管理:由普通用户使用,普通用户登录系统后,可以修改个人原始信息,如修改电话号码、邮箱等,管理员的管理员名是无法修改的。
- 登录情况管理:系统每个管理员应该都能查看个人的历史登录情况,如登录IP、登录时间、登录地址等,防止管理员账号被盗,加强管理员账号安全。
- 操作日志管理:系统每个管理员应该都能查看个人的历史操作日志,如管理员添加了某条数据,历史操作日志需要展示操作人,操作描述,操作时间等信息。防止系统被黑客攻击,加强系统的安全性。
系统里尤为关键的部分是在数据库方面,需要十分清晰的思路,所以从开始的设计时需要做到确立模块之间的联系,从而可以很明确的建立表间的联系和表中所需的内容。设计数据库还有一点是减少表的繁杂的创建,所以联系很关键,可以大大的减少,数据表中重复的事项。由此可以保证数据的完整和统一,不会造成数据的错误和重复,并且可以使数据得到数据库安全的保护,会使用户更加的放心。
概念设计是整个数据库设计的关键,在概念设计阶段,由需求分析得到了E-R模型。E-R图是识别功能模型与数据模型间关联关系的,在主题数据库的抽取和规范化的过程中,采用的是简化的E-R图表示方法,从而避免过繁过细的E-R图表示影响规划的直观和可用性。是对现实世界的抽象和概括,是数据库设计人员进行数据可设计的有力工具,能够方便直接地表达应用中的各种语义知识,令一方面它简单、清晰、易于用户理解。
E-R图,更加直观的告诉开发人员系统的各个数据的属性,各个数据之间的联系,各个数据的类型。能通过该模型更直观地了解数据库的设计,并根据对其逐渐改善。
本系统图设计,如下图所示。
图4-1系统管理ER图
4.3.2表设计
数据库表是数据库重要的组成部分,其实数据库只是一个框架,数据库表才是数据库的本质,本系统数据库表如下:
collect | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
collect_id | int | 10 | 是 | 主键 | 收藏ID: |
user_id | int | 10 | 是 |
| 收藏人ID: |
source_table | varchar | 255 | 否 |
| 来源表: |
source_field | varchar | 255 | 否 |
| 来源字段: |
source_id | int | 10 | 是 |
| 来源ID: |
title | varchar | 255 | 否 |
| 标题: |
img | varchar | 255 | 否 |
| 封面: |
create_time | timestamp | 0 | 是 |
| 创建时间: |
update_time | timestamp | 0 | 是 |
| 更新时间: |
comment | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
comment_id | int | 11 | 是 | 主键 | 评论ID: |
user_id | int | 11 | 是 |
| 评论人ID: |
reply_to_id | int | 11 | 是 |
| 回复评论ID:空为0 |
content | longtext | 0 | 否 |
| 内容: |
nickname | varchar | 255 | 否 |
| 昵称: |
avatar | varchar | 255 | 否 |
| 头像地址:[0,255] |
create_time | timestamp | 0 | 是 |
| 创建时间: |
update_time | timestamp | 0 | 是 |
| 更新时间: |
source_table | varchar | 255 | 否 |
| 来源表: |
source_field | varchar | 255 | 否 |
| 来源字段: |
source_id | int | 10 | 是 |
| 来源ID: |
film_category | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
film_category_id | int | 11 | 是 | 主键 | 电影类别ID |
film_classification | varchar | 64 | 否 |
| 电影分类 |
recommend | int | 11 | 是 |
| 智能推荐 |
create_time | datetime | 0 | 是 |
| 创建时间 |
update_time | timestamp | 0 | 是 |
| 更新时间 |
introduction_to_the_cinema | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
introduction_to_the_cinema_id | int | 11 | 是 | 主键 | 影城简介ID |
cinema_name | varchar | 64 | 否 |
| 影城名称 |
founding_time | date | 0 | 否 |
| 创立时间 |
cinema_store | varchar | 64 | 否 |
| 影城门店 |
picture | varchar | 255 | 否 |
| 图片 |
relevant_introduction | longtext | 0 | 否 |
| 相关简介 |
remarks | text | 0 | 否 |
| 备注 |
hits | int | 11 | 是 |
| 点击数 |
praise_len | int | 11 | 是 |
| 点赞数 |
recommend | int | 11 | 是 |
| 智能推荐 |
create_time | datetime | 0 | 是 |
| 创建时间 |
update_time | timestamp | 0 | 是 |
| 更新时间 |
movie_information | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
movie_information_id | int | 11 | 是 | 主键 | 电影信息ID |
movie_number | varchar | 64 | 否 |
| 电影编号 |
movie_title | varchar | 64 | 否 |
| 电影名称 |
director | varchar | 64 | 否 |
| 导演 |
film_classification | varchar | 64 | 否 |
| 电影分类 |
production_area | varchar | 64 | 否 |
| 制作地区 |
release_date | date | 0 | 否 |
| 上映日期 |
running_time_ | varchar | 64 | 否 |
| 片长时间 |
single_ticket_price | int | 11 | 否 |
| 单票价格 |
related_pictures | varchar | 255 | 否 |
| 相关图片 |
plot_introduction | longtext | 0 | 否 |
| 剧情简介 |
hits | int | 11 | 是 |
| 点击数 |
praise_len | int | 11 | 是 |
| 点赞数 |
recommend | int | 11 | 是 |
| 智能推荐 |
create_time | datetime | 0 | 是 |
| 创建时间 |
update_time | timestamp | 0 | 是 |
| 更新时间 |
movie_ticket_sales | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
movie_ticket_sales_id | int | 11 | 是 | 主键 | 售票处ID |
movie_number | varchar | 64 | 否 |
| 电影编号 |
movie_title | varchar | 64 | 否 |
| 电影名称 |
film_classification | varchar | 64 | 否 |
| 电影分类 |
production_area | varchar | 64 | 否 |
| 制作地区 |
single_ticket_price | int | 11 | 否 |
| 单票价格 |
related_pictures | varchar | 255 | 否 |
| 相关图片 |
remaining_votes | int | 11 | 否 |
| 剩余票数 |
plot_introduction | longtext | 0 | 否 |
| 剧情简介 |
remarks | text | 0 | 否 |
| 备注 |
hits | int | 11 | 是 |
| 点击数 |
recommend | int | 11 | 是 |
| 智能推荐 |
create_time | datetime | 0 | 是 |
| 创建时间 |
update_time | timestamp | 0 | 是 |
| 更新时间 |
notice | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
notice_id | mediumint | 8 | 是 | 主键 | 公告id: |
title | varchar | 125 | 是 |
| 标题: |
content | longtext | 0 | 否 |
| 正文: |
create_time | timestamp | 0 | 是 |
| 创建时间: |
update_time | timestamp | 0 | 是 |
| 更新时间: |
praise | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
praise_id | int | 10 | 是 | 主键 | 点赞ID: |
user_id | int | 11 | 是 |
| 点赞人: |
create_time | timestamp | 0 | 是 |
| 创建时间: |
update_time | timestamp | 0 | 是 |
| 更新时间: |
source_table | varchar | 255 | 否 |
| 来源表: |
source_field | varchar | 255 | 否 |
| 来源字段: |
source_id | int | 10 | 是 |
| 来源ID: |
status | tinyint | 1 | 是 |
| 点赞状态:1为点赞,0已取消 |
projection_hall | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
projection_hall_id | int | 11 | 是 | 主键 | 放映大厅ID |
hall_serial_number | varchar | 64 | 否 |
| 大厅序号 |
current_status | varchar | 64 | 否 |
| 目前状态 |
movie_number | varchar | 64 | 否 |
| 电影编号 |
movie_title | varchar | 64 | 否 |
| 电影名称 |
projectionist | varchar | 64 | 否 |
| 放映员 |
director | varchar | 64 | 否 |
| 导演 |
opening_hours | datetime | 0 | 否 |
| 开放时间 |
end_time | datetime | 0 | 否 |
| 结束时间 |
related_pictures | varchar | 255 | 否 |
| 相关图片 |
related_video | varchar | 255 | 否 |
| 预览视频 |
matters_needing_attention | text | 0 | 否 |
| 注意事项 |
remarks | text | 0 | 否 |
| 备注 |
hits | int | 11 | 是 |
| 点击数 |
praise_len | int | 11 | 是 |
| 点赞数 |
recommend | int | 11 | 是 |
| 智能推荐 |
create_time | datetime | 0 | 是 |
| 创建时间 |
update_time | timestamp | 0 | 是 |
| 更新时间 |
sales_record | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
sales_record_id | int | 11 | 是 | 主键 | 销售记录ID |
movie_number | varchar | 64 | 否 |
| 电影编号 |
movie_title | varchar | 64 | 否 |
| 电影名称 |
film_classification | varchar | 64 | 否 |
| 电影分类 |
number_of_purchase_tickets | int | 11 | 否 |
| 选购票数 |
user_number | int | 11 | 否 |
| 用户编号 |
purchase_time | datetime | 0 | 否 |
| 购买时间 |
single_ticket_price | varchar | 64 | 否 |
| 单票价格 |
total_price | varchar | 64 | 否 |
| 总价格 |
examine_state | varchar | 16 | 是 |
| 审核状态 |
examine_reply | varchar | 16 | 否 |
| 审核回复 |
pay_state | varchar | 16 | 是 |
| 支付状态 |
pay_type | varchar | 16 | 否 |
| 支付类型: 微信、支付宝、网银 |
recommend | int | 11 | 是 |
| 智能推荐 |
seat | varchar | 64 | 是 |
| 座位号 |
create_time | datetime | 0 | 是 |
| 创建时间 |
update_time | timestamp | 0 | 是 |
| 更新时间 |
slides | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
slides_id | int | 10 | 是 | 主键 | 轮播图ID: |
title | varchar | 64 | 否 |
| 标题: |
content | varchar | 255 | 否 |
| 内容: |
url | varchar | 255 | 否 |
| 链接: |
img | varchar | 255 | 否 |
| 轮播图: |
hits | int | 10 | 是 |
| 点击量: |
create_time | timestamp | 0 | 是 |
| 创建时间: |
update_time | timestamp | 0 | 是 |
| 更新时间: |
user | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
user_id | mediumint | 8 | 是 | 主键 | 用户ID: |
state | smallint | 1 | 是 |
| 账户状态: |
user_group | varchar | 32 | 否 |
| 所在用户组: |
login_time | timestamp | 0 | 是 |
| 上次登录时间: |
phone | varchar | 11 | 否 |
| 手机号码: |
phone_state | smallint | 1 | 是 |
| 手机认证: |
username | varchar | 16 | 是 |
| 用户名 |
nickname | varchar | 16 | 否 |
| 昵称: |
password | varchar | 64 | 是 |
| 密码: |
| varchar | 64 | 否 |
| 邮箱: |
email_state | smallint | 1 | 是 |
| 邮箱认证: |
avatar | varchar | 255 | 否 |
| 头像地址 |
create_time | timestamp | 0 | 是 |
| 创建时间: |
user_registration | |||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
user_registration_id | int | 11 | 是 | 主键 | 用户注册ID |
user_number | varchar | 64 | 是 |
| 用户编号 |
examine_state | varchar | 16 | 是 |
| 审核状态 |
examine_reply | varchar | 16 | 否 |
| 审核回复 |
recommend | int | 11 | 是 |
| 智能推荐 |
user_id | int | 11 | 是 |
| 用户ID |
create_time | datetime | 0 | 是 |
| 创建时间 |
update_time | timestamp | 0 | 是 |
| 更新时间 |
第5章 系统实现
5.1用户功能模块
外星人影院管理系统,在系统首页可以查看首页、登录、注册、公告消息、电影新闻、影城简介、电影信息、放映大厅、售票处管理等功能,如图5-3所示。
图5-1系统首页界面图
用户注册,在用户注册页面通过填写账户、设置密码、名称、邮箱、手机号、身份等信息完成注册,如图5-2所示。
图5-2用户注册界面图
放映大厅,在放映大厅页面可以查看引擎、大厅序号搜索、放映员搜索、相关图片、点赞、收藏、发表评论等操作,如图5-3所示。
图5-3放映大厅界面图
售票处,在售票处页面可以查看引擎、大厅序号搜索、电影编号、电影名称、电影分类、选购票数、用户编号、单票价格、总价格、选定座位等操作,如图5-4所示。
图5-4售票处界面图
销售记录,在售票处页面可以查看引擎、电影编号、电影名称、电影分类、选购票数、用户编号、单票价格、总价格、审核状态、审核回复、支付状态、支付方式、等内容进行查询、重置、删除、添加等详细操作,如图5-5所示。
图5-5销售记录界面图
5.3管理员功能模块
管理员登录进入系统可以查看首页、站点管理(轮播图、公告栏)、用户管理(管理员、用户注册)、内容(电影新闻、新闻分类)、更多管理(影城简介、电影类别、电影信息、放映大厅、售票处、销售记录)等信息进行详细操作,如图5-6所示。
图5-6管理员功能界面图
公告栏管理,在公告栏管理页面中可以查看索引、标题、创建时间,更新时间等内容进行查询、重置、删除、添加等详细操作,如图5-7所示。
图5-7公告栏管理界面图
用户管理,在用户管理页面中可以查看索引、账户号、密码、姓名、手机号码、手机认证、邮箱、邮箱认证、用户编号、图片、状态、审核状态、审核回复等信息,并可根据需要进行详情、查询、重置或添加、删除等详细操作,如图5-8所示。
图5-8会员管理界面图
电影新闻管理,在电影新闻管理页面中可以查看标题、封面图、文章分类、标签、创建时间、更新时间等内容,并且根据需要进行详情、查询、重置、添加或删除等详细操作,如图5-9所示。
图5-9电影新闻管理界面图
影城简介管理,在影城简介管理页面中可以查看索引、影城名称、影城门店、图片、创建时间、相关简介、备注等内容进行详情、查询、重置、添加或删除等进行详细操作,如图5-10所示。
图5-10影城简介管理界面图
电影信息管理,在电影信息页面中可以查看索引、电影分类、相关图片、电影编号、电影名称、导演、制作地区、上映时间、片长时间、单票价格、剧情简介等内容进行详情、查询、重置、添加或删除等操作,如图5-11所示。
图5-11电影信息管理界面图
售票处管理,在售票处页面中可以查看索引、、电影编号、电影名称、电影分类、制作地区、单票价格、相关图片、剩余票数、剧情简介、备注等内容进行详情、查询、重置、添加或删除等操作如图5-12所示。
图5-12售票处管理界面图
第6章 系统测试
6.1 程序测试基本概念
程序测试是很重要的一个环节,当自身的程序已经完成时,仍需要测试来保证程序的正确性和可靠性,因为往往此时出现的错误就是用户可能会出现的错误,所以调试变得至关重要。唯有经过多次的调试才能够使系统达到完美的状态,使得用户可以安全,放心的使用程序,保障用户信息的安全是每个系统最基本的需求,因而调试也就是系统的最基本的要求。但是为了保证说最大程度减少开发者的工作量,应当分三个阶段来测试,初期,中期和最终期。前期:主要调试模块间的关系部分,看看是否是正确的,合理的,否则到后面会造成难以修改和总是出错的现象。中期:插入部分数据,看看是否数据库方面连接和设计得当,有些时候理念存在的是不能够在现实中完美实现的,并且调试界面找到最优的布局。最终期:插入全部数据,看是否正确,修改页面看是否能达到最初预期效果,检查功能是否完全实现。
6.2 程序测试具体内容
6.2.1 测试的重要性及目的
1.测试的重要性
只有经过反复的测试,才能够使系统得到最稳定的状态,才能把最好的一面展现给使用的用户,是极为关键的一个步骤。但是往往也是大家极容易忽视的一个部分,因为绝大部分的人认为这个部分是不重要的,但事实并非如此,任何系统不管怎样做都不可能完全去除错误,所以需要测试来最大程度的降低和减少错误。要在多环境下进行测试,以保证用户能够在不同环境配置下都能够正常使用。大多数,用户的需求是不断更新的,所以测试具有十分重要的意义,能够及时的把握到用户的最新动态,做出对系统的修改。
- 测试的目的
测试是为了让用户能够使用到系统的最好一面,能够充分利用到系统内的跟自己相关的部分。另一方面,从系统开发者的角度来说,这个举措有助于开发者在开发系统的同时能够与用户保持有好的关系,能够使开发的系统减少最多的错误和误差,并且有助于开发,边测试边开发,能够及时解决用户的需求,而开发者也能够减少返工的工作量,保证开发是朝着正确的道路前进的,并且对于用户来说能够定期看到一定的工作成果,也是更有助于提出更好的意见,而不是到末期突然提出大量的工作需求。这样可以使得用户和开发者之间的关系得到一定程度的改善,而开发者也从中得到更多改善系统的方向。
6.2.2登录测试
登录及管理员添加模块是对各个系统中不可缺少的功能之一,为了对在运行过程能正常的操作本项目就要对此进行测试。
1. 使用不同浏览器访问服务器的IP地址。
2. 输入特殊的信息登录系统,例如边界值等。
3. 查看登录及管理员添加之后登录系统所返回的结果。
无论系统管理员还是用户登录时都需要用户名和密码进行登录,当输入正确的用户名和密码观察是否正常登录。登录测试表如下表6-1所示:
表6-1登录测试表
名称 | 功能名称 | 操作阐述 | 期盼结果 | 测试结果 |
登录信息管理 | 登录 | 系统管理员登录时输入 账号:admin密码:admin | 进入后台主页面 | 成功 |
添加用户登录时输入 账号:zhangchao密码:000000 | 进入系统首页 | 成功 |
用户添加成功之后会给出提示,继续进行登录操作,用户添加成功验证的页面如下图6-2所示:
图6-2 系统后台管理员登录成功页面
管理员可以管理添加用户的信息。添加测试表如下表6-2所示:
表6-2添加测试表
名称 | 功能名称 | 操作阐述 | 期盼结果 | 测试结果 |
添加信息管理 | 添加 | 管理员进入添加用户管理页面 | 成功显示所有添加用户列表 | 成功 |
管理员进入添加用户管理页面,点击删除按钮 | 删除成功,出现删除成功的提示 | 成功 | ||
用户进入添加页面,按提示输入添加用户信息 | 添加成功,出现添加成功的提示 | 成功 |
6.2.3用户管理模块测试
用户管理信息模块对本界面中的数据和信息进行相对应得基本操作,主要有查看用户,删除用户等。
点击右面的删除按钮之后,会“提示确定要删除”,点击删除之后的验证页面如下图6-3所示:
图6-3 系统点击确定删除按钮页面
管理员在可以查看并删除用户。用户管理如表6-3所示:
表6-3用户管理测试表
模块名称 | 功能名称 | 操作描述 | 预期结果 | 测试结果 |
用户信息管理 | 查看 | 管理员进入用户管理页面,查看用户 | 所有用户均显示 | 成功 |
删除 | 管理员进入用户管理页面,点击删除按钮 | 弹窗提示,删除成功 | 成功 |
6.3 系统的优点
本系统的优点在于界面简单,对于有计算机基本操作的人群均可以高效的使用,查询功能可以使使用者在大量的数据搜索时能够快速的找到所需要的内容,开发的结构简单所以便于日后进行维护和更新功能。信息的添加和查询,使得资源得到了充分的利用。功能并不复杂所以执行速度也较快,所以用户可以得到比较良好的体验,系统内部的增删改查也比较人性化,所以比较快捷和精准。用户为管理员用户,而身份而判别使得系统比较明了,更具有安全性,系统内的数据是得到了一定的保护的。而页面上添加用户,新增添了的一个优势在于,添加后的用户,需得到管理员的审核才能够使用,避免了恶意添加或是恶意进入用户内部的举动。并且管理员据有最高权限,保证数据的安全。
门户网站建设推广查询公司水利平台网站黄页电话号码本手机app软件开发的价格获取网站目录下所有文件美国网站服务器辽宁省人民政府官网首页做网站架构计算机网络技术毕业论文中国建筑工程师网岳阳网络推广公司北京商场购物中心排名网页设计与制作的招聘公司手机网站建设公司孩子学编程的利弊手机能看的你们知道的互联网宣传方式普宁房产网宁波高质量品牌网站设计厂家国家企业信用公示信息公示网腾讯企业邮箱扫码登录入口优秀网页设计排版网络优化软件哪个好腾讯url短网址在线生成深圳住房保障和建设局官网图怪兽海报制作官网微博营销成功案例8个装修房子的效果图 三室二厅二卫qq邮箱登录手机版网页目前最火的互联网项目小工程承包的信息平台什么网站真实