软件工程课程设计.docx
- 文档编号:7763379
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:44
- 大小:29.96KB
软件工程课程设计.docx
《软件工程课程设计.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计.docx(44页珍藏版)》请在冰豆网上搜索。
软件工程课程设计
软件工程课程设计
题目:
网上购物系统
专业:
计算机科学与技术
班级:
04计算机〔4〕班
组员:
孔兵兵:
0412002426
冷晓林:
0412002419
郭伟:
0412002425
谌小仲:
0412002422
李佩:
0412002429
需求分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.孔兵兵
1.1编写目的
1.2开发背景
1.3工程提出原因
1.4系统设计目标
1.5工程设想
1.6系统功能
1.7工程名称
1.8需求分析
1.9所运用的知识点
概要⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯冷林
2.1:
购物系统的功能
2.2:
功能图
2.2.1:
购物车流程图
2.2.2:
定单处理流程图
2.2.3/:
商品分类管理流程图
2.3:
管理员实现的功能
2.4:
顾客实现的功能
2.5:
实现中的问题与难点
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯郭
3.1:
商品的信息
3.2:
商品的类别
3.3:
订单
3.5:
订单明细
3.6:
对概要设计中问题的解决方法
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..小仲
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..李佩
网上购物系统
1网上购物系统需求分析说明
1.1编写目的
本文档是针对网上购物系统从总体设计、设备配置、设备配置等方面所做的说明。
本文档的编写目的是:
对网上购物系统的总体架构设计进行描述。
对该系统的整个流程作详细、准确的描述,为系统的概要设计及编码提供指导。
1.2开发背景
随着计算机和网络的日趋普及,越来越多的商家在网上升起商店,向消费者
展示出一片新鲜的购物大地。
在美、日等信息化程度较高的国家和地区,网络商店开展速度迅猛,美国的世界级超一流的零售商,如沃尔玛凯玛特,家庭仓储等纷纷脐身于网络经商的行列。
调查说明:
美国的家庭已越来越习惯于在家中从网上购物。
在我国,网上购物从无到有也不过短短几年时间。
网上购物还不完善,结算方式
的原始落后是网上购物致命的弱点。
大局部商家结算只能采取“送货上门、到货付款〞或“邮寄上门、贷款邮资先付〞的方式。
这样不但浪费了时间和人力,而且限制了网络的覆盖范围和商品的结构种类。
因此,平安、快捷、方便的电子支付手段将是今后网上商店健康开展的主要要素。
1.3工程提出原因
为了对所学知识(软件工程)做一个全面的考查,加深对软件工程思想的理解和
提高个人的实践能力,赵岚老师要求我们用所学的知识完成一个实际的项
目(系统)。
1.4系统设计目标
网上购物系统以解决客户在网上进行电子交易的需求为出发点构思。
因此在建立与消费者之间交流信息和进行电子交易方面在行业中具有示范作用,在系统总体规划中,应把握先进性、平安性、可扩展性和集成性四项根本原那么。
(1)先进性原那么
设计方案立足先进技术。
在效劳器和网络方面以优化通信流量,提高系统的管理性和平安性为重点,尽量采用领先成熟的技术。
(2)平安性原那么
网上购物系统要解决的平安问题包括非授权使用、非法入侵、效劳失效、不可否认和交易信息泄漏。
系统采用防火墙技术,隔离Internet,一方面可以防范公用网上非法用户的访问,另一方面可以防止中心的一些重要数据被不合法用户
所获取。
(3)可扩展性原那么
系统中所有功能均考虑到随着应用的逐步完善和入网产品和消费者的逐渐增
加,系统还能够进行不断扩展的要求。
1.5工程设想
为了方便地、完整地实现购物流程,本网站所需要的功能模块主要包括前
台效劳模块和后台管理模块,两大功能模块又细分为假设干子模块,具体分析如下:
模块子模块
详细划分
1.
(1)会员注册与登录模块
①用户注册
②用户登录验证
③用户资料修改
前
台
服
(2)在线购物模块
务
模
块
(3)其他效劳功能
2.
(1)商品及订单管理模块
后
台
管
(2)用户管理模块
理
模
块(3)其他管理模块
①商品浏览和搜索
②购物车管理
③定单生成和查询、投诉
①图片广告、友情链接
②购物帮助
①商品类别管理
②商品管理
③订单管理
①管理网站会员
②管理后台管理员
①网站常规设置
②网站广告设置
③友情链接管理
1.6系统功能
这是一个JSP开发的网上购物体系统,后台数据库是SQLServer2000,该系统
将主要完成以下两个任务:
(1)构建一个前台效劳模块,通过会员注册登录、在线购物、站内新闻公揭发布等功能模块实现完整的网上购物流程并提供即时的购物信息效劳。
(2)构建一个后台管理模块,通过用户信息管理、商品信息管理、交易信息管理、站内信息管理等子功能模块实现对购物系统所有数据和信息的动态更新、
管理和维护。
1.7工程名称
网上购物系统
1.8需求分析
分析1
购物系统〔顾客需求与后台管理人员的需求〕
顾客需求是查询商品,个人购置情况及个人信息的修改顾客可根据自己的需求添加和删除所购置的商品
顾客可以通过本系统实现异地购物方便快捷。
分析2
管理员可以对用户信息进行平安管理
管理人员可对顾客,商品,订单进行管理和维护,及系统状况的查看商品数据具有较高的平安性和保性,可通过管理员进行添加与删除修改与维护。
分析3用户角色分析
一个真实的商店的商业行为参与者主要有3类,商店的拥有者、顾客和配送商。
商家把自己的产品拿到商店里销售。
顾客是逛商场的人,即买家。
配送商专门负
责物流配送,帮助把顾客无法自己携带回家的商品送回家。
网上购物系统的使用
者类型与现实中的商店极为相似,网上与网下的对的对照见下表。
商店种类
真实商店
网上购物系统
参与者一
商店拥有者
网上商店
参与者二
顾客
用户
参与者三
配送商
配送商
1.9所运用的知识点
a.数据库(SQLServer2000)的运用
b.JSP脚本和指令的使用。
c.JSP隐式对象
d.JavaBean和JSP中的标准标准动作及标准标签库。
e.使用会话技术存储用户所购置的商品。
f.使用过虑器强制登陆。
2.概要设计
2.1“网上购物〞系统的管理员需要使用系统提供的如下功能:
管理员登陆;
管理商品;
管理订单;
管理用户;
顾客需要使用系统提供的如下功能:
用户注册;
用户的登陆;
在线购物;
下订单;
查看订单信息
2.2功能图
2.2.1购物车流程图
购物车模块
显示商品列表
是
是否购置商品
是否继续购物
是
否
输入商品数量
是否清空购物车
输入商品数量是否正
确否
是
查看购物车商品是否修改商品数量
清空购物车
修改商品数量
是否前台结帐
是
前台结帐
否
是否删除商品
删除商品
是
否
确定订单信息是否
正确
是
购物成功
2.2.2定单处理流程图
订单处理
查看订单完成订单订单发货取消订单
查看订单信息
查看订单明细
否
获得订单id否确认完成订单
是
完成订单存盘成
输出订单明细信息
功否
是
查看订单信息查看订单信息
否
发货存盘成功
确认取消订单
否
是是
取消订单成功
订单发货成功
否
是
完成订单成功取消订单成功
2.2.3商品分类管理流程图
商品分类管理
新增商品分类修改商品分类删除商品分类
输入分类信息修改商品分类查看分类信息
是
否
否
名称.描述为空
否
否
确认删除分类
修改存盘成功否
是
存盘成功否
是
删除存盘成功否
是
修改商品分类成功
删除商品分类成功
新增商品分类成功
2.2.4所实现的功能
功能1—管理员所实现的功能
a.管理员登陆
b.管理商品
c管理定单d.管理用户
e.对商品进行增、删、查、改
f..对定单进行简单的查阅
g.对用户资料的管理。
功能2—顾客所实现的功能
a.用户注册
b.用户登陆
c.在线购物
d.下定单
e.查看定单信息
2.2.5实现中的问题及难点
问题1:
当点击购置商品时,怎么使购置商品数量增加。
问题2:
为了连接数据库,在很jsp页面中都会涉及到数据库加裁,连接,这样
代码重复,对整个系统的开销很大,如何解决?
问题3:
用户删除定单时候,数据库中的产品数量要同时增加相应的数量。
问题4:
:
在下定单时,数据库中的产品数量要同时减少相应的数量。
3.详细设计
3.1商品信息
商品信息具有这些属性:
商品id号,商品名,商品类别id号,商品新旧程度,产地,内容介绍,价格,总数量,剩余数量,商品发布时间等。
这些实体的详细信息如下:
管理员:
管理员id号,管理员名,密码。
用户:
用户id号,用户名,密码,姓名,id编号,,地址,email,。
3.2商品类别:
商品类别名,商品描述。
3.3商品信息:
商品id号,商品编号,商品名,商品类别
图片。
3.4订单:
id号,描述,价格,总数量,状态,
订单id号,订单编号,用户id号,订单提交时间,id编号,,地址,Email,。
3.5订单明细:
id号,订单id,商品id,商品数量,单价,总价。
3.6对概要设计中的四个问题的具体解决方法
解决1:
为了实现数量累积,使用了一个Set接口,用HashSet来实现Set接口,因为Set接口可以把相同的对象只存储一个。
用HashMap存储购置数量。
HashSet的
实例存储购置的商品。
解决2:
为了降低开销,提高效力,我们采用了把数据库连接都放到一个JavaBean中,
由它单独完成,当涉及到数据库的操作时,我们直接用jsp中的include调用就可以了。
解决3:
用户删除订单时,相应的的商品数量增加,也可以在OrderMess中创立一个Delete触发器.当删除定单时。
同是创立
一个删除信息表.代码如下:
CREATETRIGGERTri_DelON[dbo].[OrderMess]
FORDELETE
AS
ifnotexists(select*fromsysobjectswherename='Temptable')selectorderid,productid,quantityintoTemptablefromdeletedelse
insertintoTemptableselectorderid,productid,quantityfromdeleted解决4:
在Shopping数据库中的OrderMess表上建一个Insert触发器,就可以解决数量同时减少问题。
4.编码:
do_register代码:
此局部代码用于把已经确认的正确的注册信息写入数据库后保存。
<%@pagecontentType="text/html;charset=gb2312"language="java"
import="java.sql.*,java.util.Date"errorPage=""%>
<%
Stringname=request.getParameter("name");
Stringpwd=request.getParameter("password");
Stringe_mail=request.getParameter("e_mail");
Stringtelephone=request.getParameter("telephone");
Stringaddress=request.getParameter("address");
java.util.DateregTime=newjava.util.Date();
Stringregister_Time=regTime.toString();
Stringquery="insertintocustomer_info(Name,Telephone,Email,Address,Login_Time,Passwd)
values('"+name+"','"+telephone+"','"+e_mail+"'
'"+address+"','"+register_Time+"','"+pwd+"')";
//try
//{
StringsDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
Class.forName(sDBDriver);
StringsConnStr="jdbc:
microsoft:
sqlserver:
//127.0.0.1:
1433;DatabaseName=Web";
Stringusername="sa";
Stringpwd1="";
ConnectionconnWeb=DriverManager.getConnection(sConnStr,username,pwd1);Statementstmt=connWeb.createStatement();stmt.executeUpdate(query);
stmt.close();
connWeb.close();
out.println("恭喜!
注册成功!
您注册的信息已经写进数据库!
");
//}
//catch(SQLExceptione)
//{
//out.println(e.getMessage());
//}
%>
Index代码:
此局部代码主要是本网上购物系统的登录页面显示,用于顾客登陆本系统
<%@pagecontentType="text/html;charset=gb2312"%>
D27CDB6E-AE6D-11cf-96B8-444553540000"codebase=": //download.macromedia/pub/shockwave/cabs/flash/swflash.cab#version=6,0, 29,0"width="755"height="168"> //macromedia/go/getflashplayer"type="application/x-shockwave-flash"width="755"height="168">
帐号
密码
name="B1" src="pic/denglu.gif" onClick="check()">
List代码:
此局部代码主要用于购物篮增加、删除、显示购物清单等功能
(涉及数据库操作
)
<%@pagesession="true"%>
<%@pageimport="java.sql.*,java.util.*"%>
--
functionMM_swapImgRestore(){//v3.0
vari,x,a=document.MM_sr;for(i=0;a&&i } functionMM_preloadImages(){//v3.0 vard=document;if(d.images){if(! d.MM_p)d.MM_p=newArray(); vari,j=d.MM_p.length,a=MM_preloadImages.arguments;for(i=0;i if(a[i].indexOf("#")! =0){d.MM_p[j]=newImage;d.MM_p[j++].src=a[i];}} } functionMM_findObj(n,d){//v4.01 varp,i,x;if(! d)d=document;if((p=n.indexOf("? "))>0&&parent.frames.length){d=parent.frames[n.substring(p+1)].document;n=n.substring(0,p);} if(! (x=d[n])&&d.all)x=d.all[n];for(i=0;! x&&i x&&d.layers&&i x&&d.getElementById)x=d.getElementById(n);returnx; } functionMM_swapImage(){//v3.0 vari,j=0,x,a=MM_swapImage.arguments;document.MM_sr=newArray;for(i=0;i<(a.length-2);i+=3) if((x=MM_findObj(a[i]))! =null){document.MM_sr[j++]=x;if(! x.oSrc)x.oSrc=x.src;x.src=a[i+2];} } //--> StringloginSign=(String)session.getValue("loginSign"); if(loginSign.equals("OK")) { %> D27CDB6E-AE6D-11cf-96B8-444553540000"codebase=": //download.macromedia/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"width="540"height="120"> //macromedia/go/getflashplayer"type="application/x-shockwave-flash"width="540"height="120">
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计