精品文档基于 UML的书店采购管理系统设计1问题描述现在很多书店都采用了图书采购管理系统,一方面方便了书店管理和维护图书,节约成本,同时也便于书店随时查看图书库存以便及时进行采购。
进行采购后可以立即录入采购的书籍,补充库存。
本系统主要是供书店管理员使用。
系统提供了管理员登陆,书籍管理和采购的一系列功能,如下:管理员登陆:输入合法管理员信息登陆系统。
书籍管理:查询、修改、录入和删除基本书籍库中的图书信息。
采购管理:查询库存不足(本系统假定设定库存少于20 本为不足)信息,录入采购信息,打印采购单采购,录入采购信息,删除采购信息或全部采购单。
2系统功能及流程描述2.1 用例模型及系统功能模块图本系统基本用例有:登陆:输入合法管理员信息登陆界面。
添加图书入库:采购图书后将新书入库。
修改图书信息:当图书信息有误时修改图书信息。
查询库存信息:及时查询图书库存情况,以便及时了解缺货并进行采购登记和采购。
添加采购信息进采购单:将库存不足信息添加进采购单进行采购。
打印采购单:显示打印采购单,通知采购人员进行采购删除图书信息:删除不存在图书信息。
删除采购单信息:删除待采购的图书信息或者删除全部采购单。
系统用例图如图 2.1 所示:精品文档图2.1 系统用例图系统主要用例的用例描述如下:表2.1 用例“添加采购单”用例描述用例名称添加采购单标识符UC1001用例描述当图书库里的某些图书库存不足(少于20 本)时,可以将库存不足的书籍信息查询出来并添加到采购单中。
添加完后即结束用例。
精品文档优先级状态前置条件后置条件基本操作流程可选操作流程被泛化的用例被包含的用例被扩展的用例修改历史记录用例名标识符用例描述参与者优先级状态1通过审查管理员登陆系统图书库有图书不足打印订购单,下订单1.管理员登陆系统后查询库存情况2.发现有库存不足的书籍3.查询列出所有库存不足的书籍4.添加采购信息管理员查询库存发现没有库存不足书籍管理员发现图书信息有错误无无无李明亮,定义基本操作流程, 2009 年 4月 18 日表2.2 用例“打印采购单”描述打印采购单UC1002当书籍库中书籍库存量不足时,添加采购信息进采购单后,便要打印采购单给采购人员去采购。
打印出采购单给采购人员后用例结束系统管理员3等待审核后置条件采购图书基本操作流程 1.系统管理员登陆系统后发现书籍库存有不足2.添加采购信息进采购单3.打印采购单给采购人员4.采购人员采购可选操作流程 1.管理员发现没有库存不足的书籍2.管理员没有将库存不足的信息添加进采购单3.采购单中的信息需要修改被泛化的用例无被包含的用例无被扩展的用例无修改历史记录李明亮,定义基本操作流程, 2009 年 4月 18 日表 2.3用例“添加图书入库”描述用例名添加图书入库标识符UC1003用例描述当采购人员采购回书籍后,管理员需要将采购回的书籍入库,采购的新书要进行信息登记参与者系统管理员优先级1状态通过审核前置条件管理员登陆系统采购回书籍需入库后置条件查看录入信息;通知采购单中有书籍没基本操作流程 1.采购人员采购回书籍2.管理员登陆系统3.管理员添加书籍入库4.管理员查看采购单中书籍是否都采购完全可选操作流程采购人员还没有采购回书籍采购人员采购了错误书籍采购的书籍不过完全被泛化的用例无被包含的用例无被扩展的用例无修改历史记录李明亮,定义基本操作流程,2009 年 4月 18 日李明亮,定义可选操作流程,2009 年 4月 18 日系统功能模块图如图 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):负责对数据库进行更新操作。
(6) public void CloseDataBase():负责关闭数据库及后续处理。
4.2 系统数据库设计4.2.1 数据库需求分析书店图书采购系统的数据库功能主要体现在系统管理上,主要针对管理员的操作管理。
管理员的主要操作有登陆、查询、录入、更新、删除。
针对系统特点。
总结出几点需求:●系统只针对管理员●图书具有多种类型,但是每本图书对应于唯一的书籍号。
●图书信息包括图书的一些属性。
●管理员可以进行登陆、查询、录入、更新、删除等操作。
综上所述,根据系统功能分析和需求总结,设计如下的数据项和书籍结构。
●管理员信息包括的数据项:用户名、密码。
●图书信息包括的数据项:图书号、书名、作者、价格、出版社、库存量。
●采购单信息包括的数据项:图书号、书名、作者、价格、出版社、采购量。
4.2.2数据库概念结构设计得到上面的数据项和数据结构后,设计各实体及相互关系,得到实体- 关系图即E-R 图如下:管理员信息图书信息管理采购信息图 4.2.2 (1)实体间的总关系图管理员信息用户名密码图 4.2.2(2)管理员信息实体E-R 图书籍信息书籍号书名作者价格出版社库存量图 4.2.2 (3)书籍信息实体 E-R 图采购单信息书籍号书名作者价格出版社采购量图 4.2.2 (4)采购单信息实体E-R 图4.2.3数据库逻辑结果设计本系统采用的数据库软件是Microsoft Access。
新建一个空数据库,命名为booking.mdb,然后通过表设计器设计如下三张表。
1.管理员信息表管理员信息表记录了管理员的信息,其属性如表所示:列名数据类型user_name文本psw文本2.书籍信息表书籍信息表记录了书籍库中的图书基本信息,其属性如表所示:列名数据类型bookID文本bookName文本author文本price数字press文本bookCount数字3.采购单信息表采购单信息表记录了采购单中的采购信息,包括需要采购的图书基本信息和采购量等信息。