KiCad 华秋发行版 new
供应链、设计、制造,一体成就未来
华秋PCB
高可靠多层板制造商
华秋SMT
高可靠一站式PCBA智造商
华秋商城
自营现货电子元器件商城
PCB Layout
高多层、高密度产品设计
钢网制造
专注高品质钢网制造
BOM配单
专业的一站式采购解决方案
华秋DFM
一键分析设计隐患
华秋认证
认证检测无可置疑
发资料
发帖
提问
发视频
扫码添加小助手
加入工程师交流群
图1 当前的敏捷 SDLC
2. AI驱动的 SDLC
AI可以协助 SDLC 的每个阶段,缩短整个SDLC的反馈环路,使公司能够更快地推出产品。结果如何?企业通过在 SDLC 中使用人工智能驱动的工具来提高竞争优势。
OpenAI 开发的 ChatGPT 等工具可以帮助进行市场调研和趋势分析。AI可以分析客户偏好,并通过简单的文本提示帮助编写用户故事。从技术角度来看,它们还可以在产品发布前自动执行 CI/CD 流程、环境脚本、安全测试和性能测试。
GPT-4 还能帮助开发人员生成功能代码、测试线束和自动化。此外,还可以创建数据模型、DDL 和序列图。
图1 AI的敏捷 SDLC
人工智能在整个 SDLC 中的累积效应可使综合效率提高 30-50%。
3. 在软件工程中应用AI
现在众所周知,AI具有为技术组织增值的巨大潜力。但是,AI能直接帮助哪些关键的软件工程活动呢?下面列出的只是AI能为创建软件的团队做些什么。
1)代码生成
让我们来看看下面这个例子:在 Visual Studio Code 中,安装 AWS CodeWhisperer 扩展后,当用户键入下面的提示时,就会得到一个能解决问题的完整函数:
生成的结果是一个完全可用的函数:
当我们尝试上述提示的变体,增加额外的复杂度时,我们很可能会发现当前AI工具的一个缺陷。
让我们试试下面的提示:
(提示:用于生成美国邮政编码的解析函数,同时将邮政编码转换为经度和纬度)
结果生成如下所示的函数:
我们可以给出提示 "解释下面的 Angular 代码是做什么的"。 下面 ChatGPT 的回复相当全面准确地解释了函数的作用:
正如该示例所示,ChatGPT 可以减少阅读、理解和解释现有应用程序代码所需的时间,并进一步帮助开发人员加快入职或在新代码库中提高工作效率。3)AI驱动的软件工程的其他任务除了编写和解释代码,AI每天都在掌握新的技能。下面列出的只是AI辅助软件开发能力不断增长的少数例子:
编写用户故事
生成数据模型
生成 DDL 和 DML
用人鱼脚本生成数据图表
生成序列图
生成系统图
用任何语言生成 OO 类模型
生成代码
将代码从一种语言翻译成另一种语言
编写自动测试
编写代码文档
改进(重构)现有代码
编写代码注释
生成线框(GalileoAI)
调试代码 + 静态分析(Deepcode)
自动代码重构(Sourcery)
设计模式识别
更完整的清单超出了本文的范围,将在后续文章中介绍。不过,在开始一项复杂的任务之前,最好先在网上查看一下AI功能。可能已经有AI工具或插件可以解决问题。未来还将带来更多工具,并扩展现有工具的功能。在AI的帮助下,开发人员、架构师和参与 SDLC 的每个人都将变成能够更快地编写出更好代码的超人。4. 结论AIGC的出现为技术组织提供了提高效率的工具和技术。团队可以创建更好的软件产品,缩短开发生命周期,并对新原型进行市场测试,从而接触到更多客户,提高团队效率。 企业可以通过拥抱变化并将AI定位为技术转型的核心(AI+X),从AI革命中获益;我们需要将AI的力量视为一种推动力,而不是一种威胁;我们的员工必须根据新出现的新一代AI工具接受再培训,以了解其真正的潜力。此外,企业还可以将AI的应用范围从软件工程扩展到产品管理、质量保证、网络安全和 DevOps。 总之,本文表明,虽然AIGC仍处于起步阶段,但每天都会出现新的、功能更强的工具,这为专注于不断学习、适应和发展的企业提供了可持续的长期竞争优势。审核编辑:刘清
浏览量
浏览量
浏览量
浏览量
浏览量
原文标题:AI如何助力、驱动软件研发?
扫码添加小助手
加入工程师交流群
下载发烧友APP
电子发烧友观察
长沙市望城经济技术开发区航空路6号手机智能终端产业园2号厂房3层(0731-88081133)