AI+软件工程:10倍提效!用ChatGPT编写系统功能文档

news2024/9/24 13:23:57

系统功能文档是一种描述软件系统功能和操作方式的文档。它让开发团队、测试人员、项目管理者、客户和最终用户对系统行为有清晰、全面的了解。

通过ChatGPT,我们能让编写系统功能文档的效率提升10倍以上。

​《Leetcode算法刷题宝典》一位阿里P8大佬总结的刷题笔记。
《大厂Java面试题汇总及详解》进大厂必看。
《架构学习资料大礼包》早日成为百万年薪架构师。
《AI学习资料大礼包》学习AI抢占先机。
请到下面公号【架构师汤师爷】取↓↓↓

用ChatGPT生成系统功能文档

我们以线上商城系统为例,介绍如何使用ChatGPT帮我们完成系统功能文档编写。

向ChatGPT发送如下请求:

# 角色:系统功能文档撰写专家

## 背景:
系统功能文档撰写

## 注意事项:
编写高质量的系统功能文档,是确保项目成功的关键步骤。

## 技能:
- 熟练运用各类文档组织格式。
- 善于从客户视角考虑需求。
- 能够捕捉用户需求,将其转化为明确的功能要求。
- 精通系统功能的业务与技术细节。
- 具备逻辑思维,能够编写合理的实现逻辑和功能细节描述。

## 目标:
- 设计一个规范的系统功能文档框架,确保每个功能需求都得到明确描述。
- 在文档中包含功能名、需求描述、概述、功能细节描述。

## 工作流程:
1. 首先,用话术引导用户输入系统需求描述,理解用户的期望和项目目标。
2. 设计一个明确的系统功能文档框架,包含功能名、需求描述、概述、功能细节描述。
   
## 输出格式:
- 功能名:[功能名]
- 需求描述:[需求描述]
- 概述:[概述]
- 功能细节描述:[功能细节描述]

## 初始化
简介自己, 引导用户输入对系统的需求描述,全程使用中文描述。

ChatGPT回答如下:

您好!作为系统功能文档撰写专家,我在这里帮助您把系统需求转化为清晰、详尽的文档,确保项目成功实施。我将运用我的专业技能,从客户的视角出发,精准捕捉需求,并将其转化为明确的功能要求,同时确保文档的高质量和易于理解。

请您描述一下您希望实现的系统需求,包括您希望通过这个系统解决的问题、期望实现的功能等。这样我可以更好地理解您的项目目标,并为您设计一个规范的系统功能文档框架。

向ChatGPT发送如下请求:

我们要开发一个线上商城系统,需求如下:
- C端功能包括:品牌首页、基于LBS进店、加购、订单列表、结算、下单、支付、个人中心。
- B端功能包括:组织管理、渠道管理、客户管理、店铺装修、商品管理、B端管理、库存管理、订单管理、营销管理、配送管理、数据分析。
帮我生成一份详细的系统功能文档。

ChatGPT回答如下:

C端功能需求文档

1. 功能名:品牌首页

- 需求描述:为用户提供品牌介绍、主打商品展示、活动宣传等信息的入口页面。
- 概述:首页需要具有吸引用户并提供品牌信息的设计,包含搜索、分类浏览等功能,优化用户的访问体验。
- 功能细节描述:实现轮播图广告、热门商品推荐、品牌故事介绍等模块。支持用户搜索商品、查看各类商品分类。

2. 功能名:基于LBS的进店

- 需求描述:允许用户根据地理位置信息选择最近的店铺进行浏览和购买。
- 概述:通过LBS技术,推荐用户周围的店铺,提升用户体验和购买转化率。
- 功能细节描述:获取用户授权的位置信息,展示用户当前位置附近的店铺列表,支持店铺搜索和选择。

3. 功能名:加购

- 需求描述:用户可以将心仪的商品添加到购物车中。
- 概述:为用户提供便捷的商品浏览和加购体验,支持多商品加购和购物车管理。
- 功能细节描述:实现加购按钮、购物车商品数量编辑、购物车列表展示、商品选中结算等功能。

4. 功能名:订单列表

