<aside> 💬 定义
所有工程学科的共同特性:
软件工程要解决的实际问题范围广泛,没有行业和领域限制 ,需要客户和用户的紧密合作
实践情况也一再表明,客户和用户的有效参与是软件工程成功的必要因素。
软件工程的指导知识是 “工艺”、实践方法/原则和科学知识并立,软件工程行为既有科学性,又有实践性,还有工艺性。
软件工程并不会在物理结构上构建计算机,而是创建软件方案,描述所需软件系统的特征和行为,然后把软件方案通过编程移植到通用的计算机上面,计算机就会神奇地表现出软件方案所描述的特征和行为
软件方案是指由模块、对象、函数、数据结构、数据类型等抽象软件实体组成的复杂软件构建方案。
通过编程和编译活动,就可以将软件方案安装到通用计算机 。软件工程最终使用安装了软件方案的通用计算机解决实际问题 。
<aside> 💬 开发的两个阶段
分析和设计是软件开发的根本(essential) 任务, 编码等活动是软件开发的次要(accidental)任务。
</aside>