已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计课程名称大型数据库题 目影院管理系统学 院计信学院专 业计算机科学与技术班 级软件二班学生姓名指导教师 2011年12月15日课程设计成绩评定表学院:计信学院 班级:09软件二班 学生姓名: 学号: 项目分值优秀(100x90)良好(90x80)中等(80x70)及格(70x60)不及格(x60)评分参考标准参考标准参考标准参考标准参考标准学习态度15学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作学习态度尚可,能遵守组织纪律,能按期完成任务学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度技术水平与实际能力25设计合理、理论分析与计算正确,实验数据准确,有很强的实际动手能力、经济分析能力和计算机应用能力,文献查阅能力强、引用合理、调查调研非常合理、可信设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能力和计算机应用能力,文献引用、调查调研比较合理、可信设计合理,理论分析与计算基本正确,实验数据比较准确,有一定的实际动手能力,主要文献引用、调查调研比较可信设计基本合理,理论分析与计算无大错,实验数据无大错设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能力差,文献引用、调查调研有较大的问题创新10有重大改进或独特见解,有一定实用价值有较大改进或新颖的见解,实用性尚可有一定改进或新的见解有一定见解观念陈旧论文(计算书、图纸)撰写质量50结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰结构合理,层次较为分明,文理通顺,基本达到规范化要求,书写比较工整;图纸比较工整、清晰结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;图纸比较工整内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰指导教师评定成绩:指导教师签名: 年 月 日课程设计任务书学生姓名: 专业班级: 09软件二班 指导教师: 工作单位: 题 目: 影院管理系统已知技术参数和设计要求: 系统平台:windows 7 ultimate service pack 1 软件:visual studio 2010 + oracle 10g for windows要求完成的主要任务: (1).活动促销信息管理。管理员可以添加,删除,修改,活动促销信息,促销信息可以分为团购和个人两类。(2).热门影片推荐信息管理。管理员可以添加,删除,修改,查询热门影片信息。(3).会员信息管理。管理员可以添加,删除,修改会员信息。(4).影片信息查询。按各种条件对影片进行查询。时间安排:需求分析 1天 概要设计 1天 模块设计 1天详细设计 2天编写代码 2天 撰写报告 1天 指导教师签名: 年 月 日大型数据库课程设计 题目:影院管理系统班级:09软件二班姓名:学号:指导教师:完成日期:2011年12月15日 第- 5 -页(共39页)一需求分析1.1 问题描述 随着计算机的不断发展,计算机在人们的生活中扮演着越来越重要的角色,人们的生活已经离不开计算机,因为计算机已经影响着我们的方方面面,丰富了人们的生活。同时,随着经济的飞速发展人们的收入越来越高,相应的娱乐设施也越来越多,电影院是人们经常光顾的地方,正是人们对高质量生活的追求促使了电影业的蓬勃发展,因此电影院俨然成了大中小城市的必须的基本的公共娱乐设施。 每个社会公共服务系统都有一套相应的管理体系,电影院同样如此。在以服务为重心的当今社会,提供便捷,高效,优质的服务已经成为许多企业单位追求的目标。对于电影院来说,服务的好与坏更是影响客流量的重要因素。正因为如此,一个好的影院管理系统是每个电影院所必备的。 基于以上的分析,我们决定开发一个简洁,高效,实用的影院管理系统,在我们查阅大量资料,走访各大电影院,调查一些普通观众的基础上,总结出了以下需求: (1).顾客能够快速,方便的购买电影票(包括预订,购买,退票,打折等)。 (2).对播放电影,场次,电影档期,名称,时间,工作人员的安排等信息的公示要清楚显眼。 (3).检票管理事宜要完成观众进场时检票的事宜(包括电影票的真假甄别,检票入场等)。(4).数据管理要处理电影的播放的次序,工作人员的管理,以及过期电影票的处理问题。 (5).活动促销信息,提供促销活动的明细,规则等。(6).提供影片的详细信息,包括剧情,时长,类型,已统计的票房等,并给出推荐电影。 (7).设置会员用户组,对会员设置打折优惠。(8).提供近期各影片的信息查询。1.2 基本任务 通过用户调查分析及实际需求,系统需要实现如下基本任务: (1)活动促销信息管理。管理员可以添加,删除,修改,活动促销信息,促销信息可以分为团购和个人两类。 (2)热门影片推荐信息管理。管理员可以添加,删除,修改,查询热门影片信息。 (3)会员信息管理。管理员可以添加,删除,修改会员信息。 (4)影片信息查询。按各种条件对影片进行查询。二概要设计为了完成需求分析的基本任务,主要从以下2个方面进行设计:2.1 主界面设计 为了实现影院管理系统的各项功能,设计了一个含有多个菜单项的主控菜单模块以链接系统的各项功能,以方便工作人员和顾客使用该系统。系统主控菜单运行界面如图1所示:2.2系统功能设计 系统设计了4个功能模块,即会员信息管理,影片信息查询,促销活动信息和热门影片推荐。 会员信息管理模块:本模块主要实现管理员或者会员对信息进行添加,删除,修改等操作。其中会员信息包括姓名,会员号(身份证号),电话,地址,消费信息记录等。 影片信息查询模块:本模块实现顾客对近期将要上映的影片信息的查询。其中影片信息包括电影名称,电影类型,导演,主演,片长,上映时间等,其中管理员可以执行对电影信息的添加,删除和修改等。 促销活动信息模块:本模块主要实现用户对促销活动信息的查询。管理员可以添加,修改,删除促销活动信息。 热门影片推荐模块:本模块主要实现用户对热门影片的查询。管理员有权限添加,修改,删除热门影片,但是会员只能查询。 图1. 影院管理系统主界面三. 模块设计3.1 模块设计系统主界面模块 会员信息管理模块影片信息查询模块活动促销信息模块热门影片推荐模块系统主要包含主程序模块和其它链表操作模块。其调用关系如图2所示。 图2. 系统主程序模块之间的关系3.2 系统子模块及其功能设计 本系统共设计了5个模块,一个主界面模块,4个子模块。各程序的窗体及功能说明如下: memberinforform:会员信息管理模块的主函数,其中通过实例mf调用mf.insert(),mf.delete(),mf.update()和mf.select()等子方法,分别实现对会员信息的增加,删除,修改,查询等操作. filminforform:影片信息查询模块通过实例fi调用fi.select(),fi.insert(),fi.update(),fi.delete()等方法,主要实现会员对影片信息的查询,管理员对影片信息增加,修改,删除等操作。 promoteform:促销活动信息模块主函数,通过实例pf调用 pf.select(),pf.insert(),pf.update(),pf.delete()等方法, 用会员对促销信息的查询,管理员对促销信息的查看,发布, 修改,删除等操作。 hotfilmform:热门电影推荐模块的主函数.通过实例hf调用hf.select(),hf.insert(),hf.update(),hf.delete()等方法,分别用于查询,增加,修改,删除热门电影信息。 -上面的各种方法实现整合到类oracleoperation中-3.3 系统模块之间的调用关系oracleoperationselect()cselect()insert()update()delete() 系统5个模块之间的调用关系如下图:hf(实例)hf.insert()hf.update()hf.dalete()hf.select() mf(实例)mf.insert()mf.update()mf.delete()mf.select()pf(实例)pf.insert()pf.update()pf.delete()pf.select()fi(实例)fi.select() 会员信息管理模块 影片信息查询模块 促销活动信息模块 热门影片推荐模块 图3.模块之间的调用关系图四详细设计4.1 系统主要模块设计 (1)会员信息管理模块: 本模块需要输入的变量有会员号,姓名,性别,地址;操作有添加, 删除,修改,清除(清除输入框中的内容)。界面如下图所示: 图4.会员信息管理模块界面本模块对应的oracle表名为hy,表hy的结构为: 名称 是否为空? 类型- - -会员号 not null varchar2(10)姓名 varchar2(20)性别 varchar2(4) 地址 varchar2(40)程序在设计时,会员号是只能是长度为10的数字,姓名和地址是字符串类型,并且性别只能是男或者女,否则系统报错。具体实现如下: try long a = convert.toint64(hy_no.text.trim (); string b = convert.tostring(hy_name.text.trim (); string d = convert.tostring(hy_addr.text.trim (); catch messagebox.show(您所填的信息格式有误,请检查后重新增加); return; if (hy_sex.text.trim () != 男&hy_sex.text.trim ()!=女) messagebox.show(性别填写错误!); return; 当上面4个信息的格式填写正确时,可以执行添加操作;操作时调用oracleoperation类中的insert()方法,具体实现如下:mf.insert(hy, 会员号, 姓名, 性别, 地址, hy_no.text, hy_name.text.tostring().trim (), hy_sex.text.tostring().trim (), hy_addr.text.tostring().trim (); (注:其中mf为oracleoperation类在本模块中的一个实例) 会员号在表hy中是主键,当修改时必须给出要修改行的会员号,否则无法修改。不修改的列可以为空,系统只修改不为空的列,通过if语句来控制。 实现代码如下: if (hy_name.text != )/执行update的语句 删除信息时,给出会员号即可。当给出的会员号与表中的不匹配,系统会报错。具体实现如下 : if (hy_no.text.trim () = | hy_no.text.trim().length != 10) /报错 else /删除操作 清除作用是把4个输入框中清空。实现的语句如下: textbox.text=”;(2)影片信息查询模块: 本模块需要输入的为查询的类型(分为影片片名,电影类型,导演,主演)。前面的combobox用来选择查询的类型,后面textbox用来输入查询的内容。界面如下图所示: 图5.影片信息查询模块界面图 本模块说对应的表为dy,表的结构如下图所示:名称 是否为空? 类型- - -片名 varchar2(20)类型 varchar2(10)导演 varchar2(10)主演 varchar2(20)查询的内容为任意字符串,当查询为空时,系统将显示整个dy表,但是查询类型不能为空,通过一下代码来实现: if (combobox1.text = ) /提示输入查询类型 else /查询操作在打开窗口时,datagridview1是不可见的,只有查询成功时才会显示查询表,当系统生成窗口时把datagridview1的visiable属性改为false,当查询成功时才将它这一属性改为true,实现代码如下: private void filminforform_load(object sender, eventargs e) datagridview1.visible = false; if (combobox1.text = ) /提示输入查询类型 else datagridview1.visible = true;/查询操作在查询时系统根据combobox中的内容来判断是以什么查找用户所需要的信息,实现代码如下: if (combobox1.text = 片名) /以片名查询 else if (combobox1.text = 类型) /以类型查询 else if (combobox1.text = 导演) /以导演查询 else if (combobox1.text = 主演) /以主演查询 (3)促销活动信息模块: 本模块需要输入的为促销活动名称,促销活动的截止日期,促销活动的内容,还有促销活动的类型(个人,团购)。本模块的操作有添加,修改,删除和清除(输入框中的内容)。界面如下图所示: 图6.促销信息管理模块界面本模块对应的表名为cx,其结构如下图所示: 名称 是否为空? 类型- - -促销名称 varchar2(40)类型 varchar2(6)促销内容 varchar2(200)截至日期 varchar2(20)本模块主要是实现管理员对促销活动的添加,修改,删除等操作。其中名称,日期,内容可以写任意字符串,其中名称不能为空。但是类型只能是个人或者团购。可以通过下面代码来实现: if (cx_mc.text.trim () = ) /提示输入名称为空 else /执行删除操作 在插入操作时,同样名称不能为空,检查后满足条件时才能正常插入,实现的方法和上面的类似。更新操作时,促销活动名称是必填的,其余的根据要更新列填写,为空则不进行更新操作,这个也是通过if语句来控制的。实现结果如下: if (不为空) /更新操作 (4)热门影片推荐模块:本模块供管理员添加,删除,修改,查询热门影片推荐信息。添加时片名,导演,简介,类型都不能为空,否则弹出提示。 程序界面的datagridview用来显示表hf。而且在窗口生成时即查询该表达到直接显示表的效果。具体代码实现如下: 图7.热门影片推荐模块界面 private void hotfilmform_load(object sender, eventargs e) datagridview1.datasource = hf.select(hf); 本模块表名为hf,其结构如下图所示: 名称 是否为空? 类型- - -片名 not null varchar2(20)导演 varchar2(15)简介 varchar2(150)类型 varchar2(20) 当满足条件时,执行insert()函数实现数据的插入。同时,只需给出电影名称(必须给出),即可调用update()函数对相应的信息进行更新操作。具体代码实现如下: if (hf_name.text = ) messagebox.show(请输入要更新的电影名称!); return; else if (hf_dir.text != ) hf.update(hf, 导演, hf_dir.text.tostring(), 片名, hf_name.text.tostring(); if (hf_jj.text != ) hf.update(hf, 简介, hf_jj.text.tostring(), 片名, hf_name.text.tostring(); if (hf_lx.text != ) hf.update(hf, 类型, hf_lx.text.tostring(), 片名, hf_name.text.tostring(); (5)oracle数据库操作类oracleoperation 用c#语句来连接oracle所用到的语句:oracleconnection conn = new oracleconnection(data source=myorcl;user id=scott;password=abc123); conn.open(); (其中myorcl为数据源名,scott为登陆oracle时用户名,abc123为登陆密码) 本类由5个方法组成,分别如下:public datatable select(string table) /查询表public datatable cselect(string name,string text) /有条件查询表public void delete(string table,string name,string text) /删除表public void insert(string name,string a,string b,string c,string d,string e,string f,string g,string h) /向表中插入数据public void update(string table,string name, object val, string coulm ,object text);/更新表5个方法实现类似,以其中delete()为例:delete()代码如下:public void delete(string table,string name,string text) oracleconnection conn = new oracleconnection(data source=myorcl;userid=scott;password=abc123); conn.open(); oracletransaction mytran = conn.begintransaction(); oraclecommand mycomm = conn.createcommand();mycomm.commandtext = string .format (delete from 0 where 1=2 ,table ,name ,text ); mycomm.executenonquery(); mytran.commit(); conn.close(); 其他操作只需要把string .format()中的语句换成需要执行的语句,然后变量参数作相应的调整即可实现其他的操作。具体实现请参考程序源代码部分。这里不再赘述。五调试分析(1)会员信息管理模块:打开会员信息管理界面如下图所示:向其中插入会员: 男重庆南岸。结果如下图:把会员号为 性别修改为 女 ,执行结果如下: 删除会员号为2009131330的会员的信息:执行结果如下图 (2)影片信息查询模块: 打开影片查询信息界面,如下图所示,选择片名进行查询,输入执行结果如下图所示:选择以类型查询,输入动作,查询结果如下图所示: 选择以主演查询,输入章子怡,查询结果如下图所示: 选择以导演查询,输入诺兰,查询结果如下图所示: (3)促销活动信息模块: 打开促销活动信息界面 ,输入下列信息: 名称:七夕优惠 截止日期:20110707(农历) 内容:全体情侣半价优惠 类型:个人 插入结果如下图所示: 将“七夕优惠”信息的类型由“个人”改为“团购”,时间去掉“农历”修改的结果如下: 将“共庆元旦”这条促销信息删除,删除后的结果如下图所示: (4)热门影片推荐模块:向其中插入片名为“让子弹飞”信息,插入的结果如下: 将“让子弹飞”的导演修改为“冯小刚”,修改结果如下图所示: 将“十面埋伏”的所有信息删除,删除后如下图所示: 六自我评价通过本次课程设计,我深刻的了解到oracle在生活中有着多方面的应用。同时我也真切实地的认识到编程也不像想象中的那么困难,只要有恒心和必要的知识,任何人都可以开发出自己满意的软件。本次课程设计,我在以c#为编程语言的基础上,以oracle为数据存储载体,开发出了“影院管理系统”。经过不断的调试,分析,改进和再分析,程序基本满足各项指标和课程设计要求,所有功能都已成功实现。但是在这过程中,也经历了“千辛万苦”,在学习理论的基础上把所学到的知识应用与实际,本身的难度是巨大的,不过经过了5天的奋斗,查阅了大量的资料,困难还是被一个一个的克服了,并且在这过程中我学到了很多,这点还是比较欣慰的。对于程序本身而言,我个人觉得很满意。程序在实现所要求的功能的同时,尽量让交互界面简洁,易操作。对于非法的用户输入对做了比较详细的提示,还是比较人性化的。其中花了大量的时间做了代码优化工作,特意创建了一个类oracleoperation,用尽量少的代码达到同样的功能,使代码简洁易懂,运行流畅。当然,由于本人水平有限,程序中难免会有一些小的bug或者功能上的欠缺,比如当某一行中内容过多时,让表显示其所有的内容还没有实现等。还希望老师批评指正。七参考文献1c#面向对象程序设计 郑宇军编 人民邮电出版社2oracle.9i&10g编程艺术深入数据库体系结构 thomas kyte著 人民邮电出版社3c#2008数据库入门经典(第4版) vidya vrat agarwal著 清华大学出版社4鸟哥的linux私房菜 基础学习篇(第三版) 鸟哥著 人民邮电出版社5c#入门经典 karli watson著 清华大学出版社八程序源代码(1)会员信息管理模块:using system;using system.collections.generic;using system.componentmodel;using system.data;using system.drawing;using system.linq;using system.text;using system.windows.forms;using oracle.dataaccess.client;namespace oracle public partial class memberform : form1 public memberform() initializecomponent(); oracleoperation mf = new oracleoperation(); private void memberform_load(object sender, eventargs e) datagridview1.datasource = mf.select(hy); private void add_click(object sender, eventargs e) if (hy_no.text = | hy_no.text.trim ().length !=10) messagebox.show(会员号格式不正确,请输入一串10位数字!); else if (hy_name.text.trim () =) messagebox.show(姓名不能为空!); else if (hy_sex.text.trim () != 男&hy_sex.text.trim ()!=女) messagebox.show(性别填写错误!); return; else if (hy_addr.text.trim ().trim () = ) messagebox.show(地址不能为空!); else try long a = convert.toint64(hy_no.text.trim (); string b = convert.tostring(hy_name.text.trim (); string d = convert.tostring(hy_addr.text.trim (); catch messagebox.show(您所填的信息格式有误,请检查后重新增加); return; try mf.insert(hy, 会员号, 姓名, 性别, 地址, hy_no.text, hy_name.text.tostring().trim (), hy_sex.text.tostring().trim (), hy_addr.text.tostring().trim (); datagridview1.datasource = mf.select(hy); catch messagebox.show(你输入的会员号有冲突,请检查后重新输入!); private void datagridview1_cellcontentclick(object sender, datagridviewcelleventargs e) private void delete_click(object sender, eventargs e) if (hy_no.text.trim () = | hy_no.text.trim().length != 10) messagebox.show(会员号格式不正确,请输入一串10位数字!); else mf.delete(hy, 会员号, hy_no.text.trim (); datagridview1.datasource = mf.select(hy); private void button1_click(object sender, eventargs e) hy_no.text = ; hy_name.text = ; hy_sex.text = ; hy_addr.text = ; private void update_click(object sender, eventargs e) if (hy_no.text.trim().length != 10) messagebox.show(会员号格式不正确,请输入一串10位数字!); return; if (hy_sex.text.trim() != 男 & hy_sex.text.trim() != 女 & hy_sex.text != ) messagebox.show(性别填写错误!); return; if (hy_name.text != ) mf.update(hy, 姓名,hy_name.text.tostring().trim (), 会员号, hy_no.text.trim (); if (hy_sex.text != ) mf.update(hy, 性别, hy_sex.text.tostring().trim (), 会员号, hy_no.text.trim (); if (hy_addr.text != ) mf.update(hy, 地址, hy_addr.text.tostring().trim (), 会员号, hy_no.text.trim (); datagridview1.datasource = mf.select(hy); (2)影片信息查询模块:using system;using system.collections.generic;using system.componentmodel;using system.data;using system.drawing;using system.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 无锡南洋职业技术学院《影视剪辑》2023-2024学年第一学期期末试卷
- 2025年度体育场馆场地租赁与赛事运营合作协议3篇
- 2024车站机场候机楼室内设计装修合同
- 二零二五年度商业地产商铺租赁服务合同模板6篇
- 2024版医疗合作合同条款版B版
- 2024项目委托咨询服务协议-企业知识产权保护服务3篇
- 2025年度餐饮企业特色调料研发与供应合同3篇
- 二零二五年精密仪器供应链销售合作框架合同样本3篇
- 二零二五年度安防工程材料供应合同3篇
- 2024版分红合作协议合同范本
- 勘察工作质量及保证措施
- 体外膜肺氧合(ECMO)并发症及护理
- 充电桩巡查记录表
- 心电图并发症预防及处理
- 疏散楼梯安全要求全解析
- 汽车扰流板产品原材料供应与需求分析
- 临床医学院毕业实习管理-new-new课件
- PLC控制系统合同(2024版)
- CJT 511-2017 铸铁检查井盖
- ISO15189培训测试卷及答案
- JJG(交通) 171-2021 超声式成孔质量检测仪检定规程
评论
0/150
提交评论