版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、附件:课程设计报告样本山东女子学院软件工程(金融信息系统)课程设计报告题目: 图书管理系统分析与设计 专业: 计算机科学与技术 班级: 12级 组: 组长: 李甜甜 成员: 张晓佩 张惠 孙志凤 指导教师: 田杰 完成日期: 2016 目 录1 项目开发计划书(页码)2 软件需求规格说明书(页码)3 设计规格说明书(页码)4 源程序清单.(页码)5 测试报告(页码)6 一、项目开发计划书完成人:李甜甜 张晓佩1引言1.1项目概述本文以Internet为平台,研究了基于Web考试系统的设计与开发,包括系统需求分析和系统功能设计以及数据库设计。重点阐述了用户注册模块、用户登录模块、在线考试模块、题
2、库管理模块、试卷管理模块、学生管理模块、教师管理模块以及成绩管理模块的设计。1.2定义文档中采用的专门术语的定义及缩略词简要如下:JSP(全称JavaServer Pages)所用的开发语言 Mysql:所用的数据库管理系统 MyEclipse:所用的开发工具1.3参考资料1 ftp:/ 列出的资料2 软件工程导论(第四版) 张海藩主编 北京:清华大学出版社 20033 图书管理系统可行性研究报告 王海东 2011.102项目概述2.1产品2.1.1程序jsp程序包(图书管理系统.jsp)和SQL Server数据库。2.1.2文档1) 可行性研究报告 内部保存2) 项目开发计划 内部保存3)
3、 需求规格说明书 内不保存/客户评审4) 概要设计说明书 内部保存/发布 5) 详细设计说明书 内部保存/发布6) 测试计划书 内部保存3项目进度计划3.1任务分解和进度安排组长:李甜甜 任务:任务分配,指导项目开发各过程的活动,承担部分开发任务(1) 需求分析 任务: a.可行性研究报告 b.项目开发计划书 c.需求规格说明书 (2) 设计 任务: a.设计说明书 全体小组成员(3) 实现 任务: a.编码实现 全体小组成员b.测试计划书 全体小组成员c.用户操作手册 全体小组成员进度安排开始时间结束时间标志性事件工作结果需求分析2015-12-082015-12-10需求规格说明书的完成(
4、1) 可行性研究报告(2) 项目开发计划书(3) 需求规格说明书设计2015-12-082015-12-26设计说明书的完成(1) 设计说明书实现2015-12-2620116-1-6测试任务的结束(1) 测试计划书(2) 一个能正确运行的可执行程序(3) 用户操作手册3.2人员组织及分工组长: 李甜甜 组员: 张晓佩、孙志凤、张惠在项目开发中,各有特长,担任不同角色,发挥了必不可缺的作用。任务分配如下: 项目开发计划书:张晓佩、李甜甜 需求规格说明书:张惠、孙志凤 详细设计说明书:张惠、孙志凤测试报告:张晓佩、李甜甜用户手册:张晓佩 其它工作由全体组员每人承担部分任务, 二、需求规格说明书完
5、成人:张惠 孙志凤1 引言 1.1 编写目的 根据需求规格说明书,在仔细考虑讨论之后,我们又进一步对图书管理系统软件的功能划分、数据结构、软件总体结构有了进一步的认识。我们把讨论的结果记录下来,作为概要设计说明书,并作为进一步详细设计软件的基础。1.2定义 文档中采用的专门术语的定义及缩略词简要如下:LMS:Library Management System,图书管理系统1.3 参考资料(1)郑人杰,殷人昆,陶永雷。实用软件工程(第二版)清华大学出版社,1997。 (2)金勇华,曲俊生。JAVA网络高级编程。北京:人民邮电出版社,2001。 (3)江开耀, 张俊兰,李晔 软件工程 西安电子科技
6、大学出版社 20072.目标系统功能需求 2.1目标图书管理系统针对的用户是单个中小型图书室或者个人,藏书的种类和数量较少,读者的数量和来源受到一定的限制。相应的需求有: (1)能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:1) 图书信息的录入、删除及修改。2) 图书信息的多关键字检索查询。3) 图书的出借、返还和资料统计。(2)能够对一定数量的读者进行相应的信息存储与管理,这其中包括:1) 读者信息的登记、删除及修改。 2) 读者资料的统计与查询。(3)能够对需要的统计结果提供列表显示输出。(4)能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,
7、同时提供信息备份的服务。3.总体设计 3.1数据库设计阶段 图书馆管理系统(LMS)E-R 图如下所示: 32 功能设计阶段 根据对系统的工作流程和用户需求的调查从而清晰的分析出系统要实现的功能,其rose图如下:1. 读者查找图书过程:2. 读者预定图书过程:3. 读者查询浏览过程:4. 图书管理员增删改图书G5. 图书管理员增删改读者:6. 图书管理员查询浏览过程:4.接口设置4.1 外部接口4.1.1用户界面 按Windows应用软件用户界面的规范来设计,使用以对话框为主的用户界面,便于用户使用。4.1.2软件接口 运行于Windows95/98及更高版本并装有JAVA虚拟机的操作系统之
8、上4.1.3硬件接口支持各种x86系列PC机 ,鼠标。 4.2 内部接口 模块间接口采用数据耦合方式,通过参数表传送数据,交换信息。5.运行设计 5.1运行模块的组合 程序启动后,进入主模块,用户的单击对话框按钮事件触发主模块调用各下层模块,进入对应的子对话框,同样由用户的输入触发这些模块调用其下层模块,完成相应操作。 5.2运行控制 本软件控制流程:主程序运行,等待用户的输入,根据用户的输入调用各子模块5.3 运行时间 检索业务响应时间<2s; 运行响应时间<1s;6.出错处理6.1 出错输出信息 根据不同的出错情况给出不同的出错信息,一般用对话框给出。6.2 出错处理对策 对一
9、般错误,给用户提示信息,让用户重新输入或退出。 对于严重错误,启动备份文件恢复,建议使用帮助文件。7.安全保密设计为每个操作人员设置账号及口令,规定每一级操作人员的权限。8.维护设计由于此项目比较小,除了严格按照软件工程的科学方法开发软件、认真建立文档、编码阶段写详细的注释外,没有特殊的维护设计,如:设置维护模块等。三、设计规格说明书完成人: 张惠 孙志凤 1引言1.1 编写目的软件设计的任务是将软件需求变换成为软件的具体设计方案。概要设计根据软件需求导出软件的体系结构;详细设计给出软件模块的内部过程描述。该文档是设计结果的详细描述,也是程序员编写程序的功能依据。1.2 命名规则变量对象命名规
10、则:申明全局变量、局部变量对象的命名规则。数据库对象命名规则:申明数据库表名、字段名、索引名、视图名等对象的命名规则。1.3 定义图书管理系统对于现代图书馆而言,是能否发挥其教学科研的作用的至关重要技术平台。对于读者和图书管理员来说,是能否方便快速获取信息的关键。所以,图书管理系统应该能够为用户提供充足的信息和快捷方便的操作手段。1.4 参考资料钱乐秋等,软件工程,青还大学出版社;张害藩,软件工程导论(第六版),清华大学出版社;王珊等,数据库原理及设计,清华大学出版社;赵池龙等,软件工程实践教程,电子工业出版社。1.5 相关文档1 源程序清单2 测试计划及报告3 用户使用手册2总体设计2.1软
11、件结构块层次图2.2 模块详细设计(1)书籍信息管理:对图书信息进行添加(入库)、修改、删除和查询。修改和删除前可对图书进行查询并显示查询结果。详细过程描述如下页“书籍信息管理”程序流程图:(2)借阅管理:借书、还书、续借在同一界面,但显示不同内容。“书籍信息管理”程序rose图 (3)图书注销管理(4)书籍类别管理、读者类别管理、读者信息管理和出版社信息管理:与书籍信息管理类似,具有添加、修改、删除和查询功能。这里不做详细描述。 (5) 书籍信息管理中的图书信息和借阅管理中的借阅情况询模块:与通常的查询类似,都是根据一定的查询条件在相应的数据库中查找满足条件的记录。这里不做详细描述。3数据表
12、结构设计图书信息表(tsxxb)字段类型长度格式约束采集方式图书编号文本20主键,必须输入人工采集图书名称文本50必须输入人工采集图书类别编号文本20必须输入人工采集书架位置文本20人工采集ISBN文本20人工采集作者文本20人工采集译者文本20人工采集单价数值人工采集出版社编号文本20人工采集出版时间时间/日期人工采集总数量数值人工采集入库日期时间/日期自动采集入库操作员文本10自动采集现存量数值自动采集借阅次数数值自动采集是否注销文本1人工采集内容简介文本200人工采集备注文本50人工采集读者信息表(dzxxb)字段类型长度格式约束采集方式读者编号(借书证号码和用户名与此同)文本20主键,
13、必须输入人工采集读者姓名文本10必须输入人工采集读者类别编号文本20必须输入人工采集读者性别文本2人工采集出生日期时间/日期人工采集读者状态文本4人工采集办证日期时间/日期自动采集已借图书数量数值自动采集证件名称文本10人工采集证件号码文本20人工采集读者单位文本30人工采集联系地址文本40人工采集联系电话文本30人工采集EMAIL文本30人工采集用户密码文本10人工采集办证操作员文本10自动采集备注文本50人工采集借阅信息表(jyxxb)字段类型长度格式约束采集方式图书编号文本20主键,必须输入人工采集图书名称文本50自动采集读者编号文本20主键,必须输入人工采集读者姓名文本10自动采集图书
14、价格数值自动采集借阅日期时间/日期自动采集应还日期时间/日期自动采集续借次数数值自动采集借阅操作员文本10自动采集图书类别表(tslbb)字段类型长度格式约束采集方式图书类别编号文本20主键,必须输入人工采集图书类别名称文本20必须输入人工采集备注文本50人工采集出版社信息表(cbsxxb)字段类型长度格式约束采集方式出版社编号文本20主键,必须输入人工采集出版社名称文本30必须输入人工采集出版社地址文本40人工采集邮政编码文本6人工采集联系人文本20人工采集联系电话文本30人工采集EMAIL文本30人工采集备注文本50人工采集读者类别表(dzlbb)字段类型长度格式约束采集方式读者类别编号文
15、本20主键,必须输入人工采集读者类别名称文本10必须输入工人采集可借书数量数值人工采集可借书天数数值人工采集可续借次数数值人工采集逾期缓冲天数数值人工采集逾期每天罚款金额数值人工采集丢失罚款倍数数值人工采集图书注销信息表(tszxxxb)字段类型长度格式约束采集方式图书编号文本20主键,必须输入人工采集注销数量数值必须输入人工采集注销日期时间/日期人工采集注销操作员文本10自动采集4系统管理和改进本系统的维护主要包括以下内容:(1) 权限维护 系统维护人员或经授权的高级别管理员需要对低级别管理员和读者的用户名、密码和权限进行维护。(2) 所有信息要实时备份 发生系统失败后,能快速及时恢复。备份
16、技术采用增量转储的数据恢复技术,一旦出现故障使得数据库失效时,首先采取离故障最近的后备副本来恢复数据库,然后,再利用故障恢复点与该后备副本之间的增量转储,来恢复更新数据。5安全保密设计 考虑到不同用户的权限不同,当用户登录系统时,只有当用户名和密码相匹配时才能进入该用户权限所允许做的操作界面。如图书管理员可以借、还书、所有信息管理和查询等操作,普通读者用户只能进行一般的查询和续借。具体权限在系统投入使用前由使用单位自行规定。防止恶意攻击和病毒直接使用现有的成熟产品,本软件不涉及。四、源程序清单完成人: 张晓佩 孙志凤 李甜甜 张惠Login.jsp代码:<% page language=
17、"java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" conten
18、t="text/html; charset=UTF-8"><title>登录图书管理系统 </title><style type="text/css"><!-.STYLE1 font-size: 36px;font-weight: bold;-></style></head><body><form name="form1" method="post" action="valid.jsp"> &l
19、t;table width="400" height="120" border="1" align="center"> <caption> <span class="STYLE1">登录图书管理系统</span> </caption> <tr> <td width="166">用户名:</td> <td width="318"><input name
20、="username" type="text" id="username"></td> </tr> <tr> <td>密码:</td> <td><input name="password" type="password" id="password"></td> </tr> <tr> <td colspan="2" align=
21、"center"><input type="submit" name="Submit" value="登录"> <input type="reset" name="Submit2" value="取消"></td> </tr> </table></form></body></html>Valid.jsp代码:<% page language=&quo
22、t;java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><% page import="java.sql.*" %><!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"><html><head><meta
23、http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>判断登录</title></head><body><%String user=request.getParameter("username"); String pass=request.getParameter("password");Class.forName("com.mysql.jdbc.Driver&qu
24、ot;);Connection con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/bk","root","123456");PreparedStatement ps =con.prepareStatement("select * from t_account where username=? and password=?");ps.setString(1,user);ps.setString(2,pass);ResultSet rs = ps
25、.executeQuery(); if(rs.next()response.sendRedirect("bookList.jsp"); else response.sendRedirect("login.jsp"); %></body></html>添加图书BookAdd.jsp代码:<% page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>&
26、lt;!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>添加图书信息</title><style type="text/c
27、ss"><!-.STYLE1 font-size: 36px;font-weight: bold;-></style></head><body><form name="form1" method="post" action="bookSaveAdd.jsp"> <div align="center" class="STYLE1">添加图书信息 </div> <table width=&quo
28、t;300" height="120" border="1" align="center"> <tr> <td width="74">书名:</td> <td width="210"><input name="name" type="text" id="name"></td> </tr> <tr> <td>出版社:
29、</td> <td><input name="publish" type="text" id="publish"></td> </tr> <tr> <td>价格:</td> <td><input name="price" type="text" id="price"></td> </tr> <tr> <td cols
30、pan="2" align="center"><input type="submit" name="Submit" value="确定添加"> <input type="reset" name="Submit2" value="重置"></td> </tr> </table></form></body></html>删除图书BookDe
31、l.jsp代码:<% page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%page import="java.sql.*"%><!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"><
32、;html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="refresh" content="3;URL=bookList.jsp"><title>删除图书</title></head><body><%/"3","4","6"S
33、tring ids = request.getParameterValues("ids");Class.forName("com.mysql.jdbc.Driver");Connection con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/bk","root","123456");PreparedStatement ps = con.prepareStatement("delete from t_book wh
34、ere id=?"); for(int i = 0;i<ids.length;i+) ps.setInt(1,Integer.parseInt(idsi); ps.execute(); con.close(); %>正在删除图书,3秒后自动跳转.</body></html>bookEdit.jsp代码:<% page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><
35、% page import="java.sql.*" %><!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>编辑图书
36、信息</title><style type="text/css"><!-.STYLE1 font-size: 36px;font-weight: bold;-></style></head><body><%String strId = request.getParameter("id");/获取传过来的参数(网络上传输的只能是字符串) Class.forName("com.mysql.jdbc.Driver");/java的反射Connection con
37、= DriverManager.getConnection("jdbc:mysql:/localhost:3306/bk","root","123456");PreparedStatement ps =con.prepareStatement("select * from t_book where id=?");ps.setInt(1,Integer.parseInt(strId);ResultSet rs=ps.executeQuery();if(rs.next() %><form name=&quo
38、t;form1" method="post" action="bookSaveEdit.jsp"><!- 关键语句 -><input type="hidden" name="id" value="<%=rs.getInt("id") %>"> <div align="center" class="STYLE1">编辑图书信息</div> <table wi
39、dth="300" height="120" border="1" align="center"> <tr> <td width="74">书名:</td> <td width="210"><input name="name" type="text" id="name" value="<%=rs.getString("name&qu
40、ot;) %>"></td> </tr> <tr> <td>出版社:</td> <td><input name="publish" type="text" id="publish" value="<%=rs.getString("publish") %>"></td> </tr> <tr> <td>价格:</td> &l
41、t;td><input name="price" type="text" id="price" value="<%=rs.getInt("price") %>"></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" name="Submit" valu
42、e="确定修改"> <input type="reset" name="Submit2" value="取消"></td> </tr> </table></form><%con.close(); %></body></html>编辑图书信息bookList.jsp代码:<% page language="java" contentType="text/html; charset=
43、UTF-8" pageEncoding="UTF-8"%><% page import="java.sql.*" %><!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="
44、text/html; charset=UTF-8"><title>编辑图书信息</title><style type="text/css"><!-.STYLE1 font-size: 36px;font-weight: bold;-></style></head><body><%String strId = request.getParameter("id");/获取传过来的参数(网络上传输的只能是字符串) Class.forName("c
45、om.mysql.jdbc.Driver");/java的反射Connection con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/bk","root","123456");PreparedStatement ps =con.prepareStatement("select * from t_book where id=?");ps.setInt(1,Integer.parseInt(strId);ResultSet rs=ps.
46、executeQuery();if(rs.next() %><form name="form1" method="post" action="bookSaveEdit.jsp"><!- 关键语句 -><input type="hidden" name="id" value="<%=rs.getInt("id") %>"> <div align="center" class=&q
47、uot;STYLE1">编辑图书信息</div> <table width="300" height="120" border="1" align="center"> <tr> <td width="74">书名:</td> <td width="210"><input name="name" type="text" id="name
48、" value="<%=rs.getString("name") %>"></td> </tr> <tr> <td>出版社:</td> <td><input name="publish" type="text" id="publish" value="<%=rs.getString("publish") %>"></td>
49、 </tr> <tr> <td>价格:</td> <td><input name="price" type="text" id="price" value="<%=rs.getInt("price") %>"></td> </tr> <tr> <td colspan="2" align="center"><input t
50、ype="submit" name="Submit" value="确定修改"> <input type="reset" name="Submit2" value="取消"></td> </tr> </table></form><%con.close(); %></body></html>保存添加bookSaveAdd.jsp代码:<% page language=&q
51、uot;java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><% page import="java.sql.*" %><!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>保存添加</title></head><body><%/获取提交参数String name=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年秋季开学高中擒敌拳分解动作课件
- 2026年秋季开学初中开学第一课(校园礼仪)课件
- 多层民房分层分套出租合同 同一房屋多户分开租住协议
- 数据资产化实践方案:数字化转型下的资产价值挖掘
- 企业盈利质量动态评估与收益稳定性机制研究
- 银行数字化转型的关键技术演进趋势探讨
- 新质生产力背景下人工智能应用场景协同效应分析
- 耐心资本在硬科技领域长期投资周期适应性机制研究
- 人工智能治理框架中的法律规范与伦理考量
- 政府科技管理者如何利用区域科技创新数智大脑实现精准招商
- 食堂安全消防培训
- 初中物理八年级上册专题突破讲义(人教版)专题01 机械运动计算题分析(原卷版)
- PIVAS感控知识培训课件
- 中储粮员工知识培训内容课件
- 2024年天津市工业和信息化研究院招聘笔试真题
- Unit1MeandmyclassLesson5课件冀教版八年级英语上册
- 橡胶炼胶工上岗证考试题库及答案
- DB23∕T 3368-2022 沥青路面冷再生设计与施工技术规程
- 二建继续教育bim考试试题及答案
- 肺癌手术麻醉管理
- 2025年广东省广州市中考二模英语试题(含答案)
评论
0/150
提交评论