学校教材订购系统 详细设计Word格式文档下载.docx
《学校教材订购系统 详细设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学校教材订购系统 详细设计Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
待开发软件系统的名称:
学校教材订购系统
此软件系统任务提出者:
学校
此软件系统任务开发者:
信息061
此软件系统任务用户:
学校教材订购处
1.3基线
学校教材订购系统需求分析说明书v1.1
学校教材订购系统概要设计说明书v1.1
1.4特殊名词定义
术语名称
解释
orderDate
订单日期
purchaser
购买者
textbookId
教材的主键
bookOrderId
订单主键
ReceiptNo
领书单号
1.5参考资料
1、学校教材订购系统需求分析说明书
2、学校教材订购系统概要分析说明书
3、所用到的相关资料,文件以及标准如下:
文件资料名称
文件编号
发表日期
出版单位
java开发实战宝典
9787302209065
2009-11-25
清华大学出版社
Java软件结构与数据结构(第3版)
9787302207306
2009-9-4
Java编程艺术
9787302193173
2009-6-16
软件工程(第6版)
018057
2008-6
机械工业出版社
设计模式
2008-8
UML和模式应用
2006-5
2模块命名规则
标识符类型
命名规则
例子
包(Packages)
一个唯一包名的前缀总是全部小写的ASCIIzimu并且是一个顶级域名,通常是com,edu,gov,mil,net,org,或1981年ISO3166标准所指定的标识国家的英文双字符代码。
包名的后续部分根据不同机构各自内部的命名规范而不尽相同。
这类命名规范可能以特定目录名的组成来区分部门(department),项目(project),及其(machine),或注册名(loginname)。
包括基本为全小写的字母
com.softhard.user
com.apple.quicktime.v2
.cs.bovik.cheese
类(Classes)
类名是一个单词,采用大小写混合的方式,每个单词的首字母大写。
尽量使你的类名简洁而富于描述。
使用完整单词,避免错写词(除非该错写词被更广泛使用,像URL,HTML)
classRaster;
classImageSprite;
接口(Interfaces)
命名规则:
大小写规则与类名相似
interfaceRasterDelegate;
interfaceStoring;
方法(Methods)
方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母音大写
run();
runFast();
getBackground();
变量(Variables)
除了变量名外,所有实例,包括类,类常量,均采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。
变量名不应以下划线或类元符号开头,尽管这在语法上是允许的。
变量名应简短且富于描述。
变量名的选用应该易于记忆,即,能够指出其用途。
尽量避免单个字符的变量名,除非是一次性的临时变量。
临时变量通常被取名为i,j,k,m和n,它们一般用于整型;
c,d,e,它们一般用于字符型。
intI;
floatmyWidth;
实例变量(instanceVariables)
大小写规则和变量名相似,处理前面需要一个下划线
int_employeeld;
String_name;
Customer_customer;
常量(Constants)
类常量和ANSI常量的声明,应该全部大写,单词间用下划线隔开。
(尽量避免ANSI常量,容易引起错误),使用staticfinal进行标明。
staticfinalintMIN_WIDTH=4;
staticfinalintMAX_WIDTH=999;
staticfinalintGET_THE_CPU=1;
3程序系统的结构
本系统的软件结构图如下所示:
说明:
学校教材订购系统包括教材销售模块和教材采购模块、退出系统模块,教材销售模块包含如下功能:
教材浏览、填写订单、订单结账、新书通知;
教材采购模块包含教材入库和缺书通知。
销售系统的用例图如下所示:
采购系统模块的时序图如下:
教材入库的时序图:
当教材采购人员输入教材名称时,系统会通过查询数据库,检查教材是否存在,当查询结果存在时,接着就是要填入教材入库的数量,系统就会在数据库中更新教材的数量。
查看缺书通知的时序图:
教材采购人员通过客户端查询缺书通知,系统会通过数据库查找缺书信息,接着系统会返回缺书的信息,然后打印缺书信息的列表,其他相关人员就会根据这个列表进行相关的处理。
系统的实体模型图如下所示:
系统的主要类图如下所示:
4程序的描述
4.1教材销售系统模块
4.1.1功能的描述
教材销售系统模块包括以下几个功能:
教材浏览、填写订单、订单结账、新书通知。
任何用户只有通过这个模块才可以销售教材,此模块操作简单、方便。
4.1.2模块的IPO表
教材销售系统模块的IPO表如下表所示:
系统名称
模块名称
教材销售系统模块
模块编号
2010.1.1
模块简述
用于销售教材
调用模块
教材采购系统模块
被调用模块
输入
项目
教材名称、订单编号、付款金额、购买的数量、购买人、是否确认
格式
教材名称:
非空
订单编号:
前面八位是当天的日期,后面三位是当天的交易数。
如:
2010010103
付款金额:
所有的数字,小数点后面不能超过两位
是否确认:
输入Y、YES确认,NO、NOT、N不确认,不区分大小写
购买数量:
整数
购买人:
处理
填写教材订单时,输入教材名称,获得输入数据,访问数据库,查询匹配的教材名,若有,填写购买数量及购买人,反之,则重新填写
其他的相关操作此处不一一列出
输出
操作成功或者操作不成功
局部数据元素
约束条件
无
注释
涉及的表:
textbook、lack_book、book_receipt、book_order、arrival_book
4.1.3界面的设计
教材销售系统模块的界面设计如下:
对不合法的订单编号“ert”默认跳过处理
自动对货币格式和金额大小进行处理
4.1.4主要算法
(1)填写订单的处理:
处理流程:
填写教材名称;
获取输入的数据,查询数据库;
If教材名称输入正确
继续填写教材的购买数量以及购买人的名字,确认创建订单成功;
Else教材名称输入错误
提示"
教材《XXX》不存在,请重新填写"
;
(2)订单结账的处理:
输入订单编号;
If订单编号输入正确
显示订单的消费金额;
If输入的金额正确
支付金额成功;
Else输入的金额格式不对and金额数不够
提示输入格式错误或者支付金额不足;
Else
确认支付或返回;
其他的算法此处不一一列出。
4.1.5流程逻辑
系统的流程图如下:
系统流程图的说明:
该系统有学生填写购书单,然后审核单据,把合格的单据输入到教材的销售系统里面,系统确认后把领书单和进书通知单打印出来,教师和学生拿到领书单后把领书单提交给教材发行人员,教材发行人员通过教材进书通知单和领书单的数据进行销售教材。
若果没有教材,销售系统会产生缺书单,然后把缺书单提交给教材采购系统,此后相关的操作此处不加说明。
4.1.6接口
本模块是系统销售教材的模块,它包含教材浏览、填写订单、订单结账、新书通知,因此它需要用户交互输入教材名称、订单编号、付款金额、购买的数量、购买人、是否确认等信息,当教材不足或者没有的时候,它需要调用系统的教材采购模块。
4.1.7存储分配
arrival_book表:
textbook表
lack_book表
BookReceipt表
BookOrder表
4.1.8注释设计
序号
内容
Y/N
备注
1
文件起始注释
Ø
文件名(必须)、创建日期、Copyright信息
文件修改记录:
修改人、修改时间、修改原因等
文件注释举例:
/**
*@(#)Blah.java1.102,Createdon2008-4-22
*
*Copyright(c)XXXXX
*MODIFYMEMO:
*zhangsan/2001_01_11/modify……,……;
*zhanghai/2001_01_31/add……,…….
*/
2
类的注释
类功能描述、注意事项等。
(必须)
版本号@version版本信息(必须)
作者信息@author作者(必须)
支持的JAVA版本@sinceJAVA版本(可选)
引用其他类文档@see完整类名(可选)
示例:
*Classdescriptiongoeshere.
*`
*@version1.102
*@authorFirstnameLastname
*@sinceJDK1.4
3
方法的注释
函数实现时在函数体前要对函数的功能、注意事项做描述;
参数用:
@param参数名参数描述表示,一个参数一行(方法有参数则必须);
返回值用:
@return返回说明表示;
(有返回则必须);
违例用:
@throws违例类说明表示,一个违例一行;
(有违例则必须)尽可能列举出所有会抛出此异常的情况;
类名#方法名表示;
(可选);
注释体用"
/**……*/"
*Serialization...
*@paramoisThedobjectinputstream
*@returnFile
*@throwsIOExceptionProblemperformingthedefaultstreamreading
*@throwsClassNotFoundExceptionProblemperformingthedefaultstreamreading
privateFilereadObject(ObjectInputStreamois)throwsIOException,ClassNotFoundException{
……
}
4
类成员变量的注释
在常量和变量声明后应该对该名字作适当注释,要点如下:
类成员变量的注释使用/**……*/作为注释标志;
/**文件路径*/
publicStringpath;
5
程序块的注释
语句和程序块的注释要在被说明语句的上面行书写,缩进方式与被说明语句相同;
对不易理解的分支条件表达式加注释;
(可选)
复杂的循环,说明出口条件;
超过20行的循环说明出口条件;
过长的方法实现,按功能实现进行分段概括说明;
过长的条件、循环程序段,在结束的'
}'
附近进行简短的起始描述;
"
}//endofif(x!
=y)"
}//endofwhile(a<
maxnum)(必须)
4.1.9限制条件
运行该程序需要数据库MYSQL,操作系统为Windows2000、WindowsXp,还留有与其他操作系统连接的接口。
4.1.10测试计划
测试设计详细说明:
1.基本界面连接测试
2.测试基本流程(简易的IVT)
3.测试功能块(重点为容错测试)
4.统计信息的测试(IVT)
4.1.11尚未解决的问题
(1)没有设计用户登录模块
(2)对数据的安全性要求不搞,没有相应的加密措施
(3)没有设计界面,操作界面仍然是在dos里面,界面不友好
4.2教材采购系统模块
教材采购系统模块与教材销售模块类似,因此此处不做说明。