4.3.1用例类图
这个类图是实体Good类和BorrowGood类的用例类图,里面的属性皆一一对应数据库Good表和BorrowGood表的栏目。这样就可以用面向对象的思想去访问数据库,开发人员能更加直观透明地得到数据路的数据。其中Good的GoodName与BorrowName是一一对应的,当BorrowGood需要得到物资的数量时,就可以通过查询goodName得到所需要得到的信息。【12】
4.3.2 用例类图
这个是借用物资操作与物资信息管理操作的类图。里面的Mapper皆是通过Spring的依赖注入注入对象。控制层直接访问这个两个类所定义的方法(服务),从而得到所需要的数据。
26
4.3.3 UML类图
这个类图很直观的说明了本系统的程序走向,首先UserController得到了从前台传来的messageId后,调用实现了BaseController接口的各种自定义信息类型Controller。各个Controller执行自己所定义的逻辑,在执行过程中,需要调用Service所定义的服务来取得数据库数据。而组件之间的数据传输靠的就是实体Bean。
4.4系统详细模块设计
4.4.1 物资借用
物资借用功能在填写界面时,需要填写相应的借用物资的信息,之后通过ajax提交物资借用的整个表到后台(messageId为P103),ControlServlet会根据请求自动调用P103Controller,若物资总数足够,则将新记录添加进数据库。最后返回结果给前台。 时序图如图4.3.1所示。
27
图4.4.1 物资借用时序图
4.4.2查询已预约物资
当用户点击查询已预约物资时。前台将发送messageId为P101的Url,并将所有查询条件作为参数用Ajax发送到后台,后台的ControlServlet接收到messageId为P101的Url后,将通过Java反射调用P101Controller,P101Controller的在业务处理中将查询数据表中所有已预约但未借出的物资,封装成Json数据发送到前台,前台接收到Json数据后,实现异步刷新,更新表格数据。
时序图如图4.4.2所示。
28
图4.4.2 查询已预约物资顺序图
4.4.3 查询未归还物资
当用户点击查询未归还物资时。前台将发送messageId为P101的Url,并将所有查询条件作为参数用Ajax发送到后台,后台的ControlServlet接收到messageId为P101的Url后,将通过Java反射调用P101Controller,P101Controller的在业务处理中将查询数据表中所有未归还的物资,封装成Json数据发送到前台,前台接收到Json数据后,实现异步刷新,更新表格数据。
时序图如图4.4.3所示。
29
图4.4.3 未归还物资流程图
4.4.4 条件查询
当用户点击查询时。前台将发送messageId为P101的Url,并将所有查询条件作为参数用Ajax发送到后台,后台的ControlServlet接收到messageId为P101的Url后,将通过Java反射调用P101Controller,P101Controller的在业务处理中将查询数据表中所有符合条件的物资记录,封装成Json数据发送到前台,前台接收到Json数据后,实现异步刷新,更新表格数据。
时序图如图4.4.4所示。
30