基于Web的图书查询系统的设计与实现Word文档格式.docx
- 文档编号:5750186
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:28
- 大小:599.15KB
基于Web的图书查询系统的设计与实现Word文档格式.docx
《基于Web的图书查询系统的设计与实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于Web的图书查询系统的设计与实现Word文档格式.docx(28页珍藏版)》请在冰点文库上搜索。
1系统应该能完成新到图书的录入,进行废旧图书的删除和图书信息的修改;
2系统应该可以任意的添加和删除管理员,和进行权限管理;
3系统用户能按作者、书名、图书分类、出版社、内容等有效的查询图书。
第一章系统规划
1.1概述
随着社会发展,图书馆的藏书数据非常丰富,提供有效快速的查询,能满足广大用户的需求。
利用因特网环境及Web数据库技术去开发图书查询系统,用户只需输入所需的查询条件,便可查找出相应的图书。
该系统不但满足用户查阅的需求,也使更多的人去检索图书信息,实现资源共享。
对于管理员来说,能更便捷地堆数据进行插入、删除、修改等操作,降低人员的工作量。
1.2组织机构
图书查询系统只有一个职务:
管理员。
但是分为一般管理员,只对图书进行管理;
还有系统管理员,可以对图书和人员进行管理。
1.3组织目标
1实现对在馆图书的按类别、书名、作者、是否已被借出等多方面的在线查询。
2实现对新书入库、旧书注销等处理,并建立书籍档案,方便图书管理。
1.4需求概要
1.5组织职能域
将该要操作归入2个职能域:
1、管理人员管理
2、图书管理
1.6可行性分析
1.6.1技术可行性
本系统利用JSP+JavaBean+Servlet技术实现。
在系统中,采用JSP实现数据表示,Servlet实现数据的控制,JavaBean实现数据模型。
在开发工具上使用了Dreamweaver,数据库采用Access实现了图书的查询和管理等功能。
1.6.2经济可行性
本系统运行于原有的计算机软、硬件上不需要投入多少资金
本系统带来的好处:
(1)图书管理人员工作环境的改善,降低了工作量。
(2)图书查询的高效率。
应用本系统带来的人力节省费用将大于投入费用
1.6.3社会可行性
1.7 系统开发工具及运行环境
开发工具:
JSP+Servlet+JavaBean;
服务器:
Tomcat;
后台数据库:
ACCESS;
客户端为Windows2000/XP以及更高版本的操作系统。
第二章图书查询系统业务用例建模
2.1图书查询系统业务流程分析
2.1.1新书入库流程分析
新图书到达后,管理员将新书清点、分类放入书库中。
2.1.2旧书处理流程分析
管理员检查、盘点将旧书、被损坏的书从书库中搬出,处理掉。
2.1.3图书管理业务流程分析
管理员检查核对书库中的书。
2.2业务需求用例建模阶段
2.2.1业务角色的查找及建立
根据此图书查询系统的分析知,该系统所涉及的业务角色有:
2.2.2业务用例查找与分析
根据业务流程可以找到基本的业务用例有:
1新书入库
管理员将新书放入书库中。
2旧书处理
管理员将旧书从书库中搬出,处理掉。
3图书管理
管理员必须随时检查书库。
2.2.3业务用例图
2.3系统基本功能描述:
根据图书查询系统业务过程分析知系统的基本功能有图书插入管理,旧书删除管理与人员管理三大模块,系统功能图如下:
第三章图书查询系统分析
3.1系统需求用例分析
3.1.1确定系统角色:
一个角色可以是人、硬件设备、甚至另外一个系统。
对于一个系统而言,每种类型的用户表示为一个或几个角色,每个与该系统交互的外部系统也表示为一个或几个角色。
图书查询系统中,我们通过分析,可以找出这样一些角色:
系统管理员、一般管理员和用户。
3.1.2确定系统顶层用例
一般的uml的需求描述方法是用用例图来表达角色、用例及其之间的关系,用文字形式的事件流文档具体描述用例细节。
根据系统的业务过程分析与用户的需求分析,系统的顶层用例如表所示:
参与者
用例说明
管理人员
人员管理,有由具有更高权限的管理员添加新管理员名称,密码,权限和删除管理员信息。
图书管理,有进行新书入库、删除图书和图书信息。
用户
查询图书,用户可更具作者、书名、图书分类、出版社和内容等查询图书
系统得顶层用例图如下:
3.1.3图书查询系统功能性分析:
根据业务描述,我们知道此模块应该要实现的功能大致如下:
1添加管理员
由具有更高权限的管理员添加新管理员名称,密码,权限。
2删除管理员
由更高权限的管理员删除管理员信息。
3图书维护
管理员进行新书入库、删除图书和图书信息。
4图书查询
用户可更具作者、书名、图书分类、出版社和内容等查询图书。
系统的分层用例图如下:
3.1.4身份验证用例描述:
身份认证:
要求用户输入正确的用户名和密码。
如果输入错误,系统将持拒绝用户登录并要求再次输入。
这将有效的防止他人窃取你的私人信息。
3.1.5添加信息用例描述:
添加信息功能:
添加新书信息或新管理员信息。
功能:
完成增加功能。
输入项目:
键盘命令。
输出项目:
无。
3.1.6删除信息用例描述:
删除功能:
删除旧书信息或管理员信息,并且提供确认机制。
完成删除功能。
3.1.7更新信息用例描述:
更新信息功能:
修改管理员信息或图书信息。
完成更新信息功能。
键盘命令
无
3.1.8查询图书用例描述
可以进行:
(1)作者匹配查询;
(2)书名匹配查询;
(3)图书分类匹配查询(包括多个域);
(4)出版社匹配查询;
(5)内容匹配查询;
完成查询功能。
性能:
响应时间控制在1~2秒内。
查询条件。
输出项目:
标准的SQL语句,发送设置浏览区命令。
测试要点:
测试各种查询方式。
3.2系统扩展功能需求用例分析
1、权限管理:
给操作员分配相应的权限。
2、数据备份:
将所有数据表信息定期保存在磁盘中,确保数据的安全性与可靠性。
3、数据恢复:
将备份文件恢复到数据库中。
3.3系统整体功能描述
系统整体功能图如下:
第四章图书查询系统分析模型建模
4.1定义概念类
1、图书查询系统的概念类列表:
所属类型
概念类举例
人员
组织
物品
设备
事件
规格说明
政策或规则
管理员、用户
暂无
图书
查询
2、图书查询系统的概念类
4.2识别对象属性:
属性是概念类自身拥有的特性。
从概念建模的角度看属性越简单越好,要保持属性的简单性,应做到:
1、仅定义与系统责任和系统目标有关属性。
2、使用简单数据类型来定义属性。
3、不使用可导出的属性。
4、不为对象关联定义属性。
按照以上规则,识别出图书查询系统中概念类的属性,新的领域模型产生了。
定义了属性的概念类
4.3识别对象的关系
识别对象的关系,包括建立类与类之间的泛化关系,对象的关联关系。
4.3.1识别关联
关联表示不同类的对象之间的结构关系,他在一段时间内将多个类的实例连接在一起。
人们常用关联名称、角色、多重性和向导性来说明关联。
带关联的领域模型
4.3.2识别泛化
泛化是在多个概念之间识别共性,定义超类和子类关系的活动。
在领域模型中识别超类与子类具有重要价值,可以利用更普遍更抽象的方式来理解概念,从而使概念的表达简约,帮助理解并减少概念信息的重复。
4.4建立交互图
4.4.1类图
4.4.2顺序图
顺序图描述涉及用例实现的多个对象实例以及对象交互时传递的消息,并按照用例的执行步骤为顺序指明对象交互顺序。
4.5系统扩展功能
我们对操作进行编码,为每个操作角色赋予相应的操作权限,形成操作权限表,系统管理员能根据需要灵活地对操作角色的操作权限进行赋予与修改,以此有效灵活地对用户的操作权限进行控制。
1)权限管理
对系统的权限编号的权限内容进行权限的管理,如修改客户权限的权限大小,入库管理员的权限大小等操作:
填加角色的顺序图
删除角色的顺序图
修改用户权限顺序图
修改用户密码顺序图
修改权限信息表
2)数据备份:
将所有数据表信息定期保存在磁盘中。
系统功能实现的顺序图如下:
3)数据恢复
用备份文件替换受损文件。
实现的顺序图如下:
第五章系统设计
5.1系统构架设计
包是类或者文件的组合,在入库系统的开发中,我们定义了用户接口包,入库管理类包,数据存储包,以及在开发中涉及到的java包。
用户接口:
通过用户接口类,用户可以浏览系统中的数据、输入新的数据。
其操作是通过调用业务逻辑中的操作来完成的。
业务逻辑:
主要包括应用系统的对象(它们是对现实世界的模拟),定义了这些对象的行为以及它们为数据存取层提供了数据操作功能。
数据存取:
提供服务给业务逻辑层中的类,以及类的定义。
图书查询系统的设计架构:
5.2设计软件类
5.2.1识别软件类
软件类是设计阶段中讨论的对象和类,也称设计类。
1、界面类
2、控制类
3、实体类
4、如图,管理员修改图书信息的实体类、控制类、边界类和参与者的协作。
5.2.2设计属性
5.2.3建立用户界面原型
1、人员管理界面原型
2、图书管理界面原型
3、图书查询界面原型
第六章系统实现测试与配置
6.1系统实现的工具与技术
本次系统地开发工具有Dreamweaver,MicrosoftVisio2003中文版,Access,以及Tomcat;
Tomcat是一个开放源代码、运行servlet和JSPWeb应用软件的基于Java的Web应用软件容器。
系统开发在Dreamweaver中开发JavaServlet,jsp页面,以Tomcat作为应用程序服务器,Access作为数据库服务器。
6.2系统实现方式图
系统配置图:
系统组件图:
UML是用组件来表示代码物理模块的。
组件可以包括代码库和运行文件。
在生成代码之前,将每个文件映射相应组件。
在本系统中,使用的是JSP开发。
每个类映射一个组件,表示这个类的.jsp文件。
生成代码时,Rose用组件信息创建相应的代码库文件。
本系统构造的组件图框架如下:
6.3系统测试与系统实现界面
系统的测试以用例图,类图,顺序图,为依据,测试实现的部分是否满足用例的功能要求。
系统实现界面:
1管理员登录界面
2图书名称查询界面
3作者查询界面
第六章系统开发的思考
6.1数据库设计问题
现在的开发环境越来越多的是面向对象的,而存储机制却是不同于此的关系型数据库,这两者之间存在着很大差异。
这种差异使系统的开发活动不能统一。
典型的情况是,越来越多的应用系统是三层甚至多层体系结构,在此情况下,用户接口层和业务逻辑层是用面向对象技术开发的,而数据库多数仍然是关系型的。
因此,在采用面向对象建模技术分析获得对象模型后,怎样得到关系型的数据库呢?
这也是我们本次系统开发中遇到的问题。
(1)属性类型映射成域
UML中的属性类型(AttributeType)映射成数据库中的域(Domain)。
域的使用提高了设计的一致性,且优化了应用的移植性。
简单的域是非常容易实现的,仅仅需要替换相对应的数据类型和数据的尺寸。
同时,对于使用域的属性,可能要求为域的约束加入SQL的Check串。
例如,限定域的取值范围等。
枚举域(EnumerationDomain)限定了域允许取值的集合。
其实现通常有几种方法:
定义SQL约束来限定取值;
为每个枚举值定义标志;
枚举表;
对枚举值进行编码等。
在本系统地开发中,所有涉及到枚举型的数据象,我们都单独设置一表来表达,例如计量单位表中就是入库单等表中计量单位数据项的一枚举约束。
(2)类的属性映射至关系数据库表中的列
属性可以直接映射为表中的零到多列。
通常,一个属性映射为表中的一列,但也有例外:
①对于非持久的属性可以不进行映射,有些属性置只做为中间值用于计算而不需保存在数据库中。
②某些对象属性本身就是对象,客户中的地址属性(如果较复杂)可以映射为数据库表或多列。
此时,属性映射成多个字段。
反之,也可以将多个相似的简单属性映射为一列。
(3)类映射成表
类到表的映射通常不是直接的。
只有非常简单的应用,类与表之间才会存在一一对应的关系。
6.2数据库访问设计问题
上面的实体对象映射到数据库表,主要是考虑UML的静态模型到数据库的映射,我们继续讨论动态模型在数据库设计中的实现,主要是数据库存取部分设计。
一般来说,数据库存取部分设计主要有以下几种策略:
(1)每个对象或类自己负责数据库的访问工作.
这种方法不需要专门的服务类,但是业务逻辑和数据操作逻辑都集中在业务类中,任务划分不清晰,业务类既要处理业务逻辑,又要处理数据操作,其中每一个的改动,都会影响到这个业务类。
(2)利用开发环境提供的机制
许多开发环境提供了初级的访问关系数据库的机制,它们是很好的一个开始。
常用的方法包括Microsoft的ODBC机制(开放数据库连接—ODBC)和Java数据库连接(JDBC),绝大多数面向对象的开发环境提供了封装这些标准方法之一的类库。
在本系统地开发中,我们用到了后者。
结束语
本文从面向对象的思想出发,讨论了UML建模的语法结构和UML的建模思路与过程,并基于此对图书查询系统进行了分析,设计,以及最后的实现与测试,由于篇幅有限,本文重点介绍了系统的设计部分,对系统的实现与测试只是选择重点分析。
从整个论文的撰写和用例的开发中,我对基于UML和统一过程的面向对象建模方法有了相当的认识。
在统一过程开发中,把一个较大的项目的功能分配到一个个用例上去实现,让开发过程变得比较轻松,更适合多个人共同开发;
同时,通过开发阶段的限制和迭代的划分,使开发过程的透明度更高,目标更明确,整个项目开发的风险也降低了。
参考文献
[1]《信息系统分析与设计》第3版王晓敏著清华大学出版社2006.6
[2]《JSP动态网站开发—基础教程与实验指导》王晓军清华大学出版社2008.11
[3]《JAVA程序设计—基础教程与实验指导》王占中清华大学出版社2008.11
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Web 图书 查询 系统 设计 实现