软件详细设计说明书实例

上传人:jin****ng 文档编号:102466987 上传时间:2022-06-07 格式:DOC 页数:51 大小:1.12MB
收藏 版权申诉 举报 下载
软件详细设计说明书实例_第1页
第1页 / 共51页
软件详细设计说明书实例_第2页
第2页 / 共51页
软件详细设计说明书实例_第3页
第3页 / 共51页
资源描述:

《软件详细设计说明书实例》由会员分享,可在线阅读,更多相关《软件详细设计说明书实例(51页珍藏版)》请在装配图网上搜索。

1、软件详细设计说明书实例2020年1月目录1 引言1.1 编写目的21.2 项目背景21.3 定义21.4 参考资料32 总体设计 32.1 需求概述3.2.2 软件结构43 程序描述3.101登陆模块63.202管理模块错误.未定义书签3.3 031图书信息查询模块错误!未定义书签3.4 032学生信息查询模块错误!未定义书签3.5 021入库管理模块 错误!未定义书签3.6 022学生借书模块错误!未定义书签3.7 023学生还书模块错误!未定义书签3.8 024图书注销模块错误!未定义书签3.9 接口设计 错.误!.未定义书签3.10测试要点54专业word可编辑文档名称:详细设计规格说明

2、书项目名称:图书馆管理系统项目负责人:陈新光编写TEST年月日校对所有小组成员年月日审核所有小组成员年月日批准XXX年月日开发单位组员:TEST1 TEST2 TEST31引言1.1编写目的图书管理系统详细设计是设计的第二个阶段,这个阶段的主要任务是在图书管理系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明 。概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。详细设计则要解决如何实现各个模块的内部功能,即模块设计。具体的说,模块设计就是要为已经产生的图书管

3、理各子系统设计详细的算法。但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为用某种程序设计语言书写的程序 。1.2项目背景根据XX学校希望能够充分利用现代科技来提高图书管理的效率,在原有的办公系统基础上进行扩展,将一些可以用计算机来管理的都进行计算机化,使得图书馆管理人员工作更加方便,工作效率也更加的高。1.3定义?Mysql :数据库管理软件?DBMS :数据库管理系统?Windows 2000/2003/XP:运行环境?JSP :软件开发语言?Myeclipse :开发工具1.4参考资料张海藩编著 清华

4、大学岀版社Leszek A.Maciaszek Bruc Lee Liong 著机械工业岀版社软件工程导论一一第5版实用软件工程2总体设计2.1需求概述按照需求分析文档中的规格要求同时,系统最大限度地实现易安装、流畅,使用条形码扫描器进书、借书、还书,使得信息传递准确 易维护性,易操作性,运行稳定,安全可靠。2.2软件结构系统由3大模块,6小模块组成:序号编号名称1,01登陆模块2,02管理模块3,031图书信息查询模块4,032学生信息查询模块5,021入库管理模块6,022学生借书模块7,023学生还书模块8,024图书注销模块9,040基础信息设置3程序描述3.1 01登陆模块具体格式见

5、下表:功能编号01功能名称登陆模块内容功能流程图所属业务图书馆管所属项目图书馆管理理系统编写人陈新光完成时间2007-11-26页码第5页功能流程图需要功能流程图如下图所示说明的问题:(1) 录入项检测使用javascript实现(各项必须非空)(2) 登陆.jsp页面也包含查询按钮,在此的登陆.jsp提交的数据只是用户 名和密码。功能描述(1)功能类型:查询数据(2)功能描述:提高系统的安全性(3)前提业务:无(4)后继业务:02 (管理模块)(5)功能约束:权限约束(6)约束描述:(7)操作权限:图书馆管理员界面设计(1)基础信息处理动作说明:动作编号动作名称动作描述A01登陆点击登陆按钮

