📅  最后修改于: 2021-01-07 06:19:28             🧑  作者: Mango
首先让我们了解软件工程的含义。该术语由软件和工程两个词组成。
软件不仅仅是一个程序代码。程序是可执行代码,可用于某些计算目的。软件被视为可执行程序代码,相关库和文档的集合。根据特定要求制作的软件称为软件产品。
另一方面,工程就是使用明确的科学原理和方法开发产品。
软件工程是与使用明确的科学原理,方法和程序开发软件产品相关的工程分支。软件工程的结果是一种高效且可靠的软件产品。
IEEE将软件工程定义为:
(1)在软件的开发,操作和维护中应用系统的,有条理的,可量化的方法;即工程学在软件中的应用。
(2)对上述方法的研究。
德国计算机科学家Fritz Bauer将软件工程定义为:
软件工程是建立和使用合理的工程原理,以便经济地获得可靠的软件,并在实际机器上有效地工作。
使用软件工程原理和方法开发软件产品的过程称为软件演化。这包括软件的初始开发及其维护和更新,直到开发出满足预期要求的所需软件产品为止。
演化从需求收集过程开始。之后,开发人员将创建预期软件的原型,并将其展示给用户,以在软件产品开发的早期阶段获得他们的反馈。用户建议更改,在此之后,几个连续的更新和维护也将继续更改。此过程将更改为原始软件,直到完成所需的软件为止。
即使在用户拥有所需的软件之后,先进的技术和不断变化的要求也迫使软件产品也相应地变化。从头开始重新创建软件并与需求一对一地进行是不可行的。唯一可行且经济的解决方案是更新现有软件,使其符合最新要求。
雷曼兄弟为软件发展制定了法律。他将软件分为三类:
雷曼兄弟给出了E型软件发展的八条定律-
软件范例是指设计软件时采用的方法和步骤。今天提出了许多方法,并且正在使用,但是我们需要了解这些范例在软件工程中的地位。尽管它们彼此包含在一起,但它们可以组合成不同的类别:
编程范例是软件设计范例的子集,而软件设计范例又是软件开发范例的子集。
这种范例被称为软件工程范例,其中应用了与软件开发有关的所有工程概念。它包括有助于软件产品构建的各种研究和需求收集。它包括 –
此范例是软件开发的一部分,包括–
该范例与软件开发的编程方面紧密相关。这包括 –
由于用户需求和软件运行环境的变化率较高,因此需要进行软件工程。
可以通过软件产品的功能和使用程度来判断软件产品。该软件必须满足以下要求:
经过精心设计和制作的软件有望具有以下特征:
这告诉我们软件在操作中的运作情况。可以通过以下方式测量:
当软件从一个平台迁移到另一个平台时,此方面很重要:
此方面简要介绍了软件在不断变化的环境中能够自我维护的能力:
简而言之,软件工程是计算机科学的一个分支,它使用定义明确的工程概念来生成高效,持久,可伸缩的预算内和按时软件产品。