软件工程概论
软件
Mooc:软件工程概论-北京大学
定义
- 计算机科学技术百科全书:计算机系统的程序与文档,合并已即是软件
- 可定制为某种人群开发
特点
- 软件是无形,不可见的逻辑实体
- 特殊性:软件是被设计开发,生产过程中无法被定义
- 复制性:使用过程中没有磨损、老化的问题且可复制使用
- 复杂性:面对人类各行各业,涉及到跨学科的专业知识
- 计算机系统环境
- 涉及多种社会因素:机构管理、体制、人类观点和心理要素
典型的软件项目
种类
- 系统软件
- 管理系统各种资源:最靠近硬件一层
- 编程程序:可执行的低级软件
- 支撑软件
- 中间件:支撑其他软件的开发、维护、运行的软件
- 软件开发环境:数据库、接口、工具组等
- 小结:处于系统与应用之间的胶水层
- 应用软件
- 定义:特定应用领域的专用软件
软件工程起源与概念
- 1946年,计算机诞生
- 1947年,冯诺依曼提出流程图描述计算机的运行过程
- 信息产业:
- 基础:微电子
- 载体:计算机与网络
- 核心:软件
软件开发的三大阶段
- 个人时期(1947~1950):软件完全作为硬件的附属
- 作坊时期(1960~1964):IBM System/360系列机实现不同机型具有相同/相似指令集,令软件可彼此兼容。
- 工程时期(1970~至今):爆发软件危机,急需控制开发成本、质量、可维护性而提出的软件工程概念。
软件工程的定义
- 起源:1968年,德国提出软件工程概念
- 目的:以工程化原理、原则、方法解决软件危机
- 概念:系统化、规范性、可量化,成本、范围、
交叉性学科