ITプロゞェクトの芁件の品質に぀いお、率盎に蚀っお開発チヌムの立堎から。 パヌト2

パヌト1は、 リンクをクリックしお芋぀けるこずができたす



仕様芁件の蚭蚈ガむドラむンず䟋



圌らが話さないこず、誰もが自分のやり方で理解する


前のセクションで発衚したように、゜フトりェア開発の芁件を、チヌムの䜜業を簡玠化およびスピヌドアップしお最終補品に倉えるような圢匏で倉換しようずしたす。



仕様に慣れるための読者の準備



では、提瀺された芁件に぀いお開発チヌムの知り合いはどこから始めるこずができたすか 将来のパフォヌマヌぞの圌の創造のアナリストによるプレれンテヌションで間違いなく。 䞡者にずっお、最初のコンタクトがどの皋床うたく確立され、新しいプロセスに入るための障壁が克服されるかは非垞に重芁です。 しかし、倚くの堎合、倚くの理由で、これを行うこずは䞍可胜であるか、盎接問題になりたす。 そのため、ドキュメントの冒頭に、その構造の簡単な抂芁ず情報の衚瀺、およびそれを正しく効果的に䜿甚する方法の説明を含むセクションを含めるこずをお勧めしたす。



ドキュメントレビュヌの䟋







開発したシステムのコンテキストをよりよく理解するために、ドキュメント構造で必須ずしお遞択したセクションに加えお、タヌゲット補品たたはその耇合モゞュヌルの開発の結果ずしお達成されるべき目暙に関する情報を含めるようにしたす。 開発者は、プロゞェクトの終了時に顧客が受け取りたいものを認識する必芁がありたす。 このセクションの説明には、正匏な顧客ニヌズが適しおいたす。 同様のセクションは、ほずんどの暙準、たずえばGOST-34.602-89 [4]にあり、「システムの䜜成開発の目的ず目的」ず呌ばれおいたす。



次のようになりたす。







埌続のドキュメントアヌティファクトを開発する堎合、䞊蚘のセクションで蚘録したナヌザヌニヌズぞのリンクを添付する必芁がありたす各ニヌズには独自の識別子があるため。 したがっお、プロゞェクトの察象補品が満たさなければならないすべおの目暙が、その実装䞭に満たされるこずを確認できたす。



タヌゲット補品のコンポヌネント構造を芖芚化する



倧芏暡プロゞェクトの䞻な問題は、倚数のコンポヌネントを䜿甚する必芁があるこずです。 この事実は、補品の党䜓像のチヌムメンバヌの想像における共通のアむデアを著しく劚げる可胜性がありたす。 この悪ず戊うために、察象補品の䞀般的なコンポヌネントアヌキテクチャを説明するセクションをドキュメントの冒頭に远加しようずしおいたす。 このセクションは、タヌゲット補品のすべおの䞻芁なノヌド芁玠を1぀たたは耇数の画像に衚瀺し、それらの間の盞互䜜甚の方法ずモヌドの説明を理解するのに圹立ちたす。



Aivar Jacobsonは「Unified Software Development Process」[5]で、アヌキテクチャずいう甚語に次の定矩を䞎えたした。「これは重芁な特性ず陰圱の詳现を匷調したプロゞェクト党䜓の衚珟です」。

このセクションの䞭心的な芁玠の代わりに、私の意芋では、アヌキテクチャ図の衚蚘法が理想的です。 このタむプのプレれンテヌションは、コンポヌネントの暙準的な図に䌌おいたすが、専門家の幅広いサヌクルが理解するために、より芖芚的でアクセスしやすいように芋えたす。



以䞋は、システムアヌキテクチャの説明を含むセクションの芁件に含たれる郚分です。







読者が理解しやすいように、このような倧ざっぱな図面にテキストを添付するこずをお勧めしたす。







この衚珟は、耇数のチヌムがプロゞェクトに関䞎しおいる堎合に特に圹立ちたす。 圌らは、システムのコンポヌネント間の接觊のポむントむンタヌフェヌスずそれらのチヌムの盞互䜜甚を明確に刀断できたす。 䞀般モデルを理解するこずにより、初期段階で隣接する䜜業領域の実行者の責任の「たるみ」を回避できたす。



文曞がシステム党䜓ではなく、その郚分のみを考慮しおいる堎合、この郚分はダむアグラム䞊で色付きで匷調衚瀺できたす。 したがっお、異なるドキュメントでは、コンポヌネントアヌキテクチャの同じ図を繰り返すこずができたすが、異なる郚分コンポヌネントは色で匷調衚瀺されたす。



ダむナミクスの察象補品を想像しおください



顧客の䞀般的なニヌズを聎衆に玹介し、開発された補品のアヌキテクチャを芖芚化したずき、読者はすでにその䞻芁な機胜ずシステム党䜓の構造に぀いおの考えを持っおいたす。 これで、その䜿甚の䞻なシナリオを詳しく知るこずができたす。 GOST-34.602-89 [4]では、そのようなセクションは「システムによっお実行される機胜タスクの芁件」ず呌ばれたす。



倚くの堎合、このようなセクションを配眮するずき、ダむアグラムは芁件で䜿甚されたすUseCaseたたはビゞネスプロセスの説明BPMN、実行アルゎリズムアクティビティ、たたはIDEF0機胜モデルなど。 これらのタむプのダむアグラムはすべお、プロゞェクトの範囲を定矩するなど、蚭蚈段階で䞍可欠です。 しかし、私の経隓から、それらはプログラマヌにはほずんど圹に立ちたせん。 このドキュメントの察象ずなる開発者の芳点からは、構造化されたテキスト蚘述の圢匏で提瀺された、蚭蚈されたシステムを䜿甚するシナリオを具䜓的に扱う方がはるかに快適です。 この段萜の䞊蚘のすべおを芁玄するず、私は泚意したす誰も䜿甚しない情報でこのセクションをオヌバヌロヌドしないでください。しかし、目的のセクションに到達するために毎回スクロヌルしたす。



以䞋は、私が実際によく䜿甚するシナリオ蚘述オプションです。 このアプロヌチを開発する䞻な基準は次のずおりです。













こうしたシナリオは、開発者が将来、静的オブゞェクトずシステムコンポヌネントを実装するプロセスで、盞互䜜甚のダむナミクスをすばやく明確にするのに圹立ちたす。 したがっお、さらに、゚ンティティ、フォヌム、手順などの説明で それらが関䞎するスクリプトぞの参照を䜿甚する必芁がありたす他のすべおの仕様オブゞェクトず同様に、スクリプトの利点ずしお識別子がありたす。



同じシナリオは、芁件の別の消費者グルヌプであるQAスペシャリストの䜜業の基瀎ずしお䜿甚できたす。これは、テストシナリオに非垞に近いためです。



構成芁件ず仕様の圢匏を決定する



芁件の仕様-これは答えがある゜リュヌションではなく、䞀貫したアクションプランです
すべおの習熟セクションが準備できたので、ドキュメントの重芁な郚分である機胜芁件の仕様の䜜成に進むこずができたす。これは、開発者のタスクを䜜成するための出発点ずしお圹立ちたす。



仕様はグルヌプ化し、情報のブロックずしお適切に構造化する必芁がありたす。 最䜎レベルのブロックは、タスクの圢で開発者に転送する準備ができおいるアトミックな芁件でなければなりたせん。 したがっお、各仕様には、開発者が明確化および明確化のために䜜成者に連絡するこずなく、芁件を明確か぀完党に実装できるようにするのに十分な情報を含める必芁がありたす。 このようなアプロヌチにより、プロゞェクトマネヌゞャヌは、実際の負担をかけずに仕様を怜蚎し、詳现なプロゞェクトスケゞュヌルを䜜成するための「空癜」のセットを䜜成できたす。 それに぀いおは埌で詳しく説明したす。



リポゞトリから始めたしょう



仕様に埓う構造ず順序を決定するプロセスで合意したように、芁件の開発者による実装の段階は、デヌタりェアハりスの圢成から開始する必芁がありたす。 したがっお、仕様の私のバヌゞョンでは、このトピックに専念する最初のセクションです。 セクションの冒頭で、ドメむンモデルのより完党な理解のために、䞀般的なデヌタ構造を提䟛するこずが望たしい。 これはクラス図を䜿甚しお行うこずができ、非垞に人気があり、ほずんどのIT専門家に知られおいたす。 このむメヌゞにより、開発者は構造党䜓を䞀床に熟考できたす。 次に、モゞュヌルで䜿甚される個々の゚ンティティの仕様を詳述する必芁がありたす。



以䞋は、問題のプロゞェクトの仕様の䟋です。











したがっお、このような芁件を受け取った開発者は、デヌタベヌスオブゞェクト以䞋DBず呌びたすを生成するためのコヌドにしか倉換できたせん。 このような操䜜を実行するには、資栌の䜎い専門家を匕き付け、プロゞェクトの予算を節玄できたす。



モゞュヌルシステムをサブシステムに分割するこずをお勧めしたす。これにより、各リヌダヌは3〜7の実装された゚ンティティの数で動䜜したす。これにより別のサブシステム。



同様のセクションはGOST-34.602-89 [4]にあり、「情報ベヌスの組織の説明」ず呌ばれたす。



デヌタストレヌゞから、芖芚的なフォヌムでの衚瀺に移りたしょう



このモゞュヌルサブシステムで実装する必芁があるすべおの゚ンティティを説明した埌、芖芚的なフォヌムの開発を開始できたす。 フォヌム芁件は、同じスタむルで䟿利にフォヌマットされたす。 説明するずきは、開発が進行䞭のプラットフォヌムが提䟛するナヌザヌむンタヌフェむスの芖芚的なコンポヌネントに䟝存するこずが重芁です。 フォヌムを蚘述するずきは、前のセクションで説明したデヌタベヌス芁玠が属性を芖芚的に衚すために䜿甚されるこずを瀺す必芁がありたす識別子も持っおいるため。 たた、開発者が開発しおいるものず画面䞊のすべおの動きをより完党に想像できるように、フォヌムの説明で、リンクを指定するこずを忘れずに、このフォヌムが䜿甚されるシナリオに蚀及する必芁がありたす。











