会议室预订系统(总5页)
-CAL-FENGHAI.-(YICAI)-Company One1
-CAL-本页仅作为文档封面,使用请直接删除
研 究 生 课 程 论 文
课程名称: 面向对象的程序设计 设计题目:基于Windows的会议室分配系统
学 院 专 业 年 级 学生姓名 学 号 指导教师 二○一七
年 十一 月
2
基于Windows的会议室分配系统
摘要
随着信息化办公的不断推进,高校会议室资源仅依靠人工分配的方式已不能满足大量的会议室分配需求,因而一款会议室预订软件能够减轻人工分配负担的同时,还能快速有效的实现大量会议室的分配需求,该款软件的诞生也给高校的会议室、教室分配提供了有效的解决手段和途径。 关键字:分配系统, 信息化办公, 会议室分配
一、概述 1.1设计背景
合理分配公共资源是解决实际生活中公平问题的保障和前提,高校会议室资源也是有限的。依靠人工分配会议室资源的方式不仅效率低下,而且出错率高。尤其是在会议室较多,借用较密集的时间段,运用软件系统来分配会议室的优势就愈发凸显。由此,会议室分配系统的诞生能够快速有效的实现资源的合理利用与办公效率。
1.2设计要求
会议室分配系统,要能够依靠计算机来实现会议室资源的合理分配。用户可根据自己的需求选择合适的时间、地点以及给出有效的解决时间地点的冲突问题的方案。除此之外,还要能够给用户提供良好的交互界面。
二、需求分析
2.1功能需求
通过对我校会议室使用情况的调查分析,对现在的计算机技术、网络环境
调查研究,会议室预订系统应具有以下的功能:实时显示当前会议室的使用情况,能够给用户提供登录平台,能够满足用户对会议室的选择需求,给出会议室借用冲突的解决方案。
2.2操作方法
1
用户可以自行选择所借用的会议室和借用时间,并且能够快速有效的找到当前可借用的会议室状况。对于用户的误操作能够给出有效的提示信息。
三、设计方案 3.1系统总体设计
会议室预定系统主要分成两部分,一部分是会议室申请部分,一部分是撤销申请部分(如图1所示)。申请人在申请会议室的过程中还需要自己设置一个密码,即只有该申请人能够撤销该次申请,若其他用户也想要申请该会议室,则需要通过联系方式,找到原申请人提出撤销申请的请求,撤销申请之后,该会议室释放,又可以再次申请。
图1 系统总体设计图
3.2系统流程图
如图2所示,为该会议室预定系统的程序流程图。该流程图描述了在申请会议室和撤销申请的两种工作模式下系统的工作流程。
图2 程序流程图
四、系统具体实现 4.1系统中窗口的设计
如图3所示为会议室的主界面窗口,包括日历的控件,时间和会议室的下拉菜单,借用人的信息和联系电话的填写字符框,密码的设置框,申请的确定按钮,以及被申请过的信息列表。能够完成预定人的时间,会议室的选择,还能显示当前被借用的教室。
图3 程序主界面窗口
4.2 系统中主要的数据处理
该会议室预订系统通过对文件的读和写实现数据增删改的工作,将所有可借用的会议室教室存在roomItem.txt的文件中,再将此文件信息的读取结果加入到窗口的下拉列表中,用户即可选择可用的会议室和教室。
对于每一次用户的预定结果,则是通过生成smr的文件的形式存储预订数据,如图4所示,2015110831201.smr这一串数据表示的预订信息为2015年11月08日
2
预约了第3个时间段的1201教室。每一次新的预定信息成功后都会生成一个新的smr文件。
该会议室预定系统把时间段分为8-10点,10-12点,12-14点,14-16点,16-18点,18-20点,20-22点等7个部分,每一个部分都用阿拉伯数字1到7表示,3表示的为12-14点。
图4 生成文件格式
生成预定信息的代码部分: FileStream fs = null;
Encoding encoder = Encoding.UTF8; string content = \"\";
content += textBox_username.Text + Environment.NewLine; content += textBox_usertel.Text + Environment.NewLine; content += textBox_userid.Text + Environment.NewLine; byte[] bytes = encoder.GetBytes(content); try {
fs = File.OpenWrite(filename);//设定书写的开始位置为文件的末尾 fs.Position = fs.Length; //将待写入内容追加到文件末尾 fs.Write(bytes, 0, bytes.Length); }
catch (Exception error) {
Console.WriteLine(error.Message); //Message返回异常对象中包含的错误信息 }
fs.Close();
如果预定的会议室和时间冲突了就会出现如图5所示的状态,需要通过向借用人索要密码的方式来撤销当前用户的申请,撤销申请之后就会把本地文件夹中的文件数据删除,又可以重新申请该会议室。
用户姓名、电话和密码的信息均存储在smr的文件中。
图5 撤销申请界面
如图6所示为在此窗口类中用到的函数,主要是 save_log();
find_exist(); readAllFile() 等函数,save_log() 函数用于存储当前用户的预定信息,find_exist()函数主要用于解决冲突,撤销申请,readAllFile() 函数主要用于读取已预定会议室/教室的信息并显示在主界面中。
图6 程序主要功能函数
3
五、调试结果
在程序的调试过程中,出现了诸多问题,例如如何避免用户的误操作产生的错误数据,这些都需要进一步处理。如图7所示就是对于用户输入错误密码时进行的try catch 处理。
在文件读写过程中,文件的存储格式和路径不能任意设置,由于不同用户的计算机的访问级别都不同。除了桌面的路径外,其他的路径都需要获得管理员权限才能访问,因此在设置文件路径时只能设置在我的文档文件夹中。
图7 异常操作处理
六、总结与展望
本系统实现了人机友好交互,也能够在一定程度上完成会议室预定的工作,但是依然存在一些问题,比如已预定会议室列表数据不够直观,该系统不适用于解决大量的会议室系统分配问题。再者,该系统是基于文件的增删改,不如数据库的高效便捷。该系统在界面设计方面还可以做得更加直观化。
4
因篇幅问题不能全部显示,请点此查看更多更全内容