業界・業務から探す
導入目的・課題から探す
データ・AIについて学ぶ
News
Hakkyについて
ウェビナーコラム
◆トップ【ビジネス】
AI

執筆者:Hakky AI

基本設計の進め方|業務フロー可視化で60%時間短縮?

tip
記事のポイント
  • 基本設計はシステム開発の要。業務フローやシステム構成を具体化し、実装への道筋を示す。
  • 画面・機能・データ設計でUIを最適化。仕様書で機能の目的や入出力を明確化し、開発の共通認識を。
  • 業務フロー可視化や顧客との連携で手戻り防止。要件定義の不備はリスク増大に繋がるため注意。

はじめに

基本設計は、システム開発における重要な初期段階です。ここでは、要件定義で定められた内容を具体化し、実装に向けた詳細な計画を策定します。

業務フロー、システム構成、画面設計、機能設計、データ設計など、多岐にわたる要素を網羅し、開発の全体像を明確にすることが目的です。

本記事では、基本設計の進め方、各設計段階でのポイント、クライアントとのコミュニケーション、そして実装段階での問題予防について解説します。

【完全無料】Hakky HandbookメルマガでAIのトレンドを見逃さない | 詳細はこちら

基本設計の全体像と主要な構成要素

基本設計は、システム開発における重要な段階であり、要件定義で定められた内容を具体化し、実装への道筋を示すものです。主要な構成要素を理解することで、システム開発の全体像を把握し、効率的な開発を進めることができます。

基本設計書の構成要素

基本設計書は、システム開発の羅針盤として機能し、複数の重要な要素で構成されています。業務フロー図は、システムを利用する際の処理の流れを明確化し、リアルタイム処理やバッチ処理の種類、データの格納場所(DB、ファイル、クッキーなど)、システムの構成要素を図で示します。

システム構成図は、ハードウェア構成図、ソフトウェア構成図、ネットワーク構成図を含み、システムの全体像と各要素間の接続関係を把握するために不可欠です。

画面一覧表は、画面の番号、画面名、画面ID、分類(入力画面、表示画面など)、機能名、機能ID、説明を含み、システムで表示される画面の一覧を提供します。

CRUD図は、データの作成、読み取り、更新、削除の操作を視覚的に表現し、データの流れを明確にします。

インタフェース一覧は、システム間の連携に必要な情報を整理し、スムーズなデータ交換を支援します。

これらの要素を詳細に記述することで、開発チーム全体が共通認識を持ち、効率的なシステム開発を進めることが可能になります。

システム構成の可視化

システム構成図は、システム全体の構造を把握するために重要な役割を果たします。システム構成図を作成する際には、ハードウェア、ソフトウェア、ネットワークの各要素を明確に区別し、それぞれの関係性を詳細に記述することが重要です。

例えば、ハードウェア構成図では、サーバー、クライアントPC、ネットワーク機器などの物理的な配置を示し、ソフトウェア構成図では、OS、ミドルウェア、アプリケーションなどのソフトウェア要素とその相互関係を記述します。

ネットワーク構成図では、ネットワークのトポロジー、IPアドレス範囲、セキュリティ設定などを可視化します。

これらの図を組み合わせることで、システム全体の構造を多角的に把握し、問題発生時の迅速な対応や将来的な拡張計画の策定に役立てることができます。システム構成図は、開発チームだけでなく、クライアントや運用チームとのコミュニケーションツールとしても有効であり、システムの全体像を共有するための共通言語として機能します。

基本設計の具体的な進め方と段階的プロセス

基本設計では、要件定義で定められた内容を具体化し、実現方法を明確にします。ここでは、画面設計、機能設計、データ設計という3つの重要な側面から、具体的な進め方と段階的プロセスを解説します。

画面設計のポイント

画面設計は、ユーザーインターフェース(UI)を設計する上で重要な工程です。ユーザーにとって使いやすく、直感的な画面を作成するために、いくつかのポイントがあります。

まず、ユーザーの視点を重視し、ユーザーが求める情報や機能を容易に見つけられるように配置します。次に、画面遷移を明確にし、ユーザーが迷うことなく目的の画面にたどり着けるように設計します。画面遷移図は、画面間の流れを可視化し、設計の初期段階で問題点を発見するために役立ちます。ワイヤーフレームを活用し、画面のレイアウトや要素の配置を検討することも重要です。ワイヤーフレームは、Webサイトの設計図として、情報設計を表現するもので、基本的なレイアウトや要素の配置が含まれます。ヒートマップを使ったユーザーの行動分析を行い、具体的な情報設計を行うことも有効です。

