IT技術 副業

システム方式設計:「第2章 オンライン処理方式」の書き方

IT技術
おく
おく

システム方式設計書(アプリケーション方式設計書)には具体的に何を書いたらいいのでしょうか。
慣れていないととても難しいですね。
役に立つシステム方式設計書にするにはどうしたらいいのか。
記載すべき技術要素と書き方を説明します。
今回は、Webシステムなどオンラインシステムで最も肝となる「オンライン処理方式」について解説します。

オンライン処理方式に書くこと

オンライン処理方式はオンラインシステムでは中心になる章です。
オンラインシステムというのはECサイトやホームページなどインターネットを使って利用するようなシステムはほとんど該当します。

オンライン処理方式ではプログラマーが構築する要素の大半を含みます。
プログラムのクラス構造をどのように標準化するか。
サーバ間で連携(通信)する方法。
サーバのフォルダ(ディレクトリ)階層。
などなど。
作成するプログラムに直接影響をする項目の設計になります。

オンライン処理方式に書く要素

では、オンライン処理方式にはどのようなことを書いたらいいのでしょうか。
技術要素の一例を列挙します。
・アプリケーション構造
・セッション制御
・共通領域
・トランザクション方式
・アクセス権限
・業務規制
・検索件数制御方式
・画面遷移方式
・画面項目制御
・入力チェック
・禁止操作
・メッセージ出力
・ファイル転送

オンライン処理方式は設計する要素は多岐にわたり膨大です。
「概要」「処理方式」「実装方式」のサブ章は各技術要素ごとに作成するのがよいでしょう。

第2章 オンライン処理方式
 2.1 アプリケーション構造
  2.1.1 概要
  2.1.2 処理方式
  2.1.3 実装方式
 2.2 セッション方式
  2.2.1 概要
  2.2.2 処理方式
  2.2.3 実装方式

(※実装方式は不要な場合があります。上記はイメージです。)

各方式の概要

オンライン処理方式はボリュームがあるため、まずは各章の概要説明をします。

2.1 アプリケーション構造

アプリケーション構造はこれから構築するシステムの構造を説明していきます。
設計要素は

・オンライン処理概要
サーバごとに配置する資産構成を明らかにします。
どのようなクラス構成にするのか標準化します。
また、リソースファイルなどプログラムの中で使う定義ファイルも明らかにします。

・フォルダ構成
各サーバのフォルダ構成を明らかにします。
プログラムから利用するためのファイルの位置関係を決めます。

・そのほか
そのほかには、「システム構造」「ソフトウェア要件」もオンライン処理方式には必要な要素です。
しかし、第1章システム構造で説明していれば不要です。

2.2 セッション制御

セッション情報をどのように保持するのか。
どのような情報を保持するのか。
どれくらいの時間保持するのか。
など、セッションの管理方法についての方式を決めます。

2.3 共通領域

プログラムの中で共通に利用できる変数や外部定義ファイルについて説明します。
どの領域にどのような情報が定義されているか。
どうやって利用するかを説明します。

2.4 トランザクション方式

DBへのトランザクションの方式について説明します。
ここではオンライン行う方式です。
例えば、どのクラスでbeginやcommitを行うのか。
SQLを発行するのはどのクラスで行うのか。
「オンライン処理概要」で説明をしたクラス構造を利用して説明するといいでしょう。

排他処理の方法についても決めます。
排他処理の方式はバッチ処理との整合性を考える必要があります。
オンライン処理中に起動するバッチがあれば同じ方式を採用しておかないと排他が機能しません。

2.5 アクセス権限

利用者ごとに利用できる機能に制限を設けたり、表示させる内容に制限を設定したい場合にどのような仕組みで実現するのかを設計します。

2.6 業務規制

システムのメンテナンスなどで停止をする場合の仕組みを設計します。
例えば、サービスを利用中の人がいた場合に、いきなりサーバを停止するとデータが壊れたり不都合が起きます。
このようなことを防ぐために、段階的にシステムを止めたり、停止までの時間猶予を持たせたり、メッセージを通知するなどの仕組みを考えます。

2.7 検索件数制御方式

検索結果を一覧表形式で表示する場合の仕組みを考えます。
表示する件数の上限を設定するのかしないのか。
どのように件数の上限設定をするのか。
何件かごとにページ送りをするのか。
ページ送りをする場合、2ページ目以降の情報はページ送りの都度検索するのか、全件メモリに保持しておくのか。

2.8 画面遷移方式

画面遷移する場合のルールを決めます。
どのような時に子画面を出すのか、画面遷移にするのかのルールを決めます。
また、画面間で情報を引き渡す場合にどのような仕組みで行うのかも考えます。

2.9 画面項目制御

入力項目などを条件によって非活性にしたり活性にするための仕組み。
入力チェックをするための情報をどのように保持するのかなど画面の項目を制御するための情報をどのように保持するのかを設計します。
ボタンに対する処理を対応付ける方法なども考えます。

2.10 入力チェック

入力項目に対してどのようなチェックをするのか、どのような順番でチェックするのかを決めます。
例えば、
・必須チェック
・桁数チェック
・文字種チェック
・数値の範囲チェック
などです。

チェックでエラーがあった場合にどのように利用者に通知するのかも決めます。
メッセージを出すとか、項目の色を変えるなどを決めます。

2.11 禁止操作

利用者がやってはいけない操作を列挙します。
それがシステムで抑制できるのか、注意喚起にとどまるのかなどを明らかにしておきます。

2.12 メッセージ出力

エラーなどのメッセージを表示する仕組みを設計します。
メッセージ一覧を外部ファイルで保持するなど。
画面上のどこで通知するのかなどです。

2.13 ファイル転送

ファイルをアップロードしたり、ダウンロードする仕組みを考えます。
どこのフォルダに格納するのか、中間ファイルを作った場合不要になったら削除するなどの仕組みを考える必要があります。

コメント

タイトルとURLをコピーしました