基于NET模拟超市购物结算功能PSP设计过程.docx

上传人:b****1 文档编号:17784217 上传时间:2023-04-24 格式:DOCX 页数:35 大小:343.95KB
下载 相关 举报
基于NET模拟超市购物结算功能PSP设计过程.docx_第1页
第1页 / 共35页
基于NET模拟超市购物结算功能PSP设计过程.docx_第2页
第2页 / 共35页
基于NET模拟超市购物结算功能PSP设计过程.docx_第3页
第3页 / 共35页
基于NET模拟超市购物结算功能PSP设计过程.docx_第4页
第4页 / 共35页
基于NET模拟超市购物结算功能PSP设计过程.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

基于NET模拟超市购物结算功能PSP设计过程.docx

《基于NET模拟超市购物结算功能PSP设计过程.docx》由会员分享,可在线阅读,更多相关《基于NET模拟超市购物结算功能PSP设计过程.docx(35页珍藏版)》请在冰豆网上搜索。

基于NET模拟超市购物结算功能PSP设计过程.docx

基于NET模拟超市购物结算功能PSP设计过程

基于NET模拟超市购物结算功能——PSP设计过程

 

软件过程与管理

大作业

题目《基于.NET模拟超市购物结算

功能》——PSP设计过程

院系信息工程学院

专业班级12软件工程本1班

学生姓名董琪

学号1242159103

设计地点教学13(602)

指导教师李恋

起止时间:

2015年4月14日至2015年4月24日

第一章项目概述3

1.项目业务3

1.1业务流程3

1.2需求分析3

2.项目结构4

2.1整体模块流程图4

2.4付款模块流程图5

3.数据库的设计5

3.1用户表的设计5

3.2商品表的设计6

3.2注册表的设计6

第二章项目PSP设计6

1.项目模块OST设计6

2.项目模块FST设计7

3.项目模块SST设计8

4.项目模块LST设计9

第三章项目PSP度量10

1.项目时间度量10

2.项目缺陷度量11

3.项目规模估算11

4.项目计划总结12

第四章项目实现与评审14

1.项目实现14

1.1代码实现14

2.项目评审19

2.1代码评审19

2.2设计评审20

第五章项目展示20

1.超市结算的首界面20

2.登录失败21

2.1失败情况一21

2.2失败情况二21

3.注册模块22

4.登录成功情况23

5.付款页面情况24

第六章总结26

第七章参考文献26

 

第一章项目概述

1.项目业务

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

用户目的

场景目的

描述一次商品付款失败的过程

操作来源

步骤

动作

备注信息

用户

1

启动系统

系统

2

要求用户输入品名

检查是否超时

用户

3

输入品名

检查是否超时

系统

4

检验是否品名是否存在

系统

5

要求用户输入数量

检查是否超时

用户

6

输入数量

系统

7

要求用户输入单价

用户

8

输入单价

检查是否超时

系统

9

检验单价是否正确

单价不正确

系统

10

付款失败

2.项目模块FST设计

表2付款模块的FST

设计人员:

董琪日期:

2015/4/21

教练:

李恋语言:

C#

类名

Shop

继承关系

属性

声明

描述

MaxTime:

Integer,Minutes

系统初始化

n:

Integer

计算尝试次数

nMax:

Integer

最大允许尝试次数

ValidIdSet

一个集合,包含所有合法品名,单价

方法

声明

描述

VoidShop.Start(n:

Int)

系统初始化

BooleanShop.Getnname(nname:

String)

获取String类型的品名,如果是合法字符串,则返回true,超时或者非法字符串则返回false

BooleanShop.Checknname(nname:

String)

Nname是否存在合法用户集中,如果属于则认为合法,反之,不合法

IntShop.Getnum(num:

Int)

获取商品数量,如果是合法字符串,则返回true,超时或者不是合法字符串则返回false

IntShop.GetPrise(Prise:

String)

获取商品的价格,如果是合法字符串,则返回true,超时或者不是合法字符串则返回false

IntShop.CheckPrise(Prise:

String)

Nname是否存在合法用户集中,如果属于则认为合法,反之,不合法

VoidShop.Pay(nname:

String,n:

Int)

尝试次数超过最大次数时,拒绝用户进行下面操作,反之允许当前用户操作以及付款。

3.项目模块SST设计

表3付款模块的SST

设计人员:

董琪日期:

2015/4/21

教练:

李恋语言:

C#

状态名称

描述

Start

付款系统启动

方法/参数

描述

Name

商品的名称

num

商品的数量

Prise

商品的价格

n

名称价格输入错误的次数

nMax

出错的最大上限,超出拒绝付款

Fail

付款结果:

成功Fail=0,失败Fail=1

状态/下一个状态

转换条件

动作

Start

Start

不存在

Checknname

永真

Getname,n:

=0;nameandPrise!

Valid

CheckPrise

不存在

End

不存在

Checknname

Start

不存在

Checknname

不存在

CheckPrise

Validname

Getprise

End

超时

File:

=true

CheckPrise

Start

不存在

Checknname

不存在

CheckPrise

不存在

End

Validname^ValidPrise

Fail:

=false,paysuccsess

End

N>=nMax^Timeout

Fail:

=false,payfail

End

End

不存在

