ジェネクサス・ジャパン
代表取締役CEO
大脇 文雄
この連載では、南米ウルグアイ生まれの業務アプリケーション開発ツール「GeneXus(ジェネクサス)」について説明している。前回は総論として、GeneXusの概要と、GeneXusが登場した背景を説明した。
今回からは、GeneXusを使ってどのようにシステムを作るのか説明していく。今回は、実際の開発に取りかかる前に準備すべき五つの作業と画面生成機能を取り上げる。
まず「業務の理解」に集中する
GeneXusの技術を学んだ多くの技術者はまず、「GeneXusを使う前に、いったいどんな準備をすべきか」という疑問を感じるそうだ。前回説明したように、GeneXusによる開発は「業務の理解・記述」が大きなウエートを占める。しかも、開発の進め方はインクリメンタル型が基本であり、ウォーターフォール型の開発になじんでいる技術者はやや戸惑うかもしれない。
その一方で、やや抽象的な言い方だが、GeneXusを使って開発すると、エンドユーザーとの距離がこれまで以上に近くなったと感じるだろう。
では、どんな準備が必要か。「業務の理解」に集中するために、大きく五つの作業を進めていく必要がある。
作業1:開発範囲(スコープ)の定義
最初に、開発範囲(スコープ)を定義する。これはどの開発プロジェクトでも同じだが、GeneXusによる開発では特に重要になる。GeneXusを使うと簡単に仕様を追加・変更できるため、最初にユーザーとの間でスコープを明確に定義し、文書化しておく必要があるのだ。この文書で、外部や既存システムとのインタフェース部分を明確に記述しておくことも忘れてはならない。
加えて、プロジェクトマネジャーは今まで以上に開発者の作業内容を正しく把握するよう、心がける必要がある。開発者を放任状態にしておくと、スコープを気にせず、ユーザーから要求されるままに機能を追加していくようなケースも起こり得る。
作業2:業務担当者の役割(ロール)の定義
次にシステムを利用する業務担当者の役割(ロール)を定義する。作業1と同様に、各担当者の業務上の役割と権限を明確化し、文書化しておく。担当者別に使える機能を制限するといったセキュリティの実現にもつながってくる。
作業3:業務フローの定義
多くの場合、一つの業務を複数の業務担当者が分業して進める。そこで、業務の流れと誰が担当するかを表した業務フロー図を作成し、業務のイメージをユーザーとの間で共有する。
作業4:業務で使っている情報の整理
名前 | タイプ | 項目名称 |
---|---|---|
InvoiceId | Numeric(4.0) | 請求書番号 |
InvoiceDate | Date | 請求日 |
CustomerId | Numeric(4.0) | 顧客番号 |
CustomerName | Character(20) | 顧客名 |
ProductId | Numeric(4.0) | 製品番号 |
ProductName | Character(20) | 製品名 |
ProductPrice | Numeric(8.2) | 単価 |
LineQuantity | Numeric(4.0) | 数量 |
LineTotal | Numeric(8.2) | 行金額 |
InvoiceSubtotal | Numeric(8.2) | 小計 |
InvoiceTax | Numeric(8.2) | 税 |
InvoiceTotal | Numeric(8.2) | 合計 |
次に、作成した業務フローに沿って、担当者間を流れる情報を整理する。それにはまず、業務の現場で使っている伝票や台帳(レガシーシステムの再構築であれば画面や帳票、データベースのデータ項目)をすべて収集し、使われているデータ項目を整理する。
データ項目を整理すると、同音異義語や異音同義語を洗い出すことができる。異なる部門が連携して業務を進める場合には、用語の調整が必要になる可能性が高い。この作業は決して簡単ではないので注意が必要だ。
データ項目を整理できたら、それぞれの項目にデータの属性や桁数を与え、識別子として英文の項目名を付与する。そのうえで、伝票などデータ項目の固まりごとにキーとなる項目を定義する。データ項目を整理した例を表1に示す。
作業5:業務ルール、イベントの整理
続いて、各業務担当者が担当する作業内容を業務ルールとして整理する。同時に、集計作業、データの計算加工処理、他の情報との照合チェック作業や、日報・月次売上集計表の作成のような決められたタイミングで実行する作業をイベントとして整理しておく。
以上をまとめると、業務の階層は図1、業務フローは図2のようになる。