oracle designer release 6.0 reviewer s...

45
Oracle Designer Release 6.0 Reviewers Guide 日本オラクル株式会社 1 1999 7

Upload: others

Post on 12-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer Release 6.0Reviewer’s Guide

日本オラクル株式会社

第 1 版 1999 年 7 月

Page 2: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

2

目次

1. はじめに .................................................................................................................................................................. 3

2. 開発環境に関するコンセプト ........................................................................................................................ 4

3. 製品の特徴 ............................................................................................................................................................. 7

4. Oracle Designer R6.0 の新機能・変更点 ......................................................................................................... 19

5. 製品構成 ................................................................................................................................................................ 20

6. 開発手法 ................................................................................................................................................................ 38

7. 稼動環境および価格 ......................................................................................................................................... 40

8. 最後に ..................................................................................................................................................................... 42

9. FAQ(よくある質問) ...................................................................................................................................... 43

Page 3: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

3

1. はじめに

Oracle Designer R6.0 は Oracle8/8i をはじめとするデータベース・システムの設計および管

理を支援するツールです。一般に統合 CASE(Computer Aided System Engineering)ツールに

分類されます。非常に豊富な機能と管理能力を備え、エンタープライス・レベルの Web及びクライアント/サーバー・アプリケーションの開発における統合されたソリューシ

ョンを提供します。Oracle Designerがサポートする範囲は、ビジネス・モデリングから

アプリケーション生成/メンテナンスまでのすべてのシステム・ライフサイクルにまた

がります。

Oracle Designerは 1995 年 6 月に Oracle Designer/2000 として日本での出荷を開始して以来、

Oracle データベースの標準設計ツールとして数多くのユーザーにご利用いただいてお

ります。日本での歴史は浅いものの、海外ではその前身である Oracle*CASEからの長

い歴史があり、そこで培われてきたリポジトリ技術は高く評価されています。このリ

ポジトリ技術を継承しつつ、より高機能に、より使いやすくアップグレードされて、

Oracle Designerが出荷されました。

このドキュメントでは、Oracle Designer R6.0 のベースにあるコンセプトやそれを実現す

るための新機能に関する概要、技術情報を紹介しています。製品の評価を目的とされ

るユーザー向けのガイドです。このガイドでは、以下の内容について記述しています。

• 製品のコンセプト/特徴

• R6.0 の新機能

• コンポーネント別の概要

• 稼働環境

Page 4: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

4

2. 開発環境に関するコンセプト

製品の位置づけ

システム開発では、様々な立場の開発者が議論しあった末で決定された仕様を元にし

て、データベース設計やアプリケーション開発が行われます。通常、このような仕様

決定者と開発者は異なり、そこでの理解の食い違いを避けるために、詳細な仕様書を

作成する必要があります。また、このような過程を経たにもかかわらず、多くの場合、

開発の途中での仕様変更は発生し、開発者は余分な工数をかけて修正をしなければな

りません。せっかく詳細な仕様書を作るのなら、そこから自動コーディングできない

か?。そうすれば、途中で発生した仕様変更にも容易に対応できるのではないか?。

こういった要求を満たすために、Oracle Designerは、複数の開発者での統合された開発

環境と、設計された情報からの強力な自動コーディング機能を提供します。

モデル・ベース開発環境

オラクルはエンタープライズ・レベルのシステムに対して、スケーラブルであり、かつ、

TCO の削減が実現可能なアーキテクチャであるインターネット・コンピューティングを

実行環境として提唱しています。トータルのソリューションを提供すべく、オラクル

では開発環境としてモデル・ベース開発環境をコンセプトとしています。

図:モデル・ベース開発

システム開発において要求される要件は様々です。それぞれの設計工程に応じたスキ

ルが要求される場合があります。このため複数の設計者で同時にシステムを開発する

ための仕組みを整える必要があります。

データが生き物であるように、システムもまた生き物です。一度作り上げたシステム

はそれで終わりというわけではありません。短期間の使い捨て的なシステムとならな

いようにするためにはしっかりとした設計を行い、かつその後のメンテナンスのこと

までを考えておかねばなりません。

Page 5: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

5

このようなシステムの設計だけでなく、メンテナンスといったトータルのシステム管

理を目指し、かつシステムを資産化するためのオラクルのソリューションがモデル・ベ

ース開発環境とリポジトリです。

コードvs モデル

急速な時代の流れは、システムに対しても迅速な対応を要求します。エンタープライ

ズ規模のデータベース設計、アプリケーション開発を的確に、かつ、わかりやすい形

で開発し、さまざまな要因から発生する仕様変更にも柔軟に対応できるような管理方

法をとることが必要です。

図:コードからモデルへ

Oracle Designerによる開発の中心はモデル(絵、ダイアグラム)です。モデルはコードよ

り汎用的で、様々な情報をわかりやすく表現できます。データ分析、プロセス分析、

データ設計、モジュール設計を支援するダイアグラマを使うことによって、システム

構築に必要な様々な情報をモデル化していくことができます。これは複雑なシステム

をシンプルに表現することを可能にするため、複数ユーザー間でのシステム設計に対

する認識の誤差をなくし、情報伝達をスムーズにします。設計情報を、スペシャリス

トにしか理解できないコードで管理するのではなく、モデルによって管理することで、

人的資源に依存しない企業資産となり得ます。

設計だけでなく、システム管理へ

Oracle Designerではリポジトリと呼ばれる情報格納庫にすべてのシステム設計情報を格

納します。このリポジトリでは、複数のユーザーによる同時アクセスが可能な環境を

提供し、これによって、平行してシステム設計を行うことを可能にしています。シス

テム情報の管理の役割はリポジトリが担います。

さらに、設計のメインとなるモデリングにより、マルチ・ユーザーでの情報の共有を容

易にします。システム設計に携わる様々な立場(データベース設計者、アプリケーショ

ン開発者、プロセス分析者、エンド・ユーザー)にとって、モデリングによるシステム

設計は、システムに対する意見交換をスムーズにします。モデリングをベースとした

設計はシステムのメンテナンスの際にも大きなアドバンテージをもたらします。シス

テムに仕様の変更が必要となった場合、その修正個所が他の設計情報にもたらす影響

の分析を可能にし、かつ最小限の修正で仕様変更を完了させることができます。

Page 6: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

6

モデル・ベース開発環境、リポジトリの利点は以下のとおりです。

• 仕様変更に対応しやすい

• フロントの技術変化に左右されない

• 実ビジネスのルールをモデル化できる

• 人的資源に依存しない

また、モデル・ベースの開発は高い生産性を提供します。コーディングのいらないアプ

リケーション設計によって、データベース・アプリケーションに必要な一通りの機能は

もちろん、その裏に潜む、多くのエラー処理コードが自動生成されます。アプリケー

ション設計者は、アプリケーションに本質的に必要とされる機能の設計に集中でき、

その他のエラー例外処理から開放されます。

このコンセプトに加えて、ラウンドトリップ・エンジニアリングによりフロントの開発

ツールの利点を利用できます。モデリングによるアプリケーション設計だけによるロ

ジックの不十分さやデバッグの難しさといった難点はこれでカバーされます。追加さ

れたロジック・コードはデザイン・キャプチャ機能によってリポジトリに反映させて管

理することができます。

Page 7: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

7

3. 製品の特徴

Oracle に最適なデータベース設計

Oracle Designerは、Oracle データベースを対象としたデータ・モデリングが可能な唯一の

ツールとして、Oracle8/8i でサポートされる固有の機能やデータ型を使った設計が可能

です。パーティショニングやオブジェクト、LOBデータ型はもちろん、データベース・

リンクやロールバック・セグメント、表領域、ユーザーなどの管理オブジェクトの設計

/生成を行うことが可能です。Oracle が提供する標準設計ツールだからこそできる、

Oracle 対応です。

◇ サポートされるデータベース・オブジェクト

一般オブジェクト Oracle 特有オブジェクト 管理オブジェクト

・表 ・クラスタ ・データベース・制約 ・順序 ・表領域

主キー ・スナップショット ・ロールバック・セグメント一意キー ・トリガー ・オブジェクト権限外部キー ・パッケージ ・システム権限検査制約 ・プロシージャ ・ユーザー

・索引 ・ファンクション ・ロール・ビュー ・索引構成表・シノニム ・パーティション表/索引

・オブジェクト型/表/ビュー・コレクション型・ネストされた表

この幅広い対応は以下の点で、Oracle Designerが有効であることを意味しています。

- システムの完全な情報を一元管理できる。

システムを管理するという意味で、できる限りの情報を一元管理しておくことは重要です。システムの仕様変更が生じた場合、一つの変更が様々な個所に影響をもたらします。システム情報が一元管理されることによって、この影響範囲を検知することが可能になります。また、システムに何らかの障害が発生した場合、システムの状況を判断する上での材料となります。

- 既存のシステム情報をロスすることなくスムーズにリバースできる。

既存システムの再構築や、アプリケーション追加など、既存のデータベース構造を利用したシステム開発の場合、再利用性を高めるためには、どれだけの情報を抽出できるか、が鍵となります。Oracle Designerのもつ Oracle8/8i 対応によって、高いレベルでのシステム情報の抽出を可能にします。

◇ サーバーサイドへの業務ロジックの作成支援

統合されたシステムでは、一つの表に対して、さまざまな業務アプリケーション

がアクセスすることがあります。この場合、データベース・サーバーでデータだ

けを管理するのではなく、共通で利用される業務ロジックも管理しておくことに

より、アプリケーションによって微妙に異なる処理を統一化させることができ、

Page 8: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

8

またメンテナンスも集中化できます。たとえば、消費税に関する計算ロジックを

アプリケーションごとに行っていると、消費税率の変更にあわせて、あらゆるア

プリケーションのメンテナンスが発生しますが、このようなロジックをサーバー

に持たせることによって、ロジックの変更を一元化できます。このようなサーバ

ーサイドの業務ロジックの作成支援機能を Oracle Designerは提供しています。

• 列の自動導出(順序の自動割り当て、作成日/更新日/作成者/更新者の記録)

• 非正規化列の設定

• データの挿入/更新/削除/ロックの前後のタイミングで実行させるロジックの作成

◇ ER および UML によるデータ・モデリング

システム設計の際に、実際のデータベース構成に近い物理データ・モデルだけでな

く、論理的なデータ・モデルを作成して、システムの分析を行うことがあります。

Oracle Designerでは、物理的なデータベース設計からのアプローチと、この論理的

なデータ・モデルからのアプローチの両方から選択することができます。

論理データ・モデルを行う際には、リレーショナル・データのモデル化として標準

的に利用されている ER(エンティティ・リレーション)図と、オブジェクト指向の

モデリング言語である UML(統一モデリング言語)をサポートしています。UMLは、

OMG(Object Management Group)によってその仕様が採用された業界標準で、様々に

モデル化されていたオブジェクト・モデリングの表記法に対し、代表的なソフトウ

ェア・ベンダー(Oracle を含む)によって統一化された表記法です。

図:UML によるモデリング

Page 9: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

9

この UMLを使って Oracle8/8i をオブジェクト・データベースとして利用するための

開発ツールとして、Oracle Designer Object Extensions が提供されます。UMLモデリン

グから生成される Oracle8/8i スキーマと C++クラス・ファイルは透過的にマッピング

されます。C++アプリケーション開発者は、データベース・アプリケーションにと

ってもっとも重要なこのマッピング部分のコーディングを行う必要がなくなりま

す。

◇ システム管理

どのデータベース・ユーザーにどの表を実装させるか、どのデータベース・ユーザ

ーにどのような権限を与えるのか、どのような表領域の構成にするのか、といっ

たこともシステム設計の要因になります。Oracle Designerではこのようなシステム

管理要因もリポジトリで管理でき、かつこれらは簡単に SQL DDLとして生成可能

です。

図:ユーザーに対する権限の管理

このユーザーに対する権限は、オブジェクト権限、システム権限およびロールでの管理が可能

です。

◇ オープンな DB サポート

ODBC 経由での接続によって、Oracle 以外の様々な DB に対する設計/デザイン・キ

ャプチャをサポートします。これにより、従来のように Oracle データベースによ

るシステムの管理だけでなく、それに関連する他 DB のシステムをあわせて管理で

きるようになります。

Page 10: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

10

図:ODBC 経由での接続の指定

モデルによるアプリケーション設計

Oracle Designerはモデルを使ってアプリケーション設計を行うことを可能にします。コ

ーディング中心ではない、このアプリケーション設計アプローチは、効率のよい開発

と高いメンテナンス性をもたらします。

◇ ユニバーサル・デザイン

Oracle Designerでのアプリケーション・モジュール設計は、ユニバーサル・デザイン

と呼ばれる、開発言語に依存しないモデリングを中心としたアプリケーション構

造設計と、各開発言語を使ったアプリケーション・ロジック設計とで構成されます。

図:ユニバーサル・デザインからのアプリケーション生成

Page 11: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

11

アプリケーションの元となるモジュール定義によって、モジュール内で取り扱う

データ構造やモジュール間の呼び出しなどの情報をモデル化します。

ü モジュールで取り扱うデータの構造

ü 表および列それぞれに許可する操作(選択/挿入/更新/削除)

ü 画面上での表示タイプおよびその表示幅、高さ

ü 他モジュールの呼び出し

このようなフロントの開発言語に依存しないモジュールの中心となる情報はユニ

バーサル・デザインとしてリポジトリに格納されます。

データ表示 画面表示

モジュールのデータ構造を中心に、その項目に対して許可する操作を設計します。

生成後の項目の配置順や項目のグループ化、プロンプトなどを設計します。

このユニバーサル・デザインをベースとして、そこに各開発言語ごとのイベント・

コードや、アプリケーションのレイアウトに関するスタイル・ガイドなどを指定で

きます。これらを基に、Oracle Designerが提供するコード・ジェネレータが、対応

するアプリケーション・コードを自動生成しますので、コーディング・ミスは極力

なくなります。

◇ コード・ジェネレータによる自動コーディング

設計されたアプリケーション・モジュール定義をベースとして、Oracle Developer 6.0Forms/Reports のソース・ファイル、Oracle Application Serverで利用可能な PL/SQLプ

ログラム、Microsoft Visual Basic のソース・コードを生成できます。いろいろなタイ

プのアプリケーションを要求される設計者にとって、同様のアプリケーション・モ

デルからジェネレータの選択如何で対応するソース・コードを得られることは大き

なメリットです。これはアプリケーションを開発する各開発ツールの使い勝手、

開発言語の仕様の違いを吸収してくれることを意味します。

Page 12: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

12

データベース設計とアプリケーション設計の統合

Oracle Designerツールセットは、データベース設計とアプリケーション設計を同時進行

的に行うことを可能にします。これにより、統合されたシステム設計を支援します。

図:データベースとアプリケーションの統合設計環境

◇ 統合ゆえの利点

システム設計において、格納するデータの整合性チェックをどのように行うか、

を決定することは重要です。多くの場合、データベースの整合性制約(主キー/一意キー/外部キー/検査)等を使って実装させたりしますが、状況によっては、その

ような制約をあえてサーバー側に持たせずに、クライアント・アプリケーションで

管理するというケースもあります。こういった場合、システムの仕様を正確に残

しておかないと、後にシステムに何らかの修正をかけたり、アプリケーションを

追加したりした場合に、追加・修正を加えたアプリケーションに整合性検査のロ

ジックを実装し忘れてしまい、その結果、大切なデータをおかしくしてしまうこ

とになりかねません。

Oracle Designerでは、サーバー・モデルで設計された整合性制約を実装させるタイ

