What are the documents used for system development?
The good old waterfall model
If you work in software development, you have probably heard about the waterfall project management methodology (or waterfall model), even if you’ve never used it. In general, the waterfall model is a sequential, linear process of project management that divides software development into pre-defined phases. Waterfall is considered a “traditional” and strict approach, proper planning is a must, and there must be a clear picture of what the final product. Everything must be carefully documented and team members will refer to the documentation throughout the process.
The importance of documentation in system development
In system development process, the time required to create document is not small. But good documentation can provide many benefits:
- Clarify goals and requirements
- Ensure that developers and stakeholders are headed in the same direction
- Keep track of all aspects of the system and improve the quality of the product.
- Assist new user/stakeholder/developer
- Maintenance is easier
Documents in Software development
In this post, I will present a list of documents you can see in a project using waterfall model and their purposes. There are a few points I want to make:
- I don’t have much experience with other management methodologies like Agile or Scrum, so I will limit it to waterfall model.
- The documents below are frequently used at Japanese companies (where document management is crucial), so your experience could be different.
- Different companies have different document management systems/styles, for example, customer may require screen design at requirements phase, or several documents can be merged together.
- The English names are roughly translated, for example, 業務 does not mean “business” only, but “business operation”, “business affairs” in general.
For the sake of completeness, I will also include business related document (mostly appeared in the planning phase), even though developer will rarely see them.
Here is the list
Phase | Document | |
---|---|---|
Business | 現状業務の業務フロー図 (AsIs) | Current business flow diagram (AsIs) |
システム化後の業務フロー図 (ToBe) | Business flow after systemization diagram (ToBe) | |
業務機能一覧 | List of business functions | |
システム化業務一覧 | List of systemization business | |
システム化業務説明 | Systematization business explanation | |
業務機能構成表 | Business function structure table | |
ビジネスプロセス関連図 | Business process relationship diagram | |
外部システム関連図 | External system relationship diagram | |
業務処理定義書 | Business process definition | |
システム開発地図 | System development map | |
Requirements Definition | 要件定義書 | Requirements definition |
機能一覧 | List of Functions | |
機能定義書 | Function definition | |
画面遷移図 | Screen transition diagram | |
画面一覧 | Screen list | |
画面イメージと項目説明 | Screen image and item description | |
画面アクション明細 | Screen action details | |
帳票一覧 | Form list | |
帳票イメージと項目説明 | Form image and item description | |
バッチ処理一覧 | Batch processing list | |
バッチ機能概要 | Batch function overview | |
バッチジョブフロー | Batch job flow | |
外部インタフェース一覧 | List of external interfaces | |
外部インタフェース項目定義 | External interface item definition | |
外部インタフェース処理説明 | External interface processing explanation | |
データモデル定義書 | Data model definition | |
データレイアウト概要 | Data layout overview | |
非機能要件の定義 | Definition of non-functional requirements | |
Basic Design | 基本設計書 | Basic design document |
システム構成図 | System Configuration | |
ハードウェア構成図 | Hardware configuration diagram | |
ソフトウェア構成図 | Software configuration diagram | |
ネットワーク構成図 | Network configuration diagram | |
設計書記述様式 | Design document description style | |
画面設計書 | Screen design | |
画面レイアウト項目定義 | Screen layout item definition | |
帳票設計書 | Form design | |
帳票レイアウト項目定義 | Form layout item definition | |
帳票編集定義 | Form edit definition | |
オンライン処理設計書 | Online processing design | |
バッチ処理フロー | Batch processing flow | |
ジョブネット図 | Job net diagram | |
ジョブ設計書 | Job design | |
外部IF設計書 | External interface design | |
メッセージ設計書 | Message design | |
エンティティ一覧 | List of entities | |
エンティティ定義書 | Entity definition | |
CRUD図 | CRUD diagram | |
データ項目定義書 | Data item definition | |
テーブル一覧 | Table list | |
テーブル設計書 | Table design | |
テーブル定義書 | Table definition | |
テーブル関連図(ER図) | Table relationship diagram (ER diagram) | |
ドメイン一覧/定義 | Domain list / definition | |
コード一覧/定義 | Code list / definition | |
共通処理関数設計 | Common processing function design | |
Detail design | 詳細設計書 | Detailed design document |
画面イベント定義 | Screen event definition | |
画面処理詳細定義 | Detailed definition of screen processing | |
クラス図 | Class diagram | |
シーケンス図 | Sequence Diagram | |
ステータス遷移図 | State transition diagram | |
DB更新項目定義 | DB update item definition | |
バッチ処理設計書 | Batch processing design | |
Test | 単体テスト仕様書兼成績書 | Unit test specifications and transcripts |
結合テスト仕様書兼成績書 | Integration test specifications and transcripts | |
システムテスト仕様書兼成績書 | System test specifications and report | |
運用テスト仕様書兼成績書 | Operation test specifications and report |
References: