书店采购管理系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于UML的书店采购管理系统设计
1 问题描述
现在很多书店都采用了图书采购管理系统,一方面方便了书店管理和维护图书,节约成本,同时也便于书店随时查看图书库存以便及时进行采购。进行采购后可以立即录入采购的书籍,补充库存。
本系统主要是供书店管理员使用。系统提供了管理员登陆,书籍管理和采购的一系列功能,如下:
管理员登陆:输入合法管理员信息登陆系统。
书籍管理:查询、修改、录入和删除基本书籍库中的图书信息。
采购管理:查询库存不足(本系统假定设定库存少于20本为不足)信息,录入采购信息,打印采购单采购,录入采购信息,删除采购信息或全部采购单。
2 系统功能及流程描述
2.1用例模型及系统功能模块图
本系统基本用例有:
登陆:输入合法管理员信息登陆界面。
添加图书入库:采购图书后将新书入库。
修改图书信息:当图书信息有误时修改图书信息。
查询库存信息:及时查询图书库存情况,以便及时了解缺货并进行采购登记和采购。
添加采购信息进采购单:将库存不足信息添加进采购单进行采购。
打印采购单:显示打印采购单,通知采购人员进行采购
删除图书信息:删除不存在图书信息。
删除采购单信息:删除待采购的图书信息或者删除全部采购单。
系统用例图如图2.1所示:
图2.1 系统用例图
系统主要用例的用例描述如下:
表2.1 用例“添加采购单”用例描述
用例名称添加采购单
标识符UC1001
用例描述当图书库里的某些图书库存不足(少于
20本)时,可以将库存不足的书籍信息
查询出来并添加到采购单中。添加完后
即结束用例。
参与者系统管理员
表2.2用例“打印采购单”描述
表2.3用例“添加图书入库”描述
系统功能模块图如图2.2所示
图2.2系统功能模块图
2.2系统流程图及分析类图
根据系统功能和模块划分,设计了图2.3所示的系统流程图。管理员在登陆界面登陆系统,通过同数据库中的数据进行用户验证,验证正确则进入图书采购系统的主页面。主页面窗体中各个子页面是以菜单的形式分布的。点击各个菜单可以进入相应的子页面,各个子页面是以卡片式布局显示。
图2.3系统流程图
根据系统各个功能和数据处理将系统划分为如下几个类:
Class Interfece:主界面窗体类,负责创建各个子界面类的对象。
Class CheckID:登陆界面窗体类,负责出来登陆验证和创建主界面类的对象。
Class Addbooks:添加图书界面窗体类,负责图书入库处理。
Class BooksQuery:图书查询界面窗体类,负责图书查询处理。
Class BookingListQuery:查询库存添加采购信息类,处理库存不足书籍入采购单。
Class Modifybooks:修改图书界面窗体类,负责修改图书信息处理。
Class Delete:删除界面窗体类,负责删除书籍信息和采购信息处理。
Class PrintBooking:打印界面窗体类,负责打印采购单处理。
Class SqlBean:后台数据库操作类,负责数据库的连接、查询、更改、删除、录入等操作,并负责关闭数据库。
各个类之间的关系如图2.4所示:
图2.4分析类图3 系统UML图描述
3.1系统的设计类图
系统的详细类图设计如下图所示:
图3.1 系统详细类图3.2系统的顺序图
系统的基本用例的顺序图如下图所示:
图3.2.1用例“添加图书入库”顺序图图3.2.2用例“添加采购单”顺序图
3.3系统的状态图
BookingListQuery类的对象的状态图如下:
图3.3 BookingListQuery对象状态图3.4系统的组件图
系统的组件图如下所示:
图3.4 系统组件图
4 系统设计实现的描述
4.1系统信息代码设计
系统数据库中设计到的有图书信息和管理员信息。
对图书编号的设计如下:
图书号的首位数字是对图书进行编号。编号首数字为1,表示科技文献类;2表示文
学类;3表示杂志类;4表示教育类,等等。
对图书的出版社进行编号:1开头的为各个大专院校出版社,如1000为清华大学出版社;2开头的为国家级出版社,如2000为高等教育出版社;3开头为各个省级出版社;4为其他出版社,等。
本系统是利用java swing包的swing组件进行UI设计。系统分为登陆窗体和主界面窗体两大部分。主界面窗体又包含了添加图书界面、添加采购单界面、图书和采购单信息查询界面、修改信息界面、打印采购单界面、删除采购单界面。系统还有一个SqlBean类负责后台数据库操作,进行数据处理。系统各个类及其主要描述如下:
1.CheckedID:登陆窗体,JFrame的子类。此类中创建SqlBean类的对象负责连接数据库,查询验证登陆信息。
2.Interface:主界面窗体,JFrame的子类。此类中创建Addbooks类、BookingListQuery 类、BooksQuery类、Modifybooks类、PrintBooking类、Delete类的对象,负责各个子功能界面的显示。采用CardLayout可片式布局,各个子功能界面之间通过菜单的选择来交替切换。此类还创建SqlBean类的对象负责连接数据库,对数据库进行相应操作。
3.Addbooks:此类创建SqlBean类的对象负责接数据库的数据添加。
4.BookingListQuery:此类创建SqlBean类的对象负责连接数据库,查询库存并进行采购信息的数据录入。
5.BooksQuery:创建SqlBean类的对象负责连接数据库,查询数据。
6.Modifybooks:创建SqlBean类的对象负责连接数据库,修改数据库信息。
7.PrintBooking:创建SqlBean类的对象负责连接数据库,查询采购单信息并通过表格显示采购单。
8.Delete:创建SqlBean类的对象负责连接数据库,删除相关数据信息。
9.SqlBean:此类包含了JDBC-ODBC桥接器、连接对象con、SQL语句对象sql、和数据集对象rs。类中含有以下方法:
(1)public SqlBean():负责建立JDBC-ODBC桥接器。
(2)public ResultSet executeQuery(String sql):负责对数据库进行查询操作。
(3)public int executeInsert(String sql):负责对数据库进行插入操作。
(4)public int executeDelete(String sql):负责对数据库进行删除操作。
(5)public int executeUpdate(String sql):负责对数据库进行更新操作。