kabkabsunshine’s blog

読書メモ、投資のこと、日々の学び

ITインフラ構築における基本設計とはどうあるべきかChatGPTに相談してみる

Chat GPTの凄さの興奮が未だ続いている私です。

最近仕事(ITインフラのサーバ構築)で基本設計書とは一体なんなんだろうって改めて考えさせられるきかいがあり答えが出ずに悶々としているのでChatGPTに質問しながら整理してみようと。

 

そもそも基本設計とは

ITインフラを構築するSIerで仕事をしています。お客様にハードウェアを納品して仮想基盤を構築し、仮想基盤上でVDI用の仮想マシンを使用する環境を構築します。そもそもの質問となりますが基本設計とは一体どのような設計をすべき工程でしょうか?

ChatGPTの回答です。

基本設計は、システムを構築する前段階の設計であり、システムの要件や目的を定め、概略的なシステムの構成や機能、性能、可用性などを決定する工程です。

ITインフラを構築する場合、基本設計では以下のような設計を行うことが一般的です。

  1. システムの要件定義
  • お客様の要望や課題をヒアリングし、必要な機能や性能、可用性などの要件を明確化します。
  1. システムのアーキテクチャ設計
  • システムの構成や機能、性能、可用性などを決定します。
  • サーバやストレージ、ネットワークなどの機器構成、仮想化技術やストレージ方式などの選定を行います。
  1. セキュリティ設計
  1. システムの運用設計
  • システムの運用方法や手順、モニタリングやトラブル対応方法などを定めます。
  • バックアップや復旧方法の設計を行います。
  1. システムの移行計画
  • 既存システムからの移行方法やスケジュールを決定します。
  • データ移行やテスト項目の検討を行います。

以上が基本設計で行う設計の一例です。設計書の作成や、お客様への提案なども基本設計の重要な業務です。

ChatGPT

そもそも要件がありそれに紐づく設計が入ってくるイメージですね。

章立てはどのようにするべきか?

しつもん:

章立てはどのような記載方法がよろしいでしょうか?

ChatGPTの回答です。

章立ての記載方法については、以下のような一般的な方法があります。

  1. 目次
  • 基本設計書の冒頭に、目次を記載します。
  • 目次には、章や節、項目のタイトルやページ番号を記載し、読者が必要な情報を探しやすくします。
  1. 序文・導入部
  • 基本設計書の最初に、序文や導入部を記載します。
  • 序文や導入部では、システム構築の背景や目的、設計書の構成、読者への注意点などを記載します。
  1. 各章
  • 各章では、設計の内容を細かく説明します。
  • 各章の最初に、章のタイトルや目次を記載します。
  • 各章の中では、節や項目を設け、細かい説明を行います。
  1. 結論・まとめ
  • 基本設計書の最後に、結論やまとめを記載します。
  • 結論やまとめでは、システム構築の目的や要件を達成するための設計内容や結果を簡潔にまとめます。

以上が一般的な章立ての方法ですが、業界や企業によっては、異なる章立て方法を採用している場合があります。また、設計書の形式や記載内容に関する要件がある場合は、その要件に従って章立てを行う必要があります。

要件に従って章立てを考えるということ。タイトルは雛形を作って社内や部門内で統一されると出戻りが少なく良いかもですね。これがまた個人の好みや案件固有の要件があり難しいわけですが、、、、

機能設計って?

しつもん:

機能要件、非機能要件という用語をよく耳にしますが機能要件とはいったいどのような要件でしょうか?また機能要件を機能設計に落とし込む際の留意点を教えてください。

ChatGPTの回答:

機能要件とは、システムやソフトウェアが提供する具体的な機能に関する要件のことです。つまり、システムやソフトウェアがどのような機能を提供する必要があるかを明確に定義するものです。例えば、あるシステムが提供すべき機能として「ログイン機能」や「ユーザー管理機能」などが挙げられます。

機能要件を機能設計に落とし込む際の留意点は以下の通りです。

  1. 機能要件を明確に定義する
  • 機能要件を明確に定義し、曖昧な表現や矛盾した要件がないようにします。
  • 機能要件を具体的に定義することで、機能設計の方針を明確にしやすくなります。
  1. 機能要件の優先度を設定する
  • 機能要件の優先度を設定することで、機能設計の優先順位を決定しやすくなります。
  • 優先度が高い機能要件は、機能設計の初期段階で着手する必要があります。
  1. 機能要件を実現するための技術やツールを選定する
  • 機能要件を実現するために、どのような技術やツールを利用するかを検討します。
  • 利用する技術やツールは、システムの要件や機能に合わせて選定する必要があります。
  1. 機能要件の実現可能性を検討する
  • 機能要件を実現するためには、技術やツールの実現可能性や制約事項を検討する必要があります。
  • 機能要件が実現できない場合は、代替案を検討する必要があります。
  1. 機能要件のテスト項目を定義する
  • 機能設計に基づいて、機能要件のテスト項目を定義します。
  • テスト項目は、システムの品質を確保するために重要な要素であり、適切なテスト項目を設定することで、品質を確保することができます。

以上の留意点を踏まえて、機能要件を機能設計に落とし込むことが重要です。

 

我々インフラ屋さんは機能要件としては購入段階で用途、目的が決まっているのであくまで認識合わせがメインになりそうな。

非機能設計って?

質問:

 

非機能要件とはどのような内容を指しますでしょうか?また非機能要件を設計に落とし込む際の留意事項について教えてください。

 

非機能要件とは、システムやソフトウェアが提供する機能以外の要件のことで、システムやソフトウェアの品質、信頼性、セキュリティ、パフォーマンス、保守性などが含まれます。具体的には、以下のような要件が挙げられます。

非機能要件を設計に落とし込む際の留意事項は以下の通りです。

  1. 非機能要件を明確に定義する
  • 非機能要件を明確に定義し、曖昧な表現や矛盾した要件がないようにします。
  • 非機能要件を具体的に定義することで、設計の方針を明確にしやすくなります。
  1. 非機能要件の重要度を設定する
  • 非機能要件の重要度を設定することで、設計の優先順位を決定しやすくなります。
  • 重要度が高い非機能要件は、設計の初期段階で着手する必要があります。
  1. 非機能要件を満たすための技術やツールを選定する
  • 非機能要件を満たすために、どのような技術やツールを利用するかを検討します。
  • 利用する技術やツールは、要件や機能に合わせて選定する必要があります。
  1. 非機能要件の実現可能性を検討する
  • 非機能要件を実現するためには、技術やツールの実現可能性や制約事項を検討する必要があります。
  • 非機能要件が実現できない場合は、代替案を検討する必要があります。
  1. 非機能要件のテスト項目を定義する
  • 設計に基づいて、非機能要件のテスト項目を定義します。
  • テスト項目は、システムの品質を確保するために重要な要素であり、適切なテスト項目を設定すること

非機能要件を満たすためには外部の技術やツールと連携するためそのあたりも明記してお客様に依頼すべきことはしておくということがこのフェーズでのキーになります。

まとめ

わかっているようでわかっておらず惰性で仕事しちゃっているのでたまにこういった基本的なことに振り返ることは良いことかもしれません。また気になることがあればchatGPTに相談しつつもやもやを整理していきたいなと。