すでに完成/開発されたクラスライブラリに関するドキュメントを作成しようとしています。
ドキュメントの目的は、このクラスライブラリに含まれているメソッドの種類とその使用方法を理解するために、他の開発者が使用することです。より具体的には、クラスの各メソッドと属性のXMLコメントに基づいて提供するJavadocツールのようなドキュメント。
これまでのところ、ドキュメントの種類について読んでいますが、技術仕様とソフトウェア設計ドキュメントは、そのような情報を提供するものであるようです。
しかし、すでに読んだいくつかの読みに基づいて多くの違いを見ることができないので、それらについて混乱しています。
たとえば ここ 、それはソフトウェア設計ドキュメントがソフトウェアプロジェクトのアーキテクチャにソフトウェア開発チームに全体的なガイダンスを提供するために使用されることを示しています。そして here それはテクニカルドキュメントがソフトウェアプロジェクトに参加する新しい開発者のために使用されることを示していますプロジェクトを紹介するにはどのような情報が役立ちますか?
この観点から、これらのドキュメントは、ソフトウェア開発者がこれまでに開発されたものに慣れることを目的としているようです。しかし、違いは何であり、私の目的にどちらを使用するのですか?
実際の定義:技術文書とは、一部の専門家が必要であるため、一般の人間が理解できない文書を意味します知識。
悪いニュースは、何を入れるかを決定するのに役立たないことです。良い知らせは、これからは自分でこの概念を使って、あなたが理解していないものを修飾することができるということです:「ええと!これらの会計ガイドラインは非常に技術的なドキュメントのようです」君は)。
本当の質問:テクニカルライティングの場合、他のライティングと同様に、最初の質問は、対象読者が何であり、これの主な目的を知ることですドキュメントは次のとおりです。
致命的な仮定は、技術的なニーズをカバーする「技術文書」を作成できると考えることです。チーム(内部を知る必要がある)とユーザー(ユースケースとインターフェースを理解する必要がある)が理解する詳細のレベルは、多くの場合非常に異なります。
Grady Boochは、著書「Object Oriented Analysis and Design Technique」で目的のソフトウェアドキュメントの内容を公開しています。
- 高レベルのシステムアーキテクチャ
- アーキテクチャの主要な抽象化とメカニズム
- システムの主要な側面の構築時の動作を示すシナリオ
彼はさらに非常に具体的なポイントを作りました:
表記法の図で表すことができますが、プログラミング言語で直接言語表現がないこれらの高レベルの構造を文書化し、開発者に特定の重要なクラスのインターフェースを参照して戦術の詳細を確認することをお勧めします。
文書には2つの基本的な種類があります:ユーザーズガイドと参照文書。
(一部の企業は、概要を別の種類として認識しています。以下を参照してください。)
リファレンスドキュメント製品のパブリックインターフェイス全体を入念にかつ正確に一覧表示します。各スイッチとパラメーターの意味、有効と見なされる入力、各ケースで返される内容など。
設計原則はパブリックインターフェースの構造と編成に直接表れるため、リファレンスドキュメントには、製品のインターフェースの一部と側面、および詳細をリストする前に動作の概要セクションを含めることができます(個々のAPIのエントリでの繰り返しを避けるためだけ) 。
A ユーザーズガイド目的は、実際の問題および/またはそのクラスを解決するためにパブリックインターフェイスを使用して製品の作成者がどのように想定するかを示すことです:意図した使用パターン、一般的な一般的な問題および提案されたソリューション(特定のAPIにローカルな問題)むしろ参照エントリに属しているようです)。
ユーザーガイドは意図的に不完全であり、「全体像」と主要なポインタのみを提供し、詳細についてはリファレンスに任せています。
ユーザーガイドにも概要テキストを含めることができますが、ここでの概要の焦点は使用パターンです:何がsupposedの後に何の場所から呼び出されるか等.
一部の会社、例えばMicrosoft、最高レベルの概要を別の種類のドキュメントに分離します。 MSDNの多くの場所で、「Xについて」、「Xの使用」、および「Xリファレンス」に分割されたXのセクションが表示されます。
ご覧のとおり、ユーザーガイドとリファレンスは互いに補完し合い、さまざまなトピックをカバーし、さまざまな観点から説明しています。ガイドは、長期的にはドキュメントを参照しながら、短期的にはユーザーにとってより有益です。
参照は完全であるため、後者に存在する情報はそこから推測できるという点で、ユーザーガイドよりも「優れています」。ただし、学習曲線が急になります。
OTOHユーザーズガイドは、特にインターフェースが急速に変化する場合、維持するのにはるかにはるかに小さくて負担が少ないです。欠点は、ユーザーがあなたが与えたいくつかの例以外に何をしようとしているのかがわからない、どこでどのような構文が許可されているのかなど、ユーザーが確信できないことです。
man
ページは、リファレンスドキュメントの典型的な例です。一部のman
ページの作成者(例:rsync
)は、ユーザーのガイドセクションを追加しようとしました-そのため、必要な参照資料を見つけるのが困難になりました。