前言

内容:

  • 系统转换
  • 系统维护
  • 净室软件工程(CSE)
  • 基于构件的软件工程(CBSE)

中论

系统转换

遗留系统

基本上不能进行修改和演化以满足新的变化的业务需求系统

特定:

  1. 不能完全满足要求
  2. 技术过时
  3. 维护工作十分困难
  4. 基本上没有文档,很难理解

系统转换

新系统开发完毕,投入运行,取代现有系统的过程,有以下三种转换计划:

  • 直接转换:现有系统被新系统直接取代了,风险很大,适用于新系统不复杂或者现有系统已经不能使用的情况
  • 并行转换:新系统和老系统并行工作一段时间。缺点是耗费人力和时间资源,难以控制两个系统间的数据转换
  • 分段转换:分期分批逐步转换,是直接和并行转换的集合,将大型系统分为多个子系统
  • 数据转换与迁移:将数据从旧数据库迁移到新数据库中
    • 方法:系统切换前通过工具迁移、系统切换前采用手工录入、系统切换后通过新系统生成

系统维护

系统的可维护性:维护人员理解、改正、改动和改进这个软件的难易程度

评价指标:

  • 易分析性
  • 易改变性
  • 稳定性
  • 易测试性
  • 维护性的依从性

种类:

  • 硬件维护
  • 软件维护
    • 正确性维护
    • 适应性维护
    • 完善性维护
    • 预防性维护
  • 数据维护

净室软件工程(CSE)

一种应用数据和统计学理论以经济的方式生产高质量软件的工程技术,力图通过严格的工程化的软件过程达到开发中的零缺陷或接近零缺陷。净室方法不是先制作一个产品,再去消除缺陷,而是要求在规约和设计中消除错误,然后以“净”的方式制作。

背后哲学:在第一次正确等书写代码增量,并在测试前验证正确性。提倡开发者不需要进行单元测试

理论基础:函数理论、抽样理论

应用技术手段:

  • 统计过程控制下的增量式开发
  • 基于函数的规范与设计
  • 正确性验证
  • 统计测试和软件认证

缺点:

  • 太过理论化
  • 不进行传统的模块测试
  • 有传统软件工程的弊端

基于构件的软件工程(CBSE)

一种基于分布对象技术、强调通过可复用构件设计与构造软件系统的软件复用途径。

背后哲学:购买而不是重新构造,将软件开发的重点从程序编写转移到了基于已有构件的组装

特征:

  • 可组装性
  • 可部署性
  • 文档化
  • 独立性
  • 标准化

模型要素:

  • 接口
  • 使用信息
  • 部署

构建模型提供了一组被构件使用的通用服务,主要有两种

  • 平台服务,允许构件在分布式环境下通信和互操作
  • 支持服务,构件需要的共性服务

CBSE过程:支持基于构件组装的软件开发过程。主要活动:系统需求概览;识别后选购件;根据发现的构件修改需求;体系结构设计;构件定制与适配;组装构件创建系统。

CBSE过程与传统软件开发过程的不同:

  • CBSE早期需要完整的需求
  • CBSE早期阶段可以根据可利用的构件来细化和修改需求
  • 在系统体系结构设计完成后,会有一个进一步的对构件搜索及设计精化的活动
  • CBSE开发就是将已经找到的构件集成在一起组装的过程

构建组装

指构建相互直接集成或用专门编写的“胶水代码”整合在一起的过程

组装方式:

  • 顺序组装:按顺序调用已经存在的构件
  • 层次组装:一个构件直接调用自另一个构件所提供的服务
  • 叠加组装:两个或两个以上构件放在一起来创建一个新构建

构件组装不兼容的情况(可以通过编写适配器解决):

  • 参数不兼容
  • 操作不兼容
  • 操作不完备

后记

方生方死,方死方生。