荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Deny (中秋快乐!!!!!!!!!!!!!!!), 信区: Program
标  题: COM的Web开发的软件工程方法
发信站: 荔园晨风BBS站 (Wed Sep 26 22:14:21 2001), 转信

组件对象模型Web开发的软件工程方法


组件对象模型及其重用范畴

     COM 组 件 是 遵 循COM 规 范 编 写、 以Win32 动 态 链 接 库(DLL)
或 可 执 行 文 件(EXE) 形 式 发 布 的 可 执 行 二 进 制 代 码, 能 够
 满 足 对 组 件 架 构 的 所 有 需 求。 遵 循COM 的 规 范 标 准, 组 件
与 应 用、 组 件 与 组 件 之 间 可 以 互 操 作, 极 其 方 便 地 建 立 可
 伸 缩 的 应 用 系 统。COM 是 一 种 技 术 标 准, 其 商 业 品 牌 则 称
为ActiveX。

     近 几 年 来, 组 件 在 软 件 开 发 中 得 到 了 广 泛 的 应 用, 尤
 其 是Windows DNA 将 组 件 应 用 于Internet, 进 行 各 种 事 务 处 理,
 显 示 出 了 强 大 的 功 能。 从 组 件 机 制 和 接 口 标 准 方 面 探 讨
 组 件 不 是 一 件 轻 松 的 事 情, 我 们 这 里 仅 从 工 程 应 用 的 范
 畴 讨 论 组 件 的 开 发 与 使 用 问 题。 组 件 在 应 用 开 发 方 面 具
 有 以 下 特 点:

     第 一, 组 件 是 与 开 发 工 具 语 言 无 关 的。 开 发 人 员 可 以
 根 据 特 定 情 况 选 择 特 定 语 言 工 具 实 现 组 件 的 开 发。 对 于
Internet 应 用 而 言, 完 成 事 务 逻 辑 处 理 计 算 任 务 的 组 件 以MS
 Visual Basic 进 行 开 发 是 首 选 方 案。 其 结 果 是 开 发 迅 速, 调
 试 方 便, 编 译 之 后 的 组 件 以 二 进 制 的 形 式 发 布, 可 跨
Windows 平 台 使 用, 而 且 源 程 序 代 码 不 会 外 泄, 有 效 地 保 证
 了 组 件 开 发 者 的 版 权。

     第 二, 通 过 接 口 有 效 保 证 了 组 件 的 复 用 性。 一 个 组 件
 具 有 若 干 个 接 口, 每 个 接 口 代 表 组 件 的 某 个 属 性 或 方 法
。 其 他 组 件 或 应 用 程 序 可 以 设 置 或 调 用 这 些 属 性 和 方 法
 来 进 行 特 定 的 逻 辑 处 理。 组 件 和 应 用 程 序 的 连 接 是 通 过
 其 接 口 实 现 的。 负 责 集 成 的 开 发 人 员 无 需 了 解 组 件 功 能
 是 如 何 实 现 的, 只 需 简 单 地 创 建 组 件 对 象 并 与 其 接 口 建
 立 连 接。 在 保 证 接 口 一 致 性 的 前 提 之 下, 可 以 调 换 组 件、
 更 新 版 本, 也 可 以 把 组 件 安 插 在 不 同 的 应 用 系 统 中。

     第 三, 组 件 运 行 效 率 高、 便 于 使 用 和 管 理。 因 为 组 件
是 二 进 制 代 码, 运 行 效 率 比ASP 脚 本 高 很 多。 核 心 的 商 务 逻
 辑 计 算 任 务 必 须 由 组 件 来 担 纲,ASP 脚 本 只 起 组 装 的 角 色
