《学校教材订购系统 详细设计说明书.docx》由会员分享,可在线阅读,更多相关《学校教材订购系统 详细设计说明书.docx(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学校教材订购系统 详细设计说明书 学校教材订购系统详细设计说明书 1引言 1.1 编写目的 在前面(学校教材订购系统需求分析报告)中已明确了系统的主要功能,解决了系统“做什么”的问题,在概要设计阶段,我们对设计方案进行了概述。在这个阶段,我们需要确定如何具体的实现所要求的系统,因此要详细设计系统的各个模块。主要工作有:作出软件模块层次结构图,描述所有模块清单(名称,功能,I/O),从而在编码阶段可以把这个描述直接翻译成具体的程序语言书写的程序;设计数据库;设计页面。 本说明书主要提交给小组成员参考。 1.2 背景 a. 待开发的软件系统的名称:学校教材定购系统 b.本系统是河北大学内部的一个教
2、材订购系统,实现教材的销售和采购。 c.本项目由老师委托我小组开发,开发人员包括: 组长兼系统分析员:龙一、系统设计员:xx、程序设计员:xx、数据库管理员:xx、数据操作员:xx。系统最终用户为xx大学,由xx大学提供计算网络。 d.该系统还和学校财务科进行资金数据来往,.由本系统向财务处提供销售情况,实行教材的安全发放和采购.并顺便和各书店联营向个别人员单独售书。 1.3 定义 1.3.1专门术语 库存表:存放库中存在得书籍数据。 出库表:存放已销售的书籍的数据。 入库表:存放入库书籍的数据。 购书表:存放提交的购书信息。 缺书登记表:存放缺少的书籍的信息。 待购教材表:存放待购书籍信息。
3、 1.3.2 缩写 系统:若未特别指出,系统指本“学校教材定购系统”。 1.4 参考资料 软件工程导论第五版清华大学出版社张海藩编著 2程序系统的结构 模块结构图略 3程序描述 3.1销售子系统模块具体描述 销售系统的工作过程为:首先由教师或学生提交购书单,经教材科发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生即可去书库领书。 输入项目 需要输入购书单中要求的信息(提交人姓名、书名、书号、数量、身份识别码)。 输出项目 需要打印领书单(书名、书号、数量、领书人姓名),发票(书名、书号、开票人姓名、交易金额、交易日期)。 流程逻辑 分析:由订书人员提交购书单后,经过审
4、核,通过后提交成功,由工作人员开出发票,同时登记购书记录并审核无误后,发领书单,最后更新相应表项,如出库表,库存表,并进行审核修改。 接口: 各模块过程之间采用函数调用、参数传递、返回值的方式进行消息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在模块之间传递。 存储分配: 为程序当中的数据结构在内存中开辟空间存储,如入到数据库中后在数据库的表中为其开辟存储空间。 测试计划: 本模块的具体测试将在下面各过程的设计中具体说明。 3.1.1提交购书单过程(HandBuyBookBill) 用户通过该程序向系统发出购书请求,在
5、提交购书单界面中输入购书单中的各信息。本程序为并发执行,可以多人同时向系统提交购书单。无子程序。 功能: 收集用户提交的购书单,获得购书者的基本信息。 输人项: 提交人姓名(Name)String 购书的名称(BookName)String 购书的书号(ISBN)String 数量(No)String 身份识别码(ID)String 输出项:无。 算法: V oid HandBuyBookBill(n,bn,ibn,no,id) Namen; BookNamebn; ISBNibn; Nono; IDid; 接口: 销售模块通过调用HandBuyBookBill()函数来调用该程序。 测试计划
6、: 数据库连接情况:正常情况。 对用户输入的响应:合法输入,能够正常调用本程序; 非法输入,系统能否辨别,并作出响应(提出警告); 程序的异常状况,系统能否及时做出响应。 3.1.2审核购书单过程(CheckBuyBookBill) 功能: 校验购书单信息。如果有一个或多个错误则不提交购书单上的数据,如果审核通过转入程序3.1.4开发票。 输人项: 提交人姓名,购书的名称,购书的书号,数量,身份识别码(传入参数)。 输出项:无。 算法: Bool CheckBuyBookBill(Name,BookName,ISBN,No,ID) If(各参数与数据库中所存参数一致) Return true;
7、 V oid PrintBill(BookName,ISBN,Na,Mo,Da) Else Return false; 接口: 调用形式:BOOL CheckBuyBookBill(Name,BookName,ISBN,No,ID) 传入参量:Name,BookName,ISBN,No,ID 传出参量:TRUE/FALSE 测试计划: 数据库连接正常 数据库数据正常 合法的购书单 不合法的购书单 数据库数据异常 数据库连接异常 3.1.3购书单错误信息显示过程(BuyBookBillError) 功能: 用来显示购书单中出现的错误。 输人项: 购书的名称,购书的书号,数量,身份识别码(传入参数
8、)。 算法: V oid BuyBookBillError(BookName,ISBN,No,ID) If(BookName!=True) 库中没有这类书,请重新输入 If(ISBN!=True) 书号错误,请重新输入 If(No!=True) 数量越界,请重新输入 If(ID!=True) 身份不对,请确认后重新输入 接口: 调用形式:V oid BuyBookBillError(BookName,ISBN,No,ID) 传入参量:Name,BookName,ISBN,No,ID 传出参量:各种提示信息 测试计划: 各信息都正确 有一项信息错误 所有信息全错 3.1.4开发票过程(Print
9、Bill) 功能: 开发票给购书者。 输人项: 书名(BookName),书号(ISBN),(传入参数); 开票人姓名(Name)string 交易金额(Money)real 交易日期(Date)time 输出项:发票 算法: V oid PrintBill(BookName,ISBN,Na,Mo,Da) NameNa; MoneyMo; DateDa; Print(书名(BookName),书号(ISBN),开票人姓名(Name),交易金额(Money),交易日期(Date); 接口: 调用形式:V oid PrintBill(BookName,ISBN,Name,Money,Date) 传
10、入参量:Name,BookName,ISBN ,Money,Date 3.1.5登记购书记录过程(DBRegistBuyBook) 功能: 将提交的信息存入到数据库的购书表中。 输人项: 书名,书号,数量(传入参数)。 输出项:无 算法: V oid DBRegistBuyBook(书名,书号,数量) DB Book Name=”书名” DB ISBN=”书号” DB No=”数量” 接口: 调用形式:V oid DBRegistBuyBook(书名,书号,数量) 传入参量:书名,书号,数量 3.1.6审核登记过程(CheckDBRegistBuyBook) 功能: 若在存取过程中出现错误则转
11、到过程7登记购书记录错误信息显示过程,若没有错误,返回成功登记信息,转到过程8发领书单/打印过程(此程序为系统内部程序)。 输人项:无 输出项:无 算法: V oid CheckDBRegistBuyBook() If(数据库存取过程有错误) V oid DBRegistBuyBookError(); Else V oid PrintBookBill(); 接口: 调用形式:V oid CheckDBRegistBuyBook() 传入参量:无 传出参量:无 3.1.7登记购书记录错误信息显示过程(DBRegistBuyBookError) 功能: 显示在数据库操作中出现的错误,并RoolBa
12、ck回滚转入过程5重新登记购书记录。 输人项:无 输出项:数据库操作中的错误类型、相应提示 算法: V oid DBRegistBuyBookError() Display(错误的类型,相应提示); RoolBack Void DBRegistBuyBook(书名,书号,数量); 接口: 调用形式:V oid DBRegistBuyBookError() 传入参量:无 传出参量:无 3.1.8发领书单/打印过程(PrintBookBill) 功能: 打印领书单给购书者。 输人项:领书的名称(BookName)、领书的书号(ISBN)、领书的数量(No)、领书人姓名(Nmae) (参数传入) 输
13、出项:领书单 算法: V oid PrintBookBill(Nmae,ISBN,No,BookName) Print(领书的名称(BookName)、领书的书号(ISBN)、领书的数量(No)、领书人姓名(Nmae)。 接口: 调用形式:V oid PrintBookBill(Nmae,ISBN,No,BookName) 传入参量:Nmae,ISBN,No,BookName 传出参量:无 程序3.1.5、3.1.6、3.1.7、3.1.8测试计划: 数据库连接正常 传入数据库数据正常成功登记数据并显示/打印领书单 传入数据库数据异常给出错误类型和相应提示 数据库连接异常给出错误类型和相应提示
14、 3.1.9修改库存表、出库表过程(DBUpdateTable) 功能: 修改出库表和库存表相应的记录 输人项:书名、书号、数量(参数传入); 出库时间(Outtime)time 输出项:更新后的库存表和出库表 算法: V oid DBUpdateTable(BookName ,ISBN,No,Ot) OuttimeOt; 修改库存表:书名、书号、数量 修改出库表:书名、书号、数量、出库时间 接口: 调用形式:V oid DBUpdateTable(BookName ,ISBN,No,Ot) 传入参量:Nmae,ISBN,No 传出参量:无 3.1.10审核修改表过程(CheckDBUpdat
15、eTable) 功能: 如在对数据库操作过程中出现错误,则转入过程11修改表错误信息显示过程,如果没错误,返回成功信息,继续进行下一步操作。(系统内部程序) 输人项:无 输出项:成功信息 算法: V oid CheckDBUpdateTable() If(修改数据库操作有误) V oid DBUpdateTableError(); Else Print(“操作成功”); 将更新后的库存表、出库表存入数据库; 接口: 调用形式:V oid CheckDBUpdateTable() 传入参量:无 传出参量:无 3.1.11修改表错误信息显示过程(DBUpdateTableError) 功能: 显示
16、在数据库操作中出现的错误,并RoolBack回滚转到程序3.1.9重新修改库存表、出库表过程。 输人项:无 输出项:错误类型、相关提示 算法: V oid DBUpdateTableError() Display(错误的类型,相应提示)。 RoolBack V oid DBUpdateTable(BookName ,ISBN,No,Ot) 接口: 调用形式:V oid DBUpdateTableError() 传入参量:无 传出参量:无 程序3.1.9、3.1.10、3.1.11测试计划: 数据库连接正常 传入数据库数据正常成功修改出库表、库存表 传入数据库数据异常给出错误类型和相应提示 数据
17、库连接异常给出错误类型和相应提示 3.2采购子系统模块具体描述 采购子系统工作过程:工作人员提交缺书单后,进行审查,无误后登记缺书,审核登记过程后,汇总缺书,生成采购表,采购结束后发进书通知单,最后更新相应表单,审核修改过程。在以上各审核过程中发现错误时,返回上一层重新进行操作。 输入项目: 需要输入缺书单中要求的信息(书名、书号、数量)。 输出项目: 需要打印进书通知单(书号、书名、进书日期),采购表(书号、书名、数量)。 流程逻辑 分析:工作人员提交缺书单后,进行审查,无误后登记缺书,审核登记过程后,汇总缺书,生成采购表,采购结束后发进书通知单,最后更新相应表单,审核修改过程 接口: 各模
18、块过程之间采用函数调用、参数传递、返回值的方式进行消息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在模块之间传递。 存储分配: 为程序当中的数据结构在内存中开辟空间存储,如入到数据库中后在数据库的表中为其开辟存储空间。 测试计划: 本模块的具体测试将在下面各过程的设计中具体说明。 3.2.1 发缺书单程序(HandLackBookBill) 功能: 在销售过程中出现缺书时由系统提示发缺书单,或者数据库管理人员定期统计书籍库存量,发现缺书状况时通过系统发缺书单。 输入项: 书名BookName string 书号ISBN
19、 string 数量No int 输出项: 无 算法: V oid HandLackBookBill(name,na,n) BookNamename; ISBNna; Non; 接口: 调用形式:V oid HandLackBookBill(name,na,n) 测试计划 数据库连接正常 输入参数合法 输入参数非法 数据库连接异常 3.2.2 审核缺书单程序(CheckLackBookBill) 功能: 对缺书单的过程进行审核,检查其输入信息是否正确。(此为系统内部程序,无输入及输出项)如果正确则转入过程四进行登记缺书,错误则转入过程三进行错误信息显示。 输入项: 书名,书号,数量(传入参数)
20、 输出项: 无 算法: Bool CheckLackBookBill(BookName,ISBN,No) If(各参数与数据库中所存参数一致) Return true; V oid DBRegistLackBook() Else Return false; V oid LackBillError() 接口: 调用形式:系统内部自动调用Bool CheckLackBookBill(name,na,n) 传入参量:BookName,ISBN,No 传出参量:TRUE/FALSE 测试计划 此程序为系统内部程序,其测试与3.21发缺书单程序测试过程应绑定在一起,具体测试计划见3.2.1中测试计划。
21、3.2.3 缺书单错误信息显示程序(LackBookError) 功能: 在审核缺书单过程中发现错误,则通过此程序将具体错误显示,并返回发缺书单过程,重新发缺书单。 输入项: 书名,书号,数量(传入参数) 输出项: 错误信息提示 算法: Void LackBillError(BookName,ISBN,No) If(书名!=True) 书名错误,请重新输入; If(书号!=True) 书号错误,请重新输入; If(数量!=True) 数量越界,请重新输入; 接口: 调用形式:V oid LackBillError(BookName,ISBN,No) 传入参量:BookName,ISBN,No
22、传出参量:无 测试计划 此程序为系统内部程序,其测试与3.21发缺书单程序测试过程应绑定在一起,具体测试计划见3.2.1中测试计划。 3.2.4 登记缺书记录程序(DBRegistLackBook) 功能: 在审核缺书单信息无误后,将缺书单信息登记到缺书登记表中。 输入项: 书名,书号,数量(传入参数) 输出项: 无 算法: Void DBRegistLackBook(BookName,ISBN,No) DB BookNameBookName; DB ISBNISBN; DB NoNo; 接口: 调用形式:V oid LackBillError(BookName,ISBN,No) 传入参量:B
23、ookName,ISBN,No 测试计划 见采购子系统测试过程 3.2.5 审核登记程序(CheckLackBookBill) 功能: 对登记缺书过程进行审核,检查其输入信息是否正确。(此为系统内部程序,无输入及输出项)如果正确则转入过程7进行数据库中表的修改,错误则转入过程6进行错误信息显示。输入项: 书名,书号,数量(传入参数) 输出项: 无 算法: Bool CheckLackBookBill(BookName,ISBN,No) If(各参数与数据库中所存参数一致) Return true; V oid DBRegistLackBook() Else Return false; V oi
24、d LackBillError() 接口: 调用形式:系统内部自动调用Bool CheckLackBookBill(name,na,n) 传入参量:BookName,ISBN,No 传出参量:TRUE/FALSE 测试计划 此程序为系统内部程序,其测试与3.21发缺书单程序测试过程应绑定在一起,具体测试计划见3.2.1中测试计划。 3.2.6登记错误信息显示程序(DBRegistLackBookError) 功能: 在审核登记过程中发现错误,则通过此程序将具体错误显示,并返回登记过程,重新登记。 输入项: 书名,书号,数量(传入参数) 输出项: 错误信息提示 算法: V oid DBRegis
25、tLackBookError(BookName,ISBN,No) If(书名!=True) 书名错误,请重新输入; V oid DBRegistLackBook(BookName,ISBN,No); If(书号!=True) 书号错误,请重新输入; V oid DBRegistLackBook(BookName,ISBN,No); If(数量!=True) 数量越界,请重新输入; V oid DBRegistLackBook(BookName,ISBN,No); 接口: 调用形式:V oid DBRegistLackBookError(BookName,ISBN,No) 传入参量:BookName,ISBN,No 传出参量:无 测试计划 此程序为系统内部程序,其测试与3.21发缺书单程序测试过程应绑定在一起,具体测试计划见3.2.1中测试计划。 3.2.7 生成采购表程序(PrintBuyingBookbill)