第一章のソフトウェア構成

第一章のソフトウェア構成

第1章:ソフトウェア建てビューと品質目標の多次元ビュー構築するために1.1ソフトウェア
の多次元ビュー構築するために1.1ソフトウェアを
アウトラインを
ソフトウェアの多次元ビュー -の段階では:ビューをビルドして実行する-力学によって:時間とサイクルビュー-レベルによって:コードおよびコンポーネントビュー-各ビューの要素は、構造およびモデルソフトウェアとの間の関係は:コード⇒コンポーネント- - - ∅⇒コードをビュー間の変換概要を⇒時間-時間実行時間⇒を構築し
、この講義の多次元ビューを構築する1.1ソフトウェアをこれは、標的と
、システムのソフトウェアコンポーネントことを理解すべき三つの直交次元を§;形状とソフトウェアシステムの状態を記述するためにどのようなモデルを理解§、異なるビュー間の変換として構成されたソフトウェアを§
ソフトウェア・ビルド・
ビュー多次元ソフトウェア
1.1多次元ビュー構築するためのソフトウェア
ソフトウェアで何を?
AlanTuringは、最初の単語提案「ソフトウェアを。」-オープンソースとプロプライエタリソフトウェア-システムソフトウェアおよびアプリケーション・ソフトウェア-デスクトップ/ネットワーク/モバイル/組み込みソフトウェア-ビジネス/個人のソフトウェアのための
アラン・チューリング(1912年から1954年)
構築するためのソフトウェアシステム1.1ソフトウェアの多次元ビューの一部
ソフトウェアを=プログラム(コード)?アルゴリズム+データ構造=ソフトウェア?= +ソフトウェアプログラム文書データ+ =ソフトウェアモジュール(コンポーネント)+データ/制御フロー
(1938-)チューリング賞1974ドナルドE. Knuthの
Edagerダイクストラ(1930から2002)1972チューリング賞
NiklausWirth(1934-)図。精神賞1984
ソフトウェアシステムを構築するために1.1ソフトウェアの多次元ビューの一部:別のステップ
ソフトウェア= -プログラム(UI、アルゴリズム、ユーティリティ、API、テストケース、など) -データ(ファイル、データベースなど) -ドキュメント(SRS、SDD、ユーザーマニュアル、など)+++++++++++それを使用します++++++ユーザー?-なぜそれがビジネス目標に役立つのですか?-社会環境のどのようなルールに従うべきですか?-どのように技術的な環境を実装するには?-ハードウェア/ Webランタイムは、いつですか?
1.1ソフトウェアは、ソフトウェアの多次元ビューの多次元ビュー構築する
タイミングサイクルコードレベルコードレベルコンポーネントアセンブリステージ
構築
ソースコードを、AST、インタフェース-ClassAttributeMethod(クラス図 )
パケット、ソースファイル、静的リンク・ライブラリ、テストケース(図アセンブリ)
コードチャーンを(コードの変更)
バージョンは、構成アイテム、
実行
コードのスナップショット、Memorydumpの
パッケージ、ライブラリ、動的リンク、構成、データベース、ミドルウェア、ネットワーク、ハードウェア(展開図)
イベントログ、メッセージ図(シーケンス図)トラッキングプロシージャコールグラフを実行
平行とマルチスレッド/プロセス分散処理
ソフトウェア建物
(1)時間ビューを構築
1.1ソフトウェア・システム・ビューの多次元ビューを構築するためのソフトウェアを構築する際に
時間をビルド:アイデアは⇒⇒⇒設計コードが取り付け可能/実行可能なパッケージ⇒必要 - コード・レベル・ビューをどのよう----論理的に編成ソースコードによるソースコード(等関数、クラス、メソッド、インターフェース、など)基本ブロック、およびそれらの間の依存関係 - コンポーネントレベルのビュー:アーキテクチャ----ソースコードは、物理的にそれらの間のファイル、ディレクトリ、パッケージ、ライブラリとの依存関係に編成する方法---------- ---- ---------------------------------------------- ----その時のビュー:ところで、ソースコードおよびアセンブリ一定時間内 - 期間ビュー:それらは経時/変化を進化方法