ミングを設定することができます(妥当性検査をサーバーで行う、クライアントで

行う、両方で行う、両方で行わない、を選択できます)。

Page 13: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

13

この設定をベースとして、各種コード・ジェネレータが適当なコードを生成します。

これはデータベース設計とクライアント・アプリケーション設計を統合的に管理す

る環境だからこそ可能なことなのです。

◇ 依存性の管理

データベース設計とアプリケーション設計を統合して管理できることにより、シ

ステムをスムーズに設計できることはもちろん、システムの仕様変更時に必要な

オブジェクト間の依存性分析が可能です。

図:選択されたオブジェクトに依存している他オブジェクトのリスト

また、様々な定義情報はリンクされていますので、仕様変更に必要な手間は最小

限におさえられます。

◇ ラウンドトリップ・エンジニアリング

定義情報からのコード生成と、既存システムからのキャプチャ(リバース)を組み

合わせる開発をラウンドトリップ・エンジニアリングと呼びます。Oracle Designerではデータベースおよびアプリケーションのラウンドトリップ・エンジニアリン

グを支援しています。

- データベースのラウンドトリップ

設計されたデータベース構造から必要な SQL DDL文を生成したり、既存のデータ

ベースの状況を解析してわかりやすくモデル(ダイアグラム)に戻すことができま

す。

- アプリケーションのラウンドトリップ

Oracle Developer Forms、Reports および Microsoft Visual Basic によるデータベース・ア

プリケーションをラウンドトリップ・エンジニアリングによって開発できる環境を

提供します。これによって Design Editorがもつモジュール・モデリング能力と生成

機能、フロントの各開発ツールがもつデバッグ機能を組み合わせた非常に高い生

産性が実現できます。

Page 14: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

14

_□ x

← → ○ △ × ◇

_□

x

8/8i Dim strSql As StringDim dysDelete As OraDynaset

On Error GoTo ldDeleteRow_Err

' Assume that the row could not be deleted ldDeleteRow = False

' Initialise the output parameters pstrMsgStack = "" pstrSql = "" pintErrPos = 0

Dim strSql As StringDim dysDelete As OraDynaset

On Error GoTo ldDeleteRow_Err

' Assume that the row could not be deleted ldDeleteRow = False

' Initialise the output parameters pstrMsgStack = "" pstrSql = "" pintErrPos = 0

図:ラウンドトリップ・エンジニアリング

使いやすい設計環境

Oracle Designerのツール群のほとんどは、ダイアグラム画面と、それらのプロパティを

表示するダイアログ(またはウィンドウ)で構成され、設計される各オブジェクトのプ

ロパティとダイアグラム画面は連動して管理されています。特にシステム設計の下流

工程を支援する統合設計環境 Design Editor では、多くの設計インターフェイスが提供

されており、あまりツールを知らない設計者に対するわかりやすい入力形式とともに、

使い慣れた設計者により高い生産性を提供するための入力形式を用意しています。

◇ ドラッグ&ドロップ

Design Editorでのあらゆる操作はドラッグ&ドロップに対応しています。

オブジェクトのコピーや列の順序変更といった基本的な操作はもちろんのこと、

ダイアグラムやエディタの表示もドラッグ&ドロップでおこないます。

ナビゲータ・ツリー

ブランク領域

コード モデル

Page 15: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

15

Design Editorのナビゲータ・ツリーからブランクなクライアント領域へ、以下をド

ラッグ&ドロップすることにより、ダイアグラムが表示されます。

ドラッグ&ドロップするオブジェクト

表示されるダイアグラム

表/ビュー/スナップショット

サーバー・ダイアグラム

一目で表構造、列名、データ型を把握できます。

PL/SQLプログラム(ファンクション

プロシージャなど)アプリケーションロジック

PL/SQL、JavaScript、Visual Basic の基本構文をドラッグ

&ドロップで記述できます。

モジュール定義 モジュール・ダイアグラム

データ表示と画面表示の 2 通りの表示法を使って、モジュールをモデル化できます。

構文ツリー

テキスト・エディタ

データ表示

画面表示

表定義

ロジック・エディタ

Page 16: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

16

また、既存のデータベース情報をリポジトリへリバース(デザイン・キャプチャ)す

る場合もドラッグ&ドロップで実行できます。

◇ 編集用途に応じたユーザー・インターフェイス

Design Editorでは豊富なユーザー・インターフェイスによって、用途に応じた設計

を可能にします。対話的に必要な情報を入力するためのウィザードや、プロパテ

ィを一覧表示できるプロパティ・シート、複数オブジェクトのプロパティを比較す

るスプレッド・シートなどが用意され、ユーザーは必要に応じてこれらを自由に選

択できます。

また、設計をサポートするためのガイドも用意されています。

- 作成ガイド

データベース・オブジェクトの設計のために ...

サーバー・モデル・ガイド

アプリケーション設計のために ... モジュール・アプリケーション・ガイド

システムの管理情報のために ... データベース管理ガイド

データベース・ナビゲータデータベース上のオブジェクト情報を一覧できるツール。データベース・ナビゲータ

から Design Editor のナビゲータ・ツリーへオブジェクトをドラッグ&ドロップすることにより、その設計情報がリポジトリへ格納されます。

Page 17: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

17

このガイドは Design Editorの使い方に慣れていないユーザーに、オブジェクトの作成/編集のためのインターフェイスを提供します。

- ウィザードとプロパティ・ダイアログ

Design Editorをつかってオブジェクト定義をするとき、ウィザードを利用できます。これによって対話的なデータベース/アプリケーション設計が可能になります。また、オブジェクト作成時に利用したウィザード画面はそのままそのオブジェクトの編集ダイアログで利用されます(リエントラント・ウィザード)。ユーザーは作成と編集をまったく同じインターフェイスで行うことができます。

- プロパティ・シートとスプレッド表

オブジェクトのプロパティはダイアログ以外にプロパティ・シート形式でも表

示できます。選択されたオブジェクトが持つすべてのプロパティが一覧表示さ

れ、ここにはプロパティ・ダイアログではカバーされないような詳細なプロパ

ティが含まれます。プロパティ・シート表示を使うと、複数のオブジェクトの

プロパティを一度に変更することが可能です。また、この選択された複数のオ

ブジェクトのプロパティをスプレッド表形式で表示することもできます。この

表示形式ではプロパティを比較しながら編集することが可能になります。

モジュール定義を作成するときに利用可能なウィザード

モジュール定義のプロパティ編集のためのダイアログ

Page 18: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

18

設計アプローチの自由な選択

CASEツールとして分類されるような製品の場合、「きちんとした方法論に基づいた開

発手法が必須」であると思われがちです。特に、上流工程からしっかりと設計の工程

をこなしていかなくてはならないというように誤解されることがあります。確かにそ

れを強いる他製品も存在します。しかし、Oracle Designerが提供するいくつかの設計ア

プローチを選択することによって、方法論にあまり通じていない設計者でも OracleDesignerのもつ機能を享受できます。

• 下流からの RAD 開発 - システム設計ツールによる設計

• 既存システムの再構築 - システム設計ツールでのキャプチャ

• 上流工程からのアプローチ - システム分析ツールによるモデリング

Oracle Designerを利用し始めたばかりであったり、開発手法にあまり詳しくないといっ

た場合は、まずは、「下流からの RAD 開発」もしくは「既存システムの再構築」による

アプローチをお勧めします。これらのアプローチがカバーするシステム設計の下流工

程は、あらゆる開発手法において必要な工程であり、Oracle Designerのもっとも本質的

な部分でもあります。また、システム分析を重視した設計や、伝統的な方法論に基づ

いた利用のために上流工程を支援する多くのツールを提供しています。これらを使う

ことによって、統合 CASEツールとしての利用も可能です。

(方法論・開発手法と Oracle Designerとの関係については「6. 開発手法」も参照くださ

い)

Page 19: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

19

4. Oracle Designer R6.0 の新機能・変更点

