7.3チームの構造を形成します

 
フレームワークモジュールの分解構造の最初のいくつかのレベルが非常に安定したら、開発チームに割り当てられたこれらのモジュールを置くことができます。ビューが割り当てられた結果は、第2章で説明した作品です。ビューモジュールは、既存の又は現像ユニットに割り当てられた、または新しいセルを定義します。
 
1968早けれとして、アーキテクチャとその開発者の間の密接な関係は、土壌中の人の注目を集めました。[コンウェイ68、29]は以下に記載するように行っています。
 
システム内の任意の2つのノードxとyを取ります。これらは、いずれかのパスで接続されている。いずれに接続されていません。(つまり、何らかの方法で、または彼らは、通信システム、またはそのような通信の動作に影響を与えることができます。)枝が存在する場合は、確かに交渉してきた二つのノードXとYの設計チームの開発を担当し、通信インターフェース仕様つのノード上の合意に達しました。、したがって、これら2つの開発チームは、ネゴシエーションを必要としない二つのノードxとyの間には分岐が、2つのサブシステム間の通信がない一方、xとyとの間に分岐が存在しません。
 
コンウェイは、この構造は、に構造やシステム開発組織建を区別する方法を示すことであることの目的を説明したが、二つの構造の構造及びシステム開発組織との間の関係(この点で、通信路から少なくとも)双方向、双方向であり、これが必要です。
 
フレームワークの組織構造への影響は明らかです。コンセンサスによって開発されるシステムのアーキテクチャと、様々なグループ作業分解構造を反映するように上昇与えた各チームに各モジュールの大きな割り当てを開発する必要があります。各グループは、開発、それらのモード(または、全システムを開発するための所定のパターン)に従って行うことができます。同時並行性と異なるサブサプライヤに属するインチ基を発生することができる大規模システム、のために。開発プラクティスは、ファイルを命名し、品質管理システムを持つため、このような通信のための掲示板やWebなど、以下の項目を含むことができます。これのすべては、特に大規模なシステムの開発のために、異なる開発チームと異なると異なる場合があります。また、各グループの品質保証及び試験手順を確立するために、各グループはまた、互いに協調するために接触を確立する必要があります。
 
そのため、並行処理で各モジュールを担当するチームの編成。頻繁に今山詳細設計上の決定の多数の形で共有する情報へのニーズを再生する:チームは非常に簡単なコミュニケーションの仕組みを持っている必要があります以内。各グループ間では、そこにそんなにを通信する必要もありませんが、この通信は(フレッド・ブルックスは慎重にチーム間の通信オーバーヘッドを管理しない場合は、プロジェクトの開発は、トラブルを引き起こす可能性があると考えている)も重要であるだろう。もちろん、システムと仮定すると、合理的な分離の問題のために設計されています。
 
これらの設計基準を満たすために失敗し、システムが非常に複雑になります。実際には、グループ間通信の開発チームの構造と制御は、並行して、成功した大規模プロジェクトに影響を与える重要な要因です。チーム間のコミュニケーションは確かに複雑である場合。これらの要素の間にあることを意味は、グループの相互作用が複雑すぎるによって開発された、または十分に発展する前に、これらの要素のための明確な要求ではないことにします。この場合、チーム内のコミュニケーションの多くを必要とするだけでなく、グループ間で頻繁にやりとり。これは、協議の多くを必要とし、多くの場合、要素とそのインターフェイスを再定義する必要があります。ソフトウェアのシステムと同様に、開発チームも緩く、高度に凝集、結合されるように努力すべきです。
 
なぜ開発チームの構造は、モジュール分解構造を反映していますか? - モジュール分解の原理構成設計 - 暗黙情報ゼング原理を各モジュールは、カプセル化または非表示の内容を変更することが必要で、それが除去変数の詳細を確立するためには、そのユーザー(これはシステムの他のモジュールであります)サービス・インターフェースの一般的かつ一貫したセットを提供します。各モジュールは、独自の小さな領域を構成することが、この手段は:ここでは、知識や専門知識の専門分野を参照するために、「フィールド」を使用します。:グループとモジュール間の次の例の構造に達するを示す自然に分解し、これは、同一のを助けます
 
•モジュールは、層システムのユーザインタフェースです。これらの成分は変わり得るので、それは、ユーザに情報を提供するための他の特定のユーザ・インターフェース・コンポーネントのモジュールのアプリケーションプログラミングインタフェース独立(ラジオボタン、ダイヤル、ダイアログボックスなど)に提供します。ここで、このような技術のユーザ・インターフェース・コンポーネントの集まりです。
 
•モジュールは、隠されたプロセススケジューラと利用可能なプロセッサ・スケジューリング・アルゴリズムの数です。ここでは、プロセスのスケジューリングや、様々な適切なアルゴリズムの分野です。
 
•モジュールは、A-7Eシステムアーキテクチャ(第3章)物理モデル・モジュールです。モジュールは、その格子をカウントするために使用されます
物理的環境の方程式一定の値がカプセル化されました。ここでの数値解析(これらの式は、デジタルコンピュータ動作に十分な精度を確保するために実装しなければならないため)、航空電子工学の分野です。
 
非常に小さいフィールドは、彼らの専門知識に応じた合理的な取り決めを、私たちは、最も効果的な方法は、開発者の皆様の能力を十分に発揮することを実現可能であるように、モジュールが見られています。唯一のモジュラー構造は、それを可能にします。以下の引用は時々フレーム構造の開発機構パネルの独立が追加されます、について話します。
 
同時実行性とより微妙なアーキテクチャの姉妹組織がリングに刻まれたが、それはあるだけの(システム・アーキテクチャ・グループが記述構築することです)アーキテクチャと組織の発展に重要な影響として。小さなチアノーゼにアプリケーションアーキテクチャを設計するために割り当てられた、データベース・アプリケーション開発チームのメンバーであるとしましょう。そして、あなたが最も可能性の高いデータ建てられた家の問題に直面して問題視されます。使用すべきである図書館システムで注意番号の種類を考えてみましょうか、それが自分のデータベースシステムを構築しなければならない、またはデータアクセスが想定されるかどうか
そして、行って問い合わせの形で他の問題。ですから、データストレージおよび管理のために提唱し、そのようなクエリの形式として実装上の問題は、異なるサブシステムのさまざまな方法を使っています。システム上の通信グループテレコムの視点からのメンバーが。この男のために、(おそらくそれに興味を持っていない)データベースは、それの唯一のサブシステムです。
 
第1章議論し組織的な問題は、以前の経験と欲望を採用するか、いくつかの並行性とスキルがアーキテクチャにどのように影響するか、上記のシナリオでは、この影響は、具体的な例に反映されます方法です。特定の領域における組織的な開発作業が続くと、それはさらに、契約のビジネスの手段として形成することになる - いくつかの製品、およびこれらの製品を維持するために、専用のチームを持っています。私たちは、チャプター14と15でこの問題を議論します。
 
スケルトンシステムの作成7.4
システムの有利な注文機能を達成するためのプロジェクトの種類 - の基本的な機能を提供するために、アイデアの段階 - フレームワークは完全に設計されており、チームはフレームワークの構築を開始する準備ができてきた後、私たちは、このシステムの骨格を構築することができます。
 
古典的なソフトウェアエンジニアリングのプラクティスは、システムと独立したテストのためのシステムのそれぞれの部分を追加できるようにするために、種々の部品清Xiのエリアコードを分離することをお勧め。しかし、どのような部分が独立していなければなりませんか?フレームワークが案内する場合は、順序がはっきりとより多くの消費者がある実装。
 
まず、実装プロセスのアーキテクチャとインタラクティブコンポーネントのソフトウェア部分を実現します。これは、リアルタイムスケジューラシステムの生成を必要とするかもしれない:マルチプロセスシステムのプロセスの同期機構やクライアント/サーバ・システム:ルールベースのシステムの励起ルールを制御する(ルールのプロトタイプセットで)ルール・エンジンを実現するために共同のクライアント/サーバー。通常の条件の下で、基本的な相互作用のメカニズムは、タスクが実装するのではなく、インストールになる場合には、サードパーティのミドルウェアによって提供されてください。通信または相互作用インフラの上で、あなただけのいくつかの固定の行動を引き起こした最も単純な機能を、インストールすることをお勧めします。この時点で、実行中のシステムを持っています。これは便利な機能を追加するための基礎を提供します。
 
さて、あなたは、システムに追加された機能を提供するために、どの要素を選択することができます。この選択は、以下の要因に基づいて行うことができる。まず、リスクを軽減するためのプロセスの最も問題の一部、または型と並行して既存のスタッフのレベル:市場にできるだけ早くまたは有用な製品。
 
機能素子の次の増分を選択した後、(反対のプレースホルダとともに)この機能をサポートするシステムで使用されるべきソフトウェアを知るために、構造化された(第2章)を用いて使用することができます。
 
ソフトウェアは並行処理を完了するまでのプロセスの増加によって、より多くの、継続。いつでも、統合とテストのタスクは多くありませんが、最近、各増分で導入されたエラーの原因を見つけることは容易です。小さな単位で開発する場合、予算とスケジュールの予測可能性が強く、そのため、経営とマーケティング活動が容易になります。
 
でも、コードの一部は、完全なシステム建の髪のための道を開くのに役立ちます建を区別します。これらのスタブは最終的に必要な同一のシステム・インターフェースに従っている。したがって、KBAの欠如は本当に機能、彼らはまた、テスト・コンポーネント間の理解との相互作用に貢献したとしても。非ハードコードされた創造的な出力を生成する(本当の所定の出力はコード化された)、またはファイル出力から読み取る:これらのスタブコンポーネントは、2つの方法で、この相互作用をシミュレートすることができます。時間を推定するための包括的な負荷が実際の処理のニーズの作業バージョンの開発を完了した - 彼らはまた、システムを生成することができます。これは、インタラクティブなパフォーマンスとボトルネックを含め、早期のシステム性能要件の理解に役立ちます。
 
よるCusumanoとセルビーは、生命の進化は、マイクロソフトで採択された戦略の送達のための基礎である、と述べました。この方法を使用する場合は、マイクロソフト社は、製品開発の初期段階では「完全な」スケルトンシステムを作成するには、頻繁に(多くの場合、一晩)、「仕事」を再作成することができますが、システムおよび最終的なシステムのギャップがあります。この練習の効果は良いですが、あなたが作業システムを得ることができ、あなたは常に仕事のこのシステムの性質が十分にされていたと言うことができ、その後、製品を起動します。しかし、問題は、インターフェイスの定義を行うためのシステム、およびすべてのサブシステムのその後の開発を完了するために開発チームの最初の部分は、インターフェイスを演奏し、この需要を満たすために持っていることです。これは、彼らがその定義されたインタフェースを作成することが少なく、より分析をプレイする必要があり、ため、システムの一部は、有害になります実際にはもっと複雑です。これは、複雑な、より複雑なサブシステムを行います。したがって、我々はあなたに相談して、開発効率を向上させるために、スケルトンシステムを使用する最初のスケルトンのサブシステムインタフェースを提案します。
 
7.5まとめ
フレームワークは、ニーズ分析、アーキテクチャ設計が、解析が完了した後に需要が開始されませ必要に応じて設計する必要があります。実際には、フレームワークの識別キー・ドライバは、あなたが建築設計を開始することができます。リアフレーム(再び設計が完了するまで待つ必要枠組みを説明する)の十分な部分を設計するときは、骨格系を開発することができます。骨格系は、フレーム(および任意の点aで送達する能力)反復的な開発上にあります。
 
品質特性シーンや戦術、第4章と第5章では、アーキテクチャの設計が重要であるについて説明します。ADDは、品質モードを定義してインスタンス化モデル与えられたモジュール型の機能要件で使用するのに適したフレームワークを属性を使用する必要があり、トップダウン設計プロセスです。
 
必要に応じてフレームを介して通信経路を決定する。組織のいくつかのレベルを決定します。専門知識の提供と組織部門の既得権によって組織構造を既存の、また、アーキテクチャ上の影響を与えました。
 
7.6さらなる文献を参照することができ
「ファーストクラス」モデルのソフトウェア開発ライフサイクルモデルが記載されているように[マコーネル96]は生命の進化をお届けします。その目的は、広告された製品のいずれかの反復を整理することができるようになりますので、組織の異なる優先順位とタイム・ツー・マーケットの圧力や製品の機能をサポートすることです。システムのスケルトン構造、および構造体の使用に焦点を当てと組み合わせることで、我々は、市場への影響を最大限にするために、特定の製品リリースの特性を達成することができます。」
 
建築の先駆的な仕事上のクリストファー・アレグザンダー(ビルタイプ)デザインパターン敷設金型設計ソフトウェア
仕事の基本的なタイプ。彼の著書[アレキサンダー77]は、デザインパターンを理解し、学ぶための必読のものです。(これらの本はまた、構築するために役立ちます。) 
 
ソフトウェアのデザインパターンについて、最も頻繁に言及した著者は、いわゆる「4つのギャング」[ガンマ95]です。【ブッシュマン96]
デザインモードの申請フレームスタイルのセットは、その2つのリンクを設置しました。
[ブルックス95]は、すべてのソフトウェアエンジニアのための必読の参考書で、本の改訂版は、反復的な開発ベースのフレームワーク、特に、Microsoftの実践例を説明するのメリットを議論することでした。
【ボッシュ00A]は、ADDアーキテクチャ設計の方法は異なるが提供され、方法は、第一の機能を実現するために分割を検討し、次に他の品質特性を達成するために、分割変換します。
ラショナル統一プロセスの[Kruchten 00]に記載されています。[Cusumano 95] Microsoftの開発手法は、詳細に記載されています。
 
7.7討議事項
⑴フレームワークは、各モジュールの開発を担当する開発チームに影響を与え、これらのモジュールは、フレームワークを構成して開発しました。開発チームは、通常、フレームワークの構造に反映されているモジュール分解です。開発チームのための基礎としてのフレームワークレベルで(このようなプロセス構造など)他の一般的な構造があれば、どのような長所と短所?
(2)ADDは、「ブロッキング」デマンドアプローチを提供します。アーキテクチャのドライバーはまた、これらのドライバーのために開発された環境デザイン・プログラムの他の要件を満たしている必要があり、満たされています。デザイン戦略は、どのような他の接着方法を打破するのですか?なぜ、これらすべてのニーズを分解出会いを使わないのでしょうか?
 
 
 
 

おすすめ

転載: www.cnblogs.com/mongotea/p/11985977.html