`
bulote
  • 浏览: 1307687 次
文章分类
社区版块
存档分类
最新评论

软件工程案例学习-网上购书系统

 
阅读更多

网上购书电子商务系统——
软件产品开发要求及需求模型


数据流图:
网上购书电子商务系统数据流程图(第一层)

数据流图说明:
1.1 E:外部项

编号名称有关数据流属性描述
EBMS1.1顾客FBMS1.1
FBMS1.2
FBMS1.3
FBMS1.4
FBMS1.5
FBMS1.6用户注册、登陆、提交订单、付款;
送货给顾客、给顾客收据等
EBMS1.2书籍供应厂商FBMS1.7
FBMS1.8
FBMS1.9
FBMS1.10向厂商购书、付款;
厂商发货、给收据等

1.2 P:处理逻辑

编号名称功能描述处理频度
PMRS1.1网上售书管理系统(BMS)用asp网站管理整个网上书店每笔交易或批量处理

1.3 F:数据流
共有FBMS1.1~FBMS1.10这10个数据流,分别描述如下:
(1)数据流名称:FBMS1.1
数据流说明:用户登入

数据项数据类型长度备注
Username字符型10用户名
Password字符型15密码
(2)数据流名称:FBMS1.2
数据流说明:密码修改

数据项数据类型长度备注
Username字符型10用户名
Password_old字符型15旧密码
Password_new字符型15新密码
Password_new2字符型15新密码确认

(3)数据流名称:FBMS1.3
数据流说明:顾客的订单

数据项数据类型长度备注
ID_Order数字型整形顾客的订单编号
Username字符型10用户名
ID_Book数字型整形书号
Count_Order数字型整型订书数量
Date_order日期/时间顾客订书日期

(4)数据流名称:FBMS1.4
数据流说明:送货人给顾客的发货票

数据项数据类型长度备注
Username字符型10用户名
ID_Book数字型整形书号
Count数字型整型数量
Price货币出版价格
Cost货币出售价
TotalCost货币总价格
Date_send日期/时间向顾客发货日期

(5)数据流名称:FBMS1.5
数据流说明:付款(顾客付款给送货人)

数据项数据类型长度备注
Username字符型10用户名
TotalCost货币总金额
Date_pay日期/时间顾客付款日期

(6)数据流名称:FBMS1.6
数据流说明:送货人给顾客的收据(发货票)

数据项数据类型长度备注
ID_Receipt数字型整形收据编号
Username字符型10用户名
Bookname字符型100书名
ID_Book数字型整形书号
Count_Total数字型整型库存数量
Price货币出版价格
Cost货币出售价
TotalCost货币总价格
Date_receive日期/时间从顾客方收款日期

(7)数据流名称:FBMS1.7
数据流说明:发给书籍供应厂商的订货单

数据项数据类型长度备注
ID_OrderToFact数字型整形给厂商的订单编号
Bookname字符型100应收款金额
Author字符型100图书作者
Publisher字符型100出版社
FactoryName字符型20厂商名称
Count_Order数字型整型订货数量

(8)数据流名称:FBMS1.8
数据流说明:书籍供应厂商的发货单

数据项数据类型长度备注
ID_Book数字型整形书号
Count_Order数字型整型发货数量
Date_FaSend日期/时间厂商发货日期

(9)数据流名称:FBMS1.9
数据流说明:付款(给书籍供应厂商)

数据项数据类型长度备注
Money_toFa货币总金额
Date_payToFa日期/时间向厂商付款日期

(10)数据流名称:FBMS1.10
数据流说明:书籍供应厂商的收据

数据项数据类型长度备注
Money_toFa货币总金额
Date_FaGetMoney日期/时间厂商收款日期

1.4 D:数据存储

编号名称数据内容存储方式
DBMS1.1.暂存订单用户名,书号, 数量, 顾客订书日期文件每笔数据库
DBMS1.2商品库存书号,书名,作者,出版社,库存数量,单价等文件每笔数据库
DBMS1.3采购订单书号,书名,作者,数量等文件每笔数据库
DBMS1.4销售历史书号,销售数量,推荐程度等文件每笔数据库
DBMS1.5应收款明细帐记录销售收入文件每笔数据库
DBMS1.6应付款明细帐记录采购支出文件每笔数据库
DBMS1.7总帐记录总帐目文件每笔数据库
描述如下:
(1)数据存储代号:DBMS1.1
数据存储名称:暂存订单

数据项数据类型长度备注
Username字符型10用户名
ID_Book数字型整形书号
OrderCount数字型整型订书数量
Date_order日期/时间顾客订书日期

(2)数据存储代号:DBMS1.2
数据存储名称:商品库存

数据项数据类型长度备注
ID_Book字符型20书号
Classify数字型整形分类(0-computer,1-Novel,2-English,
3-Ecnomics,4-Cartoon)
BookName字符型100书名
Author字符型100图书作者
Publisher字符型100出版商
Date_Publish日期/时间出版日期
PicturePath字符型200图片路径
Count_Page数字型整形页数
Version字符型20版本
Comment备注内容简介
Count_Total数字整型库存数量
Count_Buy数字整型已购买数量
Count_Browse数字整形浏览次数
RecomLevel数字整型推荐程度:0~5星级
Cost货币价格
Price货币出版价格
Date_Add日期/时间上架日期

(3)数据存储代号:DBMS1.3
数据存储名称:向厂商采购订单

数据项数据类型长度备注
BookName字符型100书名
Author字符型100图书作者
Publisher字符型100出版社
Count_Order数字整型数量

(4)数据存储代号:DBMS1.4
数据存储名称:销售历史

数据项数据类型长度备注
ID_Book数字型整形书号
Count_Buy数字型整型销售数量
RecomLevel数字整型推荐程度:
0:强烈推荐
1:一般推荐
2:普通

(5)数据存储代号:DBMS1.5
数据存储名称:帐目


数据项数据类型长度备注
Finance_received货币销售收入
Finance_payed货币采购支出
Finance_total货币总收入

网上购书电子商务系统数据流程图(第二层)

数据流图说明:
2.1 E:外部项

2.2 P:处理逻辑

编号名称功能描述处理频度
PBMS2.1销售子系统接受和处理用户的购书订单每笔交易
PBMS2.2采购子系统库存不足时,向厂商购书每笔交易
PBMS2.3结算子系统负责系统内所有的帐务管理每笔交易

2.3 D:数据存储
同第一层

2.4 F:数据流
第二层的数据流共有FBMS2.1~FBMS2.6这6个数据流,分别描述如下:
(1)数据流名称:FBMS2.1
数据流说明:收款单

数据项数据类型长度备注
ReceiptID字符型20收款单编号
Money_received货币应收款金额
Date_receive日期/时间收款日期

(2)数据流名称:FBMS2.2
数据流说明:订货通知

数据项数据类型长度备注
BookID字符型20书号
Count_Order数字型整型订货数量
FactoryName字符型20厂商名称
Date_orderToFactory日期/时间向厂商订货日期

(3)数据流名称:FBMS2.3
数据流说明:到货通知

数据项数据类型长度备注
BookID字符型20书号
ReceiveCount数字型整型订货数量

(4)数据流名称:FBMS2.4
数据流说明:付款单

数据项数据类型长度备注
PaymentID字符型20付款单编号
Money_payed货币应付款金额
Date_pay货币付款日期

网上购书电子商务系统数据流程图(第三层)
3.1销售细化

3.2 采购细化


3.3 财务细化


实体关系模型(E-R图)

状态图、顺序图
1.状态图:

2.顺序图(Sequence Diagram)


数据字典
  数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具。数据流图和数据字典共同构成系统的逻辑模型。
  数据字典由下列六类元素的定义组成:
  (1)数据流
  (2)数据项:是“不可再分”的数据单位,是数据的最小组成单位。
(3)数据结构
(4)数据存储:数据存储是数据结构停留或保存的场所。
(5)处理逻辑
(6)外部实体
在第一层和第二层数据流图的定义之后,我们都已经详细定义了数据字典的各元素。
对于各数据项的详细符号描述,见实验二的《软件概要设计说明》中的“软件数据结构设计”。
网上购书电子商务系统——

软件需求规格说明

A. 引言
  本规格说明详细阐述了“网上购书电子商务系统”的总体设计说明、产品功能、用户界面、系统特性、非功能性需求及其他需求。文档具体结构如下:


12345
A引言编写目的预期的读者产品的范围
B综合描述产品背景及前景产品功能概述用户类和特征 运行环境
C外部接口需求用户界面软件接口
D系统特性激励/响应序列 功能需求
E其它非功能需求 性能需求安全性需求软件质量
属性 业务
规则 用户
文档
F其它需求

A.1 编写目的
  编写该文档的目的是,对产品进行定义,详尽说明该产品的软件需求。
A.2 预期的读者和阅读建议
  本软件需求规格说明的读者,可以是软件开发人员、用户、测试人员或文档的编写人员。
A.3 产品的范围
  制作本软件的目的是,借助Internet/Intranet向其他企业和消费者提供产品和信息服务,实现产品和服务向消费者方向的转移。把软件与企业目标或业务策略相联系。

  B. 综合描述
  这一部分概述了产品“网上购书电子商务系统”的背景情况,主要功能,运行产品的环境,以及使用产品的用户等。
B.1 产品背景及目前存在的问题
  因特网的迅猛发展正以前所未有的深度和广度影响和改变着人类生活的各个方面,越来越多的人开始意识到因特网所蕴含的巨大经济价值和无穷商机,并积极投身于电子商务活动。实际上,电子商务是一些商业行为的电子化,例如网上商店、网上贸易等。就网上商店来说,网上书店是目前应用最广、最成功的典范之一。网上书店的崛起对传统的图书流通体系产生了强烈的冲击,有效地缩短了图书流通发行环节,将广大读者、图书、出版者、发行者紧密地结合在一起,大大提高了图书流通率。
世界上第一家网上书店是1991年在美国联机公司在网络上建立的“阅读美国书店”。目前,最负盛名的是美国西雅图亚马逊图书公司的亚马逊网上书店。它创建于1995年,供书品种达310余万种,年顾客达500万人次,其价格优惠20~50%。金融结算制度完善,配送服务高效,实现了零库存运转。英国网上书店较著名的有因特网书店。德国的网上书店主要有图书图书在线网上书店、网上书店。
我国第一家网上书店是 1995年建上的中国书店网上书店。1997年杭州新华书店建立了新华书店系统的第一个网上书店。截止2000年6月,我国除了已建立网站的200多家出版社外,已开通的网上书店有100家左右。比较有影响的有当当网上书店、蔚蓝网络书店、北京图书大厦、全国购书网等。
网上书店虽然拥有比传统书店更广阔的市场,但是我国的网上书店并没有好好把握这个机会,在整体上出现了不少问题:
面对如此庞大的市场范围,大部分网上书店并没有进行认真的市场细分与选择,而是沿袭了大多数传统书店的市场定位,想走“大而全”的路子,可又常常“大而不全”,完全不具备网络时代的个性化色彩。书店里的书目乍一看种类繁多,但各专业细分之后,每个专业的图书品种就不多了,不能满足专业读者的深层次需求。
网站信息量不足。亚马逊网上书店能提供有关书的基本情况以及读者、专家、作者与媒体等各方面的评价,并给每本书设立一个评分等级;而我国有些网上书店却还没有详细的图书介绍。如果只简单列出书名、作者、出版社与定价,却没有相应的介绍资料和图片展示,又如何能吸引读者呢?
售价偏高。据调查,我国大部分网上书店要么打折较少,要么要求订购者支付邮费或手续费。网上书店比传统书店节约了成本,那么在售价方面就必须体现出来。
事实上,网上购书绝不像宣传的那样轻松自如。
B.2 产品功能概述
将库存的图书目录按照不同分类存放在后台数据库里,用户通过Web方式调阅和查询,对销售的图书感兴趣的用户可以通过注册用户信息后下订单购书。主要功能如下:
系统设置:数据库设置,图书类别设置,管理员设置,用户级别设置
图书库管理:实现对图书进行编目、修改、删除、查询功能
图书订购:实现用户在线订购图书
查询功能:查询方式提供模糊查询和分类查询方式
统计功能:提供各种统计功能,如图书销售排行、用户购买统计等
其他:公告、用户投诉等
各功能的具体描述见D。
B.3 用户类和特征
因我们设计的支付方式为送货上门,故该网上书店只面向本地附近用户。用户每次买书都有购买记录,根据用户以往购买书籍的总金额,可对其实行不同程度的优惠。
B.4 运行环境
  该网上书店的运行环境要求如下:
操作系统:Microsoft Windows 98/2000/Me/Xp/2003
所需组件:Internet Explorer 6.0

C 外部接口需求
C.1用户界面
这是我们所做“网上购书电子商务系统”与用户进行交流的一个中间体,有着十分重要的作用。所以,我们要求该用户界面友好、清楚明了、突出重点、而且容易使用;另外,该界面还必须能够提供尽量多的功能,以给顾客便捷的服务。
我们的用户界面由注册界面、登陆界面、浏览书籍界面、查询界面、购书界面等各大界面构成,每一个界面都有着各自的作用。
C.2 软件接口
该系统与我们的数据库相连(其中数据库里包括我们所提供的书籍信息,各书籍的价格等数据),同时数据库也用来保存各用户的信息(如:所购买的书籍、会员的等级等)。

D 系统特性
D.1 激励/响应序列
以下以用户方的激励/响应序列为例进行说明:
用户注册:把新用户信息保存到数据里(如:用户名、密码等)
用户登陆:判断用户名和密码的正确性,如果判断通过则让用户进入欢迎界面,让其可以进行各种操作。
用户修改密码:把用户新密码输入到数据库中,替换原密码。
用户浏览:从数据库里调出书籍信息显示
用户查询:从数据库里查找相关书籍,如果找到则显示出来,否则显示查找失败
用户购书:保存用户所填写订单(包含有所购书籍、数量、价格等信息)
用户退出:显示已经退出系统信息
D.2 功能需求
这些是必须提交给用户的软件功能,使用户可以使用所提供的特性执行服务或者使用所指定的使用实例执行任务。描述产品如何响应可预知的出错条件或者非法输入或动作。

E 其它非功能需求
E.1 性能需求
时间上:相互合作的用户数(注意:这里的用户是指使用该软件的人,而不是登陆系统购买书籍的人)或者所支持的操作、响应时间以及与实时系统的时间关系,必须满足互斥性,即不能同时有几个用户对相同的数据进行操作、修改(同时读除外)。
空间上:对存储器和磁盘空间的需求;对存储在数据库中表的最大行数有一定的需要。
E.2 安全性需求
1、只有特定的管理人员才能对系统进行管理,才能对数据库进行维护和修改;
2、登陆系统购书的客户的资料,对其他客户都是透明的;
3、客户的密码只能有客户自己进行修改,对管理员也是透明的;管理员唯一能对客户的操作是删除其客户名和密码。
4、客户下订单后不能更改订单的内容。
E.3 软件质量属性
对使用者: 首先要保证有效性,最好易于扩展,有较好的可移植性。
对客户:操作简单,界面友好,帮助文档充分。
E.4 业务规则
1.只有拿到客户的付款或向供应厂商付款后,才可以修改帐目。
2.只有客户提交了正确的订单后,才可以修改库存信息。如果客户最终没有按照订单来购书,则重新修改库存信息。
3.只有从供应厂商那里采购到书籍回来,才可以修改库存信息。
E.5 用户文档
用户手册:提供给用户的、指导用户使用该软件的手册。
在线帮助和教程:在网上提供的帮助教程,应该清晰易懂,简明易学。

F 其它需求
F.1 用户管理/统计查询
用户管理 系统管理员拥有最高权限,可添加/删除用户,添加/删除管理员。一般管理员除不能进行用户管理外可进行其他操作。系统管理员可查看一般管理员登录情况的历史记录,反之则不可以。
用户查询 可根据会员ID、住址、级别、总购物金额等条件对用户数据进行综合查询与统计,在多条查询结果中可浏览单个用户的明细资料。
F.2 书籍分类管理
可添加书籍分类,修改书籍分类名称。
F.3 书籍管理/查询
书籍管理 可修改书籍信息。
书籍查询 可根据书籍名、书籍类别、价格范围(市场价、销售价)、库存数量等条件对书籍据进行综合查询,在多条查询结果中可浏览单个书籍的明细数据。
F.4 订单管理/查询
订单管理 可根据订单处理的各个不同阶段修改订单状态,如“已发货”。
订单查询 可按用户名、订单号、订单状态对所有订单进行综合查询,在多条查询结果中可浏览某订单的明细状况。
F.5 销售统计
可按年、月或指定期限对书籍进行销售统计,结果显示各书籍的销售数量、销售金额等。
F.6 页面维护
可对各页面内容进行维护/修改。可更改页面广告条的链接。等等。
网上购书电子商务系统——
软件确认测试计划

本文档说明对需求规格说明规定的各种功能需求的确认测试方案(黑盒测试)。
功能测试种类
1.用等价划分法进行输入有效性测试
主要测试程序中各种输入数据的语法是否符合其规范定义,即是否有效。例如:用户输入的用户名、密码等,只有字符组成、字符数等符合一定规则,才可存入数据库或用作程序中的合法变量,等等。
2.用边界值分析法对输入有效性测试进行补充
在1的基础上,使输入为边界条件进行测试。
3.用错误推测法进行功能健壮性测试
主要测试程序中各种功能性操作是否正确。例如:用户注册成功或修改信息后,其信息是否正确存入数据库;用户购买图书后,库存中的图书数量和销售历史是否作了正确的改变、用户信息中的经验值是否作了相应的增加,等等。

功能测试的测试用例设计
1.输入有效性测试(等价划分法,边界值分析法)
首先建立输入等价类表(注:"( )"中标注的是各等价类的编号):

输入条件有效等价类无效等价类
用户名:Username首字符字母 (1)非字母 (2)
其他字符组成字母或数字 (3)非字母或数字 (4)
字符数4~10个 (5)<4个(6),>10个(7)
字符组成字母或数字 (8)非字母或数字 (9)
字符数6~15个 (10)<6个(11),>15个(12)
××××
××××字符组成数字 (13)非数字 (14)
位数1~10位 (15)0位 (16),>10位 (17)
××××字符组成四位数字 "-" 两位数字 "-" 两位数字 (18)非前述组成 (19)
月部分数值在1~12之间 (20)0或>12 (21)
日部分数值在1~31之间 (22)0或>31 (23)
×

××××字符组成数字("."数字) (24)非前述组成 (25)
小数点后位数0~2位 (26)>2位 (27)


字符数0~100 (28)>100 (29)
图片路径: PicturePath 字符数0~200 (30)>200 (31)
内容简介: Comment字符数0~500 (32)>500 (33)
推荐程度: RecomLevel字符组成数字 (34)非数字 (35)
数值0~5 (36)非0~5 (37)
字符组成数字 (38)非数字 (39)
数值0~4 (40)非0~4 (41)

根据该等价类表,设计以下测试用例:

编号测试用例用例覆盖的等价类
1在用户名输入筐中输入“aa3a”(1),(3),(5)边界
2在用户名输入筐中输入“1a”(2)
3在用户名输入筐中输入“aaa”(6)
4在用户名输入筐中输入“a/a”(4)
5在用户名输入筐中输入“a2345678901”(7)边界
6在密码输入筐中输入“abc123”(8),(10)边界
7在密码输入筐中输入“a???bc”(9)
8在密码输入筐中输入“a234567890123456”(12)边界
9在密码输入筐中输入“a2345”(11)边界
10管理员向图书库存中加入一个图书条目:

数据项备注数值
ID_Book书号45678
Classify分类1
BookName书名多情剑客无情剑
Author图书作者古龙
Publisher出版商白花文艺出版社
Date_Publish出版日期1988-12-5
PicturePath图片路径../BookImage/45678.gif
Count_Page页数650
Comment内容简介古龙经典
Count_Total库存数量10
Count_Buy已购买数量0
RecomLevel推荐程度1
Cost价格24.30
Price出版价35
Date_Add上架日期2003-11-28

(13)
(15)
(18)
(20)
(22)
(24)
(26)
(28)
(30)
(32)
(34)
(36)
(38)
(40)
11管理员向图书库存中加入图书条目,其中ID_Book项为:

数据项备注数值
ID_Book书号A678
……
(14)
12管理员向图书库存中加入图书条目,其中Publisher项为:

数据项备注数值
Publisher出版商百花…(大于100字符)
……
(29)
13管理员向图书库存中加入图书条目,其中PicturePath项为:

数据项备注数值
PicturePath图片路径../Book…(大于500字符)
……
(31)
14管理员向图书库存中加入图书条目,其中Date_Publish项为:

数据项备注数值
Date_Publish出版日期88/01/21
……
(19)
15管理员向图书库存中加入图书条目,其中Date_Publish项为:

数据项备注数值
Date_Publish出版日期1988-00-21(或1988-20-21)
……
(21)
16管理员向图书库存中加入图书条目,其中Date_Publish项为:

数据项备注数值
Date_Publish出版日期1988-01-00(或1988-01-41)
……
(23)
17管理员向图书库存中加入图书条目,其中Count_Page项为:

数据项备注数值
Count_Page页数(空),或650…(大于10位)
……
(16)
或(17)
18管理员向图书库存中加入图书条目,其中Comment项为:

数据项备注数值
Comment内容简介古龙经典…(大于500字符)
……
(33)
19管理员向图书库存中加入图书条目,其中RecomLevel项为:

数据项备注数值
RecomLevel推荐程度 A
……
(35)
20管理员向图书库存中加入图书条目,其中RecomLevel项为:

数据项备注数值
RecomLevel推荐程度 7
……
(37)
21管理员向图书库存中加入图书条目,其中Cost项为:

数据项备注数值
Cost价格A4.3
……
(25)
22管理员向图书库存中加入图书条目,其中Cost项为:

数据项备注数值
Cost价格4.312
……
(27)
23管理员向图书库存中加入图书条目,其中Classify项为:

数据项备注数值
Classify分类小说
……
(39)
24管理员向图书库存中加入图书条目,其中Classify项为:

数据项备注数值
Classify分类10
……
(41)

2.功能健壮性测试(错误推测法)
程序中需要测试以下功能(注:"( )"为功能编号):

输入条件测试标准
用户登陆正确检查是否存在该用户名 (1)
若存在该用户名且密码正确,是否能正确登陆 (2)
若不存在该用户名或密码错误,是否能给出错误提示 (3)
用户注册1.正确检查用户名是否已存在 (4)
2.若用户名不存在,是否能正确添加该用户 (5)
3.若用户名已存在,是否能给出错误提示 (6)
用户修改信息1..再次登陆时,可用修改后的密码登陆 (7)
2.再次登陆后,看到的信息均为修改后的 (8)
用户提交订单后正确判断该订单是否可满足 (9)
用户订单可满足正确开具发货票(即收款单) (10)
用户购书1.图书库存作相应修改 (11)
2.用户经验值作相应增加 (12)
3.图书销售历史作相应修改,推荐程度作相应 (13)
4.应收款明细帐作相应修改 (14)
用户订单不可满足产生暂存订单 (15)
发出订货通知 (16)
接到订货通知正确分类合计,产生订货单,发给厂商 (17)
接到厂方发货单正确核对发货单和原订单 (18)
发货单核对正确图书库存作相应修改 (19)
正确发出到货通知 (20)
应付款明细帐作相应修改 (21)
接到到货通知核对到货通知和暂存订单,判断暂存订单是否可满足 (22)

根据上表,可设计以下测试用例:

编号测试用例用例覆盖的功能
1用户信息数据库中不存在用户”Jack”, 用该用户名登陆;
或存在用户”Jack”,密码为”greatJack”,但用Jack用户名登陆所用密码不是”greatJack”。(3)
2用户信息数据库中还没有用户”Jack”,用“Jack”名注册。(4)(5)
3用户信息数据库中已存在用户”Jack”,密码为”greatJack”,用该用户名和密码登陆。(1)(2)
4用户信息数据库中已有用户”Jack”,用“Jack”名注册。(6)
5用户信息数据库中已存在用户”Jack”,密码为”greatJack”,用该用户名和密码登陆后,修改某些信息,并修改密码为”greatJacky”,再次登陆。(7)(8)
6(接上例)用用户名”Jack”和密码”greatJacky”登陆后,选择几本书产生订单(事先已经知道该订单可满足),并提交。(9)(10)
7(接上例)假设用户购买所订图书(11)~(14)
8正确登陆后,选择几本书产生订单(事先已经知道该订单不可满足),并提交。(15)(16)(17)
9(接上例)假设已得到了厂方的发货单,且该发货单核对正确(18)~(22)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics