经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 大数据/云/AI » 人工智能基础 » 查看文章
用ChatGPT,快速设计一个真实的账号系统
来源:cnblogs  作者:peida  时间:2023/2/24 9:08:14  对本文有异议

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

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

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

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

用户故事

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

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

ChatGPT反馈为:

image

数据模型

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

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

ChatGPT输出为:

image

image

类关系图

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

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

ChatGPT反馈为:

  1. classDiagram
  2. class Account {
  3. +username: string
  4. +password: string
  5. +create_time: datetime
  6. +update_time: datetime
  7. }
  8. class EmailVerification {
  9. +email: string
  10. +verification_code: string
  11. +is_success: boolean
  12. +create_time: datetime
  13. +update_time: datetime
  14. }
  15. class PhoneVerification {
  16. +phone_number: string
  17. +verification_code: string
  18. +is_success: boolean
  19. +create_time: datetime
  20. +update_time: datetime
  21. }
  22. class ThirdPartyBinding {
  23. +third_party_id: string
  24. +third_party_username: string
  25. +create_time: datetime
  26. +update_time: datetime
  27. }
  28. class PasswordSecurity {
  29. +password_security_id: string
  30. +password_strength: string
  31. +password_salt: string
  32. +create_time: datetime
  33. +update_time: datetime
  34. }
  35. class LoginRecord {
  36. +login_time: datetime
  37. +login_ip: string
  38. +create_time: datetime
  39. +update_time: datetime
  40. }
  41. Account "1" --> "0..1" EmailVerification
  42. Account "1" --> "0..1" PhoneVerification
  43. Account "1" --> "0..*" ThirdPartyBinding
  44. Account "1" --> "1" PasswordSecurity
  45. Account "1" --> "0..*" LoginRecord

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

image

增加类属性

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

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

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

image

序列图

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

我输入的提示为:

ChatGPT返回的代码:

  1. sequenceDiagram
  2. participant PhoneVerification
  3. participant Account
  4. participant PhoneVerificationService
  5. participant SMS
  6. PhoneVerification ->> PhoneVerificationService: 验证通过,发送信号
  7. PhoneVerificationService ->> Account: 更新phone_ver属性
  8. PhoneVerificationService ->> SMS: 发送验证码

经过渲染后的图片为:

image

状态图

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

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

ChatGPT返回的代码为:

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

经过渲染后的图片为:

image

最后

今天的实验就到这儿啦。

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

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

接下来可以继续尝试啦。

原文链接:https://www.cnblogs.com/peida/p/17147347.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号