<第3回>設計書を何で作るか「プレーンテキストで書いてみる」

EngineerLife

第3回目では、結局、設計書を作成するのに最適な形式は何なのかを探っていきます。

結局、何を使って設計書を作成するか、何が問題になるのか

EXCELだとダメなの?

EXCELでも設計書を作成することは可能です。むしろ実際の開発現場で使用されている割合はかなり高いのではないでしょうか。昨今のAIの進化が無ければ、EXCELのままでも十分かもしれません。しかし、AIのサポートを受けるためには、EXCELはバイナリ形式のため、恩恵は限られたものになってしまいます。

バイナリ形式だと何故AIの恩恵を受けられないのか?

ChatGPTや、それをIDEの中で利用できるGitHub Copilotなどを利用することで、システム開発での生産性は劇的に向上します。これらは全てプレーンテキスト(文字のみ)なので文脈やソースコードの前後関係を踏まえ、AIが色々なアドバイスをしてくれます。

しかし、EXCELはバイナリ形式で保存するため、先のChatGPTやGitHub Copilotなどを使用してAIサポートを受けることができません。EXCEL自体へのAI組み込みも徐々にではありますが行われているようです。しかしながら、設計書の複雑なレイアウトから各セルの意図(項目名?仕様?補足?)を汲み取るのはいくらAIが進歩しても難しいのではと思われます。

プレーンテキストで設計書を書けるのか?

AIサポートを受けるためには「全てがプレーンテキスト」である必要があります。試しに適当な画面の設計書をプレーンテキストで記述してみましたが、これでは人間が読むには優しくありませんよね?

システム設計書: 社員マスタ編集画面

画面概要
 画面名: 社員マスタ編集画面
 目的: 社員情報の追加、編集、削除を行うための画面。人事や総務が使用し、社員の基本情報を一元管理する。
 主な機能: 社員情報の表示、社員情報の追加、社員情報の編集、社員情報の削除、検索・絞り込み機能

画面の機能
 入力項目
  社員ID: 社員を識別する一意のID。自動採番される。必須項目。
  氏名: 社員のフルネームを入力。必須項目。
  フリガナ: 氏名のフリガナを入力。任意項目。
  生年月日: 社員の生年月日を入力。形式は「YYYY/MM/DD」。必須項目。
  部署: 社員が所属する部署を入力または選択。必須項目。
  役職: 社員の役職名を入力。任意項目。
  入社日: 社員の入社日を入力。形式は「YYYY/MM/DD」。必須項目。
  メールアドレス: 社員の連絡用メールアドレスを入力。必須項目。
  電話番号: 社員の連絡用電話番号を入力。任意項目。
  備考: 社員に関するその他の情報を自由に入力。任意項目。

ボタン・機能
 検索: 指定された条件に基づいて社員情報を検索する。
 新規作成: 新しい社員情報を入力するための画面を表示する。
 編集: 選択された社員情報を編集するための画面を表示する。
 削除: 選択された社員情報を削除する。削除前に確認メッセージを表示する。
 保存: 入力された情報を保存してデータベースに反映する。
 キャンセル: 現在の操作を取り消し、元の画面に戻る。

今回の結果

プレーンテキストでは章立てをインデントで表現したり、各文章に主語をきちんと入れてあげる必要があったりするので、人間から見たときに非常に読みづらいドキュメントになってしまいます。

システム開発の設計書はお客様に納品することが多いため、納品書としても適さない形式になってしまいました。

次回はプレーンテキストをハッテンさせたマークダウン形式についての可能性を探ります。

札幌在住エンジニア。JavaやPHPやWordPressを中心とした記事が中心です。

【SE歴】四半世紀以上
【Backend】php / java(spring) / c# / AdobeFlex / c++ / VB / cobol
【Frontend】 vue.js / jquery他 / javascript / html / css
【DB】oracle / mysql / mariadb / sqlite
【infrastructure】aws / oracle / gcp
【license】aws(saa-c03) / oracle master / XML Master / Sun Certified Programmer for the Java 2 Platform 1.4

Nobelをフォローする
EngineerLife
Nobelをフォローする

コメント

タイトルとURLをコピーしました