在学术意义上,在我看来
我的问题是:
发布于 2015-10-12 17:12:26
是也不是。
对算法(和数据结构--两者同时进行的)与计算相关的研究往往属于计算机科学的范畴。然而,有些算法可能是由特定领域的人开发的。例如,在硬件/软件系统中实现某种自动控制所需的算法可以由专门从事控制工程的人开发。同样,信号处理滤波器可能需要物理学和电气工程知识。然而,开发这些算法的人可能不具备将算法的数学表示转化为软件可以使用的东西的知识和专长。为了将该算法转化为软件可以使用的内容,您还需要一些属于软件工程范围的知识。
算法设计必须与软件工程相适应。您的需求和约束可能会驱动算法的选择。然后,您必须为算法的使用进行设计,无论是如何实现算法,还是使用实现该算法的库或现有模块。您还需要考虑算法的可测试性和可维护性--这两者都是软件工程师所关注的。
虽然我不认为算法设计是软件工程的一部分,但我认为软件工程师必须最低限度地意识到这一点。软件工程师所处的环境和领域将决定算法设计的参与程度。
发布于 2015-10-12 19:32:28
算法并不是软件工程中唯一的算法。现在,您更有可能看到与软件工程/开发一起使用的术语,但它并不是唯一的术语。现在在算法上属于软件工程,相比于?软件开发?这取决于谁负责程序员。您可以想出解决方案并让程序员来实现它,或者您可以解释问题并让他们也解决它。更多的是你为问题而工作的人。我在一家公司工作,解释这个问题,并解决它的问题(想出算法),我为其他公司工作,整个解决方案已经为你规划好了,而你所做的就是把他们提供的算法翻译到计算机上。由谁来设计算法实际上取决于软件开发是如何在特定的组织中进行的。算法是软件工程独有的吗?不是的。
https://softwareengineering.stackexchange.com/questions/299682
复制相似问题