教材购销管理系统设计

软件工程专业数据库原理及应用课程设计开发报告设计题目:教材购销管理系统 年 级:学 号:姓 名:摘要通过本软件,可以快速查询教材的销售情况.方便管理人员管理教材能快速查询教 材得价格,通过SQL语言,对数据库的查询、插入、修改、删除等操作.概念分析是对实 体及其属性绘制出局部E-R图和总体E-R图逻辑和物理设计对实体和属性进行关系模 式的设计并绘制图表其他数据库对象的设计对关系建立索引、视图、触发器并写出存储 过程最后给出备份和恢复策略关键词:数据库;SQL语言;索引;视图;触发器;教材;仓库;职工;存放;工作目录K需求分析 11. 1项目背景 11.2项目概述 1K 3功能需求 21. 4设备 4K 5需求注释 41.6功能树 42、 概念设计 62 1实体及其属性 62.2综合ER图 73、 逻辑设计 83 1、检验是否满足用户需求 930报表需求 94、 其它数据库对象的设计 114.1、 索引 1142、视图 114 3、触发器 114.4、存储过程 115、 希及恢复策略 1251、事务故障的恢复策略 125.2、 系统与介质故障的恢复策略 12仁需求分析1.1项目背景1-1. 1编写目的本需求的编写目的在于研究教材购销管理系统软件的开发途径和应用方法。
本需求的预期读者是与教材购销管理系统软件开发有联系的决策人,开发组成人员, 扶助开发者,支持本项目的领导和公司人员,软件验证者1.1- 2背景及范围本项目的名称:教材购销管理系统开发软件本项目的任务提出者及开发者是教材购销管理系统软件开发小组,用户是学校 教材购销管理系统:教材购销管理系统是帮助管理人员、教材销售和库存的管理软 件1.2项目概述该教材购销管理系统软件目前己有比较完善的管理与使用功能,研制教材购销管理系 统软件是为了满足对教材购销和库存管理的方便,以现代化的创新思维模式去工作.lo 2.1目标1.2.11开发意图ao为了教材购销管理系统更完善;b. 为了教材购销对商品库存和销售的管理更方便;c. 为了减轻工作人员的工作负担.1.2.1.2应用目标通过本系统软件,能帮助工作人员利用计算机,快速方便的对教材购销进行管理等操作, 使散乱的教材销售量和库存量能够具体化、直观化、合理化3作用及范围本软件适用于教材购销,它是比较完善的系统管理软件1.2.1.4 背景现今教材购销管理的烦琐给具有强烈时间观念的行政人员带來了诸多不便,为了对教 材销售和管理教材库存方便,因此开发了本软件1. 2. 2 —般约束ao本项目的开发经费不超过1万元;b.辅导老师1人,开发人员1人;CO在管理方针、硬件的限制、并行操作安全和保密方面无约束。
13假设和依据假设开发经费不到位,管理不完善,设计时没能用全得到考虑,本项目的开发都将受 到很大的影响1.3功能需求lo 3.1规格说明查询教材购销的全部信息lo 32功能表为了查询教材购销的全部信息能外部功能内部功能操作员和系通过应用界面,应用程序,同过SQL语言,对数据库的查询、插统管理员査询等入、修改、删除等操作1.3.3性能需求13.3.1静态数值需求a.支持的终端数为4台;bo处理并发的40个链接;1 3.3.2精度需求在精度需求上,根据使用需要,在各项数据的输入、输出及传输过程中,由于本系统使 用了数摞结构,可以满足各种精度的需求.1.3.3 3时间需求在软件方面,响应时间、更新处理时间都比较快且迅速,完全满足用户要求 3.4灵活性当用户需求,如操作方式,运行环境,结果精度,数据结构与其他软件接口等发生变化时, 设计的软件要做适当调整,灵活性非常大.130 35故障处理a.内部故障处理在开发阶段可以随即修改数据库里的相应内容bo外部故障处理对编辑的程序进行重装载时,第一次装载认为错,修改第二次运行,在需求调用时 出错,有错误提示,重试lo 3.4设计约束条件1・34e 1技术约束本项目的设计采用软硬一体化的设计方法。
14.2环境约束运行该软件所适用的具体设备必须是奔腾2G内存256兆以上的计算机,局域网络环境1・34.3标准约束该软件的开发完全按照企业标准开发,包括硬件、软件和文档规格1・3・44硬件限制奔腾2G、内存256兆以上的计算机满足输入端条件1.3.5接口需求11用户接口本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入 相对应的界面(如:输入界面、输出界面).用户对程序的维护,最好要有备份13.5.2软件接口WIN2000/XP操作系统6属性160 1可使用性在装载总程序时,正常就运行,异常就停止;汉语编程系统出现错误,将会产生不可遇见 的问题,热启,整个终端程序就会再启动;程序出现错误,重新装载,若仍有错,按照提示 逐渐装载1.3.6.2保密性本软件作为教材购销管理辅助设备,它的规模比较小,不需要保密技术;限定一个程序 中某些区域的规约,给不同的模块分配不同的功能1・3・63可维护性本软件的组成程序为汉语成语设计语言,组构均较简单,直观意义上的较独立.因此, 基于电子化所构成的硬件的简单可维护的特点,决定了该软件的简单可维护性.14可转移、可转换性可转移的环境是奔腾1G、128兆内存以上;不可修改任何部分;1.3.6.5 注释本产品拥有的属性十分重要,它使得读者用规定的方法去客观的验证软件的各种特性.lo 3.7数据库数据库是实现有组织地,动态地存储大量关联数据,方便多用户访问的计算机软硬件 组成的系统;它与文件系统的重要区别是数据的充分共亨,交叉访问,与应用程序的高度 独立性.由于本软件的整体结构比较简单,所涉及数据相对來说也较少,组成文件的最小单位 是记录。
1o 4设备奔腾lg、内存128兆以上的计算机局域网络环境1o 5需求注释对于本软件,它的功能需求、性能需求、接口需求,从稳定性、可行性上都是可以的教材购销管理系列沟晋里dh宛一>学生2采购管理子系教材科秘书教材保管员够教材出纳员不够领书单,发票学生表STUDENGTSNO学号SNAME姓名SSEXSage年龄Sdept所在系购书单表BUYBOOK BB列名含义BBNO购书单编号BNO书号BBamount数量书库表 stack room sr列名含义Srname图书管理员Srno库号Bno书号Sramount库存量2、概念设计2o 1实体及其属性实体:书,学生,购书单,教材库 局部视图(2)学生E—R图:姓名学号性别班级(3专业图:学生书号购书单7书人(班长)购书单号(4)书库E-R图:书名书号书库出版社⑸岀书号电话库存量图2—1教材购销管理ER图3、逻辑设计学生(学号,姓名.性别,职务,年龄,所在系,班级)•主码为学号•符合三范式. 购书单(购书单号,书号,数量•购书学生学号)”主码为购书单号,符合三范式. 书库(图书管理员,库号,书号,数量)主键为图书管理员,库号.(书号,书名,单价,出版社)主键为书号,符合三范式。
表3-1学生表STUDENGT列名含义长度类型NULLDEFAULTSNO学号10nit()nonoSNAME姓名30Char()nonoSSEX2Char ()nonoSage年龄10Int()nonoSdept专业30Char ()NonoSclass班级10Int()nono表3—2 购书单表BUYBOOK BB列名含义长度类型NULLDEFAULTBBNO购书单编号10Int()nonoBNO书号10Int()nonoBBamount数量10IiitOnonoBBno购书学生学号30Int()nono表 3-3 书库表 stack room sr列名含义长度类型NULLDEFAULTSrname图书管理员20CharQnonoSrno库号8IntnonoBno书号8Int()nonoSiamount量8int()nono表3-4 书表book列名含义长度类型NULLDEFAULTBNO书号8Int()nonoENAME书名8CharQnonoBPRICE单价8Float ()nono表3-5书出版社表publish列名含义长度类型NULLDEFAULTPNO书号8Int()nonoPpublisher出版社8Chai()nonoPphone电话8Int()nonopadd地址8Chai ()nono3。
1、检验是否满足用户需求例行事务需求lo学生买书查询买书信息,2o釆购新书釆购部门进书后,教材科秘书根据进书通知和缺书登记表给没买到教材的学生发补售通知 单.查询事务需求lo查询学生的买书情况根据学生学号查询买书信息2o查询是否有满足学生要的书查询某种书的数量查询某一书何时会到货3.报表需求(1)缺书登记表:学号、姓名、书号、数量(2) 教材存量表:书号、单价、数量(3) 待购教材表:书号、数量(4) 缺书单:书号、数量、出版社、地址、电话(5) 教材一览表:书号、书名、出版社、地址、电话(6) 各班学生用书表:班级、书号、书名、数量SELECT distinet sclass, BNO, BNAME, BBamount FROM STUDENT, BUYBOOK_BBWHERE BUYBOOK_BB. bbno=STUDENGT. no(7) 售书登记表:学号、姓名、书号、数量SELECT sno, sname, Bno, BBamountFROM STUDENT, BUYBOOK_BBWHERE BUYBOOK_BB. bbno=STUDENGT. no(8) 缺书登记表:学号、姓名、书号、数量SELECT sno, sname, Bno, BBamountFROM STUDENT, BUYBOOK_BBWHERE BUYBOOK_BBo bbno二STUDENGT. no and BUYBOOK_BBo bbno=stack room, bno And BUYBOOKo bbamount >stackroom. sramount(9) 教材存量表:书号、单价、数量SELECT bno, BPRICE, sramount FROM book, stackroomWHERE BOOKo bno=stackroom. no(10) 待购教材表:书号、数量SELECT sno, sname, Bno, BBamountFROM STUDENT, BUYBOOK_BBWHERE BUYB00K_BBo bbno二STUDENGT. no and BUYB00K_BBo bbno=stack room, bno And BUYBOOK。
bbamount 〉 stackroom sramount(11) 缺书单:书号、数量、出版社、地址、电话SELECT bno, BBamount, Ppublisher, BBamount,> Pphone FROM STUDENT, BUYBOOK_BBWHERE BUYB00K_BB. bbno二STUDENGT. no and BUYB00K_BB. bbno=stack room, bno And BUYBOOKo bbamount >stackroom. sramount(12) 教材一览表:书号、书名、出版社、、电话SELECT bno, bname, Ppublisher, padd, Pphone FROM BOOK, publishWHERE BOOKo bno= publish. Pno4、其它数据库对象的设计4・仁索引(1) 商品库存表商品编号索引CREATE UNIQUE INDEX CRESERVE ON RESERVE (CNO );(2) 收银小票表小票编号索引CREATE UNIQUE INDEX BBILL ON BILL (BNO);(3) 收银员表中收银员编号索引CREATE UNIQUE INDEX AASSISTANT ON ASSISTANT (ANO);4.2、 视某种商品的销售量和库存量的视图GREATE VIEW COMMODITY (CNO, CNAME, MARKET, LIST)ASSELECT RESERVR。
CNO, RESERVRCNAME, SUM (QUANTITY) , LIST FROM RESERVR , BILLGROUP BY BILLo CNO4.3、 触发器定义一个触发器,当商品库存表中,供货商为空时,自动改为”本店制作”CREATE TRIGGER UDLISTBEFORE UPDATE OR TNSERT ON RESERVRFOR EACH ROWAS BEGINIF PROFESSINAL IS NULL THENPROFESSINAL:二'本店制作’;END IF;END;4.4、 存储过程利用存储过程来实现,当某商品卖出时,它的商品库存量相应的减少CREATE PROCEDURE SELL ( BCNO CHAR, QLIST INT)AS DECLAREBEGINSELECT TISTFROM RESERVEWHERE BCNO 二RESERVE. CM);IF LIST IS NULL THENROLLBACK:RETURN;END IF;IF LIST 针对不同的故障,制定恢复策略5h事务故障的恢复策略(1) 反向扫描日志文件,查找该事务的更新操作2) 对事务的更新操作执行逆操作.(3) 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理4) 如此处理下去,直到读到此事务的开始标记,事务故障恢复就完成了5.2、系统与介质故障的恢复策略(1) 正向扫描日志文件,找出在故障发生前己经提交的事务,将其事务标识记入重做 队列同时找出故障发生时尚未完成的事务,将其事务标识记入撤消队列.(2) 对撤消队列中的各个事务进行撤消处理.(3) 对重做队列中的各个事务进行重做处理.(4) 装入最新的数据库后备副本,使数据库恢复到最近一次转储时一致性状态.(5) 装入相应的日志文件副本,重做己完成的事务.。