Oracle Designerは R1.xから R2.xへの進化で非常に多くの機能拡張/改善が行われました。

R2.xから採用された設計ツール・テクノロジは、より高い完成度で R6.0 として提供され

ます。さらに R6.0 では以下のポイントが強化されます。

リポジトリ - Oracle8i のサポート

Oracle8i をリポジトリ・サーバーとしてサポートします。もちろん、Oracle8i を開発対象

データベースとしても利用できます。

このリポジトリ・サーバーとクライアントの Oracle Designerツールセットとの間の接続

には Net8が採用されており、より高速なリポジトリ・アクセスでの設計を可能にしま

す。

設計ツール - Oracle Developer R6.0 との連携の強化

Oracle Designer R6.0 の Design Editorと Oracle Developer R6.0 の FormBuilderとの連携が強化さ

れます。FormBuilderで編集中のフォームを、FormBuilderから(メニューからの選択で)

直接キャプチャできます。

ジェネレータ - Oracle Developer R6.0 のコード生成

Oracle Developer R6.0 に対応した Formおよび Report アプリケーションのコード生成と、

モデル情報へのキャプチャが可能です。Forms 6.0 より追加された、Java による拡張

(JavaBeans 領域の利用および Plaggable Java Component の指定)を利用したアプリケーシ

ョン生成が可能です。

C++クラス生成機能の強化

UMLタイプ・モデルから生成される C++クラスの機能拡張が行われています。データベ

ース・アクセスを行う C++アプリケーション開発を強力に支援します。

Page 20: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

20

5. 製品構成

Oracle Designer R6.0 は大きく 2 つに分けられます。

l Oracle Designer リレーショナル的なアプローチから、システム設計を行うためのコンポーネント群

l Oracle Designer Object ExtensionsOracle8/8i をオブジェクト・データベースとして設計するためのコンポーネント

これらは共通のリポジトリへ設計情報を格納します。

リポジトリ

Oracle Designerの各コンポーネントはすべて、リポジトリへアクセスしてそこに設計

情報を格納します。リポジトリでは、複数ユーザーが同時にシステム設計できるよ

うな環境を提供します。アプリケーション・システムという単位でプロジェクトの

ようにシステム情報を管理し、プロジェクト間での共有の制御や設計情報の再利用

を可能にします。また、各リポジトリ・ユーザーに対して、アプリケーション・シス

テム単位で、選択/挿入/更新/削除/共有/管理 というレベルの権限を付与でき、マル

チ・ユーザーでの設計情報の調整や仕事の分割に対する支援を行います。リポジトリ

に対して設計情報の入力/修正が行われると、その実行日、ユーザー名が自動的に記

録されます。

設計情報のそれぞれに、記述/注記/コメントといった多くのテキスト情報を付加でき

るため、本質的な設計情報以外のさまざまな情報を一元管理できます。また、最初

に用意されている各オブジェクトのプロパティで不足な部分はユーザー拡張性とい

う形で追加できます。すべての設計情報はリポジトリから自由に引き出すことが可

能であり、これは、リポジトリによる設計が、仕様書作成を兼ねることを意味しま

す。必要なレポート(仕様書)のテンプレートさえ作っておけば、あとは設計段階で

入力されたデータで仕様書が簡単に作成可能になります。

システム開発は様々な立場の人々が携わる作業です。エンド・ユーザーとの会議

を元にした不確定要素の多い仕様書を作成し、それを基に開発チーム内でミーテ

ィングを行うといった方法では、開発チーム間での意思統一に限界がある上、最

終的なシステムがエンド・ユーザーの要求満たしていないということになりかね

ません。開発チーム全員が共有するリポジトリに仕様を格納することで、スムー

ズな情報伝達や意思の統一を計ることができ、その都度、エンド・ユーザーへの

確認を取ることでシステムの完成度は高まります。

Page 21: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

21

◇ Pre-configured Repository

Windows NT4.0 に Oracle8がインストールされている場合、Oracle Designerのインス

トール・メディアから簡単にリポジトリを含む新しいデータベース・インスタンス

を作成できます。この Pre-configured リポジトリによってユーザーは非常に短時間

で Oracle Designerを利用可能になります。また、本格的なリポジトリ運用のため

にカスタマイズしたリポジトリ構築に関しても、ユーザー・インターフェイスや

パフォーマンスを含めて、大幅な変更が行われています。

図:リポジトリ構築の進捗を表すダイアログ

Repository Administration Utility(リポジトリ・アドミニストレーション・ユーティリティ)

リポジトリはそれ自体が一つのシステムといえます。リポジトリを管理するユーザ

ー(リポジトリ所有者)がリポジトリの構築、管理のために利用するのがこのユーテ

ィリティです。これによってリポジトリ・ユーザー管理、バックアップが可能になり

ます。

図:ユーザーの管理画面

また、このユーティリティによって、リポジトリの拡張が可能になります。Oracle Designer のリポ

ジトリは様々なシステム情報を格納できるよう設計されていますが、それでも、システムによっ

ては独自のプロパティや定義要素が必要となるケースがあります。こういった場合、リポジトリ

拡張のために用意されている「ユーザー拡張性」機能を使って対応できます。

リポジトリに接続可能なユーザー

Page 22: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

22

Oracle Designer

Oracle Designer R6.0 は複数のコンポーネントにより構成されています。これらはシス

テム設計における様々な工程を支援します。

各コンポーネントはモデル・ベースの設計を支援します。これらによって得られる設

計情報はすべてリポジトリで一元管理されます。設計者は開発方法論に応じて利用

するコンポーネントを選択し、利用できます。

システム分析ツール

Process Modeler(プロセス・モデラ)

Process Modeler は、業務フローを作成するためのツールです。左側に組織を定義し、

その右側にその組織で行うプロセス(業務)と使用するデータ・ストアを定義し、矢

印でそのプロセスとデータ・ストアの流れを定義することで、業務の流れを表わす

ことができます。プロセスは階層的に定義できますので、業務プロセスを大枠から

モデル化し、徐々に細かい部分に落としていけます。また、各プロセスには、音声、

イメージ、ビデオ情報といったマルチメディア情報を付加情報として定義すること

ができます。

この Process Modeler はビジネス・プロセス・リエンジニアリングなど、システム開

発とは直接関係ない場合にも使用できるようになっています。今までの業務フロー

作成ツールというのは、個々の PC 上での稼動のみで、複数人によるチームでの分析

が難しかったのですが、 Process Modeler はリポジトリを介して、複数の人間が一つ

の業務フローにアクセスし、更新しても、整合性を失わない機能を提供しています。

過去の例では、官庁の大規模開発の計画/分析工程において、複数人での計画/分析

作業に威力を発揮しました。

システム設計の工程 Oracle Designer のコンポーネン

プロセス・モデリング

データ分析/論理設計

データベースアプリケーション設計

データベースアプリケーション生成

リポジトリ管理

Page 23: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

23

図:Process Modeler によるモデリング

Entity Relationship Diagrammer(エンティティ・リレーションシップ・ダイアグラマ)

Entity Relationship Diagrammer はデータの論理分析を行うためのツールであり、ここで行う ER-モデリングは、多くのシステム開発アプローチにおいて利用される重要なテクニックです。もう既にデータベースの構想が出来上がっている場合は使用する必要はありません。 Entity Relationship Diagrammer は、データのあるべき姿を求めるために使用します。データのあるべき姿とは、その組織の目標や目的に則したデータのことです。そのデータについて、データ間の関係を中心に分析します。例えば、営業組織の目的が、「自社製品を顧客に販売し、利益をあげる」という場合に EntityRelationship Diagrammer では、顧客、注文、在庫、製品、営業員等をデータとして定義し、さらにそれらのデータ間の関係を「顧客は任意に一つ以上の注文を出す」や、「営業員は必ず一人以上の顧客を管理する」という形で定義します。データ間の線

