首页 » 软件开发 » 创业CTO来分享:如何让技术人员写好开发文档?(客户短信获取反馈技术人员)

创业CTO来分享:如何让技术人员写好开发文档?(客户短信获取反馈技术人员)

神尊大人 2024-07-24 12:36:54 0

扫一扫用手机浏览

文章目录 [+]

本次不过多分享理论,而是通过分享我们团队新成员编写的第一份真正的开发文档,作为成例,给大家参考和借鉴。

对于新人,一开始就明确高标准、提高专业要求,是很有价值的。

需求背景

有一天,有位YesDev的企业客户和我们提到:“黄总, 上次说的客户管理的流程下,手工选择发送【反馈信息】,方式为短信,企业微信,钉钉,邮件。
四种方式的配置信息和客户管理进行 关联配置。
发送后有发送记录可以进行管理,检索和导出。
发送内容可以根据需求自动生成。
其中短信可以进行模板管理和分配,短信发送接口配置(建议阿里云短信)。

创业CTO来分享:如何让技术人员写好开发文档?(客户短信获取反馈技术人员) 软件开发
(图片来自网络侵删)

于是,我们产品经理整理并设计了以下的产品方案和PRD。

以下,则是对应的技术开发人员在完整需求开发的同时,编写整理的开发文档。
内容包含:开发分支、单元测试、SQL数据库变更、核心流程的时序图、新增的API接口、单元测试覆盖率报告、新增的配置文件等。

使用的研发协同工具

YesDev,一款更友好的研发协同工具。

开发文档成例分享需求背景

用户需要一个可以管理自己客户及客户联系人的功能,并且在需求需要反馈时,可以选择发短信或者邮件进行通知

仓库地址

https://codeup.aliyun.com/xxxxxxx/yesinew/yesinew_www.git使用的是codeup云效。
后端开发分支

mxh_test实现思路用户需要可以配置短信和邮箱服务的后台录入功能用户需要进行客户名单的管理,包括但不限于客户分组、客户管理、客户联系人等功能,并且对以上的功能可添加、编辑、删除以及查看前端需增加反馈功能模块,用户可以获取录好的客户名单,进行邮件/短信通知,并且记录反馈通知信息用户可以查看某个需求的发送给客户的反馈列表,也可以在企业管理后台,进行发送反馈记录的查看和导出记录新增接口(基于PhalApi开源接口框架)Platform.Customer_Customer.AddCustomer 添加客户Platform.Customer_Customer.AddCustomerContacts 新增客户联系人Platform.Customer_Customer.AddCustomerGroup 添加客户分组Platform.Customer_Customer.DeleteCustomer 删除客户Platform.Customer_Customer.DeleteCustomerContacts 删除客户联系人Platform.Customer_Customer.GetContactsListByCustomerId 根据客户ID获取联系人列表Platform.Customer_Customer.GetCustomerDetailLeftSideMenu 客户详情页左边栏Platform.Customer_Customer.GetCustomerGroupList 获取客户分组列表Platform.Customer_Customer.GetCustomerGroupOption 获取客户分组选项,用于select标签Platform.Customer_Customer.GetCustomerList 获取客户列表(用于分组下的客户名单管理)Platform.Customer_Customer.GetFeedbackContactsList 发送反馈时用到的客户联系人列表Platform.Customer_Customer.GetOneCustomer 获取单个客户Platform.Customer_Customer.GetOneCustomerContacts 获取单个客户联系人Platform.Customer_Customer.GetOneCustomerDetail 获取单个客户详情(用于客户详情页)Platform.Customer_Customer.UpdateCustomer 编辑客户Platform.Customer_Customer.UpdateCustomerContacts 编辑客户联系人Platform.Customer_Customer.UpdateCustomerGroup 编辑客户分组Platform.Customer_Feedback.GetFeedbackList 获取反馈列表(用于前端需求页面)Platform.Customer_Feedback.GetFeedbackListForAll 企业后台获取反馈列表Platform.Customer_Feedback.GetFeedbackListForAllExportData 反馈列表导出Platform.Customer_Feedback.GetFeedbackListForAllExportUrl 企业后台获取反馈列表导出链接Platform.Customer_Feedback.SendFeedback 发送反馈信息接口Platform.Sms_Sms.AddSmsConfig 添加短信配置Platform.Sms_Sms.AddSmsTemplate 添加短信模板Platform.Sms_Sms.DeleteSmsTemplate 删除单个短信模板Platform.Sms_Sms.GetOneSmsConfig 获取短信配置Platform.Sms_Sms.GetOneSmsTemplate 获取单个短信模板Platform.Sms_Sms.GetSmsTemplateDetailByMoudleId 根据短信模板ID和模块ID,来获取替换后的短信文本Platform.Sms_Sms.GetSmsTemplateList 获取短信模板列表Platform.Sms_Sms.GetSmsTemplateListByOpen 获取已开启的短信模板Platform.Sms_Sms.GetSmsTemplateParam 获取短信模板变量列表Platform.Sms_Sms.SendSmsTest 发送短信测试Platform.Sms_Sms.UpdateSmsConfig 修改短信配置Platform.Sms_Sms.UpdateSmsTemplate 更新单个短信模板Platform.Customer_Feedback.GetFeedbackList 获取反馈列表(用于前端)Platform.Customer_Feedback.GetFeedbackListForAll 企业后台获取反馈列表Platform.Customer_Feedback.GetFeedbackListForAllExportData 需求导出Platform.Customer_Feedback.GetFeedbackListForAllExportUrl 企业后台获取反馈列表导出链接Platform.Customer_Feedback.SendFeedback 发送反馈信息修改的接口Platform.Notes.CreateNewNote 添加新备注Platform.Notes.GetNoteListMoreInfo 获取备注列表Platform.AppSiteConfig_AppSiteConfig.AddOrUpdateAppSiteConfig 添加app配置设置文件变更(基于PhalApi开源接口框架)

