Web Technologies > XML for Designers

XMLのサンプルプログラムを実務で活かすには?(3)

設計

 Webアプリケーションの開発では、技術進化の速さやコストの面から、短納期化が加速しているようです。このため、要件定義、設計、プログラミング、デザイン、テストという各工程を一段階ずつクリアしていくという方法が、年々困難になっているように思えます。
 納期をクリアするためには、仕様の最終決定や詳細設計を待たずに、併行してプロトタイプ開発に着手してしまうことも、有効な方法かもしれません。その場合は、設計者とプログラマの間の、綿密な連携が重要です。手描きのフローで説明しながらコーディングを行うといった、ツーカーのやりとりが必要になります。
 PROJECT KySSの相方と仕事を受注した場合、この相方には、恐ろしいほどの先走り癖があるため、納期が短かろうが長かろうが、ヒアリングの段階から、コードを書きたがります。よって、わたしは、仕様を煮詰め基本設計を行う一方で、実装「することになるはずの」機能を予測し、その実装方法、XMLの設計などを伝えます。その場合、手描きでの説明になったり、ダミーデータをテキストで渡すようになるため、資料の整理が重要になります。クライアントさんとの打合せ資料や議事録と混同しないように注意する必要があります。

1. 基本設計
  • 実装する機能:画面遷移図をもとに、どのような機能を実装するかを決めます。
  • フォルダ構成の標準化:正確なフォルダ構成を決めます。
  • XMLファイルの扱い方:1個のXMLファイルを使うのか、複数に分割して縦断検索や抽出を行うのかを決めます。どのWebフォームページのプログラムで、どのXMLファイルのデータを、どのように処理するのかを明確にします。
  • 周辺システムや既存システムとのインタフェース設計:既存システムとデータ交換による接続が必要であればその設計を行います。
  • 各機能間のインタフェース設計:各機能の接続部分の設計を行います。どの段階で、どのような手順でメニューを選択すれば、ユーザにとってフレンドリーであるかを検討します。
  • 入力画面の設計:ユーザにデータ入力をもとめる場合、入力方法を決定します。携帯端末からの入力が考えられる場合は、対象とする携帯端末の種類や型番と記述言語も決定します。表引き等で既存データをXML形式にシリアライズして利用する場合、あるいはXMLを生成し、同時にSQL Serverデータとしても保存させるような場合は、その変換方法や実装方法を決定します。
  • 出力画面の設計:ユーザが操作した結果、出力する媒体を決めておきます。目的に応じて、出力方法を決めます。印刷しての利用が考えられる場合は、どの段階でプリントアウト可能とするか、印刷用画面を別個に作成するかどうかも決定します。携帯端末からのアクセスが考えられる場合は、対象とする携帯端末の種類や型番と記述言語、その出力方法を決定します。ユーザに表示方法を選択させる方法についても、検討しておきます。
  • アクセシビリティへの配慮:企画段階で設定されているユーザ層に対する、アクセシビリティを実現するために必要な事項を書き出し、決定します。
  • データ更新方法:データ更新の方法を決定します。クライアント側で更新を行う場合は、リモートデスクトップやPC Anyware、FTPなどの設定について助言します。
  • セキュリティ:SSLをかけるかどうか、また、フォルダ名を決定します。1カ月に満たない短納期の業務では、ベリサインを利用する場合、早めに手配しなければ、運用に間に合わなくなりますので、注意が必要です。
2. 詳細設計

 各機能をどのように実装するのかを決定します。
 動作と表示、その機能を実装する根拠、アプリケーション全体の中での機能の位置付けを明確にしてプログラムロジックの設計を行い、コーダーに作業を引き継ぎます。

  • 各機能のデータ処理方法の検討:各機能を構成する、各Webフォームページの詳細図を作成します。
  • どのページをどの技術で実装するか。すべてVB.NETで行うのか、XSLTを併用するのか、など。
  • どのページに、どのコントロールをレイアウトするか。
  • ユーザのアクションをどのように受け付けるか。
  • どのXMLファイルの、どのノードを読み込んで処理するか。どのようなXMLを生成し、どのフォルダに保存するか。
  • ユーザのアクションによって、表示を変える必要があるか。
  • 次のWebフォームページに、どの値を、どのような形で渡すか。
  • どのような操作の場合に、どのようなエラーメッセージを表示するか。
  • タグ設計:データベース設計、インタフェース設計については、いろいろな方法があると思いますから言及しません。ただし、XMLデータを扱う場合は、タグの設計も重要な要素です。例えば、XML文書のタグ付け(階層構造)や、どのクラスのどのメソッドを使うかという問題は、XML文書の走査速度に関わり、処理に要する時間に影響を与えます。タグの名前と階層構造を検討しながら、サンプルプログラムを記述し、動作させてみて、また階層構造を検討するという繰り返し作業が、経験値として必要です。
  • 共通使用クラス等の設計:各機能または各Webフォームページで共通使用するクラスの設計を行います。
  • インスタンスの破棄とメモリの開放:ユーザの端末をPDAに設定する場合、プロジェクトと各フォームの構成にも注意します。
  • 作業手順の標準化:フォルダ名、ファイル名を標準化します。複数のプログラマで開発を分担する場合、データ型、変数、パラメータを渡す場合はそのパラメータ名などについても標準化を行います。
もどる | 前へ⇒ | 次へ⇒