(1)建設、時間、およびコードレベルのビュー
方法(等関数、クラス、メソッド、インターフェース、など)基本ブロックの論理編成を介してソースコード、およびそれらの間の依存関係。形相互接続三種類: -ワード指向のソースコード-構文指向プログラミング構造:例えば、抽象構文ツリー(AST) -セマンティクス指向プログラミング構造:例えば、図クラス
の多次元ビュー構築する1.1ソフトウェア
源:ソフトウェア開発は最も重要な資産である
半構造化ソースコードのベース語彙
文法指向プログラミング構造の多次元ビュー構築する1.1ソフトウェア
半構造化ソースコード抽象構文木(AST)を構造化されたツリーを表します。
及び(≠B){IF( > b)は、A = A - B; そうでない場合は、B = B - ;返す;}
https://en.wikipedia.org/wiki/Abstract_syntax_tree
セマンティック多次元ビューを構築する1.1ソフトウェアプログラム構造
例えば、インターフェイス、クラス、属性、方法およびそれらの間の関係を記述するためにクラス図(UML)を使用。ベースのグラフィカルまたは正式な定義。典型的には、設計段階でモデル化し、ソースコードに変換します。これは、オブジェクト指向分析設計、およびユーザーの要求の結果です。
セマンティクス指向プログラム構造の多次元ビュー構築するためのソフトウェア1.1
多次元ビュー(2)時間の建設、期間、およびコードレベルのビューの構築に1.1ソフトウェア
「変更」と時間を記述するためのビューを。コードの損失:、あるバージョンから別のバージョンに追加、変更、またはファイルの行を削除します。
コードの構造の多次元ビューの損失1.1ソフトウェアコードは、変更または削除別のファイルにファイルを追加するために、1つのバージョンから損失として定義されます。
1.1多次元ビュー(3)構築物を構築するためのソフトウェア、および時間のコンポーネントレベルのビュー
さらにディレクトリ組織によれば、物理的にファイルのソースコードに編成§;パッケージ、論理コンポーネントおよびサブシステムにパッケージファイルをカプセル化する§。再利用可能なモジュールは、ライブラリの形をとります。静的リンク
1.1ソフトウェアの多次元ビュー構築するための
ライブラリ
コードの機能のセットを収集し、独自のディスクファイルに保存されているライブラリは、さまざまなプログラムに再利用することができます。-開発者は、常に、単一の実行可能ファイルを作成しませんが、カスタム開発されたソフトウェアと事前に構築されたライブラリは、単一のプログラムに参加します。構築する場合、ライブラリ関数は、開発者が書くのと同じ機能を使用し、標準言語の拡張とみなすことができます。System.out.println( "Hello World"の);ソースライブラリ: -セットFromOSプリインストールされたファイルやネットワークI / O、GUI、数学、データベースの評価と他の操作のためのライブラリ; -言語SDKから; -から例えばインターネットからダウンロードするなどのサードパーティ製ソース。-開発者は、独自のライブラリを公開することができます。
1.1ソフトウェアは多次元ビューの構築に
リンクライブラリを
編集するとき、プログラムをビルドしてインストールし、あなたが検索するライブラリのリストを提供する必要があります。ソースコードは関数内で参照されているが、開発者が明示的に書いていない場合、それが所望の機能を見つけるために、ライブラリリストを検索します。この機能を見つけた後、対応するターゲットファイルが実行可能プログラムにコピーされます。2つの異なる方法で実行可能プログラムにライブラリを統合: -静的リンク-動的リンク

