电影院管理系统开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
09521班张雄2009年6月
目录
一、需求分析 (1)
二、数据字典 (2)
三、数据库设计 (3)
四、主界面设计 (3)
五、子模块的规划 (5)
六、建立公共模块 (5)
七、修改密码模块的实现 (6)
八、分类管理模块 (7)
九、会员管理模块 (9)
十、电影登记模块 (11)
十一、购票通道模块 (12)
十二、电影查询模块 (14)
十三、会员积分统计模块 (15)
十四、用户登录窗体模块 (16)
十五、生成EXE文件 (18)
十六、发布软件包 (19)
电影院管理系统设计
一、需求分析
电影院管理系统可以实现电影的登记和购买,可以方便的进行电影的查询以及会员的购买等信息。
1.功能需求分析
2.数据需求分析
本系统比较简单,涉及的实体主要有二个:自行车、借车人,二者之间的联系是自行车租借。实体以及实体之间的联系一般用E-R图表示。
在关系型数据库系统中,实体以及实体之间的联系都是用表(关系)来表示的,表之间的联系通过关键字实现关联。对E-R图进行转换,可构成便于实现的数据库逻辑结构图,如下图所示。
在上图中,我们增加了2个表。“自行车类别”表中存放自行车分类的名称,目的是简化和规范化自行车信息的录入,也便于以后的信息更新。“管理员”表是为了系统安全性而设置的,用于保存管理员的用户名和密码,用户在进入管理系统时需要输入正确的账号和密码。
图中菱形框内表示的是用于表之间关联的关键字段。
各表的字段为:
电影(电影编号、电影名称、放映时间、类别、电影详情)
会员(ID号、姓名、积分)
销售(电影编号、ID号、购买日期、购买件数)
分类(分类)
管理员(账号、密码)
二、数据字典
三、数据库设计
本系统采用最简单最常用的Access数据库,数据库文件名为manage.mdb。
四、主界面设计
设计好的程序主界面如下图所示
本管理系统的主要界面采用MDI窗体,MDI是英文多文档界面的缩写,是可在显示多个窗体。因此,一般将MDI窗体称为主窗体(父窗体),在其中显示的窗体称为子窗体。
本管理系统的各个功能模块采用菜单驱动,有4个菜单选项,与功能需求分析相对应。创建主窗体基本步骤如下:
在硬盘上创建一个文件夹(命名为自行车管理系统),用于存放本系统开发过程中所有的文件,把创建的db1.mdb数据库文件也复制到该文件夹中。
打开vb,将默认的窗体form1移除,并修改工程属性中的名称为:zxcgl,然后保存工程。
添加1个MDI主窗体。选择“工程”→“添加MDI窗体”命令,然后设置窗体属性如下图所示。
表1:主窗体的属性
(4)在主窗体中添加菜单栏。在MDI主窗体上单击右键打开快捷菜单,选择“菜单编辑器”命令,打开“菜单编辑器”对话框。按下表创建菜单。
表2:菜单项表
对象”下拉列表框中选择“frmmain”
(6)运行工程,点击运行按钮,如果想美化窗体可添加背景图片。在主窗体的属性框中添加背景图片。
五、子模块的规划
本窗体的各个功能都通过单独的窗体来完成,选择“工程”→“添加窗体”命令,可以添加实现具体功能的各个子窗体。要创建的子窗体如下表所示。
几点说明:
(1)每个窗体保存的文件名就用窗体的名称;
(2)这些窗体都是作为子窗体,因此都需要将其MDIChild属性设置为True;
(3)子窗体的大小一般都是固定的,即用户不能改变大小,这可通过设置BorderStyles 属性为1-Fixed single来实现。
(4)我们一般希望打开的子窗体在主窗体的中央位置显示,但窗体设置MDIChild属性为TRUE后不能通过startupposition属性的设置来实现,需要在子窗体的form_load()子程序中加入如下代码实现:
Me.Left = (frmmain.Width - Me.Width) / 2
Me.Top = (frmmain.Height - Me.Height) / 2
其中的frmmain为MDI主窗体名称
六、建立公共模块
建立公共模块可以提高代码的效率,同时使得修改和维护代码都很方便.本系统中各个子窗体都需要对数据库进行操作,因此最好把用来建立数据库连接的变量和代码放在模块中.
创建公共模块的步骤如下:
(1)在菜单中选择”工程”“添加模块”命令,则出现模块对话框.
(2)选择模块图标后,单击”打开”按钮,则模块已经添加到项目中了.默认情况下名为Modulel,保存的文件名默认为Modulle1.bas.
(3)在模块中定义整个项目的公共变量.这里先添加几个用于进行数据库操作的公共变量,以
后如果需要其他的公共变量再添加.
Public conn As New ADODB.Connection’数据库连接对象
Public rs1 As New ADODB.Recordset’记录集对象
Public rs2 As New ADODB.Recordset’多设几个记录集
(4)在模块中编写公用子程序或函数.这里先添加建立数据库连接的子程序.
Public Sub conn_open()
On Error GoTo errout
conn.CursorLocation = adUseClient
If conn.State <> adStateClosed Then conn.Close
connstr = "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\db1.mdb"
conn.Open connstr
Exit Sub
errout:
If conn.State = adStateOpen Then conn.Close
MsgBox "数据库连接错误!", vbOKCancel + vbExclamation, "错误提示"
End Sub
在子窗体中如果要建立数据库连接,只要使用Call conn_open 语名即可建立数据库连接,然后就可以使用conn 对象了.
使用公用子程序的好处是,如果数据库文件改名了,只要修改此处即可,其他地方的程序不必修改。
七、修改密码模块的实现
1.界面设计
2.功能设计
如果用户输入的原密码正确,新密码不为空而且两遍一样,则将新密码保存到数据库的“管理员”表中。
3.代码设计
Private Sub Command1_Click()
Call Conn_open
SQL = "SELECT * FROM 管理员WHERE 账号='1234'"
RS1.Open SQL, CONN, adOpenStatic, adLockReadOnly