例えば、ECサイトの画面設計では、商品検索、商品詳細表示、カート、購入手続きといった一連の流れをスムーズに進められるように設計します。各画面で必要な情報を整理し、入力フォームの配置やボタンの配置を最適化することで、ユーザーの購買体験を向上させることができます。また、モバイルデバイスでの利用も考慮し、レスポンシブデザインを採用することも重要です。

画面設計においては、アクセシビリティにも配慮し、色覚特性を持つユーザーや視覚障碍者にも利用しやすいように、適切なコントラスト比や代替テキストを設定します。これらのポイントを踏まえ、ユーザーにとって快適で使いやすい画面設計を目指しましょう。

機能設計の詳細

機能設計は、システムが提供する機能を具体的に定義する工程です。機能仕様書は、各機能の目的、入力、処理、出力などを詳細に記述したもので、開発チーム全体で共有し、認識のずれを防ぐために不可欠です。

機能仕様書を作成する際には、機能の目的を明確に記述し、その機能がどのような問題を解決するのか、どのような価値を提供するのかを具体的に説明します。次に、入力として何を受け取り、処理としてどのような計算や操作を行い、出力として何を生成するのかを明確に記述します。ユースケース図は、システムの利用者がどのような操作を行い、システムがどのように応答するかを視覚的に表現するもので、機能の全体像を把握するために役立ちます。

例えば、オンラインバンキングシステムの機能設計では、口座開設、振込、残高照会といった各機能について、機能仕様書を作成します。

機能入力処理出力
口座開設顧客情報、
本人確認書類など
審査口座開設
振込振込先口座番号、
振込金額など
認証、
振込処理
振込完了

また、エラー処理やセキュリティ対策についても、機能仕様書に明記します。

機能設計においては、非機能要件も考慮し、システムの性能、信頼性、セキュリティなどを確保するための設計を行います。これらの詳細な設計を通じて、システムが要件を満たすように機能を実現します。

データ設計の重要性

データ設計は、システムで使用するデータを効率的に管理し、整合性を保つために不可欠な工程です。データモデルは、データの種類、属性、関連性を定義したもので、データベースの構造を決定する上で重要な役割を果たします。

データモデルを設計する際には、データの種類を明確にし、各データがどのような属性を持つのかを定義します。次に、データ間の関連性を定義し、ER図(Entity-Relationship Diagram)を用いて可視化します。ER図は、エンティティ(データの実体)とリレーションシップ(データ間の関係)を視覚的に表現したもので、データ構造の全体像を把握するために役立ちます。

例えば、ECサイトのデータ設計では、顧客、商品、注文といったエンティティを定義し、顧客が商品を注文するというリレーションシップを定義します。

エンティティ属性
顧客顧客ID、
氏名、
住所、
電話番号など
商品商品ID、
商品名、
価格、
在庫数など
注文注文ID、
顧客ID、
商品ID、
注文日など

これらのエンティティとリレーションシップをER図で表現することで、データ構造の全体像を把握し、データベースの設計に役立てることができます。

データ設計においては、正規化を行い、データの冗長性を排除し、整合性を保つことが重要です。また、インデックスを設定し、データの検索速度を向上させることも重要です。これらの設計原則に従い、効率的で信頼性の高いデータ構造を構築します。

基本設計における重要な確認事項

基本設計では、業務フローの可視化、クライアントとの連携、要件定義の再確認が不可欠です。これらの確認事項を徹底することで、手戻りを防ぎ、より効率的なシステム開発を実現できます。

業務フローの可視化と分析

業務フローの可視化と分析は、システム開発の成功に不可欠な要素です。現状の業務フローを正確に把握するためには、まず関係者へのヒアリングを行い、業務プロセスを詳細に洗い出す必要があります。各部署や担当者の業務内容、使用するシステム、データの流れなどを明確にすることで、業務の全体像を把握します。

次に、洗い出した情報を基に業務フロー図を作成します。業務フロー図は、業務プロセスを視覚的に表現したもので、各ステップやタスクの流れ、担当者、データの流れなどを明確に示すことができます。業務フロー図を作成することで、業務のボトルネックや非効率な箇所を特定しやすくなります。

