
假设XX计算机公司和潜在的顾客。
1.对于想购买计算机的顾客。
.屏幕分辨率设置为0*480,颜色设为256色。
(如果不这样设置,我们使用的模式将导致显示的边缘部分变模糊。)
.28.8k或56k的调制解调器(可以不损伤图形并且使颜色简化。)
.Netscape 2.0 以上或IE 3.0以上版本(以支持JAVA脚本。)
2.对于XX计算机公司
.VB脚本或微软的Access数据库
.WINDOWS 95 或 NT
.个人WEB服务器
A、整体描述
* 管理WEB服务器
* 交互地控制数据库
* 实时执行
B、软件工程的约束信息描述
1. 信息内容表示法
.《顾客》:顾客ID(包括代理商),顾客名,其它。
.《产品》:产品ID,产品名,商标,其它。
.《支付》:订购编号,支付方式, 装运和处理,其它。
b. 信息流程表示法
1. 数据流程
事件开始 =>顾客 => 选择产品 =>选择支付,运送=>
=> 最终决定=>结束
I.功能描述
a. 功能划分
这个联机购物系统的功能被划分为以下三种:处理用户 ID ,选择和计算机相关的产品,以及选择支付与装运方式。
b. 功能描述
1. 系统约束/
因为时间有限,第一版产品不包括可以提交给管理员的报告,以便联机购物店能更系统有效的工作。那些顾客不能每月收到我们的购物新闻。
目前在线订购被在中国地区,因为如果将产品销售到别的国家,邮寄费用将会非常昂贵,而且有关税问题。我们将在未来进行进一步的改进中考虑。
这个在线购物店只允许使用¥人民币。
根据主机能力和资源限度,目前我们再决定产品的详细目录中保存产品的信息内容。
2. 处理描述
在“处理顾客ID”的功能中,由于这个系统只能被中国用户使用,所以对于来中国之外的地址,此项功能不能处理。
在“选择计算机产品” 的功能中,不能选择大型机,而且不一定包括每一种牌子的产品。
3. 软件系统设计
顾客只能在“选择支付和装运方式” 功能之前取消订购。一旦顾客输入了信用卡号或者别的支付方式,就不能取消订购。在顾客输入支付方式之前我们提供了确认操作,使他们知道订购将不能被取消。但是如果顾客对产品不满意,我们将负责退还全部货款。
任何想购买产品的顾客,都必须拥有一个用户ID及真实用户资料记录。
4.基本业务流程支持图表
选择的产品
信息
顾客
在线购物
系统
产品
a.控制描述
1. 控制说明
. 如果顾客订购的产品缺货,显示“目前这种产品缺货” 。
. 如果顾客输入其他国家的地址,显示“仅限中国用户可使用”。
. 如果顾客取消订购或不想进一步进入这个网页,则返回。
2. 设计约束
用户在选择了支付和邮寄方式以后,不允许取消订购。
II.行为描述
有三个层次的状态图。
1、.第一层次状态图
我们有四个状态,例如读取用户的输入,选择计算机部件,检查用户ID和选择支付方式。其中的每一种都有一个能使系统改变状态的外部事件。从读取用户状态中,顾客可以选择两个选项。第一,如果顾客选择了屏幕上的购物按扭,购物页面(选择计算机部件页)将被激活。在选择计算机部件阶段,如果顾客选择了想要购买的产品或退出这个程序,“选择支付方式”将被激活。在选择了支付方式以后,此软件将再次调用输入屏幕等待顾客的输入。第二个选项用来在数据库中建立顾客的简表。在建立了顾客的简表后,顾客可以选择想要购买的计算机或退出此程序。
2、第二层次状态图
( 1.) 对于选择计算机产品
我们有三个状态:读取用户的输入,选择计算机产品和商标,以及计算费用。其中的每一种都有一个能使系统改变状态的外部事件。从读取用户输入中,当顾客想要购买一个产品时,这个软件将调用购物页面。在用户选择了想要购买的产品和商标后,这个软件将调用产品的费用计算。
( 2). 对于处理顾客ID和显示发货单
我们有四个状态:读取用户的输入,检查顾客ID,建立顾客ID,显示顾客的信息和选择的项目。其中的每一种都有一个能使系统改变状态的外部事件。如果顾客想要购买商品,在读取用户输入时,他必须输入顾客ID。如果他不是注册过的成员,此软件将会调用创建顾客ID页面。如果他是成员而且他想要显示自己以前选择的产品,此软件将会调用页面来显示顾客的信息和选择的项目。
(3). 对于选择支付和装运方式
我们有三个状态:读取用户的输入,选择支付和装运方式以及计算全部的费用。其中的每一种都有一个能使系统改变状态的外部事件。如果顾客已经选择了产品和商标,在读取用户输入时,他必须选择支付和装运方式来支付他选择的产品。在此之后,此软件将会调用全部数量页面,因此顾客可知他将为产品支付的费用。
3、第三层次状态描述图
1. 对于显示顾客ID
我们有四个状态,例如读取用户的输入,显示信息,更新信息以及顾客检查定单。其中的每一种都有一个能使系统改变状态的外部事件。在读取用户输入时,如果顾客选择了想要购买的产品但是还未提交时,将会显示确认页面,使顾客确认他选择的产品。在这一阶段,顾客也可以选择按扭来显示已经订购了的产品,这将显示他购买的产品的列表,总价和装运的类型。
III.确认和标准
这个软件的要求之一是交互的网络站点:这意味着在WEB站点和公司数据库双方都不需要维护。在数据库中自动产生顾客的ID,并且当顾客想要时可以获取ID。当顾客提交后,数据被自动更新。
对Maria’s 在线计算机购物店的测试
测试情况:白色盒子的测试由 专人完成
PDL:
1 完成购物之前一直执行
2 输入产品和商标
3 如果产品的数量为零
4 则显示“ 此产品缺货”返回 2
5否则更新cart store
6计算价格的总合
7 如果产品有误
8 则返回2
9 否则输入支付和邮寄方式
10 如果是新顾客
11 则输入顾客信息
12 如果地址不在中国内
13 1
则显示“服务在中国范围内”,返回18
14 否则建立顾客ID
15 否则输入顾客ID
16 显示顾客信息
17 更新订购存储
18如果继续购物,返回2
19否则结束执行
4
流程图:
16
12
15
11
10
9
8
7
6
5
3
2
13
14
17
18
19
V(G)=6
E-N+2=6
P+1=6
基集:
路径1: 1 2 3 5 6 7 9 10 15 16 17 18 19
路径2: 1 2 3 4 2 3 5 6 7 9 10 15 16 17 18 19
路径3: 1 2 3 5 6 7 8 2 3 5 6 7 9 10 15 16 17 18 19
路径4: 1 2 3 5 6 7 9 10 11 12 14 17 18 19
路径5: 1 2 3 5 6 7 9 10 11 12 13 19
黑盒测试:
对于“选择计算机产品”功能
计算的价格总和是否正确?
运输存储(cart store)能否显示正确的信息?
对于“选择支付和装运方式”功能
如果产品不是顾客想要的,他们是否能够返回购物?
对于“购买项目”功能
我们是否能正确识别顾客ID?
我们能够正确建立顾客ID?
“显示顾客信息和项目”是否能正确显示信息?
II.附录
1. ER图 ER 图
公司
顾客
支付
管理
发送
购买
产品
a.数据对象类型层次
数据对象类型层次
硬件
资源管理器
应用程序
桌面
14'
17'
监视器
组成
IBM
HP
Compaq
Inkjet
Laser
打印机
便携式电脑
软件
组成
操作系统
c. 数据字典
1.身份证号码:18位
名字 : SSN#
别名 : 无
何处使用/ 如何使用 : 搜索信息
描述 :
SSN# = 访问编号
访问编号 = *任何9位的字符串*
2.名
名字 : 名
别名 : 无
何处使用/ 如何使用 : 搜索,增加,删除和更新顾客数据库信息
描述 :
名 = 访问名字
访问名字 = *任何名字字符串*
3.姓
名字 : 姓
别名 : 无
何处使用/ 如何使用 : 搜索,增加,删除和更新顾客数据库信息
描述 :
姓 = 访问名字
访问名字 = *任何名字字符串*
4.中名
名字 : 中名
别名 : 无
何处使用/ 如何使用 : 搜索,增加,删除和更新顾客数据库信息
描述 :
中名 = 访问名字
访问名字 = *任何名字字符串*
5.地址
字名 : 地址
别名 : 无
何处使用/ 如何使用 : 搜索,增加,删除和更新顾客数据库信息
描述 :
地址 = 地址编号 + 街道名
访问名字 = *任何街道名字符串*
6.城市
名字 : 城市
别名 : 无
何处使用/ 如何使用 : 搜索,增加,删除和更新顾客数据库信息
描述 :
访问名字 = *任何城市字符串*
7.邮政编码
名字 : 邮政编码
别名 : 无
何处使用/ 如何使用 : 搜索,增加,删除和更新顾客数据库信息
描述 :
邮政编码 = 访问邮政编码名
访问邮政编码名 = *任何5位的字符串*
8.电话号码
名字 : 电话#
别名 : 无
何处使用/ 如何使用 : 搜索,增加,删除和更新顾客数据库信息
描述 :
电话# = 长途号码
长途号码 = (1) + 区号 + 本地号码
本地号码 = 前缀号码 + 访问号码
前缀号码 = [795|799|874|877…]
访问号码 = *任何4位的字符串*
9.顾客Id
名字 : 5位数字
别名 : 无
何处使用/ 如何使用 : 搜索,增加,删除和更新顾客数据库信息
描述 :
输入 = [#####]
10.产品Id
名字 : 2位字符 + 5位数字
别名 : 无
何处使用/ 如何使用 : 搜索,增加,删除和更新顾客数据库信息
描述 :
字符 = 两个缩写字符组成的商标名
数字 = 唯一的编号
11.产品名
名字 : 10位字符
别名 : 无
何处使用/ 如何使用 : 搜索,增加,删除和更新顾客数据库信息
描述 :
名字 = 唯一的名字
12.价格
名字 : 5位数字
别名 : 无
何处使用/ 如何使用 : 搜索,增加,删除和更新顾客数据库信息
描述 :
数字 = #####.##
13.定单id
名字 : 5位数字
别名 : 无
何处使用/ 如何使用 : 搜索,增加,删除和更新顾客数据库信息
描述 :
当顾客购物时,定单id被自动编号。
14.支付方式
名字 : 10位字符
别名 : 无
何处使用/ 如何使用 : 搜索,增加,删除和更新顾客数据库信息
描述 :
顾客必须确定他购物时使用的信用卡。
2.数据流程图
3. 4. 第一层次控制流程图
5. 6. 7. 状态图
