Java程序设计教程(第2版) 课件 第13章 排队叫号系统的分析和设计_第1页
Java程序设计教程(第2版) 课件 第13章 排队叫号系统的分析和设计_第2页
Java程序设计教程(第2版) 课件 第13章 排队叫号系统的分析和设计_第3页
Java程序设计教程(第2版) 课件 第13章 排队叫号系统的分析和设计_第4页
Java程序设计教程(第2版) 课件 第13章 排队叫号系统的分析和设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第13周课程设计-排队叫号模拟系统的分析和设计11课程设计需求分析2系统设计学习提纲3知识准备21.课程设计需求分析课程设计是工科专业实践教学的重要组成部分,是在教师指导下对学生进行的阶段性专业技术训练。课程设计是利用所学知识分析问题、解决问题的过程。课程设计在培养学生动手能力、综合能力、实践能力与创新精神的同时,夯实了理论基础,完善了知识体系,加深了对技术的理解。1.1关于课程设计31.课程设计需求分析排队叫号模拟系统应用场景:某营业厅配一台叫号机,设置6个业务窗口,每个业务窗口均可办理指定类型客户的业务。根据业务流量,1-4号窗口暂定为普通窗口,5号窗口暂定为特殊窗口,6号窗口暂定为VIP窗口。1.2需求分析41.关于课程设计1.2需求分析51.课程设计需求分析业务办理信息:今天累计接待客户×××人,其中普通客户×人,特殊客户×人,VIP客户×人。数据归档要求:每天办理的窗口编号、窗口名称、用户号码、接待时间等信息保存到一个文本文件中。语音播报叫号信息。1.3其它要求61课程设计需求分析2系统设计学习提纲3知识准备72.系统设计操作系统:Window1064位JDK版本:JDK11.0.3IDE环境:Eclipse2019-03(4.11)GUI组件:swing、WindowBuilder1.9.2日志组件:Log4j2.13.2文本转语音组件:jacob-1.182.1技术方案82.系统设计根据需求分析,用Excel画出界面草图如下2.2界面设计91课程设计需求分析2系统设计学习提纲3知识准备103.知识准备单例模式(SingletonPattern)是Java中最简单的设计模式之一。单例类负责实例化一个对象,确保这个对象是唯一的,必须为外界提供这一对象。一个营业厅只有一个叫号机,正好符合单例模式。代码实现如下:3.1单例模式113.知识准备

与堆栈(Stack)一样,队列(Queue)是一种操作受限的线性表,支持FIFO(FirstInFirstOut)先进先出,即:只能在队尾插入元素,只能队首删除元素。我们可以用数组、ArrayList、LinkedList去模拟实现队列。这里,我们选择LinkedBlockingQueue,原因如下:LinkedBlockingQueue是线程安全的。由JDK类库提供,经过严格测试,稳定高效。不要重复发明轮子。3.2LinkedBlockingQueue队列123.知识准备

我们可以查阅JDK文档,掌握LinkedBlockingQueue的构造方法和常用方法。3.2LinkedBlockingQueue队列133.知识准备

线程的反复创建、销毁是非常耗费系统资源的。线程池是预先创建线程的一种技术。线程池在还没有任务到来之前,创建并启动一定数量的线程,并使其进入睡眠状态,放入空闲队列中。当大量请求到来之后,线程池为每一次请求分配一个空闲线程,执行指定的线程。线程执行完毕并不销毁线程对象,直接放回线程池空闲队伍中。3.3可调度线程池143.知识准备

这里,我们要模拟普通客户、特殊客户、VIP客户的比例大约为:6:3:1,就要用到可调度线程池:可以指定每隔n秒启动一个相应类型的客户线程。示例程序如下:3.3可调度线程池153.知识准备

JList是一个遵循MVC模式设计和实现的列表组件。JList类的构造方法如下:JList():构造一个具有空的、只读模型的JList。JList(Vector<?>listData):构造一个JList,使其显示指定Vector中的元素。适用于选项数目变化不定的应用场合。JList常用方法如下:publicvoidsetListData(Vector<?>listData)publicvoidsetSelectedIndex(intindex)3.4JList应用示例

163.知识准备

【示例程序】JList应用:单击加入元素按钮向JList中添加一个元素到最后,单击删除元素按钮从JList中添加第一个元素。必须将JList放入JScrollPane中,JList才会根据选项自动出现垂直滚动条。jsp.setViewportView(jl);而不能使用jsp.add(jl)。3.4JList应用示例

173.知识准备

数据归档到文本文件,我们可以使用PrintStream实现,但我们推荐使用更为专业的Apache开源项目日志组件Log4j。Log4j由三个重要的组件构成:日志信息的优先级用来指定日志信息的重要程度。Log4j建议只使用四个级别ERROR、WARN、INFO、DEBUG。日志信息的输出目的地:控制台、文件、每天产生一个日志文件、文件大小到达指定尺寸的时候产生一个新的文件、将日志信息以流格式发送到任意指定的地方)等。输出格式可以设置日志信息的显示内容。3.5数据归档的实现-Log4j

183.知识准备在JavaProject中应用Log4j的步骤如下:

将log4j-2.13.jar复制到项目文件夹中并添加到BuildPath。在项目文件夹src中建立perties。在编程中使用Log4j。3.5数据归档的实现-Log4j

193.知识准备在JavaProject中应用jacob组件的步骤如下:

下载jacob.1.18:/artifa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论