6、提交数据 到登陆数据处理.jsp页面A02重至点击退重至按钮将当前信息恢复原先状态A03图书信息查询点击将页面转至到图书信息查询.jsp页面A04学生信息查询点击将页面转至学生信息查询.jsp页面A05基础信息点击将显示基础信息(2)数据要求(1) 功能类型:数据查询(2) 数据描述:页面显示录入字段如下字段名称长度录入方式是否非空项数据检验默认显示管理员ID10文本框YN管理员密码15passwordYN登陆数据处理jsp的内部逻辑登陆数据处理:关键点两点:1,数据库连接;2,记录登陆信息及信息处理; 1,数据库连接:如下:public class lib_system_Conn exten

7、ds Objectpublic lib_system_Conn()private Connectionconn = null ;private ResultSet rs;String re =;/设置你的数据库ipString dbip = 127.0.0.1;/设置你的数据库用户名和密码:String use = root;String pass = 860409;/设置您的数据库名String dbName = lib_system;public java.sql.Connection getConn()try Class. forName (org.gjt.mm.mysql.Driver

8、).newlnstance();Stri ng url+ pass +&use Unic=jdbc:mysql:/ +dbip +:3306/ + dbName +?user= + use+&password=ode=true&characterE ncod in g=GBK;conn = DriverManager.getConnection (url);catch (Exception e)e.pri ntStackTrace();return this .conn ;/在Mysql建立lib_system数据库,之后将与数据操作相关数据与该数据库相连2,记录登陆信息及信息处理:当用户点击

9、 登陆”按钮之后,数据将提交到登陆数据处理jsp页面。取得帐号 密码这两个从页面传入的值,然后跟数据库当中管理员表中的账号和密码比较。如果正确的话,在JSP的SESSION中存入一个标记属性,表示当前已经有 管理员登陆了。处理完毕后,跳转到管理页面,如果失败,则提示登陆失败, 并重新进入到登陆页面。具体的逻辑如下:存储分配管理员表:(admin)序号字段名类型 长度 精度 小数 默认 允许 主键 说明位数 值空1(admin_ID)管理员IDInt10VI2(admin_password)Char15管理员密码3(admin_quanxian) Nvarchar 15权限3.2 02管理模块具

10、体格式见下表功能编号02功能名称管理模块内容功能流程图所属业务图书馆管所属项目图书馆管理理系统编写人陈新光完成时间2007-11-26页码第8页功能流程图功能流程图如下所示:需要说明的问题:在选择相应的业务时,需要在当前的页面显示;并且在管理页面内,默认显示图书查询页面。322功能描述(1)功能类型:其他(2)功能概述:总体归纳图书馆管理功能(3)前提业务:登陆模块(01)(4)后续业务:021,022,023,024,(5)功能约束:权限约束(6)约束描述:(7)操作权限:图书馆管理人员03界面设计(1)基本信息处理动作说明如下:动作编号动作名称动作描述A01入库管理点击按钮将页面转至入库管

11、理.jsp页面A02学生借书点击按钮将页面转至学生借书.jsp页面A03学生还书点击按钮将页面转至学生还书.jsp页面A04图书注销点击按钮将页面转至图书注销.jsp页面A05图书查询点击按钮将页面转至图书查询.jsp页面(2)数据要求功能类型:其他3.3 031图书信息查询模块具体格式如下:功能编号031功能名称图书信息查内容功能流程询模块图所属业务图书馆管所属项目图书馆管理理系统编写人陈新光完成时间2007-11-26页码第10页331功能流程图功能流程图如下图:失败需要说明的问题:录入项检测使用javascript来实现(各项非空);操作权限:面向所有用户332功能描述(1)功能类型:查

12、询数据(2)功能概述:显示查询结果(3)前提业务:无(4)后继业务:(5)功能约束:没有约束;(6)约束描述:(7)操作权限:面向所有用户333界面设计(1)基础信息处理下表是动作说明:动作编号动作名称动作描述A01确定点击按钮提交数据到图书查询数据处理.jsp页面A02学生信息查询点击按钮将页面转至学生信息查询.jsp页面(2)数据要求(1) 功能类型:数据查询(2) 数据描述:页面显示字段见下表:字段名称长度录入方式是否非空项数据检验默认显示请选择查询20下拉列表YN类型请输入查询200文本框YN内容(3)图书信息查询的输出项书名图书类型作者译者ISBN岀版社价格书架名称现存量简介书名图书

