一、任务:实现UC3退货用例
任务A:实现POS系统退货功能。
基本需求及逻辑如下:
(1) 用户提出对1个销售订单中的一个产品或多个产品进行退货。
(2) 经理根据销售凭证(订单号或小票),找到退货产品,进行退货操作(生成退货交易号,记录对应订单号、退货时间、产品及数量、销售价格、退货原因、经手人等)
(3) 更新原订单及详细内容。(更改订单总额,修改订单中产品项状态为已退货)
(4) 支付退货费用。
任务B:按“课程设计文档模板”要求编写文档:
(1) 完善2.1 业务建模 (分析员完成)
(2) 完善2.2 需求规格说明 (分析员完成)
(3) 完善2.3 补充性规格说明(分析员完成)
(4) 完善4.3 相关的数据库(架构师完成)
二、要求:
(1)退货单:订单关系为1:1关系。
(2)退货单:产品关系为1:n关系。
三、制品交付:
(1) 程序提交的项目git。
(2) 文档发表在项目经理blog。
(3) 为方便指导老师评价程序,程序运行界面截图和测试报告发表在项目经理blog(另写一篇,测试员完成)。
交付时间:细化迭代4时间为2周(第9、10周),截止日期5月10日(第10周星期五) 24:00。
制品反馈见blog评论和git的issue。
附:为方便交流和分享,提供该阶段数据库表参考。各组可根据结合自己题目分析字段需求,修改和扩展表的字段。
主键可自增或UUID
-- ---------------------------- -- Table structure for `salereturn` -- ---------------------------- DROP TABLE IF EXISTS `salereturn`; CREATE TABLE `salereturn` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `SALERETURNNO` varchar(36) NOT NULL, `SALEORDER_ID` int(11) NOT NULL, `REASON` varchar(100) DEFAULT NULL, `TOTAL` double NOT NULL, `CREATDATETIME` datetime NOT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `SALERETURNNO` (`SALERETURNNO`), KEY `SALEORDER_ID` (`SALEORDER_ID`), CONSTRAINT `salereturn_ibfk_1` FOREIGN KEY (`SALEORDER_ID`) REFERENCES `saleorder` (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of salereturn -- ---------------------------- -- ---------------------------- -- Table structure for `salereturnitem` -- ---------------------------- DROP TABLE IF EXISTS `salereturnitem`; CREATE TABLE `salereturnitem` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `SALERETURN_ID` int(11) NOT NULL, `PRODUCT_ID` int(11) NOT NULL, `QUANTITY` double NOT NULL, `PRICE` double NOT NULL, PRIMARY KEY (`ID`), KEY `SALERETURN_ID` (`SALERETURN_ID`), KEY `PRODUCT_ID` (`PRODUCT_ID`), CONSTRAINT `salereturnitem_ibfk_2` FOREIGN KEY (`PRODUCT_ID`) REFERENCES `saleorderitem` (`PRODUCT_ID`), CONSTRAINT `salereturnitem_ibfk_1` FOREIGN KEY (`SALERETURN_ID`) REFERENCES `salereturn` (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;