4.项目模块LST设计

表4付款模块的LST

设计人员:

董琪日期:

2015/4/21

教练:

李恋语言:

C#

参考:

n:

theerrorcounter,maximunvaluenMax

name:

BooleanindicatorofnameValidandname!

Valid

num:

intindicatorofnumValidandnum!

Valid

Prise:

BooleanindicatorofpirseValidandprise!

Valid

Fial:

Booleanindicatoroffailurecondition,endsession

Payontothesystem

Startbyiniiallizingthenerrorcounter,setname:

=!

Valid,

num:

=!

Valid,Prise:

=!

Valid,andFail:

=false

Getname

RepeatthemainloopuntilavalidnameandnumandPriseorFail

ChecknameforValidity.{Checknamestart}

IfnonameresponseinMaxtime,setFail:

=true

Getnumforchecknullor!

null

GetPriseandcheckforvalidity.{checkPrisestart}

IfnoPriseresponseinMaxtime,setFail:

=true

Ifname!

ValidorPrise!

Valid,stepthencounter

IfnexceedsnMax,setFail:

=true

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 

 设计

 设计登录模块

 

 

15/5/1

8:

30 

9:

00 

 10

 20

 设计

 设计登陆模块异步处理情况

 

 

15/5/2 

14:

00 

15:

00 

 20

 40

 设计

 设计注册模块

 

 

 15/5/7

 12:

00

14:

00

 20

 100

编码

实现登录模块

 15/5/7

14:

10

14:

30

20

测试

测试登录模块的功能

 15/5/8

13:

00

13:

50

10

40

修复

修复登录模块的缺陷

 15/5/12

17:

00

20:

00

30

30

编码

实现登录模块的异步处理

15/5/12

20:

10

20:

35

5

20

测试

测试登录模块异步处理的功能

15/5/13

8:

00

8:

50

20

30

修复

修复异步处理出现的缺陷

 15/5/14

13:

00

15:

00

10

110

编码

实现注册模块

 15/5/14

15:

30

16:

00

5

25

测试

测试注册模块的功能

 15/5/14

16:

00

17:

20

30

50

修复

修复注册模块的缺陷

 15/5/15

14:

00

15:

00

60

设计

设计付款模块

 15/5/16

 12:

00

 14:

00

 20

 100

 编码

 实现付款模块的功能

 15/5/16

14:

20

14:

55

5

30

测试

测试付款模块的功能

15/5/16

15:

00

16:

00

10

50

修复

修复付款模块的缺陷

15/5/17

13:

00

15:

00

30

90

测试

测试所有模块的整体功能

 15/5/17

 15:

00

 16:

00

 10

 50

 修复

 修复完善整个项目的小缺陷

 

 

2.项目缺陷度量

 

表6缺陷记录日志

学生

  董琪          

日期

 2015-5-7          

教员

  李恋     

程序号

  01         

日期

编号

类型

引入阶段

排除阶段

修复时间

相关缺陷

2015-5-8

1

数据

编码

修复

40

在数据库连接出现了问题,导致数据库无法连接

2015-5-13

2

函数

编码

测试

30

异步处理的功能函数没有实现

2015-5-14

3

函数

编码

测试

50

在注册模块中的异步处理没有实现,不能提醒用户已存在

2015-5-16

4

语法

编码

测试

10

在代码中总是少;导致语法出现错误

2015-5-16

5

函数

编码

测试

20

在付款模块中,添加商品信息的函数没有实现

2015-5-16

6

赋值

编码

测试

10

在定义变量时没有初始化变量

2015-5-17

7

接口

编码

修复

30

在登录模块和注册模块的跳转没有实现好

2015-5-17

8

环境

编码

测试

30

测试的时候出现了中断现象

3.项目规模估算

               表7:

董琪的程序规模估计

学生  董琪                                日期    15/5/15            

教员   李恋                                课程     软件过程与管理    

程序

代码行

以前的功能

估计的功能

最小

平均

最大

Loops

 

 

 

 

 

 

4

 10

简单While-loop 

 

 

 

 

5

 14

中等repeat-until 

Repeat-until 

 7

11 

14 

 

 

 

 

 

 

 

Case

 

 

 

 

 

 

2

11 

小的Case语句

 Case

 5

8 

11 

3

14

大的Case语句 

 

 

 

 

 

 

 

 

 

 

 

Data

 

 

 

 

 

 

6

18

小的链表 

 

 

 

 

 

 

 

 

 

 

 

Calc.

 

 

 

 

 

 

1

20 

小的计算 

calculation 

10 

15 

20 

 

 

 

 

 

 

 

估计

 

 

 

22 

34 

45 

4.项目计划总结

表8:

PSP项目计划总结表

 

学生         董琪                      日期           2015/4/21 

程序                 001                   程序号#       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                39            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           6                31              100.0                   

排除的缺陷      计划         实际         累计        累计百分比    Def/Hour

  计划                                                                         

  设计                                                                         

  编码                                                                         

  代码复查       2            4         12               38.7             4.97         

  编译           3             1           13              41.9              7.80        

  测试           1            1         6              19.4               1.29        

总计         6             5           31               100.0                     

第四章项目实现与评审

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.

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

当前位置:首页 > 人文社科 > 视频讲堂

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1