。 而 且 组 件 在 网 络 上 的 位 置 可 被 透 明 分 配, 组 件 和 使 用
它 的 程 序 能 在 同 一 进 程 中、 不 同 进 程 中 或 不 同 机 器 上 运
行。 组 件 之 间 是 相 互 独 立 的,MTS 使 对 组 件 的 管 理 更 加 简 便
。 组 件 对 象 通 过 一 个 内 部 引 用 计 数 器 来 管 理 它 自 己 的 生
 存 期, 这 个 计 数 器 存 放 任 何 时 候 连 接 到 该 对 象 的 客 户 数
。 当 引 用 计 数 变 为0 时, 对 象 可 以 把 自 己 从 内 存 中 释 放 掉
。 这 使 程 序 员 不 必 考 虑 与 提 供 可 共 享 资 源 有 关 的 问 题。


     对 于 使 用 组 件 的 集 成 开 发 者 而 言, 一 个 组 件 就 是 一 个
 接 口 集, 只 有 通 过 接 口 才 能 与 组 件 进 行 通 信; 而 对 于 组
件 来 说, 接 口 是 包 含 一 个 函 数 指 针 数 组 的 内 存 结 构, 每 个
 数 组 元 素 的 内 容 是 一 个 由 组 件 所 实 现 的 函 数 地 址。 在 一
 个 应 用 程 序 中, 起 决 定 作 用 的 是 组 件 的 接 口 而 不 是 组 件
 本 身。 只 要 组 件 的 接 口 保 持 不 变, 组 件 可 以 任 意 升 级 或
更 换, 而 应 用 程 序 不 必 做 任 何 修 改。 接 口 将 特 定 的 行 为 封
 装 起 来, 一 方 面 使 客 户 可 以 用 同 样 的 方 式 处 理 不 同 组 件
, 一 方 面 同 一 组 件 可 以 在 不 同 的 应 用 中 使 用。 这 些 特 点
决 定 了 组 件 必 然 有 很 好 的 重 用 性。 其 重 用 性 主 要 表 现 在
以 下 的 使 用 场 合:

     COM 组 件 并 不 是 专 为 一 种Windows 平 台 而 设 计 的, 同 一
COM 组 件 可 以 在Win95、Win98、Workstation 及NT 上 使 用。 组 件 既 可
 以 被 嵌 入 动 态Web 页 面, 又 可 以 在LAN 或 桌 面 环 境 的VB 和 VC
等 应 用 中 使 用。

     COM 组 件 之 间 是 彼 此 独 立 的。 当 应 用 需 求 发 生 变 更 时,
 可 能 需 要 更 换 中 间 层 的 个 别COM 组 件, 但 这 并 不 会 影 响 其
 他 组 件 的 继 续 使 用。

     COM 组 件 具 有 若 干 对 外 接 口( 属 性 和 方 法), 相 当 于 芯
 片 的" 管 脚 "。 根 据 不 同 的 应 用 需 求, 可 以 有 选 择 地 使 用
不 同 的 管 脚。 即 使 某 些 管 脚 被" 废 弃",COM 组 件 本 身 仍 然 可
 继 续 使 用。

     同 一COM 组 件 可 以 在 不 同 的 应 用 环 境 中 重 复 使 用。COM 组
 件 不 一 定 是 为 专 门 的 系 统 而 设 计, 可 以 有 较 宽 的 应 用 领
 域, 不 会 因 为 某 一 系 统 的" 过 时" 而 被" 废 弃"。

     COM 组 件 及 其 较 高 的 可 重 用 性 为 我 们 展 示 了 一 种 崭 新
 的 软 件 设 计 思 路, 以 组 件 对 象 为 中 心 的 设 计 方 法 把 硬 件
 以 芯 片 为 中 心 的 工 艺 思 想 恰 如 其 分 地 融 合 于 软 件 的 面 向
 对 象 的 分 析、 设 计 和 施 工 之 中, 使 面 向 对 象 的 概 念 和 方
法 从 工 具 语 言 的 层 次 一 下 子 跃 上 了 系 统 的 应 用 层, 也 为
DNA 思 想 奠 定 了 现 实 基 础。



