基本設計とは?必要性と作り方などをご紹介
基本設計とは情報システムを作る工程の一つで、情報システム全体を機能単位に分割して、それぞれの機能がどういうものか、どういうことができるものか、機能同士がどうつながるのか決めていく作業です。 この記事では、基本的な設計、プロセス、およびその作成方法について簡単に学習します。
2021年05月20日
基本設計とは情報システムを作る工程の一つで、情報システム全体を機能単位に分割して、それぞれの機能がどういうものか、どういうことができるものか、機能同士がどうつながるのか決めていく作業です。 この記事では、基本的な設計、プロセス、およびその作成方法について簡単に学習します。
基本設計とは情報システムを作る工程の一つで、情報システム全体を機能単位に分割して、それぞれの機能がどういうものか、どういうことができるものか、機能同士がどうつながるのか決めていく作業です。基本設計を行うタイミングは、要件定義の後、詳細設計の前になります。
今回記事では、基本設計、とはどういうものかを、プロセス、およびその作成方法について簡単に学習します。
1. 基本設計とは
基本設計とは、製品の基本的な設計。また、製品開発において基本的な設計を策定する工程。構成や仕様、機能などの概要をまとめたものを意味する場合と、中枢や基盤の設計を意味する場合があります。
システム開発の基本設計、情報システムやソフトウェアの受託開発の場合は、要件定義と詳細設計の中間で、対象物の機能や構成などの大枠や基本的な仕様を決める工程を意味します。
顧客が必要としている事項をまとめた要件定義書などを元に、どのようなシステムを開発すればこれを満たすことが出来るかを検討し、機器やソフトウェアの構成、実装すべき機能、画面や帳票など操作や入出力に関する事項、生成・保管されるデータの概要など、システムの基礎的な仕様をまとめます。
成果物として基本設計書などの文書や図版などが一式作成されることが多く、これを元に各部の詳細や実装方式などを策定する詳細設計などを行います。
2. 基本設計の必要性
基本設計にはアイデアと現実の間の架け橋です。 ブループリントは、オペレーターがジョブまたは構造の構造を実行するために必要な手順を知るのに役立ちます。 タスクを実行する前に、基本的な設計を行う必要があります。それは、ほぼプロジェクトの設計、つまりアクションです。
システムを家と比較すると、基本設計は基礎を構築する段階であり、レイアウトを作成します。基礎は確実であり、新しい家は将来しっかりと持続可能な方法で構築できます。
初期の基本設計は、方向性を形成し、詳細な設計手順と実際のアプリケーションのためにタスクと物事を一般化するのに役立ちます。
3. 基本設計に必要な視点とは?
要件定義を経て、基本設計フェーズに入っていきます。ここではどういった視点を持つべきなのでしょうか。
3.1. 要件定義との整合性
基本設計で決めた事柄は、その後の全フェーズに絡んできます。
完成品が要件定義の内容とかけ離れていては本末転倒となってしまうでしょう。
詳細設計に入る前の基本設計で、「要件定義の項目を満たしているか」を注意深くチェックする必要があります。
3.2. 実現可能なシステムとなっているか?
要件定義でヒアリングした内容を設計書に落とし込んでいくのが基本設計フェーズです。
クライアントにとっての「理想」を明確にできても、実際のシステム開発でそれを「現実」にできなくては意味がありません。
クライアントの希望はできる限り盛り込むべきですが、システムとして実現できるかどうかの線引きはしっかりと行うべきでしょう。
仕様書を作成する段階から、この点について意識しておくことが大切です。
3.3. クライアントにとって分かりやすくなっているか?
基本設計はシステム開発の根幹を固めていく作業であるため、クライアント側も気になるところです。
開発工程がかなり進んだ後で「自分たちの希望とかけ離れている」と指摘した場合、修正にはかなりの手間が掛かってしまいます。
開発側だけでなく、顧客側にも大きな損害が出てしまうことでしょう。
基本設計フェーズの段階でも、クライアントと綿密な意思疎通を図っていくことが大切です。
4. 基本設計の主な項目
基本設計は、実際にシステムの仕様を決定する段階です。要件定義で決定したシステムの機能要件や非機能要件、制約条件、外部とのやり取りなどをより具体的な仕様にすることで、実際にプログラム可能な形にします。基本設計は五つの主な項目に分かれています。
4.1. 要件定義
要件定義のフェーズでは、発注元であるクライアントの希望をまとめていきます。
「どういう機能を持った新システムを求めているのか」をヒアリングするため、コミュニケーション能力が大事になってくるのが特徴です。
4.2. 基本設計
要件定義で決まった内容を振り返りつつ、開発するシステムの全体像・概要についてまとめていくフェーズです。
顧客の目で見える部分の工程を設定していくことから、「外部設計」とも呼ばれます。
「プログラムをどのように配置するかを検討する段階」と捉えても良いでしょう。
4.3. 詳細設計
基本設計では、システムをモジュール単位で分割し、各モジュールや使用するデータベースの設計を行います。具体的には、データの入出力、データベース同士のデータの受け渡し、ユーザーによる操作、帳票の出力などです。
また、画面のレイアウト、操作方法、帳票類の書式など、システムの使いやすさやユーザー満足度につながるインターフェース部分の仕様を決めるのも機能設計の役割です。
4.4. プログラム実装・単体テスト
基本設計・詳細設計で生まれた設計書(ドキュメント)をもとに、エンジニアがプログラム作成を行なっていきます。
上の設計フェーズで生産された設計書通りに実装されていくため、設計書の質はとても重要です。
全ての完成を待ってからのテストだと細かい修正に対応できないため、実装と並行して「単体テスト」も適宜行われます。
4.5. 結合テスト
単体テストがクリアできたら、設計書通りにプログラムが組まれているかを検証します。
不備のあった箇所は適宜修正していくことになります。
結合テストの後に「受入テスト」を行い、問題点がなければクライアントに納品して完了です。
5. 基本設計の作り方
5.1. 業務フローの明確化
クライアント(ユーザー)が実際に行う業務内容を想定し、その流れを図で表現していきます。
縦軸に管轄部署・横軸に時間を設け、1つずつ流れに沿って記述していきます。
例えば商品発注システムのフローを説明する場合、「申込情報を取得」→「得た情報を入力」→「内容の確認」→「発注」といった具合です。
業務フローはシンプル・明確であることが望ましいとされています。複雑化しすぎるとクライアントが理解しにくいだけでなく、システムとしての実現も難易度は高くなってしまいます。
5.2. システム構成図を作る
システムの構造がパーツで構成され、それらが互いにどのように関連しているかを説明します。
まず、システムにおける、ハードウェア・ソフトウェア・ネットワークなどの構成図をそれぞれ作成する必要があります。
ソフトウェア構成では使用OSやミドルウェアの詳細等、ハードウェア構成ではルータやスイッチ等を明確に記述していきます。
5.3. 機能一覧表の作成
機能一覧とは、システム化の対象を明確に表す資料です。プロジェクトの初期段階では機能の洗い出しが完璧にはできませんが、全体ボリュームを把握する必要があるので、作成する必要があります。
満たすべき機能要件を一覧化することで、開発担当のエンジニアが作業内容を把握しやすくなります。
見積範囲の明確化や、契約時には開発範囲の明確化にも利用できます。また、機能ごとの進捗管理を行う場合な活用されますどにも。
5.4. 非機能要件もまとめる
クライアントの業務内容に直接は影響しない非機能要件についても、基本設計書でまとめていきます。
そのシステムを継続的に使用することになる側にとっては、セキュリティ面・スピード面なども大切な要素です。
6. 基本設計書の必要なポイント
6.1. ドキュメントは作りすぎない
基本設計によって「基本設計書」が作られますが、ドキュメントを生産し過ぎてしまうことにも注意が必要です。全ての書類がしっかりとメンテナンスされているなら問題ありませんが、誤った情報が含まれていると開発フローに支障を来します。
そのため、求められるのはドキュメントの質であり、量ではありません。どの程度生産するかはクライアントとの折衝で判断していくべきでしょう。
6.2. 図表や数式表現をうまく使う
基本設計書は、顧客・エンジニア問わず多くの関係者が目にすることになるドキュメントです。文章ばかりだと理解に苦労するほか、仕様に誤解が生じてしまうことも考えられます。
開発を担うエンジニアにとっては、テキストよりも数式表現を使ったほうが作業する上でも負担が減るでしょう。
6.3. 設計する側にも技術力は求められる
基本設計書は、後工程のエンジニアが実装を行なう際に欠かせない書類です。なので、技術者がそれを利用するという前提で作成していくことになります。設計側にもある程度の技術力は必要です。上流工程を担うのは主にSEですが、SEも社内研修でIT技術の習得を行なう場合が殆どです。要件定義をメインに行うエンジニアはある意味「コンサル 」といえるものの、エンジニア要素もやはり関係してくることになります。
7. さいごに
基本設計は、情報システムのあるべき姿をベンダの言葉で作り上げてまとめる、とても大事な工程です。基本設計がお客様と合意されれば、お客様はそれが実現されるものと期待しながら、情報システムが出来上がるのを待ちます。基本設計は、お客様とベンダとの間での最後の約束ごとだと言ってもいいでしょう。
基本設計が上手くいくかは、基本設計を行う担当者の実力とスキルと意識の持ち方次第です。方法論はそれを補うものでしかありません。基本設計のレビューを行うチームやプロジェクトやベンダの総合力も問われます。また、基本設計ができる要員がいるかどうかが、情報システム構築の成否を分けるのです。
現在、私たちハチネット企業のエンジニアは、高い技術を持つだけでなく、お客様と日本語で直接にコミュニケーションをとることができます。そのため、書類面やお客様の希望で100%日本語をドキュメントの処理ができます。
私たちハチネットは、常に品質製品と顧客の満足度を重視している。ハチネットのサービスを選択すれば、製品が実装されてから納品されるまで安心できると信じます。
オフショア開発をご検討されている方々はぜひ一度ご相談ください。
※以下通り弊社の連絡先
アカウントマネージャー: クアン(日本語・英語対応可)
電話番号: (+84)2462 900 388
お電話でのご相談/お申し込み等、お気軽にご連絡くださいませ。
- オフショア開発
- エンジニア人材派遣
- ラボ開発
- ソフトウェアテスト
電話番号: (+84)2462 900 388
メール: contact@hachinet.com
お電話でのご相談/お申し込み等、お気軽にご連絡くださいませ。
無料見積もりはこちらから
Tags
ご質問がある場合、またはハチネットに協力する場合
こちらに情報を残してください。折り返しご連絡いたします。
関連記事
Go言語の理解:シンプルさとパフォーマンスの力
プログラミング言語の中で、パフォーマンス、シンプルさ、スケーラビリティを兼ね備えた言語は数少ないですが、その中でも Go言語(別名 Golang)は特に注目されています。Goはバックエンド開発者、システムプログラマー、さらには大規模なクラウドネイティブアプリケーションにも使われています。それでは、Go言語は一体何が特別なのか?どうしてこれほど人気があるのでしょうか?本記事では、Goの起源、その主要な特徴、そして現在のソフトウェア開発における活用法について深掘りしていきます。
人工知能:IT業界における利点と弱点の探求
デジタル化の時代において、人工知能(AI)は、製造業や医療、カスタマーサービス、情報技術など、多くの分野において欠かせない存在となっています。AIの急速な発展は、新しい機会を開くと同時に、IT業界やベトナムのITエンジニアに対して多くの課題をもたらしています。プロセスの自動化、大量のデータの分析、顧客体験の向上を実現するAIは、私たちの働き方や生活の仕方に深い変化をもたらしています。この記事では、人工知能の概念、IT業界にもたらす利点、そしてこの技術がもたらす弱点や課題について探求していきます。
EORサービスを利用すべき企業
Employer of Record (EOR)サービスは、国際市場に拡大したい企業にとって最適なソリューションです。特に、法的な複雑さや人事管理の課題に直面することなく、グローバルな人材を採用する必要がある企業にとって、非常に有益です。以下に、EORサービスを利用すべき企業の詳細を示します。
Employer of Record (EOR) とラボ型開発の違い
現在のグローバル化したビジネスの世界では、海外に事業を拡大する企業がますます増えています。その際に発生する課題の1つは、現地の法律に準拠した労務管理です。このようなニーズに応えるために、Employer of Record (EOR)とラボ型開発という2つのモデルが広く利用されています。それぞれの違いについて詳しく見てみましょう。
EOR(Employer of Record)と従来の採用方法の違い
現代のグローバル市場において、特にIT業界では、優れた人材を迅速に採用することが競争力の鍵となります。特にベトナムのITエンジニアは、その技術力とコスト効率の良さから、世界中の企業に注目されています。そんな中、採用方法として注目を浴びているのがEOR(Employer of Record)です。この記事では、EORとは何か、従来の採用方法とどう異なるのかを解説します。
PEOとEORの違い
グローバルなビジネスの拡大に伴い、企業は国境を越えた人材の雇用と管理に直面することが多くなっています。この際、PEO(Professional Employer Organization)や EOR(Employer of Record)といった外部のサービスを利用することで、法的な手続きを簡略化し、現地の規制に準拠した雇用管理を行うことができます。しかし、PEOとEORにはそれぞれ異なる特徴があり、企業のニーズに応じてどちらを選択すべきかを判断することが重要です。この記事では、PEOとEORの定義とその違いについて詳しく説明し、特にIT業界でどちらのサービスが適しているかを考察します。