首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在软件开发生命周期的哪一步,我应该设计我的计算算法?

在软件开发生命周期的哪一步,我应该设计我的计算算法?
EN

Software Engineering用户
提问于 2014-03-12 07:26:37
回答 2查看 939关注 0票数 5

在软件设计中,我们通常负责UML图和体系结构设计。

但是在数据分析软件的情况下,我们必须注意设计算法和类似的东西。考虑一个需要人工智能的人脸检测软件的例子。在软件设计中,我们是否需要明确地设计软件的AI部分?

我的经理说,它必须在可行性研究中明确规定,并且非常清楚,我们可以在设计步骤中设计它。他说得对吗?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2014-03-12 09:21:44

根据我的经验,最好从算法本身开始。分析算法,找出它需要什么数据流,应该使用什么数据结构等等。这种方法使您能够围绕它最复杂的部分构建软件,从而预见和管理与它相关的风险。这也将有助于使实现更容易和更优化。

如果算法位于单独的独立的模块中,则可以在开发高级体系结构之后进行此类分析。但是,在作出任何关于执行的决定之前,仍应完成分析。

边注:要特别注意选择算法将要使用的数据结构。数据结构可以隐藏其中的一些复杂性,从而使实现更易于维护。

票数 2
EN

Software Engineering用户

发布于 2014-03-12 09:42:19

所有算法部分,特别是复杂度较高的部分,都应该封装在一个精心设计的API后面。这将大大增加解耦,这是核心设计原则之一,IMHO。

因此,需要根据需要详细设计该算法,以便使该API成为足够清晰的形状,从而将其放到全局图像中,并将对该API的进一步更改最小化。

你想在减少初始努力的同时尽量减少风险,这或多或少是一种权衡,你必须在其中找到最佳平衡点。在这一阶段,您无法完全消除进一步更改API的风险,但您可以尽力避免可避免的错误,并尽可能减少此类更改的影响。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/232085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档