13、类型334模块内部逻辑1, Search.jsp用于显示界面的内容,给用户显示一个查询接口2, Lib_query.jsp用来调度所有的页面,它根据传入的参数来决定包含哪一个jsp页面来显示内容;在 lib_query.jsp 页面中,它根据传入的参数来决定包含哪一个jsp页面来显示内容;则可以通过 jsp:include page= ” ”/,禾U用 jsp:include 标签来被动态加载发送到相应页面;3, chuli.jsp用来处理数据查询和显示查询到的结果列表在这个页面中,数据要求是以列表的形式显示到输出页面 由于查询到的结果可能过多,所以采用分页形式显示; 对于分页功能的内部逻辑:

14、4, View.jsp用来显示查询到的图书的各项属性存储分配图书目录文件(Book):序号字段名类型长度精度小数位数默认值 允许空主键说明1(BookID)图书编号Int101V自动编号2(TXM)条形码nvarchar203(Title)书名nvarchar2004(TSLX)图书类型Nvarchar50V5(Author)作者Nvarchar20V6(Translator)译者Nvarchar20V7(ISBN)ISBNNvarchar208(CBS)出版社Nvarchar30V10(SJMC)书架名称Nvarchar20V11(XCL)现存量Smallint2V12(KCZL)库存总量S

