《软件工程》实验报告题目:书店信息管理系统详细设计说明书学号姓名孙斌学号姓名王帅学号姓名高兴2015年6月3日目录1引言 (3)1.1概述 (3)1.3定义 (3)1.4参考资料 (3)2系统模块 (4)2.1模块关系图 (4)2.2读者模块 (5)2.2.1各个功能模块分述简略介绍 (5)2.2.2各个功能模块详细设计 (5)2.3前台售货员模块 (8)2.2.1各个功能模块分述简略介绍 (8)2.2.2各个功能模块详细设计 (8)2.4管理员模块 (10)2.2.1各个功能模块分述简略介绍 (10)2.2.2各个功能模块详细设计 (11)1 引言1.1 概述本文描述了一个书店信息管理系统的详细设计。
系统按照使用系统的不同类型用户分为读者(即购买者)模块,书店管理员模块和前台售货员模块三大模块,读者功能包括注册会员、查询书籍和购买书籍,管理员模块的功能包括维护用户和书籍信息,售货员模块的功能主要是接收来自读者的信息,出售书籍。
1.3 定义C/S(Client/Server)——客户端/服务模式。
1.4 参考资料《书店信息管理系统需求分析》《书店信息管理系统概要设计》2 系统模块2.1 模块关系图功能模块具体简介读者(购买者)售货员管理员添加会员信息2.2 读者模块2.2.1各个功能模块分述简略介绍1)读者查询功能:读者根据自己想买的图书的部分信息来查询这本书的位置、定价、是否是特价,以及这本图书的详细介绍,比如作者,内容简介等等。
查询可分为模糊查询和具体查询,具体查询包括查书名,查类别,查作者。
并且如有多本符合读者需求的图书,可以按照一定方式进行排序,按销售数量以及价格,或二者综合。
2)读者注册会员:普通读者注册会员后,信息由售货员审核并提交到数据库,管理员可在后台查看并更新。
2.2.2各个功能模块详细设计1)读者查询:界面设计:查询主界面具体操作显示图书具体信息:代码设计:Public void BuyerSearch(int Scount,string message,int display) //读者(买者)查询图书,Scount表示查询的种类,message表示查询的信息,display表示显示排序{If(Scount==0) //按作者查询{/*根据作者查询Select * from Table_Book WHERE AUTHOR = message;*/}Else if(Scount==1)//按类型查询{/*根据类型查询Select * from Table_Book WHERE TYPRCODE = message;*/}Else if(Scount==2)//按书名查询{/*根据类型查询Select * from Table_Book WHERE NAME= message;*/}Else //模糊查询{/* 利用SQL Server 里的查询语言进行查询 */}//排序显示//display=0,1,2;0为综合,1为价格,2为销售数量}Public void LoadBookMessage(){BOOK abook(NAME,ISBN,AUTHOR,PRICE,PUBLISHER,NUM,IS_ON_SEAL,TYPECODE,POSITION);//在窗体上显示书籍信息;}2)读者注册会员:界面设计:2.3 前台售货员模块2.2.1各个功能模块分述简略介绍1)售货员查询:售货员通过与系统连接的扫码器以及刷卡器获取图书ISDN码以及会员卡ID,自动录入系统,系统内部通过数据库查询,将信息显示在售货员的界面上。
对于非会员用户,系统会自动对应内置的一个VIP 0 等级的帐号,姓名为普通用户,无折扣信息。
2)销售:售货员根据系统计算出的售价收取现金,结束后通过与系统相连的打印机打印发票,交给购买者。
3)添加会员信息(注册会员):售货员通过读者(购买者)填写的会员申请表以及读者(购买者)今天所购买的图书发票,对读者(购买者)进行审核,审核通过后,通过系统将读者(购买者)信息录入系统数据库中。
2.2.2各个功能模块详细设计销售员登录界面●代码设计:Public void SaleSearch(){//通过扫码机器读取图书ISDN码//通过刷卡机器读取会员ID号//通过ISDN,ID从数据库中读取信息到本系统的缓存区中}2)销售:●界面设计:●代码设计:Public void SaleBook(){Textbox_ID.text=ID;Textbox_ISDN.text=ISDN;Textbox_price.text= (PRICE * DISCOUNT).tostring();//显示其他信息,界面内//通过与打印机相连的接口,打印发票}代码设计:Public void addReader(){//通过系统将会员信息存入数据库中Insert into Table_Reader values(会员信息);}2.4 管理员模块2.2.1各个功能模块分述简略介绍1)管理员查询会员:普通管理员只能查看会员的信息,并不能修改,而超级管理员可以查看会员以及工作人员(售货员和管理员)的权限,并且可以修改。
2)修改会员信息:主要修改会员的积分情况,以及修改会员的VIP等级,由最高级管理员进行控制。
3)删除会员信息:对会员的注销功能,删除该会员的一切功能,普通管理员可操作,超级管理员不可进行更改,但可查询删除记录,防止安全问题,当误删或故意删除记录出现,由工作人员开会决定后续处理办法。
4)增添图书信息:管理员通过将从出版商那里收集到的图书进行分类整理,然后将图书信息录入到系统数据库中。
5)管理员查询图书信息:管理员对图书进行查询,主要查询卖得好的书籍、卖的不好的书籍以及目前数量缺少的书籍,对于卖的好的,数量补充多;对于卖的不怎么好的,改成特价图书;目前数量缺少的,就通知订货单位进行补充。
6)修改图书信息:修改图书的定价,或者将图书列为特价书籍。
7)删除图书信息:出版社不再发行的图书,将其从本系统的数据库中删除。
2.2.2各个功能模块详细设计管理员登录界面普通管理员超级管理员1)管理元查询会员:●界面设计:●代码设计:Public void displayReader(){SELECT * FROM TABLE_Reader;//查询所有的读者并显示他们的信息}Public void displayAdmin(){SELECT * FROM TABLE_ADMIN;//查询所有的售货员和普通管理员,不包括超级管理员,显示他们的信息}●界面设计:●代码设计:Public void upVIPorRight(){If(会员加权)VIPCLASS++; (1=<VIPCLASS<=6) Else //管理员加权RIGHT++;(1=<RIGHT<=3)}Public void downVIPorRight(){If(会员降权)VIPCLASS--; (1=<VIPCLASS<=6) Else //管理员降权RIGHT--;(1=<RIGHT<=3)}●代码设计:Public void deleteReader(){Delete * from table_reader where ID = selectID;}图书管理界面4)增添图书信息:●代码设计:Public void addBook(){Insert into Table_Book values(图书信息);//通过系统输入,将图书信息输入到数据库中}5)管理员查询图书信息:●代码设计:Public void AdminSearch(int Acount){If(Acount==0) //按销量排序所查询的信息{/*根据作者查询Select * from Table_Book;排序vort();*/}Else if(Acount==1)//按剩余数量查询{/*根据类型查询Select * from Table_Book WHERE NUM < 5;*/}Else //全部查询{/* 利用SQL Server 里的查询语言进行查询将所有图书的信息全部列在窗体内*/}}6)修改图书信息:●代码设计:Public void changeBook(string change){/*Update Table_Book set 需要改的地方 = change;*/}7)删除图书信息:●代码设计:Public void deleteBooks (){Delete * from table_Book where ISDN = selectISDN;}。