- 需求描述:允许用户查看其所有订单的状态和详情。
- 概述:提供一个用户友好的界面,展示用户的订单历史,包括正在进行、已完成、已取消等状态的订单。
- 功能细节描述:实现订单筛选功能,支持按照订单状态、下单时间等条件筛选。每个订单项需显示订单号、下单时间、商品详情、订单状态、支付金额等信息。

5. 功能名:结算

- 需求描述:用户在购物车选择商品后,进行订单确认和支付前的最后一步操作。
- 概述:为用户提供一个清晰的结算页面,展示所购商品详情、价格、预计配送时间等信息,并允许用户选择支付方式。
- 功能细节描述:包括商品列表、数量选择、价格汇总、优惠券使用、收货地址选择、支付方式选择等功能。

6. 功能名:下单

- 需求描述:用户完成商品选择和支付信息填写后,创建订单。
- 概述:确保用户能够轻松地完成订单创建,包括核对订单信息、选择配送选项、确认支付等步骤。
- 功能细节描述:生成订单摘要,包括商品详情、订单总额、支付信息、配送信息。支持不同的支付方式,包括但不限于信用卡、支付宝、微信支付等。

7. 功能名:支付

- 需求描述:为用户提供多种支付方式,完成订单支付。
- 概述:实现安全、便捷的支付流程,确保用户信息安全。
- 功能细节描述:集成第三方支付平台,支持支付状态查询和回调处理,确保支付成功后更新订单状态。

8. 功能名:个人中心

- 需求描述:允许用户管理个人信息、查看订单历史、管理收货地址等。
- 概述:提供一个个性化的用户界面,方便用户访问和管理个人相关信息。
- 功能细节描述:实现个人信息编辑、密码修改、订单历史查看、收货地址管理、支付方式管理等功能。

B端功能需求文档

1. 功能名:组织管理

- 需求描述:允许商城管理员配置和管理组织结构,包括部门、员工角色等。
- 概述:提供一个界面让管理员能够方便地管理公司的组织架构。
- 功能细节描述:实现组织架构的创建、编辑、删除功能;员工的添加、角色分配、权限设置等功能。

2. 功能名:渠道管理

- 需求描述:管理销售渠道和合作伙伴信息。
- 概述:为商城提供渠道拓展和渠道维护的管理功能。
- 功能细节描述:实现渠道信息录入、编辑、渠道业绩追踪、合作伙伴管理等功能。

3. 功能名:客户管理

- 需求描述:允许企业用户管理其客户信息,包括客户资料的录入、编辑和查询。
- 概述:为B端用户提供一个完整的客户信息管理系统,增强客户关系管理能力。
- 功能细节描述:客户信息的录入、编辑、删除功能;支持按照客户名、联系方式等条件搜索客户;客户购买历史和偏好分析等。

4. 功能名:店铺装修

- 需求描述:允许B端用户自定义店铺的布局和样式。
- 概述:提供一套灵活的店铺装修工具,支持拖拽布局、模板选择等功能,无需编程知识。
- 功能细节描述:支持多种布局模板选择,自定义颜色方案、字体选择;轮播图、商品展示区、促销活动板块等可自定义编辑。

5. 功能名:商品管理

- 需求描述:允许B端用户添加、编辑和管理销售的商品。
- 概述:提供一个界面以支持商品信息的完整管理,包括商品详情、价格、库存、分类等。
- 功能细节描述:实现商品信息的添加、编辑、删除功能;支持商品分类管理;实现库存管理功能,包括库存数量的调整和库存预警;支持商品图片上传和编辑。

6. 功能名:库存管理

- 需求描述:为B端用户提供库存量的监控和管理功能。
- 概述:确保用户可以实时了解商品库存情况,及时补充库存,避免缺货。
- 功能细节描述:展示各商品的当前库存量;支持库存的手动调整;实现库存预警设置,当库存低于预设阈值时自动提醒用户。

7. 功能名:订单管理

- 需求描述:允许B端用户查看、处理和管理客户订单。
- 概述:为用户提供订单的详细列表,包括订单状态、支付情况、配送信息等。
- 功能细节描述:实现订单详情查看,包括商品信息、订单金额、客户信息等;支持订单状态管理,如确认订单、取消订单、退货处理等;集成配送管理功能,包括配送方式选择、配送状态跟踪。