耇雑な属性[UI1.2.2.a9]などの堎合、衚には、関連付けられおいる゚ンティティぞのリンク、デヌタ遞択の制限、フォヌムに衚瀺するフィヌルド、フォヌム䞊のリンクをたどる芏則などがすぐに蚘茉されおいるこずに泚意しおください。 d。 各属性に぀いお、システムの芖芚コンポヌネントに察応するビュヌが瀺されたす。 このような詳现で明確な説明により、開発者は予枬可胜な品質でタむムリヌにナヌザヌむンタヌフェむスの芁件を簡単に実装できたす。 詳现なディテヌルにより、資栌の䜎い人材を仕事に匕き寄せるこずができ、プロゞェクトマネヌゞャヌがタスクをチヌムに効率的に分散しお、プロゞェクト党䜓の収益性を高めるこずができたす。



ビゞュアルフォヌムの動䜜を䞎える



ビゞュアルフォヌムが指定されたら、その動䜜のプログラムを開始できたす。 したがっお、次のセクションでは、通垞、フォヌムむベントを凊理するずきに自動的に実行できる、たたはGUI芁玠ボタン、メニュヌなどを操䜜するずきにナヌザヌが開始できるすべおの手順を玹介したす。



䜿いやすくするために、各芁件仕様には䞀意の識別子を割り圓おる必芁がありたす。 これらの識別子は、芁件自䜓ず図を含む他のプロゞェクト成果物の䞡方で、リンクずしお䜿甚できたす。 アクションの蚘述の倉圢、特に識別子生成アルゎリズムは、以䞋の芁件の䟋で芋るこずができたす。







モゞュヌルがボリュメトリックアルゎリズムの説明、入力および出力パラメヌタヌの定矩、远加のデヌタストレヌゞ構造の開発などを含む耇雑な機胜を䜿甚する堎合、ドキュメントに補助機胜の芁件を含む別のセクションを含めたす。 䞊蚘のフォヌムのアクションを説明する仕様によっお参照される堎合がありたす。 たずえば、ヘルパヌ関数は、フォヌムの異なるむベントで同じ基本関数が呌び出される堎合に䟿利です。 同様のセクションはGOST-34.602-89 [4]にあり、「アルゎリズムの説明」ず呌ばれたす。



以䞋は、同様の衚珟の䟋です。







さらに、ドキュメントセクションでは、オプションでレポヌト、定期タスク、高床な怜玢などが続きたす。 䞊蚘の䟋に瀺すように、これらの項目に同じレベルの詳现を入力し、䜿甚されおいる゚ンティティ、手順などぞのリンクを瀺すこずをお勧めしたす。



セキュリティの䞖話をしたす



このようなシステムのドキュメントで蚀及する必芁がある別の重芁なセクションは、アクセス暩に専念しおいたす。 その䞭でロヌルが識別され、それらの説明が䞎えられ、デヌタオブゞェクトずナヌザヌむンタヌフェむス芁玠ぞのこれらのロヌルのアクセス暩が瀺されたす。



以䞋は、アクセス暩管理サブシステムの芁件の䟋です。







䞊蚘の圹割テヌブルの䟋では、利害関係者の目暙などの説明がないこずに泚意しおください。 これらの詳现は、芁件を䜜成する段階のアナリストにずっお重芁ですが、開発者にずっおは実質的に圹に立ちたせん。 次のステップでは、わかりやすくするために、列ずしおリストされたロヌルに蚱可されたアクションが利甚可胜なものに固定されるセルにテヌブルを䜜成できたすプロシヌゞャ、デヌタベヌステヌブル、ナヌザヌむンタヌフェむス芁玠など、行ずしお瀺されたす。 たた、蚱可されたアクションは、たずえば、英語の単語の最初の文字の圢匏C-Create、R-Read、W-Writeなどで瀺すこずができたす。











同様のサブセクションは、たずえばGOST-34.602-89 [4]にあり、「䞍正アクセスから情報を保護するための芁件」ず呌ばれおいたす。



最埌のパヌトでは、 リンクの専門家によるこのような芁件仕様、PMおよびQAの効果的な䜿甚の䟋を瀺したす。

。



参照資料
[1] K. I. Wigers、゜フトりェア芁件開発、ロシア語版出版および取匕所、2004幎、p。 576。

[2] A. Coburn、「機胜芁件を蚘述するための最新の方法」、Laurie、2002、p。 288。

[3] W. D.レフィングりェルディヌン、゜フトりェア芁件を扱うための原則、りィリアムズ、2002幎、p。 448。

[4] GOST 34.602-89「情報技術。 自動化システムの䞀連の暙準。 自動化システムの䜜成のための参照条件。」

[5] B. G. R. D.ゞェむコブ゜ンA.、統䞀゜フトりェア開発プロセス、ピヌタヌ、2002幎、p。 496。



All Articles