基于组件对象的软件工程方法

     与 传 统 的 软 件 开 发 不 同, 在 基 于 组 件 对 象 的 软 件 工 程
 中 应 着 重 进 行 组 件 的 规 划、 设 计 与 开 发。 如 何 将 传 统 的
软 件 工 程 学 和 组 件 对 象 合 理 地 结 合 在 一 起, 至 今 还 处 在
发 展 和 完 善 阶 段, 达 成 共 识 仍 需 时 日。 一 般 而 言, 在 软 件
 开 发 的 过 程 中, 首 先 应 逐 步 深 入 对 组 件 进 行 功 能 分 析、
规 划 和 对 外 接 口 的 设 计, 进 而 落 实 内 部 细 节 的 实 现, 最 终
 完 成 组 件 的 部 署 与 管 理。 图1 显 示 了 进 行 基 于 组 件 对 象 的
 软 件 工 程 开 发 过 程。


     按 常 规 的 软 件 工 程 方 法 进 行 系 统 需 求 分 析 后, 将 得 到
 系 统 的 数 据 流 图DFD 和 系 统 结 构 图SC, 由 此 确 定 系 统 需 要
处 理 的 各 种 应 用 请 求。 此 时 可 以 初 步 确 定 所 需 的COM 组 件,
 再 由 划 分 出 的 若 干 组 件 规 划 其 需 要 实 现 的 功 能。 组 件 的
 规 划 是 否 合 理 对 于 基 于Web 的 软 件 工 程 至 关 重 要, 规 划 不
 合 理 往 往 导 致 工 程 的 延 期 或 反 复。

     一 般 来 说,COM 组 件 的 规 划 应 遵 循 以 下 原 则:

     用 户 对 于 数 据 库 的 请 求 应 通 过COM 组 件 实 现。 将 访 问 权
 限 授 予COM 组 件, 保 证 了 访 问 数 据 库 的 安 全 性; 把 对 每 个
用 户 的 连 接 变 成 和COM 组 件 的 连 接, 以 避 免 数 据 库 资 源 的
浪 费 和 崩 溃 的 危 险。

     组 件 粒 度 不 宜 过 大, 尽 量 让 每 一 个COM 组 件 实 现 某 一 个
 或 一 类 相 似 的 应 用 请 求, 而 不 要 追 求 其 功 能 的 过 分 繁 多
。 保 证 每 个 组 件 对 象 完 成 的 商 务 逻 辑 功 能 相 对 单 一, 有
助 于 发 挥 重 用 机 制 和 调 节DNA 的 适 应 性。

     COM 组 件 与 用 户 的 接 口 应 尽 量 简 单、 友 好。

     COM 组 件 如 果 是 可 视 的(ActiveX 控 件), 则 只 能 有 一 个 可
视 化 界 面。

     进 行 系 统 的 详 细 设 计 时, 需 进 行 数 据 库 设 计。 由 于 已
 经 初 步 划 分 出 需 要 定 制 的COM 组 件, 此 时 可 以 根 据 库 表 结
 构 进 一 步 确 定 组 件 的 对 外 接 口, 即 组 件 支 持 的 事 件、 方
法 和 属 性。 一 般 访 库 操 作 由 组 件 完 成, 所 以COM 组 件 应 能 识
 别 不 同 的 访 库 命 令, 进 行 特 定 处 理, 并 将 处 理 结 果 作 为
对 外 接 口 返 回 给 用 户。 与 传 统 的 软 件 工 程 学 有 所 不 同, 基
 于 组 件 对 象 的 应 用 系 统 是 由 组 件 实 现 特 定 应 用 处 理 和 商
 务 逻 辑 计 算 任 务, 而 其 具 体 实 现 对 集 成 开 发 人 员 来 说 是
 封 装 好 的, 他 们 不 必 耗 费 精 力 去 关 心 实 现 细 节, 只 需 规
