第7章信息系统开发新方法 7,1原型开发方法 7,2而向对象开发方法 73标准建模语言(UML)简介 74CASE开发方法 BACK
第7章 信息系统开发新方法 7.1 原型开发方法 7.2 面向对象开发方法 7.3 标准建模语言(UML)简介 7.4 CASE开发方法
71原型开发方法 7.1.1原型方法的开发步骤 原型开发方法是随着计算机软件技术的发展,特 别是在关系数据库系统、第四代程序设计语言和各种 系统开发生成环境的基础上,提出的一种从设计思想 到工具、手段都全新的系统开发方法
7.1 原型开发方法 7.1.1 原型方法的开发步骤 原型开发方法是随着计算机软件技术的发展,特 别是在关系数据库系统、第四代程序设计语言和各种 系统开发生成环境的基础上,提出的一种从设计思想 到工具、手段都全新的系统开发方法
1.原型的概念 原型开发方法首先由用户提出开发要求,开发人员识别和 归纳用户要求,根据识别、归纳的结果,构造出一个原型,然 后同用户一起评价这个原型。如果根本不行,则重新构造原型; 如果不满意,则修改原型,直到用户满意为止。这里所谓的原 型( Protype),是目标系统的一个可执行模型或引导性的版本, 在需求分析和系统设计过程中用于开发人员与用户之间进行通 信 原型开发方法通常要求能快速地构造出原型。原型的快速 实现技术称为快速原型技术,目前一般采用计算机辅助原型开 发技术。它需要有一个强有力的软件支撑环境,称为原型支持 环境。通常原型开发方法所需要的软件支撑环境有
1. 原型的概念 原型开发方法首先由用户提出开发要求,开发人员识别和 归纳用户要求,根据识别、归纳的结果,构造出一个原型,然 后同用户一起评价这个原型。如果根本不行,则重新构造原型; 如果不满意,则修改原型,直到用户满意为止。这里所谓的原 型(Protype),是目标系统的一个可执行模型或引导性的版本, 在需求分析和系统设计过程中用于开发人员与用户之间进行通 信。 原型开发方法通常要求能快速地构造出原型。原型的快速 实现技术称为快速原型技术,目前一般采用计算机辅助原型开 发技术。它需要有一个强有力的软件支撑环境,称为原型支持 环境。通常原型开发方法所需要的软件支撑环境有:
①一个方便灵活的关系数据库系统(RDBS); ②一个与RDBS相对应的快速查询系统,能支持任意非过程 化的组合条件的查询 ③一套高级的软件工具(如第四代语言或信息系统开发生成 环境等),允许采用交互方式进行书写和维护以迅速产生任意程 序语言的模块(即原型); ④一个非过程化的报表或屏幕生成器,允许设计人员详细定 义报表或屏幕输出样本。 原型按照建立的目的不同可分为抛弃型原型和增量渐进型原 型
① 一个方便灵活的关系数据库系统(RDBS); ② 一个与RDBS相对应的快速查询系统,能支持任意非过程 化的组合条件的查询; ③ 一套高级的软件工具(如第四代语言或信息系统开发生成 环境等),允许采用交互方式进行书写和维护以迅速产生任意程 序语言的模块(即原型); ④ 一个非过程化的报表或屏幕生成器,允许设计人员详细定 义报表或屏幕输出样本。 原型按照建立的目的不同可分为抛弃型原型和增量渐进型原 型
2抛弃型原型 抛弃型原型主要用于验证软件需求以及设计方案和算法,这是当 前使用较广泛的原型。由于建立这类原型的目的在于使用户和开发人 员较快地确定和建立需求,或者确定设计方案的可行性和其它技术性 能,因而原型只集中于要验证的主要方面,而忽略其次要方面,以求 得快速和少用资源。所以,许多因素如性能、错误处理以及其它质量 因素一般均不予考虑。抛弃型原型不是一个完整的软件成分,验证后 可抛弃不用 图7.1为抛弃型原型开发方法的模型,图中各步骤的意义如下:
2. 抛弃型原型 抛弃型原型主要用于验证软件需求以及设计方案和算法,这是当 前使用较广泛的原型。由于建立这类原型的目的在于使用户和开发人 员较快地确定和建立需求,或者确定设计方案的可行性和其它技术性 能,因而原型只集中于要验证的主要方面,而忽略其次要方面,以求 得快速和少用资源。所以,许多因素如性能、错误处理以及其它质量 因素一般均不予考虑。抛弃型原型不是一个完整的软件成分,验证后 可抛弃不用。 图7.1为抛弃型原型开发方法的模型,图中各步骤的意义如下:
决定需求 构造原型 调整需求 执行原型 系统实现 图7.1抛弃型原型开发模型
决定需求 执行原型 构造原型 系统实现 调整需求 图7.1 抛弃型原型开发模型
)决定需求 这是决定用原型回答什么问题,典型问题有: ①提出的系统行为适合用户需要吗? ②系统输入输出界面可接受吗? ③提出的性能要求能满足吗? 2)构造原型 用手工或原型开发环境来构造原型 3)执行原型 由最终用户实际运行原型后,提出意见,并对需求进行调整,重新 构造原型 4)系统实现 抛弃型原型只是作为开发过程的一种辅助工具,在用户需求确定后, 再按所采用方法实现目标软件的进一步开发
1) 决定需求 这是决定用原型回答什么问题,典型问题有: ① 提出的系统行为适合用户需要吗? ② 系统输入输出界面可接受吗? ③ 提出的性能要求能满足吗? 2) 构造原型 用手工或原型开发环境来构造原型。 3) 执行原型 由最终用户实际运行原型后,提出意见,并对需求进行调整,重新 构造原型。 4) 系统实现 抛弃型原型只是作为开发过程的一种辅助工具,在用户需求确定后, 再按所采用方法实现目标软件的进一步开发
3.增量渐进型原型 与抛弃型原型不同,建立增量渐进型原型的主要目的是要开发目 标系统,而不只是为了满足需求和设计验证的需要。增量渐进型原 型开发方法的工作步骤如下 ①通过调查和可利用的文档,获得对用户需求的初始的理解; ②基于已知的需求,构造一个快速原型 ③向用户演示原型,并让最终用户使用一个时期 ④从用户获得反馈,用此反馈修改已知需求 ⑤构造下一代原型,将用户的新需求结合进来; ⑥重复以上过程,直到新的应用系统开发结束并提交用户 增量渐进型原型开发模型使得原型方法由软件开发过程中的辅助 工具发展成为一种软件开发方法
3. 增量渐进型原型 与抛弃型原型不同,建立增量渐进型原型的主要目的是要开发目 标系统,而不只是为了满足需求和设计验证的需要。增量渐进型原 型开发方法的工作步骤如下: ① 通过调查和可利用的文档,获得对用户需求的初始的理解; ② 基于已知的需求,构造一个快速原型; ③ 向用户演示原型,并让最终用户使用一个时期; ④ 从用户获得反馈,用此反馈修改已知需求; ⑤ 构造下一代原型,将用户的新需求结合进来; ⑥ 重复以上过程,直到新的应用系统开发结束并提交用户。 增量渐进型原型开发模型使得原型方法由软件开发过程中的辅助 工具发展成为一种软件开发方法
7.12原型开发方法的特点 原型方法具有如下几个方面的特点 (1)原型方法更符合人们认识事物的规律,因而更容 易被人们普遍接受。 结构化方法在设计之前,要求人们能够精确地描述对 目标系统的需求,这一点通常难以做到。人们认识任何 事物都不可能一次完全了解,并把工作做得尽善尽美 人们对于事物的描述,往往都是受到环境的启发而不断 完善的。建立一个原型让用户来评价,提出改进的意见 要比让用户空洞地描述对目标系统的设想更容易
7.1.2 原型开发方法的特点 原型方法具有如下几个方面的特点。 (1) 原型方法更符合人们认识事物的规律,因而更容 易被人们普遍接受。 结构化方法在设计之前,要求人们能够精确地描述对 目标系统的需求,这一点通常难以做到。人们认识任何 事物都不可能一次完全了解,并把工作做得尽善尽美。 人们对于事物的描述,往往都是受到环境的启发而不断 完善的。建立一个原型让用户来评价,提出改进的意见 要比让用户空洞地描述对目标系统的设想更容易
(2)原型方法将模拟的手段引入系统分析的初期阶段,沟 通了人们的思想,缩短了用户和分析人员之间的距离,解决 了结构化方法中最难于解决的一个环节。通过原型可以启发 用户对原来想不起来或不易准确描述的问题有一个比较确切 的描述;能够及早暴露系统实现后存在的问题,促使人们在 系统实现之前就加以解决 (3)充分利用了最新的软件工具,使系统开发的时间、费 用大大减少,效率、技术等都大大提高 当然,原型开发方法也不是万能的,它有其一定的适用 范围和局限性。这主要表现在:
(2) 原型方法将模拟的手段引入系统分析的初期阶段,沟 通了人们的思想,缩短了用户和分析人员之间的距离,解决 了结构化方法中最难于解决的一个环节。通过原型可以启发 用户对原来想不起来或不易准确描述的问题有一个比较确切 的描述;能够及早暴露系统实现后存在的问题,促使人们在 系统实现之前就加以解决。 (3) 充分利用了最新的软件工具,使系统开发的时间、费 用大大减少,效率、技术等都大大提高。 当然,原型开发方法也不是万能的,它有其一定的适用 范围和局限性。这主要表现在: