1 需求分析
需求分析包括可行性分析、系统流程图和数据流图。可行性分析包括技术可行性、经济可行性和操作可行性。
1.1 可行性分析
1.1.1 技术可行性
根据电影院提出的系统功能、性能及实现系统的各种约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发的。
由以上分析可知,影院售票系统的开发在技术上是可行的。 1.1.2 经济可行性
电影院具有信息化的处理设施,并且拥有支持本系统的应用平台。因此无需再投入资金购买其他设施。
系统的开发基于本人对程序开发的实践学习而来,电影院无需资金投入,并且软件开发过程投入的成本不高,因此开发经费完全可以接受。
由以上分析可知,影院售票系统在经济上是可行的。 1.1.3 操作可行性
根据系统页面用户可以自动查询影片信息,站内新闻,后台个人资料等。还可浏览完影片信息以后操作订票、退票等功能。管理员也可以在后台添加、修改并删除站内新闻、影片信息,还可以管理注册用户信息和用户订票信息。
由以上分析可知本系统在操作上也是可行的。
1.2 系统流程图
首先未注册的用户要先注册,注册完了以后输入用户名和密码进入页面。根据网站上的影片信息用户可以选择自己喜欢的电影来订票。然后订票信息会自动存储到后台订票信息数据当中。
本系统的具体流程为如图所示。
- 1 -
系统流程图
1.3 数据流图
本系统的基本模型数据流图为如图所示。
系统基本模型数据流图
系统功能数据流图
2总体设计
2.1 系统前台功能模块设计
本影院售票系统的前台功能主要有站内新闻、用户注册、影片资讯、订票等四大模块;前台的基本层次结构图如图所示。
影院售票系统前台功能模块图
功能说明:
(1)网站首页:在网站首页中用户可以了解最新上映的电影和热门电影以及网站的站内新闻。
(2)站内新闻:用户可以浏览网站更新的有关新闻。
(3)影片资讯:影片资讯模块主要给用户提供对相关影片的详细介绍。用户可以通过该页面了解最新上映的电影以及电影的有关信息,例如该影片的导演、主演、剧情、片长、票价等。接下来可以选择自己想看的电影、然后跳转到订票页面再选择场次和座位,就可以成功订票。该功能要下下面单独介绍。
(4)用户注册:用户要想订票就得先注册,注册完以后登陆。 注册用户的个人功能模块如图所示。
用户个人功能模块图
用户登陆:用户输入自己已注册的用户名和密码,成功登陆以后可以进入影片详细
- 3 -
页面选择场次和座位、然后点击订票按钮就可以成功订票。用户还可以进入个人后台修改个人资料、管理个人订票记录。
2.2 系统后台功能模块设计
模块说明:
(1)系统管理:系统管理模块实现对管理员的添加和删除功能。例如、超级管理员可以添加并删除普通管理员,但是普通管理员实现不了这个功能。普通管理员只能对以下的站内信息、注册用户信息、订票信息进行添加、修改并删除等功能。
(2)站内新闻管理:可以对站内新闻执行添加、查询修改、删除等功能。 (3)注册用户信息管理:对注册的用户进行管理。
(4)影片信息管理:对放映影片的信息进行添加、查询、修改、删除等功能。 (5)订票管理:对用户的订票、退票等功能进行管理。还可以针对每个电影统计票房。 影院售票系统后台的层次模块如图所示。
影院售票系统后台功能模块图
2.3 数据库设计
(1)新闻信息表用于存放站内新闻的信息。
新闻信息表
列名 ID title content addtime
数据类型 int varchar varchar datetime
长度 4 50 255 8
允许空 ✓ ✓ ✓
字段说明
站内新闻标题 站内新闻内容
(2)用户信息表用于存放后台管理员的基本信息。
后台管理员用户信息表
列名 ID username pwd qx addtime
数据类型 int varchar varchar varchar datetime
长度 4 50 50 50 8
允许空 ✓ ✓ ✓ ✓
字段说明
用户名 密码 权限
(3)影片信息表用来存放影片的基本信息。
影片信息表
列名 ID bianhao yingpinamingcheng
daoyan zhuyan yingpianleixing
guojia pianchang shangyingshijian
piaojia tupian beizhu addtime
数据类型 int varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar datetime
长度 4 50 50 50 50 50 50 50 50 50 50 800 8
允许空 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
字段说明
编号 影片名称 导演 主演 影片类型 国家 片长 上映时间 票价
图片
备注(由于文章的长短所以把长度设置为800)
(4)友情链接信息表用来存放友情链接的基本信息。
列名 ID
wangzhanmingcheng
wangzhi addtime
友情链接信息表
长度 数据类型
4 int varchar varchar datetime
50 50 8
允许空 ✓ ✓ ✓
字段说明
网站名称 网址
(5) 订票信息表用来存放订票的基本信息。
订票记录信息表
列名 ID dingpiaoren yingpianbianhao
数据类型 int varchar varchar
长度 4 50 50
- 5 -
允许空 ✓ ✓
字段说明
订票人即用户名 影片编号
yingpianmingcheng fangyingshijian fangyingdidian
zuowei piaojia addtime
varchar varchar varchar varchar varchar datetime
50 50 50 50 50 8
✓ ✓ ✓ ✓ ✓ ✓
影片名称 放映时间 放映地点 座位 票价
2.4 系统E-R图
从数据需求分析中得出系统的实体属性图,遵循三范式原则,对实体之间的依关系进 行了整合,得出本系统E-R图,如图所示。
系统E-R图
其中影片信息实体属性图又为如下图所示。
影片信息实体属性图
影片场次实体属性图为如图所示。
图影片场次实体属性图
用户实体属性图为如图所示。
图用户信息实体属性图
3 详细设计
详细设计分为系统前台设计和系统后台设计。 3.1 系统前台设计
系统前台设计是为了方便用户了解有关影片信息和进行订票。 3.1.1 网站首页模块
在网站首页我们可以看到站内新闻列表、最新影片、以及网站的有关信息。网站首页界面如图所示。
网站首页
网站首页界面
点击上方的各个按钮就可以跳转到相关的信息页面。点击站内新闻列表可以直接跳转到该新闻的详细信息页面,点击最新影片的图片也可以跳转到该影片的界面。其中左下角的系统公告是从下往上动态浮动的。用文字移动属性marquee来实现了该功能。主要代码如下:
3.1.2 用户登录模块
此模块主要功能是用于登录本系统,首先将从前台页面提交的用户名和密码进行接受,之后在后台进行处理,按照用户名在数据库中进行查询如果查到该用户则将该用户的密码取出来赋给一个字符串变量,判断从数据库中读出的密码与登录时输入的密码是否配比上,若两个密码相同则进入相应的页面,否则输出密码错误。
用户登录界面如图4.2所示。
用户登陆界面
提示用户登录失败界面如图所示。
提示登录失败界面
3.1.3 用户注册模块
用户要想订票就得先注册再订票。如果没有注册就不能执行订票功能。
注册流程:用户填写用户注册页面的表格,然后点击注册按钮,系统验证用户输入的注册信息是否合法,如果合法就把用户输入的注册信息保存到系统的数据库中。如果注册信息不合法就提示出错。
用户注册界面如图所示。
用户注册界面
主要代码如下:
protected void Button1_Click(object sender, EventArgs e) {
string sql;
sql=\"insert into
zhuceyonghu(yonghuming,mima,xingming,dianhua,youxiang,shenfenzheng,xingbie,beizhu) values('\"+yonghuming.Text.ToString().Trim()+\"','\"+mima.Text.ToString().Trim()+\"','\"+xingming.Text.ToString().Trim()+\"','\"+dianhua.Text.ToString().Trim()+\"','\"+youxiang.Text.ToString().Trim()+\"','\"+shenfenzheng.Text.ToString().Trim()+\"','\"+xingbie.Text.ToString().Trim()+\"','\"+beizhu.Text.ToString().Trim()+\"') \"; int result;
result = new Class1().hsgexucute(sql); if (result == 1) {
Response.Write(\"\"); } else {
Response.Write(\"\");
}
填写完个人资料以后点击添加就可以成功注册了。提示注册成功对话框如图4.5所示。
提示注册成功界面
3.1.7 订票模块
用户选择影片场次和座位以后点击添加、系统就会把订票信息添加到数据库。
- 9 -
用户订票界面如图所示。
图4.10 订票界面
图4.11 提示订票成功界面
主要代码如下:
protected void Button1_Click(object sender, EventArgs e) {
string sql;
sql = \"select id from dingpiaojilu where
yingpianbianhao='\"+yingpianbianhao.Text.ToString().Trim()+\"' and fangyingshijian='\"+fangyingshijian.Text.ToString().Trim()+\"' and zuowei='\"+zuowei.Text.ToString().Trim()+\"'\"; DataSet result2 = new DataSet();
result2 = new Class1().hsggetdata(sql); if (result2 != null) {
if (result2.Tables[0].Rows.Count > 0) {
Response.Write(\"\"); Response.End();
} }
sql=\"insert into
dingpiaojilu(dingpiaoren,yingpianbianhao,yingpianmingcheng,fangyingshijian,fangyingdidian,zuowei,piaojia)
values('\"+dingpiaoren.Text.ToString().Trim()+\"','\"+yingpianbianhao.Text.ToString().Trim()+\"','\"+yingpianmingcheng.Text.ToString().Trim()+\"','\"+fangyingshijian.Text.ToString().Trim()+\"','\"+fangyingdidian.Text.ToString().Trim()+\"','\"+zuowei.Text.ToString().Trim()+\"','\"+piaojia.Text.ToString().Trim()+\"') \"; int result;
result = new Class1().hsgexucute(sql);
sql = \"update yingpian set piaoshu=piaoshu-1 where bianhao='\" + yingpianbianhao.Text.ToString().Trim() + \"'\"; result = new Class1().hsgexucute(sql); if (result == 1) {
Response.Write(\"\"); } else {
Response.Write(\"\"); }
} 3.1.8 个人后台模块
用户可以在个人后台上自动修改个人资料和管理订票信息。
图4.12 点击个人后台
- 11 -
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务