软件的概念和特点

概念

软件 = 程序 + 文档 + 数据

特点

  1. 软件是开发的
  2. 软件是简单的拷贝
  3. 软件测试非常困难
  4. 软件需要维护,维护易产生新的问题
  5. 软件开发时间和工作量难以估计
  6. 软件开发时间进度几乎没有客观衡量标准
  7. 软件不会磨损,但是会退化和废弃

软件危机的概念和成因

概念

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

  1. 项目超出预算
  2. 项目超过计划完成时间
  3. 软件运行效率很低
  4. 软件质量差
  5. 软件通常不符合要求
  6. 项目难以管理并且代码难以维护
  7. 软件不能交付

成因

软件自身特点

  1. 软件是逻辑部件,缺乏可预见性
  2. 软件维护困难
  3. 软件越来越庞大复杂,需要分工协作

软件开发和维护方法不正确

  1. 需求分析不充分或者存在错误
  2. 开发过程不规范
  3. 不注重文档工作,软件难以维护
  4. 缺少软件评测手段

软件工程定义

  1. 应用系统的、规范的、可度量的方法来开发,运行和维护软件,即把工程应用到软件。
  2. 对 1 各种方法的研究

软件工程三要素

  1. 方法
  2. 工具
  3. 过程

软件工程发展过程

传统软件工程(late 60s - 70s): 将软件工程纳入工程化轨道
对象工程(80s - 90s):面向对象的分析与设计
过程工程(mid 80s):提高软件生产率,保证软件质量
构建工程(90s - ):复用构件

其他

软件工程的目标

在给定的时间和预算内,按照用户的需求,开发易修改、高效、可靠、可维护、适应力强、可移动、可重用的软件。
钱少,要求多

软件分类

  1. 系统软件
  2. 应用软件
  3. 工程/科学软件
  4. 嵌入式软件
  5. Web应用软件
  6. 产品线软件
  7. 人工智能

Wasserman 规范

  1. 抽象 Abstration
  2. 分析和设计方法以及表示方法 Analysis and design methods and notations
  3. 用户界面原型化 User interface prototyping
  4. 软件体系结构 Software architecture
  5. 软件过程 Software process
  6. 复用 Reuse
  7. 测度 Measurement
  8. 计算机辅助软件工程 CASE (Computer Aided Software Engineering)

软件工程七原则

  1. 使用阶段性生命周期计划的管理
  2. 阶段性审查
  3. 保证严格的产品控制
  4. 使用现代编程工具 Fuck Dev C++
  5. 保持清晰的责任分配,结果审查清楚 对摸鱼神器?
  6. 开发小组人员少而精
  7. 不断改进软件工程实践

憨批大纲,不考了不更了