软件工程 - wolai 笔记

1.软件发展

1.1 程序设计阶段(50年代中-60年代中

  • 软件生产个体化:规模小,编写者和使用者同一个人
  • 软件是设计者头脑中隐含过程:除程序清单,无文档材料保存

1.2 程序系统阶段(60年代中-70年代中)

  • 产品软件:由专门软件开发组织开发
  • 软件作坊:软件开发组织,沿用早期个体化软件开发方法
  • 软件危机:软件维护工作耗费大量资源
  • 软件工程:1968年,北大西洋公约组织计算机科学家讨论软件危机,提出软件工程

1.3 软件工程(70年代中-80年代中)

  • 软件危机得到缓解:打破软件生产个体化特征;工程化的设计原则、方法和标准
  • 新的挑战:微处理器和个人计算机;分布式处理系统;局域网、广域网;宽带数字通讯

1.4 第四阶段(80年代中-现在)

(1)软件架构发生变化

  • 集中主机环境
  • 客户机/服务器(二层):客户端任务繁重
  • 客户机/服务器(三层)
  • 浏览器/服务器

(2)新技术

专家系统、人工智能、神经网络、并行计算、网格技术、高信度计算、云计算

2.软件危机

2.1 定义

在计算机软件开发和维护过程中遇到的一系列严重问题

2.2 主要表现

(1)开发成本和进度估计不准

延迟交付、取消项目

(2)用户对已交付软件不满意

开发人员对用户信息交流不充分,产品不符合用户需求

(3)软件产品质量靠不住

软件产品保证技术(审查、复审、测试)未坚持不懈应;用软件开发全过程

(4)软件可维护性差

开发时未考虑,很多错误难以改正

(5)软件没有适当文档资料

文档资料应在软件开发过程中产生,保证最新

3.软件工程

3.1 定义(1993IEEE)

把系统化、规范化、可度量的途径应用于软件开发、运行和维护过程中;研究其实现途径。

3.2 内容

(1)软件工程技术

  • 软件开发方法学
  • 软件开发过程
  • 软件工具和软件工程环境

(2)软件工程管理

  • 软件管理学
  • 软件经济学
  • 软件心理学


Comment