アプリケーション設計とは文字通り「これから開発するアプリケーションを設計すること」です。この仕事は主にシステムエンジニア(SE)が担当するもので、作成した設計書はプログラマーに受け渡しプログラムを作っていきます。
ただ、アプリケーション設計といってもその業務内容は様々なので、全体を理解するためにはちょっとした知識が必要です。そこで今回はアプリケーション設計の基礎についてご紹介します。
アプリケーション設計の基本要素
まずはアプリケーション設計ではどういった要素で設計を進めるのかを簡単にご紹介します。一口に設計といっても実に様々な要素があります。
①要件定義…クライアントから引き出した要求をもとに、「こうした機能が必要だ、リソースはこれだけ必要だ、開発期間はこのくらいだ」といった要件をまとめたもの
②全体設計…何のために開発し、誰が使用するのか、実際の業務フローを交えつつアプリケーションとのかかわりを明確にするもの
③システム設計…アプリケーション開発や稼働に必要なインフラ、ネットワークおよび機器構成を設計するもの
④画面設計…ユーザーが実際に使用する操作画面のレイアウトやデザイン、あるいは機能を設計するもの
⑤データベース設計…概念設計ではデータベースを必要とする業務を遂行するために欠かせないデータを定義し、論理設計では概念設計で定義したデータを管理可能な状態に変換、物理設計ではそれに必要なハードウェア資源を設計するもの
⑥インターフェース設計…主に外部アプリケーションとの連携を設計するもの
⑦運用設計…アプリケーションが安定稼働するための日常業務や、障害対応がスムーズに行われるようにルールやプロセスを設計するもの
⑧テスト設計…開発中のアプリケーションをどういった方法でテストするか、どんなテストツールを使用するかを設計するもの
⑨開発環境設計…アプリケーション開発をどの技術(導入するサーバーやデータベース、開発に使用するプログラミング言語やフレームワークなど)で進めていくかを設計するもの
⑩機能分割設計…基本設計にて洗い出したアプリケーションに必要な機能のそれぞれの違いを明示するもの
⑪モジュール設計…機能分割設計によって細かい要素に分けた機能を、処理手順やワークフローに従って一覧するもの
⑫内部データ設計…データの入出力のフロー、分割したモジュールの整理と結合度の確認、さらにモジュール間でのデータの受け渡しについて設計するもの
以上のようにアプリケーションを構成する要素をすべて設計し、設計書としてまとめることで初めてアプリケーション開発に必要な設計が完成します。
[RELATED_POSTS]ドキュメント管理と品質管理
アプリケーション設計によってできあがった成果物を一般的に「ドキュメント」と呼びます。ちなみにアプリケーション開発における設計書は、建築業や製造業で見られるような図面での設計書ではなく、ExcelやWordにてテキスト主体で作成したものを設計書と呼びます。前述したプロセスの結果として作成されたドキュメントは、適切な管理のもと保管されなければなりません。
その理由は「ドキュメントを使い物にならなくさせないため」です。アプリケーションの開発が完了すると本格的にアプリケーションの利用が始まりますが、運用途中でもアプリケーションを加えることは多々あります。機能改善のための改修やバージョンアップのための改修など目的は様々ですが、改修が加わるということは開発段階で作成したドキュメントと相違が生まれるということです。
アプリケーションは改修したのにその内容がドキュメントに反映されていないと、ドキュメントは次第に役に立たなくなっていきます。要は「使い物にならなくなる」ということです。
会社というのは流動的なものなので、組織構成が変わったり運用担当者が退職することもあります。そうした際にアプリケーション運用や開発に新しく関わる人が加わるわけですが、ドキュメントが使い物にならなくなった状態ではアプリケーションへの理解が遅れ、適切な対応ができなくなってしまいます。
ドキュメント管理が徹底されていないとこうしたトラブルを多く引き起こすので、結果としてアプリケーション運用や開発の生産性が大きく下がってしまうでしょう。つまり、成果物としてのドキュメントはアプリケーションの一部として同期して保守され続けなければ意味がなくなってしまうのです。
アプリケーションにおいてよく言われる品質管理とはドキュメントの品質を担保するための管理でもあります。アプリケーション開発では構築したアプリケーションの品質はもとより、同時に設計書にも品質が必要になるのです。ドキュメントはアプリケーションの一部とみなされるように、ドキュメントの品質はアプリケーションの品質でもあるのです。
では、ドキュメントの品質とは何でしょうか?品質管理にまず必要なのは「可読性」でしょう。可読性とは作成したドキュメントを、誰が見ても等しく理解できるという状態です。
たとえばシステムエンジニアが作成したドキュメントが本人にしか理解できないような内容であると、それを参考にアプリケーションを構築するプログラマーは大苦戦するでしょう。さらに、エンジニアがクライアントに提出したドキュメントに可読性が悪いと、クライアントはアプリケーションの状態を把握できなくなってしまいます。
ドキュメントの品質を確保していればアプリケーション開発はスムーズに進行し、最終的な成果物の品質も自然と向上するはずです。しかし、品質管理には大きな課題があります。それがプログラミング言語などと違って国際的な標準が存在せず、企業や開発チームによって設計フォーマットが異なることです。
残念ながら、アプリケーション設計にあたってどんなルールを規定しても設計フォーマットのばらつきは発生します。こうした品質管理の問題を解決するにはどうすればよいのでしょうか?
アプリケーション設計の品質問題を解消するSI Object Browser Designer
古くからCASEツールや4GL、コードジェネレータなどアプリケーション設計を自動化する試みは存在しましたが、システムエンジニアに浸透しなかったのが実情です。
これらの製品は設計工程からプログラミング工程までをカバーする製品として登場しています。 ただしそのためには、本来プログラマーの裁量に任せられる部分までシステムエンジニアが定義しなければならず、設計作業の効率がかえって悪くなるという問題点があるのです。
その結果、ExcelやWordなどフォーマットのばらつきが生じる汎用的なソフトウェアを使用しなければならないのかというと、実はそうではありません。システムインテグレータが提供するSI Object Browser Designerは、標準化されたドキュメント作成を皆さんに提供しています。
SI Object Browser Designerは「実用的な設計書を作成するシステム」をコンセプトに開発されているため、最終的に仕様書や基本設計書および詳細設計書を作成しますがソースコードを生成しません。そのため従来のアプリケーション開発と同じようにシステムエンジニアとプログラマーの領域を明確にし、現実的にプロジェクトを進行することができます。
さらに、誰もが同じようにドキュメントを作成できるため、設計書の標準化が可能になり品質問題を解消できるというメリットがあります。
もしも皆さんがアプリケーション設計の品質管理やドキュメント管理で課題を感じているのであれば、SI Object Browser Designerの導入をぜひご検討ください。革新的なソリューションでアプリケーション設計およびプロジェクト全体に大きな生産性と品質の向上をもたらします。