校园交易系统课程设计Word文件下载.docx
《校园交易系统课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《校园交易系统课程设计Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。
商品信息发布,自身商品信息统计。
查找浏览其他商品。
∙向一般用户提供以下功能:
商品浏览、查找、获知商家联系方式,定购商品。
一.系统概述
目的:
校园小商品交易系统,和网上购物系统有类似之处。
可以实现网上的商品信息交流。
方便我们安徽工程大学学生的交流与合作。
(1)可行性研究报告
(1)组织机构操作方式上的可行性
由于组织机构团队是同寝室室友,故交流便利。
大家任务分工明确,效率很高。
(2)基础数据的可用性
本项目输入WEB2.0应用,所有需要的数据都由系统发布后用户自行录入
(3)经济上的可行性
本项目主要经济开销为1)作为服务器的PC机,我们可采用租用谷歌云计算服务省去该服务器,而且云计算服务的成本非常低。
2)开发软件的版权费,由于我们是非商业开发,故不存在开发软件版权费。
(4)技术上的可行性
我们采用的ASP.NET结合SQLSERVER2005技术来开发项目,运用jsp相关技术和网页制作和管理,结合信息检索技术合理做好该项目。
数据库:
mysql服务器:
tomcat开发工具:
myeclipse
(5)目标分析
a.问题陈述:
为了学生可以方便的进行商品信息的交流。
b.开发的应用应该包含的功能:
1)基本信息的维护
2)商品发布
3)订购管理
4)管理员管理
(2)项目开发计划
(1)项目开发组织机构的设置和人员的安排
黄雷,何若鹏,吴子豪,陈登台,单梦然
工作安排如下:
1)。
软件框架设计,代码实现——黄雷
主要负责项目整体框架的构思,核心功能的实现,系统维护,人员管理等。
2)。
界面设计——吴子豪,何若鹏
主要负责用户界面的设计,用户体验的研究。
另外设计项目的核心流程,数据库设计。
3)。
文档制作及测试——单梦然,陈登台
主要负责制作后期文档材料,以及开发期间图片,文字信息的查找。
在软件测试阶段采用黑盒测试对于项目的使用进行检查。
(2)项目开发的进度
该项目分2个学期制作,第一学期主要是设计项目功能,业务流程,制定开发计划,分析可行性。
第二学期主要是功能的代码实现。
系统的测试与发布等。
主要你进度表如下:
1)2013/3月~2013/5月项目的市场调查,功能拟定,可行性分析。
2)2013/5月~2013/7月项目界面设计。
核心框架搭建。
3)2013/9月~2013/10月数据库设计,业务流程设计,开发分工。
4)2013/10月~2013/12月代码实现,功能测试,漏洞查找。
(3)项目开发经费的概算
项目总开销如下:
1)云服务费用300元/年
2)版权费:
3)杂物开销(如复印打印,问卷调查)50元
(4)项目所需的硬件和软件资源等
项目需要以下硬件:
用于开发的PC电脑5台(5个人本身就有)
用户开发的VS2008及SQLSERVER2005
2.系统分析
(3)系统分析报告
a.需要完成的功能
2)基本信息的维护
商品信息管理:
包括商品基本信息的新建、修改和删除等,以及商品类别的添加。
普通用户信息管理:
包括普通用户信息的添加、删除和修改密码等。
根据类别,对商品进行前台的管理,用户可以更具类别来浏览商品。
户可以浏览信息的同时,可以将商品加入到购物篮中,最后可以对所选择的商品进行下订单,如果点提交,就真正的提交到数据库中。
用户信息管理:
查看全部用户,对用户进行增删改查
商品管理:
对新商品进行添加,对商品信息的增删改查
b.ER模型图
c.数据字典
1.用户信息表
表项:
name
数据类型:
varchar
说明:
用户的编号(唯一,主键)
表项:
passwd
数据类型:
用户的密码
who
int
用户的类别(管理员或者普通用户)
realname
用户的真实姓名
email
用户的电子邮箱地址
class
用户的班级
say
char
用户的个性签名
imageurl
用户头像的url地址
2.商品信息表
ID
用以唯一标识该商品
商品的名字
author
商品作者的名字
tp
商品的类别(比如日常用品)
三.系统设计
(4)系统设计报告
a.模块结构设计
前台:
1用户注册:
将用户的信息记录到数据库中,同时非配给用户系统会员的角色
2会员登录:
可以登录上系统进行相应的操作
3购物:
可以对所有的商品进行查看,并且可以对感兴趣的商品添加到购物车中
4下订单:
在挑选商品完毕以后可以对订单进行核对,如果没有错误就可以下订单了,点击提交就正式的提交的数据库中。
5修改信息:
会员登录之后可以随意的对自己的信息进行修改
后台:
1管理员登录:
对管理员的账号进行审核,如果正确就进入管理界面
2类别管理:
可以添加类别,具体类别的信息包括类别名称和类别描述。
可以查看当前所有的类别,对类别可以进行修改,可以在相应的类别下面添加商品。
3商品管理:
可以查看到所有的商品,可以对商品信息进行修改和删除。
可以添加商品,并将新添加的商品归属到具体的类别下去。
4注册用户管理:
可以查看所有已经注册的用户信息,可以对用户进行删除操作
5用户订单管理:
可以对所有已经产生的订单进行管理。
b.数据库设计
用户表:
说明:
其中id为表的主键
商品表:
其中id为主键,且categoryid参照的是类别表
商品类别表:
其中id为主键,且pid参照的是自己
订单表:
其中id为主键,userid参照的是用户表
订单项表:
其中id为主键,productid参照的是商品表,orderid参照的是订单表
c.代码设计略
四.系统实现
开发工具myeclipse数据库:
tomcat
(5)系统实现部分
a.核心源程序。
首页后台代码
usingSystem;
usingSystem.Collections;
usingSystem.Configuration;
usingSystem.Data;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.HtmlControls;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Xml.Linq;
usingWebApplication1.Tool;
usingWebApplication1.bean;
namespaceWebApplication1
{
publicpartialclass_Default:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
}
protectedvoidButton3_Click(objectsender,EventArgse)
inttype=SqlManager.isPass(TextBox2.Text,TextBox3.Text);
if(type==SqlManager.OTHERS_ERR)
HttpContext.Current.Response.Write("
<
script>
alert('
密码错误!
'
);
history.back()<
/script>
"
HttpContext.Current.Response.End();
elseif(type==SqlManager.MANAGER)
Response.Redirect("
ManagerView.aspx"
elseif(type==SqlManager.USER_NOT_EXIST)
读者不存在!
else
Session["
username"
]=TextBox2.Text.Trim();
UserView.aspx"
protectedvoidButton1_Click(objectsender,EventArgse)
if(TextBox1.Text.Trim().Length>
0)
FindGoods.aspx?
book="
+TextBox1.Text.Trim());
protectedvoidButton2_Click(objectsender,EventArgse)
FindGoods.aspx"
protectedvoidButton5_Click(objectsender,EventArgse)
NewUser.aspx"
}
usingSystem;
usingSystem.IO;
publicpartialclassNewBook:
stringtype=null;
if(TextBox5.Text.Length>
0)
type=TextBox5.Text;
type=DropDownList1.SelectedValue.ToString();
//新书
Goodsbook=newGoods();
book.setName(TextBox1.Text.Trim());
book.setAthor(TextBox2.Text.Trim());
book.setTp(type);
book.setNum(Int32.Parse(TextBox3.Text));
book.setWh(TextBox4.Text.Trim());
book.setOther(TextBox6.Text.Trim());
//存储图片
stringguid=System.Guid.NewGuid().ToString();
if(FileUpload1.PostedFile.ContentLength>
FileUpload1.SaveAs(Server.MapPath("
/book_image/"
+guid+"
.jpg"
));
book.setImageUrl("
~/book_image/"
else
~/book_image/def.jpg"
}
//反问数据库
intt=SqlManager.newBooks(book);
//添加错误
if(t==SqlManager.OTHERS_ERR)
未知错误!
return;
添加成功!
usingSystem.Data.SqlClient;
publicpartialclassAllBook:
privatevoiddataCg()
stringcmd="
;
//如果类别框已经显示
if(DropDownList2.Visible==true)
cmd="
select*frombookwheretp='
+DropDownList2.SelectedValue+"
'
//下面都是搜索
elseif(TextBox1.Text.Length<
=0)
select*fromGoods"
elseif(DropDownList1.SelectedValue=="
商品名"
)
select*fromGoodswherename='
+TextBox1.Text+"
发布者"
select*fromGoodswhereathor='
try
SqlDataSource1.SelectCommand=cmd;
SqlDataSource1.DataBind();
catch(System.Exceptionex)
protectedvoidDropDownList1_SelectedIndexChanged(objectsender,EventArgse)
DropDownListdrp=(DropDownList)sender;
if(drp.SelectedValue=="
类别"
Button1.Visible=false;
TextBox1.Visible=false;
DropDownList2.Visible=true;
Button1.Visible=true;
TextBox1.Visible=true;
DropDownList2.Visible=false;
dataCg();
protectedvoidDropDownList2_SelectedIndexChanged(objectsender,EventArgse)
数据库处理模块后台代码(登陆与注册部分):
publicstaticintnewUser(Useruser)
//用户已经存在
if(isPass(user.getName(),"
)!
=USER_NOT_EXIST)
returnUSER_EXIST;
//添加新用户
{
//生成SQL命令
SqlConnectioncon=newSqlConnection(constr);
con.Open();
SqlCommandcom=newSqlCommand();
com.CommandText="
insertintomyuser(name,passwd,who,imageurl,realname,class,email,say)values(@userName,@passWd,'
+USER+"
@userimage,'
'
'
)"
com.Connection=con;
com.Parameters.AddWithValue("
@userName"
user.getName());
@passWd"
user.getPasswd());
@userimage"
"
~/user_image/def.jpg"
com.ExecuteNonQuery();
catch(System.Exceptione)
returnOTHERS_ERR;
returnSUCCESSED;
/************************************************************************/
/*
*修改时间:
20135/2019:
38
*功能:
用户登录检测
*参数:
user=用户名,passwd=密码
*返回:
登陆成功返回用户类别,不成功返回-1
**/
publicstaticintisPass(stringuser,stringpasswd)
selectpasswd,whofrommyuserwherename=@userName"
user);
SqlDataReaderreader=null;
reader=com.ExecuteReader();
//判断读者用户名密码
whi