目 录
摘 要 I
Abstract II
1 引言 1
1.1 课题研究意义及背景 1
1.2 论文的目的及设计要求 1
1.3 开发工具及技术 2
1.3.1 开发工具 2
1.3.2 JSP 2
1.3.3 JavaScript 3
1.3.4 SSH 3
1.4 软硬件需求 5
2 可行性分析 6
2.1 技术可行性 6
2.2 经济可行性 6
2.3 操作可行性 6
2.4 法律可行性 6
3 研究现状及设计目标 7
3.1 购物商城的现状 7
3.2 购物商城优缺点分析 7
3.3 现行研究存在的问题及解决方法 7
3.3.1 现行研究存在的问题 7
3.3.2 解决办法 8
3.4 本课题要达到的设计目标 8
3.5 经济效益分析 8
4 关键问题及分析 9
4.1 研究设计中要解决的问题 9
4.1.1 数据表间联系 9
4.1.2 系统安全性 9
4.2 具体实现中采用的关键技术 9
4.2.1 J2EE技术 9
4.2.2 JDBC技术 10
4.2.3 MVC编程模式 11
5 需求分析 12
5.1 设计的基本思想 12
5.2 功能模块需求分析 12
5.3 系统用户用例图 14
5.3.1 普通用户用例图 14
5.3.2 管理员用例图 14
5.4 性能需求 15
5.4.1 系统的安全性 15
5.4.2 数据库的安全性 15
5.5 界面需求 15
5.5.1 输出设计 15
5.5.2 输入设计 16
5.6 USE-CASE用例图 16
5.7 系统主要业务流程 17
5.8 功能需求 17
5.9 开发环境 18
6 系统设计 19
6.1 系统体系结构 19
6.2 系统功能结构 19
6.3 数据库的分析与设计 20
6.3.1 数据库的概念结构设计 20
6.3.2 数据库的逻辑结构设计 23
6.3.3 数据库的连接原理 25
7 系统实现及测试 27
7.1 系统主要模块的实现 27
7.1.1 系统登录功能界面 27
7.1.2 修改登录密码功能界面 29
7.1.3 会员注册功能界面 30
7.1.4 会员管理功能界面 30
7.1.5 商品类别管理功能界面 31
7.1.6 商品信息管理功能界面 33
7.1.7 订单信息管理功能界面 35
7.1.8 浏览商品信息功能界面 36
7.1.9 商品信息查询功能界面 37
7.1.10 订购商品功能界面 37
7.1.11 订单信息查看功能界面 39
7.2 系统测试概述 39
7.3 测试环境与测试条件 40
7.4 实例测试表格 40
8 结论 42
致 谢 43
参考文献 44
5 需求分析
5.1设计的基本思想
设计思想遵循以下几点:
(1) 采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页搜索方式的用户。
(2) 采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。
(3)采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。
(4)简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。
(5)速度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。
(6)设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。
5.2功能模块需求分析
本系统最大的特点是使用操作简单、友好的提示信息。
本系统将实现以下基本功能:
(1)系统具有简洁大方的页面,使用简便。
(2)管理员用户具有商品类别管理、商品信息管理、商品信息更新管理、订单管理、会员信息管理、系统管理功能。
(3)普通用户具有浏览商品、商品查询、购买商品、修改个人信息等功能
(4)具有较强的安全性,避免用户的恶意操作。
系统的功能分普通用户平台,管理员平台。系统的总体功能图如图3.1所示。
图3.1 系统的总体功能图
普通用户功能模块图说明:普通用户可以在线浏览商品,查询商品,如果要购买、下订单操作,首先需要注册一个个人账号,然后登陆到系统中,如功能图3.2所示。
图3.2 普通用户的用户功能模块图
管理员功能模块图说明:管理员是功能最多的一种用户角色。
(1)商品类别信息管理模块:在该模块中完成对商品类别信息的管理,包括类别录入、查询、修改、增加和删除等功能操作。其中类别信息包括类别名称、类别介绍等信息。
(2)商品信息管理模块:在该模块中定义了商品信息的管理,其功能包括商品录入、查询、删除等操作。
(3)会员管理模块:该模块中包括浏览会员信息和删除会员信息2个功能。
(4)系统管理模块:在该模块中定义了系统日常维护的功能,包括公告信息的添加和查询,修改功能,本文转载自http://www.biyezuopin.vip/onews.asp?id=11367以及系统用户管理和修改密码等功能。
管理员用户功能模块图如图3.3所示。
图3.3 管理员用户功能模块图
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="pragma" content="no-cache"/>
<meta http-equiv="cache-control" content="no-cache"/>
<meta http-equiv="expires" content="0"/>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3"/>
<meta http-equiv="description" content="This is my page"/>
<link rel="stylesheet" href="<%=path %>/css/reset.css" type="text/css" media="screen" />
<link rel="stylesheet" href="<%=path %>/css/style.css" type="text/css" media="screen" />
<link rel="stylesheet" href="<%=path %>/css/invalid.css" type="text/css" media="screen" />
<script type='text/javascript' src='<%=path %>/dwr/interface/loginService.js'></script>
<script type='text/javascript' src='<%=path %>/dwr/engine.js'></script>
<script type='text/javascript' src='<%=path %>/dwr/util.js'></script>
<script language="javascript">
function ccc()
{
if(document.ThisForm.userName.value=="")
{
alert("请输入用户名");
document.ThisForm.userName.focus();
return false;
}
if(document.ThisForm.userPw.value=="")
{
alert("请输入密码");
document.ThisForm.userPw.focus();
return false;
}
loginService.login(document.ThisForm.userName.value,document.ThisForm.userPw.value,document.ThisForm.userType.value,callback);
}
function callback(data)
{
alert(data);
if(data=="no")
{
alert("用户名或密码错误");
}
if(data=="yes")
{
alert("通过验证,系统登录成功");
window.location.href="<%=path %>/admin/index.jsp";
}
}
function qing()
{
document.ThisForm.userName.value="";
document.ThisForm.userPw.value="";
}
</script>
</head>
<body id="login">
<div id="login-wrapper" class="png_bg">
<div id="login-top" style="font-size: 30px;">
基于ssh的婴幼儿产品销售系统
</div>
<div id="login-content" style="margin-top: 50px;">
<form action="0" method="post" name="ThisForm">
<p>
<label style="font-family: 微软雅黑">登陆账号:</label>
<input class="text-input" type="text" name="userName"/>
</p>
<div class="clear"></div>
<p>
<label style="font-family: 微软雅黑">登陆密码:</label>
<input class="text-input" type="password" name="userPw"/>
</p>
<div class="clear"></div>
<p style="display: none;">
<label style="font-family: 微软雅黑">登陆类型:</label>
<select name="userType" style="width: 210px;margin-left: 18px;" class="text-input" >
<option value="0">00</option>
<option value="11">11</option>
</select>
</p>
<div class="clear"></div>
<p>
<label> </label>
<input class="button" type="button" value="登陆" style="width: 80px;" onclick="ccc()"/>
</p>
<div class="clear"></div>
</form>
</div>
</div>
</body>
</html>