利用AIGC生成软件的设计文档

文档撰写是程序员的另一个最大痛点,许多程序员宁愿写更多的代码也不愿写一行文档。

这可能是跟人脑的工作方式有关,写程序是利用左脑,注重逻辑思维,而写文档则是利用右脑,注重发散思维。这截然不同的思维方式是很多程序员不擅长写文档的一个原因。

软件文档是过程管理的产物,是软件质量的另一种体现,是软件开发中不可缺少的部分。我们需要文档来记录软件相关信息、沟通开发人员与客户的需求、软件设计等内容。

6a65d7881ccb2db5a534e42d603e5643.jpeg

如果在互联网上搜索,或者直接询问ChatGPT通过一句话描述生成软件的需求规格说明,概要设计文档和详细设计文档,大多会得到模板化的回答,实际的用处不大。我们关注的重点是用户和程序员的真正关心的内容,对需求的描述进行分析,产生实际意义的设计模型。

通过AI大模型,我们确实可以利用文档的自动生成来减少文档工作。然而软件的文档并不是独立的,而是一组相关文档的集合。这就需要大量的AI提示词,并且这些提示词之间具有一定的逻辑关系。因此我们可以建立一个软件的设计元模型,充当AI提示词的作用,生成一致的文档体系。

下面是对软件的常用文档类型进行提示设计

1.需求规格说明 

主要记录软件的功能需求、非功能要求(例如性能、安装需求等)和其他规范性需求。通常由产品经理撰写,以确保软件开发符合客户的期望。其中功能需求是需求规格说明的难点,也是核心内容,其他的需求通常都有很多套话和模板。

这里的提示词是

对用户的需求描述进行分析分解为若干业务流程,业务流程包括用户角色,流程步骤和具体操作。每个业务流程都有多个步骤,每个步骤都有一个角色,每个角色对界面进行一系列的操作,查看或者处理领域中的数据模型。

 2.概要设计文档 

这个文档记录了软件的运行流程、架构、系统设计和相关算法。通常由产品设计相关人员来撰写。概要设计中架构信息一般也有固定和现场的模板,复杂和难点在于功能菜单的设计。菜单是一个层次的树状模型,一般情况下叶子菜单会对应具体的界面操作。对于界面原型,ChatGPT目前还无法画出,因此这里只做描述。

这里的提示词是

根据用户需求列出整个菜单结构,详细描述每个菜单对应的界面,并列出界面中的界面要素如按钮,表格,图表等展示和交互的组件。

 3.详细设计文档 

主要记录了软件系统的实现细节,包括类图设计、数据库设计、接口设计等信息。通常由开发人员本身编写。其中类图,ER图等目前ChatGPT也无法直接画出,因此也是详细描述。

这里的提示词是详细描述用户需求中的数据模型和服务接口,其中数据模型是对应于数据库的设计,列出需求中所有的数据表结构以及包含的字段信息。服务接口是对数据模型进行操作的HTTP协议的网络接口,接口类型一般为POST,通过网络接口可以对数据进行增删改查,请列举出相应的服务接口。

 4.软件测试文档 

通常记录软件测试的用例、测试计划、测试报告等内容。包括单元测试,集成测试等。用于确保软件的正确性、完整性、可靠性和性能。在单元测试中一般是针对功能菜单中的界面要素进行测试,而集成测试则针对业务流程进行测试,测试报告需要根据测试结果进行统计,因此只利用ChatGPT来编写测试用例。

这里的提示词是根据上述功能菜单中的界面信息编写单元测试用例,针对界面中的要素设计用例中的操作。根据上述需求规格中的业务流程中的步骤操作编写流程测试的用例。每个步骤作为一个用例,步骤中的操作过程则是用例的具体操作细节。

5.软件用户手册 

为最终用户提供了软件的详细使用说明,通常是基于带有图形用户界面的应用程序进行编写。一般情况下用户手册的内容分为两个部分,一个是功能说明,一个是操作流程。

