影院售票系统 的 需求规格说明书
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了影院售票系统 的 需求规格说明书相关的知识,希望对你有一定的参考价值。
求 电影院售票系统 的 软件需求规格说明书 做参考
用于详细阐述软件的功能、性能以及约束条件
好的话再加分 谢谢
软件需求说明书文档可以用文档搜索王!!! 影院计算机售票软件系统技术规范(暂行) 文件类型: doc 下载次数:630 文件大小:未知 所在分类:软件需求说明书 括《软件需求说明书》,《概要设计说明书》,《测试分析报告》,《用户手册》,《操作...
www.hxdoc.com/sell/sell-140636.html 参考技术A 电影院售票系统 的 软件需求规格说明书 做参考
用于详细阐述软件的功能、性能以及约束条件
影院售票系统
1.此项目是模拟影院真实操作来搭建的
影院售票系统
所需要求:
1.影院售票每天都更新放映列表,系统支持实时查看,包括电影放映场次时间,电影情况。
2.影院提供3种影票:普通票,学生票,赠票(赠票免费,学生票有不同的折扣)
3.允许用户可以选择场次,影票的类型及其座位,进行购票,并打印电影票。
4.支持购票,并允许用户选座。
5.系统可以创建保存售票情况,并允许对其进行恢复。
下面是以下售票系统所需的类:
类图如下:
影院类:
//座位集合 public static Dictionary<string, Seat> seats = new Dictionary<string, Seat>(); //放映计划 public static Schedule Schedule = new Schedule(); //已售出电影票集合 public static List<Ticket> Soldticket = new List<Ticket>(); public string path = "影院售票/Save.txt"; //保存售票情况 public void Save() { FileStream filestream = new FileStream(path,FileMode.OpenOrCreate); StreamWriter streamWriter = new StreamWriter(filestream,Encoding.GetEncoding("GB2312")); foreach (Ticket item in Soldticket) { int num = 0; if (item is StudentTicket) { num = 1; } else if (item is FreeTicket) { num = 2; } streamWriter.Write(item.ScheduleItem.Time+"|"+ item.ScheduleItem.Movie.Moviesname+"|"+ item.ScheduleItem.Movie.Poster+"|"+ item.ScheduleItem.Movie.Director+"|"+ item.ScheduleItem.Movie.Actor+"|"+ item.ScheduleItem.Movie.Movietype+"|"+ item.ScheduleItem.Movie.Price+"|" +item.Seat.Seatnum+"|"+item.Price1+ "|"+num+"*"); } streamWriter.Close(); filestream.Close(); } //加载售票情况 public void Load() { FileStream filestream = new FileStream(path, FileMode.Open); StreamReader streamReader = new StreamReader(filestream, Encoding.GetEncoding("GB2312")); string str = streamReader.ReadToEnd(); string[] Info = str.Split(\'*\'); Soldticket = new List<Ticket>(); foreach (string item in Info) { string[] info = item.Split(\'|\'); if (info.Length==10) { ScheduleItem scheduleitem = new ScheduleItem(); scheduleitem.Time = info[0]; Movies movies = new Movies(); scheduleitem.Movie = movies; scheduleitem.Movie.Moviesname = info[1]; scheduleitem.Movie.Poster = info[2]; scheduleitem.Movie.Director = info[3]; scheduleitem.Movie.Actor = info[4]; scheduleitem.Movie.Movietype = (MovieType)Enum.Parse(typeof(MovieType), info[5]); scheduleitem.Movie.Price = Convert.ToDouble(info[6]); Seat seat = new Seat(); seat.Seatnum = info[7]; seat.Color = Color.Red; Ticket ticket = null; if (info[9] == "1") { ticket = new StudentTicket(Convert.ToDouble(info[8]), scheduleitem, seat); } else if (info[9] == "2") { ticket = new FreeTicket(Convert.ToDouble(info[8]), scheduleitem, seat); } else { ticket = new Ticket(Convert.ToDouble(info[8]), scheduleitem, seat); } Soldticket.Add(ticket); } } streamReader.Close(); filestream.Close(); } }
赠票子类继承父类Ticket
public FreeTicket() { } public FreeTicket(double price, ScheduleItem scheduleItem, Seat seat) : base(price, scheduleItem, seat) { } //计算票价信息 public override double CalcPrice() { return 0; } //打印票价信息 public override void Print() { StringBuilder stringBuilder = new StringBuilder("************************\\n"); stringBuilder.AppendLine(" 青鸟影视(赠票)"); stringBuilder.AppendLine("------------------------"); stringBuilder.AppendFormat(" 电影名:{0}\\n", this.ScheduleItem.Movie.Moviesname); stringBuilder.AppendFormat(" 时间:{0}\\n", this.ScheduleItem.Time); stringBuilder.AppendFormat(" 座位号:{0}\\n", this.Seat.Seatnum); stringBuilder.AppendFormat(" 价格:{0}\\n", this.Price1); stringBuilder.AppendFormat("************************\\n"); System.Windows.Forms.MessageBox.Show(stringBuilder.ToString()); } //显示票价信息 public override void Show() { StringBuilder stringBuilder = new StringBuilder("***********抱歉,已售出*************\\n"); stringBuilder.AppendLine(" 青鸟影视(赠票)"); stringBuilder.AppendLine(" ------------------------"); stringBuilder.AppendFormat(" 电影名:{0}\\n", this.ScheduleItem.Movie.Moviesname); stringBuilder.AppendFormat(" 时间:{0}\\n", this.ScheduleItem.Time); stringBuilder.AppendFormat(" 座位号:{0}\\n", this.Seat.Seatnum); stringBuilder.AppendFormat(" 价格:{0}\\n", this.Price1); stringBuilder.AppendFormat(" ************************\\n"); System.Windows.Forms.MessageBox.Show(stringBuilder.ToString()); } }
电影类:
public class Movies { //电影名 private string moviesname; public string Moviesname { get { return moviesname; } set { moviesname = value; } } //海报名 private string poster; public string Poster { get { return poster; } set { poster = value; } } //导演名 private string director; public string Director { get { return director; } set { director = value; } } //主演 private string actor; public string Actor { get { return actor; } set { actor = value; } } //电影类型 private MovieType movietype; public MovieType Movietype { get { return movietype; } set { movietype = value; } } //定价 private double price; public double Price { get { return price; } set { price = value; } } public Movies() { } public Movies(string moviename,string poster,string director,string actor,MovieType movietype,double price) { this.Actor = actor; this.Director = director; this.Moviesname = moviename; this.Movietype = movietype; this.Poster = poster; this.Price = price; } }
电影类型:
public enum MovieType { Comedy,//喜剧 War,//战争 Romance,//角色 Action,//动作 Cartoon,//动画 Thriller,//惊悚 Adventure,//冒险 Love//爱情 }
放映计划类:
public class Schedule { //放映场次集合 public Dictionary<string,ScheduleItem> Items { get; set; } public Schedule() { } public Schedule(Dictionary<string, ScheduleItem> items) { this.Items = items; } //xml读取 public void LoadItems() { XmlDocument xml = new XmlDocument(); xml.Load("影院售票/ShowList.xml"); XmlElement xmlelement = xml.DocumentElement; foreach (XmlNode item in xmlelement.ChildNodes) { foreach (XmlNode item1 in item.ChildNodes) { if (item1.Name == "Schedule") { foreach (XmlNode item2 in item1.ChildNodes) { Movies movie = new Movies(item["Name"].InnerText, item["Poster"].InnerText, item["Director"].InnerText, item["Actor"].InnerText, (MovieType)Enum.Parse(typeof(MovieType), item["Type"].InnerText), Convert.ToDouble(item["Price"].InnerText)); ScheduleItem scheduleItem = new ScheduleItem(item2.InnerText, movie); Items.Add(scheduleItem.Time, scheduleItem); } } } }
放映场次集合:
public class ScheduleItem { //放映时间 private string time; public string Time { get { return time; } set { time = value; } } //电影属性 private Movies movie; public Movies Movie { get { return movie; } set { movie = value; } } public ScheduleItem() { } public ScheduleItem(string time,Movies movie) { this.Movie = movie; this.Time = time; } }
保存座位信息:
public class Seat { //座位号 private string seatnum; public string Seatnum { get { return seatnum; } set { seatnum = value; } } //座位颜色 private Color color; public Color Color { get { return color; } set { color = value; } } public Seat() { } public Seat(string seatnum,Color color) { this.Color = color; this.Seatnum = seatnum; } }
学生票类继承父类Ticket
public class StudentTicket:Ticket { public StudentTicket() { } public StudentTicket(double price, ScheduleItem scheduleItem, Seat seat):base(price,scheduleItem,seat) { } //计算票价信息 public override double CalcPrice() { return Price1 * 0.7; } //打印票价信息 public override void Print() { StringBuilder stringBuilder = new StringBuilder("************************\\n"); stringBuilder.AppendLine(" 青鸟影视(学生)"); stringBuilder.AppendLine("------------------------"); stringBuilder.AppendFormat(" 电影名:{0}\\n", this.ScheduleItem.Movie.Moviesname); stringBuilder.AppendFormat(" 时间:{0}\\n", this.ScheduleItem.Time); stringBuilder.AppendFormat(" 座位号:{0}\\n", this.Seat.Seatnum); stringBuilder.AppendFormat(" 价格:{0}\\n", this.Price1); stringBuilder.AppendFormat("************************\\n"); System.Windows.Forms.MessageBox.Show(stringBuilder.ToString()); } //显示票价信息 public override void Show() { StringBuilder stringBuilder = new StringBuilder("************抱歉,已售出************\\n"); stringBuilder.AppendLine(" 青鸟影视(学生)"); stringBuilder.AppendLine(" ------------------------"); stringBuilder.AppendFormat(" 电影名:{0}\\n", this.ScheduleItem.Movie.Moviesname); stringBuilder.AppendFormat(" 时间:{0}\\n", this.ScheduleItem.Time); stringBuilder.AppendFormat(" 座位号:{0}\\n", this.Seat.Seatnum); stringBuilder.AppendFormat(" 价格:{0}\\n", this.Price1); stringBuilder.AppendFormat(" ************************\\n"); System.Windows.Forms.MessageBox.Show(stringBuilder.ToString()); } }
电影票父类:
public class Ticket { //价格 private double price; public double Price1 { get { return price; } set { price = value; } } //放映场次 private ScheduleItem scheduleItem; public ScheduleItem ScheduleItem { get { return scheduleItem; } set { scheduleItem = value; } } //座位 private Seat seat; public Seat Seat { get { return seat; } set { seat = value; } } public Ticket() { } public Ticket(double price, ScheduleItem scheduleItem, Seat seat) { this.Price1 = price; this.ScheduleItem = scheduleItem; this.Seat = seat; } //计算票价信息 public virtual double CalcPrice() { return price; } //打印票价信息 public virtual void Print() { StringBuilder stringBuilder = new StringBuilder("************************\\n"); stringBuilder.AppendLine(" 青鸟影视"); stringBuilder.AppendLine("------------------------"); stringBuilder.AppendFormat(" 电影名:{0}\\n",scheduleItem.Movie.Moviesname); stringBuilder.AppendFormat(" 时间:{0}\\n",scheduleItem.Time); stringBuilder.AppendFormat(" 座位号:{0}\\n", seat.Seatnum); stringBuilder.AppendFormat(" 价格:{0}\\n",price); stringBuilder.AppendFormat("************************\\n"); System.Windows.Forms.MessageBox.Show(stringBuilder.ToString()); } //显示票价信息 public virtual void Show() { StringBuilder stringBuilder = new StringBuilder("***********抱歉,已售出*************\\n"); stringBuilder.AppendLine(" 青鸟影视"); stringBuilder.AppendLine(" ------------------------"); stringBuilder.AppendFormat(" 电影名:{0}\\n", scheduleItem.Movie.Moviesname); stringBuilder.AppendFormat(" 时间:{0}\\n", scheduleItem.Time); stringBuilder.AppendFormat(" 座位号:{0}\\n", seat.Seatnum); stringBuilder.AppendFormat(" 价格:{0}\\n", price); stringBuilder.AppendFormat(" ************************\\n"); System.Windows.Forms.MessageBox.Show(stringBuilder.ToString()); } }
工具类用来判断票的类型:
public class TicketUtil { //创建电影票 public void GreateTicket(ScheduleItem scheduleItem,Seat seat,double money,string type ) { }
影院售票系统XML文件:
<ShowList> <Movie> <Name>不二神探</Name> <Poster>影院售票/不二神探.png</Poster> <Director>王子鸣</Director> <Actor>李连杰、文章、陈妍希</Actor> <Type>Action</Type> <Price>60</Price> <Schedule> <Item>9:00</Item> <Item>13:00</Item> </Schedule> </Movie> <Movie> <Name>西游降魔篇</Name> <Poster>影院售票/西游降魔篇.png</Poster> <Director>周星驰、郭子键</Director> <Actor>罗志祥、文章、舒淇</Actor> <Type>Comedy</Type> <Price>120</Price> <Schedule> <Item>11:00</Item> <Item>15:00</Item> <Item>19:00</Item> </Schedule> </Movie> <Movie> <Name>中国合伙人</Name> <Poster>影院售票/中国合伙人.png</Poster> <Director>陈可辛</Director> <Actor>黄晓明、邓超、大为、杜鹃</Actor> <Type>Love</Type> <Price>100</Price> <Schedule> <Item>21:00</Item> <Item>23:00</Item> </Schedule> </Movie> <Movie> <Name>钢铁侠3</Name> <Poster>影院售票/钢铁侠3.png</Poster> <Director>沙恩·布莱克 </Director> <Actor>小罗伯·特唐尼、格温妮斯·帕特洛、盖皮尔斯、本金斯利</Actor> <Type>Romance</Type> <Price>150</Price> <Schedule> <Item>17:30</Item> </Schedule> </Movie> </ShowList>
以上是关于影院售票系统 的 需求规格说明书的主要内容,如果未能解决你的问题,请参考以下文章