定 应 用 系 统 与 组 件 的 接 口, 指 明 在 何 时、 何 处 调 用 哪 个 组
 件 即 可。

     组 件 的 接 口 在 整 个 应 用 系 统 中 起 决 定 性 作 用。 接 口 设
 计 不 合 理, 不 仅 影 响 组 件 本 身 的 可 重 用 性, 并 且 将 影 响
整 个 应 用 系 统 的 升 级, 缩 短 系 统 的 生 命 周 期。 所 以 确 定 组
 件 的 接 口 要 经 过 深 思 熟 虑, 使 它 能 支 持 各 种 不 同 的 应 用


     接 口 应 具 有 较 高 的 通 用 性, 以 提 高 整 个 应 用 系 统 的 复
 用 能 力, 同 时 还 要 兼 顾 简 单 和 实 用 性。 举 例 说, 如 果 我 们
 需 要 定 制 一 个 组 件 访 问 特 定 的 数 据 库 并 将 结 果 返 回 给 用
 户。 若 只 是 为 该 系 统 设 计, 可 以 将 库 名、 表 名、 访 库 语 句
 全 部 封 装 在 组 件 内 部, 这 样 的 组 件 接 口 简 单, 但 重 用 性
很 小。 若 将 库 名、 表 名 等 作 为 组 件 的 接 口, 组 件 的 重 用 性
 大 大 提 高 了, 但 接 口 复 杂 了, 不 利 于 组 件 的 拆 换。 建 议 的
 做 法 是, 如 果 希 望 系 统 有 再 次 开 发 或 移 植 的 潜 力, 可 以
将 库 表 名 作 为 接 口, 访 库 语 句 应 封 装 在 组 件 内 部。 如 果 将
 访 库 权 限 交 给 用 户, 既 不 利 于 数 据 库 的 安 全 性, 也 会 给
应 用 程 序 带 来 很 大 的 负 担。

     组 件 的 内 部 实 现 细 节 不 能 反 映 到 接 口 中, 接 口 同 内 部
 实 现 细 节 的 隔 离 程 度 越 高, 组 件 或 应 用 发 生 变 化 对 接 口
 的 影 响 就 越 小。 在 设 计 组 件 接 口 时, 还 要 尽 量 估 计 到 将
来 可 能 出 现 的 各 种 情 况, 力 争 设 计 出 具 有 高 复 用 性、 适 应
 性 和 灵 活 性 的 接 口。

     完 成 系 统 的 详 细 设 计 之 后, 接 下 来 进 行 组 件 的 开 发 和
 测 试。 组 件 不 依 赖 于 特 定 语 言, 开 发 者 可 根 据 实 际 需 要
选 择 使 用VB、VC 或 Java 作 为 开 发 工 具。COM 组 件 的 开 发 工 作 可
 委 托 给 专 门 的 开 发 组。 组 件 的 接 口 一 旦 确 定, 组 件 的 开
发 和 应 用 系 统 实 现 的 其 他 工 作 可 由 各 个 专 门 小 组 同 时 进
 行, 可 大 大 缩 短 开 发 时 间。

     在 最 后 实 现 阶 段, 把 经 过 测 试 的COM 组 件 集 成 到 动 态Web
 的ASP 页 面 脚 本 中, 并 进 行 系 统 测 试。 在 集 成 过 程 中, 一 般
 要 交 替 使 用Visual InterDev 和FrontPage 作 为 工 具。 具 体 实 施 步
 骤 如 下:

     通 过Visual InterDev 建 立Web 站 点, 连 接 服 务 器 并 在Web 服 务
 器 的 根 目 录 下 建 立 站 点 主 页。 于 是 在 服 务 器 上 同 时 建 立
 了 一 个 指 向 新Web 目 录 的 与 站 点 同 名 的 新 虚 拟 根。InterDev
还 会 自 动 在 项 目 中 放 置 文 件Global.asa 和 文 件 夹Images, 前 者
 负 责 存 储 整 个 应 用 程 序 中 用 到 的 全 局 设 置, 后 者 包 含 了
