ChatGPT 设计一个财产选购系统软件并绘制 Mermai

lxf2023-03-09 13:33:01

ChatGPT 的受众度不断增加,如今被广泛用于各种各样应用软件。作为一名全栈工程师,基于对技术性的向往,应用 ChatGPT 来探究一些可能性的应用场所,本文就来探寻 ChatGPT 设计一个财产选购系统软件并绘制 Mermaid 流程表,开始前介绍一下 Mermaid。

什么叫 Mermaid

Mermaid 是一个根据 JavaScript 的数据图表制作专用工具,根据分析类 Markdown 的文字词法来达到数据图表的建立和动态改动。Mermaid 问世的主要目的是让文档升级能及时紧跟项目进度。

可以直接确认一下 ChatGPT 能否为实例表述生成图表并数据分析表影响因素。登陆到 chat.openai.com,下面来打开会话。

第 1 步:使我们界定测试用例

原本可以界定自已的测试用例,但能先检测 ChatGPT 的在这个方面主要表现,这就要求它首先来界定一个。

ChatGPT 设计一个财产选购系统软件并绘制 Mermai

第 2 步:使我们会用例界定一个数据库系统

看着不错,那样先从定义数组实体模型逐渐,因此让 ChatGPT 做,以下是结论:

ChatGPT 设计一个财产选购系统软件并绘制 Mermai

以下是 ChatGPT 所提供的测试用例实体模型文件格式

Use Case:
- Name:
- Description:

Actor:
- Name:
- Description:

Preconditions:
- Preconditions 1
- Preconditions 2
...

Steps:
1. Step 1
2. Step 2
...
n. Step n

Postconditions:
- Postcondition 1
- Postcondition 2
...

Exceptions:
- Exception 1
- Exception 2
...

Extensions:
- Extension 1
- Extension 2
...

这样的实体模型能够根据具体的测试用例开展拓展和调整,以满足要求分析与设计过程中的实际需求。

看着不错,下面看一下它能够为数据图表干什么。更深入地科学研究数据库系统,因此下一个提醒是:

再次提出问题:更详细地叙述数据库系统或使用 Markdown 的表格样式

ChatGPT:下列是一个更详细的测试用例数据库系统,应用 Markdown 的表格样式开展叙述:

ChatGPT 设计一个财产选购系统软件并绘制 Mermai

这也是一个好的开始。

第 3 步:界定关联,实体关系图

ChatGPT 设计一个财产选购系统软件并绘制 Mermai

再次提出问题:这太美好了,想要 Mermaid 图来表示关联,你可以给我导出这个的图的 Markdown 吗?

ChatGPT:自然,以下属于应用 Mermaid 叙述实体关系图的 Markdown 编码:

graph LR
Customer(消费者) -- 一对多 --> Order(订单信息)
Customer -- 有 --> 顾客ID
Customer -- 有 --> 名字
Customer -- 有 --> 详细地址
Order -- 有 --> 订单信息ID
Order -- 有 --> 日期

留意,必须在支持 Mermaid 图的 Markdown 在线编辑器或平台上应用以上编码才可以恰当表明实体关系图。

并把它拷贝到包含于 {mermaid} 标识里的 Markdown 在线编辑器中,实际效果如下所示:

ChatGPT 设计一个财产选购系统软件并绘制 Mermai

太棒了,已经依照预估进度。有一个类图/实体关系图。下面看一下有没有什么很有可能?

第 4 步:状态图

ChatGPT 设计一个财产选购系统软件并绘制 Mermai

title 简易互动

participant Object A
participant Object B

Object A->Object B: 要求
Object B-->Object A: 回应

在后面的实例中,有两种目标 A 和 B 参加互动。A 向 B 发送了一个要求,B 接受到要求并回到回应。

状态图通常用于叙述设备或控制模块间的互动全过程,也可以用于设计与测试等时期的文本文档化,以便更好地认知和数据分析系统个人行为。它可以帮助开发者更好地理解全面的行为,并可以做为项目文档的一部分。

