精华内容
下载资源
问答
  • PowerDesigner 绘制数据流

    千次阅读 2019-10-09 01:23:42
    打开 PowerDesigner 新建一个业务流程模型 Business Process Diagram 选择 Tools → Generate Business Process Model 生成业务流程模型 Process language 选择 Data Flow Diagram,填写名称等,确定 这时就会有 ...
    W by 米兰
     
    打开 PowerDesigner 新建一个业务流程模型 Business Process Diagram
    选择 Tools → Generate Business Process Model 生成业务流程模型
    Process language 选择 Data Flow Diagram,填写名称等,确定
    这时就会有 Data Flow Diagram 的工具栏,里面有数据存储和流程等工具
     
    原文来自网易博客:http://blog.163.com/csbqf@126/blog/static/612243712011111891919960/

    转载于:https://www.cnblogs.com/faylz/archive/2013/03/14/2958842.html

    展开全文
  • 对于超级管理员而言,主要是对学生借书证管理管理管理图书类别管理以及图书信息统计等;对于管理员而言,主要是对图书信息管理、学生借还图书审核以及图书信息统计等;对于学生而言,主要是浏览图书信息和搜索...

    摘要:本系统采用了浏览器/服务器架构进行设计,所使用的开发工具是IDEA,后端采用Java EE进行开发,前端采用Vue进行开发,数据库采用的是MySQL。本系统的角色主要包括超级管理员、管理员以及学生。对于超级管理员而言,主要是对学生借书证管理、管理员管理、图书类别管理以及图书信息统计等;对于管理员而言,主要是对图书信息管理、学生借还图书审核以及图书信息统计等;对于学生而言,主要是浏览图书信息和搜索图书信息、借阅图书信息和归还图书信息、查看个人借阅图书信息和个人归还图书信息等。

    备注:需要基于 Spring Boot 和 Vue 以及 Element UI 开发的图书管理系统毕业设计源代码的朋友,可在博主主页资源页面进行下载,内附安装流程,根据安装步骤可成功调试运行。

    1、开发工具

    (1)开发工具:IDEA 2018
    (2)数据库环境:MySQL 5
    (3)可视化工具:Navicat Premium 15
    (4)测试工具:postman
    (5)建模工具:PowerDesigner15

    2、功能模块

    图书管理系统主要分为三个系统角色,分别是超级管理员、管理员和学生,其中超级管理员主要对学生借书证、管理员信息、图书类别和图书数据统计进行管理;管理员主要对图书信息、图书借阅、图书信息统计进行管理;学生主要是查询图书、借阅图书和归还图书等功能。各个功能模块下还具有对应的子功能模块,子功能模块为画出。
    在这里插入图片描述

    3、系统全局E-R图

    在图书馆管理系统的数据库设计过程中,针对各个实体之间的关系,设计出本系统的全局E-R图,本系统有七个实体,则对应了七个数据表。
    在这里插入图片描述

    4、数据库连接代码

    在连接数据库过程中,采用Spring Boot的application.yml配置进行数据库的连接,在application.yml配置文件中,包含了端口服务配置以及数据源信息。在数据源信息中包含了数据库连接驱动,以及数据库的连接账号与密码。

    server:
      port: 8081
    spring:
      datasource:
        url: jdbc:mysql://localhost:3306/book?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
        username: root
        password: 123456
        driver-class-name: com.mysql.cj.jdbc.Driver
    

    5、系统功能展示

    系统功能模块展示过程中,仅展示部分功能模块,系统已具有的所以功能模块都能够成功实现。

    (1)系统角色登录系统的页面结果如下图所示:
    在这里插入图片描述

    (2)超级管理员分发学生借书证页面如下图所示:
    在这里插入图片描述
    (3)超级管理员可查看、修改和删除管理员信息的页面如下图所示:
    在这里插入图片描述
    (4)超级管理员修改删除查询图书类别信息的页面结果如下图所示:
    在这里插入图片描述
    (5)管理员可添加图书信息的页面结果如下图所示:
    在这里插入图片描述
    (6)管理员查看学生已借图书的页面结果如下图所示:
    在这里插入图片描述
    (7)管理员查看学生已归还图书页面结果如下图所示:
    在这里插入图片描述
    (8)管理员查看图书借阅排行榜页面结果如下图所示:
    在这里插入图片描述
    (9)学生浏览所有图书信息的页面结果如下图所示:
    在这里插入图片描述
    (10)学生按图书名称搜索图书信息的页面结果如下图所示:
    在这里插入图片描述
    (11)学生按图书类别查看所有图书信息的页面结果如下图所示:
    在这里插入图片描述
    (12)学生借阅图书申请的页面结果如下图所示:
    在这里插入图片描述
    (13)学生还书图书申请的页面结果如下图所示:
    在这里插入图片描述
    (14)学生查看个人曾经所借图书信息的页面结果如下图所示:
    在这里插入图片描述

    展开全文
  • 图书管理系统,E-R图结构参考,流程图,报告。powerDesigner
  • 网上图书系统

    千次阅读 2021-03-02 16:38:47
    这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的...,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入...

    网上图书馆系统

    题目
    设计一个网上图书馆系统,实现图书网上检索、预约和续借功能。具体要求如下:
    1)系统管理:定义读者类别并设置参数,添加、修改和删除读者信息。
    2)图书续借和预约:实现图书的续借、预约等功能。
    3)图书检索:按书名或作者等信息进行检索。
    4)借阅查询:查询个人借阅情况、未付罚款情况。
    其他要求:读者未登录时,只能检索图书,登录后才能使用预约、续借和取消预约图书,查询个人借阅史以及修改密码功能。

    《网上图书馆》软件需求规格说明书

    目录
    1引言 4
    1.1编写目的 4
    1.2背景 4
    1.4参考资料 5
    2任务概述 5
    2.1 项目概述 5
    2.1.1项目来源及背景 5
    2.1.2项目目标 5
    2.1.3系统功能概述 5
    2.2用户特点 6
    2.3假定和约束 6
    3功能需求 6
    3.1功能划分 6
    3.2功能描述 7
    4数据需求 8
    4.1 静态数据 8
    4.2 动态数据 9
    4.3 数据流图 10
    4.4 数据字典 12
    4.5 数据库描述 19
    5性能需求 20
    5.1数据精度 20
    5.2时间特性 20
    5.3灵活性 21
    6运行需求 21
    6.1用户界面 21
    6.3硬件接口 23
    7其他需求 23
    7.1验收标准 23
    7.2质量属性 24

    1引言
    1.1编写目的
    随着互联网的快速发展,各个企业以及学校等教育机构已经在网上开通方便快捷的应用平台,在通用信息平台上构筑高效实用的协同工作和自动化办公应用系统,满足信息高度共享和即时发布的需求,有效实现内部知识管理,已成为众多用户的共同需求。图书管理系统,为政府机关、教育机构与广大企事业单位自动化办公提供了一个较好的解决方案。在开发过程中,按照软件工程的步骤,从设计到开发采用了面向对象的思想和技术,采用了SQL SERVER 2016数据库,使得本系统可以方便的和其他子系统进行数据交换。同时,注意,从软件的图形应用界面上优化软件质量,提高用户使用感,让用户操作更加简单,使得本系统具有很强的可操作性。
    1.2背景
    随着计算机产业的发展,计算机在各个行业的应用也越来越普遍。采用计算机软件来管理也逐渐替代了人工管理,计算机管理比人工管理更加简单,有节约人力资源、减少时间成本、快速查找诸多优点。而新建图书管理系统,更是方便管理员对书籍的管理以及用户进行书籍的查阅,比起书本记忆以及人工翻阅,计算机能快速有效的提供书籍信息,给予便利。为此,本开发小组设计一个图书管理软件,方便图书的管理与借阅。本图书管理系统将实现图书室管理员对图书信息修改与读者网上查询与借阅等相关功能。
    1.3术语和缩略词
    SQL SERVER:系统服务器所使用的数据库管理系统( DBMS)。
    SQL:一种用于访问查询数据库的语言
    事务流:数据进入模块后可能有多种路径进行处理。
    主键:数据库表中的关键域。值互不相同。
    外部主键:数据库表中与其他表主键关联的域。
    ROLLBACK:数据库的错误恢复机制。
    1.4参考资料
    (1)软件需求规格说明书参考模板
    (2)高校医院管理系统需求说明书
    (3)软件工程方法与实践 主编:窦万峰 第三版 机械工业出版社

    2任务概述
    2.1 项目概述
    2.1.1项目来源及背景
    该项目是华中农业大学图书馆提出的一个面向全校师生及教职工进行图书预约、借阅、归还的管理系统,并安装在华中农业大学图书馆电脑中供读者使用,或供图书馆人员进行管理。

    2.1.2项目目标
    该项目是为了更方便和更科学地对图书馆图书进行管理、借阅而研发的,目的是让读者能够更准确、更快速地查询、借阅到需要的书籍;图书馆管理人员能够更简单方便地对众多图书进行分类管理,并让读者及管理人员的交互更高效,,使得图书的借阅和管理的效率更理想。
    鉴于现存的图书查询效率低下,模糊搜索不够智能、图书管理较为复杂等问题,本项目通过合理的数据库管理及搜索算法优化,能够很好地解决这些图书馆管理系统的缺陷。

    2.1.3系统功能概述
    该系统主要分为读者客户端功能、图书管理功能、读者管理功能
    【读者客户端功能】
    1.用户登录
    2.用户注册
    3.修改用户密码
    4.查询图书
    5.续借图书
    6.预约图书

    【图书管理功能】
    1.添加书籍
    2.查询书籍
    3.修改图书
    4.删除图书
    【读者管理功能】
    1.增加用户
    2.查询用户
    3.修改用户
    4.删除用户

    2.2用户特点
    最终用户一般具有大学本科及以上学历,能够熟练掌握计算机基本操作。若是图书馆工作人员,则需要熟练掌握图书分类管理方法。
    本软件是在众多读者及数位管理人员共同操作的情况下使用,使用频率十分频繁。一次需要支持上千人的并发操作。
    2.3假定和约束
    本项目要求在eclipse 4.5及以上版本进行开发,需要Windows JDK、Windows Builder 的支持,本项目由2018级学生开发,经验不足,需要在教师指导下进行。开发经费较少

    3功能需求
    3.1功能划分
    1、输入功能模块
    ·添加书籍
    ·增加用户
    ·修改用户
    ·删除用户
    2、查询显示功能模块
    ·查询书籍
    ·借阅历史
    3、预约书籍功能模块
    ·续借图书
    ·预约图书
    4、登录系统功能模块
    ·登录
    ·用户注册
    ·修改用户密码
    3.2功能描述
    3.2.1输入功能
    名称、标识符 输入功能
    功能描述 通过此功能管理员可以输入书籍和读者相关信息
    功能编号 添加用户:sr0102,增加用户:sr0103,修改用户:sr0104,删除用户:sr0105
    优先级 4
    输入 书籍与读者信息
    操作序列 管理员输入相关信息
    输出 将信息保存至数据库中
    补充说明 仅管理员可操作

    3.2.2查询显示功能
    名称、标识符 查询功能
    功能描述 通过此功能可在软件上查询书籍
    功能编号 查询书籍:cx0102,查询借阅历史:cx0103
    优先级 3
    输入 查询关键字
    操作序列 读者与管理员在显示控件上输入关键字
    输出 与关键字相符的一切信息
    补充说明 读者与管理员均可操作

    3.2.3续借、预约书籍功能
    名称、标识符 书籍续借与预约功能
    功能描述 通过此功能读者可在软件上进行书籍的续借与预约
    功能编号 续借:jy0103,预约书籍:jy0104
    优先级 1
    输入 书籍信息
    操作序列 读者输入书籍相关信息,对书籍进行操作
    输出 操作成功提示
    补充说明 读者可操作

    3.2.4登录功能
    名称、标识符 登录功能
    功能描述 通过账号可登录软件进行操作
    功能编号 登录:dl01,注册:dl0102,修改密码:dl0103
    优先级 2
    输入 账号信息
    操作序列 读者与管理员输入账号信息
    输出 软件登录后页面
    补充说明 读者与管理员均可操作

    4数据需求
    4.1 静态数据
    网上图书馆系统的静态数据包括:
    书籍(books):
    图书编号(bno);
    书名(bname);
    作者(bauthor);
    出版社(bpublish) ;
    单价(price);
    总数(bnum);
    预约数(ordernum);
    借阅数(blend);

    读者(reader):
    读者账号(rid);
    姓名(rname);
    身份(rtype);
    可借册数(borrownum);
    已借册数(rnum);
    预约册数(ordernum);
    欠款(rdebt);

    图书借阅记录(borrow):
    读者账号(rid);
    图书编号(bno);
    借阅时间(initialdate);
    归还时间(backdate);
    续借时间(redate);
    到期时间(deadline);
    罚款(fine);

    图书预约记录(orders):
    读者账号(rid);
    图书编号(bno);
    预约时间(dates);
    到期时间(endtime);

    借阅类型(borrowtype):
    身份(rtype);
    可借册数(borrownum);
    续借册数(times);
    借阅时长(borrowdate);
    预约次数(ordernum);

    管理员(librarian):
    管理员账号(lid);
    姓名(lname);
    电话(ltel);
    4.2 动态数据
    输入数据:登录/注册输入的账号、密码
    查询方式、查询关键字;
    新建图书项、读者项;
    图书项、读者项相应纪录更改;
    备份数据恢复所需的数据备份文件;
    借阅、预约、续借时的图书序号、读者账号、日期;

    输出数据: 查询关键字确定的数据库记录的输出;
    信息录入、修改、删败结果(成功或失败);
    图书借阅、返还、丢失注销等操作结果;
    数据备份输出的数据备份文件;

    内部数据: 查询操作建立的索引;

    4.3 数据流图
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    4.4 数据字典
    《网上图书馆系统》的总体功能如下:
    ●图书的预约续借;
    ●图书信息查询;
    ●图书的增删改;
    ●读者的增刪改;
    ●图书管理系统数据备份;
    ●图书管理系统数据恢复;
    4.4.1图书的预约续借过程
    数据字典
    (1)数据流词条:通常使用扩充的BNF范式来描述。对于基本的数据项,通常应明
    确其名称,类型,含义,度量单位,有效范围,精度等。

    数据流名:图书
    说明:记录图书的主要相关信息
    数据流来源:读者
    数据流去向:借书检验
    数据流组成:图书=书号+书名+作者+出版社+价格+总数+借阅数+预约数
    图书编号=“A001”…“Z999"
    书名=2{字母}24
    作者=2{字母}24
    出版社=2{字母} 24
    价格=“000. 1”…“9999. 9”
    借阅数=“00”…“99”
    借阅数=“00”…“99”
    每个数据量流通量:

    数据流名:检验错误
    说明:用于指示读者借书错误信息
    数据流来源:借书检验
    数据流去向:读者
    数据流组成:检验错误=2{字母}40
    每个数据量流通量:

    数据流名:借书信息
    说明:用于传递读者号和图书号
    数据流来源:借书检验
    数据流去向:借书登记
    数据流组成:借书信息=读者账号+书号
    每个数据量流通量:

    数据流名:日期
    说明:提供当前日期信息
    数据流来源:日历
    数据流去向:借书检验,借书登记
    数据流组成:日期=年+月十日
    年=“0000”…“9999”
    月=“01”…“12”
    日=“01"…“31":
    每个数据量流通量:

    数据流名:图书访问记录
    说明:用于记录读者借书信息
    数据流来源:图书访问记录库,借书登记
    数据流去向:借书检验
    数据流组成:图书访问记录=书号+读者账号+借书日期
    借书日期=日期
    每个数据量流通量:

    (2)数据文件词条描述: 说明文件的成分和组织形式(如记录排列顺序)等,基本数据项的
    说明同数据流。

    数据文件名:读者库
    简述:存放读者信息
    输入数据:
    输出数据:读者信息
    数据文件组成:读者库由“读者信息”组成
    存储方式:关键码
    存取频率:

    数据文件名:图书库
    简述:存放图书信息
    输入数据:
    输出数据:图书信息
    数据文件组成:图书库由“图书信息”组成
    存储方式:关键码
    存取频率:

    数据文件名:图书访问记录库
    简述:存放图书访问记录信息
    输入数据:图书访问记录
    输出数据:图书访问记录
    数据文件组成:图书访问记录库由“图书访问记录”组成
    存储方式:关键码
    存取频率:

    (3)加工说明词条,加工说明:编号、加工逻辑常使用自然语或结构化自然语言(如判定树、判定表等)来描述。

    加工名:借书检验
    加工编号: 1
    简要描述:检验读者身份、图书是否入库、读者还能借多少书以此判定读者是否能续借/预约书
    输入数据流:读者账号,所借书本,读者信息,图书信息,图书访问记录,日期
    输出数据流:借书错误信息,借书信息
    加工逻辑:
    IF读者账号未登记入库THEN
    发出“借书错误’
    ELSE IF 图书未登记入库 THEN
    发出“借书错误”
    ELSE IF 读者已借图书和现借图书多于限制数N THEN
    发出“借书错误”
    ELSE IF 读者 已借图书中有超期THEN
    发出“借书错误”
    ELSE发出 “借书信息”
    ENDIF
    ENDIF
    ENDIF
    ENDIF

    加工名:借书登记
    加工编号: 2
    简要描述:将“借书信息”登记到“图书访问记录库图书访问记录”中
    输入数据流:借书信息,日期
    输出数据流:图书访问记录,图书
    加工逻辑:将借书信息及日期写入图书访问记录;

    4.4.2图书的查询过程

    数据字典
    (1)数据流名词条

    数据流名:查询信息
    说明:用于传递查询关键字段
    数据流来源:读者,查询许可检验
    数据流去向:查询许可检验,数据查询
    数据流组成:查询信息= 1 {字母} 50
    每个数据量流通量:

    数据流名:查询结果
    说明:用于显示读者查询的结果
    数据流来源:数据查询
    数据流去向:读者
    数据流组成:查询信息=读者信息+图书信息
    每个数据量流通量:

    (2)加工说明词条

    加工名:查询许可检验
    加工编号: 3
    简要描述:检验读者身份是否有效
    输入数据流:读者账号,查询信息,读者信息
    输出数据流:检验错误,查询信息
    加工逻辑: IF读者账号在读者库中不存在THEN
    发出“检验错误”
    ELSE发出 “查询信息”
    ENDIF

    加工名:数据查询
    加工编号: 4
    简要描述:根据所读入的查询信息,检索图书库和图书访间记录库得出相应结果
    输入数据流:查询信息,图书信息,图书访问记录,日期
    输出数据流:查询结果
    加工逻辑:根据所读入的查询信息,检索图书库和图书访问记录库得出相应结果

    4.4.3管理员的书籍和读者增删改过程

    数据字典

    (1)数据流名词条

    数据流名:管理员信息
    说明:用于传递图书管理员的身份信息以备验证
    数据流来源:图书管理员,管理员库
    数据流去向:身份验证
    数据流组成:管理员信息=管理员账号+姓名
    账号=“m001”…“m999”
    姓名=2{字母}24
    每个数据量流通量:

    数据流名:操作信息
    说明:用于传递图书管理员的操作命令
    数据流来源:身份验证
    数据流去向:增删改图书或读者
    数据流组成:操作信息= 2{字母} 50
    每个数据量流通量:

    数据流名:操作确认
    说明:用于传递增删改图书是否成功
    数据流来源:增删效图书或读者
    数据流去向:图书管理员
    数据流组成:操作确认=1{字母}50
    每个数据量流通量:

    (2)加工逻辑词条
    加工名:身份验证
    加工编号: 5
    简要描述:根据所读入的管理员信息,检索管理员库验证该人身份
    输入数据流:管理员信息,读者或图书
    输出数据流:检验错误,操作确认。
    加工逻辑:根据所读入的管理员信息。检索管理员库验证该人身份

    加工名:增珊改图书或读者
    加工编号: 6
    简要描述:根据所读入的操作信息,增册改读者库里的内容
    输入数据流:操作信息,读者信息
    输出数据流:操作确认,读者信息
    加工逻辑:根据所读入的操作信息,增删改读者库或图书库里的内容

    4.4.4网上图书馆系统数据备份过程

    数据字典
    (1)加工逻辑词条描述

    加工名:身份验证
    加工编号: 7
    简要描述:根据所读入的管理员信息,检索管理员库验证该人身份
    输入数据流:管理员信息,读者
    输出数据流:检验错误,操作确认
    加工逻辑:根据所读入的管理员信息,检索管理员库验证该人身份

    加工名:数据备份
    加工编号: 8
    简要描述:根据所读入的操作信息,备份数据库中的数据到文件
    输入数据流:操作信息
    输出数据流:操作确认
    加工逻辑:根据所读入的操作信息,备份数据库中的数据到文件

    4.4.5网上图书馆系统数据恢复过程

    数据字典
    (1)加工逻辑词条描述
    加工名:身份验证
    加工编号: 9
    简要描述:根据所读入的管理员信息,检索管理员库验证该人身份
    输入数据流:管理员信息,读者
    输出数据流:检验错误,操作确认
    加工逻辑:根据所读入的管理员信息,检索管理员库验证该人身份

    加工名:数据恢复
    加工编号: 10
    简要描述:根据所读入的操作信息,从文件向数据库恢复数据
    输入数据流:操作信息
    输出数据流:操作确认
    加工逻辑:根据所读入的操作信息,从文件向数据库恢复数据

    4.5 数据库描述
    数据库采用SQL Server2016数据库
    E-R图:
    在这里插入图片描述

    Powerdesigner:
    在这里插入图片描述

    5性能需求
    5.1数据精度
    在书价的处理过程中要求保留一位小数。
    借书还书的过程中所考虑的借还期限采用“日”为单位。
    5.2时间特性
    用到的时间中,为保证时间的可靠性,都采用服务器的时间为标准。
    在多用户的操作过程中可能会碰到数据并发的问题。比如在读书查询图书的过程中
    所查到的那本图书在他所查的时候还没有被借出去。但在查询后的任何时候都有可能被借走。可能就在被查之后的那一秒种。所以要确保数据的可靠和实时。
    5.3灵活性
    该自动化图书管理系统同用适应于其他microsoft公司的windows产品
    此系统是采用B/S架构设计的,所以在客户端不需要安装客户端软件。但要求装有
    IE,或是其它的网页浏览器工具。所以在设计的时候要求能适应多种浏览的需要。
    6运行需求
    6.1用户界面
    描述对该系统用户界面的基本要求,可以给出用户界面原型方案。
    1、整体风格:简约易操作,单窗体风格,遵循Windows界面的规范。
    2、用户导航图:
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    3、响应反馈
    (1)在进行增添删除或者修改操作时,会弹出“增添/删除/修改成功!”的提示窗口
    (2)在用户输入错误或者输入不合法时,会弹出“输入错误!请重新输入。”或者“输入不合法!请重新输入。”的提示窗口,引导用户重新输入。
    (3)每个操作页面都有返回上一级操作的按钮,方便用户操作。
    4、登录界面
    首先选择自己的身份,是图书馆系统的用户还是管理员,然后输入账号和密码进行登录。若无账号,则先注册成为用户或者管理员再登录。
    5、测评界面
    6、交换角色界面

    6.2软件接口
    Eclipse,SQL Server。
    6.3硬件接口
    鼠标、键盘必须是USB接口。
    7其他需求
    7.1验收标准
    1、鼠标、键盘控制权交换故障率低于10%。
    2、鼠标、键盘控制权交换出错率低于20%。

    7.2质量属性
    1、软件故障率低于5%。
    2、软件要求模块设计,设备驱动可以更换。
    3、软件可在不同的Windows平台上使用。
    4、软件支持不同的PC兼容机。

    《网上图书馆系统》软件测试报告

    目录
    1引言 4
    1.1编写目的 4
    1.2背景 4
    1.3术语和缩略词 4
    1.4参考资料 5
    2测试用例设计 5
    (1)登录操作测试 5
    (2) 图书查询操作测试 6
    (3) 图书预约操作测试 7
    (4) 图书续借操作测试 8
    (5) 图书管理操作测试 8
    (6) 读者管理操作测试 9
    3 测试结果及分析 10
    3.1测试环境 10
    3.2 测试用例执行 10
    3.3 结论及建议 16

    1引言
    1.1编写目的
    在软件投入生产性运行前,对软件需求分析,设计规格说明和编码的最终复审,是软件质量保证的关键步骤。该软件测试说明书是为了尽可能的发现该系统在设计中存在的问题,并为解决这些问题提供依据,本文档将详细说明本系统采用软件工程的方法进行软件测试。尽量发现本系统BUG并进行改正,以避免在运行过程中造成的损失。
    根据测试计划报告对软件进行测试,详细记录测试过程,以对软件的质量进行评价,为软件设计人员提供BUG依据,为软件测试建立计划,供软件测试人员作为软件测试实施时的参考。
    此软件测试报告对《网上图书馆系统》项目具体代码完成的过程中,项目组中的主要负责测试的人员记录在测试过程中发现的问题以及对问题改进的建议,本文档将供系统的编程人员、集成人员、维护人员查询和使用。
    1.2背景
    随着计算机产业的发展,计算机在各个行业的应用也越来越普遍。采用计算机软件来管理也逐渐替代了人工管理,计算机管理比人工管理更加简单,有节约人力资源、减少时间成本、快速查找诸多优点。而新建图书管理系统,更是方便管理员对书籍的管理以及用户进行书籍的查阅,比起书本记忆以及人工翻阅,计算机能快速有效的提供书籍信息,给予便利。为此,本开发小组设计一个图书管理软件,方便图书的管理与借阅。本图书管理系统将实现图书室管理员对图书信息修改与读者网上查询与借阅等相关功能。
    1.3术语和缩略词
    SQL SERVER:系统服务器所使用的数据库管理系统(DBMS)。
    GUI:图形用户界面。
    测试用例:按一定的顺序执行的与测试目标相关的测试活动的描述,即确定“怎样”测试。
    白盒方法:分为逻辑覆盖法和基本路径覆盖法或者分为语句覆盖,判定覆盖,条件覆盖方法。
    黑盒方法:分为等价类划分法,边界值划分法,错误推测法,因果图法等。
    白盒测试:有选择的执行(或覆盖)程序中某些最有代表性路径的测试方法。
    黑盒测试:根据程序组件的规格说明测试软件功能的方法,所以也称为功能测试。
    1.4参考资料
    (1)软件测试报告参考模板
    (2)网上图书馆系统需求规格说明书
    (3)网上图书馆系统详细设计说明书
    (4)软件工程方法与实践 主编:窦万峰 第三版 机械工业出版社
    2测试用例设计
    (1)登录操作测试
    其测试用例设计如表1~表4。
    表1 登陆_第一组测试用例
    测试用例编号 Library_1_01
    测试项目 系统登录
    测试标题 输入正确的用户账号和密码
    重要级别 高
    预置条件 系统存在该用户
    输入 账号为2018001,密码为2018001
    操作步骤 选择登录用户;输入账号2018001;输入密码2018001
    预期输出 跳转到用户操作界面
    表2 登陆_第二组测试用例
    测试用例编号 Library_1_02
    测试项目 系统登录
    测试标题 输入正确的管理员账号和密码
    重要级别 高
    预置条件 系统存在该管理员
    输入 账号为001,密码为001
    操作步骤 选择登录管理员;输入账号001;输入密码001
    预期输出 跳转到管理员操作界面

    表3 登陆_第三组测试用例
    测试用例编号 Library_1_03
    测试项目 系统登录
    测试标题 输入正确的用户账号和错误的密码
    重要级别 高
    预置条件 系统存在该用户
    输入 账号为2018001,密码为001
    操作步骤 选择登录用户;输入账号2018001;输入密码001
    预期输出 提示用户输入的用户名或密码错误

    表4 登陆_第四组测试用例
    测试用例编号 Library_1_04
    测试项目 系统登录
    测试标题 输入错误的用户账号和密码
    重要级别 高
    预置条件 系统不存在该用户
    输入 账号为123,密码为123
    操作步骤 选择登录用户;输入账号123;输入密码123
    预期输出 提示用户输入的用户名或密码错误

    (2)图书查询操作测试
    其测试用例设计如表5~表8。

    表5 图书查询_第一组测试用例
    测试用例编号 Library_2_01
    测试项目 图书查询
    测试标题 输入部分书名
    重要级别 中
    预置条件 系统存在该图书信息
    输入 书名为人
    操作步骤 选择图书查询;输入书名人;点击查询
    预期输出 查询界面显示出所有书名包含“人”的图书信息

    表6 图书查询_第二组测试用例
    测试用例编号 Library_2_02
    测试项目 图书查询
    测试标题 输入部分作者
    重要级别 中
    预置条件 系统存在该图书信息
    输入 作者为李
    操作步骤 选择图书查询;输入作者李;点击查询
    预期输出 查询界面显示出所有作者包含“李”的图书信息

    表7 图书查询_第三组测试用例
    测试用例编号 Library_2_03
    测试项目 图书查询
    测试标题 输入部分出版社
    重要级别 中
    预置条件 系统存在该图书信息
    输入 出版社为教育
    操作步骤 选择图书查询;输入出版社教育;点击查询
    预期输出 查询界面显示出所有出版社包含“教育”的图书信息
    表8 图书查询_第四组测试用例
    测试用例编号 Library_2_04
    测试项目 图书查询
    测试标题 输入部分书名,作者,出版社
    重要级别 中
    预置条件 系统存在该图书信息
    输入 书名为数据库,作者为王珊,出版社为高等教育
    操作步骤 选择图书查询;输入书名数据库,作者王珊,出版社高等教育;点击查询
    预期输出 查询界面显示出所有书名数据库,作者王珊,出版社高等教育的图书信息

    (3)图书预约操作测试
    其测试用例设计如表9~表10。
    表9 图书预约_第一组测试用例
    测试用例编号 Library_3_01
    测试项目 图书预约
    测试标题 输入预约书号,日期
    重要级别 中
    预置条件 系统存在该图书信息
    输入 书号为A2,日期为2020-05-28
    操作步骤 选择图书预约;输入书号A2,日期2020-05-28;点击预约
    预期输出 提示用户预约成功的信息

    表10 图书预约_第二组测试用例
    测试用例编号 Library_3_02
    测试项目 图书预约
    测试标题 输入取消预约书号,日期
    重要级别 中
    预置条件 系统存在该图书信息
    输入 书号为A2,日期为2020-05-28
    操作步骤 选择图书预约;输入书号A2,日期2020-05-28;点击取消预约
    预期输出 提示用户取消成功的信息

    (4)图书续借操作测试
    其测试用例设计如表11。

    表11 图书续借_第一组测试用例
    测试用例编号 Library_4_01
    测试项目 图书续借
    测试标题 输入续借书号,日期
    重要级别 中
    预置条件 系统存在该图书信息
    输入 书号为A1,日期为2020-05-28
    操作步骤 选择图书续借;输入书号A1,日期2020-05-28;点击提交
    预期输出 提示用户续借成功的信息

    (5)图书管理操作测试
    其测试用例设计如表12。
    表12 图书管理_第一组测试用例
    测试用例编号 Library_5_01
    测试项目 增加图书
    测试标题 输入书名,书号,出版社,作者,册数,价格
    重要级别 中
    预置条件 以管理员身份登录系统
    输入 书名为软件工程方法与实践,书号为B1,出版社为机械工业出版社,作者为窦万峰,册数为10,价格为45.0元
    操作步骤 选择增加图书;书名为软件工程方法与实践,书号为B1,出版社为机械工业出版社,作者为窦万峰,册数为10,价格为45.0元;点击提交
    预期输出 提示管理员添加成功的信息

    (6)读者管理操作测试
    其测试用例设计如表13~表15。
    表13 读者管理_第一组测试用例
    测试用例编号 Library_6_01
    测试项目 读者添加
    测试标题 输入账号,密码,姓名,身份
    重要级别 中
    预置条件 以管理员身份登录系统
    输入 账号为2020001,密码为2020001,姓名为小明,身份为本科生
    操作步骤 选择读者添加;账号为2020001,密码为2020001,姓名为小明,身份为本科生;点击提交
    预期输出 提示管理员添加成功的信息

    表14 读者管理_第二组测试用例
    测试用例编号 Library_6_02
    测试项目 读者修改
    测试标题 输入账号,新密码,姓名,身份
    重要级别 中
    预置条件 以管理员身份登录系统
    输入 账号为2020001,新密码为001,姓名为小明,身份为本科生
    操作步骤 选择读者修改;账号为2020001,密码为001,姓名为小明,身份为本科生;点击提交
    预期输出 提示管理员更改成功的信息

    表15 读者管理_第三组测试用例
    测试用例编号 Library_6_03
    测试项目 读者删除
    测试标题 输入账号,姓名
    重要级别 中
    预置条件 以管理员身份登录系统
    输入 账号为2020001,姓名为小明
    操作步骤 选择读者修改;账号为2020001,姓名为小明;点击提交
    预期输出 提示管理员删除成功的信息

    3 测试结果及分析
    3.1测试环境
    硬件环境:Intel® Core™ i7-8565U CPU @ 1.80GHz 内存:8.00GB 显示适配器:Intel® UHD Graphics 620,NVIDIA GeForce MX250
    软件环境:64位操作系统,Windows 10企业版 Microsoft SQL Server 2016 eclipse
    3.2 测试用例执行
    (1) 登录操作测试
    ①执行测试用例Library_1_01,运行结果如下图:
    在这里插入图片描述在这里插入图片描述

    结果分析:实际运行结果与该测试用例预期输结果一致。
    ②执行测试用例Library_1_02,运行结果如下图:
    在这里插入图片描述
    在这里插入图片描述

    结果分析:实际运行结果与该测试用例预期输结果一致。

    ③ 执行测试用例Library_1_03,运行结果如下图:
    在这里插入图片描述
    在这里插入图片描述
    结果分析:实际运行结果与该测试用例预期输结果一致。
    ④执行测试用例Library_1_04,运行结果如下图:
    在这里插入图片描述
    在这里插入图片描述

    结果分析:实际运行结果与该测试用例预期输结果一致。

    (2)图书查询操作测试
    ①执行测试用例Library_2_01,运行结果如下图:
    在这里插入图片描述

    结果分析:实际运行结果与该测试用例预期输结果一致
    ②执行测试用例Library_2_02,运行结果如下图:
    在这里插入图片描述

    结果分析:实际运行结果与该测试用例预期输结果一致

    ③执行测试用例Library_2_03,运行结果如下图:
    在这里插入图片描述

    结果分析:实际运行结果与该测试用例预期输结果一致
    ④执行测试用例Library_2_04,运行结果如下图:
    在这里插入图片描述

    结果分析:实际运行结果与该测试用例预期输结果一致

    (3)图书预约操作测试
    ①执行测试用例Library_3_01,运行结果如下图:
    在这里插入图片描述
    在这里插入图片描述

    结果分析:实际运行结果与该测试用例预期输结果一致

    ②执行测试用例Library_3_02,运行结果如下图:
    在这里插入图片描述
    在这里插入图片描述

    结果分析:实际运行结果与该测试用例预期输结果一致

    (4)图书续借操作测试
    ①执行测试用例Library_4_01,运行结果如下图:
    在这里插入图片描述
    在这里插入图片描述

    结果分析:实际运行结果与该测试用例预期输结果一致

    (5)图书管理操作测试
    ①执行测试用例Library_5_01,运行结果如下图:
    在这里插入图片描述
    在这里插入图片描述

    结果分析:实际运行结果与该测试用例预期输结果一致

    (6)读者管理操作测试

    ①执行测试用例Library_6_01,运行结果如下图:
    在这里插入图片描述
    在这里插入图片描述

    结果分析:实际运行结果与该测试用例预期输结果一致

    ②执行测试用例Library_6_02,运行结果如下图:
    在这里插入图片描述
    在这里插入图片描述

    结果分析:实际运行结果与该测试用例预期输结果一致

    ③执行测试用例Library_6_03,运行结果如下图:
    在这里插入图片描述
    在这里插入图片描述
    结果分析:实际运行结果与该测试用例预期输结果一致

    3.3 结论及建议
    (1) 针对上述所有测试用例执行,该网上图书馆系统基本实现了需求中的功能,如:读者客户端功能、图书管理功能、读者管理功能,达到了设计目标,各模块能正常准确地实现相应的业务功能,并处理了大量错误情况,但仍然存在需要修复的系统故障以及未完善的功能。
    【读者客户端功能】
    1.用户登录
    2.用户注册
    3.修改用户密码
    4.查询图书
    5.续借图书
    6.预约图书
    【图书管理功能】
    1.添加书籍
    2.查询书籍
    【读者管理功能】
    1.增加用户
    2.修改用户
    3.删除用户

    未完成功能:修改书籍,删除书籍,查询用户

    (2)对于有缺陷的功能给出修改建议
    对于输入的数字,用户名密码的格式,应该设置准确的规范,还有部分功能未完善,对于书籍的修改和删除,应该与数据库相连接,进行相应操作的同时,后台数据也应随之而变;对于书籍逾期未归还的情况,相对应的罚款记录也应当有所改变。希望能够实现其他功能,完善图网上图书馆系统,

    **

    核心SQL语句

    创建数据库:
    go
    – create.sql
    – SQL statements for table creation for library database
    create database library
    on
    (name=library_data,–数据文件的逻辑名称,注意不能与日志逻辑同名
    filename=‘d:\sql_data\library.mdf’ ,–物理名称,注意路径必须存在
    size=10,–数据初始长度为5M
    maxsize=50,–最大长度为10M
    filegrowth=5%)–数据文件每次增长5%
    log on
    ( name=library_log,
    filename='d:\sql_data\library.ldf ’ ,
    size=2 ,
    maxsize=5 ,
    filegrowth=1)
    创建表:
    go
    use library
    go
    if exists(select name from sysobjects where name=‘books’)
    drop table books;
    create table books (bname varchar(30) not null, bno char(10),
    bpublish varchar(30), bauthor varchar(30),bsum int,blend int,ordersum int,price float, primary key(bno),
    constraint c1 check (blend+ordersum<=bsum) );

    create table borrow (rid char(10) not null, bno char(10),
    initialdate char(100), redate char(30), deadline char(30),backdate char(30),fine float,primary key(rid,bno)
    ,foreign key(rid) references reader(rid)
    on delete cascade
    on update cascade,
    foreign key(bno) references books(bno)
    on delete cascade
    on update cascade)
    ;
    创建用户并授权:
    EXEC sp_addlogin ‘002’,‘pass002’,‘library’
    USE library
    EXEC sp_grantdbaccess ‘002’,‘002’
    grant select,insert,update,delete on books to 002;
    grant select,insert,update,delete on reader to 002;
    grant select,insert,update,delete on borrow to 002;
    grant select,insert,update,delete on orders to 002;
    grant select,insert,update,delete on borrowtype to 002;

    EXEC sp_addlogin ‘2018001’,‘2018001’,‘library’
    USE library
    EXEC sp_grantdbaccess ‘2018001’,‘2018001’
    grant select,update on books to public;
    grant select,delete on orders to public;
    grant select,update on borrow to public;

    **
    网上图书馆系统源代码链接

    展开全文
  • 数据库是用PowerDesigner软件进行设计,这里就不进行一步一步设计了,直接分享设计好的sql文件,进行导入,对表设计感兴趣想了解可以自行去找资料学习。 library.sql 链接:...

    前言

    准备工作分三步:数据库导入、创建maven项目、基本环境搭建
    项目技术栈如下
    在这里插入图片描述
    没有弄过分页的,可以先实现下分页
    链接:https://blog.csdn.net/weixin_39615182/article/details/114987782?spm=1001.2014.3001.5501

    完整版本已开发完毕,并开源,见该篇文章
    https://blog.csdn.net/weixin_39615182/article/details/115458248

    一、数据库导入

    数据库是用PowerDesigner软件进行设计,这里就不进行一步一步设计了,直接分享设计好的sql文件,进行导入,对表设计感兴趣想了解可以自行去找资料学习。

    在Navicat中右键新建连接LibraryProject,输入账号和密码,再新建一个数据库library
    在这里插入图片描述
    在这里插入图片描述
    右键运行SQL文件(将下载的library文件导入)
    在这里插入图片描述

    二、创建Maven项目

    友情提示:未安装Maven的请先下载安装配置好Maven
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    添加属性是为了解决Maven过慢问题
    在这里插入图片描述

    注意bug:创建Maven后如果出现如下错误提示,一般是maven不兼容,我这里用的maven版本是3.6.3,换成3.6.0即可解决,重新下载再配置下maven
    在这里插入图片描述
    下面是调整后的
    在这里插入图片描述

    三、基本环境搭建

    导入pom.xml中的相关依赖,我点自动导入

    <?xml version="1.0" encoding="UTF-8"?>
    
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.yx</groupId>
      <artifactId>LibraryProject</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>war</packaging>
    
      <name>LibraryProject Maven Webapp</name>
      <url>http://www.example.com</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <spring.version>5.1.3.RELEASE</spring.version>
        <slf4j.version>1.6.6</slf4j.version>
        <log4j.version>1.2.12</log4j.version>
        <mysql.version>5.1.6</mysql.version>
        <mybatis.version>3.4.5</mybatis.version>
      </properties>
    
      <dependencies>
        <!-- spring -->
        <dependency>
          <groupId>org.aspectj</groupId>
          <artifactId>aspectjweaver</artifactId>
          <version>1.6.8</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-aop</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-web</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-test</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-tx</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-jdbc</artifactId>
          <version>${spring.version}</version>
        </dependency>
    
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.12</version>
          <scope>compile</scope>
        </dependency>
    
        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>${mysql.version}</version>
        </dependency>
    
        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
          <version>2.5</version>
          <scope>provided</scope>
        </dependency>
    
        <dependency>
          <groupId>javax.servlet.jsp</groupId>
          <artifactId>jsp-api</artifactId>
          <version>2.0</version>
          <scope>provided</scope>
        </dependency>
    
        <dependency>
          <groupId>jstl</groupId>
          <artifactId>jstl</artifactId>
          <version>1.2</version>
        </dependency>
        <!--fastjson-->
        <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>fastjson</artifactId>
          <version>1.2.54</version>
        </dependency>
        <!-- log start -->
        <dependency>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>${log4j.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
          <version>${slf4j.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
          <version>${slf4j.version}</version>
        </dependency>
    
        <!-- log end -->
        <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis</artifactId>
          <version>${mybatis.version}</version>
        </dependency>
    
        <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis-spring</artifactId>
          <version>1.3.0</version>
        </dependency>
    
        <!--druid连接池-->
        <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>druid</artifactId>
          <version>1.1.16</version>
        </dependency>
    
        <!--mybatis逆向工程依赖-->
        <dependency>
          <groupId>org.mybatis.generator</groupId>
          <artifactId>mybatis-generator-core</artifactId>
          <version>1.3.7</version>
        </dependency>
        <!--分页-->
        <dependency>
          <groupId>com.github.pagehelper</groupId>
          <artifactId>pagehelper</artifactId>
          <version>5.1.10</version>
        </dependency>
    
      </dependencies>
      
    </project>
    
    

    新建目录java和resources,java目录是灰色就右键标记为根目录,就会变蓝,resources也右键标记为根
    在这里插入图片描述
    如上再创建dao、service、Controller、entity、util常用目录
    在这里插入图片描述
    在这里插入图片描述
    并创建test目录,用于开发期间的测试,java右键标记为测试根,变为绿色,再建子目录
    还有webapp可能不是有小蓝点的
    解决办法:https://blog.csdn.net/qq_43080036/article/details/87273538
    就是将添加web.xml和webapp路径

    最后我们还需整合SSM,即配置Spring工厂、SpringMVC、MyBatis等
    首先需要配置三个文件到resouurces中
    springmvc.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/mvc
            http://www.springframework.org/schema/mvc/spring-mvc.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context.xsd">
    
        <!--开启注解扫描,只扫描Controller注解-->
        <context:component-scan base-package="com.yx.controller"></context:component-scan>
    
        <!--注册注解驱动(开启SpringMVC注解的支持)-->
        <mvc:annotation-driven>
            <mvc:message-converters>
                <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
                    <!--声明类型转换,若返回的是json就需要加这个进行转换-->
                    <property name="supportedMediaTypes">
                        <list>
                            <value>application/json</value>
                        </list>
                    </property>
                </bean>
            </mvc:message-converters>
        </mvc:annotation-driven>
    
        <!--配置的视图解析器对象-->
        <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/pages/"/>
            <property name="suffix" value=".jsp"/>
        </bean>
    
        <!--过滤静态资源-->
        <mvc:default-servlet-handler></mvc:default-servlet-handler>
        <mvc:resources mapping="/images/**" location="/images/"></mvc:resources>
        <mvc:resources mapping="/css/**" location="/css/"></mvc:resources>
        <mvc:resources mapping="/js/**" location="/js/"></mvc:resources>
        <mvc:resources mapping="/lib/**" location="/lib/"></mvc:resources>
        <mvc:resources mapping="/api/**" location="/api/"></mvc:resources>
    
    </beans>
    

    spring.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/tx
           http://www.springframework.org/schema/tx/spring-tx.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context.xsd">
        <!--Spring接管MyBatis内容-->
        <!--DataSource Druid连接池-->
        <context:property-placeholder location="classpath:db.properties"/>
        <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
            <!--基本配置-->
            <property name="driverClassName" value="${jdbc.driver}"/>
            <property name="url" value="${jdbc.url}"/>
            <property name="username" value="${jdbc.username}"/>
            <property name="password" value="${jdbc.password}"/>
        </bean>
    
        <!--SqlSessionFactory 要DataSource支持-->
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <!--注入连接池-->
            <property name="dataSource" ref="dataSource"/>
            <!--&lt;!&ndash;注入dao-mapoper文件信息&ndash;&gt;
            <property name="mapperLocations">
                <list>
                    <value>classpath:com/yx/dao/*.xml</value>
                </list>
            </property>-->
            <!--使得实体类中用类名作为别名-->
            <property name="typeAliasesPackage" value="com.yx.entity"></property>
    
            <!--分页-->
            <property name="plugins">
                <array>
                    <bean class="com.github.pagehelper.PageInterceptor">
                        <property name="properties">
                            <props>
                                <!--页号在合理值 0 - max-->
                                <prop key="reasonable">true</prop>
                            </props>
                        </property>
                    </bean>
                </array>
            </property>
        </bean>
    
        <!--Dao 需要 MapperScannerConfigurer支持-->
        <bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="basePackage" value="com.yx.dao"/>
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
        </bean>
        <!--告知spring注解位置,保证注解有效性,下面注解扫描表示Controller不扫,给service和dao扫描-->
        <context:component-scan base-package="com.yx">
            <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"></context:exclude-filter>
        </context:component-scan>
        <!--引入一个事务管理器-->
        <bean id="tx" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="dataSource"/>
        </bean>
        <!--@Transactional 告诉spring,定制事务是基于DataSourceTransactionManager-->
        <tx:annotation-driven transaction-manager="tx"></tx:annotation-driven>
    
    </beans>
    

    db.properties

    jdbc.driver = com.mysql.jdbc.Driver
    jdbc.url = jdbc:mysql://localhost:3306/library?useUnicode=true&characterEncoding=utf-8
    jdbc.username = root
    jdbc.password = root
    

    在这里插入图片描述

    最后webapp下web.xml还需要配置一下

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
    
      <!--SpringMVC前端(核心)控制器,启动Controller组件-->
      <servlet>
        <servlet-name>mvc_yx</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--声明配置文件位置-->
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <!--懒汉式 饿汉式 (可选)-->
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>mvc_yx</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
    
      <!--防乱码-->
      <filter>
        <filter-name>encoding</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>utf-8</param-value>
        </init-param>
      </filter>
      <filter-mapping>
        <filter-name>encoding</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
    
      <!--配置监听器,在项目启动时,同时启动Spring工厂,使得Dao和Service以及Druid连接池启动-->
      <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      <!--配置spring文件路径-->
      <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring.xml</param-value>
      </context-param>
    </web-app>
    

    在这里插入图片描述
    pages是后面新建的,这里不用管

    这样基本结构就搭好了,下面是整个执行流程
    在这里插入图片描述
    在这里插入图片描述
    后端控制器就是Controller层

    以上就是准备工作,下一章

    基于SSM的图书管理系统教程(2)—MyBatis逆向工程

    展开全文
  • 摘要 图书资料管理系统基于eclipse下...进行此次课程设计可有效的对数据库的概念结构设计和数据库逻辑结构设计进行一定的掌握与理解,同时通过建立图书资料管理系统E-R,关系可以加深对数据库相关知识的学习。...
  • PowerDesigner十大模型及五大分类

    千次阅读 2017-08-14 10:43:42
    个人认为PowerDesigner 最大的特点和优势就是1)提供了一整套的解决方案,面向了不同的人员提供不同的模型工具,比如有针对企业架构师的模型,有针对需求分析师的模型,有针对系统分析师和软件架构师的模型,还有...
  • 管理系统课程设计】美少女手把手教你后台管理

    万次阅读 多人点赞 2019-11-19 09:44:48
    随着时代的变迁,现如今各大云服务平台横空出世,市面上有许多如学生信息系统、图书阅读系统、停车场管理系统等的管理系统,而本人家里就有人在用烟草销售系统,直接在网上完成挑选、购买与提交收货点,方便又快捷。...
  • 工具: Sybase PowerDesigner 12.5 Microsoft SQL Server 2005 第一步:概念数据模型 打开PowerDesigner 软件,设计“概念数据模型”(Conceptual Data Model),它通常用在概要设计阶段。 设计表结构 注意:如果...
  • PowerDesigner入门教程

    千次阅读 2009-03-10 17:18:00
    PowerDesigner ...从1989年到2003年的十几年间,PowerDesigner经历了巨大的变化,从一个单一数据库设计工具发展为一个全面的数据库设计和应用开发的建模软件。PowerDesigner面向数据分析、设计和实现,集成
  • 计算机专业毕业设计题目大全 一、ASP类计算机专业毕业设计题目 1.网络留言薄2.客户管理系统3.多媒体积件管理库的开发与应用4.基于WEB的多媒体素材管理库的开发与应用5....图书管理系统14.网络办公系...
  • PowerDesigner设计数据库

    千次阅读 2006-04-17 23:51:00
    李伟华 2000年9月 说明:此文档为本人经验积累之所得,非部门设计文档(版权所有) 本文档不讲述如何使用PowerDesigner,而是讲述如何将PowerDesigner的特点结合数据库设计的方法更好的设计一个数据库系统。...
  •  概念数据模型(Conceptual Data Model,CDM):表达的是数据整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员,应用程序设计人员,维护人员和用户之间相互理解的共同语言,并不针对具体的...
  • 16. 客户管理系统 4. 银行业平台2020 11. 活动 17. 客户主索引 5. KPI的客户数据平台 12. 金融服务 18. 移动客户服务 6. 最终用户平台   13. 货运Fowarders(Jas) 19. 客户成功平台  7. ...
  • 基于xxx的系统实现

    2021-02-03 22:33:28
    帮助解答任何系统问题 1.成品:看最下面 2.基于强化学习的Tic-Tac-To实现 3.基于文本的关键词打标 4.基于自然语言处理的情感分析...13.基于Flask的校园课程管理系统设计与实现 14.基于Flask的人脸识别企业系统 15.vb
  • E-R

    万次阅读 2015-04-28 20:16:47
    E-R简介 E-R可以认为是关系模型的雏形,每个实体是一张表,实体与实体之间的关系可以合并到其中一个实体中,也可以是另外一张表,关系表和相关的实体表是通过主键或外键来联系的。 画E-R首先要了解3个...
  • 在UML 中use case 似 乎最簡單的,用例建模的最主要功能就是用来表达系统的功能性需求或行为,依我的理解用例建模可分为用例和用例描述。用例由参与者(Actor)、用例 (Use Case)、系统边界、箭头组成,用...
  • ” 杨某思想斗争中… 兰某疑惑不解中… 上门两个流程循环10分钟后,杨某觉得不能借钥匙,只能他拿着去开门。 二人走到楼梯口,杨某忽然转身,表示这个门不能开。 兰某???于是第一反应隔着袖子拉住杨某的手“我当...
  • 我第一学期还修了机器学习,机器学习我之前没有系统学过,学完还是受益良多。但为了达到学分要求,我博士期间,被迫修了 14 门课,第四年还在上课…… 我的感觉是,CV 是实践科学,上课没那么重要,很多时候甚至是...
  • E-R

    万次阅读 多人点赞 2017-11-02 14:21:40
    E-R 简介E-R可以认为是关系模型的雏形,每个实体是一张表,实体与实体之间的关系可以合并到其中一个实体中,也可以是另外一张表,关系表和相关的实体表是通过主键或外键来联系的。E-R3个要素:实体,属性,...
  • 41.2.1 MySQL概述51.2.2 MySQL的安装与配置51.2.3 更改MySQL的配置111.2.4 MySQL的使用131.2.5 MySQL图形化管理工具N...
  • 开发《客户关系管理系统(CRM)》软件过程,也就是一个标准的Winform程序的开发过程,我们可以通过这个典型的软件开发过程来了解目前的开发思路、开发理念,以及一些必要的高效率手段。本篇随笔主要介绍我在开发这个...
  • 利用Power Designer可以制作业务流程图、面向对象模型、概念数据模型、物理数据模型,可以生成VB、JAVA、PB、C#等多种客户端开发工具的应用程序,还能为数据仓库制作结构模型,并且能对团队设计模型进行控制。...
  •  -27-图书管理系统、Bat处理文件、对象的克隆、反射、单例设计模式、观察者设计模式、工厂设计模式  -Java基础班培训资料  - 102 基础软件: 【102】JAVA基础软件  -apache-tomcat-7.0.63-windows-x64....
  • 试试这个神器-Log Miner Oracle中大小写敏感的问题 exp执行过程出现ORA-01455的解决(存疑) 尝试一下OSWatch imp执行错误IMP-00010 数据库hang等待链分析利器 找到系统视图定义的几种操作 NULL判断对SQL的影响 什么是...
  • 项目不是只能做 Web 网站或者后台管理系统,还可以有其他选择。比如: 学习《CSAPP》课程,并做完若干 Labs,如内存缓存、内存分配回收、Web 服务器等 实现一个简单的操作系统,可以基于已经写好的系统,实现其中的...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 267
精华内容 106
关键字:

powerdesigner怎么图书管理系统流程图