资源描述
电子商务系统课程设计报告
76
资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。
课 程 设 计 报 告
课 程 名 称 电子商务系统分析与设计
指 导 老 师 卫剑
成员姓名学号 熊灵( ) 贾琦 ( ) 赵成( )
班 级 电子商务一班
小组组长姓名 熊灵
组 长 电 话
成 绩 _________________
完 成 日 期 /6/12
目录
一、 需求分析 3
需求清单及任务分工 3
系统用例图 3
功能点用例图; 3
功能点业务场景描述(要包含基本业务场景和扩展业务场景); 3
二、 系统分析 3
功能点功能概述; 3
功能点业务静态模型(包含类图); 3
功能点业务动态模型(包含活动图、状态图和顺序图); 3
功能点数据分析,并画出E-R图; 3
三、 系统设计 3
1. 类 3
2. 功能模块 4
3. 数据库设计 5
四、 系统实现 5
1. 前端页面代码 5
2. Php代码 5
3. 数据库脚本 5
一、 需求分析
1.1需求清单及任务分工
a.需求清单:
序号
需求名称
需求说明
状态
优先级
风险
分工
1
网站注册/登陆
能够经过Internet登陆网站
标准的
关键
关键的
贾琦
2
查询订单
经过网站后台查询已经存在的订单
标准的
关键
关键的
贾琦
3
物流公司选择
经过网站后台保存物流公司
标准的
关键
关键的
赵成
4
选择开通物流公司
经过网站后台选择需要开通的物流公司
标准的
关键
关键的
赵成
5
填写地址库信息
经过网站后台输入卖家地址信息
标准的
关键
关键的
熊灵
6
核对地址库信息
经过网站后台核对地址信息
标准的
关键
关键的
熊灵
b.任务分工:
任务一
PHP设计
熊灵
任务二
网页设计
赵成
任务三
数据库建设
贾琦
功能点一
订单管理
贾琦
功能点二
服务商管理
赵成
功能点三
地址库管理
熊灵
1.2系统用例图
1.3功能点用例图
a. 功能点一: 订单管理
b.功能点二: 服务商管理
c.功能点三: 地址库管理
1.4功能点业务场景描述( 要包含基本业务场景和扩展业务场景) ;
a.管理员注册/登陆
基本业务场景: 1、 管理员提出了注册/登陆请求
2、 管理员点击了注册/登陆按钮
3、 网站服务器响应管理员请求
4、 网页显示出注册/登陆后结果
扩展业务场景: 管理在输入账号密码是发生了错误, 账号或密码错误, 系统错误, 网络错误, 即登陆失败。
b.物流管理
基本业务场景: 1、 管理员提出了物流管理请求
2、 管理员选择货运订单, 修改或储存买家信息
3、 网站服务器响应管理员请求
4、 网页显示出商品管理后页面
扩展业务场景: 商品管理时出现系统故障, 如网络故障, 或修改商品时未完整填写修改内容, 则出现商品管理失败。
c.订单管理
基本业务场景: 1、 管理员提出了订单管理请求
2、 管理员选择订单管理选项, 订单编辑、 订单查询
3、 网站服务器响应管理员请求
4、 网页显示出订单管理后结果
扩展业务场景: 订单管理时出现系统故障, 如网络故障, 或人为故障, 如订单编号不存在完整, 订单编号输入错误, 则出现订单管理失败。
d.服务商管理
基本业务场景: 1、 管理员提出了服务商管理请求
2、 管理员选择服务商管理选项, 开通服务商
3、 网站服务器响应管理员请求
4、 网页显示出订单管理后结果
扩展业务场景: 服务商管理出现系统故障, 如网络故障, 或系统反应迟钝, 则出现订单管理失败。
e.地址库管理
基本业务场景: 1、 管理员提出了地址库管理请求
2、 管理员选择地址库管理选项, 输入地址信息
3、 网站服务器响应管理员请求
4、 网页显示出地址库管理后的结果
扩展业务场景: 地址库管理出现系统故障, 如网络故障, 或系统反应迟钝, 或出现人为故障, 如地址库信息输入错误或不完整, 则地址库管理失败。
二、 系统分析
2.1功能点功能概述
管理员注册/登陆: 管理员经过输入用户名及密码注册/登陆到网站后台进行管理;
物流管理: 管理员经过物流管理能够修改卖家信息, 确定物流公司, 发货与取消发货, 查看发货物品物流信息;
订单管理: 管理员经过订单管理能够对订单进行编辑以及查询需要的订单;
服务商管理: 管理员经过服务商管理能够查询及开通相应的物流公司;
地址库管理: 管理员经过地址库管理能够对卖家个人信息进行设置。
2.2功能点业务静态模型( 包含类图)
a. 订单管理
b. 服务商管理
c. 地址库管理
2.3功能点业务动态模型( 包含活动图、 状态图和顺序图)
2.3.1订单管理
a. 活动图:
b.状态图:
c.顺序图:
2.3.2服务商管理
a.活动图:
b.状态图:
c.顺序图:
2.3.3地址库管理
a.活动图:
b.状态图:
c.顺序图:
2.4功能点数据分析, 并画出E-R图;
三、 系统设计
3.1类
3.1.1类清单
序号
类名称
所属用例
所属功能模块
实现的文件
1
订单管理
订单管理
订单管理
已产生的订单
2
服务商管理
物流管理
物流工具
一个工具类中含有物流工具的一个包
3
地址库管理
物流服务
物流服务
发货中需要的各种物流服务
3.1.2类的详细设计
3.1.2.1属性名称:
属性名称
数据类型
描述
订单管理
字符型
Char(20)
服务商管理
字符型
Char(20)
地址库管理
字符型
Char(20)
3.1.2.2方法描述:
方法名称
功能描述
输入参数描述
输出参数描述
管理订单
管理员经过订单管理能够对订单进行编辑以及查询需要的订单;
数据库数据输入
php嵌入html语言和MYSQL语言
管理服务商:
管理员经过服务商管理能够查询及开通相应的物流公司;
数据库数据输入
php嵌入html语言和MYSQL语言
管理地址库:
管理员经过地址库管理能够对卖家个人信息进行设置。
数据库数据输入
php嵌入html语言和MYSQL语言
3.2功能模块
3.2.1模块基本信息
模块名称
订单管理
模块编号
版本号
功能描述
管理员经过订单管理能够对订单进行编辑以及查询需要的订单;
关联模块
无关联模块
包
含文件数
1
包含的类
待发货订单
模块名称
服务商管理
模块编号
版本号
功能描述
管理员经过服务商管理能够查询及开通相应的物流公司;
关联模块
无关联模块
包含文件数
1
包含的类
开通服务商
模块名称
地址库管理
模块编号
版本号
功能描述
管理员经过地址库管理能够对卖家个人信息进行设置。
关联模块
无关联模块
包含文件数
1
包含的类
地址库信息
3.2.2模块设计
3.2.2.1主要文件的描述
(1) Order.php
a) 实现的功能: 订单管理、
b) 包含的类: 订单管理
c) 界面截图( PHP等后台功能文件无需截图)
(2) deliver.php
a) 实现的功能: 服务商管理、
b) 包含的类: 服务商管理
c) 界面截图( PHP等后台功能文件无需截图)
(3) addr.php
a) 实现的功能: 地址管理
b) 包含的类: 地址管理
c) 界面截图( PHP等后台功能文件无需截图)
3.3数据库设计
3.3.1关系模式描述( 逻辑模型)
3.3.1.1表清单
序号
表的名称
1
用户表
2
待发货订单表
3
服务商表
4
地址库表
3.3.2表结构描述( 物理模型)
a.用户表:
b.待发货订单表:
c.服务商表:
d.地址库表:
3.3.3数据表内容
a.用户表:
字段名称
数据类型
长度
是否为主键
是否为空
其它约束
含义
账号
整形
8
是
否
用户名
字
符型
15
否
是
密码
字
符型
15
否
是
b.待发货订单表:
字段名称
数据类型
长度
是否为主键
是否为空
其它约束
含义
编号
整形
8
是
否
用户密码
字符型
32
否
是
用户姓名
字符型
15
否
是
用户电话
字符型
15
否
是
订单编号
字符型
32
否
是
商品名称
字符型
64
否
是
商品图片
字符型
128
否
是
添加日期
日期型
否
是
是否发送
整形
4
否
是
快递名称
字符型
20
否
是
详细地址
字符型
512
否
是
c.服务商表:
字段名称
数据类型
长度
是否为主键
是否为空
其它约束
含义
账号
整形
8
是
否
物流名称
字
符型
12
否
是
开通
整形
4
否
是
d.地址库表:
字段名称
数据类型
长度
是否为主键
是否为空
其它约束
含义
编号
整形
8
是
否
用户名
字
符型
16
否
是
详细地址
字符型
128
否
是
用户电话
字符型
16
否
是
邮政编码
字符型
512
否
是
备注
字符型
8
否
是
四、 系统实现
4.1前端页面代码
login.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>用户登录</title>
<link rel="stylesheet" href="css/index.css" />
</head>
<body>
<div class="center">
<h3>会员登录</h3>
<form method="post" action="login.php">
<ul>
<li>
<p>用户名: </p>
<p><input type ="text" class="input" name ="username" ></p>
</li>
<li>
<p>密码: </p>
<p><input type ="password" class="input" name ="password" ></p>
</li>
<li class="submit">
<input type ="submit" value ="登陆" >
<a href="register.html" style='margin-left: 25px;'>注册</a>
</li>
</ul>
</form>
</div>
</body>
register.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>用户注册</title>
<link rel="stylesheet" href="css/index.css" />
</head>
<body>
<div class="center">
<h3>会员注册</h3>
<form method="post" action="register.php">
<ul>
<li>
<p>用户名: </p>
<p><input type ="text" class="input" name ="username" ></p>
</li>
<li>
<p>密码: </p>
<p><input type ="password" class="input" name ="password" ></p>
</li>
<li>
<p>确认密码: </p>
<p><input type ="password" class="input" name ="password2" ></p>
</li>
<li class="submit">
<input type ="submit" value ="注册" >
<a href="login.html" style='margin-left: 25px;'>登录</a>
</li>
</ul>
</form>
</div>
</body>
CSS代码
body{ font-family: "微软雅黑"; font-size: 16px; }
.center{
margin: 0 auto;
text-align: center;
margin-top: 5%;
}
.center ul{
width: 320px;
text-align: left;
margin: 0 auto;
}
li{
list-style-type:none;
margin:22px 0;
}
.center .input{
height: 28px;
width: 100%;
}
.center .submit{
text-align: center;
}
.center .submit input{
padding: 6px 14px;
font-size: 14px;
}
.order-table{
margin-top:0;
width: 70%;
}
.order-table tr{
height: 40px;
}
.menu{
margin-right: 25px;
}
.active{
font-weight: bold;
font-size: 18px;
4.2Php代码
Register.php
<?php
include_once("connect.php");
$user = $_POST["username"];
$psw = $_POST["password"];
$psw2 = $_POST["password2"];
if($user == "" || $psw == "" || $psw2 == "")
{
echo "<script>alert('请输入用户名或密码! '); history.go(-1);</script>";
} else if($psw != $psw2){
echo "<script>alert('两次输入密码不一致! '); history.go(-1);</script>";
} else{
$sql = "insert into tb_user(username, password) values('{$user}', '{$psw}')";
$result = mysql_query($sql);
if($result == 1)
{
session_start();
$_SESSION['username']=$user;
header("location:order.php");
} else {
echo "<script>alert('注册失败! ');history.go(-1);</script>";
}
}
?>
Login.php
<?php
include_once("connect.php");
$user = $_POST["username"];
$psw = $_POST["password"];
if($user == "" || $psw == "")
{
echo "<script>alert('请输入用户名或密码! '); history.go(-1);</script>";
}
else
{
$sql = "select username,password from tb_user where username = '{$user}' and password = '{$psw}'";
$result = mysql_query($sql);
echo($result);
$num = mysql_num_rows($result);
if($num)
{
//echo "登录成功";
session_start();
$_SESSION['username']=$user;
header("location:order.php");
}
else
{
echo "<script>alert('用户名或密码不正确! ');history.go(-1);</script>";
}
}
?>
connect.php
<?php
session_start();
$host="localhost";
$db_user="root";
$db_pass="";
$db_name="tb_shop";
$timezone="Asia/Shanghai";
$link=mysql_connect($host,$db_user,$db_pass);
mysql_select_db($db_name,$link);
mysql_query("SET names UTF8");
header("Content-Type: text/html; charset=utf-8");
date_default_timezone_set($timezone); //北京时间
?>
order.php
<?php
include_once("connect.php");
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>物流服务</title>
<link rel="stylesheet" href="css/index.css" />
</head>
<body>
<div class="center">
<div style="margin: 20px;">
<?php
if($_SESSION['username']){
echo "欢迎您 ".$_SESSION['username']." <a href='logout.php'>退出</a>" ;
}else{
echo "<script>location.href='login.html';</script>";
}
?>
</div>
<div>
<a href="order.php"><span class="menu active">订单管理</span></a>
<a href="delivery.php"><span class="menu">服务商管理</span></a>
<a href="addr_add.php"><span class="menu">地址管理</span></a>
</div>
<h1>等待发货的订单</h1>
<form method="post" action="order.php">
<p>
收件人名称: <input type="text" name="userName"/>
创立时间: <input type="date" name="dateAdd"/>
订单编号: <input type="text" name="orderCode"/>
<input type="submit" value="搜索" />
</p>
</form>
<hr>
<?php
include_once("connect.php");
$userName = $_POST["userName"];
$dateAdd = $_POST["dateAdd"];
$orderCode = $_POST["orderCode"];
$sql = "select * from tb_order where 1 = 1 ";
if($userName){
$sql.=" and user_name like '%{$userName}%' ";
}
if($dateAdd){
$sql.=" and date_add like '%{$dateAdd}%' ";
}
$result = mysql_query($sql);
echo "<table class='center order-table'>";
echo "<tr>";
echo "<th>订单编号</th>";
echo "<th>收货人姓名</th>";
echo "<th>收货人电话</th>";
echo "<th>商品名称</th>";
echo "<th>送货地址</th>";
echo "<th>下单时间</th>";
echo "<th>快递名称</th>";
echo "<th>操作</th>";
echo "</tr>";
while($order = mysql_fetch_array($result)){
echo "<tr>";
echo "<td>".$order["order_code"]."</td>";
echo "<td>".$order["user_name"]."</td>";
echo "<td>".$order["user_phone"]."</td>";
echo "<td>".$order["goods_name"]."</td>";
echo "<td>".$order["addr_detail"]."</td>";
echo "<td>".$order["date_add"]."</td>";
if($order["is_send"] - 0 == 0){
echo "<td><select><option>中通快递</option><option>申通快递</option></select></td>";
echo "<td><a href='javascript:;'>发货</a></td>";
}else{
echo "<td>".$order["delivery_name"]."</td>";
echo "<td>已发货</td>";
}
echo "</tr>";
}
echo "</table>";
?>
</div>
<script>
function demo(){
//window.location.href = "";
}
</script>
</body>
</html>
deliver.php
<?php
include_once("connect.php");
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>物流服务</title>
<link rel="stylesheet" href="css/index.css" />
</head>
<body>
<div class="center">
<div style="margin: 20px;">
<?php
if($_SESSION['username']){
echo "欢迎您 ".$_SESSION['username']." <a href='logout.php'>退出</a>" ;
}else{
echo "<script>location.href='login.html';</script>";
}
?>
</div>
<div>
<a href="order.php"><span class="menu">订单管理</span></a>
<a href="delivery.php"><span class="menu active">服务商管理</span></a>
<a href="addr_add.php"><span class="menu">地址管理</span></a>
</div>
<h1>服务商管理</h1>
<form method="post" action="delivery_add.php">
<p>
物流公司: <input type="text" name="delivery_name"/>
<input type="submit" value="开通" />
</p>
</form>
<?php
include_once("connect.php");
$delivery_name = $_POST["delivery_name"];
$sql = "select * from tb_delivery";
$result = mysql_query($sql);
echo "<table class='center order-table'>";
echo "<tr>";
echo "<th>物流名称</th>";
echo "<th>是否开通</th>";
echo "</tr>";
while($order = mysql_fetch_array($result)){
echo "<tr>";
echo "<td>".$order["delivery_name"]."</td>";
echo "<td>已开通</td>";
echo "</tr>";
}
echo "</table>";
?>
</div>
<script>
function demo(){
//window.location.href = "";
}
</script>
</body>
</html>
deliver_add.php
<?php
include_once("connect.php");
$delivery_name = $_POST["delivery_name"];
if($delivery_name == "") { echo "<script>alert('请输入物流名称! '); history.go(-1);</script>"; }
else
{
$sql = "insert into tb_delivery(delivery_name, effective) values('{$delivery_name}', 1)";
$result = mysql_query($sql);
if($result == 1)
{
header("location:delivery.php");
} else {
echo "<script>alert('保存失败! ');history.go(-1);</script>";
}
}
?>
addr.php
<?php
include_once("connect.php");
$user_name = $_POST["user_name"];
$user_phone = $_POST["user_phone"];
$addr_detail = $_POST["addr_detail"];
$zip_code = $_POST["zip_code"];
$remark = $_POST["remark"];
if($user_name == "") { echo "<script>alert('请输入联系人姓名! '); history.go(-1);</script>"; }
else if($user_phone == "") { echo "<script>alert('请输入联系人电话! '); history.go(-1);</script>"; }
else if($addr_detail == "") { echo "<script>alert('请输入邮寄地址! '); history.go(-1);</script>"; }
else if($zip_code == "") { echo "<script>alert('请输入邮政编码! '); history.go(-1);</script>"; }
else
{
$sql = "insert into tb_addr(user_name, user_phone, addr_detail, zip_code, remark) values('{$user_name}', '{$user_phone}', '{$addr_detail}', '{$zip_code}', '{$remark}')";
$result = mysql_query($sql);
if($result == 1)
{
header("location:order.php");
} else {
echo "<script>alert('保存失败! ');history.go(-1);</script>";
}
}
?>
addr_add.php
<!DOCTYPE HTML>
<html>
展开阅读全文