《ChatGPT 驱动软件开发:AI 在软件研发全流程中的革新与实践》

现阶段,用ChatGPT得到的输出(不管是代码还是文档)比人全面但是非常的粗糙,无法实用。我觉得还是信息没有给到ChatGPT,是一种信息的鸿沟。所以只能说ChatGPT辅助开发,而无法像书名说的那样驱动开发。

表 1-1 技术发展对软件开发的影响
图 1-6 SDLC流程图
图 1-8 水母开发模式
图 1-9 水母开发模式的细节

GPT是 Generative Pre-trained Transformer 的缩写,其准确的中文含义是“生成式预训练转换器”。
口生成式(Generative):模型具备生成文本的能力。
口预训练(Pre-trained):模型在大规模的语料库上进行了预先的训练。
口转换器 (Transformer):模型采用了一种称为转换器的神经网络。

为了获得高质量且合适的答案,在向 ChatGPT 提出问题之前,我们首先需要确保所提出的问题满足以下几个要求。
口明确的目标:清晰地阐述问题的目标,以便 ChatGPT能够准确地理解并提供相应的信息或建议。
口具体的范围:设定一个具体的范围,这有助于避免过于宽泛或模糊的回答,从而使答案更具针对性和实用性。
口规定的输出:问题应该明确期望的答案格式和类型,例如,是否簧要列举步骤、提供案例或者给出解决方案等。
在 ChatGPT给出建议性的答案之后,为了得到更满意的结果,还需要继续进行以下步骤。
(1)足够的判断:在收到 ChatGPT的回答后,仔细审阅并判断其是否符合预期,是否准确无误地解答了问题,以及是否包含了所有相关信息。
(2) 有效的反馈:如果发现答案存在问题或需要补充,提供具体且明确的反馈,指出需要改进或补充的部分,这将有助于 ChatGPT 进一步优化答案。
(3)反复的选代:通过多次与 CharCirT 互动,不断完善问题和答案,以便最终获得高质
量且合适的解答。

软件开发生命周期(Software Development Life Cycle, SDLC) 是一种软件开发过程管理和控制方法,其历史可以追溯到20世纪60年代。

要结构化地描述间题,必须遵循以下七个步骤。
(1)确定问题的核心(核心):首先明确问题的关键点,包括你想要解决的具体问题和期望达到的目标。
(2)分解问题(详细):将问题拆分成更小、更易于管理的部分。这有助于更清楚地了解问题的各个方面,以及它们之间的关系。
(3)提供背景信息(背景):给出与问题相关的背景信息和上下文,这有助于ChatGPT 更好地理解问题的实际环境和需求。
(4)设定优先级(优先级):确定问题中各部分的优先级,以便 ChatGPT 能够根据你的需求和关注点提供针对性的回答。
(5)提出具体问题(具体):在描述问题的过程中,尽量使用明确、具体的语言。
避免使用模糊或多义词汇,以减少歧义和误解的可能性。
(6)陈述假设或限制条件(限制):如果问题涉及特定的假设或限制条件,请明确地表达出来。这将有助于 ChatGPT 提供更贴近实际需求的解决方案。
(7)指定期望的输出格式(输出):明确表述你希望得到的答案形式,例如列表、段落、图表等。这可以帮助 ChatGPT更好地满足你的期望。

HATEOAS (Hypermedia As The Engine Of Application State) 是 RESTful 架构中
的一个重要概念,它强调在Web 应用程序中使用超媒体驱动应用状态的方法。简单来说,HATEOAS 是一种通过超链接关联资源状态的方式,这些链接指向相关资源或操作。客户端可以通过这些链接发现和执行相关操作,而不必预先了解整个系统的结构和设计。这样的设计让客户端能够更加灵活地与服务器进行交互。简单地说就是,在API 响应中包含相关资源的链接,以便客户端可以轻松地导航到其他资源。这种设计使API更具可扩展性和可维护性。