iBrary:基于smobiler与mySQL的图书馆座位预约系统
项目介绍
一、概述
1.1 选题背景
学生对于图书馆座位需求量大,座位供不应求,同时目前预约系统全靠人力抢座,急需一个软件协助学生高效抢座。
现有的图书馆座位系统每次只能选中一个座位后再进行时间的选择进行预约,在抢座高峰期时,常常你在选择预约时间时这个座位就已经被其他同学给预约使用了,造成你的预约失败。因此常常听有同学抱怨图书馆抢座“拼手速”太难,而打消了他们去图书馆的热情。
在这种背景下,设计新的图书馆座位预约系统显得十分必要。
1.2 意义分析
提高图书馆对学生的服务质量,增强学生去图书馆学习的热情。
二、需求分析
2.1 功能需求
经讨论与调查,在现行数据分析的基础上,基本可以确定系统设计必须达到的目标:
- 资源的增加、删除、修改功能
- 资源的查询、预约、使用功能
- 对系统用户的管理功能
2.2 性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,图书馆管理系统应该满足以下的性能需求:
(1) 系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足对信息处理的需求。
(2) 系统的开放性和系统的可扩充性
图书馆管理系统在开发过程中,应该充分考虑以后的可扩充性。例如用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,即系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修改、替换完成系统的升级和更新换代。
(3) 系统的易用性和易维护性
图书馆管理系统是直接面对使用人员的,而使用人员往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,提供足够的帮助教程,缩短用户对系统熟悉的过程。
(4) 系统的标准性
系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。
工作进展汇报
第一周
- 预期工作目标:
- 需求分析-小组讨论,收集各成员idea,利用用况图完成建模。
- 角色分工。
-
实际工作记录:
-
角色分工:
- 唐玉婷:客户角色&&需求分析&&文书工作。
- 牛舒羽:技术总监。
- 凌培宇:实际编码人员。
- 高靓洁:实际编码人员。
- 章星明:实际编码人员。
-
项目分工:
- 唐玉婷:实现管理员角色,功能包括但不限于对资源的增删改,对用户权限的暂停(如违约过多可暂停用户对资源的使用)。
- 牛舒羽:实现图书馆扩展互动功能:小纸条功能(可给指定座位的同学发送消息)(可选择性开放或关闭,添加黑名单功能),同时拓展交换座位申请功能。
- 凌培宇:对图书馆可用资源进行查询筛选(若针对座位资源筛选条件包括但不限于是否靠窗、是否有电源、电脑等;针对图书资源筛选条件包括但不限于图书类别、所处藏馆)。
- 高靓洁:实现图书馆资源的预约、签到、占用、释放功能。若未按约使用,添加违约记录进行记录。
- 章星明:实现用户的账号注册与登陆。
-
第二周
- 预期工作目标:
设计每个部分的用况图。 -
实际工作记录:
- 小组成员设计的每个模块的用况图:
- 小组成员设计的每个模块的用况图:
-
总的用况图
第三周
- 预期工作目标:
- 收集,分析,完善上一周的用况图。
- 讨论,设计简单的类图和接口,方便迭代-敏捷开发。
- 分配下一周的实际编码工作,参见下面几点:
- coder对自己负责的模块要建立顺序图。
- coder负责的每个模块都要做单元测试。
- 第一轮编码结束后,测试人员对每个模块再进行一次鲁棒性测试,检查出来的问题在组会上一起讨论解决。
-
实际工作记录:
- 设计了每个部分的时序图,见下:
- 设计了每个部分的时序图,见下:
-
类图设计UMLv1.0-UMLv2.0:
- 讨论设计数据库表格式:
用户(姓名,性别,账号(学号),密码,权限等级,账号是否被封禁)
资源(编号,位置,是否靠窗,是否含有电源,是否可用)
记录(日期,记录号,账号(学号),资源编号,开始时间,结束时间)
违约记录(账号(学号),日期,违约原因,记录号)
- 确定编程语言(C#)和技术栈(Smobile, Mysql)
- 确定编程规范:Google开源风格指南.
- 代码分工完成:
- Account:章星明
- SuperAccout:高靓洁
- Exhibit:牛舒羽
- UI部分:凌培宇
- Managersystem:由UI层直接调用
- 总接口设计:章星明
- 代码测试:高靓洁