资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
五、详细设计说明书五、详细设计说明书1引言11.1编写目的11.2项目背景11.3定义21.4参考资料22总体设计22.1需求概述22.2软件结构23程序描述23.1功能33.2性能33.3输入项目33.4输出项目33.5算法33.6程序逻辑33.7接口33.8存储分配33.9限制条件33.10测试要点31引言1.1编写目的【阐明编写详细设计说明书的目的,指明读者对象。】图书馆管理员,系统设计人员1.2项目背景【应包括项目的来源和主管部门等。】a. 图书馆在正常运营中面对大量书籍、读者信息b. 人工记录方法既效率低又错误过多1.3定义【列出文档中所用到的专门术语的定义和缩写词的原文。】booksManager 本系统的名称 Reader 系统权限:普通读者 BookAdmin 系统权限:图书管理员 UserAdmin 系统权限:用户管理员 SuperAdmin 系统权限:超级管理员(系统管理员) Undergraduate 系统用户角色:本科生 Graduate 系统用户角色:研究生 Teacher 系统用户角色:教师1.4参考资料【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括: a. 软件文档编写高等教育出版社 编者:辛明海 b. 清华UML课程设计机械工业出版社 编者:董兰芳 c. 软件工程 电子工业出版社 编者:赵池龙d.设计模式可复用面向对象软件的基础,Erich Gamma等,机械工业出版社2总体设计2.1需求概述立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高图书信息的现代化管理水平,实现信息资源的共享。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。使用该系统之后,图书馆管理人员可以管理读者的登记、借出、归还、预约、等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。 本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。2.2软件结构【如给出软件系统的结构图。】图书借阅系统 打印信息读者还书图书借阅读者预约图书查询学生注册3程序描述【逐个模块给出以下的说明:】3.1功能1、 学生注册:工作人员通过计算机对学生进行信息注册,发放借书证;2、 图书浏览查询:学生们通过此模块来查询自己所需要的图书;3、 读者借书:学生通过此模块来完成借阅图书;4、 图书预约:学生通过此模块来完成预约图书;5、 读者还书:学生通过此模块来完成退还图书;6、 打印信息:图书管理人员通过此模块来完成打印学生信息的工作。3.2性能1. 在每周15的上午8:0011:00和下午2:005:00是高峰时间,系统将能适应1000个用户同时使用,平均每个会话估计持续10分钟。2. 系统对用户请求的最大响应时间是5秒钟,在此时间内将响应结果显示在屏幕上3.3输入项目学生信息,图书名号3.4输出项目注册是否成功提示,查询书籍存在情况3.5算法【模块所选用的算法。】class CBookDataSet : public CRecordsetpublic:CBookDataSet(CDatabase* pDatabase = NULL);CStringm_BOOK_ID;CStringm_BOOK_NAME;CStringm_AUTHOR;CStringm_PRESS;CTimem_PRESS_DATE;CStringm_FLAG_BORROW;class CBorrowDataSet : public CRecordsetpublic:CBorrowDataSet(CDatabase* pDatabase = NULL);CStringm_READER_ID;CStringm_BOOK_ID;CTimem_BORROW_DATE;CStringm_B_CLERK_ID;longm_ID;void CBookMDlg:OnEnquery() / TODO: Add your control notification handler code hereUpdateData(TRUE);if (m_strBookIDQ.IsEmpty() & m_strBookNameQ.IsEmpty()m_rsDataSet.m_strFilter = ;m_rsDataSet.Requery();DisplayRecord();SetButtonState();return;BOOL mAll = FALSE;if (!m_strBookIDQ.IsEmpty()m_rsDataSet.m_strFilter = BOOK_ID= + m_strBookIDQ ;m_rsDataSet.m_strFilter = m_rsDataSet.m_strFilter + ;mAll = TRUE;if (!m_strBookNameQ.IsEmpty()if (mAll)m_rsDataSet.m_strFilter = m_rsDataSet.m_strFilter + AND BOOK_NAME=;m_rsDataSet.m_strFilter = m_rsDataSet.m_strFilter + m_strBookNameQ;m_rsDataSet.m_strFilter = m_rsDataSet.m_strFilter + ;elsem_rsDataSet.m_strFilter = BOOK_NAME= + m_strBookNameQ;m_rsDataSet.m_strFilter = m_rsDataSet.m_strFilter + ;m_rsDataSet.Requery();DisplayRecord();SetButtonState();BOOL CBookMDlg:DisplayRecord()if (m_rsDataSet.IsEOF() & m_rsDataSet.IsBOF()m_strBookID = ;m_strBookName = ;m_strPress = ;m_strAuthor = ;m_strFlag = ;elseif (m_rsDataSet.IsBOF()m_rsDataSet.MoveNext();elseif (m_rsDataSet.IsEOF()m_rsDataSet.MovePrev();m_strBookID = m_rsDataSet.m_BOOK_ID;m_strBookName = m_rsDataSet.m_BOOK_NAME;m_strPress = m_rsDataSet.m_PRESS;m_strAuthor = m_rsDataSet.m_AUTHOR ;m_strFlag = m_rsDataSet.m_FLAG_BORROW ;UpdateData(FALSE);return TRUE;3.6程序逻辑【详细描述模块实现的算法,可采用:a. 标准流程图;b. PDL语言;c. NS图;d. PAD;e. 判定表等描述算法的图表。】 Start学生注册填写注册表学生库借书发放借书证借书证是否被锁定锁定解除锁定还书是否超期罚款输入图书名/号此书是否存在预约正常还书,并将借书状态释放正常借书,并将借书证设置为借书状态 end 3.7接口本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相应的界面(如:输入界面、输出界面)。用户对程序的维护,最好要有备份。3.8存储分配无3.9限制条件估计开发该系统需购买硬件、外部设备(P4微机一台、打印机一台、服务器),开发工作量约需6个人月工作量3.10测试要点【给出测试模块的主要测试要求。】单元测试主要是针对编码阶段进行的,对每个功能模块进行测试,采用各种测试用例对模块接口、模块内部数据结构、逻辑路径、出错处理和边界条件进行测试。如模块内部数据结构的测试,在程序编写过程中就要考虑数据的类型、范围等方面,测试时就要对这些方面进行测试。输入一些不符合条件的数据,看能不能运行。而它最终的目的是保证每个模块单独运行正确,我采用的是白盒测试法,检查模块控制结构的某些特殊路径,期望覆盖尽可能多的出错点。综合测试主要是针对设计阶段进行的。模块测试完成后,能保证每个功能模块能够单独地正常工作,但所有模块联结在一起能不能正常工作就是综合测试的任务了。而在此系统中我采用的是自顶向下集成法,这种测试的优点在于能尽早地对程序的主要控制进行检验,因此能较早地发现错误。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号