API接口迅速对齐,你的软件开发还没用生成式AI加速吗?

872285f976ed4c1bd92b7af679234d41.gif

软件开发团队一直在寻求加速软件开发生命周期(SDLC)的方法,以更快地发布高质量软件。作为一款由生成式AI驱动的助手,Amazon Q可以帮助软件开发团队在SDLC的各个阶段中实现更高效的产出。

Amazon Q

https://aws.amazon.com/cn/q/

软件开发团队在分析需求、构建、测试和运维应用程序时,往往会在一些非核心任务上花费大量时间。基于亚马逊云科技17年相关专业知识进行训练的Amazon Q ,可以革新您在亚马逊云科技上构建、部署和运维应用程序的方式。通过自动化常规任务,Amazon Q让开发团队能够把更多时间投入到创新和研发当中。Amazon Q可以加速新手入门,减少上下文切换,以及加速亚马逊云科技上应用程序的开发。

本文将以开发一个待办事项的API接口项目为示例,讲解如何使用Amazon Q来加速SDLC的各个阶段。我们将利用Amazon Q Business以及Amazon Q Developer来帮助实现该项目。我们将介绍Amazon Q Business在规划和研究阶段的常见用法,以及Amazon Q Developer在研究、设计、开发、测试和维护阶段的应用。

Amazon Q Business

https://aws.amazon.com/cn/q/business/

Amazon Q Developer

https://aws.amazon.com/cn/q/developer/

计划

作为产品负责人,需要花费大量时间进行需求分析和创建用户故事,同时还需要研究内部文档,如功能规格说明书和业务需求,以了解所需的功能和目标。手动筛选文档是一项耗时的工作,而现在可以利用Amazon Q Business快速从内部文档或Wiki中提取相关信息。

Amazon Q Business可以快速地和您的业务数据、业务信息和业务系统进行连接,让您可以进行定制对话、解决问题、生成内容并采取与业务相关的行动。Amazon Q Business提供超过40个内置连接器,可连接流行的企业应用程序和文档存储库,如Amazon S3,让您只需少量的配置即可创建生成式AI的解决方案。

Amazon Q Business还提供了与第三方应用程序交互的插件。这些插件支持读写操作,可帮助提高终端用户的生产力。

40个内置连接器

https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/supported-connectors.html

Amazon S3

https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-connector.html

插件

https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/plugins.html

因此,您不需要深入研究内部文档,只需使用自然语言向Amazon Q Business询问需求,它就会立即为您提供相关信息,并帮助简化任务和加速问题解决。

以我们的待办事项API接口项目为例,假设业务需求记录在Confluence中,而Jira用于任务管理。您可以分别通过Confluence连接器和Jira插件,使Amazon Q Business与Confluence和Jira连接。为了了解需求,您可以询问Amazon Q Business关于用例概述、业务驱动因素、非功能性需求等相关问题。Amazon Q Business会从Confluence文档中提取相关细节,并以清晰简洁的方式呈现给您。这样可以节省收集需求的时间,让您更专注于用户故事的开发。

aea9a596f53a988f512aa7757e325715.gif

在充分理解需求之后,您可以要求Amazon Q Business为您撰写用户故事,甚至直接在Jira中为您创建相应的任务。对于本文的API接口项目,Amazon Q Business会根据需求量身定制生成用户故事,并在Jira中为您创建对应的待办事项,为您的团队节省时间,确保项目工作流程高效运转。

f13a143e1c416925aaaeb19e77ded639.gif

研究和设计

假设上述用户故事被分配给您,您需要根据Confluence页面中描述的技术栈来实现它。

首先,您可以询问Amazon Q Business,了解组织开发指南中技术栈的相关信息。Amazon Q Business会立即从托管在Confluence上的内部开发指南文档中为您搜索相关详细信息,并附带参考资料和引用。

作为开发人员,您可以在集成开发环境(IDE)中使用Amazon Q Developer协助软件开发,包括代码解释、代码生成以及代码改进(如调试和优化)。Amazon Q Developer可以提供诸如分析需求、评估不同方法、创建实施计划和示例代码等协助。它还可以研究技术选型、权衡利弊、推荐最佳实践,甚至与您进行头脑风暴来优化设计。

让我们看看Amazon Q Developer是如何帮助分析用户故事、设计,并制定实施计划。

aa1f53e2d84a3380e9c3b04ab3ffa8be.gif

让我们在设计中进一步完善非功能性需求,如安全性和性能。

3b4ee028975841b98a18f445895e20f8.gif

开发和测试

Amazon Q Developer可以根据您指定的业务和技术需求生成代码片段。您可以审查自动生成的代码,手动复制并粘贴到编辑器中,或使用选项“插入到光标处”直接将其合并到源代码中。这有助于您快速原型化和迭代应用程序的新功能。Amazon Q Developer使用对话的上下文来指导后续的响应,这使得您可以专注于构建应用程序,无需离开IDE即可获得答复和基于特定上下文的编码指导。

Amazon Q Developer对于回答以下领域的问题特别有用:

  • 在亚马逊云科技上构建的相关问题,包括亚马逊云科技服务的选择、限制和最佳实践。

  • 通用的软件开发概念,包括编程语言语法和应用程序开发。

  • 编写代码,包括解释代码、调试代码和编写单元测试。

  • 使用用于代码转换的Amazon Q Developer Agent升级和现代化现有的应用程序代码

用于代码转换的Amazon Q Developer Agent 