の状態により、任意( )、必須( )、一つ( )、一つ以上( )を表わします。

図:ERD によるダイアグラム

組織を表す プロセスやストア、フローによるモデリング

エンティティ

スーパー・タイプとサブ・タイプを用いた表現

Page 24: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

24

ここで設計されたデータは、DataFlow Diagrammerによるデータの流れのモデリングに

利用されます。また、Database Design Transformerユーティリティによって初期のデ

ータベース・デザインに変換されます。

Function Hierarchy Diagrammer(ファンクション・ハイアラーキ・ダイアグラマ)

Function Hierarchy Diagrammer は、別名、機能階層図と呼ばれます。ファンクション

(機能)やプロセスをトップダウンで分析するために使用します。つまり、大雑把な

ファンクションの定義から徐々にブレークダウンして、詳細なプロセスの定義を導

きだすのが、Function Hierarchy Diagrammer の使用目的です。例えば、営業というフ

ァンクションには、営業管理、顧客管理、在庫管理、売上管理という子ファンクシ

ョンがあり、その中の顧客管理は、さらに顧客登録、顧客情報修正、顧客抹消、顧

客予審調査等のプロセスがあり、その中の顧客登録は、顧客の氏名、住所、生年月

日、電話番号を登録して、顧客番号を付与するという処理を行うといった感じで、

ファンクションからプロセスへの分解を行います。

図:Function Hierarchy Diagrammer

DataFlow Diagrammer(データフロー・ダイアグラマ)

DataFlow Diagrammer は、プロセス間のデータの流れを分析するためのツールです。

Function Hierarchy Diagrammer では、定義が難しいプロセスの実行順序やプロセス実

行のきっかけ(トリガーやイベントという)を把握するのに適しています。また、 メインフレームからダウンサイジングを行うためのツールとして使用される率が高い

ツールです。このツールでは、さらに機能やストア間でのデータ(エンティティおよ

び属性)のやりとりを定義できます。

Page 25: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

25

図:DataFlow Diagrammer

Process Modelerで取り扱うプロセス・ステップと、Function Hierarchy Diagrammer、

DataFlow Diagrammerで取り扱う業務機能はリポジトリ上では同じ分類です。つまり、

それぞれのツールで定義されたものを別のツールからお互いに利用し、編集するこ

とが可能です。 DataFlow Diagrammerを使用して定義された業務機能におけるデータ

の流れをベースとして、Application Design Transformerユーティリティは初期のモジュ

ール定義に変換します。

論理モデル 物理モデル

エンティティ Database Design

Transformer表定義

業務機能 Application Design

Transformerモジュール定義

この論理モデルから物理モデルへの変換で生じた表定義、モジュール定義の初期設

計は、下流工程を支援する Design Editorを使って、実装レベルの設計へと洗練させる

ことができます。

Page 26: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

26

システム設計ツール

Design Editor(デザイン・エディタ)

Design Editorはデータおよびアプリケーションの実装工程で利用する統合設計ツール

です。ナビゲータ・ツリーと、ダイアグラムやエディタを表示する領域で構成されて

います。ナビゲータ・ツリーは、設計目的に応じて 4 つのタブ・キャンバスに情報が

整理されています。

このツールによって以下の設計が可能です。

◇ データベース・オブジェクト

表やビュー、索引をはじめとして、スナップショットやファンクション、プロシ

ージャなど、あらゆるデータベース・オブジェクトを設計できます。

表、ビュー、スナップショット、オブジェクト型といったオブジェクトはダイア

グラムでその構造を確認しながら設計できます。ダイアグラムでは列のデータ型

を示すアイコンや、表に関連した制約/索引/トリガー/シノニムの情報の表示など、

様々な情報を一目で確認できるようにデザインされています。

データベース・オブジェクトの設計。表や列、ビューなどの構造や、PL/SQLプログラムを設計します。

アプリケーション設計を行います。関連する必要な情報が一覧できます。

設計されたデータベース・オブジェクトの配置や、権限管理などを行います。

分散データベース環境の設計/管理を行います。

表定義に関連するオブジェクト

(索引 /トリガー /シノニム /制約)がある場合ボタンが押せる状態になり、これが押された状態のとき下部分に名前がリストされます。

メソッド

列のデータ型と任意性(*:必須、o:任意)を表します。

オブジェクト型表定義

オブジェクト型の連結形式。この例は参照リンク(REF)を表します。

Page 27: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

27

データベース上のストアド・プログラム(PL/SQL定義)やトリガーのコードは、ロジ

ック・エディタで作成します。

ロジック・エディタはテキスト・エディタと構文ツリーの 2 つのウィンドウからな

ります。構文ツリーには基本構文が用意されていて、それらをテキスト・エディタ

上にドラッグ&ドロップできます。テキスト・エディタではキーワードを色分けし

て表示します。また、作成されたロジックは簡単な構文チェックをすることがで

きます。

◇ アプリケーション・モジュール

Oracle Developer Forms、Reports、Visual Basic のアプリケーション、および OracleApplication Serverによる動的 HTMLアプリケーションを設計できます。このアプリ

ケーション・モジュール設計は、ユニバーサル・デザインと呼ばれる、開発言語に

依存しないモデリングを中心としたアプリケーション構造設計と、各開発言語を

使ったアプリケーション・ロジック設計とで構成されます(ユニバーサル・デザイ

ンについては「ユニバーサル・デザイン - 10ページ」を参照ください)。

図:ユニバーサル・デザインによるアプリケーションのデータ構造と画面構成モデル

テキスト・エディタ

構文ツリー

Page 28: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

28

このユニバーサル・デザインをベースとして、ターゲットとなる開発ツールに対応

したアプリケーション・ロジック(PL/SQL、JavaScript、HTML、Visual Basic)を追加で

きます。アプリケーション設計者は、アプリケーションに特化したロジックのみ

の開発に集中でき、他の一般的なロジックはジェネレータによる標準的でエラー

のないコーディングを得ることができます。

図:ナビゲータ・ツリー内で管理されているロジック

アプリケーション設計の基本情報は、このユニバーサル・デザインと、それに追加

されたアプリケーション・ロジックです。さらに、設計者はコード・ジェネレータ

に対して以下のようないくつかのガイドラインを指定することができます。

• レイアウト・スタイル

• コーディング・スタイル

• 妥当性検査のタイミングやナビゲーション規定など

このガイドラインを指定する要素として、ジェネレータ作業環境とアプリケーシ

ョン・テンプレートがあります。

ジェネレータによる自動追加ロジック

ユーザー定義ロジック

モジュール定義

(ユニバーサル・デザイン)

アプリケーションロジック+

スタイル・ガイド ・ジェネレータ作業環境 ・テンプレート

アプリケーションの

ソース・コード

モジュール定義

Page 29: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

29

ジェネレータ作業環境とは、コードジェネレータに対して指定するさまざまなパ

ラメータ群のことです。これによってアプリケーションに対する標準化規定を定

めます。

図:ジェネレータの作業環境パラメータ

一方のアプリケーション・テンプレートはアプリケーション上に配置されるオブジ

ェクトの部品群です。たとえば、画面アプリケーションであれば、その上に配置

されるテキスト項目やチェックボックス、ラジオボタンなどの基本部品が含まれ

ます。ジェネレータは、指定されたテンプレート内の適当なオブジェクトをベー

スとしてアプリケーションを構成していきます。

したがって、アプリケーション上の文字のフォントや色はテンプレート上のオブ

ジェクトがもつプロパティで管理され、その他のレイアウト規定や自動生成され

るロジックなどはジェネレータ作業環境で指定されます。

項目プロパティに応じたフォントおよびサイズ、色

→ テンプレート

レイアウト規定(項目の配置方法や項目間の距離など)

→ ジェネレータ作業環境

妥当性検査の実行タイミングなど

→ ジェネレータ作業環境

このテンプレートおよび作業環境は、モジュールごとに作る必要はありません。