这里的提示词是根据上述功能菜单,分别描述每个功能模块。然后再根据需求规格中的流程模型,描述每个流程,并在流程步骤的操作中涉及界面的地方插入菜单界面的描述和设计数据模型的地方插入数据结构的描述。

 

往期文章链接:

AI低代码开发宣言:一场新的软件工程革命

AI低代码开发宣言之核心:编程的粒度

AI低代码开发宣言之过程:软件工程化

代码可读性是AI低代码开发的关键所在

面向AIGC的开发组件体系设计

再厉害的程序员都有这三个痛点,然而它没有

从五个维度比较:代码、无代码、低代码、AI提示代码、AI低代码

AI是为人类写代码还是为自己写代码?

原创 | 作者 | 薛丹,国防科技大学博士,资深程序员。版权所有,转载须联系授权并注明来源

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信销售技巧和话术

微信销售的过程就是将意向客户转化为成交客户的过程,最有效的方法就是抓住客户的心理需求,运用一些技巧和话术促成成单。 前言 微信销售话术,其实就是说服技巧,说服有意向客户转化为成交客户,这其中需要销售人员向客户…

10秒开场打动客户!外贸电话营销攻略和话术请查收

在外贸业务工作当中,电话是一个非常重要也非常有效的沟通手段。开场白目的是为了争取到沟通的机会。销售人员要在10秒内,引起客户的兴趣,否则客户就会走神和不耐烦,甚至直接挂断电话。短短的10秒,要说点什么&#xff0…

ChatGPT python 实现水环境可视化

在水环境实际分析中,往往要对采样数据进行可视化,方便分析判断。 现在有了chatgpt 可以更快更好的完成这一任务。 监测数据如下: 将数据直接发给chatgpt 提出需求,越精细越好。 他回答并返回结果: import pandas as…

chatgpt赋能python:Python动态实时轨迹绘图:让数据可视化更生动

Python 动态实时轨迹绘图:让数据可视化更生动 数据可视化是现代数据分析中不可或缺的一部分。在Python语言中,有许多工具和库可以帮助我们将数据转化为可视化的图表。然而,有些情况下,静态图表难以准确有效地展现数据的变化趋势和…

个人电子邮箱你都有哪个?微信能收发邮件吗?

每个人至少有一个属于自己的私人邮箱,像我的邮箱有qq、163、TOM VIP、gmail、yahoo等,每个都有不同的用途。我是不会一个个登陆查收邮件的,我常用的是无限容量的TOM VIP邮箱,而且我会把所有邮箱都绑定到客户端,统一收取…

如何通过微信上发送邮件呢,有用过的吗?

近几年,PC端的办公场景越来越多的被移动端所替代,移动化办公早已成为新的潮流趋势,电子邮箱同样不例外,除了目前已知的客户端APP外,基于微信平台的收发邮件是更“酷”的一种潮流选择。今天要分享下很多朋友提出的疑问如…

如何在微信收发邮件,邮箱品牌有哪些?

出差在外,面对紧急要处理,没有电脑极其不便。若有一款能在微信收发邮件的便捷产品,走到哪里,随时随地快速编辑传输,办公效率会大大提升。笔者最近发现TOM VIP邮箱的移动办公小助手,几乎集合了邮箱中所有便捷…

解决微信公众号注册提示“邮箱已被占用”(亲测)

背景 需要做第三方登录,微信扫码登录 需求分析 https://open.weixin.qq.com/ 前往注册 微信公众号注册提示“邮箱已被占用” 解决方案 用你QQ邮箱不同的名字注册(在邮箱设置-账户查看)

常用VIP邮箱有哪些功能?微信能接收邮件吗?

邮箱是人们日常生活的宠儿,免费邮箱几乎每个人都拥有。但是,容量小,传不了超大附件,时而接收不到消息,限制了很多人的使用。TOM VIP邮箱,众多功能,让您收发更无忧! 1、大空间无限容…

微信的“QQ邮箱提醒”接收发往网易163邮件

