教材购销管理系统设计.docx
《教材购销管理系统设计.docx》由会员分享,可在线阅读,更多相关《教材购销管理系统设计.docx(18页珍藏版)》请在冰豆网上搜索。
教材购销管理系统设计
软件工程专业
数据库原理及应用课程设计
开
发
报
告
设计题目:
教材购销管理系统
年级:
学号:
姓名:
摘要
通过本软件,可以快速查询教材的销售情况.方便管理人员管理教材。
能快速查询教材得价格,通过SQL语言,对数据库的查询、插入、修改、删除等操作.概念分析是对实体及其属性绘制出局部E-R图和总体E—R图。
逻辑和物理设计对实体和属性进行关系模式的设计并绘制图表。
其他数据库对象的设计对关系建立索引﹑视图、触发器并写出存储过程。
最后给出备份和恢复策略。
关键词:
数据库;SQL语言;索引;视图;触发器;教材;仓库;职工;存放;工作。
1、需求分析
1.1项目背景
1.1.1编写目的
本需求的编写目的在于研究教材购销管理系统软件的开发途径和应用方法。
本需求的预期读者是与教材购销管理系统软件开发有联系的决策人,开发组成人员,扶助开发者,支持本项目的领导和公司人员,软件验证者。
1.1.2背景及范围
本项目的名称:
教材购销管理系统开发软件。
本项目的任务提出者及开发者是教材购销管理系统软件开发小组,用户是学校。
教材购销管理系统:
教材购销管理系统是帮助管理人员、教材销售和库存的管理软件。
1.2项目概述
该教材购销管理系统软件目前已有比较完善的管理与使用功能,研制教材购销管理系统软件是为了满足对教材购销和库存管理的方便,以现代化的创新思维模式去工作.
1。
2.1目标
1.2.1。
1开发意图
a。
为了教材购销管理系统更完善;
b.为了教材购销对商品库存和销售的管理更方便;
c.为了减轻工作人员的工作负担.
1.2.1.2应用目标
通过本系统软件,能帮助工作人员利用计算机,快速方便的对教材购销进行管理等操作,使散乱的教材销售量和库存量能够具体化、直观化、合理化。
1.2。
1。
3作用及范围
本软件适用于教材购销,它是比较完善的系统管理软件
1.2.1.4背景
现今教材购销管理的烦琐给具有强烈时间观念的行政人员带来了诸多不便,为了对教材销售和管理教材库存方便,因此开发了本软件。
1.2.2一般约束
a。
本项目的开发经费不超过1万元;
b.辅导老师1人,开发人员1人;
c。
在管理方针、硬件的限制、并行操作安全和保密方面无约束。
1。
2。
3假设和依据
假设开发经费不到位,管理不完善,设计时没能用全得到考虑,本项目的开发都将受到很大的影响。
1.3功能需求
1。
3.1规格说明
查询教材购销的全部信息。
1。
3。
2功能表
为了查询教材购销的全部信息。
外部功能
内部功能
操作员和系统管理员
通过应用界面,应用程序,查询等。
同过SQL语言,对数据库的查询、插入、修改、删除等操作。
1.3.3性能需求
1.3.3.1静态数值需求
a.支持的终端数为4台;
b。
处理并发的40个链接;
1.3.3.2精度需求
在精度需求上,根据使用需要,在各项数据的输入、输出及传输过程中,由于本系统使用了数摞结构,可以满足各种精度的需求.
1.3.3。
3时间需求
在软件方面,响应时间、更新处理时间都比较快且迅速,完全满足用户要求。
1.3。
3.4灵活性
当用户需求,如操作方式,运行环境,结果精度,数据结构与其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大.
1。
3。
3。
5故障处理
a.内部故障处理
在开发阶段可以随即修改数据库里的相应内容。
b。
外部故障处理
对编辑的程序进行重装载时,第一次装载认为错,修改。
第二次运行,在需求调用时出错,有错误提示,重试。
1。
3.4设计约束条件
1.3。
4。
1技术约束
本项目的设计采用软硬一体化的设计方法。
1。
3。
4.2环境约束
运行该软件所适用的具体设备必须是奔腾2G内存256兆以上的计算机,局域网络环境
1.3。
4.3标准约束
该软件的开发完全按照企业标准开发,包括硬件、软件和文档规格。
1.3.4。
4硬件限制
奔腾2G、内存256兆以上的计算机满足输入端条件。
1.3.5接口需求
1。
3。
5。
1用户接口
本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:
输入界面、输出界面).用户对程序的维护,最好要有备份。
1.3.5.2软件接口
WIN2000/XP操作系统。
1.3。
6属性
1。
3。
6。
1可使用性
在装载总程序时,正常就运行,异常就停止;汉语编程系统出现错误,将会产生不可遇见的问题,热启,整个终端程序就会再启动;程序出现错误,重新装载,若仍有错,按照提示逐渐装载。
1.3.6.2保密性
本软件作为教材购销管理辅助设备,它的规模比较小,不需要保密技术;限定一个程序中某些区域的规约,给不同的模块分配不同的功能。
1.3.6。
3可维护性
本软件的组成程序为汉语成语设计语言,组构均较简单,直观意义上的较独立.因此,基于电子化所构成的硬件的简单可维护的特点,决定了该软件的简单可维护性.
1。
3.6。
4可转移、可转换性
可转移的环境是奔腾1G、128兆内存以上;不可修改任何部分;
1.3.6.5注释
本产品拥有的属性十分重要,它使得读者用规定的方法去客观的验证软件的各种特性.
1。
3.7数据库
数据库是实现有组织地,动态地存储大量关联数据,方便多用户访问的计算机软硬件组成的系统;它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性.
由于本软件的整体结构比较简单,所涉及数据相对来说也较少,组成文件的最小单位是记录。
1。
4设备
奔腾1g、内存128兆以上的计算机。
局域网络环境
1。
5需求注释
对于本软件,它的功能需求、性能需求、接口需求,从稳定性、可行性上都是可以的。
1。
6功能树
1销售管理子系统
2采购管理子系统
实体类:
学生,教材科秘书长,教材出纳员,保管员,采购员
联系类:
购买,检查是否允许购买买,查阅数量,领书单,发票
2.通过读题能分析出的表
学生表:
(学号,姓名,性别,职务,年龄,所在系)
3.数据说明处理:
学生表STUDENGT
SNO
学号
SNAME
姓名
SSEX
性别
Sage
年龄
Sdept
所在系
购书单表BUYBOOK_BB
列名
含义
BBNO
购书单编号
BNO
书号
BBamount
数量
书库表stackroom_sr
列名
含义
Srname
图书管理员
Srno
库号
Bno
书号
Sramount
库存量
2、概念设计
2。
1实体及其属性
实体:
书,学生,购书单,教材库
局部视图
(1)教材E—R图:
(2)学生E—R图:
(3)购书单E-R图:
(4)书库E-R图:
(5)出版社E-R图
2.2综合ER图
图2—1教材购销管理ER图
3、逻辑设计
学生(学号,姓名,性别,职务,年龄,所在系,班级),主码为学号,符合三范式.
购书单(购书单号,书号,数量,购书学生学号),主码为购书单号,符合三范式.
书库(图书管理员,库号,书号,数量)主键为图书管理员,库号.
(书号,书名,单价,出版社)主键为书号,符合三范式。
表3-1学生表STUDENGT
列名
含义
长度
类型
NULL
DEFAULT
SNO
学号
10
Int()
no
no
SNAME
姓名
30
Char()
no
no
SSEX
性别
2
Char()
no
no
Sage
年龄
10
Int()
no
no
Sdept
专业
30
Char()
No
no
Sclass
班级
10
Int()
no
no
表3—2购书单表BUYBOOK_BB
列名
含义
长度
类型
NULL
DEFAULT
BBNO
购书单编号
10
Int()
no
no
BNO
书号
10
Int()
no
no
BBamount
数量
10
Int()
no
no
BBno
购书学生学号
30
Int()
no
no
表3-3书库表stackroom_sr
列名
含义
长度
类型
NULL
DEFAULT
Srname
图书管理员
20
Char()
no
no
Srno
库号
8
Int
no
no
Bno
书号
8
Int()
no
no
Sramount
库存量
8
int()
no
no
表3-4书表book
列名
含义
长度
类型
NULL
DEFAULT
BNO
书号
8
Int()
no
no
BNAME
书名
8
Char()
no
no
BPRICE
单价
8
Float()
no
no
表3-5书出版社表publish
列名
含义
长度
类型
NULL
DEFAULT
PNO
书号
8
Int()
no
no
Ppublisher
出版社
8
Char()
no
no
Pphone
电话
8
Int()
no
no
padd
地址
8
Char()
no
no
3。
1、检验是否满足用户需求
例行事务需求
1。
学生买书
查询买书信息,
2。
采购新书
采购部门进书后,教材科秘书根据进书通知和缺书登记表给没买到教材的学生发补售通知单.
查询事务需求
1。
查询学生的买书情况
根据学生学号查询买书信息
2。
查询是否有满足学生要的书
查询某种书的数量
查询某一书何时会到货
3.报表需求
(1)缺书登记表:
学号、姓名、书号、数量
(2)教材存量表:
书号、单价、数量
(3)待购教材表:
书号、数量
(4)缺书单:
书号、数量、出版社、地址、电话
(5)教材一览表:
书号、书名、出版社、地址、电话
(6)各班学生用书表:
班级、书号、书名、数量
SELECTdistinctsclass,BNO,BNAME,BBamount
FROMSTUDENT,BUYBOOK_BB
WHEREBUYBOOK_BB.bbno=STUDENGT.no
(7)售书登记表:
学号、姓名、书号、数量
SELECTsno,sname,Bno,BBamount
FROMSTUDENT,BUYBOOK_BB
WHEREBUYBOOK_BB.bbno=STUDENGT.no
(8)缺书登记表:
学号、姓名、书号、数量
SELECTsno,sname,Bno,BBamount
FROMSTUDENT,BUYBOOK_BB
WHEREBUYBOOK_BB。
bbno=STUDENGT.noand
BUYBOOK_BB。
bbno=stackroom,bno
AndBUYBOOK。
bbamount>stackroom.sramount
(9)教材存量表:
书号、单价、数量
SELECTbno,BPRICE,sramount
FROMbook,stackroom
WHEREBOOK。
bno=stackroom.no
(10)待购教材表:
书号、数量
SELECTsno,sname,Bno,BBamount
FROMSTUDENT,BUYBOOK_BB
WHEREBUYBOOK_BB。
bbno=STUDENGT.noand
BUYBOOK_BB。
bbno=stackroom,bno
AndBUYBOOK。
bbamount〉stackroom。
sramount
(11)缺书单:
书号、数量、出版社、地址、电话
SELECTbno,BBamount,Ppublisher,BBamount,,Pphone
FROMSTUDENT,BUYBOOK_BB
WHEREBUYBOOK_BB.bbno=STUDENGT.noand
BUYBOOK_BB.bbno=stackroom,bno
AndBUYBOOK。
bbamount>stackroom.sramount
(12)教材一览表:
书号、书名、出版社、、电话
SELECTbno,bname,Ppublisher,padd,Pphone
FROMBOOK,publish
WHEREBOOK。
bno=publish.Pno
4、其它数据库对象的设计
4.1、索引
(1)商品库存表商品编号索引
CREATEUNIQUEINDEXCRESERVEONRESERVE(CNO);
(2)收银小票表小票编号索引
CREATEUNIQUEINDEXBBILLONBILL(BNO);
(3)收银员表中收银员编号索引
CREATEUNIQUEINDEXAASSISTANTONASSISTANT(ANO);
4.2、视图
某种商品的销售量和库存量的视图
GREATEVIEWCOMMODITY(CNO,CNAME,MARKET,LIST)
AS
SELECTRESERVR。
CNO,RESERVR。
CNAME,SUM(QUANTITY),LIST
FROMRESERVR,BILL
GROUPBYBILL。
CNO
4.3、触发器
定义一个触发器,当商品库存表中,供货商为空时,自动改为”本店制作”。
CREATETRIGGERUDLIST
BEFOREUPDATEORTNSERTONRESERVR
FOREACHROW
ASBEGIN
IFPROFESSINALISNULLTHEN
PROFESSINAL:
='本店制作';
ENDIF;
END;
4.4、存储过程
利用存储过程来实现,当某商品卖出时,它的商品库存量相应的减少。
CREATEPROCEDURESELL(BCNOCHAR,QLISTINT)
ASDECLARE
BEGIN
SELECTTIST
FROMRESERVE
WHEREBCNO=RESERVE.CNO;
IFLISTISNULLTHEN
ROLLBACK;
RETURN;
ENDIF;
IFLISTROLLBACK;
RETURN;
ENDIF;
UPDATERESERVE
SETLIST=LIST—QLIST
WHEREBCNO=RESERVE.CNO;
COMMIT;
END;
5、备份及恢复策略
备分策略
采用数据转储和登录日志文件两种方法结合的方法备分数据库。
针对不同的故障,制定恢复策略
5。
1、事务故障的恢复策略
(1)反向扫描日志文件,查找该事务的更新操作。
(2)对事务的更新操作执行逆操作.
(3)继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。
(4)如此处理下去,直到读到此事务的开始标记,事务故障恢复就完成了。
5.2、系统与介质故障的恢复策略
(1)正向扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入重做队列。
同时找出故障发生时尚未完成的事务,将其事务标识记入撤消队列.
(2)对撤消队列中的各个事务进行撤消处理.
(3)对重做队列中的各个事务进行重做处理.
(4)装入最新的数据库后备副本,使数据库恢复到最近一次转储时一致性状态.
(5)装入相应的日志文件副本,重做已完成的事务.