软件工程需求分析Word格式.docx

上传人:b****2 文档编号:377199 上传时间:2023-04-28 格式:DOCX 页数:33 大小:270.15KB
下载 相关 举报
软件工程需求分析Word格式.docx_第1页
第1页 / 共33页
软件工程需求分析Word格式.docx_第2页
第2页 / 共33页
软件工程需求分析Word格式.docx_第3页
第3页 / 共33页
软件工程需求分析Word格式.docx_第4页
第4页 / 共33页
软件工程需求分析Word格式.docx_第5页
第5页 / 共33页
软件工程需求分析Word格式.docx_第6页
第6页 / 共33页
软件工程需求分析Word格式.docx_第7页
第7页 / 共33页
软件工程需求分析Word格式.docx_第8页
第8页 / 共33页
软件工程需求分析Word格式.docx_第9页
第9页 / 共33页
软件工程需求分析Word格式.docx_第10页
第10页 / 共33页
软件工程需求分析Word格式.docx_第11页
第11页 / 共33页
软件工程需求分析Word格式.docx_第12页
第12页 / 共33页
软件工程需求分析Word格式.docx_第13页
第13页 / 共33页
软件工程需求分析Word格式.docx_第14页
第14页 / 共33页
软件工程需求分析Word格式.docx_第15页
第15页 / 共33页
软件工程需求分析Word格式.docx_第16页
第16页 / 共33页
软件工程需求分析Word格式.docx_第17页
第17页 / 共33页
软件工程需求分析Word格式.docx_第18页
第18页 / 共33页
软件工程需求分析Word格式.docx_第19页
第19页 / 共33页
软件工程需求分析Word格式.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件工程需求分析Word格式.docx

《软件工程需求分析Word格式.docx》由会员分享,可在线阅读,更多相关《软件工程需求分析Word格式.docx(33页珍藏版)》请在冰点文库上搜索。

软件工程需求分析Word格式.docx

顾客可直接查看商品情况,如果想购买商品,要先注册一个帐号,然后根据本人用户名和密码登录系统,此时可以分类查看商品,如需购买,输入购买数量放入购物车,购物车中的商品数量可以修改,也可以删除购物车中的商品,最后对购物车中的商品进行购买确认,此时将产生一个订单,订单一旦生成便不可以再修改,只能查看。

后台管理人员功能的信息量大,数据安全性和保密性要求最高。

本功能实现对商品信息、购买者信息管理(增、删、查、改)和统计查看及维护。

管理员可以浏览、查询、添加、删除、修改、统计商品的基本信息;

浏览、查询、统计、添加、删除和修改商品购买的基本信息(即订单信息),浏览、查询、统计商店信息。

但不能添加、删除和修改购买信息,只能对是否付款、是否发货等状态进行修改。

基本功能:

(1)注册管理:

能够对用户名,密码的简单验证;

能够对电子邮箱,Email进行有效性验证;

能够防止利用页面刷新重复注册,以及已经注册的用户不能重复注册。

(2)商品浏览:

分类显示商品;

显示商品详情,提供购买链接;

可以对商品进行模糊查询;

显示当前用户的浏览记录。

浏览商品时不要求用户登录,但下订单前用户必须登录,对于浏览过的商品有历史记录。

三总体设计

1.实现功能

Ø

系统用例图

管理员和会员业务逻辑如下图所示:

用例说明

[用例1]

●用例图

●描述

该模块主要包括:

修改个人资料和审核操作。

修改个人资料与会员注册所需资料完全一致,主要有:

登录号、密码、真实姓名、性别、密码问题、密码答案、Email、地址、电话、身份证。

审核操作:

主要是对新注册的会员和会员的汇款信息进行审核,可以把新会员设置成为正式会员,根据会员汇款的数额,对会员的个人帐户充值。

●参与者

//*参与者,参与用例的对象*//

[用例2]

用户管理:

(1)选择不同类型用户可以用GridView自动绑定该类型所有用户信息。

(2)把选中的用户设置为“普通会员”,“vip会员”,“管理员”。

(3)删除选中用户。

[用例3]

角色管理:

主要包括添加角色、修改角色、删除角色、分配角色功能、浏览所有角色功能、设置会员优惠价。

添加角色:

包括角色名称、角色描述。

分配角色功能:

用CheckBoxList列出所有功能菜单,菜单分为两级,只列出子菜单,把选中的菜单id及菜单的父菜单id添加到指定的角色下,可以随时修改角色对应的功能菜单。

浏览所有角色功能:

按角色分别列出这些角色对应的权限菜单。

设置会员优惠价:

设置不同角色的优惠比例。