config/sms.php | 22 +++data/phalapi_pro.sql | 101 ++++++++++src/app/Common/Api.php | 17 +-src/base/Common/Sms.php | 70 +++++++src/base/Common/ToolUtil.php | 67 +++++++src/base/Common/UrlUtil.php | 5 +src/base/Domain/AppSms.php | 73 ++++++++src/base/Domain/Base.php | 8 +-src/base/Domain/Customer.php | 348 ++++++++++++++++++++++++++++++----src/base/Domain/CustomerFeedback.php | 350 +++++++++++++++++++++++++++++++++++src/base/Domain/Notes.php | 11 +-src/base/Domain/Sms.php | 2 +-src/base/Domain/SmsConfig.php | 243 ++++++++++++++++++++++++src/base/Model/Customer.php | 5 +-src/base/Model/CustomerContacts.php | 5 +-src/base/Model/CustomerFeedback.php | 72 +++++++src/base/Model/CustomerGroup.php | 6 +-src/base/Model/SmsConfig.php | 11 ++src/base/Model/SmsTemplate.php | 11 ++src/platform/Api/AppSiteConfig/AppSiteConfig.php | 6 +-src/platform/Api/Customer/Customer.php | 218 +++++++++++++++++++++-src/platform/Api/Customer/Feedback.php | 150 +++++++++++++++src/platform/Api/Notes.php | 11 +-src/platform/Api/Sms/Sms.php | 184 +数据库变更(使用MySQL数据库)

