1、软件工程作业姓名:李泽伟班级:11信科(1)班学号:20113266301181.题目:采用结构化分析方法写出书店管理系统的需求文档,包括数据流图及数据字典,书店JS是一家从事图书销售的传统公司,对系统要求如下:(1)记录每本图书的库存。(2)实现图书的零售(包括打折),实现开架售书。(3)可以每日统计销售情况。(4)实现图书的采购、退货及结算,实现与供货商的销售及结算关系。(5)遵守出版行业的行规:在书店到书后,若在3个月内未实现销售,可全部或部分退货,在发书后3个月内给予发票,书店在3个月后可部分或全部付款,该项规则对采购货批发均有效。(6)该书店还可将该
2、产品批发给其他书店。(7)在供应商、书店、其他书店、零售客户之间的结算采用码洋折扣方式进行,也就是说如果图书的实价为X,则图书码洋为X,而以7折给书店,则图书的实洋就为供应商、书店等以相对固定的折扣进行交易。0.7X,(8)管理人员可以随时查看库存、应付/付款情况分析表、应收采购、销售、付款、到款情况,并能提供日/到款情况分析表。/月销售报表、由于销售商品是图书,图书除有书名、作者、出版社外,还有版次、印次、出版日期以及ISBN号、条码、定价;由于出版领域的特殊性,一种图书(如软件工程)只有一个ISBN号以及一个条码,而该图书一句不同的版次、印次,可有不同的定价,
3、折给条码的扫描确定一本图书带来一定的困难。答案:数据流图:顶层图零售信息JS图书销售进货信息退货信息供货商零售客户系统零售发票结算信息货统息计退信发商票结发发果批批其它书店管理人员零售信息12进货信息退货信息零售发票零售采购结算信息库存销售情况采购情况34货批发统计退商息发信统批票发计批发结果0层图零售信息1.1进货信息2.1采购2.2退货信息零售1.2零售发票结算、打印发票3.1批发退货2.3结算信息进货结算库存采购情况4.2查看、打印采购情况分析批发信息批发商退货3.2采购情况分析销售情况4.1库存统计、打印库存退货4.33.3查看、打印批发结算、销售情况分销售情况分析打印发票析发票
4、JS图书销售系统零售采购批发统计零售采购退货结算批发批发批发采购情库存情销售情结算退货结算况分析况分析况分析打印发票数据字典:1、数据流条目:订货单=书号+书名+作者+出版社+数量+日期+订货人付款单=应付金额+实付金额+付款人+收款人+日期发货单=书号+书名+作者+出版社+数量+发货人+收货人+日期发票=书号+书名+作者+出版社+数量+单价+金额+总金额+日期+(营业员)收据=书号+书名+作者+出版社+数量+单价+金额+总金额+日期+单位收款单=书号+书名+作者+出版社+数量+
5、订货日期+付款人+收款人+收款日期采购单=书号+书名+作者+出版社+数量采购订单=书号+书名+作者+出版社+数量+采购人+采购单位+日期到货通知单=书号+书名+作者+出版社+数量+订货日期+订货人+到货日期退货书单=书号+书名+作者+出版社+数量+退货人+退货单位+日期退货单=书号+书名+作者+出版社+数量+单价+金额+总金额+退货人+退货日期应付款分析表=应付款单位+书号+书名+作者+出版社+数量+单价+金额+总金额+应付款日期应收款分析表=应收款单位(个人)
6、+书号+书名+作者+出版社+数量+单价+金额+总金额+应收款日期2、文件条目:图书库存=书号+书名+作者+出版社+数量+日期销售文件=书号+书名+作者+出版社+数量+单价+金额+总金额+销售日期图书采购文件=书号+书名+作者+出版社+数量+单价+金额+总金额+采购日期书店结算账本=销售文件+图书采购文件+应付款分析表+应收款分析表3、数据项条目书号=0000000099999999日期=XXXX.XX.XX数量*单价=金额E-R图:2.书店管理系统用况建模2.1.书店管理系统用例图2.2.用
7、例的详细描述用例名称:书店管理系统参与的执行者:客户、系统业务员前置条件:一个客户或系统业务员进入系统事件流:基本路径:1、当用户户进入系统,用例开始2、用户验证(客户/系统管理员)3、进入系统主界面4、如果客户进入系统则选购图书5、客户到前台结账时形成订书单6、客户退出系统7、当系统管理员进入系统时,管理员根据界面信息拟制订书单8、系统管理员录入图书信息9、录入图书信息完毕后退出可选路径:系统管理员与客户进入系统没有顺序规定,用户在任何时候都可以退出系统,而且用户之前的活动将被保存,用例结束。3.书店管理系统的静态模型3.1标识候选对象外部实体有客户、系统管理员、出版社、供货商、图书
8、、订单、库存、订单管理系统。这些外部实体都可以作为候选对象。需要处理的信息有名称、单价、供货信息、订单的订单项、图书的编号、订单日期、客户信息等。3.2筛选候选对象图书管理系统实际上代表了整个系统,所有信息的显示、操作界面等都由图书管理系统来展示,因此可以将其确定为最终的所需的对象。客户、系统管理员、出版社、供货商、图书、订单、库存等候选对象都有明确的属性和操作,显然应该成为最终的对象。考虑到一份订单可以由多个订单项组成,因此增加订单项这个对象。综上所述,最终得到图书管理系统包含以下类:图书、订单、库存、订单项。客户、、系统管理员、出版社、供货商、3.3标识属性和操作表3.3图书
10、的测试用例,使得运行这些测试用例时,被测程序的所有可能结果都至少出现一次(即判定的每个分支都至少经过一次)。表4.1满足判定覆盖标准的测试用例测试数据预期结果判定1判定2X=100,Y=90T=1YX=100,Y=70T=2NYX=100,Y=40T=3NN4.2条件覆盖条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个判定中的每个条件的所有可能结果都至少出现一次。表4.2满足条件覆盖标准的测试用例测试数据预期结果判定1判定2X=100,Y=30T=3NNX=70,Y=100T=2NY4.3判定/条件覆盖判定/条件覆盖是指选择足够的测试用例,
11、使得运行这些测试用例时,被测程序的每个判定的所有可能结果都至少执行一次,并且,每个判定中的每个条件的所有可能结果都至少出现一次。表4.2满足判定/条件覆盖标准的测试用例测试数据预期结果判定1判定2X=100,Y=90T=1YX=100,Y=30T=3NNX=70,Y=100T=2NY4.4条件组合覆盖条件组合覆盖是指选择足够的测试用例,使得运行这些用例时,被测程序的每个判定的条件结果的所有可能组合都至少出现一次。判定1中的条件结果的所有可能组合是:X>=80,Y>=80X>=80,Y<80X<80,Y>=80X<80,
12、Y<80判定2中的条件结果的所有可能组合是:X+Y>=140,X>=90,Y<80X+Y>=140,X<80,Y>=90X+Y>=140,X<90,Y<90X+Y<140,X>=90,Y<90X+Y<140,X<90,Y>=90X+Y<140,X<90,Y<90表4.3满足条件组合覆盖标准的测试用例测试数据预期结果判定1判定2覆盖的条件X=100,Y=90T=1Y1X=100,Y=50T=3NN2,5X=70,Y=100T=2NY3,6X=70,Y=80T=3NN