https://aws.amazon.com/cn/q/developer/code-transformation/

在Amazon Q Developer生成的用户故事设计的基础上,您可以要求Amazon Q Developer实现API接口,并根据其他要求和参数进行完善。让我们与Amazon Q Developer合作,将设计变成实现。您可以利用Amazon Q Developer的专业知识进行构思、评估选项,并得出最佳解决方案。Amazon Q Developer可以基于需求进行智能讨论,集思广益,创造新的测试用例。然后,它可以帮助构建实施计划,并高效地添加健壮、全面、以及对边缘例子覆盖度高的测试用例。

让我们要求Amazon Q Developer根据设计生成代码。

b95b77034916edafb8b5650462194ad2.gif

现在,让我们要求Amazon Q Developer实现Amazon Lambda函数。

Amazon Lambda

https://aws.amazon.com/cn/lambda/

ad7f7207003e24a22d1ebdb3cbe4f422.gif

Amazon Q Developer可以提供代码示例和代码片段,展示如何实现设计。您可以审核生成的代码,获得Amazon Q Developer的反馈,并无缝地将其集成到项目中。与Amazon Q Developer的协作可以让您利用其知识快速迭代和丰富应用程序的功能,从而提高生产力。

Amazon Q Developer还可以审查代码,并根据性能和其他参数找到改进和优化的空间。让我们要求Amazon Q Developer为我们的示例项目找出需要改进的地方。

aa8df49c12cd3cd6f7cc6a8ee3594e0e.gif

调试和故障排查

Amazon Q Developer可以在故障排查和调试方面为您提供协助。对于不熟悉的错误代码或异常类型,您可以要求Amazon Q Developer研究其含义以及常见的解决方案。Amazon Q Developer还可以通过分析应用程序的调试日志,标出任何异常、错误或警告,从而提示潜在的问题。

Amazon Q Developer可以对由错误配置导致的网络连接问题进行排查,提供简明的问题分析和解决建议。它还可以研究亚马逊云科技最佳实践,识别哪些地方与最佳实践不一致。对于代码问题,它可以在支持的IDE中回答问题和进行代码调试。利用其对亚马逊云科技服务及其交互的了解,Amazon Q Developer可以提供特定亚马逊云科技服务的指导。

在亚马逊云科技控制台中,Amazon Q Developer可以对您在使用亚马逊云科技服务时所收到的错误(如权限不足、配置不正确、超出服务限制)进行故障排查。

让我们使用命令行工具cURL通过访问Amazon API Gateway的端点对我们的待办事项API进行测试。

Amazon API Gateway

https://aws.amazon.com/cn/api-gateway/

9289ce498c935f09defae923de554b6e.gif

由于Amazon API Gateway端点在调用Amazon Lambda函数在Amazon DynamoDB表插入记录时抛出了内部服务器错误,让我们转到Amazon Lambda控制台进一步排查问题,并通过为POST方法创建测试事件直接测试该函数。在亚马逊云科技控制台中,您可以利用Amazon Q Developer对不同的控制台错误进行故障排查。对于上述错误,Amazon Q会分析其问题并帮助找到解决方案。Amazon Q将直接在控制台上解释如何通过添加Amazon DynamoDB表名的环境变量来修复此错误。

Amazon DynamoDB

https://aws.amazon.com/cn/dynamodb/

41277c007f23ece34e0e6d00ac841fc2.png

现在,让我们在IDE中要求Amazon Q Developer生成代码来修复这个错误。Amazon Q Developer随后会生成一个代码片段,用于在Amazon CDK中为Amazon Lambda函数设置所需的环境变量。

Amazon CDK

https://aws.amazon.com/cn/cdk/

51fbe90e19d9832030e84d9786e7c8b3.gif

总结

相信通过本文的介绍,您能够了解到如何利用Amazon Q Business和Amazon Q Developer来简化软件开发生命周期,从而加快产品发布速度。

凭借对代码和亚马逊云科技资源的深入理解,Amazon Q Developer使开发团队能够在研究、设计、开发、测试和审查等阶段高效工作。通过自动化常规任务、提供专家指导、生成代码片段、优化实现代码和故障排查,Amazon Q Developer让开发人员可以将注意力重新集中在推动创新的高质量的工作中。

此外,通过Amazon Q Business,团队可以借助生成式AI的力量,加快需求规划和研究阶段的进度。

本篇作者

df550df0b196121b0dc062a87aa1b1c1.jpeg

Chetan Makvana

亚马逊云科技高级解决方案架构师。

6574e5dcc00beaffc3289cc356b163c7.jpeg

Suruchi Saxena

亚马逊云科技Cloud和DevOps 工程师。

f4acb173aec38a1eca2c3eda5a779922.jpeg

Venugopalan Vasudevan

亚马逊云科技高级解决方案架构师。

f7c5f3a3d14f4fa4fb78b44c41189db0.png

梁宇

亚马逊云科技专业服务团队DevOps顾问,主要负责DevOps技术实施。尤为热衷云原生服务及其相关技术。

e62e4b7ecf29ed8df109d129dca2e5b0.png

be6903913070d5683ecaca9c5026da16.gif

星标不迷路,开发更极速!

关注后记得星标「亚马逊云开发者」

听说,点完下面4个按钮

就不会碰到bug了!

8b87ce1cfdba632c5b67d8abbd382d5b.gif

点击阅读原文查看博客!获得更详细内容!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值