📃

ChatGPTでシステム開発の設計書テンプレートを作成する

2024/03/01に公開1

結論

割と満足いく結果が返された。
今後はプロンプトをテンプレート化し、それぞれの設計について深掘りしながら設計を効率化できるようにしていきたい。

例えば...

  • プロジェクトの概要や規模から必要な設計を絞り込む
  • 粒度の決定から工数試算→設計段階の見積もり作成まで落とし込みたい
  • 各設計資料のテンプレートを作成し、使いまわせるように出力する

作成手順

  1. ChatGPTをベテランのエンジニアもしくはベテランのPMであると人格形成する
  2. "必要な設計はどのようなものがあるか"の旨の質問をする
  3. "2"を気が済むまで繰り返す
  4. 一覧をリストにして出力してもらう
  5. リストをChatGPTが考える優先順位でソートしてもらう
  6. 設計書のテンプレート作成の依頼をする(出力形式などはここで指定する)
  7. 気に入らなければ2指摘する

基本的に英語で質問・出力してから日本語へ翻訳する方が正確で早い。

出力結果(コード)

出力結果(出力形式:MarkDown)

# System Design Document Template

## Table of Contents
- [Introduction](#introduction)
- [System Overview](#system-overview)
- [Requirements Analysis](#requirements-analysis)
- [System Architecture](#system-architecture)
- [Data Modeling](#data-modeling)
- [Security](#security)
- [Scalability](#scalability)
- [Performance](#performance)
- [Reliability and Fault Tolerance](#reliability-and-fault-tolerance)
- [User Interface and User Experience (UI/UX)](#user-interface-and-user-experience-uiux)
- [Compliance and Regulations](#compliance-and-regulations)
- [Documentation and Training](#documentation-and-training)
- [Monitoring and Logging](#monitoring-and-logging)
- [Disaster Recovery Planning](#disaster-recovery-planning)
- [Maintenance and Support](#maintenance-and-support)
- [Integration](#integration)
- [Deployment Strategy](#deployment-strategy)
- [Cost Analysis](#cost-analysis)
- [User Feedback and Continuous Improvement](#user-feedback-and-continuous-improvement)
- [Internationalization and Localization](#internationalization-and-localization)
- [Accessibility](#accessibility)
- [Environmental Sustainability](#environmental-sustainability)
- [Ethical Considerations and Social Impact](#ethical-considerations-and-social-impact)
- [Additional Considerations](#additional-considerations)

## Introduction
Briefly describe the purpose and scope of the system.

## System Overview
Provide a high-level overview of the system, including key goals and objectives.

## Requirements Analysis
List the functional and non-functional requirements for the system.

| Requirement Type | Description |
|------------------|-------------|
| Functional       |             |
| Non-functional   |             |

## System Architecture
Describe the system architecture, including major components and their interactions.

## Data Modeling
Detail the data model, database schema, or any data storage considerations.

## Security
Outline security measures, including authentication, authorization, and data protection.

## Scalability
Discuss scalability strategies, such as load balancing and distributed systems design.

## Performance
Describe performance requirements and how they will be achieved.

## Reliability and Fault Tolerance
Explain how the system will ensure reliability and handle potential failures.

## User Interface and User Experience (UI/UX)
Detail the UI/UX design principles and user journey.

## Compliance and Regulations
List relevant compliance and regulatory requirements the system must adhere to.

## Documentation and Training
Outline the documentation and training plans for users and developers.

## Monitoring and Logging
Describe the monitoring and logging strategy for system health and debugging.

## Disaster Recovery Planning
Detail the disaster recovery strategy, including backup and restore procedures.

## Maintenance and Support
Discuss the approach to ongoing maintenance, support, and updates.

## Integration
Describe any external systems or services the system will integrate with.

## Deployment Strategy
Outline the deployment process, including CI/CD pipelines and environment management.

## Cost Analysis
Provide an initial cost analysis for development, deployment, and maintenance.

## User Feedback and Continuous Improvement
Explain how user feedback will be collected and used for continuous improvement.

## Internationalization and Localization
Discuss plans for supporting multiple languages and regional differences.

## Accessibility
Outline accessibility features and compliance with standards like WCAG.

## Environmental Sustainability
Discuss any considerations for reducing the environmental impact of the system.

## Ethical Considerations and Social Impact
Consider the ethical implications and social impact of the system.

## Additional Considerations
Include any other aspects specific to your project that have not been covered.

出力結果(プレビュー)

ちなみにそのままプレビューで見るとこうなる↓

System Design Document Template

Table of Contents

Introduction

Briefly describe the purpose and scope of the system.

System Overview

Provide a high-level overview of the system, including key goals and objectives.

Requirements Analysis

List the functional and non-functional requirements for the system.

Requirement Type Description
Functional
Non-functional

System Architecture

Describe the system architecture, including major components and their interactions.

Data Modeling

Detail the data model, database schema, or any data storage considerations.

Security

Outline security measures, including authentication, authorization, and data protection.

Scalability

Discuss scalability strategies, such as load balancing and distributed systems design.

Performance

Describe performance requirements and how they will be achieved.

Reliability and Fault Tolerance

Explain how the system will ensure reliability and handle potential failures.

User Interface and User Experience (UI/UX)

Detail the UI/UX design principles and user journey.

Compliance and Regulations

List relevant compliance and regulatory requirements the system must adhere to.

Documentation and Training

Outline the documentation and training plans for users and developers.

Monitoring and Logging

Describe the monitoring and logging strategy for system health and debugging.

Disaster Recovery Planning

Detail the disaster recovery strategy, including backup and restore procedures.

Maintenance and Support

Discuss the approach to ongoing maintenance, support, and updates.

Integration

Describe any external systems or services the system will integrate with.

Deployment Strategy

Outline the deployment process, including CI/CD pipelines and environment management.

Cost Analysis

Provide an initial cost analysis for development, deployment, and maintenance.

User Feedback and Continuous Improvement

Explain how user feedback will be collected and used for continuous improvement.

Internationalization and Localization

Discuss plans for supporting multiple languages and regional differences.

Accessibility

Outline accessibility features and compliance with standards like WCAG.

Environmental Sustainability

Discuss any considerations for reducing the environmental impact of the system.

Ethical Considerations and Social Impact

Consider the ethical implications and social impact of the system.

Additional Considerations

Include any other aspects specific to your project that have not been covered.

GitHubで編集を提案

Discussion

新山 慶介新山 慶介

ちなみに必要な設計リストの日本語はこんな感じ↓

  • Requirements Analysis (要件分析)
  • System Architecture (システムアーキテクチャ)
  • Security (セキュリティ)
  • Data Modeling (データモデリング)
  • Scalability (スケーラビリティ)
  • Performance (パフォーマンス):
  • Reliability and Fault Tolerance (信頼性と障害耐性)
  • User Interface and User Experience (UI/UX) (ユーザーインターフェースとユーザーエクスペリエンス)
  • Compliance and Regulations (コンプライアンスと規制)
  • Documentation and Training (ドキュメンテーションとトレーニング)
  • Monitoring and Logging (モニタリングとログ記録)
  • Disaster Recovery Planning (災害復旧計画)
  • Maintenance and Support (保守とサポート)
  • Integration (統合)
  • Deployment Strategy (デプロイメント戦略)
  • Cost Analysis (コスト分析)
  • User Feedback and Continuous Improvement (ユーザーフィードバックと継続的改善)
  • Internationalization and Localization (国際化とローカライゼーション)
  • Accessibility (アクセシビリティ)
  • Environmental Sustainability (環境持続可能性)
  • Ethical Considerations and Social Impact (倫理的配慮と社会的影響)