改善点を見つけるための分析手法としては、例えば、各ステップの所要時間やコストを計測し、ボトルネックとなっている箇所を特定する方法があります。また、業務プロセスにおけるエラー発生率や手戻りの回数を分析することで、品質上の問題点を特定することも可能です。

宿泊業者の例では、チェックイン・チェックアウトのプロセスを詳細にフローチャートで可視化し、入力情報の簡略化やオンラインチェックインの導入を行ったことで、時間の大幅な短縮を実現しました。特にチェックイン時の情報入力に時間がかかっていたことが判明し、オンライン手続きへの移行で約60%の時間短縮を達成しています。

このように、業務フローを可視化し分析することで、業務プロセスの改善点を明確にし、効率化や品質向上を実現することができます。

クライアントとの効果的なコミュニケーション

クライアントとの効果的なコミュニケーションは、基本設計の成功を左右する重要な要素です。認識の齟齬を防ぐためには、定期的な進捗報告会やレビュー会を開催し、クライアントにシステムの進捗状況を共有することが重要です。また、クライアントからのフィードバックを積極的に収集し、設計に反映させることで、クライアントの要望に沿ったシステムを開発することができます。

コミュニケーション戦略としては、例えば、専門用語を避け、平易な言葉で説明することや、図や表を用いて視覚的に分かりやすく説明することが挙げられます。ユーザー視点を取り入れることは、システムの使いやすさや満足度を高める上で非常に重要です。実際のユーザーにプロトタイプや画面デザインを評価してもらい、フィードバックを収集することで、ユーザーのニーズに合ったシステムを開発することができます。

製造業者の例では、生産ラインの各ステップを可視化することで、どの工程で時間がかかっているのかを明確にし、改善策を講じました。その結果、新入社員への教育が効率化され、生産効率が向上しました。

このように、クライアントとのコミュニケーションを密にし、ユーザー視点を取り入れることで、より実用的で価値の高いシステムを開発することができます。

要件定義の不備とその影響

要件定義の不備は、基本設計に大きなリスクをもたらします。要件定義が曖昧な場合、基本設計の段階で仕様の解釈に誤りが生じ、手戻りが発生する可能性が高まります。

例えば、要件定義でシステムの性能要件が明確に定義されていない場合、基本設計で適切なハードウェア構成やソフトウェアアーキテクチャを選択することができず、実装段階で性能不足が発覚する可能性があります。手戻りを防ぐためには、要件定義の段階でクライアントと十分にコミュニケーションを取り、要件を明確にすることが重要です。

また、要件定義書を作成し、関係者間で共有することで、認識の齟齬を防ぐことができます。開発中のWebシステムにおいて、フロー図が作成されていない場合、データのフローが不明瞭なままになってしまい、システム不具合の増加につながる可能性があります。

要件定義の段階で、業務フローやデータフローを明確に定義し、関係者間で合意を得ることが重要です。要件定義の不備は、開発期間の長期化やコストの増加につながるだけでなく、最終的なシステムの品質にも悪影響を及ぼします。要件定義の段階で十分な検討を行い、リスクを最小限に抑えることが重要です。

施策効果
宿泊業者の例:チェックイン時の情報入力に時間がかかっていたため、オンライン手続きへの移行約60%の時間短縮を達成
製造業者の例:生産ラインの各ステップを可視化新入社員への教育が効率化、
生産効率が向上

基本設計の目標と成功のためのポイント

基本設計では、要件定義の内容を具体化し、実現方法を明確にすることが目標です。ビジネスサイドとエンジニアサイドが連携し、共通認識を持つことで効率的な開発を目指します。

ビジネス要件の技術的実現

ビジネス要件を技術的なシステム機能に落とし込むには、クライアントの要望を正確に把握し、システム全体の構造や機能を具体的に決定する必要があります。要件定義書を基に基本設計書を作成し、整合性を確認することが不可欠です。

技術的な制約とビジネスニーズのバランスを取りながら、実現可能なシステム構成を検討します。例えば、あるクライアントが「顧客管理システムで、顧客データを一元管理し、マーケティング施策に活用したい」という要望を持っていたとします。