いくつかのパターンを作っておき、それを再利用することで、生成されるアプリ

ケーションを標準化することが可能になります。

Page 30: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

30

◇ 管理オブジェクト/分散環境管理

ダイアグラムを用いて、表やビューなどの構造を視覚的に定義できますが、実際

にシステムとしてこれらを実装させる場合、より多くの情報が要求されます。例

えば、

ü 設計された表をどのユーザーに所有させるか?

ü ユーザーに対する権限の付与をどうするのか?

ü データベース・オブジェクトをどう格納するのか?

ü 分散データベース環境を行う場合、どのように実装させるのか?

単なる表構造の決定だけの場合、後からこういった部分の設計を別途行わねばな

りません。このような情報をすべて保持できてこそ、システムの一元管理といえ

ます。

この Design Editorでは、データベース・リンクやロールバック・セグメント、表領域、

ユーザー設定といった管理オブジェクトの設計/生成が可能です。また、システム

の構成によって、複数のデータベースによる分散環境を設計するケースもありま

す。この場合にスナップショットの実装情報等を管理します。

複数のデータベースに対する分散設計情報の管理

データベース内の格納領域に関する情報

サーバー・モデルで設計されたオブジェクトをユーザーに実装させたり、それらへの権限付与を行います。

Page 31: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

31

ジェネレータ

Oracle Designerが提供するジェネレータによって、データベース/アプリケーション

設計者はコーディング作業から開放されます。Design Editorで設計されたサーバー・

モデルから Serverジェネレータにより選択したターゲット・データベースに応じた

SQL DDLスクリプトが、ユニバーサル・モジュール・デザインから各アプリケーショ

ン・ジェネレータによりエラー処理を含む品質の保証されたアプリケーション・コー

ドが生成されます。このモデル・ベース開発とジェネレータによるコード生成は高い

生産性をもたらすだけではなく、メンテナンス時にも大きな威力を発揮します。

Server ジェネレータ

Design Editorで設計されたサーバー・モデルおよびデータベース管理オブジェクトは

Serverジェネレータによって生成することにより、SQL DDLとなります。この DDLは設計情報として割り当てられたデータベースの種類に応じた構文で生成されます

ので、データベース設計者はサーバー・モデルの設計に注力できます。

生成される SQL DDLは、Net8および ODBC 経由で直接データベースに実行すること

ができます。このとき、選択された設計情報が既にデータベース上に存在している

と、Serverジェネレータはリポジトリ上の設計情報と、データベース上のオブジェ

クト情報を自動的に比較し、そのレポートと、Alter DDLを作成します。

また、Serverジェネレータは、設計されたデータベース・オブジェクトだけでなく、

アプリケーション設計から利用される API パッケージ・ファイルの生成も行います。

この API パッケージは以下の用途で用いられます。

・(Oracle Developerでの)ブロックのベースとなるプロシージャ(検索/挿入/更新/削除/ロック)

・ 更新処理を行う WebServerアプリケーションで利用するパッケージ

・ サーバー側で自動的に列値を導出させるためのトリガー

この API パッケージを、様々なアプリケーションから呼び出す共通のサーバー・サイ

ド・ロジックとすることが可能です。

実行 得られる結果

→ SQL DDL の生成

接続先データベースに指定した名前のデータベース・オブジェクトが

ない場合 → Create文ある場合 → Alter 文 および

比較レポート

※ 上記の判定は自動的に行われます。

サーバー・モデル→ API の生成

パッケージ(プロシージャ、ファンクションを含む)+トリガー

Page 32: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

32

Form ジェネレータ

Design Editorで設計されたモジュール定義(ユニバーサル・デザイン)は Formジェネ

レータによって Oracle Developer Forms アプリケーションのバイナリ・ファイル(.fmb)として生成されます。

図:生成された Forms アプリケーションの例

この Forms モジュール定義ではこれまでどおりの表取扱をベースとするブロックに

加えて、Oracle Developerの機能であるプロシージャをベースとするブロックを設計

できます。更に Serverジェネレータの API 生成機能を利用することにより、このベ

ースとするプロシージャの作成さえも自動化できます。このブロックのベースとす

る対象を変更することは、Oracle Developerのアプリケーション構成としては大きな

変更ですが、その設計情報として Oracle Designerで管理しているモデルとしてはひと

つのプロパティの変更にすぎません。設計されたモデルからの自動コーディングに

よってアプリケーションが得られますので、機能やレイアウトは同じで実装形態の

異なるアプリケーションを容易に作成できます。

Report ジェネレータ

ユニバーサル・デザインから Oracle Developer Reports アプリケーション(.rdf)を生成し

ます。モデリングによって Forms モジュールから Reports モジュールの呼び出し(ま

たはその逆)を簡単に設計でき、そのまま生成することが可能です。

Page 33: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

33

図:生成されたレポート

WebServer ジェネレータ

Oracle Application Serverで利用可能なコードを生成します。生成されたコードは

Oracle Application Serverの PL/SQLカートリッジを通した動的 HTMLになります。

JavaScript をつかったクライアント側の妥当性チェックが可能な更新系アプリケーシ

ョンを生成可能です。

図:生成された動的 HTML による Web アプリケーションの例

Page 34: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

34

Visual Basic ジェネレータ

ユニバーサル・デザインによるモジュール設計は、Visual Basic ジェネレータにより、

Microsoft Visual Basic 4.0 以上で利用可能な .vbp、 .frm、 .bas ファイルを生成します。生

成されたファイルは Microsoft Visual Basic 4.0 以上でコンパイルすることによって、

Oracle データベースとアクセス可能なアプリケーションとなります。

図:生成された Visual Basic アプリケーション

MS ヘルプ ジェネレータ

モジュール設計の過程で各モジュール項目にユーザー・テキストを定義できます。こ

のテキスト情報を使って、Formアプリケーション、Visual Basic アプリケーションで

利用可能な MS ヘルプのための .hpj、 .hmおよび .rtfファイルを生成します。これらは

MS ヘルプ・コンパイラでコンパイルすることにより、利用可能な.hlp ファイルとな

ります。

Page 35: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

35

管理ツール

Repository Object Navigator(リポジトリ・オブジェクト・ナビゲータ)

Repository Object Navigatorはリポジトリ内に定義されたオブジェクトの管理/参照を行

うためのツールです。Oracle Designerが提供する各コンポーネントから定義された情

報はもちろん、直接システム設計には関係しない付加情報(目標、重要成功要因等)

を管理できます。このツールを使って異なるアプリケーション・システム間でのオ

ブジェクトの共有/コピーや、他のリポジトリ・ユーザーに対する権限の付与を行い

ます。また、チェックイン/チェックアウト、アーカイブ、バージョン管理も可能で

す。

図:アプリケーション・システム間のオブジェクトの共有

Matrix Diagrammer(マトリックス・ダイアグラマ)

Matrix Diagrammerは、3つのカテゴリの情報を縦軸、横軸、交差点に分けてその関係を分析するためのツールです。例えば、データとプロセスのライフサイクルを MatrixDiagrammer で分析する場合には、縦軸にデータ、横軸にプロセス、交差点にライフサイクルの登録、修正、削除、照会をおくことで分析が行えます。

アプリケーション・システム間をドラッグ&ドロップすることでオブジェクトの共有/コピーが可能

Page 36: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

36

図:Matrix Diagrammer

Repository Reports(リポジトリ・レポート)

リポジトリに貯えられた様々な設計情報を組み合わせたレポーティングを行います。

このレポートは Oracle Developer Reports を使って作成されており、その 1 コンポーネ

ントである Report Builderを使ってカスタマイズすることが可能です。この RepositoryReports に含まれるレポートは以下の種類のものです。

◇ 設計情報のリスト

リポジトリ上の情報を使ってシステムの設計仕様をレポートします。レ

ポートの元となる Reports ファイルをカスタマイズすることにより、その

まま仕様書として利用することも可能です。