笔者想在微信实现163邮件提醒功能。搜寻网易163的公众号和小程序,都不能实现邮件提醒。后来发现可以在qq邮箱中设置接收发往163的邮件,然后在微信的“QQ邮箱提醒”提醒出来。 实现效果如下:(效果不是很明显,但可以在发…

微信公众号发送客服消息---菜单消息,卡片消息

工作中遇到公众号发送客服消息,让用户点击选择。查看了微信开发者文档,发现“菜单消息” 可以满足,但是用户接收到的样式的确很难看,所以就想可不可以改变其样式来达到一种卡片式的消息。 先不说别的,先上微信客服消息…

微信可以用邮箱吗?邮箱无法分享到微信怎么办?微信邮箱从哪找呢

微信可以用邮箱吗,电子邮箱和微信都是我们日常最常用到的通讯方式,对于常用邮箱的朋友,经常会面临邮件需要微信同步给好友的情况。针对邮箱无法分享到微信怎么办的问题,今天让我们一起来了解下吧! 邮箱到底能否在微信…

微信公众号发送消息给用户 php

1.微信公众号 这里得话 一开始先去看了 微信公众号的接口 发现网页授权需要时认证的服务号,一开始想的是那去申请一个认证的服务号岂不是很费事,然后网上搜了搜,发现了还有微信公众号个人测试号这个东西,所有的接口都可以使用&…

如何使用微信收发企业邮箱邮件

使用微信服务号来收发企业邮箱,下面介绍一下相关教程 微信官方规定“接入服务器地址”只能为www主机名,否则不能进行OAuth2.0鉴权(即邮件来信提醒功能、登录邮箱界面用不了),而且端口规定只能用80和443。另外文档中以…

以太坊钱包私钥爆破产业链和攻击案例

一:产业链频道:小飞机搜索"BRUTE_FORCE_CRYPTO_WALLET" 2、github项目(有成熟的工具)GitHub - Houzich/CUDA-GPU-Brute-Force-Mnemonic-Old-Electrum-V1: CUDA-GPU-Brute-Force-Mnemonic-Old-Electrum-V1 3、揭秘以太坊 Vanity 生成器 Profanity 私钥破解…

Android使用postman实现模拟api接口

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情 文章目录 简介postman 简介 在开发过程中涉及到前端和后台的交互,那就是api接口。 前端的需求是api接口定义好以后,能够有数据返回&#x…

使用钉钉Api 向企业群发送文件 python

由于钉钉群机器人推送消息类型只支持text,link,markdown等形式,因此我们需要使用钉钉的接口来实现媒体文件的发送。 目录 获取身份验证参数上传媒体文件发送消息获取chatid 注意事项 获取身份验证参数 钉钉开放文档中可以看到我们上传媒体文…

php 使用钉钉机器人推送消息

机器人发送消息频率限制 消息发送太频繁会严重影响群成员的使用体验,大量发消息的场景(譬如系统监控报警)可以将这些信息进行整合,通过markdown消息以摘要的形式发送到群里。 每个机器人每分钟最多发送20条。如果超过20条&#x…

应用系统与钉钉集成案例及操作步骤

1、准备钉钉应用 1.1、注册钉钉账号 作为钉钉的企业管理员,首先登录钉钉官网,注册一个钉钉账号。 如果已经有账号,则直接使用即可。 钉钉官网:https://www.dingtalk.com/ 1.2、开通企业团队 企业管理员使用账号登录钉钉。 如…

钉钉新版服务端修改流程Task状态( 同意或拒绝审批流程 )API调用的大坑

文章目录 1.背景2.新版服务端的java依赖3.接入流程3.1 创建企业内部应用3.2 获取AppKey和AppSecret3.3 添加接口权限3.4 获取应用访问凭证accessToken3.5 调用服务端OA相关API 4.问题及其解决办法5.新版API相关代码分享 1.背景 由于之前做了一个财务收付款关联管理的项目中接入…