Upgrade to Pro — share decks privately, control downloads, hide ads and more …

設計の進め方と 品質特性品質特性

Avatar for harachan harachan
July 27, 2026

設計の進め方と 品質特性品質特性

2026年新卒研修資料

Avatar for harachan

harachan

July 27, 2026

More Decks by harachan

Other Decks in Design

Transcript

  1. 1. 設計の進め方 :まずは機能要件を把握する Step 1 最初に 「何ができるべきか/できてはいけな いか」を握る。 いか」 を握る。

    例:マイページの投稿一覧 ・自分の投稿だけ新しい順に表示 ・削除済みの投稿は出さない ・他人の下書きは見えない ここが決まらないまま「いい設計をしよう」 と始めるのは、 目的が定まっていないのに使 うツールだけ決まっているようなもの。 05 / 31
  2. 1. 設計の進め方 :ブラッシュアップする Step 4 払拭する 妥協する 例:投稿が1万件で遅い → ページングやキャッシュで速くする

    例:キャッシュを入れた代わりに → 古いデータが少し見えるのは許容する 懸念点に手を打つ 割り切って捨てる 09 / 31
  3. 1. 設計の進め方 ステップは反復するサイクル 4 01 要件理解 機能・非機能を握 る → 02

    素直な設計 まず1案を描く → 03 微妙な点 気になる点を炙り 出す → 04 ブラッシュアップ 払拭する/妥協す る 回で決まらない。再評価して戻ってOK。サイクルを回すことが設計の本体。 1 10 / 31
  4. 2. 品質特性ツアー なぜ品質特性を知っておくべきか レビューで何を見られるかわ かる 先輩が「ここパフォーマンスど う?」「ここセキュリティど う?」と聞く理由が、品質特性 の棚で説明できる。 設計時の観点漏れを防げる

    つの特性を上から舐めれば、抜 け漏れに気づける。チェックリ ストとして使える。 9 手法を引ける索引になる 「この品質を上げたい」と思った とき、サブ特性のキーワードから 手法を逆引きできる。 13 / 31
  5. 2. 品質特性ツアー ISO/IEC 25010 の9特性 品質特性 機能適合性 性能効率性 互換性 インタラクション能力

    信頼性 セキュリティ 保守性 柔軟性 いつ気にする? 常に。無いと他を語る意味なし 大量データ/高アクセス 既存システム連携/複数バージョ ン ユーザーが触る画面・UI 止められない/データ消失NG 個人情報・決済・認証認可 長く育てる/大人数で触る スケール想定/差し替え可能性 サブ特性キーワード 完全性・正確性・適切性 時間効率・資源効率・容量 共存性・相互運用性 習得性・操作性・エンゲージメント 無欠陥性・可用性・耐障害性・回復性 機密性・完全性・否認防止性・真正性 モジュール性・解析性・修正性・試験性 適応性・スケーラビリティ・置換性 14 / 31
  6. 2. 品質特性ツアー 特性同士は連動する TRADE-OFF (負の相関) 柔軟性 ↑ → 性能効率性 ↓

    差し替え可能にするほど抽象層が増え、実行時オーバ ーヘッドが増える傾向。 SYNERGY (正の相関) 解析性 ↑ → 修正性も ↑ 例:マイクロサービスにする 複数の特性が同時に動く 柔軟性のスケーラビリティ ↑、保守性のモジュール 性 ↑。 一方で、保守性の解析性 ↓(全体の挙動が追いにく い)、信頼性・性能効率性も ↓。 1つの設計判断が、複数の特性に同時に効いてくる。 「どこで何が起きているか」が追えれば、直しやすさ も自然と上がる。 24 / 31
  7. 2. 品質特性ツアー 設計に活かす3つの場面 設計するとき レビューするとき 手法を選ぶとき つの特性を上から舐めて、自分 の設計が見落としていないか確 認する。チェックリストとして 使う。

    「ここパフォーマンスどう?」 を「時間効率は要件を満たす か?」と語れる。サブ特性が共 通言語になる。 「この品質を上げたい」と思った ら、サブ特性のキーワードから手 法を逆引きできる。 観点漏れを防ぐ 9 議論の言葉を揃える 索引として引く 26 / 31
  8. 2. 品質特性ツアー 索引としての引き方 やりたいこと → 品質特性 → サブ特性 → 手法のキーワード

    手法のキーワード。サブ特性まで降りる 。サブ特性まで降りる とググりやすい。 やりたいこと 速くしたい 追いやすくしたい 直しやすくしたい スケールさせたい サブ特性 性能効率性/時間効率 保守性/解析性 保守性/修正性 柔軟性/スケーラビリティ 手法のキーワード キャッシュ・非同期・インデックス ログ設計・トレーシング・命名規約 SOLID・DDD・モジュール分割 水平分散・非同期キュー・マイクロサ ービス 27 / 31
  9. 3. 演習の説明 演習内容とプロセス やる内容:Railsチュートリアル + タイムライ ン同期機能の設計バトル 01 02 03

    個人ワーク:1人で設計を書き下す ペア議論:品質特性の観点で意見交換 講師バトル:設計意図を言語化して守る/改める 制約 最終成果物は講師との議論で合意を得た ものに限る。「なんとなく」はNG。 要件抽出を体験しよう 要件や制約は最初から渡されない。講師 に積極的に質問して明らかにすること。 29 / 31
  10. 3. 演習の説明 求める成果物(4点セット) 01 抽出した要件・制 約 講師への質問で明らかにし た、機能・非機能要件と制 約。 02

    03 04 何を重要視したか。どの品 質特性のサブ特性を最優先 したか。 コンセプトを満たす具体の 設計・実装方針。 切り捨てたサブ特性。何を 捨てたかを明示する。 コンセプト 手法 妥協点 30 / 31