loading spinner

設計段階で必要なドキュメント覧

January 06, 2021

Doc

新年あけましておめでとうございます。Wataru です。

今回はソフトウェア開発で必要なドキュメント、ツールを紹介します。

MVPプロダクト、シンプルなアプリであればなくても作れるかも知れません。ただ、ビジネスにおいて、チームで開発する際に、これらのものがないプロジェクトが頓挫する可能性があります。

また、個人開発においても、これらのドキュメントがあると非常に役に立ちます。もしないと、コーディングと同時に、どのページにどんな機能をつけるのか、どんなデザインにするのかを同時に考えて実装しないといけません。それは非常に大変で苦しい作業です。

設計段階で必要最低限のドキュメントをまとめました。他にもありますが、今回は最低限のもののみです。それぞれ見てみましょう

1. 仕様書/機能一覧書

機能と、その仕様をまとめた定義書で、僕が働いてるバンクーバーの会社では、見積もりの際に作成します。

なぜこのドキュメントが重要かと言うと、

  1. このドキュメントに沿って、開発を進めるため
  2. クライアント、またはチームに向けて、どの機能を実装するかを明示するため
  3. それぞれの機能にどれほどの工数(開発時間)がかかるのかを算出して、開発にかかる時間と費用を割り出すため

開発するソフトウェアが複雑になほど、機能、仕様一覧を丁寧にまとめる必要があります。

これはソフトウェア開発という非常に予測が立てづらいものを数値化し、開発スケジュールを立て、費用を算出るためです。個人開発においても、どの機能を実装するかを決めることが開発の第一歩になります。

ただ必ずしもこのドキュメントに遵守して開発を進めないといけないことはなく、後々機能を変更、追加することもざらです。それはマーケットの変化であったり、競合会社であったり、開発の観点で変更せざるをえないことによる変更かもしれません。最近のソフトウェア開発は、現在のビジネスシーンの急激な変化に対応するため、アジャイル開発が主流です。

そうなると、後々一部機能を変更したり、新たに追加したりするのですが、その場合ドキュメントがあると変更がわかりやすいですね。

2. 画面設計書(ワイヤーフレーム)

仕様、機能がきまると次は画面設計になります。どの画面が、どの機能を有するのかのラフ案を作成します。最初は手書きでもいいと思いますし、Figma, Sketch, AdobeXDなどのデザインツールを使用してデザインを進めてもいいかと思います。

3. スタイルガイド

スタイルガイドを作るということは、デザインルールを決めることです。

  1. どのフォント、カラー、アイコンを使うのか
  2. ボタンなどのUIコンポーネント一覧をしるし、それぞれどういったパターンのものが存在するのか

を示します。このガイドに従うことで、デザインの統一性を持たせることができ、よりまとまったUIを作ることができます。

4. UIデザイン

ワイヤーフレーム、スタイルガイドができると、それらにしたがって、デザインをはじめます。画面設計書で作成したデザインファイルの各画面に肉付けをしていく形でもいいかと思います。その際、スタイルガイドに沿ってデザインを進めることが重要になります。

デザインが終わるとそれをベースに開発をすすめることになるので、デザインの共有が必要になります。Figma, AdobeXDは共有機能がありますし、Sketchの場合、Zeplinから共有するのが一般的です。

5. テーブル定義書

こちらはバックエンドも用意する場合でかつ、データベースでユーザー情報などを保持する場合に必要のなる定義書です。データベーステーブルの定義書で、

  1. テーブル名
  2. 項目名
  3. データ属性
  4. Nullの受け入れ可不可
  5. デフォルト値
  6. プライマリーきー
  7. ユニークキー

が一般的でしょうか。

自身で定義書を作るのは大変なので、テンプレートを使うか、僕のおすすめは dbdiagram.ioです。無料で作れます。

6. API仕様書

こちらも同じくバックエンドを用意する場合に必要のなる定義書です。API名、機能概要、パラメータ、レスポンスを記します。こちらも自身で準備するのは大変なので、雛形をつかうか、Swaggerをバックエンド側でインストールしてAPIドキュメントを自動生成するのがいいかと思います。

Wataru

バンクーバー在住4年目のプログラマー。現地のソフトウェア会社でフルスタックデベロッパーとして勤務。自身で作ったサービスで社会貢献したい。永住権申請中。

© 2021 Wataru Maeda