LoginSignup
3
5

More than 1 year has passed since last update.

要件定義〜基本設計(備忘録)

Posted at

要件定義

大まかな流れ

1. 要望
 こんなシステムあったらいいな

2. 要求
 こんな機能を作って欲しい

3. 要件
 この機能を作ろう

具体的な進め方

1. 要望

対象:ユーザ
ユーザに「何が欲しい?」「何を解決したい?」を聞く

成果物:業務フロー

2. 要求

対象:PM
目的に合う要望を取捨選択する

成果物:機能一覧

3. 検討

対象:SE
技術的に目的が叶えられるか検討

※ユーザが使いやすいかは都度検討する必要があり

4. 提案

対象:SE
目的に合う要望を取捨選択する

※「○、×」で言わない。これならできるという提案も持っていく

5. 要件

対象:SE,PM
決定事項の整理

※「やらないこと」「変更点」も決めてしっかり文書化しておく

成果物:要件定義書

要件定義成果物

  • 要件定義書(基本設計でもブラッシュアップ)
  • 業務フロー
  • 機能一覧(基本設計でもブラッシュアップ)
  • 画面設計(ユーザがイメージしやすいのでなるべくあった方がいい)

基本設計

大まかな流れ

  1. 画面設計
  2. 機能要件
  3. データ設計

※適宜要件定義の修正は行う

画面設計

成果物:

  • 画面設計書
  • 画面遷移図

画面設計から行う理由はユーザがイメージをしやすくし、
要件定義に修正があれば早い段階で修正するため。

UI/UX

UI/UXを意識した上で画面設計を行う

UI・・・「ユーザーインターフェース(User Interface)」
UX・・・「ユーザーエクスペリエンス(User Experience)」

UXは要望(目的)であり、UIはそのための手段

image.png

タスク指向/オブジェクト指向

画面を作成する上で採用されている考え方にタスク指向、オブジェクト指向の考え方がある

タスク指向

具体的なタスク(やりたいこと)に注目されたUI
タスク一覧を真っ先に表示されることが多い。
「何がしたいか?」を基に決めていく

例:銀行ATM,賃貸の検索サイト
image.png

オブジェクト指向

ユーザが知りたいこと(興味対象)に注目したUI
物、情報一覧が真っ先に表示されることが多い。物、情報を選んだ後に「何をするのか」を決める。
「物、情報(オブジェクト)」を基に決めていく

例:UberEats,Email
スクリーンショット 2022-07-07 8.20.13.png

機能設計

機能設計で考ること(大まかに)

  1. ユーザー操作の裏側で行われる処理
  2. そのために必要なデータ

成果物:

  • 機能一覧
  • 機能ごとの設計書(整理のためで必ず必要ではない)
  • 機能を紐づけた画面遷移図(データ設計でも利用)

機能設計流れ

作成した画面設計書を基に下記を明確化していく

1. 変動項目の洗い出し
→どの項目が固定で、どこが変動する項目か?
2. ユーザ操作の洗い出し
→ユーザはその画面で行える操作は?
3. 機能説明の作成
→2の操作を行なった際に起こる処理は?

変動項目の洗い出し

  • 固定ではない変動する情報(項目)は何か?
  • データの取得基は何処から取得されるのか?(DBか入力値かAPIか)

ユーザ操作の洗い出し

画面設計書を見ながら下記の項目を洗い出していく

処理内容

  • DBから情報の取得
  • 画面への一覧表示
  • 合計金額や個数の表示
関連するDB

  • 顧客DB
  • 商品DB
  • 購入履歴DB
トリガー

  • ボタンのクリック
  • 画面表示時
  • 時間

機能説明の作成

  1. 必要なデータベース、処理を一覧化する
  2. 画面遷移と裏側の処置を紐づけた画面遷移図を作成

データ設計

成果物:

  • ER図
  • テーブル設計書(DB定義書)
  • 画面遷移、裏側の処置、DBを紐づけた画面遷移図の作成

前提

テーブルは2種類ある

項目 説明
マスタテーブル オブジェクト固有の情報を保存したテーブル
他のテーブルから参照される基礎情報
ユーザテーブル
商品テーブル
トランザクションテーブル システムが利用される中でデータが蓄積されるテーブル
マスタ以外のテーブルのこと
購入履歴テーブル
検索履歴テーブル

データ設計流れ

作成した画面設計書を基に下記を明確化していく

1. データ構造を明確にする
2. データ間の関係性を定義
3. 全体を可視化

データ構造を明確にする

  • テーブルをマスタトランザクションに分ける
  • テーブルの具体的な中身(データ構造)を決める
    • 機能設計を見て必要なデータがを探す
    • ユーザやビジネス関係者にヒヤリングして欲しいデータが何かを決める

ここでの必要なデータの正解はユーザやビジネス関係者にあり、引き出すことが大事

image.png

データ間の関係性を定義

ER図
  • どんなテーブルがあるのか?
  • どんなカラム(列情報)があるのか?
  • テーブル間の参照関係(外部キー)は?

image.png

全体を可視化

システム全体のデータ、処理の流れを可視化する
「画面設計」x「機能設計」x「データ設計」を紐づける

image.png

基本設計成果物

  • 画面設計書
  • 機能一覧
  • ER図
  • テーブル設計
  • 「画面設計」x「機能設計」x「データ設計」を紐づけされた画面遷移図

参照した資料

Udemy_【入門】システム要件定義と基本設計(実践ワークで理解する上流工程の進め方)

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5