软件工程详细设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
五、详细设计说明书
1.引言 (1)
1.1编写目的 (1)
1.2项目背景 (1)
1.3定义 (2)
1.4参考资料 (2)
2.总体设计 (2)
2.1需求概述 (2)
2.2软件结构 (2)
3.程序描述 (3)
3.1功能 (3)
3.2性能 (3)
3.3输入项目 (3)
3.4输出项目 (4)
3.5算法 (4)
3.6程序逻辑 (6)
3.7接口 (8)
3.8存储分配 (8)
3.9限制条件 (8)
3.10测试要点 (8)
1.引言
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.在每周1-5的上午8:00-11:00和下午2:00-5:00是高峰时间,系统将能适应1000个用户同时使用,平均每个会话估计持续10分钟。
2.系统对用户请求的最大响应时间是5秒钟,在此时间内将响应结果显示在屏幕上
3.3输入项目
学生信息,图书名号
3.4输出项目
注册是否成功提示,查询书籍存在情况
3.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 (m_strBookIDQ.IsEmpty() && m_strBookNameQ.IsEmpty()) {
m_rsDataSet.m_strFilter = "";
m_rsDataSet.Requery();
DisplayRecord();
SetButtonState();
return;
}
BOOL mAll = FALSE;
if (!m_strBookIDQ.IsEmpty())