《基于NET模拟超市购物结算功能》PSP设计过程Word格式文档下载.docx
- 文档编号:17572040
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:34
- 大小:344.88KB
《基于NET模拟超市购物结算功能》PSP设计过程Word格式文档下载.docx
《《基于NET模拟超市购物结算功能》PSP设计过程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《《基于NET模拟超市购物结算功能》PSP设计过程Word格式文档下载.docx(34页珍藏版)》请在冰豆网上搜索。
1.1业务流程
网上超市购物系统的功能流程:
顾客成功登录后就可以进入网上购物系统里进行查看商品信息和选购自己所需物品,若顾客没有账号,可以先到注册页面中注册一个账号后登录系统。
顾客在添加商品时,需要添加商品的名称,价格以及数量。
系统便对查看库房信息,当货物充足的时候提取货物给用户,然后进行结账交易。
顾客也可以删除易购买商品,也可以查询自己易购买的那些商品的详细信息,查询时要指明查询的商品的记录号是多少,还可以指定查询第一个或最后一个购买的商品信息。
顾客还可以打印要购买的商品的清单,顾客在付款交易时首先生成一张临时的订单,然后顾客可以选择支付方式,完成付款后,系统会提示顾客购成功。
1.2需求分析
1)用户可以添加购买一种商品,添加的信息包括商品名称、数量和单价
2)用户可以删除已购买的一种商品
3)用户可以查询已购买的一种商品的详细信息,查询时要指明查询的商品的记录号是多少(商品记录号是按照商品购买次序编的),还可以指定查询第一个或最后一个购买的商品信息。
4)用户可以删除所有已添加到购物车的商品
5)用户可以打印要购买的商品的清单
6)用户可以清空显示信息的窗口
7)用户可以要求结帐,系统会打印出用户购物清单,并给出总价。
2.项目结构
2.1整体模块流程图
2.4付款模块流程图
3.数据库的设计
3.1用户表的设计
3.2商品表的设计
3.2注册表的设计
第二章项目PSP设计
1.项目模块OST设计
表1付款模块的OST
设计人员:
董琪日期:
2015/4/21
教练:
李恋语言:
C#
场景编号
1
用户目的
场景目的
描述一次商品付款失败的过程
操作来源
步骤
动作
备注信息
用户
启动系统
系统
2
要求用户输入品名
检查是否超时
3
输入品名
4
检验是否品名是否存在
5
要求用户输入数量
6
输入数量
7
要求用户输入单价
8
输入单价
9
检验单价是否正确
单价不正确
10
付款失败
2.项目模块FST设计
表2付款模块的FST
类名
Shop
继承关系
属性
声明
描述
MaxTime:
Integer,Minutes
系统初始化
n:
Integer
计算尝试次数
nMax:
最大允许尝试次数
ValidIdSet
一个集合,包含所有合法品名,单价
方法
VoidShop.Start(n:
Int)
BooleanShop.Getnname(nname:
String)
获取String类型的品名,如果是合法字符串,则返回true,超时或者非法字符串则返回false
BooleanShop.Checknname(nname:
Nname是否存在合法用户集中,如果属于则认为合法,反之,不合法
IntShop.Getnum(num:
获取商品数量,如果是合法字符串,则返回true,超时或者不是合法字符串则返回false
IntShop.GetPrise(Prise:
获取商品的价格,如果是合法字符串,则返回true,超时或者不是合法字符串则返回false
IntShop.CheckPrise(Prise:
VoidShop.Pay(nname:
String,n:
尝试次数超过最大次数时,拒绝用户进行下面操作,反之允许当前用户操作以及付款。
3.项目模块SST设计
表3付款模块的SST
李恋语言:
状态名称
Start
付款系统启动
方法/参数
Name
商品的名称
num
商品的数量
Prise
商品的价格
n
名称价格输入错误的次数
nMax
出错的最大上限,超出拒绝付款
Fail
付款结果:
成功Fail=0,失败Fail=1
状态/下一个状态
转换条件
不存在
Checknname
永真
Getname,n:
=0;
nameandPrise!
Valid
CheckPrise
End
Validname
Getprise
超时
File:
=true
Validname^ValidPrise
Fail:
=false,paysuccsess
N>
=nMax^Timeout
=false,payfail
4.项目模块LST设计
表4付款模块的LST
参考:
n:
theerrorcounter,maximunvaluenMax
name:
BooleanindicatorofnameValidandname!
Valid
num:
intindicatorofnumValidandnum!
Prise:
BooleanindicatorofpirseValidandprise!
Fial:
Booleanindicatoroffailurecondition,endsession
Payontothesystem
Startbyiniiallizingthenerrorcounter,setname:
=!
Valid,
Valid,Prise:
Valid,andFail:
=false
Getname
RepeatthemainloopuntilavalidnameandnumandPriseorFail
ChecknameforValidity.{Checknamestart}
IfnonameresponseinMaxtime,setFail:
Getnumforchecknullor!
null
GetPriseandcheckforvalidity.{checkPrisestart}
IfnoPriseresponseinMaxtime,setFail:
Ifname!
ValidorPrise!
Valid,stepthencounter
IfnexceedsnMax,setFail:
UntilnameandPriseValidorFail=true
Otherwise,repeatthemainloop.
IfFail=truecutoffpay,otherwisepaysuccess{Endstart}
第三章项目PSP度量
1.项目时间度量
表5时间记录日志
学生
董琪
日期
4/14/15
教员
李恋
课程
软件过程与管理
日
期
开始时间
结束时间
中断时间
净时间
活 动
备 注
C
U
15/5/1
8:
00
8:
25
5
20
设计
设计登录模块
8:
30
9:
00
10
20
设计登陆模块异步处理情况
15/5/2
14:
00
15:
20
40
设计
设计注册模块
15/5/7
12:
14:
100
编码
实现登录模块
30
20
测试
测试登录模块的功能
15/5/8
13:
13:
50
40
修复
修复登录模块的缺陷
15/5/12
17:
20:
实现登录模块的异步处理
35
测试登录模块异步处理的功能
15/5/13
8:
修复异步处理出现的缺陷
15/5/14
110
实现注册模块
16:
25
测试注册模块的功能
修复注册模块的缺陷
15/5/15
60
设计付款模块
15/5/16
实现付款模块的功能
55
测试付款模块的功能
修复付款模块的缺陷
15/5/17
90
测试所有模块的整体功能
10
50
修复完善整个项目的小缺陷
2.项目缺陷度量
表6缺陷记录日志
董琪
2015-5-7
李恋
程序号
01
日期
编号
类型
引入阶段
排除阶段
修复时间
相关缺陷
2015-5-8
数据
在数据库连接出现了问题,导致数据库无法连接
2015-5-13
函数
异步处理的功能函数没有实现
2015-5-14
在注册模块中的异步处理没有实现,不能提醒用户已存在
2015-5-16
语法
在代码中总是少;
导致语法出现错误
在付款模块中,添加商品信息的函数没有实现
赋值
在定义变量时没有初始化变量
2015-5-17
接口
在登录模块和注册模块的跳转没有实现好
环境
测试的时候出现了中断现象
3.项目规模估算
表7:
董琪的程序规模估计
学生
董琪
日期
15/5/15
教员
李恋
课程
软件过程与管理
程序
代码行
以前的功能
估计的功能
最小
平均
最大
Loops
简单While-loop
14
中等repeat-until
Repeat-until
7
11
14
Case
小的Case语句
Case
8
14
大的Case语句
Data
18
小的链表
Calc.
20
小的计算
calculation
10
15
估计
22
34
45
4.项目计划总结
表8:
PSP项目计划总结表
董琪
2015/4/21
程序
001
程序号#
教师
李恋
程序设计语言
C#
总结
计划
实际
累计
Minutes/LOC
6.30
4.93
5.92
LOC/Hour
10.47
12.90
10.95
Defects/KLOC
96.90
77.9
92.53
过程效益33.380.040.0
A/FR
程序规模(LOC)
新开发与更改的
67
77
335
最大规模
85
最小规模
49
开发阶段时间/min
累计
累计百分比
23
32
120
6.5
设计
39
44
195
10.6
编码
166
155
792
43.1
代码复查
29
34
145
7.9
编译
24
8
100
5.5
测试
62
279
15.2
后置处理
41
46
206
11.2
总计
384
358
1837
100.0
最大时间
487
最小时间
281
引入的缺陷
累计
累计百分比
Def/Hour
1
1
5
16.1
1.54
5
4
25
80.7
1.89
1
1
3.2
总计
6
31
100.0
排除的缺陷
2
4
12
38.7
4.97
3
13
41.9
7.80
1
19.4
1.29
6
第四章项目实现与评审
1.项目实现
1.1代码实现
登录模块的代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespaceshop
{
publicpartialclassForm2:
Form
{
publicForm2()
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
Stringname=this.textBox1.Text;
//(this.textBox1.Text为输入用户名的文本框的名字)
Stringpass=this.textBox2.Text;
//(这里是输入密码的)
Stringconn=@"
DataSource=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于NET模拟超市购物结算功能 基于 NET 模拟 超市 购物 结算 功能 PSP 设计 过程