この場合、基本設計では、顧客データをどのように収集し、データベースに格納するか、また、そのデータをどのように分析し、マーケティング担当者が活用できる形で提供するかを具体的に設計します。

具体的には、顧客の基本情報、購買履歴、問い合わせ履歴などをデータベースに格納し、これらのデータを基に顧客セグメントを作成したり、ターゲットを絞ったメールマーケティングを実施したりするための機能が考えられます。

また、技術的な制約として、既存のシステムとの連携や、セキュリティ要件などを考慮する必要があります。実現可能性を常に考慮し、不可能な要望に対しては代替案を提示することも重要です。

開発効率の向上

開発効率を向上させるためには、ビジネスサイドとエンジニアサイドが共通認識を持つことが重要です。要件定義から基本設計、実装、テストまで、各フェーズで認識の齟齬がないように、密なコミュニケーションを心がける必要があります。

ドキュメントの標準化と共有も不可欠です。基本設計書、機能仕様書、画面設計書など、すべてのドキュメントを標準化し、チーム全体で共有することで、認識のずれを防ぎ、スムーズな開発を支援します。

例えば、画面設計書では、画面のレイアウト、操作方法、表示項目などを詳細に記述し、開発者とデザイナーが共通の理解を持つようにします。

機能仕様書では、各機能の入力、処理、出力などを明確に記述し、開発者が迷うことなく実装できるようにします。

また、定期的な進捗会議やレビュー会を開催し、チーム全体で進捗状況や課題を共有することも重要です。これにより、問題点を早期に発見し、迅速に対応することができます。

さらに、設計ツールや自動化ツールを活用することで、設計作業の効率化を図ることができます。

実装段階での問題予防と全体像の把握

基本設計段階で実装中に発生しうる問題を予測し、システム全体の整合性を保つための対策を講じることは、プロジェクトの成功に不可欠です。

リスク管理と早期発見

システム開発におけるリスク管理は、潜在的な問題を早期に特定し、適切な対策を講じることで、プロジェクトの遅延やコスト超過を防ぐために不可欠です。リスクを特定するためには、過去の類似プロジェクトの事例や、技術的な課題、人的リソースの制約などを考慮します。

特定されたリスクに対しては、発生確率と影響度を評価し、優先順位をつけることが重要です。リスクへの対策としては、リスク回避、リスク軽減、リスク移転、リスク受容といった戦略があります。

例えば、技術的なリスクに対しては、事前にプロトタイプを作成して検証を行う、人的リソースのリスクに対しては、追加の人員を確保する、または外部の専門家を活用するなどの対策が考えられます。

テスト計画は、リスク管理の重要な要素であり、早期にテスト計画を策定し、定期的にテストを実施することで、潜在的な問題を早期に発見できます。テスト計画には、テストの種類(単体テスト、結合テスト、システムテスト、受け入れテストなど)、テストの範囲、テストのスケジュール、テストの担当者などを明確に定義する必要があります。

テスト自動化ツールを導入することで、テストの効率化と品質向上を図ることができます。早期にリスクを特定し、適切な対策を講じることで、プロジェクトの成功率を高めることができます。リスク管理はプロジェクト全体を通して継続的に行う必要があります。

変更管理の徹底

システム開発における変更管理は、プロジェクトの進行中に発生する変更要求に適切に対応し、変更による影響範囲を評価し、プロジェクト全体への悪影響を最小限に抑えるために不可欠です。

変更要求への対応プロセスは、変更要求の受付、変更内容の分析、影響範囲の評価、変更の承認、変更の実施、変更の検証という段階で構成されます。

変更要求を受け付けた際には、まず変更内容を詳細に分析し、変更がシステム全体にどのような影響を及ぼすかを評価する必要があります。影響範囲の評価では、変更によって影響を受ける機能、画面、データ、インターフェースなどを特定します。

変更による影響が大きい場合には、変更を承認する前に、関係者間で十分な協議を行い、変更の可否を判断する必要があります。変更が承認された場合には、変更を実施し、変更が正しく実装されているかを検証する必要があります。

変更管理を徹底するためには、変更管理ツールを導入し、変更要求の受付から検証までのプロセスを自動化することが有効です。変更管理ツールを使用することで、変更要求の追跡、影響範囲の可視化、変更履歴の管理などを効率的に行うことができます。