DROP TABLE IF EXISTS `pp_sms_config`; CREATE TABLE `pp_sms_config` ( `id` int(11) NOT NULL AUTO_INCREMENT, `access_key` varchar(255) NOT NULL DEFAULT '' COMMENT '短信服务商的access_key', `access_secret` varchar(255) NOT NULL DEFAULT '' COMMENT '短信服务商的access_secret', `config_status` tinyint(2) NOT NULL DEFAULT 0 COMMENT '邮箱状态:1-开启 0-关闭', `admin_id` int(11) NOT NULL DEFAULT '0' COMMENT '管理员ID', `add_time` datetime DEFAULT NULL COMMENT '创建时间', `app_key` varchar(100) NOT NULL DEFAULT '公司标识', `created_staff_id` int(11) NOT NULL DEFAULT '0' COMMENT '创建员工ID', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT = '短信配置表'; DROP TABLE IF EXISTS `pp_sms_template`; CREATE TABLE `pp_sms_template` ( `id` int(11) NOT NULL AUTO_INCREMENT, `sms_sign` varchar(255) NOT NULL DEFAULT '' COMMENT '短信签名', `template_code` varchar(255) NOT NULL DEFAULT '' COMMENT '短信模板Code', `template_detail` text COMMENT '短信模板详情', `template_status` tinyint(2) NOT NULL DEFAULT 0 COMMENT '邮箱状态:1-开启 0-关闭', `admin_id` int(11) NOT NULL DEFAULT '0' COMMENT '管理员ID', `add_time` datetime DEFAULT NULL, `app_key` varchar(100) NOT NULL DEFAULT '', `created_staff_id` int(11) NOT NULL DEFAULT '0' COMMENT '员工ID', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT = '短信模板表'; DROP TABLE IF EXISTS `pp_customer_group`; CREATE TABLE `pp_customer_group` ( `id` int(11) NOT NULL AUTO_INCREMENT, `group_name` varchar(100) NOT NULL DEFAULT '' COMMENT '分组名称', `customer_num` int(10) NOT NULL DEFAULT 0 COMMENT '分组下的客户人数(冗余)', `admin_id` int(11) NOT NULL DEFAULT '0' COMMENT '管理员ID', `add_time` datetime DEFAULT NULL COMMENT '创建时间', `app_key` varchar(100) NOT NULL DEFAULT '公司标识', `created_staff_id` int(11) NOT NULL DEFAULT '0' COMMENT '员工ID', PRIMARY KEY (`id`) )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT = '客户分组表'; DROP TABLE IF EXISTS `pp_customer`; CREATE TABLE `pp_customer` ( `id` int(11) NOT NULL AUTO_INCREMENT, `customer_name` varchar(255) NOT NULL DEFAULT '' COMMENT '客户名称', `customer_level` varchar(20) NOT NULL DEFAULT 'A' COMMENT '客户等级,A-E', `group_id` int(10) NOT NULL DEFAULT 0 COMMENT '分组ID', `feedback_num` int(10) NOT NULL DEFAULT 0 COMMENT '反馈次数(冗余)', `customer_status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '客户状态:1-开启 0-隐藏', `customer_remark` text COMMENT '客户备注', `admin_id` int(11) NOT NULL DEFAULT '0' COMMENT '管理员ID', `add_time` datetime DEFAULT NULL COMMENT '创建时间', `app_key` varchar(100) NOT NULL DEFAULT '公司标识', `created_staff_id` int(11) NOT NULL DEFAULT '0' COMMENT '员工ID', PRIMARY KEY (`id`) )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT = '客户表';注意事项新增了./config/sms.php,

第71行 ./config/sms.php 新增模块客户反馈,需要在两个表配置权限

INSERT INTO `pp_operation`(`id`, `project`, `path`, `title`, `white_list`) VALUES (440, 'platform', '/customer', '主模块 - 客户管理', NULL);INSERT INTO `pp_operation`(`id`, `project`, `path`, `title`, `white_list`) VALUES (441, 'platform', '/customer/list', '客户管理模块 - 客户列表', NULL);INSERT INTO `pp_operation`(`id`, `project`, `path`, `title`, `white_list`) VALUES (442, 'platform', '/customer/detail', '客户管理模块 - 客户详情', NULL);INSERT INTO `pp_operation`(`id`, `project`, `path`, `title`, `white_list`) VALUES (443, 'platform', '/customer/feedback', '客户管理模块 - 客户反馈记录', NULL);INSERT INTO `pp_operation`(`id`, `project`, `path`, `title`, `white_list`) VALUES (444, 'platform', '/service-config/sms', '服务配置 - 短信服务配置', NULL);单元测试(使用PHPUnit)

邮件/短信发送的时序图(使用ProcessOn等工具可在线制作UML)

最终实现的效果截图(在YesDev可免费体验和真实使用)

登录后选择你的研发团队,

在企业管理后台,录入客户信息,

配置短信通道和通知文案,

最后,在前台可以进行邮件通知反馈,

也可以进行短信的通知反馈。

相关文章

语言中的借用,文化交融的桥梁

自古以来,人类社会的交流与发展离不开语言的传播。在漫长的历史长河中,各民族、各地区之间的文化相互碰撞、交融,产生了许多独特的语言现...

软件开发 2025-01-01 阅读1 评论0

机顶盒协议,守护数字生活的新卫士

随着科技的飞速发展,数字家庭逐渐走进千家万户。在这个时代,机顶盒成为了连接我们与丰富多彩的数字世界的重要桥梁。而机顶盒协议,作为保...

软件开发 2025-01-01 阅读1 评论0

语言基础在现代社会的重要性及方法步骤

语言是人类沟通的桥梁,是社会发展的基础。语言基础作为语言学习的基石,对于个人、社会乃至国家的发展具有重要意义。本文将从语言基础在现...

软件开发 2025-01-01 阅读2 评论0

粤语电影,传承文化,点亮时代之光

粤语电影,作为中国电影产业的一朵奇葩,以其独特的地域特色、丰富的文化内涵和鲜明的艺术风格,赢得了广大观众的喜爱。本文将从粤语电影的...

软件开发 2025-01-01 阅读3 评论0

苹果游戏语言,塑造未来娱乐体验的基石

随着科技的飞速发展,游戏产业逐渐成为全球娱乐市场的重要支柱。在我国,游戏产业更是蓬勃发展,吸引了无数玩家和投资者的目光。而在这其中...

软件开发 2025-01-01 阅读1 评论0