软件工程详细设计说明书

  • 格式:docx
  • 大小:63.38 KB
  • 文档页数:11

下载文档原格式

  / 11
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程详细设计说明

文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

五、详细设计说明书

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())

{

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 + "'";

}

else

{

m_rsDataSet.m_strFilter = "BOOK_NAME='" + m_strBookNameQ;

m_rsDataSet.m_strFilter = m_rsDataSet.m_strFilter + "'";

}

}