我正在阅读“软件工程知识体系指南”,但我非常困惑。
一个典型的过程是否包括:实施和改变、定义、评估、过程和产品测量?
还是由软件需求、设计、建设、测试和维护组成?我以为这是我问题的答案,但我开始怀疑
发布于 2020-05-07 03:40:15
从谁的角度看软件工程?
对我来说,软件工程非常简单:人/组织有一个问题。解决它。
这就产生了许多可能的结果:
中间闪现的词语是一种描述学习过程的尝试。
学习是你所做的事情,你要弄清楚:
发布于 2020-05-07 09:39:29
没有一个“典型的过程”。您会发现最接近的活动集,如软件开发生命周期、系统开发生命周期或产品开发生命周期的定义。ISO/IEC/IEEE12207系统和软件工程。软件生命周期过程试图定义跨软件开发过程或活动的标准定义--并不是所有描述的活动都是构建软件所必需的。尽管如此,它们还是包括那些通常需要的或在不同规模的团队和组织中发现的。
不幸的是,没有任何普遍的,甚至广泛的,被接受的方式来打破这些活动。ISO/IEC/IEEE 12207可能是你能找到的最接近的。SWEBOK指南可能不是最好的分类,因为它不是用来组织活动和过程的,而是一组知识,它是软件工程学科的关键--几个知识领域与过程和活动相关,但这不是文档的目的。
发布于 2020-05-07 11:39:48
如果我们完全诚实地对待自己,那么软件开发根本不包含很多典型的过程。
对过程的总体描述--如果它们显然与现实不一致--通常是如此抽象,以至于几乎毫无意义--它们几乎没有比“思考和打字”更具体的说法,因为它有助于不熟悉的人理解实际发生的事情。
即使开发人员从一个问题到另一个问题,也往往存在巨大的差异--更不用说个人之间的差异,以及团队组织方式的变化,以及随着时间的推移而发生的变化。
在软件开发实践分析中,一个被严重忽视的领域是软件开发人员的“过程”。从事某种软件开发的人根本就没有具体的培训或教育,这并不罕见--既不受教育系统的影响,也不像其他职业一样,是有经验的工人长期学徒制的受益者。
即使是有价值的计算机科学,也能更多地描述贸易工具本身是如何工作的,而不是这些工具应该如何有效使用--就像机械师几乎没有告诉人们如何驾驶汽车达到法定标准一样。
因此,在我看来,软件开发并不是由定义良好的过程组成的。有共同习惯的小局部区域是可以观察的,有经验的从业者可能会觉得他是高度系统的,并且团队可以令人满意地一起工作。
但对于一群音乐家来说,同样的情况也是如此,然而,写下热门音乐(事实上,任何音乐)的过程总是无法对流行音乐的要求进行标准的描述,以及如何将单词和音符组合起来,以满足这些要求。
https://softwareengineering.stackexchange.com/questions/409809
复制相似问题