8. 功能名:营销管理

- 需求描述:为B端用户提供营销活动的创建、管理和分析工具。
- 概述:支持多种营销活动类型,如折扣、优惠券、积分奖励等,以提升销售额和客户粘性。
- 功能细节描述:实现营销活动的创建和设置,包括活动类型、时间、适用商品等;提供营销效果分析,如参与度、销售提升等指标的跟踪评估。

9. 功能名:配送管理

- 需求描述:允许B端用户管理商品的配送方式和配送状态。
- 概述:提供一个界面以支持对订单的配送方式选择、配送进度跟踪和管理。
- 功能细节描述:支持配送方式的设置和选择,如快递、自提等;实现配送进度的实时跟踪和更新;支持与第三方物流平台的集成,自动化配送流程。

10. 功能名:数据分析

- 需求描述:为B端用户提供销售数据和客户行为分析。
- 概述:通过数据分析帮助用户了解业务表现,指导决策。
- 功能细节描述:实现销售数据的汇总和分析,包括销售额、订单量、热销商品等;客户行为分析,如购买习惯、偏好分析等;支持自定义报表功能,便于用户根据需要生成各种分析报告。

通过ChatGPT,我们能生成详细的系统功能文档。基于这个,我们可以进一步修改和调整,极大地提高了写文档的效率。

用ChatGPT生成用例图

用例图是统一建模语言(UML)的一部分,用于描述系统的功能以及与之交互的外部实体(如人、系统或设备)。

它是一种图形表示法,用于展示系统的行为,通过展示参与者(actors)与系统的用例(use cases)之间的关系来实现。

用例图主要用于找出功能需求,并帮助团队理解系统提供的功能。用例图的主要元素包括:

用例(Use Cases):表示系统的一项功能或者一组功能,通常用椭圆形来表示。用例是从用户的角度出发,描述了用户可以通过系统完成的一个任务或者目标。

参与者(Actors):表示与系统交互的外部实体,可以是人、系统或设备。参与者通过与用例的交互来完成某些目标。

关系(Relationships):用来描述参与者与用例之间的交互关系,以及用例之间的关系。主要有以下几种类型:

  • 关联(Association):直接连接参与者和用例,表示参与者参与用例的交互。
  • 包含(Include):表示一个用例的执行包含另一个用例的执行。
  • 扩展(Extend):表示一个用例的执行可能扩展或增加另一个用例的行为。
  • 泛化(Generalization):表示参与者或用例之间的继承关系。

用例图主要用于需求分析阶段,帮助项目团队和客户之间建立共同的理解,以确保软件完全满足用户需求。它为开发过程提供了一个清晰的功能视图,同时也是沟通、讨论和计划的基础。

ChatGPT与PlantUML结合后,可以生成各种UML图表。接下来,我们使用ChatGPT生PlantUML语言描述的用例图。

向ChatGPT发送如下请求:

上文中已确定线上商城系统功能,请使用PlantUML语言帮我绘制用例图。

ChatGPT回答如下:

@startuml
left to right direction
skinparam packageStyle rectangle

actor C端用户 as cuser
actor B端用户 as buser

rectangle C端功能 {
  (品牌首页) as (HomePage) 
  (基于LBS进店) as (LBSStore)
  (加购) as (AddToCart)
  (订单列表) as (OrderList)
  (结算) as (Checkout)
  (下单) as (PlaceOrder)
  (支付) as (Payment)
  (个人中心) as (UserProfile)
}

rectangle B端功能 {
  (组织管理) as (OrgManagement)
  (渠道管理) as (ChannelManagement)
  (客户管理) as (CustomerManagement)
  (店铺装修) as (StoreDecoration)
  (商品管理) as (ProductManagement)
  (B端管理) as (BManagement)
  (库存管理) as (InventoryManagement)
  (订单管理) as (OrderManagementB)
  (营销管理) as (MarketingManagement)
  (配送管理) as (DistributionManagement)
  (数据分析) as (DataAnalysis)
}

