软件体系结构构.docx
- 文档编号:30162845
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:36
- 大小:122.53KB
软件体系结构构.docx
《软件体系结构构.docx》由会员分享,可在线阅读,更多相关《软件体系结构构.docx(36页珍藏版)》请在冰豆网上搜索。
软件体系结构构
软件体系结构
课程报告
姓名:
陈鹏
学号:
10144103
班级:
10软件1W
院系:
计算机工程学院
日期:
2012.11.18
任课教师:
陈晓平
目录
1引言2
1.1编写目的3
1.2背景3
1.3定义3
1.4参考资料4
2任务概述4
2.1目标5
2.2用户特点5
3功能需求5
3.1对功能的规定5
3.2对性能的规定6
4外部接口需求6
4.1用户接口7
4.2硬件接口7
4.3软件接口7
4.4通信接口7
5质量需求7
6数据库7
7操作7
1引言
摘要
随着现代科学技术的进步,人类社会正逐渐走向信息化。
图书拥有丰富的文献信息资源,是社会信息系统的重要组成部分,在信息社会中的作用愈来愈重要。
我国图书计算机等信息技术的应用起步于20世纪70年代末期,随着改革开放的步伐得以迅速发展,特别是90年代以后,我国图书信息网络建设取得了较大发展,图书信息化建设迈上了一个新台阶。
本文介绍了开发图书管理信息系统的过程。
文章介绍了图书管理信息系统的系统分析部分,包括可行性分析、图书借阅流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计,本系统界面友好,操作简单,比较实用。
1.1编写目的
图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。
我们小组开发图书管理信息系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。
1.2背景
开发软件名称:
图书馆管理系统
项目任务提出者:
项目开发者:
陈鹏
用户:
系统管理员、操作员、读者
本系统主要利用MyEclipse6.5语言做前端的应用开发工具,利用Mysql5.0作为后台的数据库,利用WindowsXP作为系统平台。
1.3、定义
(1)系统:
图书馆管理软件
(2)图书信息:
图书的基本信息,包括书名、图书编号、作者、出版社、索书号、库存数量以及库存位置等,以供于读者查阅。
(3)借书记录:
包括借阅者的姓名、班级、借书卡ID号以及所借图书的书名、借书日期等
(4)借阅规则:
对不同的借阅者有不同的规定借阅图书数量和借阅时间,对不同的违章情况有不同的罚款措施。
1.4参考资料
教材:
软件体系结构原理/实践与方法张友生等清华大学出版社2008
2.参考书籍
●软件体系结构(第2版)张友生等清华大学出版社2006-11
●软件构架实践(第2版)(SOFTWAREARCHITECTUREINPRACTICE,SECONDEDITION)(美)LENBASS,PAULCLEMENTS,RICKKAZMAN清华大学出版社2004-3
●软件体系结构:
(美)MARYSHAW;DAVIDGARLAN牛振东江鹏金福生等编译清华大学出版社2007-3-1
●大型软件体系结构:
使用UML实践指南作者:
(美)JEFFGARLANDRICHARDANTHONY译 者:
叶俊民汪望珠电子工业出版社2004-3
●软件架构设计温昱电子工业出版社2007-3
●面向模式的软件体系结构卷1:
模式系统FrankBuschmann,RegineMeunier,HansRohnert,PeterSornmerlad,MichaelStal著,1996.译者:
贲可荣郭福亮等)
3.参考课程网站
●http:
//125.71.228.222/wlxt/ncourse/72231330/web/website/sadp/index.html电子科技大学软件体系结构与设计模式
●http:
//210.42.106.79:
8080/course/index.htm华中科技大学软件体系结构
4.参考网站
●豆丁网
●维普资讯
●万方数据资源系统
2任务概述
2.1目标
实现题目所要求的系统功能
●图书检索系统:
通过图书证读者可以进行查询图书馆书目
●图书管理系统:
管理员可以通过此系统对书进行借出登记、增加/删除新书、查询书目信息
2.2用户特点
图书馆信息管理系统的用户有三种:
图书管理员,操作员,读者。
1)系统管理员:
具有最高的权限,可以执行本系统的所有操作,如:
对用户的增删,各种资料的修改,各种条件下的查询和对数据库的各种操作。
2)操作员:
只有很小的权限,代理用户办理借书卡、借阅图书,对图书馆进行一些日常的维护。
3)读者:
可以使用系统的部份功能,如:
对图书馆图书信息进行各种条件下的查询。
3功能需求
3.1对功能的规定
制作的图书管理系统对系统支持和支持的并行操作用户指标作出以下规定:
图书馆客户端的台数:
200台
系统支持的终端书:
3个
支持的并行操作用户指标:
>200
3.2对性能的规定
3.2.1精度
鉴于图书馆数量的要求,输入输出的精度应控制在0.01
4外部接口需求
4.1用户接口
1)对系统各个功能模块,以分级菜单的形式给出;
2)所有的提交,确认,删除等操作以按钮的形式给出,且名称一律为取为“提交”、“确认”、“删除”等易于理解的形式;
4.2硬件接口
由于管理人员需要打印各种图书、读者信息报表,所以系统应该与打印机接口匹配。
4.3软件接口
无
4.4通信接口
支持局域网协议
5质量需求
根据各类读者统计信息计算,系统在正常情况下应该支持200以上的并行操作能力,高峰期间读者要进行集中查询图书信息,应支持100以上并行处理能力;高峰期间服务器端应支持500次以上的日访问量。
6数据库
鉴于图书馆管理系统涉及的数据对于图书馆的日常管理的重要性,数据库应提供严格的输入检测,出错恢复机制;数据必须一个每天进行一次备份,由于本信息涉及信息量巨大,应以天为周期进行增量备份,以季度为周期进行海量备份。
7操作
操作应该简单易行,各个功能模块界面风格统一。
概要设计说明书
2总体设计
2.1需求规定
按照需求分析文档中的规格要求,使用条形码扫描进体统,从而进行借书、还书,
2.3基本设计概念和处理流程
3.1数据库设计
注册表(卡号(PK),用户名,密码,班级或部门,性别,角色,登记日期,审核情况)
学生(学号(PK),用户名,卡号(FK),班级,所在系,性别,借书次数,登记日期)
教师表(教师编号(PK),用户名,卡号(FK),职称,所在系,部门,性别,角色,借书次数,登记日期)
图书表(图书编号(PK),书名(FK),类别,作者,出版社,出版日期,图书总数,现存数量,借出数量)
借书表(图书编号(PK),书名,卡号(FK),用户名,借书本数,借出日期,应还日期,角色,审核情况)
还书表(卡号(PK),用户名,图书编号(FK),书名,登记日期,角色,审核情况)
期限表(图书编号(PK),书名,角色,借出日期,应还日期,天数)
3.2、图书管理的数据库表结构
学生注册表(StuRegister)结构
列名
含义
数据类型
是否为空
约束
默认值
备注
Card_ID
卡号
Char(10)
N
PK
UsrName
用户名
Varchar(4)
N
Class
班级
Char(6)
N
Gender
性别
Char
(2)
‘男’或’女’
Check约束
RgDate
登记日期
Datetime
UsrPass
审核情况
Char(4)
通过或不通过
学生信息表(student)结构:
列名
含义
数据类型
是否为空
约束
默认值
备注
Stu_ID
学号
Char(10)
N
PK
Stu_Name
用户名
Varchar(4)
Card_ID
卡号
Char(10)
N
Class
班级
Char(6)
N
DeptCode
所在系
Char(8)
Gender
性别
Char
(2)
‘男’或’女’
Check约束
Brbk_times
借书次数
Int(50)
N
参考借阅表
RgDate
登记日期
Datetime
教师注册表(TechRegister)结构
列名
含义
数据类型
是否为空
约束
默认值
备注
Card_ID
卡号
Char(10)
N
PK
UsrName
用户名
Varchar(4)
N
Usrpwd
密码
Char(10)
N
Departmen
部门
Char(6)
N
Gender
性别
Char
(2)
‘男’或’女’
Check约束
RgDate
登记日期
Datetime
UsrPass
审核情况
Char(4)
通过或不通过
教师信息表(teacher)结构:
列名
含义
数据类型
是否为空
约束
默认值
备注
Tech_ID
教师编号
Char(10)
N
PK
Tech_Name
用户名
Varchar(4)
Card_ID
卡号
Char(10)
N
FK
Tech_Title
职称
Char(6)
N
DeptCode
所在系
Char(8)
Departmen
部门
Char(6)
Gender
性别
Char
(2)
‘男’或’女’
Check约束
Brbk_times
借书次数
Int(50)
N
参考借阅表
RgDate
登记日期
Datetime
图书表(Book)结构表:
列名
含义
数据类型
是否为空
约束
默认值
备注
Bk_ID
图书编号
Char(10)
N
PK
001
Bk_Name
书名
Int
FK
Bk_Style
类别
Char(30
N
BK_Author
作者
Char(8)
N
Bk_Press
出版社
Int
Bk_Pressdate
出版日期
Datetime
BkTotalNum
图书总数
Int
’
Bk_RemainNum
现存数量
Int
N
Bk_BrNum
借出数量
Int
N
参考借阅表
借书表(bkborrow)表结构:
列名
含义
数据类型
是否为空
约束
默认值
备注
Bk_ID
图书编号
Char(10)
N
PK
Bk_Name
书名
Varchar(4)
N
Card_ID
卡号
Char(10)
N
FK
UsrName
用户名
Int
Brbk_Num
借书本数
Int
Lendbkdate
借出日期
Datetime
N
Bkdate
应还日期
Datetime
借出时间+期限表.天数
Role
角色
Char(4)
N
学生或教师
UsrPass
审核情况
Char(4)
通过或不通过
还书表(hsb)结构表:
列名
含义
数据类型
是否为空
约束
默认值
备注
Card_ID
卡号
Char(10)
N
PK
UsrName
用户名
Varchar(4)
N
Bk_ID
图书编号
Char(10)
N
FK
Bk_Name
书名
Int
RgDate
登记日期
Datetime
Role
角色
Char(4)
N
学生或教师
UsrPass
审核情况
Char(4)
通过或不通过
期限表(Time_Limit)表结构:
列名
含义
数据类型
是否为空
约束
默认值
备注
Bk_ID
图书编号
Char(10)
N
PK
Bk_Name
书名
Int
Role
角色
Char(4)
N
学生或教师
Lendbkdate
借出日期
Datetime
Bkdate
应还日期
Datetime
借出时间+期限表.天数
Over_Day
逾期天数
Int
N
Bk_ID
图书编号
Char(10)
N
PK
Bk_Name
书名
Int
Over_Day
逾期天数
Datetime
N
3.3、系统各模块具体功能设计概要说明
根据系统需求分析将用户分为不同权限得到如下的具体功能设计:
功能名称
功能编号
简要说明
1.登录认证
1
登录(index.jsp)
2.读者可使用
功能
2.1
检索图书(searchBookR.jsp)
2.2
查询借阅历史(borrowHistoryR.jsp)
2.3
查询未还书(notReturn.jsp)
2.4
查询读者基本信息(ShowReaderInfo.jsp)
2.5
修改密码(ModifyReaderPsw.jsp)
3.图书借阅管理员可使用功能
3.1
检索图书及相应的图书信息(searchBook.jsp)
3.2
检索读者信息,包括借阅历史等(searchReader.jsp)
3.3
查询未还图书(BookNR.jsp.jsp)
3.4
读者借阅图书办理(borrowBook.jsp)
3.5
读者还书办理(ReturnBook.jsp)
3.6
图书挂失处理(lossBook.jsp)
4.图书入库管理员可使用功能
4.1
图书入库操作(BookRegister.jsp)
4.2
图书基本信息修改(ModifyBook.jsp)
1、登录认证:
①登录需要用户名和密码,只有用户名和密码同时正确,才可进入系统;如果登录信息有错则提示相应出错信息。
②管理员和读者公用一个登录页面,根据用户名不同来区分是管理员还是读者
注:
如果用户试图不通过登录认证而直接进入系统,则强制其先进入登录认证页面进行登录
2、读者可使用功能
在登录认证为读者身份后进入读者操作页面
①检索图书:
可根据图书ID、名字、作者、出版社、类别ID进行检索,并可两两以“或”或“和”方式任意组合来检索,并支持模糊查询和精确查询。
检索到满足条件的图书列表后,可点击相应图书来查看此图书的详细信息。
②查询本人基本信息:
可查看读者的注册时填写的所有基本信息。
③查询本人借阅历史:
可查看本人六个月内和一年内的详细借阅历史。
④查询未还书:
可查看本人未还的书籍信息,包括借阅时间、应还日期等。
⑤修改密码:
可修改读者本人密码,修改密码时要进行旧密码验证,同时两次输入新密码,全部正确之后才可以进行密码修改。
3、图书借阅管理员可使用功能
在登录认证为图书借阅管理员后进入图书管理员管理页面
①检索图书:
可根据图书ID、名字、作者、出版社、类别ID进行检索,并可两两以“或”或“和”方式任意组合来检索,并支持模糊查询和精确查询。
检索到满足条件的图书列表后,可点击相应图书来查看此图书的详细信息
②检索读者:
可根据读者ID、用户名进行检索,可两两以“或”或“和”的方式任意组合来进行检索,并支持模糊查询和精确查询。
检索到满足条件的读者后,可点击相应连接来查询读者的详细基本信息和六个月之内或一年之内的详细借阅历史以及未还书列表。
③查询未还图书:
查询所有未还的图书列表,列表中包括借阅图书的读者ID、图书ID、借阅时间。
④读者借阅图书办理:
根据读者ID和图书ID办理借阅,不同会员级别借阅期限不同。
借阅成功则插入相应记录到数据库借阅表,系统自动为此条记录分配ID。
⑤读者还书办理:
根据读者ID和图书ID办理还书业务。
还书成功则修改借阅表中的相应字段为已换。
同时,对逾期还书的读者进行罚款处理。
⑥图书挂失处理:
根据读者ID和图书ID办理图书挂失业务,挂失成功则修改借阅表中相应字段为挂失状态,同时,对挂失读者进行罚款处理。
4、图书入库管理员可使用功能:
①图书入库操作:
录入图书详细信息,系统自动为图书分配ID,操作成功后将相应信息插入数据库中图书表
②图书基本信息修改操作:
根据图书ID查询到图书的详细信息后对相应信息进行修改,并修改数据库图书表中的相应记录。
4系统结构设计
4.1总体结构设计
根据图书管理需求分析,该系统需要实现图书管理、读者管理、图书管理三大功能。
主要包括系统设置、图书管理、读者管理、借阅管理四个模块。
其总体结构设计图如图所示:
4.2图书管理员操作示意图
本系统的操作都是由管理员来实现的,根据图书管理需求分析,图书管理系统首先需要用户进行登录,设置权限进行登录。
其示意图如图所示:
4.3数据库设计
为了实现图书管理系统永久性地存储数据,这里采用了Access数据库。
[6]在Accesss软件中,创建数据库及studentbook作为保存数据的位置,共包含5张表。
下面分别给出这些数据表的概要说明级主要数据表的结构。
4.3.1逻辑结构设计
图书信息(book)表:
图书编号,图书名称,图书作者,图书出版社,ISBN号,图书数量;
借阅信息(bookjie)表:
图书编号,图书名称,借阅数量,借书人名称
借书日期,借阅证号码;
借阅证信息(jie)表:
借阅证编号,学生学号,学生名称,学生院系;
图书管理员(librian)表:
管理员名称,管理员密码;
系统管理员(manager)表:
管理员名称,管理员密码。
4.3.2物理结构设计
(1)book表
book表主要用来保存图书的基本信息。
添加和删除图书等操作采用的数据主要依据该表信息。
表book的文字说明如表所示:
字段名
数据类型
是否允许空
备注
bookid
自动编号
否
编号
bookname
文本
否
名称
bookauthor
文本
否
作者
bookpublish
文本
否
出版社
bookISBN
文本
否
ISBN号
bookshu
文本
否
数量
(2)bookc表
bookc表主要用来保存学生的借阅信息。
借书和还书等操作采用的数据主要以依据该表信息。
表bookc的文字段说明如表所示:
字段名
数据类型
是否允许空
备注
bookid
文本
否
编号
booktitle
文本
否
名称
bookstatus
文本
否
借阅数量
studentname
文本
否
借书人名称
bookdate
日期/时间
否
借书日期
studentid
文本
否
借阅证号
(3)jie表
jie表主要用来保存学生的借阅证信息。
添加借阅者和删除借阅者等操作采用的数据主要依据该表信息。
表jie的字段说明如表所示:
字段名
数据类型
是否允许空
备注
studentid
自动编号
否
借阅证编号
stuid
文本
否
学生学号
stuname
文本
否
学生名称
studept
文本
否
学生院系
(4)Liabrian表
Liabrian表主要用来保存图书管理员的用户名和密码。
添加管理员、删除管理员和修改密码等操作采用的数据主要依据该表信息。
表Liabrian的字段说明如表所示:
字段名
数据类型
是否允许空
备注
name
文本
否
管理员名称
password
文本
否
管理员密码
(5)manager表
manager表主要用来保存系统管理员的用户名和密码。
添加系统管理员、删除系统管理员和修改密码等操作采用的数据主要依据该表信息。
表manager的字段说明如表4-5所示:
字段名
数据类型
是否允许空
备注
name
文本
否
管理员名称
password
文本
否
管理员密码
4.3.3数据库访问
JDBC是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一的访问,它由一组用Java语言编写的类和接口组成。
用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统。
[7]
本系统用JDBC来访问、操作数据库的。
JDBC可以实现三个功能:
与数据库建立连接、向数据库发送SQL语句,获取并处理结果集。
Connection对象代表与数据源进行的唯一会话。
如果是客户端/服务器端数据库系统,则该对象可以等价于到服务器的实际网络连接。
在开发图书管理系统的过程中,会进行添加、删除和获取数据库记录集等操作,而这些操作经常需要连接数据库。
本软件采用了一个类将连接数据库和常用的数据库操作进行了封装。
实现封装数据库的功能关键代码如下:
classBookCon{
Connectioncon=null;
Statementstmt=null;
ResultSetrs=null;
publicvoidjspInit()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//载入驱动程式类别
con=DriverManager.getConnection("jdbc:
odbc:
stub");//建立数据库连接
//建立Statement变量
stmt=con.createStatement();
}
}
publicvoidExcu(Stringsql){//SQL语句更新
jspInit();
try{
stmt.executeUpdate(sql);
}catch(Exceptione){
System.out.print(e.toString());
}
}
//获取数据库记录集对象
publicResultSetgetRs(Stringsql)th
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构