本章将深入探索软件开发的黄金起点——概念形成与初步规划阶段。在这个充满创意火花的初期,所有激动人心的想法开始形成,而精心制订的计划则是确保项目顺利启动的关键。
在本章中,我们将首先利用ChatGPT的强大功能,进行高效的头脑风暴,将规划工作细化到每一个微小的环节。
接下来,我们将借助ChatGPT进行深入的市场调研,洞察行业趋势,分析竞争对手的动态。此外,为了激发团队的创造力和协作精神,我们还将引入一种生动有趣的讨论方式——白板讨论。在这种开放和动态的环境中,团队成员可以自由地提出各种想法,共同推动项目向前发展。
最后,我们将深入研究敏捷开发和Scrum等现代项目管理方法,探讨它们如何帮助我们高效地规划项目,并根据软件项目的特点进行适当的调整。
在当今这个软件产品层出不穷的时代,想要开发出一款真正独具匠心、能够脱颖而出的产品绝非易事。然而,借助ChatGPT这样的LLM,我们可以汇聚多方智慧。
首先,我们可以利用ChatGPT提供多样化的头脑风暴方法。例如下面的提示。
提示:开发新产品前集思广益的技巧有哪些?利用互联网调研这个问题。
ChatGPT提供了10种有用的方法,让我们一窥其中的3种。
ChatGPT:
·5个为什么:从问题出发,通过连续提问“为什么”,有助于深入挖掘问题根源。
·坏主意:故意提出一些糟糕的想法,通过讨论它们的不足,反而可能激发出创新的解决方案。
·星爆法:这种方法关注问题而非答案,可以使用星爆图并提出一系列问题,比如谁、是什么、何时、何地、为何以及如何。
如果想深入了解星爆法,则可以通过以下提示获得更多信息。
提示:你将如何使用星爆法来提出软件产品的新想法?
ChatGPT针对以软件为主题的“星爆”练习做了分解分析。
ChatGPT:
·谁:考虑谁将使用这款软件。
·是什么:了解软件要解决什么问题,以及它与现有软件有何不同。
·何时:确定使用软件、启动软件,以及对软件进行更新或修复的最佳时间。
·何地:考虑可以在哪些平台或设备上使用这款软件。
·为何:深入探讨为什么你的软件不可或缺,以及人们为何要选择它而非其他软件。
·如何:思考软件的运行方式、构建过程、销售策略,以及用户需要帮助时的支持方案。
为了更清晰地理解新的软件产品创意,完成ChatGPT建议的过程无疑是一种有效的方法。
现在,当你准备列出一份创意清单时,最好先锁定一个特定的类别,了解目标群体,并明确所要解决的问题。这里有一些提示,可以帮助你起步。
提示:我想为老年人开发一个健康监控应用程序。老年人在监控慢性病和用药计划方面面临困难,我想帮助他们解决这个问题。有哪些功能可以使这个应用程序对老年人友好,并帮助他们更有效地管理健康?
提示:受众是正在努力理财的大学生。我的预算应用程序应具备哪些功能,才能帮助他们跟踪支出、节省资金并轻松了解财务规划?
提示:我想为忙碌的专业人士创建一个学习编程语言的应用程序,因为他们很难抽出时间参加常规课程。你能否推荐一些功能,让我的这个应用程序不仅能适应他们紧张的日程安排,还能提供快速、有效的编程语言学习课程?
ChatGPT给出的创意有多出色?沃顿商学院的几位教授在他们的MBA创新班上进行了测试。他们让学生们提出十几个产品或服务创意,然后利用GPT-4模型对ChatGPT做了同样的测试。在学生们提出的创意中,有一些是适合宿舍使用的厨师套件,还有一些是为教室里的硬座椅准备的舒适坐垫。
教授们使用线上购买意向调查来检验这些创意。调查的问题是:如果这款产品在市场上能买到,你的购买意愿有多大?
平均而言,大约40%的学生创意相当扎实,而ChatGPT的得分略高,为49%。但教授们并没有就此止步。他们把重点放在排名前10%的创意上,这些是真正有潜力改变游戏规则的创意。你猜结果如何?在40个顶级创意中,只有5个来自学生。
在开始软件项目之前,提出如下3个关键性的问题至关重要。
·是否真的需要这款工具?
·客户是否愿意为之付费?
·它的市场潜力究竟有多大?
这些问题构成了市场调研的基础。虽然市场调研并不是能够预测未来的神秘水晶球,但它无疑可以显著降低将宝贵时间和精力投入到可能无法取得成功的项目上的风险。
现实中,许多新产品最终并没有在市场上取得成功。哈佛大学教授兼畅销书作家Clayton Christensen对此进行了深入研究,他发现大约80%的新产品以失败告终。
在软件开发领域,失败的比例可能更高。表7-1列出了一些著名的失败案例。
表7-1 失败的软件产品/服务
在计算机游戏史上,有一个著名的失败案例——一款根据史蒂文·斯皮尔伯格1982年执导的电影《E.T.外星人》改编的视频游戏。雅达利公司为了获得这款游戏的版权,向环球影业支付了2100万美元,并另外投入了500万美元用于宣传推广。
然而,这款游戏推出后并未达到预期。它混乱不堪,缺乏趣味性,导致仅售出大约150万套。剩余的250万套游戏卡带最终被遗弃在新墨西哥州的垃圾填埋场,成了那个时代的遗憾。
现在,让我们深入了解如何利用ChatGPT进行市场调研。首先,我们需要确定目标受众,思考哪些群体能从软件中获得最大的价值。下面的提示可供参考。
提示:项目管理软件的潜在目标人群有哪些?
接下来,让ChatGPT帮助我们完成一项对市场营销至关重要的任务:创建详细的用户角色。可以将这些角色想象成不同类型用户的快照,他们可能是使用产品的不同类型的人。这些角色的细节通常包括年龄、兴趣、工作和生活方式等。通过描绘这些角色,我们可以了解客户是谁,以及他们在寻找什么。
当询问ChatGPT关于项目管理软件的用户角色时,它提供了一些详细的描述,如图7-1所示。
ChatGPT还能协助起草调查问卷,以收集特定数据。下面的提示可供参考。
提示:制作一份调查问卷,重点了解买家对项目管理软件的需求。调查应包括如下问题:有助于确定关键功能的问题、可用性偏好、特定行业需求,以及买家希望通过此类软件解决的特定挑战。此外,还应包含一些问题来衡量成本、支持、可扩展性和集成能力等因素的重要性。
在后续章节中,我们将继续介绍在评估软件市场时需要考虑的其他一些关键因素。
图7-1 ChatGPT针对项目管理软件分析了用户角色
在推出新软件前,深入市场进行调研能让你大有作为。市场调研不仅能够揭示用户真正的追求,而且能让你洞察竞争对手的动向。市场调研可以作为你的秘密战术,它能让你在市场爆发前捕捉到趋势,发现那些可能被他人忽视的机会。此外,它还是一张安全网,可以让你减少盲目猜测,帮助你做出更有可能成功的明智决策。同时,市场调研还能助力营销策略,对目标受众的深刻理解意味着能够制作出引起共鸣的广告和促销活动,而不是无差别地投放广告,忽视用户黏性。
ChatGPT是进行市场调研的得力助手。虽然它只训练到某一特定日期,但对此有一个巧妙的解决方案:在提示中告诉它“通过互联网进行研究”。
以下是一些提示范例。
提示:通过互联网进行研究,找出<特定软件类别,例如手机游戏、教育技术>截至<年份>的趋势。
提示:通过互联网进行研究,概述<年份>软件行业日益流行的新技术。
提示:通过互联网进行研究,找出当前影响软件市场的消费行为趋势,特别是<目标人群或应用类型>方面的趋势。
提示:通过互联网进行研究,找出<年份>软件用户界面和用户体验(UI/UX)设计的最新趋势。
提示:通过互联网进行研究,列出<特定领域或类别>的顶级软件,并解释它们在当前市场上取得成功的原因。
市场规模(Total Addressable Market,TAM)代表了,如果所有潜在客户都采用你的产品,你所能够实现的最大收入。它是一个关键指标,能帮助你确定应集中精力的领域,如何在市场上准确定位产品,以及制订发展计划。TAM是对市场的一次检验,它设定了可达成的目标,即你能占领多少市场份额,以及这将给你带来多少收益。
风险投资人(Venture Capitalist,VC)在考虑投资时会特别关注TAM,因为它揭示了企业的成长潜力。VC总是在寻找能让其投资获得显著回报的机会,而庞大的TAM意味着存在一个巨大的市场等待挖掘。
通常,风险投资公司会寻找TAM超过10亿美元的投资机会,如果远超这个数字则更佳。毕竟在如此庞大的市场中,即便一家公司只占据一小部分市场份额,潜在利润也相当可观。
在回答类似“估算TAM都有哪些方法”的提问时,ChatGPT可能会这样回答。
ChatGPT:
·自顶向下方法:首先收集行业数据和市场调研信息,了解整个市场的规模。然后逐步细化,聚焦于目标细分市场。
·自底向上方法:估算可能购买产品的人数或企业数量,预测其中实际购买的比例(转化率),并考虑每位客户的平均消费额。虽然自底向上方法需要更多的工作量,但它能提供更具体、更有针对性的洞察。
以一家医疗技术领域的初创公司为例,假设你输入以下提示。
提示:SilverConnect Health是一家专注于远程医疗服务的健康科技初创公司,目标市场在美国,重点面向城市地区的老年人。SilverConnect Health目前的远程医疗服务市场规模有多大?该细分市场未来5~10年的预计增长率是多少?
ChatGPT在搜索互联网后提供了一些有价值的数据。
ChatGPT:
·2022年市场规模:2022年,美国远程医疗服务市场的规模超过350亿美元。另有预测显示,同年全球远程医疗服务市场的总规模为912亿美元。
·预计增长率:一项预测显示,2023年至2032年的复合年均增长率为12.5%;而另一项预测则更为乐观,2023年至2030年的复合年均增长率为22.9%。
竞争分析为软件开发和市场定位提供了如下多重益处。
·市场洞察:竞争分析让你能够深入了解市场现状,观察已有的软件产品,分析哪些功能或服务受到用户的青睐,哪些未能满足市场需求。这有助于你发现市场空缺,确保你的产品能够带来创新和差异化。
·向竞争对手学习:通过研究竞争对手的成功案例和失误,你可以获得宝贵的经验,从而提升自身的竞争力。
·精准营销:通过明确你的软件都有哪些与众不同的特点,帮助你制定更有针对性的营销策略,进而有效吸引并打动目标用户群体。
ChatGPT能够在竞争分析中给你提供帮助。以下是一些有用的提示。
提示:列出<特定行业或市场>中<你的软件类型>的主要竞争对手。
提示:针对<你的软件>的功能与其前3个竞争对手进行比较。
提示:<你的软件>的竞争对手在市场上使用哪些定价模式?
提示:主要竞争对手如何在<软件类型>市场中定位自己?
提示:分析<竞争对手名称>软件的优势和劣势。
提示:总结<竞争对手的软件名称>的客户评论,重点关注用户满意度和他们遇到的问题。
为了使分析结果更加清晰易懂,你可以要求ChatGPT以表格形式呈现信息。
提示:概述截至2023年客户关系管理软件市场的主要参与者。请包含公司名称、主要特点、目标市场、独特卖点和市场份额,将结果以表格形式显示。
ChatGPT的响应如图7-2所示。
图7-2 ChatGPT以表格形式提供客户关系管理软件市场的竞争分析结果
ChatGPT甚至可以进行SWOT〔S(Strengths)表示优势,W(Weaknesses)表示劣势,O(Opportunities)表示机会,T(Threats)表示威胁〕分析。SWOT可以帮助你发挥自己的强项,弥补或解决薄弱环节,抓住偶然出现的机会,躲避可能的意外。各种类型的企业都在使用它,它对个人职业发展也很有帮助。
需求文档在软件开发过程中扮演着至关重要的角色,它们带来的好处如下。
指引方向
需求文档清晰地界定了软件的预期功能,确保从开发团队到客户的每一方都能对项目规划有共同的理解,维持工作的有序性。
保持目标一致性
需求文档确保项目所有参与者,包括团队成员和客户,对项目预期有清晰的认识,同时减少误解和偏离目标的风险。
帮助制订计划
当需要评估完成某项任务所需的时间或成本时,需求文档是规划工作量、时间线和预算的关键资源。
促进沟通
在大型团队或成员分散的情况下,需求文档是确保沟通清晰、有效的重要工具。
降低风险
需求文档有助于提前识别潜在问题,避免项目延误,控制成本。
然而,制定软件需求并非易事,这也是软件开发较为复杂的一个重要原因。协调众多团队成员的工作和想法是一项挑战,尤其当团队成员来自不同的国家和时区,拥有不同的见解和需求时。有时,这些想法并不完全一致,需求本身也不明确。
另外,软件需求本身是动态变化的。在快节奏的行业,需求的不断变化尤为常见。因此,要在一个持续变化的目标上实现需求,同时确保需求的可行性,并验证它们是否得到满足,是一项艰巨的任务。
当需求管理偏离轨道时,就有可能导致灾难性的后果,以下是一些典型案例。
丹佛国际机场的自动行李系统(1995年)
系统的目标过于雄心勃勃,需求复杂,导致项目延误16个月,成本大幅超支。最终,机场不得不放弃整个系统。
美国联邦调查局的虚拟案件档案系统(2000—2005年)
美国联邦调查局对自身需求的理解模糊不清,导致系统未能发挥预期作用。尽管投入超过1.7亿美元,项目最终仍被放弃。后来的Sentinel(哨兵)项目由于需求更加具体明确,取得了成功。
美国医保网站的推出(2013年)
美国医保网站未能明确需求,也未进行充分测试,上线后无法承载访问量,功能故障频发。发布失败后,美国政府不得不投入更多资源进行修复。
在软件开发领域,需求分为功能性需求和非功能性需求两大类。功能性需求规定了软件应执行的具体任务或提供的功能,而非功能性需求则涉及软件的性能、响应速度、安全性和可用性等。
为了深入探讨生成式AI如何在需求管理方面提供帮助,接下来的内容将重点关注两种关键文档——产品需求文档和软件需求规约。
产品需求文档(Product Requirements Document,PRD)是软件开发的蓝图,它定义了软件的内容和功能。这份文档将应用程序构想成一个引人入胜的故事,并详细描述了它的预期形态、运作方式、目标用户及它所解决的核心问题。优秀的PRD通常非常详尽,覆盖从核心功能到用户体验的每一个细节。
PRD面向的受众广泛而多元。它不仅面向开发者、设计师、项目经理和质量保证团队,为这些关键角色提供指导,而且对高管和其他需要把握产品愿景与目标的利益相关者来说同样至关重要。此外,PRD还能帮助营销团队明确产品的市场定位。总体而言,PRD适用于所有参与产品开发流程、推广和确保产品能够吸引目标用户群体的成员。
如果你尚未接触过PRD,或者需要一些帮助来创建自己的PRD,则ChatGPT可以为你提供帮助。
提示:产品需求文档包含哪些主要部分?请创建一个Word文档模板作为参考。
ChatGPT生成的文档如图7-3所示。
图7-3 ChatGPT创建了产品需求文档的大纲
软件需求规约(Software Requirements Specification,SRS)与PRD在本质上有着明显的区别。SRS可以视作软件项目的技术手册,它深入探讨软件的实现细节,包括软件需要完成什么任务以及如何完成这些任务。与PRD从最终用户或客户的角度出发,关注他们的需求和背后的原因不同,SRS专注于技术层面的深入分析。
对于一个简单的应用程序,SRS可能仅包含数页内容。然而,对于一个更为复杂的项目,如企业级软件实施,SRS的篇幅可以轻松扩展至数百页。
以下是一些有助于你更好地理解和创建SRS的提示。
提示:起草一份有效的软件需求规约需要考虑哪些基本要素和最佳实践?
提示:概述编写软件需求规约的流程,强调需求收集和分析、利益相关者协作和文档编制所涉及的步骤。
提示:为软件项目创建详细的需求规格说明,内容包括项目概述、利益相关者分析、功能性需求和非功能性需求、假设条件和限制条件。<在此处添加你希望包含的每个细节。>
语音识别技术自诞生以来已有数十年历史,但在过去,它往往被视为一种有趣而非必需的工具。传统上,这种技术在日常使用或专业场合中并不总能提供可靠的服务,主要因为它难以准确捕捉和理解自然对话中的语音。
然而,近年来,人工智能的飞速发展使语音识别技术有了革命性的突破。现代的语音识别系统由先进的AI算法驱动,它们不仅能够更精准地识别各种口音和方言,而且能够理解口语中的语境和语言的微妙之处。随着时间的推移,这些系统通过持续学习不断优化自身,显著提高了语音识别的准确率。
语音识别系统在整理需求文档方面展现出巨大的潜力,尤其表现在以下方面。
准确性和回放
现代语音识别系统的准确率已经相当高,而且你可以通过回放功能进行校正,确保记录的准确性。
识别发言者
语音识别系统能够区分会议中的不同发言者,这有助于清晰地记录和理解每个人的需求。
识别关键主题
语音识别系统能够识别并突出显示文字记录中的关键词,让你更容易捕捉和关注讨论中的主要议题或需求。
总结要点
语音识别系统能够自动生成摘要和建议,帮助开发团队快速把握关键需求,并将它们转换为具体的项目任务。
目前市场上一些流行的语音识别工具如下。
·Otter AI。
·Fathom。
·Rev。
·Sonix。
·Notta。
在梳理和汇总软件需求的过程中,白板讨论是一种极具价值的方法。这种方法不仅开启了集体头脑风暴,而且确保了团队成员的广泛参与。白板讨论能够汇聚多样化的想法和视角,这对于明确软件的功能和目标至关重要。此外,这种方法具有极高的实践性,允许参与者在讨论的同时绘制流程图或图表,将复杂的概念和流程具象化,使理解变得更加直观和容易。
ChatGPT甚至可以解读你上传到系统中的白板图像。假设你设计了一张系统登录草图,如图7-4所示。
图7-4 系统登录草图
如你所见,草图中的笔迹可能稍显潦草,并且使用了简写形式,例如将password(密码)简写为pw。
让我们看看ChatGPT是如何识别这样的草图的。
提示:请分析这张图。
ChatGPT:你上传的图似乎是与用户账户管理有关的流程图,更像是网站或应用程序的登录流程图。
随后,ChatGPT将根据图片内容,提供对整个流程的详细阐述,如图7-5所示。
图7-5 ChatGPT分析了这张系统登录草图,并给出了易于阅读的细分工作流程
撰写出色的产品需求文档和软件需求规约堪称一门精密的艺术。确立恰当的文档基调至关重要。这些文档必须达到清晰、简洁、专业的标准。
写作风格的重要性体现在以下几个方面。
清晰明了
产品需求文档和软件需求规约好比项目的指南针。我们当然希望所有内容都精确无误,以确保每个人都对项目的进展有清晰的认识。这有助于避免沟通障碍和开发错误。
实事求是
产品需求文档和软件需求规约不是展示个人风格或华丽辞藻的舞台。你需要像新闻记者一样,坚持用事实说话。只有保持直接和中立,才能确保文档内容专注于产品的实际需求。
一致性是关键
你需要从始至终保持同样的基调。就好比食谱,如果改变配方,饭菜的味道可能会完全改变。一致性使庞大的文档更易于理解和遵循。
始终关注产品
这些文档的核心是产品及其实现的功能。保持直接的语气可以确保你不偏离主题,始终聚焦于产品的功能和需求。
在写作方面,LLM(如ChatGPT)优势明显。它能够显著提高写作质量。你可以通过指导模型来采用正确的基调,例如下面的提示。
提示:请起草一份完整的移动银行应用程序技术需求清单,确保写作清晰、结构良好且具有专业性。
市场上有大量的AI写作工具可供选择,每种工具都有自己的特色,但总有一款契合你的写作偏好。例如,Jasper和Writer非常适合撰写内容并保持品牌声音的一致性;Grammarly专注于解决语法问题,提升写作风格;AI21和Copy.ai则让内容创作变得更加轻松。
Jigyasa Grover在她自己的项目中使用了Grammarly。作为机器学习方面的专家,她撰写了一本关于该主题的书——Sculpting Data for ML(2021年)。她是这样评价Grammarly的:
Grammarly是另一款帮助我起草技术设计文档的工具。我使用它来获得校对、语法、标点和写作风格方面的建议。它支持与多种网络浏览器和文字处理软件无缝集成。它的语言编排清晰明了,甚至可以根据目标受众和文档目的提供定制化建议。
在需求被明确提出之后,紧接着的关键步骤是规划项目的执行路径。这相当于为团队描绘出完成软件创造之旅的行军图,涉及设定清晰的里程碑,以及明确任务分工、时间线和执行策略。其核心目标是确保工作流程顺畅,让每一位团队成员都能高效地贡献自己的力量,最终实现产品的预期目标,并赢得所有利益相关者,尤其是客户的满意和认可。
由于软件开发领域充满复杂性,因此团队在规划项目时有多种选择。不同的方法论提供了多样化的策略、规则和步骤,以帮助团队应对任务分配、变化管理、质量保障以及向客户交付卓越产品。无论团队倾向于详尽的事先规划,还是倾向于更灵活、适应性强的计划以随时调整方向,总有一种方法论能够契合团队的需求。
常见的项目规划方法有瀑布模型、敏捷开发、Scrum、看板和极限编程(eXtreme Programming,XP)。选择恰当的方法论至关重要,因为这可能直接影响项目的成败。方法论的选择取决于诸多因素,如项目规模、复杂性、客户需求、团队协作模式以及项目中存在的确定性和不确定性。有些团队可能坚持使用单一的方法论,而其他团队可能会混合使用多种方法论,以找到最适合其项目需求的策略。
ChatGPT能够在选择合适的方法论方面提供帮助。例如,假设你正在开发一个“待办事项列表”应用程序,并已为其制定了一份简明的需求文档。此时,你可以向ChatGPT提出以下问题。
提示:对于这个应用程序,哪种项目规划方法最合适?
ChatGPT可能会建议采用敏捷开发方法,并提供一些理由,如图7-6所示。
图7-6 ChatGPT解释了为什么敏捷开发方法是开发特定应用程序的最适宜的项目规划方法
下面是一些提示范例。
提示:团队如何有效地选择并定制项目规划方法,以适应特定的软件项目?
提示:讨论根据软件项目的目标和复杂程度调整项目规划方法的重要性。
提示:解释软件项目管理中瀑布模型的顺序阶段。
提示:描述软件开发中敏捷开发方法的核心原则。
提示:敏捷开发方法是如何提高项目的灵活性和客户参与度的?
提示:概述Scrum框架中涉及的角色和仪式(caremony)。
提示:对比Scrum和传统项目规划方法的异同。
提示:列出极限编程的主要做法,以及这些做法如何提高客户满意度。
提示:讨论将测试驱动开发作为极限编程一部分实施的好处和挑战。
在开始编写代码之前,制定测试用例是明智的首要步骤。有句古语说得好,“三思而后行”,这一建议在软件开发领域同样适用。在软件开发中,测试驱动开发(Test-Driven Development,TDD)是一种常见的先行策略。
TDD的优势在于,当你深入思考代码需要通过的所有测试时,你会更清晰地理解所需构建的内容。在开始编程前,细致地审视蓝图,将帮助你明确代码的目标,从而避免许多潜在的麻烦。
此外,先行规划测试意味着从用户的角度进行思考,专注于为用户提供高效、易用的软件,避免陷入代码的细节中。尽早发现潜在问题,远胜于事后匆忙修复错误。
在TDD中,测试不仅是开发过程的核心,更是灵魂。在编写代码前先编写测试,要求你始终关注代码的实现目标。TDD促使你带着明确的目的编程,使代码更加简洁高效。
借助TDD,你可以采用如下不同的方法论来构建测试。
Given-When-Then(GWT)
G(Given)代表设定条件,即操作前的状态;W(When)代表触发事件,即导致变化的动作;T(Then)代表预期结果,即操作后应达到的状态。GWT通过讲故事的方式,阐明代码的执行逻辑。
Arrange-Act-Assert(AAA)
AAA与GWT类似。但GWT更倾向于以用户为中心讲故事,是开发者与测试人员和非技术利益相关者开展协作的理想选择。AAA则更注重测试的执行。
Setup-Exercise-Verify-Teardown(SEVT)
SEVT是开展集成和系统测试的关键流程。从设置(Setup)准备测试环境开始,经过执行(Exercise)对系统进行测试,再到验证(Verify)检查结果,最后拆卸(Teardown)清理环境,为下一次测试做好准备。
以下是使用GWT方法论的TDD提示范例。
提示:使用GWT方法论为系统关键功能制定测试策略。系统具体要求如下。
·开发一个连锁精品酒店的在线预订系统。
·系统需要从各酒店的内部管理软件提取客房供应数据。
·允许用户根据日期、价格和设施筛选房间。
·界面必须直观且兼容桌面及移动浏览器。
·采用云解决方案以确保系统的可靠性和可扩展性。
TDD还专注于特定场景或用例的测试。以下是一些提示范例。
提示:编写测试用例,验证用户通过电子邮件验证以重置密码的功能。
提示:编写测试用例,验证数据库连接失败时系统的响应。
提示:编写测试用例,确保搜索功能在正常负载条件下2秒内返回结果。
提示:编写测试用例,检查所有用户数据在存储时是否已加密。
提示:编写测试用例,验证支付网关与订单处理系统之间是否集成良好。
网站或Web应用程序的规划是一个多步骤且可能相当复杂的过程。首先必须清晰地界定网站的目标和目标用户群体;然后绘制网站的蓝图,规划用户的交互体验。Web设计规划通常又称为原型(Prototype)或线框图(Wireframe)。
原型设计完成后,接下来的任务是通过选择色彩、字体和时尚图形来体现品牌精神,提升网页的视觉效果。同时利用引人入胜的文案、引人注目的图片或视频来讲述品牌故事。最后是技术实现阶段,运用HTML、CSS和JavaScript等技术,将所有创意转化为一个真实、可交互的网站。
在Web设计规划阶段,像ChatGPT这样的AI工具可以提供巨大帮助。以下是一些提示范例。
提示:我正在开发一个<某种类别的>网站。请提出一些目的或目标。目标受众是谁?
提示:在线商店一般需要包含哪些页面?
提示:我正在为博客主页制作线框图。请建议需要包含的重要元素。
提示:我正在为移动应用程序的登录页面制作线框图。我应该确保包含哪些关键部分?
提示:对于<某种类别的>网站,有哪些好的内容创意,比如博客文章、视频和信息图表?
提示:如何构建网站的导航功能,使其对用户来说直观且友好?
提示:列出关键的SEO策略,提高网站在搜索引擎中的可见度。
提示:对于<特定类别的>网站,你推荐什么样的调色板?
提示:为网站选择适合<特定类别>的字体样式。考虑字体的可读性、品牌一致性,以及对网站整体美感的贡献程度。
此外,还有多种AI工具可以帮助我们创建线框图。Uizard就是其中之一。它与Figma等系统类似,具有设计功能,以及拖放按钮和表单等元素的功能,并支持团队协作。
在Uizard中,AI功能位于界面左侧的工具栏上。单击Magic按钮,即可看到AI功能列表。
当选择Autodesigner来创建线框图时,会弹出一个向导,如图7-7所示。
图7-7 Uizard的AI向导,用于为移动应用程序或网站创建线框图
首先,选择设备类型——手机、Pad或网页,然后简要描述项目。下面的提示可供参考。
提示:一个连接自由职业的厨师与举办晚宴或特别活动的人士的网站。
最后,定义设计风格。下面的提示可供参考。
提示:别致、现代化的设计,具有活力的视觉效果和直观的布局,突出令人垂涎的美食摄影和用户友好的预订功能。
Uizard根据提示为网站生成的线框图如图7-8所示。
图7-8 Uizard根据提示为网站生成的线框图
本章深入探讨了如何借助ChatGPT来启动和推进软件项目。我们的旅程始于一场头脑风暴,旨在激发创意和集思广益。随后,我们进行了深入的市场调研,以确保项目的方向与市场需求相契合。
本章细致地阐述了需求起草的各个环节,同时特别强调了产品需求文档和软件需求规约的重要性,这两份文档是确保项目目标和技术细节得以实现的关键。
本章还介绍了不同的项目规划方法,从灵活多变的敏捷开发方法到严格有序的瀑布模型,各有千秋。同时,本章也涵盖了白板讨论和测试驱动开发等技术。
通过将ChatGPT这样的先进AI工具与经过时间检验的方法论相结合,可以为软件项目打下一个坚实的基础。
[10]Total Addressable Market通常被翻译为市场规模、潜在市场规模、潜在市场范围、潜在市场目标等。本书统一译为“市场规模”。——译者注
[11]ChatGPT基于概率算法给出回复,这意味着可能存在一定的不确定性。为了获得更贴近原书内容的答案,建议在提问时明确指定所需的信息,以确保获得更准确和相关的回答。——译者注
[12]图7-2所示的表格由GPT-4o提供,读者在实际应用中,可以根据个人需求,提供更为详尽的提示,以定制化获取更精准的信息和答案。——译者注
评论 0条