cuser --> HomePage : 浏览
cuser --> LBSStore : 定位与推荐
cuser --> AddToCart : 添加商品
cuser --> OrderList : 查看订单
cuser --> Checkout : 进行结算
cuser --> PlaceOrder : 下单
cuser --> Payment : 支付
cuser --> UserProfile : 管理个人信息

buser --> OrgManagement : 组织架构管理
buser --> ChannelManagement : 渠道策略管理
buser --> CustomerManagement : 客户信息管理
buser --> StoreDecoration : 装修店铺
buser --> ProductManagement : 管理商品
buser --> BManagement : 管理B端用户
buser --> InventoryManagement : 监控库存
buser --> OrderManagementB : 处理订单
buser --> MarketingManagement : 执行营销活动
buser --> DistributionManagement : 管理配送
buser --> DataAnalysis : 进行数据分析

@enduml

用drawio绘制用例图

接下来,我们要使用drawio神器,绘制用例图。登录https://app.diagrams.net/,点击➕,选择高级→PlantUML。

将上文中的PlantUML代码,贴入文本框,点击插入。

线上商城系统的用例图就自动绘制好啦,是不是效率提升非常多~

​《Leetcode算法刷题宝典》一位阿里P8大佬总结的刷题笔记。
《大厂Java面试题汇总及详解》进大厂必看。
《架构学习资料大礼包》早日成为百万年薪架构师。
《AI学习资料大礼包》学习AI抢占先机。
请到下面公号【架构师汤师爷】取↓↓↓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1542685.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文看懂,高端及大流量停车场如何选择合适的道闸管理系统?

在当今快速发展的城市环境中,停车场的管理和运营已成为城市基础设施建设的重要组成部分。不同类型的停车场,如大流量停车场和高端停车场,面临着各自独特的挑战和需求。为了确保停车场的高效运营和良好的用户体验,选择合适的道闸管…

在ubuntu22.04系统上用pycharm编写第一个ros2程序

1.打开终端(快捷键altctrlt),创建工作空间,工作空间就是文件夹 2.创建一个功能包 打开pycharm的终端(altf12) 3.创建节点文件 在village_li文件夹右键新建li4.py 4.在li4.py编写代码 5.在setup.py里面添加…

Ubuntu Desktop 安装谷歌拼音输入法

Ubuntu Desktop 安装谷歌拼音输入法 1. Installation1.1. 汉语语言包​1.2. 谷歌拼音输入法1.3. 安装语言包1.4. 键盘输入方式系统1.5. 重启电脑1.6. 输入法配置 2. configuration2.1. Text Entry Settings… 3. ExecutionReferences 1. Installation 1.1. 汉语语言包 strong…

淘宝海外获取tglobal跨境商品原数据 API 返回值说明

一、应用场景 宝海外获取TGlobal跨境商品原数据API的应用场景相当广泛,涵盖了多个领域和行业。以下是一些主要的应用场景: 跨境电商平台:跨境电商平台可以通过此API获取全球范围内的商品信息,从而丰富平台上的商品种类&#xff…

边缘计算基础介绍及AKamai-linode产品分析

1、背景 随着互联网的发展,我们进入了大数据时代,这个时代也是移动互联网的时代,而且这个时代,大量的线下服务走到线上,随之而来的,比如外卖、叫车……于是,有各种各样的 App 和设备在收集你的…

如何打破SAST代码审计工具的局限性?

关键词:白盒测试;代码分析工具;代码扫描工具;静态代码检测工具; 在代码的世界里,安全问题如同潜伏的暗礁,随时可能让航行中的软件项目触礁沉没。SAST代码审计工具如同雷达一样,以其独…

Python - 深度学习系列30 - 使用LLaMA-Factory微调模型

说明 最实用的一种利用大语言模型的方式是进行微调。预训练模型与我们的使用场景一定会存在一些差异,而我们又不可能重头训练。 微调的原理并不复杂,载入模型,灌新的数据,然后运行再训练,保留checkpoints。但是不同项…

Cobalt Strike -- 各种beacon