Web 页 面 上 所 要 显 示 的 各 种 图 形。

     在FrontPage 中 规 划 和 编 辑 页 面。 可 以 设 计 页 面 的 背 景 色
、 标 题 字 体, 快 速 建 立 超 链 接, 插 入 图 像, 插 入 系 统 的 或
 定 制 的ActiveX 控 件 和Java 小 程 序 等。 当 插 入 一 个ActiveX 控 件
 时, 利 用ActiveX Properties 设 置 控 件 的 有 关 属 性 值, 用Script
Wizard 编 写ActiveX 控 件 之 间 进 行 交 互 操 作 的 脚 本。

     返 回Visual InterDev 中 编 写ASP 脚 本, 重 点 是 功 能 上 的 设 计
。ActiveX DLL 承 载 着 商 务 逻 辑 计 算 的 重 任。 对 页 面 进 行 本 地
 测 试, 在 浏 览 器 中 显 示 编 辑 好 的 动 态Web 页 面。 应 避 免 在
FrontPage 中 的 工 作 区 编 辑 ASP 文 件。

     返 回FrontPage, 对 页 面 进 行 进 一 步 的 修 饰。 还 可 以 利 用
PhotoShop 等 工 具 加 入 图 画、 动 画、 声 音 和 视 频 来 丰 富、 美 化
 你 的 页 面。

     在FontPage Explorer 下 利 用 其 提 供 的Publish 功 能 将 其 导 入
IIS 服 务 器, 从 而 使 客 户 用 前 端 的 浏 览 器 从 服 务 器 上 下 载
 这 些 应 用 程 序。 具 体 过 程 如 图2 描 述。


     组 件ActiveX DLL 的 引 用 方 法 很 多。 既 可 以 在ASP 脚 本 中 直
 接 引 用, 也 可 在 另 一 个ActiveX DLL 中 引 用, 还 可 通 过 编 写
VBScript 及ASP 脚 本 将 若 干 个ActiveX DLL 连 接 起 来。

     至 此 基 本 上 完 成 了 应 用 系 统 的 设 计 与 实 现。 然 后, 还
 必 须 对 此 应 用 系 统 进 行 反 复 测 试。 应 用 系 统 由 若 干 个 封
 装 好 的 组 件 组 装 而 成, 只 需 着 重 测 试 组 件 与 应 用 系 统 的
 接 口 是 否 将 它 们 良 好 地" 对 接" 在 一 起。 若 某 个 处 理 要 求
不 能 正 确 完 成, 只 需 修 改 实 现 该 功 能 的 组 件 即 可。 同 时 也
 不 可 忽 视 的 是 系 统 的 安 全 性 和 健 壮 性。 可 能 出 现 多 个 用
 户 同 时 访 问 同 一 主 页 的 情 况, 要 在 带 宽 一 定 的 条 件 下 尽
 量 缩 短 页 面 下 载 的 时 间( 例 如 在 同 一 页 面 中 定 制 的ActiveX
 控 制 不 宜 过 多), 并 避 免 造 成 服 务 器 因 网 络 拥 塞 而 产 生
崩 溃。 在 基 于 组 件 的 系 统 中, 我 们 利 用MTS 对 组 件 进 行 管 理
, 实 现 对 组 件 的 多 线 程 支 持 并 按 权 限 等 级 把 组 件 划 分 给
 具 有 相 应 权 限 的 使 用 人 员 组。

     总 的 来 说, 基 于 组 件 对 象 的 软 件 工 程 方 法 较 传 统 的 软
 件 工 程 方 法 有 了 很 大 的 进 步。 利 用 这 种 开 发, 我 们 可 以
根 据 自 身 的 特 长 组 成 开 发 小 组, 并 行、 独 立 地 进 行 开 发,
 可 成 倍 缩 短 开 发 时 间, 所 开 发 的 系 统 也 比 较 健 壮、 稳 定。








--

※ 修改:·Deny 於 Sep 28 14:26:04 修改本文·[FROM: 192.168.1.117]
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.1.201]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店