1987WEB视界-分享互联网热门产品和行业

您现在的位置是:首页 > 人工智能AI > 正文

人工智能AI

用ChatGPT,快速设计一个真实的账号系统

1987web2023-04-21人工智能AI227
hi,我是熵减,见字如面。用ChatGPT,可以尝试做很多的事情。今天我们就来让ChatGPT做架构师的助手,来帮我们设计一个账号系统吧。我的实验过程记录如下,与你分享。Part1用户故事

hi,我是熵减,见字如面。

用ChatGPT,可以尝试做很多的事情。

今天我们就来让ChatGPT做架构师的助手,来帮我们设计一个账号系统吧。

我的实验过程记录如下,与你分享。

Part1用户故事

首先,我们从用户故事开始吧。

提示:我们从用户故事开始,需要设计一个网站的账号系统模型,其中包括账号基础信息实体,邮箱验证实体,手机号验证实体,三方社交绑定实体,密码安全实体,登录记录实体。

ChatGPT反馈为:

设计一个网站的账号系统模型.png

后面还有很多,就不继续截图啦。

Part2数据模型

确认没有问题,就可以将次转化为一个数据模型啦。

提示:OK,将以上设计转化为一个数据模型,并使用markdown表格的形式来描述输出

ChatGPT输出为:

设计转化为一个数据模型.png

设计转化为一个数据模型2.png

当一次的输出内容太长时,就会被截断,如果被截断后,你可以直接告诉ChatGPT继续,就可以将内容接上啦。

Part3类关系图

模型确认后,就可以输出类关系图啦。

我输入的提示为:帮我输出类之间的关系图,用markdown的格式,输出符合Mermaid的脚本代码

ChatGPT反馈为:

classDiagramclassAccount{+username:string+password:string+create_time: datetime
        +update_time: datetime
    }classEmailVerification{+email:string+verification_code:string+is_success: boolean
        +create_time: datetime
        +update_time: datetime
    }classPhoneVerification{+phone_number:string+verification_code:string+is_success: boolean
        +create_time: datetime
        +update_time: datetime
    }classThirdPartyBinding{+third_party_id:string+third_party_username:string+create_time: datetime
        +update_time: datetime
    }classPasswordSecurity{+password_security_id:string+password_strength:string+password_salt:string+create_time: datetime
        +update_time: datetime
    }classLoginRecord{+login_time: datetime
        +login_ip:string+create_time: datetime
        +update_time: datetime
    }
    Account"1"-->"0..1"EmailVerification
    Account"1"-->"0..1"PhoneVerification
    Account"1"-->"0..*"ThirdPartyBinding
    Account"1"-->"1"PasswordSecurity
    Account"1"-->"0..*"LoginRecord

以上代码经过markdown渲染后的图片:

经过markdown渲染后的图片.png

Part4增加类属性

此时,发现Account类中缺失了部分需要的属性,那就可以让ChatGPT类增加吧。

提示:Account实体类中,需要增加一个state状态属性,一个email_ver状态属性,一个phone_ver的状态属性,请将变更后的类关系图,用markdown再次输出

新返回的markdown代码经过渲染后的图片为:

返回的markdown代码经过渲染后的图片.png

图中,标红的部分为新增加的属性哦。可见,ChatGPT完全理解,并执行了你的提示意图。

Part5序列图

接下来,我们试一下事务变更的序列图吧。

我输入的提示为:

ChatGPT返回的代码:

sequenceDiagramparticipantPhoneVerificationparticipantAccountparticipantPhoneVerificationServiceparticipantSMSPhoneVerification->> PhoneVerificationService: 验证通过,发送信号PhoneVerificationService->> Account: 更新phone_ver属性PhoneVerificationService->> SMS: 发送验证码

经过渲染后的图片为:

经过渲染后的图片为.png

Part6状态图

接下来,我们生产一个状态图看一下吧。

我输入的提示为:

Account的state状态有:新注册,已激活,已注销,被锁定等状态,将这些状态在Mermaid脚本中描述出来,用markdown输出状态转换代码吧

ChatGPT返回的代码为:

stateDiagram
    [*]--> New: 注册New--> Active: 邮箱/手机号验证通过Active--> Locked: 多次输入错误密码Locked--> Active: 解除锁定Active--> Deactivated: 注销Deactivated--> Active: 恢复Deactivated--> Archived: 数据保留Locked--> Archived: 数据保留Archived--> [*]: 数据清理

经过渲染后的图片为:

经过渲染后的图片为.png

Part7写在最后

今天的实验就到这儿啦。

可见,ChatGPT在软件开发中是一个不错的助手,它一家具有了不错的生产能力,帮我们做很多事情。

只要我们在每一个问答的回合中,能给ChatGPT正确的提示,它就可以很好的配合我们来完成任务,我就可以持续的发起并推动接下来的步骤。

接下来可以继续尝试啦。