今天来讲一下cs里面的beacon 其实cs真的功能很强大,自带代理创建,自带beacon通信!!! 一张图,就能说明beacon的工作原理 1.Beacon 每当有一台机器上线之后,我们都会选择sleep时间,…

PCI产业概述和产业发展动态分享

atsec白海蔚 2024年3月底 关键词:支付卡产业、PCI DSS、数据安全、支付交易 本文为atsec和作者技术共享类文章,旨在共同探讨信息安全的相关话题。转载请注明:atsec和作者名称。 *如有兴趣了解早期产业信息请参见作者于2021年4月发布信息&a…

数据在内存里面的存储

学习流程 ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————…

SOC子模块---RTC and watchdog

RTC RTC大致执行过程: 对SOC 中的锁相环或者外部晶振的时钟进行计数;产生时,分,秒的中断;送给中断控制器;中断控制器进行优先权选择后送给cpu;Cpu执行中断服务程序;在中断服务程序…

吴恩达深度学习笔记:神经网络的编程基础2.15-2.17

目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第二周:神经网络的编程基础 (Basics of Neural Network programming)2.15 Python 中的广播(Broadcasting in Python)2.16 关于 python _ numpy 向量的说明&…

Java中的代理模式(动态代理和静态代理)

代理模式 我们先了解一下代理模式: 在开发中,当我们要访问目标类时,不是直接访问目标类,而是访问器代理类。通过代理类调用目标类完成操作。简单来说就是:把直接访问变为间接访问。 这样做的最大好处就是&#xff1a…

UE5 LiveLink 自动连接数据源,以及打包后不能收到udp消息的解决办法

为什么要自动连接数据源,因为方便打包后接收数据,这里我是写在了Game Instance,也可以写在其他地方,自行替换成Beginplay和Endplay 关于编辑器模式下能收到udp消息,打包后不能收到消息的问题有两点需要排查,启动打包后…

数据结构·排序

1. 排序的概念及运用 1.1 排序的概念 排序:排序是将一组“无序”的记录序列,按照某个或某些关键字的大小,递增或递减归零调整为“有序”的记录序列的操作 稳定性:假定在待排序的记录序列中,存在多个具有相同关键字的记…

大数据技术原理与应用 01.大数据概述

不可以垂头丧气,会显矮 —— 24.3.24 参考学习:厦门大学 林子雨老师 大数据技术原理与应用 一、大数据时代 大数据概念、影响、应用、关键技术 大数据与云计算、物联网的关系 ①三次信息化浪潮时代 ②第三次信息化浪潮的技术支撑 1>存储设备容量不断…

PWM实现电机的正反转和调速以及TIM定时器

pwm.c #include "pwm.h"/* PWM --- PA2 --TIM2_CH3 //将电机信号控制一根接GND,一根接在PA2(TIM2_CH3), 输出PWM控制电机快慢 TIM2挂在APB1 定时器频率:84MHZ*/ void Pwm_Init(void) {GPIO_InitTypeDef GPIO_InitStruct;TIM_TimeBaseInitT…

查询所有进程及线程端口占用情况,并关闭某端口的方法

** 查询所有进程及线程端口占用情况,并关闭某端口的方法 ** 1、windows 查系统下( cmd 模式下): 1)查询当前系统所有网络连接和监听端口以及对应的进程标识(PID): netstat -aon…

QT----基于QT的人脸考勤系统ubuntu系统运行,编译开发板

目录 1 Ubantu编译opencv和seetaface库1.1 Ubantu编译opencv1.2 Ubuntu编译seetaface1.3 安装qt 2 更改代码2.1 直接运行报错/usr/bin/ld: cannot find -lGL: No such file or directory2.2 遇到报错摄像头打不开2.3 修改部分代码2.4 解决中文语音输出问题 3 尝试交叉编译rk358…

电脑哥的励志创业路:蹭别人的电脑做抖店

我是王路飞。 没有一步到位的创业项目,也没有一击必中的解决方法,有的只是需要时刻解决的当下问题。 做事/创业/成长/生活/人生,都不要追求百分百的圆满,不要抱有一帆风顺的幻想,不要期待十全十美的结果。 它们的第…