◇ 設計情報の品質検査

設計されたパラメータ等に不当な数値が設定されていないかどうか、設

定不足のデータがないか、をチェックしてレポートします。

◇ 影響分析

設計仕様の変更が一個所であっても、それがもたらす影響は一個所では

ありません。このレポートでは、どこに影響を及ぼすのかを把握するた

めに、依存する設計情報をリストできます。

選択された 2 つのオブジェクト・タイプの相互参照

マトリックス内で選択された個所の詳細な定義情報を表示

Page 37: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

37

Oracle Designer Object Extensions

Object Database Designer

Oracle8/8i はリレーショナル・データベースだけではなく、オブジェクト・データベー

スの要素を兼ね備えたオブジェクト・リレーショナル・データベースです。この

Object Database Designerは、Oracle8/8i をオブジェクト・データベースとして利用する

ためのツールです。前述の Design Editorとほぼ同じインターフェイスで、オブジェ

クト指向モデリングの標準である UML(統一モデリング言語)による設計を支援しま

す。この UMLによるタイプ・モデルから Oracle8/8i のサーバー・モデルと C++クラスを

生成します。

図:Object Database Designer

C++クラス・ジェネレータ

Object Database Designerによって設計されたタイプ・モデルから C++クラスを生成しま

す。この生成されたクラスとあらかじめ提供されるランタイム・ライブラリによって、

Oracle8/8i データベースと C++クラスとの間のシームレスな連携を高いパフォーマン

スで実現します。この C++クラス・ジェネレータによって、C++プログラマはデータ

ベースとのアクセス部分およびトランザクション制御のコーディングを意識するこ

となくアプリケーションを構築することができます。

8/8i

生成 提供

生成

ランタイムライブラリC++クラスファイルC++ユーザー

アプリケーション

図:生成された C++クラスの利用形態

UMLを使ったクラス・モデリング

Page 38: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

38

6. 開発手法

Oracle Designerの各コンポーネントは、リポジトリを通して、双方向に連携します。

システム設計に対し、各工程で必要なコンポーネントを使ってモデル化し、連携させ

ていくことが可能なため、特定の開発手法には依存しません。

・ Entity Relationship Diagrammer・ Database Design Transformer

ERD によるモデルは、DatabaseDesign Transformer によって初期のデータベース設計に変換されます。逆にリレーショナル・サーバー・モデルは「表からエンティティへのレトロフィット」ユーティリティによってエンティティ・モデルに変換されます。

・ Design Editor Design Editor ではデータベース/

アプリケーション設計の生成/デザイン・キャプチャによって、ラウンドトリップ・エンジニアリングをサポートします。

・ Application Design Transformer 上流工程で設計された「業務機

能」とその間のデータ(エンティティおよび属性)の流れから、初期的なアプリケーション設計の候補に変換します。

・ Process Modeler・ Function Hierarchy Diagrammer・ DataFlow Diagrammer この 3 つは、リポジトリ内の「業務機能」を

異なる角度からアプローチします。別のコンポーネントで定義したものでも、リポジトリ上は一つの定義ですのでそれぞれ利用可能です。

・ Admin Tools リポジトリ上の様々なオブジ

ェクトにアクセスできます。これらのツールで定義された情報は、当然他のコンポーネントから利用可能です。

・ Oracle Designer Object Extensions Oracle Designer とリポジトリを共有

します。お互いで定義された情報を利用しあうことが可能です。

Page 39: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

39

代表的な開発手法への適用例をあげます。

・ RAD(Rapid Application Development)

下流工程を支援するツールを中心に使って、すばやくデータベ

ース/アプリケーション開発を行います。モデリングを中心と

したコーディング・レスな設計から、ジェネレータによってア

プリケーションのプロトタイプを生成します。生成されたアプ

リケーションは、エンド開発ツール(Oracle Developer など)を

使ってより洗練させ、再びデザイン・キャプチャ機能によって

その追加された設計情報をリポジトリに戻すことができます。

・ IE(Information Engineering)

伝統的な開発手法です。上流工程からじっくりと分析を行い、

システム要求に対する情報を集約しながら開発するトップダウ

ン・アプローチです。大規模システム開発に使われ、様々な成

功を収めています。

・ BPR(Business Process Re-engineering)

現状のビジネス・モデルを分析し、どの業務プロセスに問題が

あるのかを把握します。これによってさらなるシステム要件を

導き出します。

・ Design Capture

既存のデータベース/アプリケーション・モデルをリポジトリへ

リバースして、それを再利用する手法です。戻された情報を利

用して、他の開発手法にうまく適用させていくことにより、既

存情報を用いた効率の良いシステム開発を可能にします。

また、Oracle Designer をつかった方法論によるコンサルタント・サービスも用意されています。

Page 40: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

40

7. 稼動環境および価格

稼動環境

製品の価格、および動作環境は以下のとおりです。

Oracle Designer for Windows NT and Windows 95/98 R6.0

動作環境 OS: Windows 95/98 または Windows NT 4.0

価格 1 開発者ライセンス ¥500,000

1 開発者ライセンス ¥300,000BRONZE

サポート料金 ※ 更新版の価格を含む。年額

システム構成

Oracle Designerは開発環境にのみ利用されるアプリケーションです。この開発環境には

リポジトリが必須になります。リポジトリ・サーバーとしてサポートされるデータベー

スは以下の図のとおりです。

VB/C++

開発環境

Oracle Designer R6.0

・Oracle Web Application Server R3.0・Oracle Application Server 4.0

C/Sアプリケーション

インターネット・コンピューティング実行環境:Oracle Developer Serverによる Java アプリケーションPL/SQLカートリッジによる動的 HTML

開発対象サーバー

・Oracle7/8/8i・ODBC 経由接続 DB

リポジトリ・サーバー

・ Oracle8i 8.1.5・ Oracle8 8.0.4/8.0.5・ Oracle7 7.3.4

実行環境ラウンドトリップ・エンジニアリン

Page 41: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

41

その他、開発の目的や最終的な実行環境に応じて以下のソフトウェアが必要になりま

す。

Oracle Developerアプリケー

ションを設計する場合

開発環境に Oracle Developer for Windows NT and Windows95/98 R6.0 が必要です。

WebServerアプリケーション

を設計する場合

実行環境に Oracle Web Application Server R3.0.1 以上が必

要です。

実行環境では Netscape Navigator(Communicator)4.0 以上も

しくは Microsoft Internet Explorer4.0 以上での動作が確認

されています。

Visual Basic アプリケーショ

ンを設計する場合

生成される .vbp ファイルをコンパイルする際に、

Microsoft Visual Basic 4.0 Professional Edition 以上が

必要です。

C++クラスを設計する場合 生成された C++クラスおよび提供されるランタイム・ラ

イブラリを利用するためには Microsoft Visual C++5.0 が必

要です。※ Microsoft Visual C++5.0 には Visual Studio 97 Service Pack 3

を 適用する必要があります。

MS ヘルプを生成したい場合 開発環境に MS ヘルプ・コンパイラが必要です。

Oracle 以外のデータベース

へ接続する場合

開発環境に対応する ODBC ドライバが必要です。

Page 42: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

42

8. 最後に

Oracle Designerは、Web 環境とクライアント/サーバー環境との両方のシステムを構築

可能な開発環境を提供します。このシステム設計工程をモデル・ベースで行うことによ

り、単に設計を支援する、開発の生産性を向上させる、というだけでなく、設計され

たシステムの情報を共有でき、今後のシステム設計のベースとすることができます。

これまでのように、システムを使い捨て的に扱うのではなく、その中心にあるシステ

ム・モデル・データを企業の資産として貯えていくことを可能にします。さらに、ラウ

ンドトリップ・エンジニアリングによって、Oracle Designerのもつ利点と、フロントの

開発ツールの利点を融合させた開発および管理手法を実現できます。

フロントの技術はすさまじい速度で進化していきます。Java、PL/SQL、Visual Basic、

