📝设计方法📝软件的重用📝逆向工程与重构工程
type
status
date
slug
summary
tags
category
icon
password
设计方法
- 结构化分析与设计
- 结构化程序设计理论基础中,基本控制构件包括顺序、分支、循环三种
- 面向对象的分析设计
- 面向对象的分析模型构成包括:
- 顶层架构图
- 用例与用例图
- 领域概念模型
- 面向对象的设计模型包括:
- 软件体系结构图
- 用例实现图
- 类图
- 状态图
- 活动图
- 从分析到设计的步骤:
- 根据用例设计实现方案(UML)
- 设计技术支撑设施(非功能性公共支撑件)
- 设计用户界面(类图)
软件的重用
- 重用、复用的软件元素(软部件)包括:
- 需求分析文档
- 设计过程
- 设计文档
- 程序代码
- 测试用例
- 领域知识等
- 软件冲用的分类包括:
- 横向重用
- 对象:不通应用领域中的软件元素
- 举例:标准函数等
- 纵向重用
- 对象:共性应用领域间的软部件
- 软件重用的优势:
- 提高生产率
- 降低开发成本
- 缩短开发周期
- 改善软件质量
- 提高灵活性和标准化程度
逆向工程与重构工程
- 基本概念:通过分析已有的程序,寻求比源代码更高级的抽象表现形式(比如文档)的活动就是逆向工程,是在不同抽象层级中进行的溯源行为,而重构工程师在同意抽象层级中转换系统描述的活动。逆向工程得出的设计称为设计恢复,设计恢复不一定能够抽象还原得到原设计;对逆向工程所形成的系统进行修改或重构,生成的新版本称为重构工程
- 逆向工程信息恢复的级别:以下级别的抽象级别、逆向工程恢复难度和人工参与程度是递增的,而工具支持可能性是递减的。
- 实现级:语法树、符号
- 结构级:程序间的关系,如视图
- 功能级:功能和程序段之间的关系
- 领域级:实体与应用域之间的关系
- 逆向工程信息恢复的方法:
- 用户指导下的搜索与变换法:
- 适用级别:实现级、结构级
- 具体方法:通过查询语句及输出进行恢复
- 变换式方法:
- 适用级别:实现级、结构级、功能级
- 具体方法:自动分析法及基于特定库的用户指导变换法
- 基于领域知识的恢复法:
- 适用级别:功能级、领域级
- 具体方法:一般用规则库表示,不确定性大
- 铅板恢复法:
- 适用级别:实现级、结构级
- 具体方法:识别公共构件