Skip to the content.

信息系统开发方法|产品线|软件复用|逆向工程

结构化开发方法

包含三部分:结构化分析,结构化设计,结构化程序设计,分别对应生命周期的系统分析,系统设计,系统实施

特点:

需求明确,目标清晰

阶段化,界限明确

开发文档规范化

设计方法结构化

缺点:

开发周期长

难以适应需求变化

很少考虑数据结构

面向对象

一切皆为对象,普适

快速原型法

需求多变,推进,演变,不能单独存在,需要结合别的方法使用

敏捷开发

以人为核心,关注开发人员和客户的交流

结对编程

关注代码质量

自适应开发

适应性,具体搞不太清楚

水晶方法

强调可配置,个性化

特性驱动编程

模型驱动的快速迭代开发过程

极限编程XP

核心是沟通,简明,反馈和勇气,不注重文档,测试先行,降低bu g出现率

并列争球法 scrum

特定周期做迭代

统一过程

提供了在组织中分派任务和责任的纪律方法,目标是在可以预见的日程和预算前提下,确保满足最终用户需求的高质量产品

用例驱动,以架构为中心,迭代和增量

软件产品线

产品线是一个产品集合,这些产品共享一个公共的,可管理的特征集,这个特征集能够满足特定领域的特定需求

核心资源:软件架构,构建,文档等

产品集合:产品线中的各种产品

建立方式

演化方式:迭代,更新

革命方式:推翻重做

逆向工程

逆向分析程序,力度在比源代码更高抽象层次上建立程序的表示过程,是设计的恢复过程(不仅仅是设计吧,这里能够得到架构思路,编码,文档等)

四个级别

实现级:语法书,符号表,过程设计

结构级:调用图,数据结构

功能级:反应功能

领域级:E-R模型

相关概念

重构:逻辑模型不变,实现方法变化

设计恢复:抽象出数据设计,结构设计和过程设计方面信息

正向工程:就是从现有系统中恢复设计信息,并且使用该信息去改变重构现有系统

再工程:站在巨人的肩膀上,重构已有系统,构建一个新版本,包括逆向工程,新需求的考虑和正向工程