要件定義
大まかな流れ
1. 要望
こんなシステムあったらいいな
2. 要求
こんな機能を作って欲しい
3. 要件
この機能を作ろう
具体的な進め方
1. 要望
対象:ユーザ
ユーザに「何が欲しい?」「何を解決したい?」を聞く
成果物:業務フロー
2. 要求
対象:PM
目的に合う要望を取捨選択する
成果物:機能一覧
3. 検討
対象:SE
技術的に目的が叶えられるか検討
※ユーザが使いやすいかは都度検討する必要があり
4. 提案
対象:SE
目的に合う要望を取捨選択する
※「○、×」で言わない。これならできるという提案も持っていく
5. 要件
対象:SE,PM
決定事項の整理
※「やらないこと」「変更点」も決めてしっかり文書化しておく
成果物:要件定義書
要件定義成果物
- 要件定義書(基本設計でもブラッシュアップ)
- 業務フロー
- 機能一覧(基本設計でもブラッシュアップ)
- 画面設計(ユーザがイメージしやすいのでなるべくあった方がいい)
基本設計
大まかな流れ
- 画面設計
- 機能要件
- データ設計
※適宜要件定義の修正は行う
画面設計
成果物:
- 画面設計書
- 画面遷移図
画面設計から行う理由はユーザがイメージをしやすくし、
要件定義に修正があれば早い段階で修正するため。
UI/UX
UI/UXを意識した上で画面設計を行う
UI・・・「ユーザーインターフェース(User Interface)」
UX・・・「ユーザーエクスペリエンス(User Experience)」
UXは要望(目的)であり、UIはそのための手段
タスク指向/オブジェクト指向
画面を作成する上で採用されている考え方にタスク指向、オブジェクト指向の考え方がある
タスク指向
具体的なタスク(やりたいこと)に注目されたUI
タスク一覧を真っ先に表示されることが多い。
「何がしたいか?」を基に決めていく
オブジェクト指向
ユーザが知りたいこと(興味対象)に注目したUI
物、情報一覧が真っ先に表示されることが多い。物、情報を選んだ後に「何をするのか」を決める。
「物、情報(オブジェクト)」を基に決めていく
機能設計
機能設計で考ること(大まかに)
- ユーザー操作の裏側で行われる処理
- そのために必要なデータ
成果物:
- 機能一覧
- 機能ごとの設計書(整理のためで必ず必要ではない)
- 機能を紐づけた画面遷移図(データ設計でも利用)
機能設計流れ
作成した画面設計書を基に下記を明確化していく
1. 変動項目の洗い出し
→どの項目が固定で、どこが変動する項目か?
2. ユーザ操作の洗い出し
→ユーザはその画面で行える操作は?
3. 機能説明の作成
→2の操作を行なった際に起こる処理は?
変動項目の洗い出し
- 固定ではない変動する情報(項目)は何か?
- データの取得基は何処から取得されるのか?(DBか入力値かAPIか)
ユーザ操作の洗い出し
画面設計書を見ながら下記の項目を洗い出していく
処理内容
例
- DBから情報の取得
- 画面への一覧表示
- 合計金額や個数の表示
関連するDB
例
- 顧客DB
- 商品DB
- 購入履歴DB
トリガー
例
- ボタンのクリック
- 画面表示時
- 時間
機能説明の作成
- 必要なデータベース、処理を一覧化する
- 画面遷移と裏側の処置を紐づけた画面遷移図を作成
データ設計
成果物:
- ER図
- テーブル設計書(DB定義書)
- 画面遷移、裏側の処置、DBを紐づけた画面遷移図の作成
前提
テーブルは2種類ある
項目 | 説明 | 例 |
---|---|---|
マスタテーブル | オブジェクト固有の情報を保存したテーブル 他のテーブルから参照される基礎情報 |
ユーザテーブル 商品テーブル |
トランザクションテーブル | システムが利用される中でデータが蓄積されるテーブル マスタ以外のテーブルのこと |
購入履歴テーブル 検索履歴テーブル |
データ設計流れ
作成した画面設計書を基に下記を明確化していく
1. データ構造を明確にする
2. データ間の関係性を定義
3. 全体を可視化
データ構造を明確にする
- テーブルをマスタトランザクションに分ける
- テーブルの具体的な中身(データ構造)を決める
- 機能設計を見て必要なデータがを探す
- ユーザやビジネス関係者にヒヤリングして欲しいデータが何かを決める
ここでの必要なデータの正解はユーザやビジネス関係者にあり、引き出すことが大事
データ間の関係性を定義
ER図
- どんなテーブルがあるのか?
- どんなカラム(列情報)があるのか?
- テーブル間の参照関係(外部キー)は?
全体を可視化
システム全体のデータ、処理の流れを可視化する
「画面設計」x「機能設計」x「データ設計」を紐づける
基本設計成果物
- 画面設計書
- 機能一覧
- ER図
- テーブル設計
- 「画面設計」x「機能設計」x「データ設計」を紐づけされた画面遷移図