静的にリンクされた
静的にリンクされて、ライブラリーは、個々のオブジェクトファイルの集まりです。ビルドプロセスでは、リンクツールは機能の必要性を判断するためにするとき、それはライブラリから対応するオブジェクトファイルを抽出し、実行可能プログラムにコピー。-任意のターゲットドキュメントライブラリのオブジェクト・ファイルと同じで、開発者が作成しているに見えます。ビルドプロセスでは、独自のソフトウェア開発者とのライブラリが一緒にリンクする-とき建物静的リンクが発生します。-最終的にはターゲットマシン上で実行可能プログラムにロードされました。-最終的な実行可能プログラムを作成した後、プログラムは可能ではない、そのライブラリーから分離されています。
組立図の多次元ビュー構築するためのソフトウェアで1.1 UML
多次元ビュー(4)時間の建設、期間、およびのコンポーネントレベルのビュー構築するために1.1ソフトウェア
のすべてのファイルをソフトウェアシステム/パッケージ/どのようにコンポーネント/ライブラリ経時変化?§ソフトウェア構成アイテム(SCI)バージョン
1.0 1.1 1.2 1.3
3File 2File 1Versionは、ラベルファイルの
最終版の
ベータ版を。1
1.0 1.1 1.2 1.3
1.0 1.1 1.2
1.0 1.1 1.2 1.3 1.4
1.1バージョン管理システム(VCSに)多次元ビューを構築するためのソフトウェア
1.1ソフトウェアが進化を構築図(SCIまたはソフトウェア)多次元ビュー
の多次元ビュー構築する1.1ソフトウェア
バージョン
ソフトウェアバージョン管理プロセスは、状態は、コンピュータソフトウェアバージョンに固有のユニークなバージョン名または番号を割り当てられています。-これらの数字の特定のカテゴリにバージョン番号(プライマリ、セカンダリ)は通常昇順に割り当てられており、新しいソフトウェアの開発に対応しています。-細かいレベルで、バージョン管理は、多くの場合にかかわらず、情報がコンピュータ・ソフトウェアであるかどうかの、トラックインクリメント電子情報の異なるバージョンのために使用されます。
多次元ビューを構築するためのソフトウェア1.1
ソフトウェアの進化
ソフトウェアの進化は、それが最初の開発ソフトウェアのプロセスを指し、ソフトウェアメンテナンスのための用語であり、その後、様々な理由のために何度も何度もソフトウェアを更新します。-一般的なシステムのコストの90%以上が維持期に表示され、任意の成功したソフトウェアは、必然的に維持されます。
フレデリックケブーブルックス(1931-)チューリング賞1999
のソフトウェア建物は
(2)実行時の表示
時間で、ソフトウェアシステムの多次元ビューを構築するために1.1ソフトウェア実行されているビュー
ランタイムを:それは時にその目標ターゲットマシンで実行するためにどのようなものでしたかどのようなすべてのマシンは、あるディスクファイルにメモリにロードする必要がありますか?-コード・レベル・ビュー:ソースコード----実行可能なメモリ状態プログラム単位の種類(オブジェクト、関数、等)がどのように互いに相互作用しますか?-コンポーネントレベルのビュー:アーキテクチャ----どのように物理的環境(オペレーティングシステム、ネットワーク、ハードウェア、など)へのパッケージを展開し、それらがどのように相互作用するかしますか?-------------------------------------------------- --------------モーメントビュー:プログラムは、特定の時間に振る舞う-期間ビューを:彼らは時間の経過とともにどのように変化するかを
高度な概念1.1ソフトウェアを実行時ソフトウェアの多次元ビュー構築するために
実行可能プログラムを:CPUによって実行される命令および関連するデータ値の機械可読配列。-これは、コンピュータのメモリにロードして実行することができ、完全にコンパイルされたプログラムです。図書館:使用するオブジェクトコードのコレクションは異なる手順で再利用することができます。-ほとんどのオペレーティングシステムは、開発者がそれぞれのプログラムを必要とする独自のライブラリを提供していますのではなく、再利用できるライブラリの標準セットが含まれています。-ライブラリがロードされ、ターゲットマシン上で直接実行することはできません。それは、最初の実行可能プログラムにリンクする必要があります。高度な概念ソフトウェアを実行しています
設定ファイルやデータファイル:これらは、実行可能ファイルではありません。彼らはプログラムを提供は、有用なデータや設定情報のディスクからロードすることができます。分散プログラム:組成物の複数のソフトウェア・プログラムの実行のこのタイプは、これらの手順は、単に同じマシン上で複数のプロセスを実行し、ネットワークを介して互いに通信することができます。-これは、より従来の単一のモノリシック・ソフトウェアを有するプログラムイメージとは対照的です。
1.1ソフトウェアの実行可能多次元ビューを構築するためのプログラム:ネイティブコード
プログラムが最初にメモリにロードされ、存在し、コンパイルされているどのくらいに応じて、プログラムをロードする前にプログラムどのように多くのOSサポートのニーズをソフトウェアを実行するためのいくつかのメカニズム。ネイティブマシンコード: -完全実行可能プログラムネイティブCPUのコードに変換する変換。- CPUのプログラムの先頭にのみ「ジャンプ」、すべての実行は、単純にCPUのハードウェアの実行を使用しています。-それが実行されると、プログラムは、ファイルや他のシステムリソースにアクセスするには、オペレーティング・システムを呼び出すために選択することができます。-これは、CPUの機能へのプログラムの完全なアクセス権として、コードを実行する最速の方法です。
1.1建設多次元ビューソフトウェア実行:完全な説明は、
全体のソースコードをロードするシステムは、メモリと解釈(例えばBASIC、UNIXシェル、等)に実行される:完全なプログラムを説明する
実行可能プログラムの多次元ビューを構築するために1.1ソフトウェアを:バイトコードの解釈
解釈バイトコード: -バイトのネイティブコードに似たコードが、CPUがそれらを理解していません。-それらは、最初のネイティブマシンコードに変換され、またはそれらはプログラム実行中に解釈されること。-環境は、次のプログラムでは、さらにバイトコードインタプリタやコンパイラをロードするために必要とされます。Java仮想マシン(JVM)
1.1ソフトウェアは、実行可能プログラムの多次元ビューを構築:解釈バイトコード
PerlやPythonを:彼らは解釈ではなく、コンパイルされますが、実行時にバイトコードを使用しています。簡単なPerlやPythonのスクリプトを実行し、自動的に生成されたバイトコードをトリガします。
多次元ビュー構築するためのソフトウェア1.1
ダイナミックリンクを
ダイナミックリンク方法は、対象の実行可能イメージにファイルをコピーするのではなく、それは必要なライブラリの実装を成功と指摘しました。プログラムが起動、ライブラリーは別個のエンティティとしてメモリにロードし、メインルーチンに接続されています。動的ライブラリは、ターゲット・ファイル・ディスク・ファイルを接続して構成されています。そして、図書館コレクション配布パッケージに、ターゲットコンピュータにインストールされています。それはマシンのメモリにロードすることができる唯一の方法。
多次元ビュー1.1ソフトウェアが構築する
ダイナミックリンク
の利点を: -あなたが実行可能プログラムを再作成することなく、(機能の追加やバグの修正)ライブラリの新しいバージョンにアップグレードすることができます。-多くのオペレーティングシステムは、他のプログラムが同じライブラリを必要とし、それを共有し、単にメモリにライブラリのコピーをロードすることにより、メモリ使用量を最適化することができます。
1.1ソフトウェアとコンフィギュレーションデータファイル多次元ビューを構成し
任意のサイズのプログラムは、ディスク上のファイルとして、外部データソースを使用します。あなたのプログラムがメモリに読み出したデータを要求するために、オペレーティングシステムを呼び出します。-ビットマップグラフィック画像が画面に表示-デジタルサウンド波形として格納されている-プログラムの動作プロファイルをカスタマイズする-ドキュメントのセットは、オンラインヘルプテキストが含まれて-データベースがの名前と住所が含ま
の多次元ビュー構築するために1.1ソフトウェアを
配布しますプログラミング
は例えば、クライアント/サーバモデルを使用することができますソフトウェアシステムは、単一のコンピュータ上で実行されている単一のサーバープログラムは、多くの他のコンピュータで多数のクライアント上でプログラムを実行します。別の人が代わりにクライアントプログラムのサーバープログラムがインストールされますのでこの場合、ビルドシステムは、2つのパブリッシングパッケージを作成することができます。また、次の2つの別々のプログラムをインストールするには、同じリリースパッケージを使用することができます。
多次元ビューの構築に1.1ソフトウェア
スナップショット図を:ターゲットコンピュータのメモリの可変レベルの実行状態に焦点を当てています。きめ細かい状態。
(メモリダンプ
メモリダンプ:プロセスは、いくつかの内部エラーまたは信号を生成中止されるメモリ処理の内容のコピーが含まれているハードディスク上のファイル、。-デバッガは、それが含まれている実行中のプログラムの状態に関するダンプファイルとディスプレイの情報を読み込むことができます。-情報はレジスタを有し、そして他のすべてのプログラムは、コンテンツ(カウンタ、可変スイッチ、標識など)スタックデータを呼び出します。-それは、プログラムの最新の状態に依存し、プログラマがメモリ内で処理されている障害発生時にどのようなデータ項目を記録するように見えます。
1.1の多次元ビュー構築するソフトウェア
ダンプメモリ
(6)を実行し、サイクルのコード・レベル・ビューの多次元ビュー構築する1.1ソフトウェア
図UMLのシーケンス:プログラム単位(オブジェクト)との間の相互作用
の多次元ビュー構築する1.1ソフトウェア
実行トレースを
トラッキングは、プログラムの実行に関する情報を記録する専用のログの使用を含みます。この情報は通常、経験豊富なシステム管理者や技術サポート、およびソフトウェアの監視ツールと診断ソフトウェアによって、よくある質問、追跡ログに含まれる詳細な情報の種類に応じて、加えて、プログラマのデバッグ目的で使用されています。
(7)実行され、時間とのコンポーネントレベルのビュー多次元ビューを構築するために1.1ソフトウェア
展開図UML
多次元ビューを構築する1.1ソフトウェア(8)が実行され、サイクルおよびコンポーネントレベルビュー
イベントログは、診断システム管理者に提供し監査および有用な情報。-さまざまな種類のイベントを記録し、開発サイクルで考慮にイベントメッセージに表示されます詳細情報されます。イベントの種類毎にの形式と表記情報を印刷するために、独自の「コード」が割り当てられます。-ローカライズに資するであり、システム管理者がより簡単に問題に関する情報を取得するためにどの。
実行トレースとイベントログの多次元ビューを構築するためのソフトウェア1.1
イベントロギングソフトウェアは、(多くの重複イベントが含まれている)、またはのためにあまりにも「うるさい」することはできません主に開発者の消費レコード「ハイレベル」の情報(インストールに失敗したなど)の記録「低レベル」の情報(例えばthrownexceptionなど)により、システム管理者の消費量によって主に追跡しますそこ騒々しいベースAstandard出力フォーマットであるかもしれない)そのターゲットオーディエンスを助けるために何も情報がしばしば望まれていない、と時々メッセージは、多くの場合、少しローカライズローカリゼーションはほとんどの新しいタイプを追加するには問題ありませんしているイベントログの出力形式を制限する必要がありますイベント、および新しいイベントメッセージは、新しいトレースメッセージを追加するために敏捷性を必要としませんアジャイルしなければならない
ソフトウェアの建物
2ビルド:ビューの間の遷移
多次元ビューを構築するためのソフトウェアを構築するために1.1ソフトウェアを:ビュー変換ところで
建設時間が
実行されている
の短い
時間
期間の
コード
部分
のコードの損失
CIとリリース
のコードのスナップショット
の物理アーキテクチャ
コールグラフ
スレッドやプロセス
プログラミング
するように設計
、インストール、展開構築
再構築された
コントロールのバージョンを
の進化
の展開
見直し、静的解析
、デバッグテスト
ダンプ、分析を
記録
変換クラスの多次元ビューを構築するためのソフトウェアを構築するために1.1ソフトウェアを
∅⇒コード-プログラミング/コーディング(第3章ADT / OOP) -レビュー、静的解析/検査(第4章明瞭)アセンブリコード§を⇒ -デザイン(第3章ADT / OOP;第5章再利用可能性別;第6章保守) -ビルド:静的にリンクされ、パッケージ、インストール、清掃(第2章ビルドプロセスをコンパイル)時間を実行している時間⇒を構築する-インストール/展開を(3年課程) -デバッグ、ユニット最初のローディング、ダイナミックリンク、解釈、実行(ダンプ、分析、文書)( -再構成(第9章再構成) - -バージョン管理(第2章SCM)/統合テスト(第7章、堅牢性)時間を⇒します第8章性能)
ソフトウェア建築
概要
この講演の要約の多次元ビュー構築する1.1ソフトウェア
段階で- :三次元で説明ソフトウェアシステムを構築し、ランタイム・ビュー-動的プレス:サイクル時間とビュー-レベル:部品コードと素子ビュー各ビュー、構成モデルとソフトウェアとの間の関係:ビューを切り替える- ∅⇒コード-コードアセンブリ⇒ -ランタイムのビルド時間を⇒ -時間帯⇒の
ソフトウェア構成の
終了

おすすめ

転載: blog.csdn.net/t03010/article/details/93405339