教材购销系统详细设计说明书.docx
《教材购销系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《教材购销系统详细设计说明书.docx(28页珍藏版)》请在冰豆网上搜索。
教材购销系统详细设计说明书
教材购销系统
详细设计说明书
文档名称:
系统详细设计说明书
项目名称:
教材购销系统
项目负责人:
邹志微(2号)、刘慧(8号)、廖伟(9号)、温梦娇(10号)、刘惠霞(18号)、陆云双(32号)
编写:
刘慧、陆云双
审核:
温梦娇、刘惠霞
校对:
邹志微、廖伟
开发单位:
信息082班
教材购销系统详细设计说明书
1引言
1.1编写目的
在前面(学校教材购销系统需求规格说明书)中已明确了系统的主要功能,解决了系统“做什么”的问题,在概要设计阶段,我们对设计方案进行了概述。
在这个阶段,我们需要确定如何具体的实现所要求的系统,因此要详细设计系统的各个模块。
主要工作有:
作出软件模块层次结构图,描述所有模块清单(名称,功能,I/O),从而在编码阶段可以把这个描述直接翻译成具体的程序语言书写的程序;设计数据库;设计页面。
本说明书主要提交给小组成员参考。
1.2背景
所建议开发的系统的名称:
学校教材购销系统
本项目的任务提出者:
江西理工大学软件工程老师
开始者:
江西理工大学理学信息与计算科学082班
用户:
学校教材管理部门和全校师生
项目与其他软件,系统的关系:
本项目采用客户机/服务器原理,客户端的程序是建立在WindowsNT系统上以JAVA以及MySql数据库等为开发软件的应用程序。
1.3定义
1.3.1专门术语
数据流图:
数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。
系统的流程图:
系统流程图是描绘物理系统的传统工具。
它的基本思想是用图形符号以黑盒子的形式描绘系统里的每个部件(程序,文件,数据库,表格,人工过程等)。
库存表:
存放库中存在得书籍数据。
出库表:
存放已销售的书籍的数据。
进库表:
存放入库书籍的数据。
购书表:
存放提交的购书信息。
缺书登记表:
存放缺少的书籍的信息。
待购教材表:
存放待购书籍信息。
1.3.2缩写
系统:
若未特别指出,系统指本“学校教材购销系统”。
1.4参考资料
《实用软件工程》,郑人杰等著,清华大学出版社。
《软件工程》第二版,李代平等著,清华大学出版社。
《软件工程》第六版,RogerS.Pressman著,机械工业出版社。
《软件工程课程实验指导书》,安徽工程科技学院计算机科学与工程系。
2程序系统的结构
2.1本系统的软件结构图如下:
2.2下面给出系统的初步概图
方便用户和读者充分认识本系统的最初实现情况,并对系统有个初步的了解,也方便开发人员把握开发方向,最终实现本系统.
教材购销系统概图
2.3主要功能
销售系统的工作过程为:
首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生即可去书库领书。
采购系统的主要工作过程为:
若是脱销教材,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员。
本系统在向学生售书时主要输入学生学号、班级代号、购书数量、购书书名信息,然后打印领书单返回给学生领取书籍。
本系统在查询数据库时主要输入需要查询的相关信息,包括图书编号、图书书名、出版社信息等信息方便操作人员把握图书信息。
如下图所示:
学校教材订购销系统
2.4数据库设计
2.4.1系统E-R图
2.4.2主要的数据表设计
库存表
字段名
类型
含义
booknum
int
书号
bookname
varchar
书名
num
int
数量
info
varchar
书籍信息
缺书表
字段名
类型
含义
booknum
int
书号
bookname
varchar
书名
num
int
数量
info
varchar
书籍信息
进库表
字段名
类型
含义
booknum
int
书号
bookname
varchar
书名
Price
money
价格
num
int
数量
info
varchar
书籍信息
出库表
字段名
类型
含义
booknum
int
书号
bookname
varchar
书名
price
money
价格
num
int
数量
info
varchar
书籍信息
数据存储名称:
班级信息表
组成:
班级+班级人数+专业+班级所交书费
组织:
备注:
数据存储名称:
售书登记表
组成:
学号+姓名+班级+所购书号+书名+单价数量+总价
组织:
备注:
学号、班级、姓名可为空
数据存储名称:
补售书表
组成:
学号+姓名+班级+所购书号+书名+数量+书籍信息
组织:
备注:
数据存储名称:
教学用书表
组成:
书名+书号+出版社+出版时间+数量+书籍信息
组织:
备注:
3程序1(系统管理模块)设计说明(陆云双)
3.1模块DFD图
3.2功能描述
本系统的所有功能模按块都必须调用“系统管理”子模块进行身份验证,此模块是所有用户进入系统时都必须调用的模块,验证用户身份。
3.3模块IPO表
验证用户身份功能模块的IPO表如下表所示:
系统名称
学校教材购销系统
模块名称
系统管理模块
模块简述
用于对登陆系统的用户进行身份验证
调用模块
系统的主控制模块
输入
项目
用户账号,密码
格式
用户账号:
6位数的字符串密码:
0-12位的字符串
处理
验证用户输入的验证账号和密码;
获得登录用户输入的用户账号和密码;
访问数据库的用户账号表;
查询匹配的用户名和密码,若未查询到或不匹配,返回结果到登录窗口,提示错误,相反登录成功
输出
提示信息:
有效用户或无效用户
注释
涉及的表:
用户账号表
3.4主要算法
1)【登录】按钮触发的处理:
验证用户的合法性。
处理流程:
取得用户输入的用户名和口令;
加密用户名和口令传输到数据库并与帐户表进行一致性验证;
如果用户名和口令都正确,以该用户身份进入系统总控制界面并获得相应系统权限,否则提示“用户名或口令错误”。
2)【重置】按钮触发的处理:
重新输入用户名和密码。
3.5模块结构图
3.6接口
本模块是系统的启动模块,它需要用户交互输入用户帐号、密码;它调用主控制模块。
3.7存储分配
本模块由系统自动分配内存。
3.8注释部分
1)模块首部的注释:
用户验证程序。
2)对调用函数的注释:
调用相应的加密函数。
3.9限制条件
当系统第一次使用的时候,具有统一的用户账号和密码:
000000和111111。
3.10测试计划
1)初次安装系统后,测试初始用户帐号和密码能否正确登录到系统;
2)正确登录后,对用户账号和密码进行更改;
3)采用刚修改的用户账号和密码登录,应该能够正确登录。
3.11尚未解决的问题
1)对用户账号和密码的加密问题尚未解决。
2)对账户名和密码的修改也不太完善。
测试用例
测试项目名称:
学校教材购销系统——验证用户功能
测试用例编号:
1
测试内容:
验证用户是否可以用不同的帐户和密码登录并且具有不同的权限
测试输入数据:
帐户111111密码000000
帐户123456密码101010
测试次数:
执行测试过程2次
预期结果:
当用正确的帐户和密码时可以登录系统,错误的帐户和密码则不能
测试过程:
进入系统登录界面时,将对应的数据填入相关项目中,点击“登录”
测试结论:
当输入帐户和密码分别为111111和000000时,能够进入
当输入账号和密码分别为123456和101010时,则不能进入系统
备注:
无
4程序2(审核模块)详细设计说明(邹志微)
4.1模块DFD图
本程序将常驻内存,与其它模块可同时运行。
教材发行人员通过本程序对学生或教师的购书申请进行审核,验证订书单的合法性。
对于合法的信息查看是否有库存,如无库存,则登记缺书。
如有则生成领书单。
不合法的订书单则生成不合法订书单通知书以便学生或教师及时修改。
4.2 程序功能
A审核学生或教师的订书信息是否有效
B生成领书单和缺书单
C返回购书单。
4.3性能
1.严格的安全控制。
2.领书单发放及时。
4.4输入项
订书信息,购书单,学生或教师信息
4.5输出项
合法订书单或缺书单或不合法订书单通知。
4.6算法
4.7接口
本模块由系统教材管理人员进行审核的相关操作,根据学生用表和教材信息表审核是否发领书单或者是返回购书单。
4.8存储分配
本模块由系统自动分配内存。
4.9注释部分
模块首部的注释:
系统审核模块
4.10测试计划
进入系统后,学生和教师输入购书单,看得到领书单还是返回购书单
4.11测试用例
测试项目名称:
学校教材购销系统——审核功能
测试用例编号:
2
测试内容:
教材管理人员验证订书单的合法性
测试输入数据:
购书单002A数据库张三清华大学出版社32.00
11306070张红女信息082班0553-287074645本
33306070张姚29本
测试次数:
执行测试过程2次
预期结果:
当购书单合法时产生有效购书单,不合法的订书单则生成不合法订书单通知书以便学生或教师及时修改
测试过程:
进入审核界面时,将对应的数据填入相关项目中,点击“审核”
测试结论:
当输入“11306070张红女信息082班0553-287074645本”时出现有效购书单
当输入“33306070张姚29本”时出现订书单不合法
备注:
无
5程序3(销售子模块)详细设计(温梦娇)
5.1销售子系统DFD图
5.2程序流程
5.3程序功能
A系统根据有效购书单登记售书和打印领书单
B如果书库没书,系统进行缺书登记,并打印缺书单。
C系统根据进书书单打印补售通知单。
5.4性能
对系统中输入的数据要按照数据字典的规定严格输入,尽量避免数溢出处和数据的不合法性。
5.5输入项
订书信息,书号,书名等
5.6输出项
订书单,检索结果缺书单,补售通知单
5.7算法
程序流程图表示:
5.8接口
本模块是教材工作人员进行销售的相关操作,对教材的补售和缺书的登记,需要购书单和售书登记表的数据信息。
5.9存储分配
本模块由系统自动分配内存。
5.10注释部分
模块首部的注释:
销售子模块
5.11测试计划
1)教材工作人员审核购书单后发现缺书后是否产生补售通知
2)是否有缺书登记
5.12测试用例
测试项目名称:
学校教材销售系统——管理人员销售功能
测试用例编号:
4
测试内容:
管理人员能否顺利进入销售主界面,并且是否能够顺利的进行书籍的销售
测试输入数据:
购书单002A数据库张三清华大学出版社32.00
11306070张红女信息082班0553-287074645本
22306070张磊男计算机091班0553-752502830本
33306070张姚女数学081班0553-123456729本
测试次数:
执行测试过程3次
预期结果:
当输入的购书单有效时,可以进行登记售书并打印领书单
否则,输出教材缺书登记并向系统发出采购补售书的通知
测试过程:
1)以管理人员的身份进入到客户界面
2)对于“002A数据库张三清华大学出版社32.00”点击“销售”按钮,此时进入销售主界面,显示“002A数据库张三清华大学出版社32.00”剩余90本,并显示用户信息“11306070张红女信息082班0553-2870746”和“22306070张磊男计算机091班0553-*******”点击“确认”按钮。
产生需要采购的书籍数量“45本”和“30本”。
分别点击“确认销售”。
3)点击“返回”按钮,进入客户界面,对于同一条记录“002A数据库周康清华大学出版社32.00”点击“销售”按钮,再次进入客户销售界面,显示“002A数据库张三清华大学出版社32.00剩余15本”,此时显示用户信息“33306070张姚女数学081班0553-1234567”点击“确认”按钮。
产生需要采购的书籍数量“29本”,点击“确认销售”。
测试期望:
当对输入信息“11306070张红女信息082班0553-2870746”和“22306070张磊男计算机091班0553-*******”点击销售能出现销售成功的提示信息。
当对输入信息“33306070张姚女数学081班0553-1234567”点击销售时不能继续销售操作,出现“002A数据库张三清华大学出版社32.00缺书14本,请及时补售教材”。
备注:
出现的信息和预想的还不相符,还待更进一步的修改。
6程序4(采购子模块)详细设计(刘惠霞)
6.1采购子系统框图
6.2程序功能
根据缺书单的信息采购汇总缺书,二是采购学校教学用书
A汇总缺书.
B采购学校教学用书。
C若是脱销教材,则登记缺书,发缺书单给书库采购人员。
D一旦新书入库后,即发进书通知给教材发行人员
6.3性能
对系统中输入的数据要按照数据字典的规定严格输入,尽量避免数溢出处和数据的不合法性。
6.4输入项
缺书单,个人信息表,教材信息表,教材用书表、进书单、
6.5输出项
购书单,教材信息表,库存表
6.6算法
采购子系统模块程序流程图:
6.7接口
本模块是系统用户员进行采购的相关操作,需要用户提交自己的个人信息,如果信息无误则系统将信息存入用户帐户表。
6.8存储分配
本模块由系统自动分配内存。
6.9注释部分
模块首部的注释:
客户采购界面。
6.10测试计划
1)进入采购界面后,输入正确的客户信息进行订购,看能否出现提示成功的信息。
2)返回采购界面,输入错误的客户信息进行订购,看系统是否提示错误,并阻止动作的进一步进行。
6.11尚未解决的问题
输入错误用户信息时,虽然不能进行正常的采购操作,但是不会提示相关的信息。
6.12测试用例
测试项目名称:
学校教材购销系统——用户采购功能
测试用例编号:
5
测试内容:
采购者能否顺利进入采购主界面,并且是否能够顺利的进行采购书籍
测试输入数据:
002A数据库张三清华大学出版社32.00
11306070张红女大二0553-*******
22306070张磊男计算机0553-*******
33306070张姚女其他0553-*******
测试次数:
执行测试过程2次
预期结果:
当输入正确的用户信息时,可以进行采购
否则,输入错误的用户信息不能进行采购。
测试过程:
4)以采购者的身份进入到客户界面
5)对于“002A数据库张三清华大学出版社32.00”点击“订购”按钮,此时进入客户订购界面,输入正确的用户信息“11306070张红女大二0553-2870746”和“22306070张磊男计算机0553-*******”点击“确认采购”按钮。
6)点击“返回”按钮,进入客户界面,对于同一条记录“002A数据库周康清华大学出版社32.00”点击“订购”按钮,再次进入客户订购界面,输入错无的用户信息“33306070张姚女其他0553-*******”点击“确认采购”按钮。
测试结论:
当输入“11306070张红女大二0553-2870746”和“22306070张磊男计算机0553-*******”时能出现采购成功的提示信息。
当输入“33306070张姚女其他0553-1234567”时不能继续采购操作,但是不能出现相应的提示信息。
备注:
无
7程序5.1(缺书汇总模块)设计说明(廖伟)
7.1程序描述
教材采购人员,从购书单和库存表的信息进行缺书汇总。
通过该功能将教材缺书信息存入仓库。
同时生成入库表。
7.2 程序功能
将缺少的教材按一定的顺序汇总入库,更新教材信息,然后由系统采购补售书。
7.3性能
1)保证缺少教材信息的正确性。
2)输入的信息要保证系统内部有记录。
7.4输入项
缺书单,购书单,库存表,进书单
7.5输出项
图书库存表,教材信息表,采购单
7.6算法
7.7接口
本模块是教材工作人员进行缺书汇总的相关操作,需要用到缺书登记表表和教材信息表,如果信息无误就将信息进行汇总。
7.8存储分配
本模块由系统自动分配
7.9注释部分
模块首部的注释:
缺书汇总
7.10测试计划
1)进行缺书汇总时是否产生采购单
2)信息出错时是否产生错误信息
程序5.2(教学用书采购模块)详细设计
1程序功能
教材采购人员,从购书单和库存表的信息进行教学用书汇总。
通过该功能将教材信息存入仓库。
同时生成入库表,然后根据需要产生采购单。
2性能
输入信息的正确性
3.输入项
教材用书表
4输出项
教材信息表,采购单
5算法
8程序6(查询模块)详细设计(刘慧)
8.1查询框架图
8.2功能描述
查询界面功能模块是供教材管理者进行库存查询操作及对相应单据的查询。
通过调用该模块可以查询到教材的相关信息。
在此模块教材订购者可以对供选择的教材信息进行查询,也便于查询教材是否缺书,再决定是否订购相关教材。
8.3模块IPO表
查询界面的IPO表如下所示:
系统名称
学校教材购销系统
模块名称
教材库存查询模块
模块简述
供系统管理员进行查询的操作
被调用模块
用户通过主界面可以调用信息查询功能模块
处理
用户通过各种方式查询教材的相关的信息
输出
输出教材的相关信息及单据的相关信息
注释
涉及的表:
教材信息表
8.4模块DFD图
8.5主要算法
1)【查询记录】按钮触发的处理:
显示用户查询的相关信息
处理流程:
如果查询有效则界面显示查询的教材信息和单据信息
否则提示错误,并返回管理主界面。
2)【返回】按钮触发的处理:
返回到管理主界面8.6
8.6接口
本模块是系统管理员进行查询操作,需要用户提交单条件或不同的条件组合进行教材信息或单据的查询,需要用到教材信息表。
8.7存储分配
本模块由系统自动分配内存。
8.8注释部分
模块首部的注释:
信息查询界面。
8.9测试计划
1)进入查询界面后,输入单条件看能否查到所需的信息。
2)返回查询界面,输入组合条件看能否查到所需的信息。
8.10尚未解决的问题
对与组合条件的输入完成的不完善。
8.11测试用例
测试项目名称:
学校教材购销系统——用户查询功能
测试用例编号:
6
测试内容:
查询者能否顺利进入查询主界面,并且是否能够顺利进行查询
测试输入数据:
数据库
清华大学出版社
张三
数据库李平
008H高等代数陆成电子工业出版社28.00
测试次数:
执行测试过程3次
预期结果:
当输入查询的信息时,可以进行查询
否则,输出错误信息
测试过程:
1)以查询者的身份进入到客户界面
2)对于“数据库”点击“查询”按钮,此时进入客户查询界面,点击“查询”按钮
3)点击“返回”按钮,进入客户界面,对于“清华大学出版社”点击“查询”按钮,再次进入客户查询界面
4)点击“返回”按钮,进入客户界面,对于“张三”点击“查询”按钮,再次进入客户查询界面
5)点击“返回”按钮,进入客户界面,对于“数据库李平”点击“查询”按钮,再次进入客户查询界面
6)点击“返回”按钮,进入客户界面,对于“008H高等代数陆成电子工业出版社28.00”点击“查询”按钮,再次进入客户查询界面
测试结论:
1)当输入“数据库”时能出现“001A数据库李平高等教育出版社38.00”和“002A数据库张三清华大学出版社32.00”和相关信息
2)当输入“清华大学出版社”时能出现“002A数据库张三清华大学出版社32.00”、
“003A软件工程李四清华大学出版社354.00”、“004B编译原理王五清华大学出版社28.00”和“007H数学分析梁斌清华大学出版社28.00”和相关信息
3)当输入“张三”时出现“002A数据库张三清华大学出版社32.00”和“006S数字信号张三工程大学出版社354.00”和相关信息
4)当输入“数据库李平”出现“001A数据库李平高等教育出版社38.00”和相关信息
5)当输入“008H高等代数陆成电子工业出版社28.00”出现“008H高等代数陆成电子工业出版社28.00”和相关信息
备注:
无
9接口
9.1外部接口
(1)用户界面采用Windows风格,如窗口,菜单,对话框,滚动条并对鼠标提供支持。
(2)软件接口UNIX,LUNIX,WINXP,WIN2000,WIN2003,JSP服务器(TOMCAT,或其它)。
(3)硬件接口服务端大型服务器,客户端一般的PⅡ或更高档微机、笔记本电脑。
9.2内部接口
各模块过程之间采用函数调用、参数传递、返回值的方式进行消息传递。
具体参数的结构将在下面数据结构设计的内容中说明。
接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在模块之间传递。
10.存储分配
为程序当中的数据结构在内存中开辟空间存储,如入到数据库中后在数据库的表中为其开辟存储空间。
11.限制条件
输入的信息都封装在数据结构当中,不能独立存在,在向数据库中提交数据时必须一起提交而不能逐项提交。
输入数据的类型必须和定义的数据类型相匹配。
12测试计划
测试日期、测试人员安排请参考测试计划,测试用例的具体内容,请参考测试用例
13尚未解决的问题
在系统中的表格很多,在文件中存储文档文件中,不能存储文件名相同,但类型不同的文档。
可以通过在文件名中加入文档类型来解决。
但因时间关系,尚未解决。