图书管理信息系统

     Book Management System

内容提要

1.开发环境准备
2.开发资料准备
3.简要的需求分析描述
4.数据库分析与设计
5.系统开发
6.回顾与总结
7.Homework

1.开发环境准备

1.JDK1.6下载与安装
2.Eclipse下载与解压
3.Myeclipse安装
4.Tomcat下载与解压
5.Myeclipse中配置Tomcat
6.数据库SQL SqlServer安装


2.开发资料准备

1.HTML教程
2.JS参考手册 - JavaScript相关
3.CSS参考手册
4.JSP/Servlet API参考
5.JDK6 API文档 - JDBC以及JAVA中常用类
6.JSTL参考手册

3.简要的需求分析描述

3.1 系统概论
       图书管理信息系统(BMS)主要提供图书的基本信息管理和查询,主要包括
作者管理、出版社管理、图书管理、系统用户管理、图书查询等。
纳入管理的图书的属性包括图书ISBN、书名、价格、出版社、出版年份、版本号、
图片、作者信息。其中:
一本图书属于一个出版社,一个出版社可以有多本图书。
一本图书可以有多个作者,一个作者也可以出版多本图书。

3.2 模块划分
图书管理信息系统

3.3 各模块功能描述
参见验收标准

4.数据库分析与设计

4.1 理清实体和实体之间的关系。
   ◆实体以及实体的属性:
          · 作者:(作者ID、姓、名)
  · 出版社:(出版社ID、名称)
  · 图书:(ISBN、书名、版本号、出版年份、价格、图片)
  · 系统用户:(用户ID、帐号、密码、姓名、注册日期)

    ◆实体之间的关系
  · 作者-图书:多对多(M:N)
  · 出版社 - 图书:一对多(1:N)

4.2  E-R图到关系模式的转换
        1.一对一:任意一端的主键加入到另一端作为外键
2.一对多:一端的主键加入到多端作为外键
3.多对多:形成一张关系表,将两端的主键分别加入该关系表,作为联合主键;
联系的属性作为该关系表字段。

4.3数据库表设计


4.4 根据数据库脚本创建数据库

5.系统开发
0、 需求分析,数据库设计介绍
1、 静态页面制作(html代码,frame应用, css应用)
2、 利用JDBC,比较简单的实现数据库存取操作(二层结构)
3、 分析二层结构带来的问题,改进该结构,引入数据访问层。
4、 简单的数据访问层实现数据库存取操作
5、 简单的数据访问层带来的问题以及如何改进
6、 数据访问层设计: 公共的数据库连接类DbConnection、 数据访问对象DAO的基类BaseDAO
6   (Log4j的配置与应用)。
7、 针对业务的数据访问对象开发,从AuthorDAO开始。
8、 作者管理的数据访问层开发完毕,开始实现前台JSP层的开发,主要是CRUD操作。
9、 CRUD开发涉及问题: 表单提交GET/POST方式、网页传值、request中文编码、重定向等。
10、增加简单的JS校验。
11、ok! 开始进入出版社模块的开发, 和作者管理开发基本类似,开发速度明显加快。
12、图书管理模块分析,业务层略微复杂。
13、图书管理业务层开发、涉及事务操作、多表操作。
14、图书管理JSP层开发,分析参数多的情况带来的问题,引入JavaBean来实现request参数的自动获取和设置。
15、增加JS校验实现基本的数据验证。
15、分页的两种策略介绍。编写通用的分页对象PageUtil,应用该对象在图书列表中实现内存中分页。
16、类似的,我们继续实现作者、出版社的分页。
17、为系统增加一张系统用户表, 完成系统用户的CRUD。
18、Session简要介绍,用户登录以及登录验证的开发。编写通用的登录验证,单独作为文件包含到需要验证才能访问的页面中。
19、Cookie简要介绍,增强用户登录功能。 利用Cookie,使得可以记住用户上次登录的帐号。
20、系统退出功能增加。
21、MVC思想简要介绍,利用Servlet作为控制器,el,jstl完成界面显示,基于MVC开发图书查询模块。
22、介绍Servlet中的过滤器,使用过滤器增强可维护性。改进代码,将request编码交由过滤器处理, 将登录校验交由过滤器处理。
23、总结

6回顾与总结
1.结合技术
2.分层模型
3.开发流程
4.后续工作

7.Homework
客户关系管理信息系统(CRM)
    客户分组
    客户信息
    活动管理
    客户活动查询
    用户管理