


已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 系统需求分析1.1 系统调查(赵洁、王越瑾共同完成)对现行图书销售管理业务进行详细调查是了解系统需求和进行系统分析和设计的重要基础工作,因此要对新华书店的图书销售管理工作进行全面、细致而充分的调查研究。在我们小组讨论分析的基础上,我们对嘉兴市的新华书店进行了实地考察,请教了部分顾客和书店的图书销售管理负责人,了解了具体的业务需求和对原有系统的看法,有无改进的地方。通过调查得知,图书销售管理的需求主要有四方面:(1)进货:根据某种书籍的库存量及销售情况确定进货数量,根据供应商报价选择供应商。输出一份进货单并自动修改库存量,把本次进货的信息添加到进货库中。 (2)退货:顾客把已买的书籍退还给书店。输出一份退货单并自动修改库存量,把本次退货的信息添加到退货库中。(3)统计:根据销售情况输出统计的报表。一般内容为每月的销售总额、销售总量及排行榜。(4)销售:输入顾客要买书籍的信息,自动显示此书的库存量,如果可以销售,打印销售单并修改库存,同时把此次销售的有关信息添加到日销售库中。所以我们小组针对以上需求建立一个图书销售管理系统。1.用户需求要设计一个性能良好的管理系统,明确用户的应用环境对系统的要求是首要的和基本的。本系统从以下四个方面对用户需求进行了分析:(1)用户的信息需求:销售人员能够通过查询图书销售系统全面掌握本系统各类主体信息,如供应商信息、图书信息、进货信息、退货信息。(2)用户的处理要求:当书店发生进货、销售、顾客退货等活动时,销售人员能够对库存图书中相关信息进行添加、删减和修改操作。进货表、销售表以及退货表能自动进行信息更新,同时系统能够根据销售情况输出统计表。(3)对系统的适应性、通用性要求:要求系统能够满足大部分书店对图书以及图书周转经营情况的管理需求。1. 系统业务流程图业务流程图的符号说明如图1.1所示:1、 2、 3、 4、 5、系统中人员 实体或单据 实物或信息流 处理 数据存储 图1.1 业务流程图图例经详细调查之后,为开发系统绘制的销售管理系统业务流程图如图1.2所示:顾客 销售人员销售表供应商进货销售库存图书购书退货统计图1.2 图书销售管理系统业务流程图2 系统逻辑方案(主要是赵洁负责,王越瑾参与)系统分析的主要成果是系统的逻辑模型。本系统的逻辑模型主要是以系统的数据流图和数据字典为主要描述工具。即在无纸化网络考试系统管理方式和业务流程进行认真分析和研究的基础上,排除现有组织机构和业务分工所造成的信息障碍。2.1数据流图(简称为DFD)数据流图是组织中信息运动的抽象。是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发。将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。首先,分析图书销售管理系统的总体情况,划分系统边界,识别系统的数据来源和去处,确定外部实体,得出系统的顶层数据流程图;然后划分出几个主要的信息管理功能,并明确各功能之间的联系,绘制出数据流程图。数据流程图的符号说明如图2.1所示。图书销售管理系统的顶层数据流程图如图2.2所示。图书销售管理系统的数据流程图如图2.3 -2.6所示 外部实体 处理 数据流 数据存储 图2.1 数据流程图的符号图书销售人员销售图书统计报表顾客退货 库存图书库存减少库存增加判断库存是否减少进货是图书增加提供图书供应商报表图2.2 顶层数据流程图上图中把系统分为进货,退货,报表统计和图书销售四个功能模块下面2.3至2.6给出了相应的第二层数据流图。图书销售人员显示库存判断供求关系供大于求销售图书顾客打印销售单,添加到日销售库库存减少库存图书供小于求返回销售单图2.3第二层数据流程图图书销售图书销售人员根据每月的销售总额、销售总量及排行榜进行统计报表图2.4 第二层数据流程图统计报表图书销售人员根据某种书籍的库存量及销售情况确定进货数量根据供应商报价选择供应商输出进货单,添加进货库库存库存增加进货单图2.5 第二层数据流程图进货顾客退还书籍输出退货单,添加退货库库存图书库存增加退货单图2.6 第二层数据流程图退货2.2 数据字典(简称为DD)绘制DFD,只是对数据处理和彼此之间的联系进行了说明。为进一步明确数据的详细内容和数据加工过程,应将数据流图中的全部数据流及其组成部分的数据元素,数据存储,数据加工,通过数据字典描述清楚,以便于此后系统设计的进行。这就需要开发人员编写详细的数据字典,来描述系统开发过程的细节。下面列出本系统中的数据项、数据流、数据存储、加工处理和数据结构的数据字典。数据字典可采用图表格式或较紧凑的记录格式描述,本文采用的是图表格式。数据项的DD表列举如下:表2.7 图书编号的数据字典 数 据 项系统名:图书销售管理系统 编号:I001 名称:图书编号 别名:数据项值: 类型:字符型 长度:6个字节 取值范围:简述:每种图书都具有唯一的编号,它是某种图书的唯一标识符,每种图书都有唯一的编号。修改记录:编写日期审核日期表2.8 书名的数据字典 数 据 项系统名:图书销售管理系统 编号:I002 名称:书名 别名:数据项值: 类型:字符型 长度:20个字节 取值范围:简述:每种图书都具有唯一的书名,但是不同的图书也可以有相同的书名。如“20081000”表示书名为“数据库课程设计”的书籍,前四位表示它的发行年份。修改记录:编写日期审核日期表2.9 供应商编号的数据字典 数 据 项系统名:图书销售管理系统 编号:I003 名称:供应商编号 别名:数据项值: 类型:字符型 长度:10个字节 取值范围:简述:每个供应商都有唯一的编号,它是某个供应商的唯一标识符,每个供应商都有唯一的编号。如“20100001”表示供应商李明,前四位是供应商加入的年份。修改记录:编写日期审核日期注:因限于篇幅,其余数据项的DD表在此略过。3系统总体结构设计(主要赵洁负责,王越瑾参与)3.1 软件系统总体结构设计软件系统总体结构设计的主要任务就是将整个系统合理的划分成各个功能模块,正确处理模块之间与模块内部的联系及它们之间的调用关系和数据联系,定义各模块的内部结构等,本系统的软件总体结构按分解协调的原则,信息隐蔽抽象的原则,自顶向下的原则,一致性原则,面向用户的原则进行设计。3.2 数据存储的总体设计 按用途分类可把本系统文件分成以下几种:(1) 主文件:系统中的主文件是最重要的共享文件,主要存放具有固定值属性的数据。它需要长期保存,并不断更新。如用户信息文件(包括学生和管理员及系领导)、科目信息文件、题库信息文件、考试信息文件、考试新闻信息表、考试成绩文件。(2) 处理文件:处理文件包含下一次更新文件所需要的全部记录,本系统中的处理文件如新闻登录日志文件、待审核项目信息文件。3.3系统功能模块设计通过对系统的数据流图进行分析,进一步进行功能分解,直到分解成含义明确,功能单一的功能模块,从而得到系统的功能模块结构图。如图3.1所示。 图书销售管理系统顾客登陆系统管理退货购买进货统计 4 数据库详细设计(主要王越瑾负责、赵洁参与)4.1数据库设计数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的安全性、完整性和共享性。对一个实际的系统来说,数据库表的设计在遵循数据库理论的同时,必须能用开发工具来实现用户在各方面提出的功能要求。4.1.1 E-R图设计 在系统的数据库设计中,先要对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系,然后才能得出系统的关系模式。可以采用E-R图的方法来进行数据结构分析,E-R设计方法是一种通过E-R图来描述现实世界信息结构的DB设计方法。E-R图由实体、属性、联系三部分组成。各分E-R图说明如下:图书(1)图书E-R图见图4.1: 图4.1 图书E-R图(2)供应商E-R图见图4.2: 供应商 图4.2 供应商E-R图(3)报价单E-R图见图4.3:报价单 图4.3 报价单E-R图 (4)图书销售管理系统总体E-R图见图4.4: 报价单书店供应商图书统计销售退货进货属于供应商编号供应商名称联系人联系地址联系电话数量进货日期图书编号书名总额进货编号供应商编号图书编号报价销售数量销售时间总价 单价销售编号图书编号退货编号退货数量退货时间退还金额图书编号图书编号书名作者出版社单价图书量供应商编号顾客111nmnmnmn 图4.4 图书销售管理系统总体E-R图图书销售管理中所涉及到的主要实体集及其属性如下:图书book(图书编号ISBN,书名bname,作者author,出版社press,供应商编号pno,单价price,图书量num)供应商provider(供应商编号pno,供应商名称pname,联系人person,联系地址paddress,联系电话pphone)报价单quotation(供应商编号pno,图书编号ISBN,报价qprice)4.1.2. 逻辑结构设计(E-R图向关系模型的转换) ER图向关系模型的转化要解决的问题是如何将实体和实体间的联系转换为关系模式,如何确定这些关系横式的属性和码。 对于实体间的联系我们分不同的情况讨论:(1) 若实体间的联系是1:1,可以在两个实体转换成的两个关系中任意一个关系的属性中加入另一个关系的码。(2) 若实体间联系为1:n,则在n端实体转换成的关系中加入1端实体转换成的关系码。(3) 若实体间联系为n:m,则将联系转换为关系,关系的属性为诸个实体的码加上联系具有的属性,而关系的码则为诸实体的码的组合。由以上三点,可转换为关系模型。每个关系的码用下划线表示。图书book(图书编号ISBN,书名bname,作者author,出版社press,供应商编号pno,单价price,图书量num)供应商provider(供应商编号pno,供应商名称pname,联系人person,联系地址paddress,联系电话pphone)报价单quotation(供应商编号pno,图书编号ISBN,报价qprice)进货stock(进货编号sno,供应商编号pno,图书编号ISBN,书名bname,单价price,数量num,总额total_amount,进货日期stock_time)销售orders(销售编号ono,图书编号ISBN,书名bname,销售日期order_time,单价price,销售数量order_num,总价total_price)退货return(退货编号rno,图书编号ISBN,书名bname,退货数量rnum,退还金额rpicee,退货时间rtime)基于以上关系模型,本系统中关于数据库表结构设计如下:在服务器上用SQL Sever2000建立名为exam的数据库。其中包括以下表:图书表book,供应商表provider,报价单表quotation,进货表stock,销售表orders,退货表return。下面将具体介绍数据库中各个表的结构。 表4.5 图书信息表字段名数据类型字段长度是否为空ISBNVarchar13Not nullbnameVarchar20authorVarchar10pressVarchar40priceNumeric5,2pnoVarchar10numint表4.6 供应商信息表字段名数据类型字段长度是否为空PnoVarchar10Not nullPnameVarchar20PersonVarchar40PaddressPphone20pphonevarchar10 表4.7 报价单信息表字段名数据类型字段长度是否为空PnoVarchar10Not nullISBNVarchar13Not nullqpricenumeric5,2 表4.8 进货信息表字段名数据类型字段长度是否为空SnoVarchar10Not nullpnoVarchar10ISBNVarchar13BnameVarchar20PriceNumeric5,2Stock_numIntTotal_amountNumeric5,2Stock_timesmalldatetime 表4.9 销售信息表字段名数据类型字段长度是否为空OnoVarchar6Not nullISBNVarchar13BnameVarchar20Order_timeDatetime5,2PriceNumeric50Order_numInt4Total_pricenumeric5,2 表4.10 退货信息表字段名数据类型字段长度是否为空RnoVarchar6Not nullISBNVarchar13BnameVarchar20RpriceNumeric5,2RtimeDatetimernumint4.2 数据库的完整性和安全性1.数据库的完整性数据库的完整性是指数据的正确性和相容性。数据库管理系统(DBMS)用一定的机制来检查数据库中的数据是否满足规定的条件完整性约束条件,数据的约束条件是语义的体现,将作为模式的一部分存入数据库中。本系统中定义了表与表之间的联系有助于实现完整性规则,一般在程序中实现具体的完整性控制。2.数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。在数据库系统中,大量的数据集中存放,而且为许多用户直接共享,是宝贵的信息资源,系统的安全保护措施就显得更为重要,它保护数据库防止恶意的破坏和非法的存取。本系统包括数据库的安全和服务器的安全。采用管理员表示和鉴定的方法实现数据库的安全,此安全管理措施并不在前台开发工具中实现,而是在后台数据库中实现。在登录数据库时,系统让管理员户表示自己的身份,不同的管理员权限不同,系统进行核实,鉴别此管理员是否为合法用户,若是,系统进一步核实用户,通常要求用户输入口令,系统和对用户口令以鉴别用户身份。服务器的安全也是通过用户在登录服务器时输入合法的用户名和密码来实现的。这是一种简单可行的方法,实现起来比较方便。没有采用更加复杂的系统安全管理措施是因为本管理系统一般是应用在校园网中,采用安全管理措施主要是为了防止没有修改权限的用户无意间修改了数据,因此采用用户标识和鉴定的安全管理措施就能够保障数据库的安全性。5数据库操作(SQL Server2000语句完成)(赵洁建立数据库、建立表,王越瑾建立存储过程、建立视图,触发器的建立由王越瑾,赵洁共同完成)(1)建立数据库(2)建立各个表,包括各种约束条件(3)建立存储过程向表中插入、修改、删除数据(4)建立存储过程实现单表查询、连接查询、嵌套查询、集合查询(5)视图建立(6)INSERT、DELETE、UPDATE触发器Create database book_salesGoUse book_salesCreate table provider(pno varchar(10)not null,pname varchar(20),paddress varchar(40),pphone varchar(20),person varchar(10)insert into providervalues(20081000,李明,二环西路,12345)insert into providervalues(20081001,张三,越秀南路,21325)Create table quotation(pno varchar(10)not null,ISBN varchar(13)not null,qprice numeric(5,2)insert into quotationvalues(1002,19990033,25)insert into quotationvalues(1003,19991113,32)Create table stock(sno varchar(10)not null,pno varchar(10),ISBN varchar(13),bname varchar(20),price numeric(5,2),stock_num int,total_amount numeric(5,2),stock_time smalldatetime null)insert into stockvalues(1111,1003,19990033,数据库原理,32,3200,20101101)Create table orders(ono varchar(6) not null, ISBN varchar(13),bname varchar(20), order_time datetime,price numeric(5,2), order_num int,total_price numeric(5,2)insert into ordersvalues(100111,19990033,数据库原理,20101011,32,100,3200)Create table returned(rno varchar(6) not null, ISBN varchar(20),Bname varchar(20),rnum int,rprice numeric(5,2),rtime datetime)insert into ordersvalues(100111,19990033,数据库原理,2,32,20101105)Create table book(ISBN varchar(13),bname varchar(20), press varchar(40), auther varchar(10), price numeric(5,2),pno varchar(10),num int)insert into bookvalues(19990033,数据库原理,电子工业出版社,郭敬明,32,1003,50)select pnofrom stockwhere sno=1111select bname,ISBN from bookwhere price=32delete from bookwhere ISBN=19990033update providerset person=小王where pno=1003为进货表创建存储过程showbidprice,当输入书名时输出报价单,供操作人员选择Go/进货Create procedure showbidpricebname varchar(20)AsDeclare num intSelect *from quotationWhere ISBN=(select ISBN from book where bname=bname)Exec showbidprice 数据库原理为进货表创建触发器trig_order_insert,当进货表中增加一条记录时触动触发器更新库存图书中的图书数量及相关信息Create trigger trig_orders_insertOn stockFor insertAsDeclare ISBN varchar(13),num intSelect ISBN=ISBN,num=stock_num from insetedUpdate bookSet num=num+numWhere ISBN=ISBN为退货表创建触发器trig_returned_inserted,当退货表中增加一条信息时,触动触发器,更新库存图书中的库存量及相关信息Go/退货Create trigger trig_returned_insertedOn returnedFor insertAsDeclare ISBN varchar(13), num intSelect ISBN=ISBN,num=rnum from insertedUpdate bookSet num=num+numWhere ISBN=ISBN为销售表创建存储过程sale,当输入相应图书ISBN及数量时,若图书数量能够满足顾客所需,则更新库存图书的数量及相关信息,并且在销售表中插入相应的销售信息,若库存图书数量不足顾客所需,则输出库存不足,仅剩几本Go /销售Create procedure saleono varchar(10),ISBN varchar(13),num intAsDeclare numl int,price numeric(5,2),bname varchar(20)If(select num from book where ISBN=ISBN)=num Begin Update book Set num=num-num Where ISBN=ISBN Select bname=bname,price=price from book where ISBN=ISBNInsert into orders values(ono,ISBN,bname,getdate(),price,num,price*num)EndElseBeginSelect numl=num from book where ISBN=ISBNPrint 库存不足,仅剩+cast(numl as varchar)+本!EndExec sale 010,9787302205806,10为图书销售统计创建视图arrange,根据总的销售量输出排行榜前两位的图书及相关信息Go /图书销售统计Create view arrangeAsSelect top 2 bname,ISBN,SUM(order_num) 销售量 from ordersGroup by bname,ISBNOrder by SUM(order_num) DESC为月销售额,月销售量创建存储过程date_time,输入你想查询的月份,输出该月的总销售额和销售量Go/月销售额,月销售量Create procedure date_timem intAsSelect sum(order_num) 月销售量,sum(total_price) 月销售额 from ordersWhere month(order_time)=mExec data_time 16 程序设计 本次数据库原理的课程设计被安排在短学期的后半阶段,我们小组原先是三名组员,由于转学的缘故,我们小组仅剩两名同学,但在我俩的共同努力下,已经顺利完成了。通过做这次的课程设计,我受益匪浅。首先,通过本次课程设计,我对数据库原理的相关知识及其基本设计思想有了进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全培训效果评析报告课件
- HN-saponin-F-Pulsatilla-saponin-B-生命科学试剂-MCE
- 2025河北雄安新区雄县事业单位招聘89人考前自测高频考点模拟试题及答案详解(夺冠系列)
- 2025年三环集团社会招聘考前自测高频考点模拟试题及参考答案详解
- 环保产业市场现状及未来展望
- 2025年上半年四川泸州市龙马潭区人民医院、泸州市龙马潭区第二人民医院、中医院考核招聘23人模拟试卷附答案详解(模拟题)
- 大数据分析在市场营销中的应用
- G产业链趋势与未来发展研究
- 城市绿色交通发展规划与政策建议
- 2025安徽合肥市长丰县下塘镇招聘村(社区)后备干部12名模拟试卷及答案详解(夺冠)
- 2025年合肥公交集团有限公司驾驶员招聘180人笔试参考题库附带答案详解
- GB/T 46104-2025电解水制氢系统功率波动适应性测试方法
- 信贷档案管理培训课件
- 2025年网络安全监测预警体系建设实施方案评估报告
- 2025年会计继续教育网络答题真题及答案
- (2025)安全知识竞赛试题(附完整答案)
- 2025年辅警招聘考试(行政职业能力测验)复习题及答案
- 2025年海南事业单位联考笔试历年典型考题及考点剖析附带答案详解
- 2025年水发集团有限公司招聘(216人)备考练习试题及答案解析
- 试验检测资金管理办法
- 护理时政面试题库及答案
评论
0/150
提交评论