C++、HTML、JavaScript など、環境に見合ったシステムを構築しようとすればそれだけ

多くの言語を取得し、それらをメンテナンスし、かつそれらの言語の進化についてい

かねばなりません。こういった最終的なフロントの技術に惑わされない、システムの

コアとなる部分(データおよびアプリケーション)をモデル化し、それを資産として無

駄にしないことが重要です。モデル・ベース開発環境とラウンドトリップ・エンジニア

リング、この 2 つのキーワードによって開発コストの低減や市場への速やかな適応と

いうメリットを実現できます。

Page 43: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

43

9. FAQ(よくある質問)

問い合わせの多い質問と、それに対する回答を用意しました。

Q1. Oracle Designerはどこから使えばよいのですか?

A1. Oracle Designerにはいくつものコンポーネントが用意されているため、逆に「どこ

から使ったらよいのかわからない」といわれることがあります。「最上流の工程か

ら使わないといけないのではないか」と誤解されることがありますが、決してそう

ではありません。「6. 開発手法」でも紹介したように、様々なアプローチを適用で

きます。例えば、Oracle8/8i に完全対応したデータベース設計を目的として OracleDesignerを利用してもいいし、既存システムへのアプリケーションの追加のためだ

けに利用することも可能です。Oracle Designerの主な利用用途は、

Oracle8/8i 完全対応のデータベース設計アプリケーション設計の統合管理システム設計情報の一元管理

です。

Q2. Oracle Designerと Oracle Designer Object Extensions はどう使い分けると良いのですか?

A2. リレーショナル・データベースを対象とする設計手法と、オブジェクト・データベー

スを対象とする設計手法は異なりますので、当然ながらそれぞれに対応したツール

が必要となります。Oracle8/8i を

リレーショナル・データベースとして利用する場合... Oracle Designerオブジェクト・データベースとして利用する場合... Oracle Designer Object Extensions

を利用してください。Oracle8/8i のオブジェクト・オプションを利用する場合であっ

ても、その用途が、リレーショナル・データベースとしてのものであれば、OracleDesignerの方の利用をお勧めします。

Q3. リポジトリにはどのくらいまでデータを貯えられますか?

A3. 特にリポジトリ側での制限はありません。リポジトリが格納されるデータベースや

表領域に依存します。これは企業レベルのシステムの設計情報でもリポジトリで管

理可能なことを意味します。実際、企業向け ERPパッケージである OracleApplications のすべての設計情報もリポジトリで管理することが計画されています。

Q4. Oracle Designerと Oracle Developerはどう使い分けるのですか?

A4. Oracle Designerと Oracle Developerでは、システム開発のなかで、受け持つ領域が分

かれます。アプリケーションの設計工程として、アプリケーションにどういう機能

を持たせるのか、どのようなデータ操作を行うのか、アプリケーション間をどのよ

うに連結させるのか、といった仕様に近い部分を決める作業があります。この段階

を Oracle Designerを使って行うことにより、その情報から自動的にコーディングで

きることは大きな魅力です。Oracle Developerは、このコーディングの対象となる、

フロント・エンド層を受け持ちます。アプリケーションの仕様決定工程を担当する

Page 44: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

44

設計者が Oracle Designerを利用し、その仕様に基づいたアプリケーションを、デー

タベースへの優れた親和性を持つ Oracle Developerへ向けて自動生成し、開発者が追

加コーディングを行って実際にシステムとして完成させるのが理想の開発方法です。

このようなアプリケーションの仕様決定工程を担当する設計者が Oracle Designerを利用し、そこから生成されたアプリケーションをベースとして、開発者が追加コー

ディングを行うのがひとつの方法です。

Oracle Developerは、システムの仕様を実装する部分を受け持つため、単独でデータ

ベースアプリケーションを開発できますが、上流行程のシステム仕様を定義する機

能は持っていません。Oracle Designerは非常に高いアプリケーション生成とロジック

管理能力を有しているため、極端なことを言えば、Oracle Designerですべて設計して

自動コーディングする(つまり Oracle Developerでのコーディングを行わない)方法で

もシステムで利用可能なアプリケーションを作成することは可能です。しかし、

Oracle Developerによる追加コーディングで、Oracle Designerによるアプリケーション

生成機能には不向きな部分を補い、アプリケーションとしての完成度を高めていく

ことが可能です。各ツールには得手不得手がありますので、それぞれの得意な部分

をうまく使って開発することがもっとも効率の良い開発手法であるといえます。

以下に、それぞれのツールの得意分野をあげておきます。

開発の工程 Oracle Designer Oracle Developer

データベース設計 ◎△

簡単な表構造は作成可能

設計情報の統合管理◎

リポジトリによる管理×

アプリケーションの標準化◎

作業環境による標準化○

項目のサブクラス化

複数ユーザーでの共同開発◎

リポジトリによる管理△

ライブラリウィザードによるアプリケーション作成

◎ ◎

モジュール内のデータ構造の定義

◎ダイアグラム管理

○プロパティによる定義

詳細なレイアウト設計△

作業環境による標準化◎

レイアウト・エディタ

画面の流れの作成◎

ダイアグラム管理△

簡単なコーディング

値リストの作成◎

ダイアグラム管理○

値リスト・ウィザード

エラー制御◎

自動生成○

妥当性検査コード ○ ◎イベントモデルの追加

○ ◎ロジック

構文チェック○

簡単なチェックのみ◎

即座にコンパイル可能実データを用いたテスト × ◎デバッグ × ◎

データベース設計

アプリケーション開発に対する

方針決定

アプリケーション

のプロトタイプ開発

アプリケーションのロジック開発

テスト

Page 45: Oracle Designer Release 6.0 Reviewer s Guideotndnld.oracle.co.jp/document/products/itools/designer/...Oracle Designer R6.0 Reviewer ’s Guide 4 2. 開発環境に関するコンセプト

Oracle Designer R6.0 Reviewer’s Guide

45

例えば、

という方法が考えられます。

Q5. Oracle Designerの WebServerジェネレータとは別に、Oracle Application Serverの動的

HTMLアプリケーション開発ツールとして KeyWeb Creatorがありますが、この違い

は?

A5. Oracle Designerの WebServerジェネレータで生成されるアプリケーションも、

KeyWeb Creatorで開発するアプリケーションも共に Oracle Application Serverの PL/SQLカートリッジを利用した動的 HTMLです。

Oracle Designer KeyWeb Creator簡単 ○ ◎

詳細なレイアウト△

基本レイアウトから選択◎

直感的(WYSIWYG)

仕様変更への対応 ◎ △

妥当性検査◎

自動生成△

手動でコーディング

エラー制御◎

自動生成△

手動でコーディング

更新系処理

Oracle ApplicationServer のトランザクショ

ン機能は必要なし(自動生成されるコードで

対応)

Oracle ApplicationServer のトランザクショ

ン機能を利用

アプリケーションの自由度 ○ ◎

アプリケーションに要求される機能の重要度や用途に応じて、選択してください。

Q6. 貯えられた設計情報から仕様書を作成したいのですが。

A6. Oracle Designerの Repository Reports でのレポート機能があります。この RepositoryReports は Oracle Developer Reports で作られており、カスタマイズすることが可能で

す。また、リポジトリから必要なデータを抽出して独自にレポートを作成する方法

もあります。リポジトリ・ビューは公開されており、オンライン・マニュアルやオン

ライン・ヘルプにその構造が記載されていますので、それを元に一度テンプレート

を作成しておけば、いつでも最新の情報を使った仕様書の作成が可能になります。

Oracle Designerによるモデル・ベース開発

Oracle Developerによるロジックの追加/テストおよびデバッグ

デザイン・キャプチャ機能によって追加されたロジックをリポジトリへ取り込

ダイアグラムによる視覚的な設計と、そこからの自動コーディング

実データを用いたテスト追加コーディングを即座に実行

リポジトリによる統合管理