下面,试着明确提出假设性提醒来检测回应。第一个目的是创建一个序列图。

再次提出问题:资产购买交易将如何影响以上报表,想把它描述为序列图。你可以帮助描述一下 Mermaid 的 markdown 格式数据图表吗?

ChatGPT:如果想在状态图中叙述财产购买交易对数据库系统产生的影响,可能还需要加上一个新的参加者(比如购方、卖家、支付平台等),及其一个新的信息来描述互动全过程。下边是一个应用 Mermaid 叙述财产购买交易的范例编码:

sequenceDiagram
    participant Buyer
    participant Seller
    participant Asset
    participant PaymentSystem
    Buyer->>Seller: 传出选购要求
    Seller->>Asset: 查验财产是否可用
    Asset-->>Seller: 回到财产易用性
    alt 财产可以用
        Seller->>PaymentSystem: 向支付平台推送支付要求
        PaymentSystem->>Buyer: 回到付款链接
        Buyer->>PaymentSystem: 进行支付
        PaymentSystem->>Seller: 确认付款进行
        Seller->>Asset: 推送财产给买家
        Asset-->>Seller: 升级财产情况
        Seller-->>Buyer: 推送选购确定
    else 财产不能用
        Seller-->>Buyer: 推送购买失败信息内容
    end

以上实例中,大家用了 sequenceDiagram 关键词来建立一个新的状态图,随后定义了四个参加者:买家(Buyer)、卖家(Seller)、财产(Asset)和支付平台(PaymentSystem)。在互动中,买方位卖家传出选购要求,卖家查验财产是否可用,然后向支付平台推送支付要求。假如财产可以用,支付平台回到付款链接,买家进行付款后,支付平台向卖家确认付款进行,随后卖家将财产发给买家,升级财产情况,同时向买家推送选购确定。假如财产不能用,则卖方位买家推送购买失败信息内容。

留意,Mermaid 的 Markdown 词法比较灵活,也可以根据具体需求作出调整和拓展。应用 Mermaid 能够容易地建立各种类型数据图表,包含流程表、序列图、实体关系图等。

把它拷贝到 markdown 在线编辑器中:

ChatGPT 设计一个财产选购系统软件并绘制 Mermai

第五步:财产购买交易状态转移图

ChatGPT:下边是一个应用 Mermaid 叙述财产购买交易状态转移图的实例编码:

stateDiagram-v2
    [*] --> 待支付
    待支付 --> 已付款 : 客户付款
    已付款 --> 已确定 : 系统软件确认付款
    已确定 --> 已分派 : 资产分配进行
    已分派 --> 已经完成 : 客户确认订单
    已经完成 --> [*]

以上实例中,大家定义了五个情况:待支付、已付款、已确定、已分派 和 已经完成,用框架表明。在最初的状态(用星号 [*] 表明)下,系统软件处在待支付状态。当客户传出付款指令后,系统软件从待支付状态转移到已支付状态;当系统软件确定接到客户的付款后,系统软件从已支付状态转移至已确定情况;当系统软件进行资产分配后,系统软件从已确定状态转移到已分派情况;当客户确定接到财产后,系统软件从已分派状态转移到已经完成情况。最终,当交易完成后,系统软件返回最初的状态,重新进入待支付状态。

在状态转移图上,箭头符号表明状态转移,箭头上的文本表示转移标准或事情。在本例中,箭头上的文本表示客户实施的实际操作,比如 客户付款、系统软件确认付款、资产分配进行 和 客户确认订单。在状态转移图上,能够很好地叙述财产购买交易的状态转移全过程,有助于我们了解买卖交易不同阶段和心态。

ChatGPT 设计一个财产选购系统软件并绘制 Mermai

从全过程看,感觉还不错,要考虑的比较全面。

汇总

文中根据 ChatGPT 设计制作根据 Mermaid 的软件状态图,明确在效果上提升了不少,合理安排 ChatGPT 能够给大家工作中带来一定的超出想象效果。