软工视频——软件工程概论

               第一章 软件工程概论

● 什么是软件?

软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。

  • 程序——程序是按事先设计的功能和性能要求执行的指令序列
  • 数据——数据是使程序能正常操纵信息的数据结构
  • 文档——文档是与程序开发,维护和使用有关的图文材料

● 软件的特点

  • 软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性
  • 软件的生产与硬件不同,在它的开发过程中没有明显的制造过程
  • 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题
  • 软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程度的依赖性
  • 软件的开发至今尚未完全摆脱手工艺的开发方式
  • 软件本身是复杂的,实际问题的复杂性,程序逻辑结构的复杂性
  • 软件成本相当昂贵
  • 相当多的软件工作涉及到社会因素

● 软件的分类

  • 按软件的功能进行划分
    • 系统软件——操作系统,数据库管理系统,设备驱动程序,通信处理程序等
    • 支撑软件——文本编辑程序,文本格式化程序,磁盘向磁带向数据传输的程序,程序库系统,支持需求分析、设计、实现和测试和支持管理的软件
    • 应用软件——商业数据处理软件,工程与科学计算软件,计算机辅助设计/制造软件、,统仿真软件,智能产品嵌入软件,医疗、制药软件,事务管理、办公自动化软件,计算机辅助教学软件
  • 按软件工作方式划分
    • 实时处理软件
    • 分时软件
    • 交互式软件
    • 批处理软件
  • 按软件服务对象的范围划分
    • 项目软件(接受客户的委托,由一个或多个开发机构在合同的约束下开发的软件)
    • 产品软件(由软件机构开发,直接推送给市场,以营利为目的,并且为众多用户服务)
  • 按使用的频度进行划分
    • 一次使用
    • 频繁使用
  • 按软件失效的影响进行划分
    • 高可靠性软件
    • 一般可靠性软件

● 软件发展阶段

  • 程序设计阶段——50至60年代
  • 程序系统阶段——60至70年代
  • 软件工程阶段——70年代以后

● 系统开发生命周期

  • 三个主要的阶段:
    • 分析阶段:理解商业需求
      • 收集信息
      • 确定系统需求
      • 建立需求发现的原型
      • 划分需求的优先级
      • 产生并评估可替换方案
      • 与管理人员一起审查建议
    • 设计阶段: 将计算机系统解决方案概念化
      • 设计并集成网络
      • 设计应用程序结构
      • 设计用户界面
      • 设计系统界面
      • 设计并集成数据库
      • 设计细节的原型化
      • 设计并集成系统控制
    • 实现阶段:实现、测试并安装系统
      • 构建软件的部件
      • 检验并测试
      • 开发调整原型
      • 转换数据
      • 培训与文档
      • 安装系统
  • 二个附加的阶段
    • 项目计划阶段
      • 定义问题
      • 确认系统的可行性
      • 制定项目进度表
      • 为项目安排人员
      • 启动项目
    • 系统支持
      • 目标:保证系统在安装后有效地运行
      • 对最终用户的支持
      • 帮助台,由技术人员组成
      • 培训计划
      • 维护并增强计算机系统
      • 增强
      • 升级
      • 维护

● 软件开发过程

  • 制定计划
    • 确定要开发软件系统的总目标
    • 给出功能、性能。可靠性以及接口等方面的要求
    • 完成该软件任务的可行性研究
  • 需求分析和定义
    • 对待开发软件提出的需求进行分析并给出详细的定义
    • 编写软件需求说明书(标志性产品)
  • 软件设计
    • 概要设计
    • 详细设计
    • 设计说明书
  • 软件程序的编写
  • 软件测试
    • 单元测试,查找各模块在功能和结构上存在的问题并加以纠正
    • 组装测试,将已测试过的模块按一定顺序组装起来
  • 运行和维护

● 软件开发阶段需要解决的问题

  • 计划阶段:基本任务就是理解工作范围,工作的结果是产生计划任务书
  • 需求分析:定义用户的需求,工作的结果是产生软件规格说明书
  • 设计阶段:基本任务是建立软件结构,工作结果设计说明书
  • 编码阶段:编写程序,工作结果交付用户的程序清单
  • 测试阶段:发现错误和排除错误。可以运行程序
  • 维护阶段:运行和管理,工作结果是改进升级

● 软件工程三要素——方法、工具和过程

  • 软件工程方法为软件开发提供了“如何做”的技术
  • 软件工具为软件工程方法提供了自动的或半自动的软件支撑环境
  • 软件工程过程定义了:
    • 方法适用的顺序
    • 要求交付的文档资料
    • 为保证质量和适应变化所需要的管理
    • 软件开发各个阶段完成的里程碑

● 软件生存期模型





● 软件工程项目的基本目标

  • 付出较低的开发成本
  • 达到要求的软件功能
  • 取得较好的软件性能
  • 开发的软件易于移植
  • 需要较低的维护费用
  • 能按时完成开发工作,及时交付使用

● 软件工程的原则(七条)

  • 模块化
  • 抽象
  • 信息隐蔽
  • 信息的局部化
  • 一致性
  • 完整性
  • 确定性

猜你喜欢

转载自blog.csdn.net/Ellen5203/article/details/82386389
今日推荐