ChatGPTでシステム開発の設計書テンプレートを作成する
結論
割と満足いく結果が返された。
今後はプロンプトをテンプレート化し、それぞれの設計について深掘りしながら設計を効率化できるようにしていきたい。
例えば...
- プロジェクトの概要や規模から必要な設計を絞り込む
- 粒度の決定から工数試算→設計段階の見積もり作成まで落とし込みたい
- 各設計資料のテンプレートを作成し、使いまわせるように出力する
作成手順
- ChatGPTをベテランのエンジニアもしくはベテランのPMであると人格形成する
- "必要な設計はどのようなものがあるか"の旨の質問をする
- "2"を気が済むまで繰り返す
- 一覧をリストにして出力してもらう
- リストをChatGPTが考える優先順位でソートしてもらう
- 設計書のテンプレート作成の依頼をする(出力形式などはここで指定する)
- 気に入らなければ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
- System Overview
- Requirements Analysis
- System Architecture
- Data Modeling
- Security
- 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
- 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.
Discussion
ちなみに必要な設計リストの日本語はこんな感じ↓