ソフトウェア要件仕様

私たちは皆、ソフトウェアの開発方法をよく知っています。 10分間考えて、すぐにコードに行きました 。 ソフトウェア開発サイクルは、多くの重要なポイントで構成されています。 これらは、計画、アーキテクチャの作成、SRSの作成、設計の作成などの瞬間です。







SRSとは何ですか?



SRS-ソフトウェア要件仕様 -システムの動作方法、実行する機能、耐える負荷の種類などに関する情報を含むソフトウェアの特別なドキュメント。



なぜ必要なのですか?



すべてが非常に簡単です。 TK(自転車)を使用し、SRS(車)を使用します。 アナロジーが明確であることを願っていますか? :)



SRS構造



以下は、生の形式の英語の構造です。 記事の少し後、各項目をより詳細に検討します







それで、構造を整理しました。次に、セクションとそれらに書き込む必要があるものに進みましょう。



すべてのSRSセクションの基本要件







SRS構造の各句の説明





はじめに\目的

このセクションでは、SRSで機能が説明されるアプリケーションまたは製品について説明します。



はじめに\ドキュメントの規則

ここでは、SRSにあるすべてのあいまいな技術用語または用語について説明します。 理解できない単語の説明には、別の理解できない単語を含めることはできません。 シンプルでわかりやすい言語で使用する用語をできるだけ詳細に説明するようにしてください。 このセクションを保存しないでください。不明瞭なものを書き留めるほど、後で設計しやすくなります。



はじめに\参照

このセクションでは、使用されている技術と事実の基礎を見つけることができる文献へのリンクを作成します。 TCP / IPで動作するアプリケーションを作成している場合、RFCを埋め込み、参照するドキュメントへのリンクを挿入できるなどと仮定します。 リンクとその説明は可能な限り完全でなければなりません。その場合(リンクは単純に停止しました)、この資料をグーグルで検索することができました。



全体的な説明\製品の機能

このセクションでは、機能の一部を高レベルで説明します。 詳細については、機能の各部分について、以下のセクションで説明します。 ここでは、システムの一般的な相互作用を示すDFD図を配置することをお勧めします。



全体的な説明\動作環境

このセクションの名前から明らかなように、製品が動作する環境について説明します。 OS、コンパイラのバージョン、データベース、サーバー、ソフトウェア、ハードウェア、および製品の動作に必要なその他のもの。



全体的な説明\設計と実装の制約

このセクションは下手です:)。 開発標準を課すことにより、開発者の思考の流れを制限します。 このような制限は、たとえば次のようなものです。





全体的な説明\ユーザードキュメント

この製品のユーザーに必要なドキュメントについて説明します。 おそらく、これがHTMLエディターであれば、HTMLに関する本です。



システム機能\システム機能X

この機能をプロジェクトに呼び出し、一意の識別子を付けます。 たとえば、server.html.editor。 チケットのどこかに書かないように一意の識別子が与えられます-「しかし、HTMLを編集できるのはたわごと」



システム機能\システム機能X \説明と優先度

製品の機能について詳しく説明します。 彼女は何のためですか? どうすればいいですか? 彼女の実行の優先順位は何ですか?..このセクションから、cmsユーザーの読者には、この機能がシステムに存在する理由がすぐに明らかになるはずです。



システム機能\システム機能X \刺激/応答シーケンス

トリガートリガー機能。 いつ起動し、起動時にどのように動作しますか? たとえば、ユーザーがメニューリンクをクリックするとHTMLエディターが表示されますHTMLエディターを開く



システム機能\システム機能X \機能要件

機能の詳細かつ詳細な説明。 仕組み、エラーへの対応方法、チ​​ェック対象、データの表示方法、保存方法と保存場所など、すべてを説明します。



外部インターフェースの要件

システムが外界と相互作用する方法の説明。 もちろんそうなれば。 どのAPI、これまたはそのデータを取得する方法など。 サブセクションは、要件の詳細を示すために使用されます。 どのソフトウェアインターフェイス、ハードウェアインターフェイス、通信インターフェイスなど。



非機能要件

機能要件ではありません。 セキュリティ要件など、ある種の機能として説明できない要件があります。



非機能要件\パフォーマンス要件

パフォーマンス要件。 これは機能ではありませんが、特定の制限があります。 プロジェクトデータベースが1秒あたり1000件のクエリに耐える必要があるとします。 これらの要件は、プロジェクトを最適化するための多大な作業につながります。



非機能要件\ソフトウェア品質属性

ここでは、コードの品質要件について説明します。 使用するテスト コードの品質を判断するために使用するメトリックは何ですか? どのくらいのコードをテストでカバーする必要がありますか?



非機能要件\セキュリティ要件

安全要件。 これがサイト上の何かを変更できるHTMLエディターである場合は、次のようになります。HTMLエディターを介して、サーバー上にシェルを配置するなどはできません。



付録A:用語集

アプリケーション。 SRSでは、プロトコルなどの説明を挿入しようとすることがあります。 これは必要ありません。 ただし、ある種の概念を明確にする必要がある場合があります。 このセクションがあります。 そのような説明へのリンクを挿入します。 そのような辞書。



付録B:分析モデル

このセクションでは、SRSを記述するときに使用する図を定義します。 たとえば、DFD、相互作用と作業の一般的な図



付録C:問題リスト

このセクションは、非常に正式なSRSに使用されます。 TBD(To Be Done)のポイントを説明します-将来何をする必要があるかについて説明しますが、ここでは説明しません。



おわりに



SRSはオプションですが、中規模から大規模のプロジェクトに役立ちます。 SRSを使用すると、開発者としてのプロフェッショナルレベルがわかります。



PSせいぜいあなたにお願いします-多かれ少なかれハブの平均規模の最初の記事 構文の修正は大歓迎です(私は正しく記述しようとしますが、ロシア語の7年生の教育はマークを残しています)。



All Articles