java购书系统详细设计说明书(免费)_第1页
java购书系统详细设计说明书(免费)_第2页
java购书系统详细设计说明书(免费)_第3页
java购书系统详细设计说明书(免费)_第4页
java购书系统详细设计说明书(免费)_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 引言 1. 1 编写目的 1.1.1 将系统划分成物理元素,即程序、文件、数据库、文档等。 设计软件结构,即将需求规格转换为体系结构,划分出程序的基本模块组 成,确定模块间的相互关系,并确定系统的数据结构。 1.1.2 本说明书的用途在于寻找实现目标系统的各种不同方案,分析员从这些可 供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流 程图,列出组成系统的物理元素,进行成本效益分析,从中选出一个最佳方案 向用户和使用部门负责推荐。如果用户和使用部门负责人接受了推荐的方案, 分析员应该进一步为这个最佳方案设计软件结构。通常,设计出初步的软件结 构后还要进一步改进,从而得到更合理的结构,进行必要的数据库设计,确定 测试要求并且制定测试计划。 1.1.3 本说明书的主要读者为系统分析员和用户和使用部门的有关人员,为后面 的系统开发提供依据。 1.2 项目背景 网络技术发展迅速,许多现实中的店铺也已经移植到网上,通过互联网进 行交易,Internet 也俨然成为现下最具市场潜力和开发价值的领域,所以网上交 易平台出现了,应运而生,淘宝网就是个很鲜明的例子,而网上书店也是一个 不错的课题,先前已经有卓越,当当的成功案例,这种通过 WEB 应用和数据库 应用综合的电子商务交易型网站可以以其打破空间界限、通过快递将各地需求 商品通过网络流通,以降低企业生产成本、减少中间环节达到物美价廉目的等 优势在现今的交易领域取得一个至关重要的位置。 1.3 定义 无 1.4 参考资料 1 软件工程 ,张俊兰,王文发,马乐荣,西安交通大学出版社, 2009.4 2 系统设计说明书编制规范 2 程序描述 2.1 用户登录: 用户进入登录页面后,输入用户名和密码,若用户名和密码为空,则提示 用户输入;若用户名和密码均不为空,则连接数据库的 Users 表,验证用户是 否存在,若存在,则跳转到主页面,关闭数据连接;否则,提示错误信息“该 用户不存在” 。 开始 输入用户名 u s e r N a m e 密码 p a s s w o r d 获取表单的用户名 u s e r N a m e 和密码 p a s s w o r d 用户名和密码是 否为空 连接数据库 U s e r s 表 用户是否存在 登陆成功 设置 s e s s i o n 值存取用 户名和 i d , 跳转到首页 关闭数据连接 提示错误信息 是 否 否 用 户 登 录 : 2.2 用户注册: 如果用户还未注册,就先注册。在注册表里填写注册信息若填写信息完整 并且正确,则连接数据库的 Users 表,判断用户是否可以注册,如果可以注册, 则在将用户信息添加到用户表,最后关闭数据连接。 开始 输入用户注册信息 用户名 u s e r n a m e 邮箱 e m a i l 密码 p a s s w o r d 重复密码 p a s s w o r d 2 获取表单中的注册信 息 , 是否填写完整 连接数据库 U s e r s 表 用户是否可以注册 在 U s e r 表中自动生成用 户 i d , 并将用户的信息 写入表中 关闭数据连接 否 是 是 用 户 注 册 : 用户表 Users 字段 字段含义 主键/外键 字段类型 是否为空 id 自动增长 主键 Int(11) Not null username 用户名 Varchar(30) Not null password 登录密码 Varchar(40) Not null email 注册邮箱 Varchar(50) Not null regtime 注册日期 datetime Status 状态位(默认为 0) Int(11) 实体类描述 功能描述:用户登录实体类 Users 对象属性: 字段 字段含义 主键/外键 字段类型 是否为空 id 自动增长 主键 Int(11) Not null username 用户名 Varchar(30) Not null password 登录密码 Varchar(40) Not null email 注册邮箱 Varchar(50) Not null regtime 注册日期 datetime Status 状态位(默认为 0) Int(11) 对象行为: 方 法 描 述 logUser(UsersBean user) 用户登录 findUserById(int id) 通过 id 查询用户信息 logUser(String userName) 验证用户登录的唯一性 功能描述:用户注册实体类 Users 对象属性: 字段 字段含义 主键/外键 字段类型 是否为空 id 自动增长 主键 Int(11) Not null username 用户名 Varchar(30) Not null password 登录密码 Varchar(40) Not null email 注册邮箱 Varchar(50) Not null regtime 注册日期 datetime Status 状态位(默认为 0) Int(11) 对象行为: 方 法 描 述 regUsers(UsersBean user) 用户注册 regUsers(String userName) 验证用户注册的唯一性 getUserBeanByUserName(String userName) 通过名字查询用户信息 2.3 图书分类以及图书查找页面: 1. 模块描述 图书分类及查找页面是书城的主要展示页面,该页面提供的图书的分来查找以及关键 字查找功能,读者可以根据自己所要选择的图书类型以及图书的关键字,来查找自己 需要的图书进行购买。该页面将图书按性能分为不同的小类并且提供查找功能,为读 者提供了方便快捷的检索方式 2. 功能描述: a) 分类查找功能 b) 按图书名称关键字查找功能 3. 性能 在读者不知道具体的图书名称的时候可以按照具体的类型进行检索,如果读者要定向 检索唯一的图书,可以按照图书的名称进行检索 4. 实体类描述 bookClassBean 功能描述:图书分类实体类 对象属性: 属性 数据类型 描述 Id int 流水 id className String 分类名称 Status int 状态位 对象行为: 方法 描述 public BookClassBean() 构造函数 booksBean 功能描述:图书信息实体类 对象属性: 属性 数据类型 描述 id int 流水 id bookNo string 图书编号 bookName string 图书名称 classId int 类型编号 className string 图书分类显示名称 author string 作者姓名 publisher string 出版商 publishDate date 出版日期 publishDateStr string 出版日期字符显示形式 price double 图书价格 stockCount int 库存量 addTime datetime 图书上架时间 addTimeStr string 上架时间字符显示形式 picture string 图书封面图片路径 description string 图书简介 scanCount int 图书浏览量 status int 状态位 0 为存在该书 1 为该书被删除 对象行为: 方法 描述 public BookBean() 构造方法 BookBiz 功能描述:图书信息的业务逻辑接口 对象属性:无 对象行为: 方法 描述 Public ArrayList getBookListByClassId(int classId, int startRow,int pageSize); 根据图书的类型 Id 获取图书信息,并且按照相 应的条数进行分页显示查询,生成 ArrayList 返回对象 public int getBookListCount(int classId); 按照图书的类型 Id 来查询相应类型的图书的记 录的总数,返回总数的条数 public int getBookListCount(int classId,String content); 按照图书的类型 Id 和相应的查询条件来查询满 足相应条件的图书信息的总数,并返回总条数 public ArrayList getBookListByCondition(int classId,String content,int startRow,int pageSize); 按图书的类型 id 和相应的查询条件来查询满足 相关条件的图书信息,并且按照相应的条数和限 制进行分页显示,返回 ArrayList 对象 BookBizImpl 功能描述:图书信息的业务逻辑实体类 对象属性:无 对象行为: 方法 描述 Public ArrayList getBookListByClassId(int classId, int startRow,int pageSize); 根据图书的类型 Id 获取图书信息,并且按照相 应的条数进行分页显示查询,生成 ArrayList 返回对象 public int getBookListCount(int classId); 按照图书的类型 Id 来查询相应类型的图书的记 录的总数,返回总数的条数 public int getBookListCount(int classId,String content); 按照图书的类型 Id 和相应的查询条件来查询满 足相应条件的图书信息的总数,并返回总条数 public ArrayList getBookListByCondition(int classId,String content,int startRow,int pageSize); 按图书的类型 id 和相应的查询条件来查询满足 相关条件的图书信息,并且按照相应的条数和限 制进行分页显示,返回 ArrayList 对象 BookDao 功能描述:图书信息的数据库访问接口 对象属性:无 对象行为: 方法 描述 Public ResultSet getBookListByClassId(int classId, int startRow,int pageSize); 根据图书的类型 Id 获取图书信息,并且按照相 应的条数进行分页显示查询,生成 ResultSet 返回对象 public int getBookListCount(int classId); 按照图书的类型 Id 来查询相应类型的图书的记 录的总数,返回总数的条数 public int getBookListCount(int classId,String content); 按照图书的类型 Id 和相应的查询条件来查询满 足相应条件的图书信息的总数,并返回总条数 public ResultSet getBookListByCondition(int classId,String content,int startRow,int pageSize); 按图书的类型 id 和相应的查询条件来查询满足 相关条件的图书信息,并且按照相应的条数和限 制进行分页显示,返回 ResultSet 对象 BookDaoImpl 功能描述:图书信息的数据库访问实体类 对象属性:无 对象行为: 方法 描述 Public ResultSet getBookListByClassId(int classId, int startRow,int pageSize); 根据图书的类型 Id 获取图书信息,并且按照相 应的条数进行分页显示查询,生成 ResultSet 返回对象 public int getBookListCount(int classId); 按照图书的类型 Id 来查询相应类型的图书的记 录的总数,返回总数的条数 public int getBookListCount(int classId,String content); 按照图书的类型 Id 和相应的查询条件来查询满 足相应条件的图书信息的总数,并返回总条数 public ResultSet getBookListByCondition(int classId,String content,int startRow,int pageSize); 按图书的类型 id 和相应的查询条件来查询满足 相关条件的图书信息,并且按照相应的条数和限 制进行分页显示,返回 ResultSet 对象 BookClassBiz 功能描述:图书分类信息的业务逻辑接口 对象属性:无 对象行为: 方法 描述 public ArrayList getAllBookClass(); 获取所有的图书分类信息,返回 ArrayList 对象 BookClassBizImpl 功能描述:图书分类信息的业务逻辑实体类 对象属性:无 对象行为: 方法 描述 public ArrayList getAllBookClass(); 获取所有的图书分类信息,返回 ArrayList 对象 BookClassDao 功能描述:图书分类信息的数据库访问接口 对象属性:无 对象行为: 方法 描述 public ResultSet getAllBookClass(); 获取所有的图书分类信息,返回 ResultSet 对象 BookClassDaoImpl 功能描述:图书分类信息的数据库访问实体类 对象属性:无 对象行为: 方法 描述 public ResultSet getAllBookClass(); 获取所有的图书分类信息,返回 ResultSet 对象 图书分类页面的程序逻辑 1. 显示图书分类 2. 显示图书分类 B o o k C l a s s B i z I m p l 实现接口 调用书 库访问 B o o k C l a s s D a o 实现接 口 B o o k C l a s s D a o I m p l 调用图 书分类 业务逻 辑 返回 R e s u l t S e t 对象 调 用 p u b l i c A r r a y L i s t g e t A l l B o o k C l a s s ( ) 方法 调 用 p u b l i c R e s u l t S e t g e t A l l B o o k C l a s s ( ) 方法 B o o k C l a s s B i z 返回 A r r a y L i s t 对象 显示分类信息 3. 按照相应的类型显示相应的图书信息 显示图书信息 判断图书的类型 I d B o o k B i z I d 不为 0 B o o k B i z I d w e i 0 实现接口 B o o k B i z I m p l B o o k B i z I m p l 实现接口 B o o k D a o 访 问 P u b l i c R e s u l t S e t g e t B o o k L i s t B y C l a s s I d ( i n t c l a s s I d , i n t s t a r t R o w , i n t p a g e S i z e ) 方 法 访 问 P u b l i c R e s u l t S e t g e t B o o k L i s t B y C l a s s I d ( i n t c l a s s I d , i n t s t a r t R o w , i n t p a g e S i z e ) 方 法 B o o k D a o I m p l 实现接口 显示内容 返回 A r r a y L i s t 对象 4. 图书查找 图书查找 输入图书名称或关键字 选择查找类型或者输入关 键字 判断查找方 式 既不选择类型也不输入关键 字 B o o k B i z 调用业务逻辑 B o o k B i z I m p l 实现接口 B o o k D a o 调用数据库访问 B o o k D a o I m p l 实现接口 显示数据 返回 A r r a y L i s t 对象 调 用 p u b l i c A r r a y L i s t g e t B o o k L i s t B y C o n d i t i o n ( i n t c l a s s I d , S t r i n g c o n t e n t , i n t s t a r t R o w , i n t p a g e S i z e ) 调用 p u b l i c A r r a y L i s t g e t B o o k L i s t B y C o n d i t i o n ( i n t c l a s s I d , S t r i n g c o n t e n t , i n t s t a r t R o w , i n t p a g e S i z e ) ; 2.4 图书详情模块: 2.4.1 模块描述: 图书详情模块,主要描述了书的详细信息。图书详情模块包括了图 书的基本信息,图书的评论内容,以及图书的列表;在图书评论部 分,显示了书的评论内容,同时可以查看更多的评论内容;用户也 可以进行评论,但只有登录后,才可以进行评论。 2.4.2 功能: 图书详情的主要功能有:查看图书的详细信息,查看图书的评论 内容,查看所有的评论内容,验证用户是否登录,发表评论 2.4.3 实体类描述: 功能描述:图书详情实体类 (books) 对象属性: 字段 字段含义 主键/外键 字段类型 是否为空 id 自增 ID 主键 Int(11) Not null bookno 图书号 Int(11) Not null bookname 图书名称 Varchar(40) Not null classid 所属类别 外键 Int(11) Not null author 作者 Varchar(25) Not null publish 出版社 Varchar(100) Not null publishdate 出版日期 price 图书价格 double Not null stock 现库存量 int(11) Not null addtime 上架日期 datetime Not null picture 图书封面 Varchar(200) Not null content 内容简介 text scan 浏览量 Int Status 状态位(默认为 0) 0:该书存在 1:该书已被删除 Int(11) 对象行为: 方法 描述 Public List getBooksBeanByBookNo(String bookNo); 构造函数,通过 bookNo 获取所有 的图书详细信息列表 public BooksBean getBooksByBookNo(String bookNo); 构造函数,通过 bookNo 获取所 有的图书信息对象 public List getNewBooks(); 构造函数 public List getHotBooks(); 构造函数 功能描述:用户评价实体类 对象属性: 字段 字段含义 主键/外键 字段类型 是否为 null id 自增 ID 主键 Int(11) Not null userId 用户编号 外键 Int(11) Not null bookid 图书 Id 外键 Int (11) resdate 评价日期 datetime Not null rescontent 评价内容 text Not null Status 状态位(默认为 0) Int(11) 对象行为: 方法 描述 publicList getResponseTwoByBookId(int bookId); 构造函数,通过 bookId 获取部分 的图书评论内容 public int getResponseListCount(int bookId); 构造函数,通过 bookId 获取所 有的评论的记录数 public List getResponseList(int bookId,int startRow,int pageSize); 构造函数,通过 bookId 查询评论 内容,达到每页显示 pageSize 条记录 public boolean sendResponse(UserResponseBean responseBean); 构造函数,添加用户评论 图书详情流程图: 获取书籍的 bookNo,bookId 根据 id 连接数据库表 response 获得该书籍的 评论详情 根据 bookNo 连接数据 库表 Books 获得该书籍 的详细信息 是否有记录 是否有记录 显示部分评论信 息 显示书籍信息 是否加入购物车 购物车页面 是是 否 关闭数据库连 接 是 是 是否直接购买 订单页面 关闭数据库连接 否 获取图书的 i d 通过 i d 连接数据库表中的 u s e r s , 用 s e s s i o n 验证用户的存在 通过 s e s s i o n 验证是 否已经登录 发表评论 登录页面 否 是 获取发表评论的所有内 容 进入到图书详情页面 , 显示 发表的评论 图书详情 2.5 购物车模块管理 模块描述 购物车管理是为了使用户拥有更好的在线购物体验而诞生的技术。购物车 是在线商店更加的适应业务需求,将用户的多个购物请求集中到同一个订单中, 既方便了用户在线支付的繁琐过程,减少了用户信息泄露的机会。 购物车模块主要功能:向购物车添加商品记录,删除商品记录,清空购物 车,计算购物车内所有商品的总价格。 实体类描述 Cart.java 功能描述:购物车相关操作类。 对象属性: 属性 数据类型 描述 对象行为: 方法 描述 public void addCartItem(String id, BookBean, book) 向购物车添加记录 (bookid,图书信息) public void delCartItem(String id) 删除购物车内的一条记录 (bookid) public void clearCart() 清空购物车的记录 public double totalPrice(double price, int count) 计算购物车内所有商品的 总价值(商品的单价,商 品数量) Book_Cart.java 功能描述:购物车所使用的查询方法。 对象属性: 属性 数据类型 描述 对象行为: 方法 描述 public ArrayList executeQuery(String sql, String, paras) 将查询的结果集封装到 ArrayList 对 象中(sql 语句, 传递给 sql 的参数 数组 public BooksBean getBookById(String id) 通过图书的 id 号查询图书(图书 id) CartServlet.java 功能描述:Servlet 文件,用来处理用户购物车界面的各种请求。 对象属性: 属性 数据类型 描述 对象行为: 方法 描述 doGet(HttpServletRequest request, HttpServletResponse response) 获取购物车界面提交的各种请求,并作 出响应(请求,响应) doPost(HttpServletRequest request, HttpServletResponse response) 调用 doGet 方法,以隐藏用户的信息。 2.6 提交订单模块 订单提交 提交订单 核对商品信息 核对收货人信 息 返回修改信息 f a l s e 修改收货人信 息 F a l s e t r u e 提交完成 对象属性 order 属性 描述 数据类型 id 自增 ID Int orderId 订单编号 Int userId 用户 ID Int reciverid 收货人 ID Int orderdate 提交订单日期 datetime totalprice 全部图书总价 In status 订单状态(默认为 0) 0:等待付款 1:已经付款 2:订单已取消 3:记录已删除 Int payDate 付款日期 datetime isout 是否发货(默认为 0) 0:未发货 1:已发货 outdate 发货日期 datetime orderDetail 属性 描述 字段类型 id 自增 ID Int orderId 订单 ID Int bookid 图书编号 Int ordernum 订购数量 Int saleprice 出售价格 Double totalvalue 图书总价 String Status 状态位(默认为 0) Int reciverInfo 属性 字段含义 数据类型 id 自增 ID Int orderid 订单编号 String recname 收货人姓名 Varchar rectel 收货人电话 Varchar reczip 收货人邮编 Varchar recaddr 收货人地址 Varchar Status 状态位(默认为 0) Int 对象行为 方法 描述 Public OrdersBean() 构造方法 Public DetailOrderBean() 构造方法 Public ReciverInfoBean() 构造方法 业务逻辑 方法 描述 public int findMaxId(); 查找最大的订单 ID public int findMaxReciverId(); 查找最大收货人 Id publicboolean submitOrder(List bookList,ReciverInfoBean reciver,UsersBean user,double totalPrice); 处理提交订单 数据库访问层 方法 描述 publicboolean submitOrder(OrdersBean order, 生成订单处理 List detailOrder,ReciverInfoBean reciver); 2.7 订单管理模块 (1 ) 功能描述::当前用户可以查询自己的所有订单,包括以前的购买记录 用户 Id 订单表 显示订单记 录 处理流程图 对象属相: 属性 数据类型 字段含义 id Int 自增 ID orderId Int 订单编号 userId Int 用户 ID reciverid Int 收货人 ID orderdate datetime 提交订单日期 totalprice Int 全部图书总价 status Int 订单状态(默认为 0) 0:等待付款 1:已经付款 2:订单已取消 3:记录已删除 payDate datetime 付款日期 isout 是否发货(默认为 0) 0:未发货 1:已发货 outdate datetime 发货日期 对象行为: 方法 描述 Public orderBean() 构造方法 业务逻辑 对象行为 方法 描述 publicListgetAllOrdersByUserId(int userId,PageUtil pageUtil); 通过用户 Id 查询该用户 所有的订单记录 Publicint getOrderCountByUserId(int userId); 通过用户编号查询该用 户的订单记录条数 数据库访问层 方法 描述 public RowSet getAllOrderByUserId(int userId,PageUtil pageUtil); 通过用户 ID 查询所有的订单 public RowSet getOrderCountByuserId(int userId); 获得订单记录的条数 (2 ) 用户可以查询每个订单的详情,包括收货人信息等 订单 I d 订单详情 订单编号 收货人信息 订单详情 查看订单详情 实体类 对象属性 OrderDetail 属性 数据类型 字段含义 id Int 自增 ID orderId Int 订单 ID bookid Int 图书编号 ordernum Int 订购数量 saleprice Double 出售价格 totalvalue String 图书总价 Status Int 状态位(默认为 0) 对象方法 方法 描述 Public orderDetailBean() 构造方法 reciverInfo 属性 属性 字段描述 数据类型 id 自增 ID Int orderid 订单编号 String recname 收货人姓名 Varchar rectel 收货人电话 Varchar reczip 收货人邮编 Varchar recaddr 收货人地址 Varchar Status 状态位(默认为 0) Int 方法 方法 描述 Public detailorderBean() 构造方法 业务逻辑层 方法 描述 publicRowSet getOrderDetailById(int id); 通过订单 ID 查询订单的详细信息 publicRowSetgetReciverInfoByOrderId(int orderId); 通过订单 ID 查询相应的收货人信 息 数据库访问层 方法 描述 public List getOrderDetailByOrderId( int id); 通过订单 ID 询该订单中的书本的详细信息 (3 ) 取消订单 订单编号 订单表 取消订单 取消订单的流程 对象属性 属性 数据类型 字段含义 id Int 自增 ID orderId Int 订单编号 userId Int 用户 ID reciverid Int 收货人 ID orderdate datetime 提交订单日期 totalprice Int 全部图书总价 status Int 订单状态(默认为 0) 0:等待付款 1:已经付款 2:订单已取消 3:记录已删除 payDate datetime 付款日期 isout 是否发货(默认为 0) 0:未发货 1:已发货 对象行为 方法 描述 Public

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论