【要件定義】ドキュメント管理ツールを作ってみる【編集中】


▪️【計画】ドキュメント管理ツールを作ってみる
http://qiita.com/newsour/items/4e81e7f80329234493b7

DoCCS(ドックス)
Document Creation and Configuration management System

【目的】
プロジェクトのドキュメント作成及び管理コスト削減のため

要件定義〜テストまでのドキュメントについて作成からレビュー、構成管理まで一括して行う。

【業務要件】
全ての項目には共通して以下のフォーマットで記述する
・工程のID
・要件の機能名(基本設計以降は紐付く工程のID)
・作成者
・作成日
・更新者
・更新日
・承認者

▪️新規プロジェクトの場合

要件定義書の作成
以下の項目を記載する
・機能に対してどの業務要件をシステムで解決するのか(範囲)
・機能に対してのmust,want,never
・要件詳細

レビュー
※後述

基本設計書の作成
機能設計
単体機能毎にシステムがどこからどんな条件で何を登録/更新/参照/削除するか記載する

画面設計
 画面ごとのデザイン、イベント、紐づく機能を記載する

API設計
 ・GETかPOSTか
 ・環境ごとのURL
 ・リクエスト・レスポンスともに物理名、論理名、型、サイズ、範囲、取得元を記載する
 ・エラーについての記載
 ・サンプル

バッチ設計
 ・機能
 ・頻度、タイミング
 ・エラーについての記載

構造設計
 DB
  テーブル物理名
  テーブル論理名
  テーブル概要
  カラム物理名
  カラム論理名
  型
  サイズ
  外部キー
  必須か否か
  インデックス
  データ削除周期
 キャッシュ
  キー(ルール)
  バリュー
  期限
  
レビュー
 コメント
 承認 

詳細設計書の作成
 基本設計に加えて必要であればシーケンス・フローチャート
 レビュー

テスト方針書の作成
レビュー

単体テスト仕様書の作成
レビュー

結合テスト仕様書の作成
レビュー

総合テスト仕様書の作成
レビュー

本番テスト仕様書の作成
レビュー

▪️機能追加の場合
上記フロー
+影響範囲のドキュメント修正
レビュー

▪️不具合修正の場合
影響範囲のドキュメント修正
レビュー

【機能要件】
■設計者登録機能
 概要 :設計者としてシステムにアカウント登録をする
 Must :メールアドレスに対して1アカウント
 Want :Slackアカウントの紐づけ
 Never:メールアドレスの重複

登録は以下を入力
 ・ID(メールアドレス)
 ・PW 8文字以上(半角英数字のみ)
 ・名前 (半角英字、全角ひらがな、全角カタカナ、漢字)

■権限管理機能
 概要 :アカウント毎に閲覧、編集、出力の権限を管理する
 Must :アカウント毎に閲覧、編集、出力の権限を管理する
 Want :新着アカウントの通知が出るようにする
 Never:管理者以外操作ができてはいけない

 権限は以下の通り
  ・システム管理者(クライアントの追加ができる)
  ・ドキュメント管理者(クライアントの管理者、PJ追加、個人にPJのドキュメントの参照権限、編集権限、出力権限の操作が可能)
  ・設計者(ドキュメント管理者により与えられた権限でシステムを利用することが可能)

■ログイン機能
 概要 :IDとPWを使ってシステムにログインする
 Must :IDとPWを使ってシステムにログインする
 Want :PWの再発行
 Never:別のユーザへログインする。自分の権限でログインされる

 ログインによってシステムを利用できる。セッションは最終利用から1時間

■プロジェクト選択機能
 概要 :自分の権限で表示できるPJ一覧が出てくる
 Must :自分の権限で表示できるPJ一覧が出てくる
 Want :レビュー依頼、ユーザが作成途中のドキュメントの表示
 Never:自分の権限で表示できないPJ一覧が出てくる

 ログイン後ユーザの権限にあったPJ一覧を表示する
 ドキュメントを閲覧する、作成する、出力するが選択できる
 
■ドキュメント作成機能
 概要 :ドキュメントに必要な各項目を決まったフォーマットに入力することができる
 Must :入力内容が保存されること。関連ドキュメントが紐づけられること。
 Want :下書き状態で保存できるようにする。閲覧、出力に制限をかけられるようにする。
 Never:保存されない。間違えたものを紐づけする。

 編集権限がある場合
 業務用件を満たすフォーマットの項目ごとに入力ができる
 フローチャートなどの描画はシステムでは行わない
 画像を入稿、表示ができるといい

■ドキュメント閲覧機能
 概要 :作成したドキュメントを閲覧することができる
 Must :作成したドキュメントを閲覧することができる。紐づいているドキュメントを開くことができる。
 Want :コメントできるようにする
 Never:権限がないのに見れてしまう。出力できてしまう。

 閲覧権限がある場合
 ドキュメントを閲覧、欄外にコメントをすることができる
 コメントはメモと指摘に分かれ、指摘については反映後完了にできる
 編集権限がある場合、ドキュメントの修正ができる
 レビュー者として閲覧した場合、承認することができる

■ドキュメント修正機能
 概要 :作成したドキュメントを修正することができる。
 Must :作成したドキュメントを修正することができる。
 Want :下書き状態で保存できるようにする。
 Never:保存されない。最新ではないものが開く。

 編集権限がある場合、ドキュメントの修正ができる
 修正の差分は赤字で表示される

■ドキュメントレビューリクエスト機能
 概要 :ドキュメントの作成、修正に対してレビュー依頼を投げる
 Must :ログインした際に、レビュー依頼のメッセージが出ること
 Want :レビュー依頼の際にSlackに通知が行くこと
 Never:別の人に通知がいく。メッセージがでない。

 作成、修正完了後にレビューを依頼することができる
 レビュアーには通知がいく

■ドキュメント検索機能
 概要 :ドキュメントをID、キーワード、PJで検索できるようにする。
 Must :対象のドキュメントがでてくる
 Want :ドキュメント名、本文から検索できるようにする
 Never:権限がないのに出てきてしまう

 権限の範囲内で閲覧できるドキュメントをキーワードをもとに検索できるようにする
 検索したドキュメントに紐づくドキュメントをツリーで出すことができる

■ドキュメント出力機能
 概要 :ドキュメントをPJ単位、工程単位、ドキュメント単位で出力できるようにする
 Must :標準の印刷画面を出す
 Want :範囲調整をしてPDFで出力
 Never:権限がないのに出力できてしまう
 
 出力権限がある場合、ドキュメントを出力できるようでする