逆向工程20240808

逆向工程和净室软件工程___20240808

1:逆向工程

在这里插入图片描述

与逆向工程相关的概念有重构、设计恢复、再工程和正向工程。(1)重构/重组(Restructuring)。重构是指在【同一抽象级别】上【转换系统描述形式】

(2)设计恢复(Designrecovery)。设计恢复是指借助工具从已有程序中抽象出有关数据设计、总体结构设计和过程设计等方面的信息。

(3)逆向工程(Reverse engineering):逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序的表示过程,逆向工程是设计的恢复过程。

(4)正向工程(Forward engineering)。正向工程是指不仅从现有系统中恢复设计信息,而且使用该信息去改变或重构现有系统,以改善其整体质量。

(5)再工程/重构工程(Re-engineering)。再工程是对现有系统的重新开发过程,包括逆向工程、新需求的考虑过程和正向工程三个步骤。

小试牛刀

软件逆向工程就是分析已有的程序,寻求比源代码更高级的抽象表现形式。在逆向工程导出信息的四个抽象层次中,( )包括反映程序各部分之间相互依赖关系的信息;()包括反映程序段功能及程序段之间关系的信息。
A 实现级 B 结构级 C 功能级 D 领域级

A 实现级 B 结构级 C 功能级 D 领域级

答案: B C

实现级:包括程序的抽象语法树、符号表、过程的设计表示

结构级:包括反映程序分量之间相互依赖关系的信息,例如调用图、结构图、程序和数据结构

功能级:包括反映程序段功能及程序段之间关系的信息,例如数据和控制流模型

领域级:包括反映程序分量或程序诸实体与应用领域概念之间对应关系的信息,例如实体关系模型

2:净室软件工程

在这里插入图片描述

技术手段

  • 统计过程控制下的增量式开发: 控制迭代
  • 基于函数的规范和设计: 盒子结构
  • 定义3种抽象层次: 行为视图(黑盒)->有限状态机视图(状态盒)->过程视图(明盒)
  • 正确性验证:净室工程的核心
  • 统计测试和软件认证:使用统计学原理,总体太大时必须采用抽样方法

缺点
太理论化,正确性验证的步骤比较困难且耗时。

开发小组不进行传统的模块测试,这是不现实的。

正确性验证的步骤比较困难且耗时。

开发小组不进行传统的模块测试,这是不现实的。

脱胎于传统软件工程,不可避免带有传统软件工程的一些弊端。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TimeFriends

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值