[用例6

汇款审核主要包括:

显示汇款信息、通过审核、撤回审核和删除汇款记录几个功能。

用GridView显示汇款信息。

显示汇款信息:

用DropDownList绑定不同的汇款类型,根据选择的汇款类型自动绑定该汇款类型对应的汇款信息。

“通过审核”将把选中的会员汇款金额追加到该用户的帐户下,“撤回审核”将不追加金额,让系统以消息的形式通知该会员汇款失败信息,并提醒重新填写邮寄信息。

删除汇款记录:

把选定的汇款记录删除。

[用例7]

公告管理主要包括:

显示公告信息、添加公告、修改公告、发布公告、删除公告。

添加公告:

主要包括公告标题和公告内容两个字段信息。

发布公告前可以修改公告,当发布公告后不可以修改公告。

[用例8]

销售统计:

用GridView显示销售统计信息,主要包括商品名称、单价、总量、售出量、剩余量。

[用例9]

浏览投诉:

用DataList显示信息,主要包括投诉人和投诉内容。

[用例10]

商品列表主要包括:

显示所有商品、按商品名称模糊查询、放入购物车、我的购物车几个部分。

显示所有商品:

用DataList显示所有商品,具体内容如下图所示:

图:

所有商品列表

“我的购物车”和“放入购物车”共用同一个弹出窗口,当选择新的商品点“放入购物车”后,打开的购物车自动刷新。

选好的商品中,购买数量默认为1,当超过库存量结算时就报告库存不足错误。

推荐的商品:

根据会员选好的商品提供相关的商品推荐,

循环“您选好的商品”,根据会员已经选择的每一个商品,查找选择了该商品的所有其他会员;

查找这些会员所购买过的商品中,尚有库存的,并且被购买次数最多的2种商品,如果商品不在“您选好的商品”列表中,并且不在“相关推荐表”中,则添加到推荐的相关信息表中。

[用例11]

投诉建议:

默认投诉用户为登录用户,填写投诉或建议内容提交即可。

[用例12]

用例图

3.1总体结构和模块设计

(1)前台部分由用户使用,包括用户注册,购物车,我的订单,商品浏览,个人管理等几个部分。

(2)后台部分由用户管理,订单管理,商品管理等几个部分。

功能结构图如下:

3.2处理流程

业务流程如下:

四系统详细设计

前台设计

前台总体模块[7]:

(1)前台部分由用户使用,包括用户注册,购物车管理,我的订单,商品浏览,个人管理等几个部分。

模块功能介绍:

用户注册:

能够提供用户的注册,并且对用户的注册进行以下验证:

用户名非空;

密码不小于6位;

邮箱Email的有效性;

防止通过刷新重复提交.

购物车管理:

所选商品须通过购物车进行保存;

对于相同的商品,在再次购买的时候,在购物车中相应的商品上增加数量;

在购物车中修改订单数量的时候防止输入非数字;

在购物车然后生成订单。

我的订单:

用户可以查看自己所有的订单,以及查看具体某一张订单,通过查看订单,用户可以查看订单现在的状态,查看订单的具体详情:

收货人地址,收货方式,付款方式,具体商品,小计,总计等等。

商品浏览:

用户可以通过商品的id或者商品的名称进行查找商品,并且对于浏览过的商品存在浏览历史,对于登陆后的用户可以对商品进行留言。

个人管理:

用户可以管理自己账号的相关信息,比如:

修改个人的基本信息,修改自己的密码。

前台文件架构:

前台文件架构

用户注册模块:

用户可以通过注册评论商品

代码实现:

1.有效性验证[8]:

通过js对客户端的提交数据进行有效性验证.关键代码如下:

检查邮箱的有效性:

functionchkEmail(str)

{

returnstr.search(/[\w\-]{1,}@[\w\-]{1,}\.[\w\-]{1,}/)==0?

true:

false;

}

functioncheck(){

if(myform.userName.value=="

"

{

alert("

请填写用户名"

);

returnfalse;

}

elseif(!

IsValid())

alert("

用户名只能使用字母和数字"

returnfalse;

elseif(myform.psw.value=="

请填写密码"

elseif(myform.psw.value!

=myform.conpsw.value)

两次密码不一致"

elseif(myform.trueName.value=="

请填写姓名"

}

elseif(myform.email.value=="

请填写邮箱"

chkEmail(myform.email.value))

请填写有效的Email地址"

}elseif(myform.address.value=="

地址必须填写!

}elseif(myform.nam.value=="

){

请输入验证码"

}elseif(myform.nam.value!

=myform.con.value){

两次验证码不一样!

}else{

document.myform.submit();

}

}

2.防止通过刷新重复提交[9]:

当提交完注册信息后,要求输入验证码,防止重复提交数据到数据库,通过image.jsp写出一个随机数,与注册jsp页面相匹配,关键代码如下:

Jsp页面验证码:

<

scriptlanguage="

javascript"

runat=client>

varn=parseInt(Math.random()*8999+1000);

myform.con.value=n;

document.write("

imgid=mksrc=/BookShopping/image.jsp?

num="

+n+"

>

functionnextImage(){

n=parseInt(Math.random()*8999+1000);

document.all("

mk"

).src="

/BookShopping/image.jsp?

+n;

}

<

/script>

ahref="

javascript:

nextImage();

换一张<

/a>

Image.jsp代码如下:

%

try{

BufferedImagebf=newBufferedImage(70,25,BufferedImage.TYPE_INT_RGB);

Graphics2Dg2=bf.createGraphics();

g2.setPaint(newColor(0,0,255));

g2.fillRect(0,0,70,25);

g2.setPaint(newColor(255,255,255));

Stringstr=request.getParameter("

num"

session.setAttribute("

str);

g2.setFont(newFont("

Arial"

Font.BOLD,24));

g2.drawString(str,7,20);

for(inti=0;

i<

10;

i++){

intr=(int)(Math.random()*255);

intg=(int)(Math.random()*255);

intb=(int)(Math.random()*255);

g2.setPaint(newColor(r,g,b));

intx1=(int)(Math.random()*80);

inty1=(int)(Math.random()*30);

intx2=(int)(Math.random()*80);

inty2=(int)(Math.random()*30);

g2.drawLine(x1,y1,x2,y2);

g2.dispose();

ImageIO.write(bf,"

jpg"

response.getOutputStream());

out.clear();

out=pageContext.pushBody();

}catch(Exceptione){

System.out.println(e);

%>

3.防止相同用户名用户注册:

当提交数据后,为了防止出现相同的用户,在进行注册的时候,通过相应的DAO中的exsitOne方法先检查用户名是否存在,存在不允许注册,关键代码如下:

publicBooleanexsitOne(StringuserName){

Stringsql="

selectuNamefromRegUser"

;

try{

stat=conn.createStatement();

rs=stat.executeQuery(sql);

while(rs.next()){

Stringexsit=rs.getString("

uName"

if(userName.equals(exsit)){

returntrue;

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

对于购买了商品的用户,在产生订单后,可以通过双击查看订单,在查看订单的时候,可以查看到订单的当前状态,以及订单的总金额,和订单的一些基本信息。

1.显示所有订单:

读取数据库中指定用户的所有订单,将结果集存取到一个ArrayList中,再返回显示页面,关键代码如下:

response.setContentType("

text/html"

Stringid=request.getParameter("

uid"

select*frombookOrderwhereuid="

+id;

DAOdao=newDAO();

ResultSetrs=dao.getOrderInfo(sql);

ArrayList<

MyOrderBean>

mylist=newArrayList<

();

intoid=Integer.parseInt(rs.getString("

oId"

));

Stringreceiver=rs.getString("

oReceiveName"

StringoPayType=rs.getString("

oPayType"

floattotal=dao.getTotal("

selectsum(oAmount*oPrice)fromorderInfowhereoId="

+oid);

StringoStatus=rs.getString("

oStatus"

Stringdate=rs.getString("

oTime"

MyOrderBeanone=newMyOrderBean(oid,date,receiver,total,oPayType,oStatus);

mylist.add(one);

}catch(SQLExceptione){

2.显示某个订单:

当用户双击某个订单的时候,通过订单的id,以及用户id,联合查询出指定的订单,再返回到显示页面,关键代码如下:

Stringid=request.getParameter("

id"

Stringsql="

select*frombookOrder,orderInfo,bookwherebookOrder.oId=orderInfo.oIdandbook.bId=orderInfo.bIdandbookOrder.oId="

+id+"

ArrayList<

AllbookInOneOrder>

onelist=newArrayList<

Stringreceiver="

Stringaddress="

Stringphone="

StringsendType="

StringpayType="

while(rs.next()){

receiver=rs.getString("

address=rs.getString("

oReceiveAddress"

phone=rs.getString("

oReceivePhone"

sendType=rs.getString("

oSendType"

payType=rs.getString("

Stringbookname=rs.getString("

bName"

intcount=rs.getInt("

oAmount"

floatprice=rs.getFloat("

oPrice"

AllbookInOneOrderone=newAllbookInOneOrder(bookname,count,price);

onelist.add(one);

com.with.javabean.MyOneOrderBeanoneorder=newcom.with.javabean.MyOneOrderBean(

receiver,address,phone,sendType,payType,onelist);

request.setAttribute("

order"

oneorder);

id);

request.getRequestDispatcher("

../MyOneOrder.jsp"

.include(request,response);

商品浏览模块:

用户可以通过商品的分类查找到相应类别的商品,也可以通过输入相应商品的名称,找到相应的商品:

1.商品分类:

读取数据库中的制定类别,将所有类别显示在首页的商品类别导航上面,关键代码如下:

tableborder=0width=100%cellspacing=0cellpadding=0>

%ArrayList<

BookType>

booktype=(ArrayList<

)request

.getAttribute("

bookTypeInfos1"

if(null!

=booktype){

for(inti=0;

i<

booktype.size();

i++){

BookTypebookTypeInfo=booktype.get(i);

%>

tr>

<

tdalign=centerwidth=26class=class_td>

<

imgborder=0src=ima

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2