书店采购管理系统设计docx.docx
《书店采购管理系统设计docx.docx》由会员分享,可在线阅读,更多相关《书店采购管理系统设计docx.docx(62页珍藏版)》请在冰豆网上搜索。
书店采购管理系统设计docx
精品文档
基于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系统流程图
根据系统各个功能和数据处理将系统划分为如下几个类:
ClassInterfece:
主界面窗体类,负责创建各个子界面类的对象。
ClassCheckID:
登陆界面窗体类,负责出来登陆验证和创建主界面类的对象。
ClassAddbooks:
添加图书界面窗体类,负责图书入库处理。
ClassBooksQuery:
图书查询界面窗体类,负责图书查询处理。
ClassBookingListQuery:
查询库存添加采购信息类,处理库存不足书籍入采购单。
ClassModifybooks:
修改图书界面窗体类,负责修改图书信息处理。
ClassDelete:
删除界面窗体类,负责删除书籍信息和采购信息处理。
ClassPrintBooking:
打印界面窗体类,负责打印采购单处理。
ClassSqlBean:
后台数据库操作类,负责数据库的连接、查询、更改、删除、录入等操
作,并负责关闭数据库。
各个类之间的关系如图2.4所示:
.
精品文档
图2.4分析类图
3系统UML图描述
3.1系统的设计类图
系统的详细类图设计如下图所示:
.
精品文档
图3.1系统详细类图
3.2系统的顺序图
系统的基本用例的顺序图如下图所示:
.
精品文档
图3.2.1用例“添加图书入库”顺序图
图3.2.2用例“添加采购单”顺序图
.
精品文档
3.3系统的状态图
BookingListQuery类的对象的状态图如下:
图3.3BookingListQuery对象状态图
3.4系统的组件图
系统的组件图如下所示:
.
精品文档
图3.4系统组件图
4系统设计实现的描述
4.1系统信息代码设计
系统数据库中设计到的有图书信息和管理员信息。
对图书编号的设计如下:
图书号的首位数字是对图书进行编号。
编号首数字为1,表示科技文献类;2表示文
.
精品文档
学类;3表示杂志类;4表示教育类,等等。
对图书的出版社进行编号:
1开头的为各个大专院校出版社,如1000为清华大学出版社;2开头的为国家级出版社,如2000为高等教育出版社;3开头为各个省级出版社;
4为其他出版社,等。
本系统是利用javaswing包的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)publicSqlBean():
负责建立JDBC-ODBC桥接器。
(2)publicResultSetexecuteQuery(Stringsql):
负责对数据库进行查询操作。
(3)publicintexecuteInsert(Stringsql):
负责对数据库进行插入操作。
(4)publicintexecuteDelete(Stringsql):
负责对数据库进行删除操作。
(5)publicintexecuteUpdate(Stringsql):
负责对数据库进行更新操作。
.
精品文档
(6)publicvoidCloseDataBase():
负责关闭数据库及后续处理。
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数据库逻辑结果设计
本系统采用的数据库软件是MicrosoftAccess。
新建一个空数据库,命名为
booking.mdb,然后通过表设计器设计如下三张表。
1.管理员信息表
管理员信息表记录了管理员的信息,其属性如表所示:
.
精品文档
列名数据类型
user_name文本
psw文本
2.书籍信息表
书籍信息表记录了书籍库中的图书基本信息,其属性如表所示:
列名数据类型
bookID文本
bookName文本
author文本
price数字
press文本
bookCount数字
3.采购单信息表
采购单信息表记录了采购单中的采购信息,包括需要采购的图书基本信息和采购量等
信息。
属性如表所示:
列名数据类型
bookID文本
bookName文本
author文本
price数字
press文本
needCount数字
4.3系统输入输出设计
本系统有一个SqlBean类专门实现数据的输入输出处理。
系统界面通过文本框和表格
的形式来接受数据和显示数据,数据通过SqlBean类创建的对象来实现录入、修改、查询、
删除等操作。
5.系统界面设计
系统界面采用JavaSwing包来设计。
系统运行流程如下:
.
精品文档
系统登陆
图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设计的特点、不足、收获与体会
本系统是利用javaswing包的swing组件进行UI设计。
系统分为登陆窗体和主界面窗体两大部分。
主界面窗体又包含了添加图书界面、添加采购单界面、图书和采购单信息
查询界面、修改信息界面、打印采购单界面、删除采购单界面。
系统还有一个SqlBean类负责后台数据库操作,进行数据处理。
系统充分利用了面向对象的思想,系统划分为各个类,通过类创建的对象调用其方法来实现各个功能。
类中封装了各个属性和方法,各个子模块之间的依赖性大大降低,达到高内聚,低耦合的作用。
通过这次综合课程设计,我们从系统分析到系统设计,再到系统实施系统代码设计,
全程参与和设计了一个具体的应用系统。
通过亲自动手实践,我感受了软件开发的整个流
程。
通过对系统的分析设计,我理解了软件开发的前期分析设计的重要性。
通过具体代码
设计我更加熟悉了JAVA语言,更加熟练地掌握了java语言开发应用程序的方法,更加熟
悉了常见数据结果的使用方法。
通过动手设计数据库,加深了我对数据库知识的理解和掌
握,使我们对课本上的有关数据库知识进行了系统的熟悉和应用。
其次,通过结合一个具
.
精品文档
体的应用系统,我们将数据库设计同具体的应用系统联系起来,知道了如何在应用系统中
连接使用数据库。
在这次课程设计中,我体会到了很多东西,知识体系更加完备完整。
对软件开发的认
识更加全面深入,对毕业设计具有指导意义,为以后的工作打下了坚实的基础。
8参考文献
[1]张友生,软件体系结构,北京:
清华大学出版社,
2004年1月
[2]王少锋,面向对象技术UML教程,清华大学出版社,2004年2月
[3]赵文耘等译,需求工程,机械工业出版社,2003年8月
[4]王珊,数据库系统简明教程,高等教育出版社,2004年9月
[5]余雪丽,软件体系结构及实例分析,科学出版社,2004年10月
[6]
王智学,ROSE对象建模方法与技术,机械工业出版社,2003年7月
[7]
耿祥义,JAVA2实用教程,清华大学出版社,2004年2月
.