当前位置:文档之家› 书店采购管理系统设计

书店采购管理系统设计

基于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):负责对数据库进行更新操作。

(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.管理员信息表管理员信息表记录了管理员的信息,其属性如表所示:2.书籍信息表书籍信息表记录了书籍库中的图书基本信息,其属性如表所示:3.采购单信息表采购单信息表记录了采购单中的采购信息,包括需要采购的图书基本信息和采购量等信息。

属性如表所示:4.3系统输入输出设计本系统有一个SqlBean类专门实现数据的输入输出处理。

系统界面通过文本框和表格的形式来接受数据和显示数据,数据通过SqlBean类创建的对象来实现录入、修改、查询、删除等操作。

5.系统界面设计系统界面采用Java Swing包来设计。

系统运行流程如下:系统登陆图5.1 登陆界面进入主界面图5.2 主界面选择“录入书籍基本信息”菜单选项进入图书录入界面图5.3 录入书籍界面选择“修改书籍基本信息”菜单选项进入修改界面图5.4 修改书籍信息界面点击“查询书籍基本信息”菜单选项进入查询界面图5.5 查询信息界面点击“录入采购基本信息”菜单选项进入采购单录入界面图5.6 录入采购信息界面点击“打印采购单”菜单选项进入采购单打印界面图5.7 打印采购单界面6.系统测试录入测试图6.1 录入不存在的书籍的信息图6.2 录入已有书籍的信息查询测试图6.3 查询图6.1操作后结果图6.4 查询图6.2操作后结果采购信息测试图6.5 查询库存不足信息图6.6 录入采购信息图6.7 打印采购信息删除信息测试图6.8 删除书籍信息图6.9 删除全部采购单测试中出现的缺陷6.10 可以重复显示数据(缺陷)7 设计的特点、不足、收获与体会本系统是利用java swing包的swing组件进行UI设计。

系统分为登陆窗体和主界面窗体两大部分。

主界面窗体又包含了添加图书界面、添加采购单界面、图书和采购单信息查询界面、修改信息界面、打印采购单界面、删除采购单界面。

系统还有一个SqlBean类负责后台数据库操作,进行数据处理。

系统充分利用了面向对象的思想,系统划分为各个类,通过类创建的对象调用其方法来实现各个功能。

类中封装了各个属性和方法,各个子模块之间的依赖性大大降低,达到高内聚,低耦合的作用。

通过这次综合课程设计,我们从系统分析到系统设计,再到系统实施系统代码设计,全程参与和设计了一个具体的应用系统。

通过亲自动手实践,我感受了软件开发的整个流程。

通过对系统的分析设计,我理解了软件开发的前期分析设计的重要性。

通过具体代码设计我更加熟悉了JAVA语言,更加熟练地掌握了java语言开发应用程序的方法,更加熟悉了常见数据结果的使用方法。

通过动手设计数据库,加深了我对数据库知识的理解和掌握,使我们对课本上的有关数据库知识进行了系统的熟悉和应用。

其次,通过结合一个具体的应用系统,我们将数据库设计同具体的应用系统联系起来,知道了如何在应用系统中连接使用数据库。

在这次课程设计中,我体会到了很多东西,知识体系更加完备完整。

相关主题