また、変更管理に関するルールや手順を明確に定義し、プロジェクトメンバー全員が遵守することも重要です。変更管理を徹底することで、変更による手戻りを減らし、プロジェクトの品質と効率を向上させることができます。

基本設計のベストプラクティス

基本設計のベストプラクティスでは、過去の成功事例から学び、効率的な設計ツールと自動化技術を導入することで、プロジェクトの品質と効率を向上させる方法を探ります。

成功事例の分析

基本設計における成功事例の分析は、過去のプロジェクトから得られた貴重な教訓を抽出し、成功要因と失敗要因を明確に特定することから始まります。例えば、開発期間の抑制に成功した事例では、基本設計段階での詳細な計画とドキュメント作成が徹底されていました。

要件定義を基に基礎となる設計要件を具体的に定義し、関係者との綿密なコミュニケーションを通じて設計の把握を確認することで、後工程での手戻りを防ぎました。技術的仕様の明確化も重要な要素であり、システム全体の構造と各コンポーネントの役割や相互関係を明確にすることで、開発チームが理解しやすい形にまとめられ、後の開発効率が向上しました。

また、基本設計書の完成後にはレビューを実施し、仕様の問題や誤字の確認を徹底することで、設計書上の細かなミスが開発後のシステムで不具合として表面化することを防ぎました。技術的要件の実現方法の検討においては、後続工程を意識しながら適切な実現方法を選択し、インフラ構成からアプリケーションの機能、処理性能や運用面まで、特定の技術や業務に詳しい専門家からのレビューを受けることが有効です。

これらの成功事例から、計画性コミュニケーション技術的明確性レビュー専門知識の活用が基本設計の成功に不可欠であることがわかります。

設計ツールと自動化

設計ツールと自動化は、基本設計プロセスを効率化し、品質を向上させるための重要な要素です。例えば、astah*は、UMLやER図の作成に優れており、モデルの自動入力機能により手動での入力作業を大幅に削減し、チームでの共同作業をサポートします。

Enterprise Architectは、複雑なシステムの設計を支援し、UMLやSysMLを用いたモデル作成が可能で、システム全体の構造を視覚的に把握できます。Gridrawは、リアルタイム自動レイアウト機能を持つ設計ツールで、設計者が図を作成する際の手間を大幅に軽減します。

AutoCADは、VBAのマクロやアクションレコーダの自動化機能を備えており、特定の作業をワンクリックで実施できます。また、SOLIDWORKSのような3DCADソフトでは、設計作業を自動化できるAPIが公開されており、複数のファイル形式を一括で出力し、設計業務でよく使う設定に書き換えることが可能です。

さらに、ChatGPTのような生成AIを活用することで、設計書や仕様書の作成を効率化し、エラーの軽減を実現できます。これらのツールを導入することで、設計時間の短縮、エラーの軽減、カスタマイズの活用、要件定義の工数削減、リバースエンジニアリングの効率化、スキルの底上げ、多言語対応、ノウハウの反映といったメリットが得られます。


info
〜ウェビナー告知【2025/06/19】〜

「データ・AI駆動で開発するプロダクト組織のあり方」をテーマに、理想のプロダクト組織のあり方、形成の勘所、そしてAI/データ駆動型組織への具体的な転換ステップをご紹介します。競争力のあるプロダクト開発を目指すなら、ぜひご参加ください!

  • ウェビナーテーマ:『データ・AI駆動で開発するプロダクト組織のあり方』
  • 開催日時:2025年6月19日(木) 10:00~20:00
  • 会場:オンライン開催(Zoom)

お問い合わせはこちらまで

おわりに

基本設計は、システム開発の成功を左右する重要な工程です。手順、構成要素、設計のポイント、目標を理解することで、開発チーム全体の共通認識が醸成され、手戻りの少ない効率的な開発につながります。

より実践的な知識を深めたい方は、Hakky Handbookメールマガジンにご登録ください。システム構成の可視化からデータ設計まで、基本設計に役立つ情報を定期的にお届けします。

tip
お知らせ

基本設計の要点をまとめたHakky Handbookメールマガジンにご登録しませんか? システム構成の可視化からデータ設計の重要性、業務フローの分析まで、実践的な情報をお届けします。

【完全無料】Hakky HandbookメルマガでAIのトレンドを見逃さない | 詳細はこちら

関連記事

参考文献

2025年06月12日に最終更新
読み込み中...