15、mallint2V13(RKSJ入库时间DatatimeV14(CZY)操作员Nvarchar10V15(JJ简介Nvarchar200V16(JCCS借出次数Smallint2V17(SFzhuxiao)是否注销Nvarchar2V18(BookZT)图书状态nvarchar50V借书文件表(JSWJB):序号字段名类型长度精度小数位数默认值允许空主键外键说明1(JYID)借阅编号Int101V自动编号2(BookID)图书编号Int10V3(StuID)学生编号Int10V4(JYSJ)借阅时间Datatime8V5(DQSJ)到期时间Datatime8V6(XJCS )续借次数Small

16、int2V7(CZY)操作员Nvarchar108(ZT)状态navarchar50V3.4 032学生信息查询模块具体格式如下:功能编号032功能名称学生信息查内容功能流程询模块图所属业务图书馆管所属项目图书馆管理理系统编写人陈新光完成时间2007-11-26页码第12页功能流程图功能流程图如下图:需要说明的问题:录入项检测使用javascript来实现(各项非空);操作权限:面向所有用户功能描述(8) 功能类型:查询数据(9) 功能概述:显示查询结果(10) 前提业务:无(11) 后继业务:(12) 功能约束:没有约束;(13) 约束描述:(14) 操作权限:面向所有用户界面设计(4)基础

17、信息处理下表是动作说明:动作编号动作名称动作描述A01确定点击按钮提交数据到图书查询数据处理.jsp页面A02图书信息查询点击按钮将页面转至图书信息查询.jsp 页面(5)数据要求(3)功能类型:数据查询(4)数据描述:页面显示字段见下表:字段名称长度录入方式是否非空项数据检验默认显示请输入学号10文本框丫N(6)学生信息查询的输出项 学生学号姓名性别 生日 证件号码 联系电话 登记日期 有效期至已借书数344模块内部逻辑5, Search.jsp用于显示界面的内容,给用户显示一个查询接口6, Index.jsp用来调度所有的页面,它根据传入的参数来决定包含哪一个jsp页面来显示内容;jsp页

18、面来显示内容;则可% ”/,利用 jsp:include 标在index.jsp页面中,它根据传入的参数来决定包含哪一个以通过 jsp:i nclude page= ” %For (int i=0;ialert( lf(in tdeli!=1)ifSuccess=false;lf(!ifSuccess)%alert(借阅失败! ”;alert(借阅成功! ”;%执行的过程如下:首先要验证学生信息是否存在和学生的欠款是否超额,也就是说学生是否可以借书,图书是否在馆等,在确定合法之后调用 bb.addBorrow(hash)来完 成借阅流程。流程其实就是对几个表进行增改的操作。关于 addBorr

19、ow(hash)的算法:public in t addBorrow(Hashtable hash)System.out.println(批量处理新增借阅。);Stri ng sql=;int intID = makelD(JYWJB,JYID,true);Stri ng strID=Stri ng.valueOf(i ntID);Stri ng strZJH = ds.toStri ng(Stri ng)hash.get(ZJH);证件号Stri ng strTXM = ds.toStri ng(Stri ng)hash.get(TXM); 条形码Stri ng strJYSJ = ds.to

20、Stri ng(Stri ng)hash.get(JYSJ);/ 借阅时间.专业word可编辑String strXSID = ;/ 学生 IDString strBOOKID = ;/ 图书 IDStri ng strDQSJ = ;/ 到期时间String strXJCS = ;/ 续借次数/根据学生证件号取的学生ID/根据学生ID取得规则ID,然后取得可以借阅天数,sql=select Student.RulelD,Student.XSID,Rule.KJYSJ and+ from Studengt,RULE +whereStude nt.ZJH=”+strZJH+Stude nt.Ru

21、lelD=Rule.RulelD ;Hashtable hashReld=(Hashtable)search On eData(sql); strXSID=ds.toStri ng(Stri ng)hashReId.get(XSID);Stri ng strKJYSJ=ds.toStri ng(Stri ng)hashReId.get(KJYSJ);/根据条形码取得图书IDsql=select BOOKID from Book where TXM=+strTXM+”;Hashtable hashBKID=(Hashtable)searchO neData(sql); strBOOKID = d

22、s.toStri ng(Stri ng)hashBKID.get(BOOKID);/新增操作createStateme nt();clearBatch();sql= i nsert into JSWJB(JYID,XSID,BOOKID,JYSJ,DQSJ,ZXJCS)+ values(+strlD+,+strXSID+,+strBOOKID+,”+strJYSJ+,to_char(to_date(”+strJYSJ+,yyyy-MM-dd)+strKJYSJ+),yyyy-MM-dd)+,+strZero+,+strZero+);addBatch(sql);sql=update Book s

23、et ZT= 借出where BOOKID=+strBOOKID;addBatch(sql);sql=update Stude nt set YJSS=YJSS+1 where XSID=+strXSID;addBatch(sql);int result=executeBatch();closeStm();return result;而对于取消按钮事件,由于要实现取消借阅,所以需要调用delBorrow(String id)来取消借阅操作;算法如下:public in t delBorrow(Stri ng id)(” 批量处理取消借阅。);Stri ng sql=;sql=select BO

24、OKID from JSWJB where JYID=+id;Hashtable hash=(Hashtable)search On eData(sql);Stri ng strBOOKID=(Stri ng)hash.get(BOOKID);createStateme nt();clearBatch();sql=update JSWJB set ZT=+strO ne+ where JYID=+id;addBatch(sql);sql=update BOOK set ZT= 可借where BOOKID=+strBOOKID;addBatch(sql);int result=executeB

25、atch();closeStm();retur n result;364存储分配借书文件:序号字段名类型长度精度小数位数默认值允许空主键外键说明1借阅编号Int101V自动编号2图书编号Int10V3学生编号Int10V 14借阅时间Datatime8V5到期时间Datatime8V .6续借次数Smallint2V7操作员Nvarchar10V8状态navarchar50V罚款单:序号字段名类型长度精度小数位数默认值允许空主键外键说明1借阅编号Int101V自动编号2图书编号Int10V3学生编号Int10V4应罚金额Smallint3V5实收金额Smallint3VI6状态Nvarchar

26、1V7备注Nvarchar200V学生文件:序号字段字段名类型长度精度小数位数默认值允许空主键说明1XSID学生编号Int101V自动编号2Name姓名nvarchar103Sex性别nvarchar2V4ZJH证件号码nvarchar25V5LXDH联系电话nvarchar40V6DJRQ登记日期datetime8V7YXQZ有效期至datetime8V8YJSS已借书数smallint2V9RuleID学生规则int10ID10ZT是否挂失nvarchar2V3.7 023学生还书具体格式如下:功能编号023功能名称学生还模块内容功能流程图所属业务图书馆管所属项目图书馆管理理系统编写人陈新

27、光完成时间2007-11-27页码第27页功能流程图需要说明的问题:(1) 显示结果可直接在处理结果.jsp中利用javascript来实现显示功能!(2) 处理要包含:对图书状态和借书文件表中信息的修改以及学生的欠 款金额的计算,并更新Publish表。功能描述(1)功能类型:修改数据(2)功能概述:完成学生的还书业务并计算学生的欠款信息(3)前提业务:管理模块(4)后继业务:无(5)功能约束:权限约束(6)约束描述:(7)操作权限:图书馆管理人员界面设计(1)基础信息处理动作编号动作名称动作描述A01重置点击按钮将文本框内的所有数据清空A02提交点击按钮将数据提交到处理还书信息页面(2)界

28、面描述:书籍条形玛:重置提交(3)数据描述字段名称长度录入方式是否非空项数据检验默认显示书籍条形码号10文本框YN对于还书业务的处理,实质上与借书业务的实现基本上相同,只是调用了 backBorrow(hash)来实现还书功能;lf(strEdit.equals( 1”)In t in tdel=bb.BackBorrow(hash);lf(in tdel=null)ifSuccess=false;elseFor (int i=0;ialert(归还操作失败! ”);alert(归还操作成功! ”);%针对backBorrow (hash)算法如下:public int backBorrow(

29、Stri ng TXM)(” 批量处理还书。);Stri ng sql=;Stri ngstrBOOKID=ds.toStri ng(Stri ng)toName(BOOK,TXM,BOOKID,TXM);Stri ng strNow = ds.getDateTime();strNow = strNow.substri ng(0,10);createStateme nt();clearBatch();sql=update JSWJB set ZT=+strOne+,DQSJ=”+strNow+where BOOKID=+strBOOKID+ a nd ZT=+strZero+”;System.

30、out.pri ntln (sql1:+sql);addBatch(sql);sql=update BOOK set ZT= 可借where BOOKID=+strBOOKID;System.out.pri ntln (sql2:+sql);addBatch(sql);int result=executeBatch();closeStm();return result;存储分配借书文件:序号字段名类型长度精度小数位数默认值允许空主键外键说明1借阅编Int101V自动号编号2图书编Int10V号3学生编Int10V号4借阅时Datatime8V间5到期时Datatime8V间6续借次Smalli

31、nt2V数7操作员Nvarchar10V8状态navarchar50V学生文件:序号字段字段名类型长度精度小数默认允许主键说明位数值空1XSID学生编号Int101V自动编号2Name姓名nvarchar103Sex性别nvarchar2V4ZJH证件号码nvarchar25V5LXDH联系电话nvarchar40V6DJRQ登记日期datetime8V7YXQZ有效期至datetime8VI8YJSS已借书数smallint2V9RuleID学生规则int10ID10ZT是否挂失nvarchar2V图书目录文件:序号字段名类型长度精度小数位数默认值 允许空 主键说明1图书编号Int101V自

32、动编号2条形码nvarchar203书名nvarchar2004图书类型Nvarchar50V5作者Nvarchar20VI6译者Nvarchar20V7ISBNNvarchar208岀版社Nvarchar30V9价格Money8VI10书架名称Nvarchar20V11现存量Smallint212库存总量Smallint2V13入库时间Datatime8VI14操作员Nvarchar10V15简介Nvarchar200VI16借岀次数Smallint2V17是否注销Nvarchar2VI18图书状态nvarchar50V罚款单;序号字段名类型长度精度小数位数默认值 允许空主键外键说明1借阅编号Int101V自动编号2图书编号Int10V3学生编号Int10V4应罚金额Smallint3V5实收金额Smallint3V6状态Nvarchar1V7备注Nvarchar200V3.8 024图书注销具体格式如下:功能编号024功能名称图书注销模块内容功能流程图所属业务图书馆管所属项目图书馆管理理系统编写人陈新光完成时间2007-11-27页码第31页

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!