一、任务:实现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;