はじめに
- もともとは新規Webサービスを立ち上げる際に1からつくったもので、業務の中でドキュメントを作成しました。
- 再利用性を求めてフォーマット化しましたので、二次利用に使うなり、勉強資料などに役立てらればとおもいます。
- 今回は前編、中編、後編の3部で記載しておきたいとおもいます。
- 前回に続いて、今回は後編となります。
前提
- 要件定義を作成する上で、企画書や仕様書など記載する上での前提の資料が必要になってくるかと思います。
- 図を作成する上で、Caccoを利用しております。
目次
- サービスの目的
- サービス概要
- サービスに関連する人物
- サービスに関連する人物がサービスにどのように関わっているのか
- サービスの利用フローや業務フロー
- サービスの状態変化
- 機能要件
- 非機能要件
※太字の部分が今回記載することです。
後編の概要
- さて、いよいよシステムを作る上での機能要件です。
- なんか前段色々図書いて、ここに辿り着くまでに大した説明なかったですが、サービス -> システム -> 機能 までのボトムダウンが自身の理解の中で行われていればOKです。
- もし、不明な機能が突然現れたら、中編の洗い出しが粗いか不足しています。もう一度ヒアリングして見直してみましょう。
機能要件
- まず、機能要件は細かに機能を出していくのではなく、システムを構成する主軸となる機能を出しましょう。
- 次に機能概要、スコープ、処理フロー、機能一覧、データ要件など一つ一つ詳細化していきましょう。
例
商品表示機能
機能概要
- 商品のコンテンツ情報を掲出するために提供される機能である。
- また、当機能から商品の予約を行う導線としても用いられる。
スコープ
- 商品情報の表示
- 商品のお気に入り登録
処理フロー
|#|フロー|
|:---|:---|:---|:---|
|1|商品画面にアクセスする|
|2|基本情報を要求する|
|3|基本情報を取得する|
|4|基本情報を出力する|
機能一覧
# | 機能名称 | 機能区分 | 機能説明 |
---|---|---|---|
1 | 基本情報の表示 | 基本情報表示 | 商品の基本情報を出力します |
2 | 販売元情報の表示 | 販売元情報表示 | 販売元情報を出力します |
3 | 写真情報 | 写真情報表示 | 写真情報をスライド式に出力します |
4 | 金額情報 | 金額情報表示 | 商品の金額情報を出力します |
データ要件
- 商品システムに登録された情報のうち、掲載している商品情報に対してデータを取得する。
- 以下の情報を取得する。
- 基本情報
- 販売元情報
- 写真情報
- 金額情報
非機能要件
- 信頼性要件、性能要件、セキュリティ要件、移行要件、運用要件の計5種類を記述します。
信頼性要件
例
- 本システムは原則24時間365日稼動すること
- システムメンテナンスが必要の際は、ディレクター判断の元のみ実施すること
- システムメンテナンス中は、メンテナンス中画面を出力させること
- システムメンテナンス時間は、最大8時間までとし、AM10時までにはシステムの稼動を再開させること
- フロントエンド画面のシステムメンテナンスは、原則各ページを出力状態とし、予約フォームへの遷移のみ制限をかけるものとする
性能要件
例
- 原則、1画面におけるレスポンス時間は1秒以内とすること。また、やむをえない場合についてはユーザビリティの観点に基づく処置を行うこと
- 品質管理会社による審査を1回以上実施し、認可されること
セキュリティ要件
例
原則、IPAに明記された情報セキュリティ規約に基づくものとする
- 公開すべきでないファイルを公開しないこと
- 不要なエラーメッセージを返していないこと
- ログを記録していること
- 不正アクセスを防止する対策が施されていること
- プライバシーマーク制度に順ずる対策が施されていること(SQLインジェクション、クロスサイトスクリプティングなど)
- クロスサイトリクエストフォージェリを防止する対策が施されていること
移行要件
例
- 移行時に掲載する商品データを移行すること
- 移行前に掲載する商品データを作成するためのツールを作成すること
- 移行を実施する際には、移行計画書および移行手順書を作成すること
- 移行前に1回以上のリハーサルを実施すること
運用要件
- 以下の運用要件が発生する
商品カテゴリマスタの更新
予約数ランキングの抽出
- 運用を実施する際には、運用計画書および運用手順書を作成すること
まとめ
- 今回、駆け足で書いてしまいました。要件定義の書籍などからは外れている部分があるかもしれませんが、書籍がサービスやプロジェクトを支えてくれるわけではなく、それに関わる人に還元できるものになっていればよいかと思ってます。
- Web業界だけではないかもしれませんが、何かを作る時に一番最初に出てくるのは視覚的なイメージです。ただ、それどおりに作っても良いサービスはできません。サービスを利用する人に対して本当に必要なものを届けることを一番にこのような要件定義をしていけば、そのサービスの存在意義が見いだせると思います。