1、 摘要:本系统实现用户网上购物的基本功能,包括用户购物,查看自己的购物车,然后提交选购、付款。系统利用MyEclipse平台技术进行开发,实现用户购物的动态管理,使得对信息的管理更加及时、高效,提高了效率。同时还对系统的开发原理、功能特点和设计方案进行了介绍。关键词: 用户网上购物 数据库 管理 一、课程设计的目的与要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。具体如下:1. 学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;2. 熟悉自动化的软件开发工具Mye
2、clipse 8.6,并将其运用于软件开发的全过程;3. 进一步加强和提高软件工程文档的编写能力;4. 培养协作能力和团队精神。二、设计正文1 概述1.1课题题目:网上电子书店1.2系统的主要目标:本系统目标是实现用户网上购物所需的各种基本功能,包括用户登录、浏览书籍、查看书目信息、查看购物车等的各种功能。1.3 系统的开发环境及运行环境:操作系统: Windows XP 数据库系统:SQL Server2005Web服务器:Myeclipse 8.62 系统需求分析学生选课系统主要满足用户的需求,其主要功能就是:登录、查询所需书籍、查看购物车、付款方式的选择等。管理员主要负责管理用户的信息,
3、以及对相应书目的更新任务。本系统让用户具有较高的权限,通过登录网站便可以随意的选择,用户也具有较高的自由,唯一的限制就是非注册过的用户不能进入网站内部。本系统通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。2.1 E-R图(1)书籍实体图(2)用户信息实体图(3)信用卡实体图图2-1 网上购物系统E-R图2.2、数据流程图图2-2 网上购物系统数据流图 3 系统总体设计3.1 设计问题域子系统网上购物系统是实现用户可以足不出户在网上任意选购的一个平台,整个网上电子书店系统有前台和后台两部分,共分为2个模块:管理员模块,用户模块,分别用于完成各自的功能。以下为网上购物系统
4、总体设计图和各功能模块说明:(1)总体设计图网上电子书店系统的数据库网上购物系统IE用户(2)各模块功能表3-1 网上电子书店系统功能模块表功能模块包含子功能模块功能数据库管理员模块用户管理子模块对用户信息的添加、修改,删除操作书籍管理子模块对书籍的添加,修改,删除,更新操作用户模块实现查看自己的购物车,每个书籍的信息,以及最后要付的金额3.2 设计数据管理子系统(1)数据库表表3-2 数据库表序号数据库表数据表存储的内容1Userinfo存储用户的信息2Account存储购物金额的信息3Publisher存储出版商的信息4BookOrder存储书籍的详细信息(2)数据库表结构有关表Useri
5、nfo的详细数据字段:表3-3 Userinfo用户信息表序号字段名字段类型说明备注1userIDint用户编号关键字2loginnamenvarchar(20)用户名3passwordnvarchar(10)not nul密码有关表Account的详细数据字段:表3-4 Account 消费金额表序号字段名字段类型说明备注1balancemoney单价2creditcardnvarchar(20)not null信用卡号关键字有关表Publisher的详细数据字段:表3-5 Publisher出版信息表序号字段名字段类型说明备注1publisherIDInt not null版本号关键字2p
6、ublisherNamenvarchar(30)not null出版社有关表BookOrder的详细数据字段:表3-6 BookOrder 书籍信息表序号字段名字段类型说明备注1orderIDInt not null用户编号关键字2usernamenvarchar(20)not null用户名3zipcodenvarchar(8)邮政编码4phonenvarchar(20)联系方式5creditcardnvarchar(20)信用卡号6totalmoney消费总额3.3 设计人机交互子系统(1)用户描述管理员的描述:管理员在整个选课系统中起到管理和维护的作用,对用户和各种书籍的信息进行管理和维
7、护等职责。用户的描述:消费用户在本系统中具有查看所需书目的信息以及自己的购物车等的功能。(2)设计命令层次系统的人机交互子系统的内容和准则:本电子书店系统的人机交互子系统在根据用户的登录信息,选择是否允许进入网页浏览书籍。通过采用树形结构,细化命令的组织方式。4 详细设计网上电子书店购物系统是实现用户登录、浏览购物、选择支付方式以及管理员维护信息的一个平台,整个电子书店系统共分为两个大模块:管理员模块,用户模块。4.1系统用户登录流程图 (4)用户登录系统的流程登录输入用户名、密码验证用户名、密码提示用户登录失败进入网站主页面购买相应的书籍付款验证正确结束是否图4 系统用户登录流程图5 系统实
8、现本系统采用了三层架构来实现,即分为用户界面层(UI)、业务逻辑层(BLL)和数据访问层(DAL),用户界面层是展示给用户的界面,方便用户与系统进行交互;业务逻辑层是对系统业务实体的封装,完成系统业务功能;数据访问层直接与数据库打交道,为业务逻辑层提供底层的数据库操作。5.1 ConnectionManager类主要是与数据库连接,提供数据库操作功能,代码如下: public class ConnectionManager private static final String CLS=com.microsoft.sqlserver.jdbc.SQLServerDriver; private
9、static final String URL=jdbc:sqlserver:/localhost:1433;DatabaseName=books; private static final String USER=sa; private static final String PAW=123456; /* * 获取连接方法 * return */ public static Connection getConnection() Connection con=null; try Class.forName(CLS);con=DriverManager.getConnection(URL, US
10、ER, PAW); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();return con; /* * * param rs 结果集 * param stmt 命令 * param pStmt预处理命令 * param con 连接 */ public static void closeAll(ResultSet rs,Statement stmt,PreparedStatement pStmt,Connection con) try if(rs!=null)rs.close(); if(stmt!
11、=null) stmt.close(); if(pStmt!=null) pStmt.close(); if(con!=null) con.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); 5.2 CheckLogin类是所有系统角色用户的基类,完成用户登录验证的功能,代码如下: public class CheckLogin public boolean validate(String username,String password) boolean flag=fals
12、e; Connection con=null; PreparedStatement pStmt=null; ResultSet rs=null; String sql=select * from userinfo where loginname=?; con=ConnectionManager.getConnection(); try pStmt=con.prepareStatement(sql);pStmt.setString(1,username);rs=pStmt.executeQuery();if(rs.next()&rs.getString(password).equalsIgnor
13、eCase(password)flag=true;elseSystem.out.print(登录失败,请重新登录!); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();finallyConnectionManager.closeAll(rs, null, pStmt, con); return flag; 5.3 系统登录页面,代码及运行效果如下: 在线书店模板页面 !- function check()if(f.username.value=null)|(f.username.value=
14、)alert(请输入用户名!);return false;elsereturn true;if(f.password.value=null)|(f.password.value=)alert(请输入密码!);return false;elsereturn true; 图书列表 用户名: 密码: 20)return str.substring(0,20)+.;elsereturn str;%图5-1系统登录页面5.4 书店网站主页面代码及运行效果图如下: 在线书店模板页面 !-
15、 图书列表 % TitlesBean titleBean =new TitlesBean(); List titles=titleBean.getTitles(); session.setAttribute(titles,titles); for( int i=0;i a href=displayBook.jsp?isbn= a href=displayBook.jsp?isbn= img height=118 src=./images/ width=156 20)return str.substring(0,20)+.