99网
您的当前位置:首页软件工程详细设计说明书

软件工程详细设计说明书

来源:99网


五、详细设计说明书

1.引言

编写目的

【阐明编写详细设计说明书的目的,指明读者对象。 】 图书馆管理员,系统设计人员

项目背景

【应包括项目的来源和主管部门等。 】

a. 图书馆在正常运营中面对大量书籍、读者信息 b. 人工记录方法既效率低又错误过多

定义

【列出文档中所用到的专门术语的定义和缩写词的原文。 Reader 系统权限:普通读者 BookAdmin 系统权限:图书管理员 UserAdmin 系统权限:用户管理员

SuperAdmin 系统权限:超级管理员(系统管理员) Undergraduate 系统用户角色:本科生 Graduate 系统用户角色:研究生 Teacher 系统用户角色:教师

booksManager 本系统的名称】

参考资料

【列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:

a. 软件文档编写》高等教育出版社 ? 编者 :辛明海 b. 清华《UML课程设计》机械工业出版社 ?编者:董兰芳 c. 《软件工程》 ? 电子工业出版社 编者:赵池龙

d. 《设计模式 可复用面向对象软件的基础》,Erich Gamma等,机械工业出版 社

2.总体设计

需求概述

立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的 系统,以提高图书信息的现代化管理水平,实现信息资源的共享。图书管理系统 是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其 实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提 供极大的帮助。使用该系统之后,图书馆管理人员可以管理读者的登记、借出、 归还、预约、等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况 给出一些统计,给出统计表格,以全面掌握图书的流通情况。 本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图 书管理工作真正做到科学、合理的规划,系统、高效的实施。

软件结构

【如给出软件系统的结构图。】

【逐个模块给出以下的说明:】

功能

1、 学生注册:工作人员通过计算机对学生进行信息注册,发放借书证; 2、 图书浏览查询:学生们通过此模块来查询自己所需要的图书; 3、 读者借书:学生通过此模块来完成借阅图书; 4、 图书预约:学生通过此模块来完成预约图书; 5、 读者还书:学生通过此模块来完成退还图书;

6打印信息:图书管理人员通过此模块来完成打印学生信息的工作。

性能

1. 在每周1 — 5的上午8:00 — 11:00和下午2:00 — 5:00是高峰时间,系统将能适

应1000个用户同时使用,平均每个会话估计持续 10分钟。

2. 系统对用户请求的最大响应时间是 5秒钟,在此时间内将响应结果显示在屏幕

输入项目

学生信息,图书名号

输出项目

注册是否成功提示,查询书籍存在情况

算法

【模块所选用的算法。 】

class CBookDataSet : public CRecordset

{

public:

CBookDataSet(CDatabase* pDatabase = NULL); CString m_BOOK_ID; CString m_BOOK_NAME; CString m_AUTHOR; CString m_PRESS; CTime m_PRESS_DATE; CString m_FLAG_BORROW;

}

class CBorrowDataSet : public CRecordset

{

public:

CBorrowDataSet(CDatabase* pDatabase = NULL); CString m_READER_ID;

CString m_BOOK_ID; CTime m_BORROW_DATE; CString m_B_CLERK_ID; long m_ID;

}

void CBookMDlg::OnEnquery()

{

// TODO: Add your control notification handler code here UpdateData(TRUE); if () && ())

{

J ();

DisplayRecord();

SetButtonState(); return;

}

BOOL mAll = FALSE; if (!())

{

= \"BOOK_ID='\" + m_strBookIDQ ;

mAll = TRUE;

}

if (!())

{

if (mAll)

+ \" AND BOOK_NAME='\"; + m_strBookNameQ; + \"'\";

else

\"BOOK_NAME='\" + m_strBookNameQ; + \"'\";

}

}

();

DisplayRecord(); SetButtonState();

BOOL CBookMDlg::DisplayRecord()

{

if () && ())

{

m_strBookID = \"\"; m_strBookName = \"\"; m_strPress = \"\"; m_strAuthor = \"\"; m_strFlag = \"\";

}

else

{

if ())

{

();

}

else

{

if ())

{

();

m_strBooklD =; m_strBookName =; m_strPress =; m_strAuthor =; m_strFlag =;

}

UpdateData(FALSE); return TRUE; }

程序逻辑

【详细描述模块实现的算法,可采用a. 标准流程图; b. PDL语言; c. N- S 图; d. PAD

e. 判定表等描述算法的图表。】

:

接口

本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口, 分别进

入相应的界面(如:输入界面、输出界面) 要有备份。

。用户对程序的维护,最好

存储分配

条件

估计开发该系统需购买硬件、外部设备( P4 微机一台、打印机一台、服务器) ,开发工作量 约需 6 个人月工作量

测试要点

【给出测试模块的主要测试要求。 】

单元测试主要是针对编码阶段进行的 , 对每个功能模块进行测试, 采用各种测试用例 对模块接口、模块内部数据结构、逻辑路径、出错处理和边界条件进行测试。如模块内 部数据结构的测试,在程序编写过程中就要考虑数据的类型、范围等方面,测试时就要 对这些方面进行测试。输入一些不符合条件的数据,看能不能运行。而它最终的目的是 保证每个模块单独运行正确, 我采用的是白盒测试法 , 检查模块控制结构的某些特殊路径 期望覆盖尽可能多的出错点。

综合测试主要是针对设计阶段进行的。模块测试完成后,能保证每个功能模块能够 单独地正常工作,但所有模块联结在一起能不能正常工作就是综合测试的任务了。而在 此系统中我采用的是自顶向下集成法,这种测试的优点在于能尽早地对程序的主要控制 进行检验,因此能较早地发现错误。

因篇幅问题不能全部显示,请点此查看更多更全内容