ウィリアム・ピエトリの回答はかなり気に入っていますが(+1)、追加する必要があると思います。あなたがシステムによって意味するものがソフトウェアだけで構成されていると仮定することさえ。
しかし、その内容に入る前に、役立つ本を知りません。続くすべてのことは、経験から学びました(つまり、ウィリアムが作成した3つのポイント)。
あなたが話していることは、少なくとも4つの幅広い役割に及びます。小規模から中規模のプロジェクトでは、1人でこれらの役割をすべて満たすこともありますが、大規模なプロジェクトを開始する場合は、これらの役割を少なくともある程度分離する必要があります。誰もが有意義な方法でそれらすべてを熟知することは困難です。
ビジネスアナリスト
それは顧客と話し、彼らの要求を建築家が理解できる何かに翻訳する人です。基本的に、適切に策定された要件のリスト。これには、明らかな機能要件(このシステムが提供する必要があるもの)が含まれますが、非機能要件(システムが満たす必要がある一般的な特性は何ですか?これには、セキュリティ、信頼性、可用性、復元力、容量、パフォーマンス、堅牢性、ユーザーの観点から他のそのような要件)。
これは、システムが実行する必要がある最初のパスであり、真剣な思考のまさに始まりです。
システムアーキテクト
この人は、その中で働くための高レベルの技術的フレームワークを作成します。彼らは、アウトラインマッチプランを提供します。一般的なツール、テクニック、構成。システム全体をより小さなコンポーネントに分解し、相互にどのように適合し、外界にどのように適合するか...
これにより、多くの点で考慮すべき事項を絞り込むことができます。その段階で、ビジネスアナリストによって書かれた要件に関する問題が頻繁に発見されます。彼らに戻り、彼らが望むものとその表現の理解を改善するために、いくつかの反復のために戻ってください。
システム設計者
この役割は、すべてを機能させる方法です。これは、一人のショーよりもチームワークの方が多いかもしれません。しかし、システム設計全体を監督する主任設計者がいる可能性があります。この人は詳細を掘り下げ、建築家の見解が実際に構築できるものであることを確認する必要があります。
システムのアーキテクチャー、さらにはビジネス分析のさらなる洗練を期待してください。
テストマネージャー
この役割はしばしば忘れられます。しかし、1日の終わりにテストできない場合、ビルドできることをどのように証明できますか?すべての段階の結果をレビューする必要があります。テストの有能な人がビジネス分析、アーキテクチャ、および設計を行います。
それは短い要約です。
それらの人/ギャルは、何を考えなければならないかについて考えるチェーンの工場の人々の一般的な実行です。
大規模な銀行業務や宇宙アプリケーションなどの複雑なプロジェクトで、2つの例を挙げると(数百から数千人日と考えてください)、あらゆる段階でプロジェクトのレビューとサポートを行うために、多くの主題の専門家が呼ばれます。これらの役割には、セキュリティ分析、システムのサイズ設定、容量、パフォーマンス、データベース、クラスタリング、および正確なビジネス領域を含む他の多くのこのような狭い専門分野が含まれます。さまざまな役割は、システムのサイズと複雑さに依存します。
すべてを試して、それをすべて知ってはいけない、と言ってはいけません。ただし、全体像を把握することはできますが、小規模なプロジェクトでは大規模なプロジェクトよりも多くのことを掘り下げることができます。単純に複雑さのレベルにより、より丸みを帯びることができるからです。
システムの設計方法を知りたい場合は、箱の外で考えて質問を開始する必要があります。顧客の立場に十分入って、何がうまくいかないか、何がテストを必要とするかを考えてみてください。次に、実際の顧客と一緒になって、彼らが必要とするシステムの範囲と限界を説明するようにそれらをプッシュします。加えて、私が「顧客」と言うときはいつでも、これにはいくつかの非常に異なる人々が含まれることを理解しなければなりません。設計された目的のために毎日システムを使用する人がいます。オペレーター、テクニカルサポート、レポートなどを必要とするマネージャー、監査人、インフラストラクチャチーム、支払いを行った利害関係者、システムをテストする手段を必要とする品質マネージャーがいます。彼らは一人です 一度に1つずつこれらすべての帽子をかぶるように依頼してください)、彼らに必要なものをすべて尋ねると、システム要件が何であるかを理解するのに良いスタートを切ることができます。そこからアーキテクチャを導き出し、そこから設計を導き出すことができます。
複雑なシステム(ソフトウェアのみ、または最も一般的な意味でのハードウェアとの統合)の場合、上記の4つの役割のそれぞれに1人では足りないだけでなく、システムの定義をプロジェクト管理する必要があります他のフェーズは言うまでもありません。
HPH、ASM。