MIS分析与设计课程设计报告文档格式.docx
《MIS分析与设计课程设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《MIS分析与设计课程设计报告文档格式.docx(36页珍藏版)》请在冰豆网上搜索。
本项目具有方便快捷等优势,投资回报利益大,使得图书馆管理实现电子化,符合社会信息化发展需要,技术,经济,社会方面都是可行的,可以开发本系统。
2系统分析
2.1业务流程图
系统的业务是系统要达到的业务目标,业务流程分析是系统分析中的基础步骤,为了更好地把图书管的信息系统完善客观的表现出来,展现在人们面前,让大家更好地发现问题。
所谓业务流程分析就是对业务功能分析的进一步细化,从而得到业务流程图。
下面我们把图书馆信息系统的借阅归还业务流程进行分析如下:
2.2数据流程图
数据流程图是全面描述信息系统逻辑模型的工具,它抽象概括地把信息系统中各种业务处理过程联系起来。
以下是图书馆借阅与归还管理信息系统的数据流程图:
零层数据流程图和第一层数据流程图
2.3用例图
所谓用例图就是表示让被执行者感受到一个完整的功能。
在这里我们着重详细的介绍一下系统管理员用例图。
系统管理员通过系统管理员验证登陆系统管理员系统,在这个系统内,系统管理员可以增加、删除、更新书籍,也可以增加、删除、更新读者用户信息。
3系统设计
3.1功能结构图
我们的图书管理信息系统的主要功能结构图如下所示:
3.2系统功能分析
该系统系统功能有以下几个方面:
读者管理(读者信息的制定、输入、修改、查询)
书籍管理(书籍信息的制定、输入、修改、查询)
系统管理(包括借书、还书、预订、续借、查询等)
借阅管理(包括用户管理、数据和自动借还书的管理)
3.3代码设计
为了和工作人员以往的管理方法一致,物资信息编码以数字表示。
根据目前的行业标准,所有图书分为六大类(两位字母),每大类又分为若干号码(三位数字)。
分类如下表所示:
图书分类代码表
分类
编号
艺术
YS
文学
WX
经济
JJ
汽车
QC
管理
GL
英语
YY
哲学
ZX
计算机
IT
例如:
YY001代表英语类为001的图书。
001表示书名
除此之外,为了使数据录入、图书信息管理、图书信息查询、统计的方便快速,还要根据需要对图书的去向和来源进行统计用信息编码。
数据库设计:
本系统实现了系统登录功能,而系统登录需要账号和密码,这就需要创建一个“系统帐号”数据表,用来存储系统登录用的账号和密码。
本系统要实现图书资料和学生资料的管理,所以需要创建“学生信息”数据表和“图书信息”数据表。
“学生信息”数据表中包含了学生的“系别”信息,在本系统中为了简化系别的管理,另外创建了一个“系别”数据表用来存储系别的信息,在“学生信息”数据表中只存储系别的编号。
由于系统要实现读者借还书功能、还要实现读者借还书记录的查看,所以还需创建一个“读者借书记录”数据表来保存读者的借阅记录。
3.4创建数据库
3.4.1数据库表描述
“系统帐号”数据表字段属性设置
字段名
数据类型
说明
帐号
字符型
字段宽度10索引字段,不能为空
密码
字段宽度10
姓名
“系统帐号”数据表字段属性设置
“学生信息”(Student)数据表字段属性设置
学号
字段宽度6,主索引字段,输入掩码为“999999”
性别
字段宽度2
系别
字段宽度4,为普通索引
班级
地址
字段宽度30
“图书信息”数据表字段属性设置
图书编号
字段宽度6,主索引字段,输入掩码为“AA9999”
图书类别
图书名称
字段宽度40
图书作者
字段宽度20
出版社
图书价格
货币型
字段宽度8
借阅次数
数值型
字段宽度4,默认值0
是否借出
逻辑型
字段宽度1,默认值“.F.”
对“图书信息”(Book)数据表的字段属性设置需要说明的是“借阅次数”和“是否借出”字段的默认值一定要设置,因为对于新添加的图书,其一定是没有被借出的,而且其借阅次数一定是0,所以在表单中向数据表添加记录时,这两个字段应该是不需要添加的,可以由默认值生成。
“读者借书记录”数据表字段属性设置
字段宽度8,普通索引字段,输入掩码为“999999”
号码
字段宽度6,普通索引字段,输入掩码为“9999”
字段宽度6,普通索引字段,输入掩码为“AA999”
字段宽度20,
3.4.2物理配置方案设计
物理配置方案设计:
图书馆管理信息系统采用两台服务器构成双机备份结构,保证提供实时服务。
为保证较快的响应时间,选用处理速度较快的计算机系统,内存大小对数据库系统的响应速度影响较大,选择内存教大的系统。
网络通信速度选用100Mbit/s/1000Mbit/s。
为保证系统中的信息安全,配置必要的数据备份设备(采用外部备份方式)。
3.5系统开发环境
3.5.1java编程语言
Java是一种编程语言,被特意设计用于互联网的分布式环境。
Java具有类似于C++语言的“形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种“以对象为导向”的方式。
使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。
另外,Java还可以被用来编写容量很小的应用程序模块或者applet,做为网页的一部分使用。
applet可使网页使用者和网页之间进行交互式操作。
3.5.2MYSQL数据库
MySQL(发音为"
myesscueel"
,不是"
mysequel"
)是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
由于MySQL是开放源代码的,因此任何人都可以在GeneralPublicLicense的许可下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和适应性而备受关注。
大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
MySQL的优点:
1.它使用的核心线程是完全多线程,支持多处理器。
2.有多种列类型:
1、2、3、4、和8字节长度自有符号/无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、和ENUM类型。
3.它通过一个高度优化的类库实现SQL函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何内存分配。
没有内存漏洞。
4.全面支持SQL的GROUPBY和ORDERBY子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。
你可以在同一查询中混来自不同数据库的表。
5.支持ANSISQL的LEFT0UTERJOIN和ODBC。
6.所有列都有缺省值。
你可以用INSERT插入一个表列的子集,那些没用明确给定值的列设置为他们的决省值。
7.MySQL可以工作在不同的平台上。
支持C、C++、Java、Perl、PHP、Python和TCLAPI。
3.5.3tomcat6服务器
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;
而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
4代码实现
4.1系统截图说明
4.1.1登陆页面
4.1.2用户注册
4.1.3主页面
4.1.4图书入库登记
4.1.5图书搜索
4.1.6图书借阅登记
4.1.7图书归还登记
4.1.8个人图书管理
4.2jsp代码
bookLend.jsp
<
%@pagelanguage="
java"
import="
java.util.*"
pageEncoding="
UTF-8"
%>
%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"
:
//"
+request.getServerName()+"
"
+request.getServerPort()+path+"
/"
;
Stringbs=request.getParameter("
bs"
);
StringviewTitle="
;
if(bs.equals("
js"
)){
viewTitle="
图书借阅登记"
}else{
还书登记"
}
!
DOCTYPEHTMLPUBLIC"
-//W3C//DTDHTML4.01Transitional//EN"
>
html>
<
head>
basehref="
%=basePath%>
title>
%=viewTitle%>
/title>
metahttp-equiv="
pragma"
content="
no-cache"
cache-control"
expires"
0"
keywords"
keyword1,keyword2,keyword3"
description"
Thisismypage"
--
linkrel="
stylesheet"
type="
text/css"
href="
styles.css"
-->
scripttype="
text/javascript"
src="
js/jquery-1.4.2.js"
/script>
js/bookLend.js"
/head>
body>
<
inputtype="
hidden"
name="
basePath"
id="
value="
%=basePath%>
/>
<
fieldset>
legend>
/legend>
formname="
form1"
method="
post"
action="
servlet/bookLendServlet"
p>
<
labelstyle="
font-size:
13px;
请输入借阅者用户名:
text"
username"
value="
onblur="
get_userMsg(this)"
/>
/label>
spanid="
uSpan"
style="
color:
red"
/span>
hr/>
divname="
uDiv"
/div>
/p>
请输入图书ISBN号:
ISBN"
get_bookMsg(this)"
iSpan"
iDiv"
inputstyle="
width:
56;
height:
25"
button"
hBtn"
id="
提交"
onclick="
handJudge('
%=bs%>
'
)"
/form>
/fieldset>
/body>
/html>
Login.jsp
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"
登陆页面<
js/login.js"
styletype="
table{
position:
fixed;
_position:
absolute;
top:
50%;
left:
margin-top:
-100px;
/*表格高的一半*/
margin-left:
-100px/*表格宽的一半*/
}
.body{
filter:
progid:
DXImageTransform.Microsoft.
AlphaImageLoader(src='
./images/log1.jpg'
sizingMethod='
scale'
/style>
bodyclass="
body"
leftmargin="
topmargin="
marginwidth="
marginheight="
servlet/loginServlet"
method="
tablealign="
center"
white"
tr>
td>
用户名:
/td>
20px;
150px;
userSpan"
red;
display:
none"
*请输入用户名<
/tr>
密码:
password"
pwdSpan"
*请输入密码<
验证码:
yzm"
onfocus="
viewYzm()"
yzmSpan"
*请输入验证码<
trname="
yzmTr"
&
nbsp;
imgsrc="
yzm.jsp"
style="
cursor:
hand;
100%;
45"
vdimgck"
javascript:
this.src=this.src+'
?
rnd='
+Math.random();
alt="
title="
看不清,点击刷新"
tdcolspan='
2'
viewWrongMsg"