ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:264.31KB ,
资源ID:3319023      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3319023.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(影院售票系统设计报告Net项目报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

影院售票系统设计报告Net项目报告.docx

1、影院售票系统设计报告Net项目报告影院售票系统设计报告设 计 人: 指导教师: 组 员 : 班 级: 2009年xx月xx日一、设计目的为了研究影院售票系统软件的开发途径和应用方法。同时它也是进行项目策划、概要设计和详细设计的基础,是维护人员进行内部维护,信息更新,验收和测试的依据。本需求的购票人是与影院售票系统软件开发有联系的决策人,开发组成人员,扶助开发者,支持本项目的领导和公司人员,软件验证者!二、需求设计分析 1、 使用XML个TreeView显示影院放映列表。2、 使用泛型集合维护有继承关系的电影票对象。3、 座位数可以在系统中指定。4、 点击座位可以购买不同类型的电影票。5、 使用

2、简单工厂模式创建不同类型的电影票。6、 使用多态实现不同类型电影票的价格计算。7、 使用借口实现电影票的打印。8、 使用序列化和反序列化实现销售情况的保存和读取。 2、画出项目功能图。(宋体、小四、行间距20磅)三、类设计分析(1)ScheduleItem:影院每天计划放映电影的场次,保存每场电影的信息。放映时间属性(Time):String类型。本厂所放电影属性(Movie):自定义Movie类型。public class ScheduleItem public ScheduleItem() movie = new Movie(); / / 放映时间 / private string tim

3、e; public string Time get return time; set time = value; / / 要放映的电影对象 / private Movie movie; public Movie Movie get return movie; set movie = value; (2)Schedule:放映计划类:保存电影当天的放映计划集合。 放映场次属性(Items):自定义泛型集合Dictionary类型。读取XML文件放映计划集合方法:Loaditems()。下面的详细功能有实现代码(3)Cinema:电影院类,保存放映计划和座位类。 座位集合属性(Seats):自定义

4、泛型集合Dictionary类型。放映计划Schedule:自定义类Schedule类型。已售出电影票的集合(SoldTicks):自定义泛型集合list类型。保存和读取销售情况的Save和Load方法。public class Cinema public Cinema() seats = new Dictionary(); soldTickets = new List(); schedule = new Schedule(); private Dictionary seats; public Dictionary Seats get return seats; set seats = val

5、ue; private Schedule schedule; public Schedule Schedule get return schedule; set schedule = value; private List soldTickets; public List SoldTickets get return soldTickets; set soldTickets = value; public void Save() FileStream fs = new FileStream(soldTickets.bin, FileMode.Create); BinaryFormatter b

6、f = new BinaryFormatter(); bf.Serialize(fs, SoldTickets); fs.Close(); public void Load() try FileStream fs = new FileStream(soldTickets.bin, FileMode.Open); BinaryFormatter bf = new BinaryFormatter(); this.SoldTickets = (List)bf.Deserialize(fs); fs.Close(); catch (Exception ex) ex.ToString(); soldTi

7、ckets = new List(); (4)TicketFactory:简单工厂类,根据输入的值,判断创建不同的电影票对象。创建电影票的方法,返回类型是自定义类Ticket。public class TicketFactory public static Ticket CreateTicket(ScheduleItem scheduleItem, Seat seat, int discount,string customerName, string type) Ticket newTicket = null; switch (type) case student: newTicket = n

8、ew StudentTicket(scheduleItem, seat, discount); break; case free: newTicket = new FreeTicket(scheduleItem, seat, customerName); break; case : newTicket = new Ticket(scheduleItem, seat); break; return newTicket; (5)IPrintable:打印接口,用于实现打印功能。public interface IPrintable void Print(); 四、详细设计我负责获取销售计划功能和销

9、售功能的实现。 1、用户需求流程(宋体、小四、行间距20磅)1、描绘座位描绘电影院的座位表,使用标签可以自定义座位数,动态加载控件。未售出的座位表示为黄色,售出的表示为红色,座位上要显示座位号。2、获取销售计划获取:单击菜单中的“获取新列表”,从XML文件中读入每天最新的 放映列表。将新放映的电影填充到TreeView中,将要放映的电影作为根节点,子节点是具体的放映时间。public void LoadItems()/ 从XML文件读取放映列表数据 if (items = null) items = new Dictionary(); items.Clear(); XmlDocument my

10、Xml = new XmlDocument(); myXml.Load(ShowList.xml); XmlNode feednode = myXml.DocumentElement; /中间变量 string movieName = null; string playBill = null; string director = null; string actor = null; string movieType = null; string price = null; foreach (XmlNode node in feednode.ChildNodes) if (node.Name =

11、 Movie) foreach (XmlNode subNode in node.ChildNodes) switch (subNode.Name) case Name: movieName = subNode.InnerText; break; case Poster: playBill = subNode.InnerText; break; case Director: director = subNode.InnerText; break; case Actor: actor = subNode.InnerText; break; case Type: movieType = subNo

12、de.InnerText; break; case Price: price = subNode.InnerText; break; case Schedule: foreach (XmlNode scheduleNode in subNode.ChildNodes) ScheduleItem item = new ScheduleItem(); item.Time = scheduleNode.InnerText; item.Movie.MovieName = movieName; item.Movie.Poster = playBill; item.Movie.Director = dir

13、ector; item.Movie.Actor = actor; item.Movie.MovieType = (MovieType)Enum.Parse(typeof(MovieType), movieType); item.Movie.Price = int.Parse(price); items.Add(item.Time,item); break; 继续销售:每次启动程序单击菜单中的“继续销售”,将序列化后的信息进行反序列化,并将已经销售的座位状况描绘到窗体。退出程序时,要将当前销售状况保存(使用序列化)。private void tsmiMovies_Click(object sen

14、der, EventArgs e) /判断放映列表是否为空 if (cinema.Schedule.Items.Count = 0) cinema.Schedule.LoadItems(); InitTreeView(); 3、销售选择所售的场次:选择TreeView的一个场次,将详细信息显示到窗体,销售的座位信息描绘到窗体,未获得放映列表前单击座位,要提示未选择电影。TreeNode node = tvMovies.SelectedNode; if (node = null) return; if (node.Level != 1) return; key = node.Text; /将详细

15、信息显示 this.lblMovieName.Text = cinema.Schedule.Itemskey.Movie.MovieName; this.lblDirector.Text = cinema.Schedule.Itemskey.Movie.Director; this.lblActor.Text = cinema.Schedule.Itemskey.Movie.Actor; this.lblPrice.Text = cinema.Schedule.Itemskey.Movie.Price.ToString(); this.lblTime.Text = cinema.Schedul

16、e.Itemskey.Time; this.lblType.Text = cinema.Schedule.Itemskey.Movie.MovieType.ToString(); this.picMovie.Image = Image.FromFile(cinema.Schedule.Itemskey.Movie.Poster); this.lblCalcPrice.Text = ;销售:单击一个座位,默认会销售普通票,提示是是否购买,如果购买,计算价格并打印电影票。如果选择学生票,要录入本张票的折扣是多少(默认5折),然后计算并打印,如果是赠票,要录入获得赠票者姓名,计算价格并打印。将所售票

17、的优惠价格显示在优惠价格标签,单击已经卖出的座位提示已经售出。DialogResult result; result = MessageBox.Show(是否购买?, 提示, MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (result = DialogResult.Yes) cinema.SeatsseatNum.Color = Color.Red; UpdateSeat(); cinema.SoldTickets.Add(newTicket); newTicket.CalcPrice(); lblCalcPrice.Tex

18、t = newTicket.Price.ToString(); newTicket.Print(); else if (result = DialogResult.No) return; else MessageBox.Show(已售出.); 刷新座位状况:选择不同场次,座位要刷新为该场销售情况。打印电影票:打印电影票要输入不同的文件名(按座位号),不同类型的票打印的效果不同。普通票:* 青鸟影院-电影名:功夫时间:10-00 11-45座位号:1-1价格:60*string fileName = this.ScheduleItem.Time + + this.Seat.SeatNum + .

19、txt; FileStream fs = new FileStream(fileName, FileMode.Create); StreamWriter sw = new StreamWriter(fs); sw.WriteLine(*); sw.WriteLine( 青鸟影院); sw.WriteLine(-); sw.WriteLine( 电影名:t0, this.ScheduleItem.Movie.MovieName); sw.WriteLine( 时间:t0, this.ScheduleItem.Time); sw.WriteLine( 座位号:t0, this.Seat.SeatN

20、um); sw.WriteLine( 价格:t0, this.Price.ToString(); sw.WriteLine(*); sw.Close(); fs.Close();赠票:* 青鸟影院(赠票)-电影名:蜘蛛人 3时间:16-00 17-45座位号:5-6姓名:张三string fileName = this.ScheduleItem.Time + + this.Seat.SeatNum + .txt; FileStream fs = new FileStream(fileName, FileMode.Create); StreamWriter sw = new StreamWrit

21、er(fs); sw.WriteLine(*); sw.WriteLine( 青鸟影院(赠票); sw.WriteLine(-); sw.WriteLine( 电影名:t0, this.ScheduleItem.Movie.MovieName); sw.WriteLine( 时间:t0, this.ScheduleItem.Time); sw.WriteLine( 座位号:t0, this.Seat.SeatNum); sw.WriteLine( 姓名:t0, this.CustomerName); sw.WriteLine(*); sw.Close(); fs.Close();*学生票:*

22、青鸟影院(学生)-电影名:功夫时间:10-00 11-45座位号:4-6价格:30*string fileName = this.ScheduleItem.Time + + this.Seat.SeatNum + .txt; FileStream fs = new FileStream(fileName, FileMode.Create); StreamWriter sw = new StreamWriter(fs); sw.WriteLine(*); sw.WriteLine( 青鸟影院(学生); sw.WriteLine(-); sw.WriteLine( 电影名:t0, this.Sch

23、eduleItem.Movie.MovieName); sw.WriteLine( 时间:t0, this.ScheduleItem.Time); sw.WriteLine( 座位号:t0, this.Seat.SeatNum); sw.WriteLine( 价格:t0, this.Price.ToString(); sw.WriteLine(*); sw.Close(); fs.Close(); 五、系统的安装盘制作说明安装步骤 1.进入安装目录Setup 文件夹 2. 打开DeBug 文件夹 3.双击setup.msi文件 进行安装 如果是Vista系统请右键一管理员身份安装六、设计总结1

24、、谈设计的心得体会。通过设计影院售票系统,让我们这学期所学的课程得到巩固和良好的吸收,我们对.NET的理解得到进一步提高,完善了一些把握不准确的知识点,加强了对团队合作的理解明白了团队合作的重要性,将这学期所学的知识应用到实践中去,也从中了解到了自己的不足(譬如。数据库设计的完善问题,细节没得到足够重视等)。相信吃一垫长一智,我们会更加努力,在以后的学习和工作中吸取教训,让自己做的更好!2、谈系统设计的亮点。通过本系统软件,能帮助售票人员利用计算机,快速方便地对影院售票情况,订票情况,剩余座位查询等进行高效的管理。3、谈系统设计的有待解决的问题。当然,这次我们设计的系统还是存在着许多的问题,比如说该系统的帐户管理员的问题,添加新电影,修改和删除电影信息的一些功能,都需要我们在以后的学习中进一步完善。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1