ソフトウェアエンジニアリングの最終試験の問題

ソフトウェアエンジニアリングの最終試験の問題

ソフトウェア エンジニアリングの最終試験問題 (1)

複数の選択肢の質問

1. ウォーターフォールモデルの存在問題は(B)

A.ユーザーが開発に参加しやすい B. 柔軟性の欠如

C.ユーザーと開発者間の簡単なコミュニケーション D. 変化するニーズに適応する

2. ソフトウェア開発コストの高さと製品の品質の低さの間には大きな矛盾があり、この現象を (C) と呼びます。

A. ソフトウェア エンジニアリング B. ソフトウェア サイクル

C. ソフトウェア危機 D. ソフトウェア生成

3. データ結合、パブリック結合、タグ結合、制御結合の順序は、低いものから高いものまで ( B )

A. データ、パブリック、フラグ、コントロール B. データ、フラグ、コントロール、パブリック

C. コントロール、データ、フラグ、パブリック D. コントロール、データ、パブリック、フラグ

4. SD 法のモジュール分割を包括的に導く最も重要な原則は (D)

A. プログラムのモジュール化 B. モジュールの高い凝集性

C. モジュールの低結合 D. モジュールの独立性

5. ソフトウェアテストの目的は(B)です。

A.ソフトウェアの品質を評価する B. ソフトウェアのエラーを見つける

C.ソフトウェア内のすべてのエラーを見つける D. ソフトウェアが正しいことを証明する

6. テスト ケースを設計する場合、(A) は最も一般的に使用されるブラック ボックス テスト方法です。

A.同値クラス分割 B. 境界値分析 C. 原因と結果図 D. デシジョンテーブル

  1. 要件分析の最終結果は (B) です。

A. プロジェクト開発計画 B. 要件仕様

C. 設計仕様 D. 実現可能性分析レポート

  1. ジャクソン図では、モジュール ボックス間に直線接続がある場合、モジュール ボックス間に (B) があることを意味します。

A. 呼び出し関係 B. 構成関係 C. リンク関係 D. 逐次実行関係

  1. ソフトウェア詳細設計の主なタスクは、各モジュールの (C) を決定することです。

A. 機能 B. 外部インターフェイス C. 使用されるアルゴリズムとデータ構造 D. プログラミング

10. ソフトウェアの保守性を向上させるためには、コーディングフェーズに注意を払う必要があります(D)

A. テスト ケースとデータを保存する B. モジュールの独立性を向上する

C. ドキュメントの副作用 D. 適切なプログラミング スタイルを開発する

11. 年利を i として、今 p 元を預けて複利計算すると、n 年後に得られるお金は (B) となります。

A.p﹡(1+i﹡n) B.p﹡(i+1)n

C.p﹡(1+i)﹡n D.p﹡(i+n)

12. タイミングや変化を伴うシステムのいくつかの状態を調べる場合、それらを表すために動的モデルを使用する必要があります。動的モデルはシステムの制御ロジックに焦点を当てており、イベント トレース図と (A) の 2 つの図が含まれています。

A.状態図 B. データ フロー図 C. システム構造図 D. タイミング図

  1. オブジェクトはデータと演算の組み合わせを実現し、データと演算(C)を一体化させます。

A. 結合 B. 非表示 C. カプセル化 D. 抽象化

  1. ソフトウェア詳細設計の主なタスクは、各モジュールの (A) を決定することです。

A. 使用されるアルゴリズムとデータ構造 B. 外部インターフェイス C. 機能 D. プログラミング

  1. ソフトウェア構造図において、モジュールボックス間が直線で結ばれている場合、モジュールボックス間に(A)が存在することを意味します。

A. 呼び出し関係 B. 構成関係 C. リンク関係 D. 逐次実行関係

  1. 要件分析の最終結果は (B) です。

A. プロジェクト開発計画 B. 要件仕様

C. 設計仕様 D. 実現可能性分析レポート

  1. 詳細設計段階でよく使われるツールは(A)です。

A. パッド B. SA C. SC D. DFD

18. コンピュータのハードウェアおよびソフトウェア環境の変更によりソフトウェアを変更するプロセスを (C) といいます。

A. 積極的なメンテナンスを教える B. 適応的なメンテナンス

C. 完璧なメンテナンス D. 予防メンテナンス

20. ソフトウェアの保守性を向上させるためには、コーディングフェーズに注意を払う必要があります(D)

A. テスト ケースとデータを保存する B. モジュールの独立性を向上する

C. ドキュメントの副作用 D. 適切なプログラミング スタイルを開発する

1. オブジェクト指向開発方法には、OOA、OOD、OOP の 3 つの部分が含まれます。

2. 利益は、有形利益と無形利益に分けられます。有形利益は純利益、金銭価値、時間、投資回収期間などの指標で測定できますが、無形利益は主に性質や心理面で測定され、数量を直接比較することは困難です。

3. アプリケーションの特性の観点から、高級言語は基本言語、構造言語、専用言語の 3 つのカテゴリに分類できます。

デザインに関する質問

次の疑似コード プログラムが知られています。

                START

                 I:=1;

                 WHILE i:<=n-1 DO

                        min:=A[i];

                         j:=i+1;

                         WHILEj<=n DO

                             IF min>A[j]

                                 THEN

                                      BLOCK

                                          temp:=min;

                                          min:=A[j];

                                          A[j]:=temp;

                                      ENDBLOCK

                                 ENDIF;

                                 j:=j+1;

                              ENDDO

                              i:=i+1;

                           ENDDO

                           STOP

要件: 箱ひげ図を使用して説明してください。

ソフトウェア エンジニアリングの最終試験問題 (2)

**

1. 正誤問題(正解はカッコ内「√」、不正解は「×」。各問1.5点、合計15点)

**
ワーニエ法もデータ構造指向の設計手法であり、ロジックがより厳密です (×) PAD
図では 5 つの基本制御構造を設定した後の再帰呼び出しも可能です (×)
開発の進行を高速化するためソフトウェアの保守作業を行う場合、保守要員を可能な限り増員する (×)
受入テストに合格すればソフトウェア開発は完了する (×)
テスト運用終了後、プログラム内のコメントを修正する(×)
システム構造 グラフはプログラムの構造を正確に表現した図であるため、システム構造図をシステムフローチャートとして使用できる場合もあります (×)
プログラムをデバッグする場合、エラーを修正することよりも、エラーの場所と性質を見つけることが困難です ( √)
オブジェクト、クラス、継承、通信に基づくオブジェクト指向設計手法 (OOD) もその 1 つです。一般的なソフトウェア概要設計手法 (√)
**

2. 選択問題(各問2点、合計10点)

**
次の記述のどれが正しいかを判断してください (D)
a、ソフトウェア システム内のすべての情報フローはトランザクション フローと考えることができます
b、ソフトウェア システム内のすべての情報フローは変換フローと考えることができます
c、設計手順トランザクション分析と変換分析は基本的に似ています
A、a B、b C、c D、b、c は
需要分析にさまざまなツールを使用できますが、(B) は適用されません
A、データ フロー図 B
詳細設計段階でよく使われるツールは (A )コードサイズ B、実行速度 C、品質 D、保守性ホワイトボックステスト手法を使用する場合、テストデータは(A) および指定されたカバレッジ基準に従って決定されますA、プログラムの内部ロジック B、プログラムの複雑さC、ソフトウェアの編集者 D、プログラムの機能





3. 多肢選択問題 (各問 2 点、合計 10 点。注: 正答で 2 点、誤った選択肢で 1 点、多肢選択、誤った選択肢は得点なし)。

(ABCD)をモジュールとして使用可能A、サブルーチンB、関数C、プロセスD、ブラックボックステスト(BCD)に属するテストの
コンパイル済みファイルA、パステストB、同値クラス区分C、境界値分析 D、エラー 投機 E、循環テスト利益の測定方法 (ABCD) A、お金の時間価値 B、投資回収期間 C、収入 D、投資収益率ソフトウェア保守戦略には (BCD) が含まれます。 、定期点検保守 B、事後保守 C、適応保守 D、完全保守以下はソフトウェアテストプロセス(ABE)に属しますA、単体テスト B、アセンブリテスト C、カーネルテスト D、法的検証 E、確認テスト







4. 短答式問題(各問6点、合計24点)

1. 結合と凝集にはいくつかの種類があり、結合の度合いと結合の強さの順序 答え
: 低: 間接結合、データ結合、ラベル結合、制御結合、外部結合、パブリック結合、コンテンツ結合:
高強度機能的凝集、情報の凝集、通信の凝集、プロセスの凝集、時間の凝集、論理的凝集、偶発的凝集: 弱い 2. ポリモーフィズムとは何か、オーバーロードとは何かを説明する例を挙げてください。 回答: ポリモーフィズムとは、
サブクラス
オブジェクトが次のように使用できることを意味します。親クラス オブジェクトと同じメッセージを親クラス オブジェクトとサブクラス オブジェクトの両方に送信できます。つまり、動作 (メソッド) はクラス階層の異なるレベルで共有 (共通) できますが、それぞれさまざまなレベルのクラスは、独自のニーズに従ってこの動作を実装します。オブジェクトが送信されたメッセージを受信すると、そのオブジェクトが属するクラスに従って、そのクラスに定義されている実装が動的に選択されます。アルゴリズム 3. オーバーロードとは
、クラス内に同じ名前のメソッドが複数あるが、オペランドの数や型が異なる 例:
public class A{ int age; String name; public void setValue(int i) { age=i; } public void setValue(String s) { name=s; } 4. データ ディクショナリとは データ ディクショナリとデータ フロー図の関係を簡単に説明します回答: データ ディクショナリはデータに関する情報の集合であり、データ フロー 図内の各要素の完全な定義と説明は、データ フロー図の補助ツールです (2 点) データ フロー図とデータ ディクショナリは合わせてシステムの論理モデルを構成します データ ディクショナリがなければ、データ フローは図は厳密ではないが、データがないとフロー グラフのデータ辞書も役割を果たすのが難しい データ フロー グラフとデータ フロー グラフ内の各要素の正確な定義が組み合わさってシステムの仕様を形成する可能性がある (3 点) 5. コーディング スタイルの重要性を簡単に説明します









回答: プログラムを読むことは、ソフトウェアの開発と保守のプロセスの重要な部分であり、プログラムは実際には人々が読むための記事です。プログラムを作成するときは、プログラムのスタイルに注意を払う必要があります。これにより、人々がプログラムを読むのに費やす時間が大幅に削減されます。優れたコーディング スタイルは、信頼性が高く保守が容易なプログラムを作成するのに役立ち、コーディング スタイルはプログラムの品質を大きく左右します。
オブジェクト指向テストと従来の開発方法でのテストの違いは何ですか。
回答: (1) 2どちらも4つの段階に分けることができますが、従来のテストの最小単位はモジュールであり、オブジェクト指向環境ではテスト可能な最小単位はプログラムモジュールではなく、カプセル化されたクラスまたはオブジェクトになります。ソフトウェア 階層的な制御構造がないため、従来のトップダウンおよびボトムアップのアセンブリ戦略はほとんど意味がありません 演算を一度に 1 つずつクラスにアセンブリする (従来の乗算と同様) クラスのさまざまなコンポーネント間には、さまざまな直接的および間接的な相互作用があります。オブジェクト指向システムのアセンブリ テストには 2 つの異なるテスト戦略があります。

ソフトウェアエンジニアリング最終試験問題 (3)

2004年後期期末試験

(オープンエデュケーション学部) コンピュータ科学技術

「ソフトウェアエンジニアリング」試験問題B

                                                      2005年1月

質問番号

三つ

合計スコア

分 数

1. 空欄を埋める(各空欄1点、計20点)

1. ソフトウェアのライフサイクルは一般に、実現可能性調査、設計、コーディング、運用および保守の __________ フェーズに分けることができます。

2. IPO チャートは、__________、__________、および __________ の 3 つのボックスで構成されています。

3. ソフトウェア = __________ + __________。

4. ソフトウェアテストの方法には、__________ と __________ (つまり、ブラックボックス法) があります。

5. ジャクソン図はプログラム構造を表現するだけでなく、__________ も表現できます。

6. 詳細設計ツールには、グラフィック ツール、および が含まれます。

7。__________ と __________ が一緒になってシステムの論理モデルを形成します。

8. コスト見積もり方法には、主に __________、__________、アルゴリズム モデル見積もりの​​ 3 種類があります。

9. 要件分析段階で一般的に使用されるグラフィカル ツールは、__________、__________、および __________ です。

答え:空欄を埋めてください(各空欄1点、合計20点)

1. 問題定義要件分析テスト

2. 入力処理出力

3. プログラムのドキュメント

4. 分析手法は分析手法ではない

5. データ構造

6. フォームツール言語ツール

7. データフローグラフのデータディクショナリ

8. トップダウン見積りとボトムアップ見積り

9. 階層ブロック図 ワーニア図 IPO 図

2. 選択問題(各問2点、合計10点)

システム フローチャートは、描画のための伝統的なツールです ( )。
A. 論理システム B. データ構造 C. 状態遷移 D. 物理システム

次のモジュールの中で最も独立しているのは ( )
A、非直接結合 B、データ結合 C、パブリック結合 D、コンテンツ結合です。

ソフトウェア ライフ サイクルの 3 つのフェーズ ( ) に属さないフェーズは次のどれですか。
A. 計画段階 B. 開発段階

C. コーディングフェーズ D. メンテナンスフェーズ

一般的なソフトウェア概要の設計方法は3つあり、データフロー図( )に基づいてモジュール構造を構築します。
A. ジャクソン法とLCP(ワニア)論理構築法

B. 構造化設計アプローチ (SD)

C. オブジェクト指向設計 (OOD)

D. ラピッドプロトタイピング

ホワイト ボックス テスト方法を使用する場合は、テスト データが ( ) および指定されたカバレッジ基準に基づく必要があることを決定します。
A. プログラムの内部ロジック B. プログラムの複雑さ

C. ソフトウェアの編集者 D. プログラムの機能

答:1、D 2、A 3、C 4、A 5、A

3. 選択問題(各問2点、合計10点)

( ) はモジュールとして使用できます。
A. サブルーチン B. 関数 C. プロセス D. コンパイルされたファイル

コンテンツの結合に関する正しい説明は ( ) です。
A. コンテンツの結合は最も高度な結合です

B. 高級言語は通常、コンテンツ結合の形成を可能にするように設計されています

C. コンテンツ結合は可能な限り使用する必要があります

D. モジュールが別のモジュールを直接呼び出すことができる場合、それをコンテンツ結合と呼ぶことができます。

便益の測定方法( )に属するものは次のうちどれですか。
A. お金の時間的価値 B. 回収期間

B. 収入 D. 投資収益率

ソフトウェア保守戦略には ( ) が含まれます。
A. 定期的な点検とメンテナンス

B. 事後保全

C. 適応型メンテナンス

D、完璧なメンテナンス

ソフトウェアテストプロセスに属さないものは次のうち ( ) です。
A. 単体テスト B. アセンブリテスト C. カーネルテスト D. 法的検証

答:1、ABCD 2、AD 3、ABCD 4、BCD 5、CD

4. 正誤質問

(正解の場合は括弧内「√」、不正解の場合は「×」を記入してください。各問2点、計20点)

ワーニエ法も、より厳密なロジックを備えたデータ構造指向の設計法です。()
PAD 図では、5 つの基本的な制御構造を設定した後、再帰呼び出しも可能です。()
ソフトウェアの保守作業を迅速に進めるためには、保守要員を可能な限り増員する必要がある。( )
受け入れテストに合格すると、ソフトウェア開発は完了します。( )
テスト動作終了後、ソースプログラムの長さを短くするために、プログラム内のコメントを削除する必要があります。( )
モジュール間の接続は、全体の設計中に強化する必要があります。( )
システム構造図は、プログラムの構造を正確に表現した図です。したがって、システム構成図はシステムフローチャートとしても使用できる場合があります。( )
ブラックボックス法でテストする場合、プログラムの内部ロジックに従ってテストケースが設計されます。( )
プログラムをデバッグする場合、エラーを修正することよりも、エラーの場所と性質を見つける方が困難です。()
オブジェクト、クラス、継承、通信に基づくオブジェクト指向設計手法 (OOD) も、一般的なソフトウェア アウトライン設計手法の 1 つです。( )
答え: 1-5: √√××× 6-10: ×××√√

5. 短答式問題(各5点、合計20点)

1. ソフトウェア クライシスとは何ですか? ソフトウェア クライシスはなぜ発生しますか?

回答: ソフトウェアクライシスとは、ソフトウェアの開発や保守の過程で発生するシステム上の重大な問題を指し、主にソフトウェアをどのように開発・活用するかという問題と、常に拡張し続ける既存のソフトウェアをどのように保守するかという2つの問題が含まれます。ソフトウェア危機の原因 その理由は、一方ではソフトウェア自体の特性に関係しており、他方ではソフトウェアの開発と保守の誤った方法に関係しています。

2. ソフトウェアのライフサイクルとは何ですか? どの部品が含まれていますか?

回答: ソフトウェアは、定義から開発、使用、保守に至るまで、最終的に放棄されるまで長い期間を経る必要があり、通常、ソフトウェアが通過するこの長い期間はライフサイクルと呼ばれます。ソフトウェアのライフサイクルとは、ソフトウェア製品が提案されてから廃止されるまでの全プロセスを指します。これには、計画、要件分析、ソフトウェア設計、プログラミング、ソフトウェアテスト、運用および保守などが含まれます。

3. ブラックボックステストとは何ですか?

回答: ブラックボックステスト法とは、プログラムをブラックボックスとして捉え、プログラムの内部構造や処理過程を全く考慮せず、プログラムの機能が仕様通りに正常に使用できるかどうか、プログラムが正常に動作するかどうかだけを検査するものです。入力データを適切に受信し、出力情報を正しく生成できます。

4. 結合と凝集の種類は何種類ありますか? 結合度や凝集の強さの順序は何ですか?

回答: 低: 間接カップリング® データ カップリング® タグ カップリング® コントロール カップリング® 外部カップリング® パブリック カップリング® コンテンツ カップリング: 高

強い: 機能的結合® 情報的結合® コミュニケーション的結合® プロセス的結合® 時間的結合® 論理的結合® 一致性結合: 弱い

6. 分析・設計問題(計20点)

(8 点) コンピュータ アプリケーション システムの開発投資が 3,000 元であると仮定すると、コンピュータ アプリケーション システムの使用開始後は、年間 1,000 元を節約でき、5 年間で 5,000 元を節約できる可能性があります。現在投資しているお金が 3,000 元、5 年後に貯まるお金が 5,000 元で、年利 12% として、システムの純利益、投資回収期間、投資回収率を計算してください。
答え:

保存

金利

現在の価値

累積現在価値

1

1000

1.12

892.86

892.86

2

1000

1.25

800.00

1692.86

3

1000

1.40

714.29

2407.15

4

1000

1.57

636.94

3044.09

5

1000

1.76

568.18

3612.27

システムの純利益を計算します: 3612.27-3000=612.27

回収期間: 3+(3000-2407.15)/(3044.09-2407.15)=3.93

投資収益率r

3000=1000/(1+r)+1000/(1+r)2+1000/(1+r)3+1000/(1+r)4+1000/(1+r)5

解はr=20%です

配列のグループ内の最大数を見つけます。配列は A(n)、n=1、2...n の自然数として表されます。(12点)

  1. プログラムのフローチャートを描いてください(4点)

  2. アルゴリズムのNS図を描いてください(4点)

  3. アルゴリズムを表すにはPAD図を使用してください(4点)

答え: (1)

(2)

(3)

1. 短答問題 (25%、各質問 5 点):

1. その主な内容も含めて、ニーズ分析の3段階について簡単に説明してください。

ソフトウェア要件には、ビジネス要件、ユーザー要件、機能要件の 3 つの異なるレベルがあり、非機能要件も含まれます。

ビジネス要件は、システムおよび製品に対する組織または顧客の高レベルの目標要件を反映しています。

ユーザー要件文書には、製品を使用するためにユーザーが完了する必要があるタスクが説明されています。

機能要件は、ユーザーがタスクを完了してビジネス ニーズを満たすために開発者が実装する必要があるソフトウェア機能を定義します。

2. なぜ独立性の高いモジュールを設計するのか、またモジュールの独立性をどのように判断するのか?

ファースト3点、カップリング1点、凝集1点

モジュールの独立性が高いということは、 (1) システム開発が容易 (2) システムの信頼性が高い (3) システムの保守が容易であることを意味します。

モジュールの独立性を判断するための基本原則:「結合は小さく、凝集は大きい」

3. 既存のクラスがすでに徹底的にテストされているのに、なぜ既存のクラスからインスタンス化されたサブクラスを再テストする必要があるのでしょうか?

 使用的场景:3分.   2分

 因为父类和子类的运行环境是不同的。

 另外,如果是多重继承会显著地增加派生类的复杂程度,导致一些难以发现的隐含错误。

4. 「非常に良い」品質のソフトウェアを開発するには、ソフトウェア エンジニアリングの観点からその長所と短所を分析します。

 利:3分;弊:2分

 利:容易维护,用户比较满意

 弊:成本高,周期长

5. オブジェクト指向手法を用いてソフトウェアシステムを設計する場合、サブシステムの分割は通常、水平方向または垂直方向に分割されますが、この2つの分割によって得られるサブシステムの特徴を説明してください。

c/s:3点、p2p:2点

水平パーティション システムの P2P: 各ワード システムは他のサブシステムを呼び出すことができますが、これは c/s よりも複雑で、デッドロックする可能性があります。

垂直分割 c/s: クライアントがサーバーを呼び出し、サーバーがサービスを提供し、結果を返します。クライアントはサーバーのインターフェイスを知っている必要がありますが、サーバーはクライアントのインターフェイスを知る必要はありません。

2. 応用問題(45%、小問1~3各10点、小問4問15点)

1. 同社は、新しいテクノロジーを使用して新しい携帯電話ソフトウェア製品を開発し、できるだけ早く市場を占有することを計画しています。あなたがプロジェクト マネージャーだと仮定すると、どのソフトウェア プロセス モデルを選択しますか? なぜ?

选模型:5分;原因:5分

選択モデル:インクリメンタルモデル/インクリメンタル+プロトタイプ/スパイラルモデル等が使用可能です。ただし、急速な開発を採用する場合には適しません。

分析の理由: このテクノロジーは比較的新しく、迅速に市場を占有する必要があるため、製品のプロトタイプまたは使用可能なサブシステムが短期間で登場するはずです。

2. 以下のタスクスケジュールに従って、タスクネットワーク図、ガントチャートを作成し、クリティカルパスとフェーズマイルストーンの位置を特定してください。

ミッション名

開始日

終了日

需要分析

2008.3.1

2008.3.13

テスト計画

2008.3.13

2008.3.15

アウトラインデザイン

2008.3.13

2008.3.16

きめ細かなデザイン

2008.3.16

2008.3.20

コーディング

2008.3.20

2008.3.26

テスト計画の設計

2008.3.16

2008.3.19

製品テスト

2008.3.26

2008.3.30

ドキュメンテーション

2008.3.28

2008.3.30

タスクネットワーク図:

タスクネットワーク図 3点

ガントチャートの3つのポイント

クリティカルパスの特定2点

ステージマイルストーン位置2ポイント。

3. 三角形の 3 つの辺を表す 3 つの整数を読み取るプログラムを考えてみましょう。出力は、三角形が不規則であるか、二等辺であるか、正三角形であるかを示します。一連のテスト ケースを設計するには、ブラック ボックス等価クラス分割法を使用してください。

不规则:3 4 5

二等辺三角形: 3 3 4

等辺: 3 3 3

その他: 1 9 2

不规则的3分

二等辺3点

等辺3点

その他1点

4. 簡素化されたオンライン個人銀行照会システムを設計し、ユーザーはインターネットを通じて自分の口座詳細、残高を照会し、パスワードを変更できます。

(1) 構造化されたアプローチの活用:7つのポイント

1) 2点のER図を描いてください。

DFD グラフのレイヤー 0 とレイヤー 1。3点

2) 2 つのキーワード エントリのデータ ディクショナリを作成します。2分

データディクショナリ:

名前: アカウント

別名: なし

使用場所/使用方法: アカウントへのログインが必要です

説明: アカウントの一意の識別子。各アカウントはアカウント番号に対応します。

  帐号= 12个数字

名前: アカウントのパスワード

別名: なし

使用場所/使用方法: アカウントにログインするときに入力し、パスワードを変更するときに入力し、変更が成功したらアカウント データベースに保存します。

説明: パスワード = 6 文字

(2) オブジェクト指向手法の採用:8点

1) システムのユースケース図を描いてください; 2 点

2) システムの主なカテゴリを特定する 2 つのポイント

ユーザー、アカウント、詳細項目

主にユーザー、アカウント、収入と支出の詳細、その他のカテゴリが含まれます。

そして、2 つのクラス図 (主要な属性と操作を含む) を描画します。2分

3) オンライン バンキングを通じて残高を照会する具体的な対話を説明する UML シーケンス図を作成します。2分

ソフトウェアエンジニアリング最終試験問題 (5)

1. 空白を埋める

1. ソフトウェア開発モデルには、ウォーターフォール モデル、スパイラル モデル、第 4 世代テクノロジー モデル、プロトタイプ モデル、コンポーネント アセンブリ モデル、ハイブリッド モデルなどがあります。

2.可行性研究一般可以从      经济    可行性、       技术  可行性、运行可行性、法律可行性和开发可行性等方面来研究。

3.现在向银行存款,年利率为i,若希望在n年后从银行得到F元,现在应该存入的钱数为   F/(1+i)n       。

4.数据流图的基本符号包括数据输入的源点和数据输出的汇点    加工    数据流    数据存储文件

5.Jackson图除了可以表达程序结构外,还可以表达   数据结构       ,它首先要分析  数据结构        ,并用适当的工具来描述。

6.详细设计的工具有    图形工具           、表格工具和      语言工具        。

7.IPO图由   输入       、处理和     输出      三个框组成。这个图的特点是能够直观的显示三者之间的关系。

8.面向对象技术是一整套关于如何看待   软件系统         和现实世界           的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用对象、   类    、继承   、 封装、聚集、消息传送、多态性等概念来构造系统的软件开发方法。

2. 単一選択問題

1.下列(      A  )属于系统软件。

WINDOWS 2000
ワード
フラッシュ
3D MAX

2. N-S ダイアグラム (C) の構成要素となるダイアグラムは次のうちどれですか。

3. スパイラル モデルの場合、次の (D) はデカルト座標で表現されたアクティビティではありません。

A. 計画を立てる B. プロジェクトを実行する

C. リスク分析 D. プログラムのコーディング

3 つの多肢選択問題

1.软件危机可以表现为(  ABCD        )。

A.製品がユーザーのニーズを満たしていない

B.ソフトウェア製品の品質が低い

C.ソフトウェアの保守性が低い

D.ソフトウェアは高価です

2. ジャクソン図には通常、(ABCD) が含まれます。

A.ヘッダ

B.表体

C.テーブル名

D.フィールド名

3.关于内容耦合的描述正确的是(  AD  )。

  A、内容耦合是最高程度的耦合

  B、应该尽量使用内容耦合

  C、高级语言一般设计成允许内容耦合的形式

  D、如果一个模块有多个入口,可能发生内容耦合

4. 以下は非標準書き込み形式 (BCD) です。

  A、书写时适当使用空格分隔

  B、一行写入多条语句

  C、嵌套结构不使用分层缩进的写法

  D、程序中不加注释

4. 正誤質問

(正しいものには括弧内の「√」、間違っているものには「」を入れてください)

1. ソフトウェアのライフサイクルとは、ソフトウェアの開発開始から開発終了までの全期間を指します。(×)

2. システム フローチャートは、論理システムを記述するための典型的な伝統的なツールです。( × )

3. データ フロー図とデータ ディクショナリは合わせてシステムの論理モデルを構成します。(√)

4. ファンアウトはモジュールによって直接呼び出されるモジュールの数であり、推奨されるファンアウトは通常 3 または 4 です。(√)

5. 結合は、モジュール内のさまざまな要素が互いにどの程度密接に結合されているかを測定するために使用されます。(×)

6.程序运行过程中出现错误叫做容错。                               (  ×  )

7.软件测试的目的是证明程序没有错误。                             (   × )

8.白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处理过程。

                                                                  (   × )

5. クイズ

1. ソフトウェアのライフサイクルとは何ですか。

回答: ソフトウェアは、定義から開発、使用、保守を経て、最終的に廃棄されるまでの長い期間を経て、通常、この長い期間をライフサイクルと呼びます。ソフトウェアのライフサイクルとは、ソフトウェア製品が提案されてから廃止されるまでの全プロセスを指します。

2. 要件分析段階において、対象となるシステムの論理モデルを構築する具体的な方法とはどのようなものでしょうか。

A: システム フロー図は、物理システムを説明するための従来のツールです。その基本的な考え方は、グラフィック シンボルを使用して、システム内の各コンポーネント (プログラム、ファイル、データベース、テーブル、手動プロセスなど) をブラック ボックスの形式で記述することです。システムフローチャートは各コンポーネントの情報の流れを表現したものであり、情報を処理するための制御プロセスを表現したものではありません。

3. データ フロー図を階層化する必要があるのはなぜですか?

回答: データ処理プロセスのデータ処理状況を表現するには、データ フロー図を使用するだけでは十分ではありません。少し複雑な現実的な問題を表現するには、問題の階層構造に応じて段階的に分解し、その構造関係を階層的なデータフロー図に反映させる必要があります。

4. ソフトウェアの品質にはどのような問題が反映されますか?

回答: ソフトウェア要件はソフトウェアの品質を測定するための基礎であり、要件を満たさないソフトウェアには品質がありません。

在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。

如果不遵守这些开发准则,软件质量就得不到保证。

往往会有一些隐含的需求没有明确地提出来。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证。

软件质量是各种特性的复杂组合。它随着应用的不同而不同,随着用户提出的质量要求不同而不同。

软件工程期末试卷(六)

软件工程导论试题

一.选择

1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C)。
A、详细计划 B、可行性分析

C、 运行阶段 D、 测试与排错

2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C )。
A、详细设计阶段 B、概要设计阶段

C、 需求分析阶段 D、 测试和运行阶段

3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A )。
A、 需求分析阶段 B、 详细设计阶段

C、 概要设计阶段 D、 可行性研究阶段

4、软件工程的出现主要是由于(C )。
A.程序设计方法学的影响 B.其它工程科学的影响

C. 软件危机的出现 D.计算机的发展

5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C )
A、 硬件环境 B、软件开发的环境
C、软件开发工具和软件开发的环境 D、 开发人员的素质

6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 ( B)
A、 相互排斥 B、 相互补充

C. 単独で使用する D. 交互に使用する

7. UML はソフトウェア開発において重要なツールですが、(C) では主にどのソフトウェア開発手法が使用されていますか A.
ウォーターフォールモデルに基づく構造手法 B. 動的要件定義に基づくプロトタイプ手法
C. オブジェクト指向によるオブジェクト指向手法D、データベースのデータフロー開発手法

8. 次のソフトウェア開発手法のうち、ソフトウェア設計開発担当者に最も要求されるものはどれですか (B)
A、構造化手法 B、プロトタイピング手法 C、オブジェクト指向手法 D、制御フロー手法

9. 構造化分析手法とは、事前に要件を厳密に定義し、分析対象(B)
A、制御フローB、データフローC、プログラムフローD、実装時の命令フローを重視する手法です。

10. ソフトウェア開発の構造化ライフサイクル手法では、ソフトウェアのライフサイクルを (A)
A、計画フェーズ、開発フェーズ、運用フェーズ B、計画フェーズ、プログラミングフェーズ、テストフェーズ
C、全体設計、詳細設計、プログラミングデバッグ Dに分割します。 、要件分析、機能定義、システム設計


11. ソフトウェア開発でよく使われる構造化ライフサイクル手法は、その特徴から一般に(A) A、ウォーターフォールモデルB、オブジェクトモデルC、スパイラルモデルD、階層モデルと呼ばれています。

12. ソフトウェア開発のウォーターフォールモデルでは、一般的に開発プロセスを分析、設計、コーディング、テストの段階に分割しており、最も多くの人員を占める可能性がある段階は、(C) A、分析段階 B、設計段階であると一般に考えられています。 C、コーディング
段階 D. テスト段階

2. 空白を埋める

21。システム フローチャートは、物理モデルを記述するための伝統的なツールであり、システム内の各要素は、システム内のさまざまな要素間の (情報の流れ) 状況を表すグラフィック シンボルで表されます。

【分析】 システムフローチャートは、物理システムを記述するための伝統的なツールであり、手動処理、データ処理、データベース、ファイル、機器など、システム内の各要素を図記号を用いて表現し、流れを表現したものです。要素間の情報の伝達。

22。費用便益分析の目的は、(経済的)観点からプロジェクトを開発することが可能かどうかを評価することです。

【分析】 費用便益分析とは、開発するシステムの開発コストを見積もり、得られる効果と比較・検討することにより、新たなソフトウェアプロジェクトの開発の実現可能性を経済的な観点から評価することを目的としています。意見。

23。トップダウン結合増分テスト方法には、モジュールを結合する際に、深さ優先戦略と(幅優先戦略)という 2 つの組み合わせ戦略があります。

[分析] インクリメンタルテスト手法には、トップダウン統合とボトムアップ統合という2つのモジュールの組み立て方法があり、このうちトップダウン統合は、ドライバーモジュールを書かずにプログラム構造を構築するインクリメンタルな方法であり、スタブモジュールのみが必要です。書かれること。ソフトウェアの制御階層に従ってメイン制御モジュールから開始し、深さ優先または幅優先の戦略に従って各モジュールを徐々に統合します。

24。スタンドアロン パスは、これまでに処理されていない一連のステートメントまたは条件を含むパスです。プログラム グラフから、独立パスは、(他の独立パスにはない) 少なくとも 1 つのエッジを含むパスです。

【解析】 基本パステストでは、詳細設計やソースプログラムを基に、制御フロー図のトポロジー構造~プログラム図を導出し、プログラム図のサイクル複雑度を計算した上で、必要なだけの基本パスを決定します。独立パス グラフが含まれます。独立パスとは、以前に処理されていないステートメントまたは条件のセットを含むパスです。プログラム グラフの観点から見ると、独立パスは、他の独立パスには見られないエッジを少なくとも 1 つ含むパスです。

25.アセンブリ言語は(機械指向)であり、外部デバイスとの一部のインターフェイス作業など、高級言語では実行できない特殊な機能を実行できます。

[分析] アセンブリ言語は低水準言語であり機械指向言語であり、高水準言語と比較して、柔軟な動作、ハードウェアの最下位層に直接影響を与えることができる、インターフェイス作業を完了できるなど、多くの利点があります。これは、コンピュータのハードウェア機能を使用してハードウェア デバイスを直接制御できる唯一の言語です。

26.JSP メソッドの構造的競合を解決する具体的な方法は (中間データ構造または中間ファイル) です。

【分析】 JSP手法はデータ構造指向の設計手法です。データ構造に基づいて一連のマッピング プロセスを定義します。入力データ構造と出力データ構造に従って、特定のルールに従ってソフトウェアのプロセス記述にマッピングされます。JSP メソッドで構造の競合を解決する具体的な方法は次のとおりです。中間データ構造または中間ファイルを導入する 競合する部分を分離し、複数のプログラム構造を確立し、中間ファイルを使用してそれらをリンクしてシステム全体を形成します。

27.詳細設計の仕事は、各モジュールの内部特性、つまりモジュールのアルゴリズム (使用するデータ) を決定することです。

【分析】 詳細設計の基本的な作業は、モジュールごとに詳細なアルゴリズム設計を行い、モジュール内のデータ構造を設計し、モジュールが使用するアルゴリズムやデータなど、各モジュールの内部特性を決定することです。データベースの物理設計など

28.すべてのソフトウェア保守申請レポートは、所定の方法で提出されなければなりません。これは、(ソフトウェア問題)レポートとも呼ばれます。

[分析] ソフトウェア保守のプロセスでは、最初のステップは保守申請報告書 (ソフトウェア問題報告書とも呼ばれる) を作成することです。これは保守フェーズの文書であり、保守を申請するユーザーによって記入されます。

29.保守技術には、開発段階でエラーの削減やソフトウェアの保守性の向上を図るための保守重視の技術と、保守フェーズで保守の効率化や品質の向上を図るための(保守支援)技術の2種類があります。

[分析] メンテナンス指向のテクノロジーはソフトウェア開発のすべての段階に関係しており、ソフトウェアのエラーを削減し、ソフトウェアの保守性を向上させることができます。保守支援技術とは、情報収集、障害原因分析、保守計画評価などを含み、ソフトウェア保守フェーズにおける保守効率と品質を向上させるための技術です。

30.科学技術計算では複雑な数値計算を扱うために多数の標準ライブラリ関数が必要ですが、利用可能な言語は(FORTRAN言語)、PASCAL言語、C言語、PL/1言語です。

[分析] さまざまな業界のニーズに応じて、コンピュータ言語は異なる重点を使用しています. オフィス管理の観点では、FOXPRO や ORICAL などの一部のデータベース言語は多くの用途があります. エンジニアリング業界では、コンピュータの科学技術計算能力が高く評価されています重要なのは、MATLAB、PL/1、FORTRAN などの言語はすべて、工学計算で一般的に使用される言語であるということです。

三つ。ジャッジ

1. ソフトウェアの開発と運用は、多くの場合、ハードウェアによって制限され、制限されます。(√)

2. モジュール内の凝集度が高いということは、多くの場合、モジュール間の結合が疎であることを意味します。(√)

3. ジャクソン グラフはプログラム構造のみを表現でき、データ構造は表現できません。(バツ)

上のデータ フロー図は、データ A と B が同時に入力され、C に変換されることを示しています。(バツ)

5. ソフトウェアの品質は主に受け入れ担当者に責任があり、他の開発者は気にする必要はありません。(バツ)

6. 決定カバレッジには必ずしも条件カバレッジが含まれるとは限りません。また、条件カバレッジには必ずしも決定カバレッジが含まれるとは限りません。(√)

7. プログラムの動作効率を向上させ、高級言語の使用を減らすために、コードの記述には可能な限り機械語を使用する必要があります。(バツ)

8. UML はソフトウェア システム モデルの確立にのみ適用できます。(バツ)

9. フォールト トレランスとは、各プログラムが 2 つの異なるアルゴリズムを使用して作成されることを意味します。(バツ)

10. ソフトウェアテストの目的は、すべてのエラーを漏れなく見つけることです。(バツ)

4. 名詞説明問題(この大問には小問が5つあり、各3点の計15点)

31. ソフトウェア開発環境

32. 誤算

33. ブラックボックステスト手法

34. ソフトウェアの品質保証

35. ウォーターフォールモデル

31.経済的実現可能性

解決策: 開発コストを見積もり、そのメリットの評価を理解して、開発するプロジェクトが開発に投資する価値があるかどうかを判断します。

【分析】 システムにおいて測定しなければならないのは、経済的な費用対効果があるかどうかであり、経済的実現可能性の範囲は、便益分析や潜在的な市場見通しなどを含めて非常に広い。

32.社会的実現可能性

解決策:開発するプロジェクトに侵害や妨害などの責任問題はないか、開発するプロジェクトの目的や運営形態はユーザー組織内で実現可能か、既存の管理体制や人材の質、開発内容は適切か。運用方法は可能です。

【分析】 社会的実現可能性には、契約、責任、侵害など、技術者がよく理解していない問題が数多く含まれます。

33.返済期間

解決策: 回収期間は、累積的な経済効果が初期投資コストと等しくなるまでに必要な時間です。

[分析] 通常、開発プロジェクトの価値を測定する際に投資回収期間が使用されますが、投資回収期間が短いほど、より早く利益が得られます。

34.対応

解決策: つまり、プログラムで同時に処理できる直接的な因果関係が存在します。

[解析] 対応関係とは、データの内容、量、順序などに関して直接的な因果関係があることをいい、繰り返しデータの場合は、対応する順序や繰り返し回数が同じであることを意味する。

35.構造的対立

解決策: 入力データと出力データ構造が対応する関係を見つけることができない状況は、構造の競合と呼ばれます。

【分析】JSP方式を利用する場合、このような構造の衝突問題が発生するため、Jacksonは、中間データ構造や中間ファイルを導入して衝突部分を分離し、複数のプログラム構造を確立した上で、中間ファイルを接続し、全体としてシステムを形成します。

5. 図 a では、モジュール G が判定であり、その判定にはモジュール B、F、G が関与しています。設計上の誤りを指摘してから、

モジュール図の基本原理を改善し、(モジュールGの判断関係を変えずに)改善スキームを1~2つ描き、それが~に基づいていることを説明する

どの基本原理が改善されているか。

解決策: 図 b は改善スキームです。モジュール G の位置が増加し、その動作範囲が制御範囲のサブセットとなり、動作範囲が減少します。

モジュール間のリンクがほとんどありません。

40.配列A(1)~A(10)の最大数を求めるアルゴリズムをPAD図とPDL言語で記述してください。

解決策: PDL 言語:

N=1

N<=10 の場合は実行します

IF A(N)<=A(N+1) MAX =A(N+1);

ELSE MAX =A(N) ENDIF;

N=N+1;

家の中;

パッド図:

[分析] 手動で検索する場合、最初の要素から開始して、現在の要素と次の要素を比較し、大きい方を現在の要素として取得し、次の要素と比較する、ということを配列の最後まで繰り返します。

41.同値クラス分割法を使用して、以下の条件に従ってテストケースを設計します。

8 ビット マイコンの場合、8 進定数は次のように定義されます。ゼロで始まる数値は 8 進整数であり、その値の範囲は -177 から 177 (05、0127、-065 など) です。

解決策: (1) 以下のように同値クラスを分割して番号を付けます: (4 点)

(2) 合理的同値クラスのテスト ケースを設計します。表には 2 つの合理的同値クラスがあり、2 つの例を設計します (2 点)

(3) 不合理な等価クラスのテスト ケースに対して少なくとも 1 つのテスト ケースを設計する (2 点)

[分析] 同値クラス分割はブラックボックステストの一種で、入力データフィールドを有効または無効に従っていくつかの同値クラスに分割し、各同値クラスの代表値はクラスの他の値と等しいこのように、同じテスト目的の多数の例を使用するのではなく、少数の代表的な例を使用することで、テスト効率を効果的に向上させることができます。この問題は 3 つの合理的等価クラスと 9 つの不合理な等価クラスに分けてテストされており、期待どおりの結果が得られています。

42.電機グループ会社の工場には、技術部門と生産部門という基本単位があります。現在、次のようなコンピュータ支援の企業管理システムを構築したいと考えています。

製造部門のタスクは次のとおりです。

(1) 販売会社から譲渡された社内契約書(製品型式、仕様、数量、納期)に従い、工場の月次生産計画を策定します。

(2) 工場の実際の生産日報と週報に基づいて月次生産計画を調整します。

(3) 月次生産計画に基づき、製品設計(構造、工程)、製品組立の月次計画を策定します。

(4)製品組立計画を各部門に伝達し、月次組立計画を週次計画に分解して作業場に出す

技術セクションのタスクは次のとおりです。

(1) 生産部門から引き継がれた組立計画に従って製品構造設計を行い、生産部門に対して製品組立図を作成し、供給部門に対して外注需要計画を作成し、自社製品の部品表を作成する。

(2)組立計画に従って製品の工程設計を行い、自社で作成した製品の部品表に従って工程フローチャートを作成して部品工場に送ります。上記のシステムに生産部門と技術部門のソフトウェア構造図を書いてみます。

ほどく:

生産部門の製図は 6 点、技術部門の製図は 4 点が与えられます。

[分析] ソフトウェア構造図は、システム全体の機能実現を反映したソフトウェアシステムのモジュール階層、すなわち将来のプログラムの制御階層であり、ソフトウェア構造はツリー構造やネットワーク構造で表現されることが多いが、その主な内容はモジュールであり、各モジュールの制御関係を質問の意味に応じて、生産部門と技術部門のソフトウェア構造図を描くことができます。生産部門はともに4、技術部門の構造図は奥行きと​​幅がともに3です。

ソフトウェアエンジニアリング最終試験問題 (7)

1. 正誤問題(各問2点、合計30点)

1. スパイラル モデルは、ウォーターフォール モデルと増分モデルにリスク分析アクティビティを追加したものです。(右)

2. データ ディクショナリは、データ フロー図におけるデータ フロー、処理、データ ストレージ、データ ソースおよび宛先の詳細な定義です。(間違い)

3. JAVA 言語コンパイラは CASE ツールです。(右)。

4. ソフトウェアとは、プログラミング言語(PASCAL、C、VISUAL BASICなど)で書かれたプログラムを指し、ソフトウェア開発とは実際にプログラムコードを書くことです。(間違い)

5. ソフトウェアモジュール間の結合が弱ければ強いほど、より強くなります。(右)

6. データベース設計マニュアルはソフトウェア構成品です(右)

オブジェクト指向ソフトウェア開発方法では、各クラスは対応するオブジェクトを持ち、クラスはオブジェクトのインスタンスであり、オブジェクトはクラスを生成するためのテンプレートである。(間違い)

8. プロセス記述言語を使用して、ソフトウェアのシステム構造を記述することができます。(間違い)

9. ソフトウェア テストでエラーが見つからなかった場合、ソフトウェアは正しいです。(間違い)

10. ラピッドプロトタイピングモデルは、ユーザーニーズの動的な変化に効果的に適応できます。(右)

11. モジュール化、情報の隠蔽、抽象化、段階的な改良というソフトウェア設計原則は、高い凝集性と低い結合性を備えたソフトウェア製品を得るのに役立ちます。(右)

12. 統合テストは主にユーザーによって行われます。(間違い)

13. テスト計画は実現可能性調査段階で作成する必要があることを確認します (誤)

14. ホワイトボックステストでは、モジュールの機能が理解できていれば、モジュールの内部実行プロセスやプログラム構造を考慮する必要はありません。(間違い)

15. ソフトウェア概要設計には、ソフトウェアシステム構造設計、データ構造設計、データベース設計が含まれます。(右)

二。選択問題(各問2点、合計20点)

1. ウォーターフォール モデルの主な欠点は (2)
(1) シンプルすぎる (2) 需要の動的な変化に適応できない (3) 柔軟性が高すぎる (4) 各段階でレビューする必要がある

2. オブジェクト指向ソフトウェア開発手法では、主に以下のようなクラス間の構造関係が存在します (1) (1)
継承と集約 (2) 継承と一般 (3) 集約とメッセージパッシング (4) 継承とメソッド呼び出し

3. ソフトウェア危機の兆候ではないものは次のうちどれですか (3)
(1) 高コスト (2) 低い生産性 (3) 急速な技術開発 (4) 品質が保証されていない

4. オブジェクト指向の機能ではないものは次のうちどれですか (4)
(1) ポリモーフィズム (2) 継承 (3) カプセル化 (4) プロシージャ呼び出し

5. オブジェクト指向モデルは、主に次のいずれかのモデルで構成されます (1)
(1) オブジェクトモデル、動的モデル、機能モデル (2) オブジェクトモデル、データモデル、機能モデル (3) データモデル、動的モデル、機能モデル (4) オブジェクトモデル、動的モデル、データモデル


6. ソフトウェアの実現可能性調査では、一般的に (4) (1) システム開発を支援するのに十分な人員と関連技術があるか (2) システム開発を支援するのに十分なツールと関連技術があるか (3) 開発するソフトウェアがあるかどうかは考慮されません市場はあるのか、経済的に費用対効果があるのか​​ (4) 開発するソフトウェアの品質に問題はないか

7. ソフトウェア保守の副作用には、主に以下の種類があります (3)
(1) コーディングの副作用、データの副作用、テストの副作用 (2) コーディングの副作用、データの副作用、デバッグの副作用 (3) コーディングの副作用、データの副作用、ドキュメントの副作用 (4) ) コーディングの副作用、ドキュメントの副作用、テストの副作用

8. ソフトウェアプロジェクト計画には通常、次のいずれかが含まれていません。 (4)
(1) トレーニング計画 (2) 要員の手配 (3) スケジュールの手配 (4) ソフトウェア開発標準の選択と策定

9. オブジェクト指向ソフトウェア開発手法(3)に属さないのはどれか
(1) coad 手法 (2) booch 手法 (3) jackson 手法 (4) omt 手法

10. ホワイトボックステスト技術に属さないテスト方法はどれか(2)
(1) 基本パステスト (2) 境界値解析テスト (3) サイクルカバレッジテスト (4) ロジックカバレッジテスト

三つ。短答式問題(各5点、計25点)

1. ソフトウェア危機を分析する主な理由は何ですか?
回答: ソフトウェア危機の主な原因は、
(1) ソフトウェアの複雑化、大規模化 (2) ソフトウェア開発管理の困難化、複雑化 (3) ソフトウェア開発技術の遅れ (4) 生産方式の遅れ ( 5) 開発ツールが後進的 (6) ソフトウェア 開発コストが上がり続ける
1点につき1点、5点答えれば5点もらえます!

2. 構造化プログラミングの背後にある主なアイデアは何ですか?
回答: (1) トップダウンで段階的に洗練されたプログラミング手法 (2 点) (2) 3 つの基本制御構造、シングルエントリー、シングルイグジットを使用してプログラムを構築します。(3点)

3. ソフトウェアのテストにはどのような手順が必要ですか? これらの手順を説明するテスト オブジェクトは何ですか?
回答: (1) 単体テスト、テスト対象は単体モジュール (2 点) (2) 結合テスト、テスト対象は組み立てられたプログラムモジュール (2 点) (3) 確認テスト、テスト対象は動作対象ソフトウェアシステム(1点)

4. 要件分析とソフトウェア設計の 2 つのフェーズの主な違いは何ですか?
回答: 要件分析は、ソフトウェアに対するユーザーの要件を定義します。つまり、開発するソフトウェアで何ができるかを定義します (2.5 点) ソフトウェア設計は、
ユーザーのニーズを満たすためにソフトウェアの実装の詳細を定義します。つまり、ソフトウェアをどのように実装するかを検討します。ソフトウェア。(2.5点)

5. ソフトウェアテストとデバッグの目的の違いを説明してください。
回答: テストの目的は、ソフトウェアにエラーがあるかどうかを判断して発見することです (2.5 ポイント)。デバッグの目的は、ソフトウェアのエラーを見つけて修正することです。(2.5点)

ソフトウェア エンジニアリングの最終試験問題 (8)

選ぶ

1. ソフトウェア開発コストの高さと製品の品質の低さの間には大きな矛盾があり、この現象は©と呼ばれます。

A. ソフトウェア エンジニアリング B. ソフトウェア サイクル

C. ソフトウェア危機 D. ソフトウェア生成

2. 研究開発に必要なコストとリソースは、実現可能性調査における (B) 研究の側面の 1 つです。

A. 技術的実現可能性 B. 経済的実現可能性

C. 社会的実現可能性 D. 法的実現可能性

  1. ホワイトボックステクノロジーを使用したテストケースの設計に属するものは次のうちどれですか (B)

A.間違った推測 b. ロジックカバレッジ

C.同値クラス分割 D. 因果関係図

4. 最も凝集度が高いモジュールは (D)

A. 論理的な結合 B. 時間的な結合

C. 偶発的な凝集 D. 機能的な凝集

5. SD メソッドにおけるモジュールの分割を完全に導くための最も重要な原則は (D) です。

A. プログラムのモジュール化 B. モジュールの高い凝集性

C. モジュールの低結合 D. モジュールの独立性

6. ソフトウェアの詳細設計で使用される主な方法は (D)

A. モジュール設計 B. 構造化設計

C. PDL 言語 D. 構造化プログラミング

  1. ソフトウェア開発組織の調査結果によると、さまざまな保守作業の割合は (A)

A.完成度 50%、適応性 25%、修正 21%、その他のメンテナンス 4%

B.完成度 25%、適応性 50%、修正 21%、その他のメンテナンス 4%

C.完成度 21%、適応性 25%、修正 50%、その他のメンテナンス 4%

D.完成度 21%、適応性 50%、修正 25%、その他のメンテナンス 4%

8. 科学技術コンピューティングに適さない言語は (D) です。

A. パスカル B. C

C. Fortran D. プロローグ

9. ブラック ボックス テストでは主にテスト ケースの設計時に調査が必要です (A)

A. 要求仕様書と概略設計説明 B. 詳細設計説明

C. プロジェクト開発計画 D. 概略設計説明および詳細設計説明

10. 計算タイプのプログラムがあり、その入力が 1 つの X のみで、その範囲が [-1.0, 1.0] である場合、入力の観点から一連のテスト ケースを考えてみましょう: -1.001、-1.0、1.0、 1.001。この一連のテスト ケースを設計する方法は ©

A. 条件付き適用方法 B. 等価分類方法

C. 境界値分析 D. 計算間違い

11. 保守フェーズに属する以下の文書は、(B)

A. ソフトウェア仕様 B. ユーザーマニュアル

C. ソフトウェア問題レポート D. ソフトウェア テスト分析レポート

12. ラピッドプロトタイピングモデルの主な特徴の 1 つは (B)

A. 開発が完了した後にのみ製品を参照してください。 B. すべての完全なソフトウェア製品をできるだけ早く提供します。

C. 動作するソフトウェアは開発完了後にのみ確認してください D. 動作するソフトウェアをできるだけ早く提供する

13. コンピュータのハードウェアおよびソフトウェア環境の変更によりソフトウェアを変更するプロセスを (B) と呼びます。

A. 積極的なメンテナンスを教える B. 適応的なメンテナンス

C. 完璧なメンテナンス D. 予防メンテナンス

  1. オブジェクト指向方法論の出発点と基本原則は、人間の習慣的な思考方法を可能な限りシミュレートすることであり、ソフトウェア システムの分析、設計、実装の方法とプロセスは、その方法論と可能な限り類似しています。人間が世界を理解し、問題を解決するプロセス。したがって、オブジェクト指向の手法には、ソフトウェア システムがオブジェクトで構成されている、(A)、オブジェクト同士はメッセージを渡すことによってのみ通信できる、階層的な継承など、多くの特徴があります。

A.開発プロセスは機能分析と機能分解に基づいています

B.ニーズ分析の重要性を強調する

C.オブジェクトをクラスに分割し、各オブジェクト クラスがデータとメソッドのセットを定義します。

D.既存のクラスを調整する

  1. ソフトウェア詳細設計工程で使用しないツールは(A)

A.判定表B。PDL

C.データフロー図D. IPOチャート

  1. 2 つのモジュール間で同じデータ構造のアドレスが受け渡されるこの結合方法を (C) と呼びます。

A.制御カップリング b.パブリックカップリング

C.ラベルカップリングD. データ結合

  1. ソフトウェア要件には (B) を含めないでください。

A.機能要件 b. 環境要件

C.標準実装のスペース要件 D. UI要件

18. 以下の文書は保守要員(D)に関するものです。

A. ソフトウェア要件仕様 B. プロジェクト開発計画

C. 概要設計マニュアル D. 操作マニュアル

19. ガント ダイアグラムを使用してソフトウェア プロジェクトのスケジュールを表します。次の記述のうち正しいものはどれですか (D)

A. 複数のタスク間の複雑な関係を反映できる

B. タスク間の相互依存関係や制約関係を視覚的に表現できる

C. どのタスクがミッションクリティカルであるかを示すことができる

D. サブタスク間の並列関係および直列関係を表現する機能

1. ソフトウェアの特徴としては(A)が挙げられます。

A.ソフトウェアは抽象的です

B.ソフトウェアの運用や使用中には、ハードウェアと同様の経年劣化の問題も発生します。

C.ソフトウェアの開発と保守はハードウェアに依存します

D.ソフトウェア開発コストは徐々に下がっている

2. ニーズ分析の基本原則には (A) が含まれます。

A.問題のデータと機能ドメインを表現して理解できなければなりません

B.問題をトップダウンで層ごとに分解する

C.システム開発計画の見直し

D.システムの論理的および物理的なビューを提供するため

5. 結合の強さは (A) に依存します。

A.モジュール間のインターフェースの複雑さ

B.モジュールの呼び出し方法

C.インターフェースを介した情報

D.モジュール内のさまざまな要素間の緊密な統合の度合い

空欄を埋める

ソフトウェアエンジニアリングは、コンピュータソフトウェアをより適切に開発および保守するために工学の基本原理と方法をどのように使用するかを、(ソフトウェア開発技術)と(ソフトウェアエンジニアリング)の2つの側面から研究する学問です。
データ フロー図の基本的な記号には、(矢印)、(円または楕円)、(二重棒)、(ボックス)が含まれます。
今、P 元を銀行に預けると、年利は i、n 年後に得られるお金の量は ( p*(1+n*j) ) となります。
あるハードウェアまたはソフトウェア環境から別の構成へのプログラムの移行は、ソフトウェア (移植性) と呼ばれます。
ソフトウェアの詳細設計において、上から下への制御フローに従い、左から右へ展開する設計ツールが(_PDL図)です。
モジュールが所有する直下にあるモジュールの数を(スタブモジュール)、モジュールの直上位にあるモジュールの数を(ドライバモジュール)といいます。
大規模なソフトウェアテストには、(単体テスト)、(結合テスト)、確認テスト、(駆動テスト)の4つのステップがあります。
UML の定義には、(UML セマンティクス) と (UML 表記) の 2 つの部分が含まれます。
詳細設計のためのツールは、(グラフィックス)、(テーブル)、および言語ツールです。
ソフトウェアの品質や信頼性を向上させる技術は、大きく分けて(回避技術)と(フォールトトレラント技術)の2つに分類されます。
ホワイトボックス法とは、プログラムのテストケースを具体的に設計するためのさまざまな手法であり、テスト(効率)の向上を主な目的としています。
短い答え

1. ソフトウェアはプログラムです。(F)

2. 情報の隠蔽とは、モジュールに含まれる情報により、この情報を必要としない他のモジュールの呼び出しが許可されないことを意味します。(F)

3. パフォーマンス テストは、システムの能力の実際の最大限界をテストし、異常な量、異常な頻度、および異常なリソースのバッチの条件下でテスト システムを実行させます。(F)

4. ソフトウェアは柔軟であるため、ユーザーのニーズは頻繁に変化し、常にユーザーのニーズを満たすことができます。(F)

5. 需要分析手法が従うべき基本原則を簡単に説明してください。

回答: 1. 問題のデータ領域と機能領域を表現し、理解できなければなりません。2. 複雑な問題を機能ごとに分解し、層ごとに洗練することができます。3. モデリング

6. モジュール間の結合にはどのような種類がありますか? 強さ順にランク付けしています。

回答: 結合には次の種類があり、それらの間の結合度は高いものから低いものまで並べられています。

1. コンテンツ結合: 1 つの機能モジュールが別の機能モジュールのコンテンツに直接アクセスする場合、2 つの機能モジュールはコンテンツ結合と呼ばれます。2. パブリック結合: 機能モジュールがすべて統一されたグローバル データ構造にアクセスする場合、それはパブリック結合と呼ばれます。3. 外部結合: 機能モジュールがすべて統一されたグローバル データ項目にアクセスする場合、それを外部結合と呼びます。4. 制御結合: ある機能モジュールが他の機能モジュールの機能を制御するために、明らかにスイッチング値や名前などの情報を別の機能モジュールに送信する場合、それを制御結合と呼びます。5. ラベル結合: 汎用モジュールが単純な変数ではなく特定のレコードを共有する場合、つまり、これらの汎用モジュールがすべて特定のデータの部分構造を必要とする場合、レコードの構造に従って動作し、それを渡す必要があります。パラメータテーブルレコード情報、このような結合をタグ結合と呼びます。6. データ結合: ある機能モジュールが別の機能モジュールにアクセスし、アクセスされた機能モジュールの入出力がデータ項目パラメーターである場合、2 つの機能モジュールはデータ結合になります。7. 間接結合: 2 つの機能モジュール間に直接的な関係がなく、それらの間の接続がメインプログラムの制御と呼び出しによって完全に実現される場合、2 つの機能モジュールは間接結合と呼ばれ、独立性が最も強くなります。 。

7。ブラックボックステストとは何ですか?

回答: ブラック ボックス テスト手法は、機能テストまたはデータ駆動型テストとも呼ばれ、テスト対象を不透明なブラック ボックスとみなします。テスターはプログラムの内部構造や処理過程を全く考慮せず、プログラムのインターフェース部分のみをテストし、要求仕様に従って、プログラムが機能要件を満たしているか、データをうまく受け入れられるかなどを確認し、テストを行います。正しい出力。

8. CMM モデルにはどのレベルが含まれますか?

回答: 1. 初期レベル 2. 反復可能レベル 3. 定義されたレベル 4. 管理レベル 5. 最適化レベル

ソフトウェア エンジニアリングの最終試験問題 (9)

ソフトウェア エンジニアリングの最終試験用紙 (A)

説明: この試験問題は、レベル 04 コンピュータ専攻 (学部にアップグレード) のソフトウェア エンジニアリングの最終試験問題で、合計 100 点、時間は 100 分です。

1. 選択問題:(各問1点、合計20点)(問題番号の前の()内に答えを記入してください)

(C) 1. ソフトウェアは ( ) です。

A. 処理対象の説明と処理ルール B. 手順

C. プログラムとそのドキュメント D. コンピュータ システム

(B) 2. ソフトウェア要件仕様書の内容には、()を含めないでください。

A. 主な機能 B. アルゴリズムの詳細説明

C. ユーザーインターフェイスと動作環境 D. ソフトウェアのパフォーマンス

(B) 3. プログラムの 3 つの基本的な制御構造は ( ) です。

A. プロシージャ、サブルーチン、およびサブルーチン B. シーケンス、選択、および繰り返し

C. 再帰、反復、バックトラッキング D. 呼び出し、戻り、転送

( D ) 4. 面向对象的分析方法主要是建立三类模型,即( )。
A) 系统模型、ER模型、应用模型
B) 对象模型、动态模型、应用模型
C) E-R模型、对象模型、功能模型
D) 对象模型、动态模型、功能模型
( C ) 5. 在E-R模型中,包含以下基本成分( )。
A) 数据、对象、实体
B) 控制、联系、对象
C) 实体、联系、属性
D) 实体、属性、操作
( A ) 6. 各种软件维护的类型中最重要的是( )。
A) 完善性维护 B) 纠错性维护 C) 适应性维护 D) 预防性维护
( B ) 7.软件测试的目标是( )。

A. 证明软件是正确的 B. 发现错误、降低错误带来的风险

C. 排除软件中所有的错误 D. 与软件调试相同

( D )8.软件生命周期中所花费用最多的阶段是( )

A.详细设计 B.软件编码 C.软件测试 D.软件维护

( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( )

A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法

( D )10、详细设计的基本任务是确定每个模块的( )设计

A.功能 B.调用关系 C.输入输出数据 D.算法

( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( )

A.モジュールベース B. 段階的な改良の基礎 C. 抽象的な根拠 D. 情報の隠蔽とローカリゼーションの理論的根拠

(D) 12.次のホワイト ボックス テスト手法のうち、最も強力なカバレッジ基準はどれですか ( )

A.ステートメントの対象範囲 b. 条件範囲C. 判決報道 D. 条件の組み合わせの適用範囲

(A)13.データ フロー指向の設計手法は ( ) をソフトウェア構造にマッピングします。

A.データフロー b. システム構造 c.制御構造 d.情報の流れ

(A) 14. 最も低い凝集度は ( ) 凝集度です

A. チャンス B. プロセス C. シーケンス D. 時間

(A) 15. テスト計画が ( ) 段階で作成されていることを確認します。

A.全体設計 B. 詳細設計 C. コーディング D. テスト

(D) 16.要件分析の結果は ( ) です。

        A.数据流程图案  B.数据字典  C.判定表  D.需求规格说明书

(ウ) 17.データ ディクショナリは、ソフトウェア要件分析フェーズで最も重要なツールの 1 つであり、その最も基本的な機能は ( ) です。

A.データベース設計 b. データ通信 c.データ定義 d. データメンテナンス

(D)18.( )では、大規模な社内開発プロジェクトに適した「リスクドリブン」の考え方を紹介しています。

       A.增量模型   B.喷泉模型     C.原型模型    D.螺旋模型

(D) 19.最も凝集度が高いモジュールは ( )

A.論理的一貫性 b. 時間 C で蓄積されます。偶然の凝集 D. 機能的な凝集

( D ) 20. テストの有効性を高めることは非常に重要です。テストが成功するということは ( )

A. テストされたプログラムが正しいことを証明する B. テストされたプログラムが対応する要件を満たしていることを示す

C. テスト対象のプログラムにバグは見つからなかった D. これまで発見されていなかったバグが見つかった

二。正誤問題(各問1点、合計10点)は、問題番号の前の( )内に正解を√、不正解をχで記入してください。

(×) 1. ソフトウェア開発とはプログラムを書くことです。

( × ) 2. システムテストの主な方法はホワイトボックス法であり、主に機能テスト、パフォーマンステスト、セキュリティテスト、信頼性テストが行​​われます。

( × ) 3. プログラミングの際には、プログラムの効率を向上させるために、ハードウェアの機能を可能な限り使用する必要があります。

(×) 4. ソフトウェア要件分析のタスクは、ソフトウェア モジュール構造図を確立することです。

(√) 5. できるだけ高級言語を使用してプログラムを作成する

( × ) 6. 構造解析手法により構築されるシステムモデルはデータフロー図です。

( × ) 7.全体設計を行う際にはモジュール間の接続を強化してください。

( × ) 8. コーディング時には可能な限りグローバル変数を使用してください。

(√) 9. CASE環境やプログラム自動生成ツールを使用して、プログラムの一部を自動生成します。

(×) 10. ソフトウェアテストは、ソフトウェア内のすべてのエラーを見つけることです。

3.穴埋め(各問1点、合計5点):( )内に結果を記入

1. 以下の関係を継承関係、集約関係、または一般関連で分類します。

車--------Hongqiセダン(継承)

車--------ドライバー(共通協会)

クラス----------学生(集合)

2. 以下をクラスまたはクラスのインスタンスに分類します。

私の車(例)

交通手段(クラス)

3. 記述式問題:(各問5点、合計25点)

  1. ソフトウェアのライフサイクルの各段階でのタスクは何ですか?
    回答: ソフトウェアのライフサイクルは 7 つの段階に分かれています。
    1. 問題定義: 解決すべき問題は何か

2. 実現可能性調査: 問題が解決する価値があるかどうか、技術的実現可能性、経済的実現可能性、運用上の実現可能性を判断します。

3. 要件分析: システムが実行しなければならないこと

4. 全体設計:システム設計や構造設計など、システムをどのように実装するか

5.詳細設計:設計を詳細に実現するシステム

6. 実装: コーディングとテスト

7. 運用と保守: ソフトウェアが正常に動作することを保証します。

 2、软件重用的效益是什么?
 答:1、软件重用可以显著地改善软件的质量和可靠性。

2. ソフトウェアの再利用により、ソフトウェア開発の効率が大幅に向上します。

3. ソフトウェア開発コストを節約し、不必要な労働の重複や人的資源と財政的資源の無駄を避けます。

 3、 自顶而下渐增测试与自底而上渐增测试各有何优、缺点?
 答:
 ① 自顶而下渐增测试

 优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。

 缺点:需要存根程序,底层错误发现较晚。

 ② 自底而上渐增测试

 优点与缺点和自顶而下渐增测试相反。



 4 、 提高可维护性的方法有哪些?
 答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审。
 在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。
 在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。
 在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。
 在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。
 在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。
 为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件 ,同时也在大力发展软件重用技术。

ソフトウェア テストで実行される手順と、各手順に関連するドキュメントを簡単に説明します。

【答え】

テスト工程は、単体テスト(モジュールテスト)、結合テスト(サブシステムテスト、システムテスト)、確認テスト(受け入れテスト)、並列運転の4段階で実施されます。

単体テストは、ソース コードで実装された各プログラム単位のテストに焦点を当てており、関連するドキュメントは単体テスト計画と詳細な設計手順です。

結合テストでは、テスト対象のモジュールを組み立て、主に設計に関わるソフトウェアアーキテクチャの構築をテストします。関連文書は、統合テスト計画とソフトウェア要件仕様書です。

確認テストとは、実装したソフトウェアが要件仕様書で示されたさまざまな要件を満たしているか、ソフトウェアの構成が完全で正しいかどうかを確認するテストです。関連文書は、検証テスト計画とソフトウェア要件仕様書です。

並列動作では、検証されたソフトウェアを実際の動作環境に置き、テストのために他のシステム コンポーネントと組み合わせます。関連文書: ユーザーガイド、ユーザーマニュアルなど。

4. 応用問題(各問8点、合計40点)

工場の購買部門が毎日注文レポートを必要としており、そのレポートが部品番号ごとに分類され、再注文が必要なすべての部品が表にリストされているとします。再注文する必要がある部品ごとに、部品番号、部品名、注文数量、現在の価格、一次サプライヤー、二次サプライヤーのデータをリストする必要があります。部品の保管や保管はトランザクションと呼ばれ、そのトランザクションは倉庫に設置されたCRT端末を通じて発注システムに報告されます。特定の部品の在庫量が在庫しきい値を下回った場合、再発注する必要があります。要件: システムのデータ フロー図を作成します。

3. 3 つの整数を入力して、三角形が形成されているかどうかを判断します。三角形が形成されている場合は、3 つの辺の値を出力します。そうでない場合は、「三角形を形成できません」と出力します。問題のアルゴリズム 2. 計算プログラムが複雑 3. パス カバレッジのテスト ケースを設計する。

答え: (1)

(2)

(3)

4. 航空会社は、乗客の重量が 30kg までの荷物を無料で預け入れることができると規定しています。荷物の重量が30kgを超える場合、ファーストクラスの国内乗客の超過部分は1キログラムあたり4元、その他のクラスの国内乗客の超過部分は1キログラムあたり6元、外国人乗客の超過部分は1キログラムあたり6元が課金されます。国内線旅客の2倍、身体障害者の重量超過料金は一般旅客の半額となります。決定木を使用して、上記の条件のそれぞれの組み合わせに対応する手荷物料金を計算するアルゴリズムを表します。

答え:

5. ソフトウェア会社には多数の部門があり、開発部門と管理部門に分かれており、各開発部門は複数のソフトウェア製品を開発しており、各部門は部門名によって一意に識別されます。同社には多くの従業員がおり、従業員はマネージャー、従業員、開発者に分かれています。

開発部門にはマネージャーと開発者がおり、管理部門にはマネージャーとスタッフがいます。各開発者は複数の開発プロジェクトに参加でき、各開発プロジェクトには複数の開発者が必要で、各マネージャーは会社のオブジェクト モデルを確立するために複数の開発プロジェクトをホストできます。

(10) ソフトウェアエンジニアリングの特別研修

選ぶ

① ソフトウェアライフサイクルの中で最もコストがかかる段階は (D)

A.詳細設計 b.ソフトウェアコーディング c.ソフトウェアテスト d. ソフトウェアのメンテナンス

② 実現可能性分析は、システム開発の初期段階で行われる重要な実証作業であり、システムが開発されるかどうかを決定するものです。

(B) の答えを出さなければならないため、意思決定の根拠となります。

A.OK B.OKかそうでないかC. 正しい D.明確な

③ウォーターフォールモデルに関する以下の記述は正しいです(C)。

A. ウォーターフォール モデルの核心は、ソフトウェア開発の時系列に従って問題を単純化することです。

B. ウォーターフォール モデルには優れた柔軟性があります。

C. ウォーターフォール モデルでは、論理的な実装を物理的な実装から分離する、構造化された分析と設計のアプローチを使用します。

D. ウォーターフォール モデルでは、問題が見つかった場合でも、安価に修正できます。

④ 基本的には詳細設計の結果が最終プログラムの(C)を決定します。

A.コードのサイズ b.走行速度 c.品質 D.保守性

⑤ 構造化プログラミングの主な重点は (D)

A.プログラムのサイズ b.プログラムの効率性 C. プログラミング言語の進歩 D. プログラムの可読性

⑥ プログラムの基本的な制御構造は 3 つあります (B)

A.プロシージャ、サブルーチン、サブルーチン B. 順序、選択、繰り返し C. 再帰、スタック、キュー d. 電話をかける、返す、転送する

⑦ ソフトウェアの機能が要求仕様で要求される機能に適合しているかどうかを確認するテストは、(C)に属します。

A. 統合テスト B. 回復テスト C. 受け入れテスト D. 単体テスト

⑧ オブジェクト指向技術では、オブジェクトはクラスのインスタンスです。オブジェクトには、(A) プロパティとメソッド (または操作) の 3 つのコンポーネントがあります。

A. 識別 B. ルール C. カプセル化 D. メッセージ

⑨ オブジェクト指向メソッドのメッセージに関する次の記述は誤りです(B)。

A. キーボード、マウス、通信ポート、ネットワーク、その他の機器に変更があると、メッセージが生成されます。

B.オペレーティング システムはアプリケーションにメッセージを送信し続けますが、アプリケーションはオペレーティング システムにメッセージを送信できません

C. アプリケーションは相互にメッセージを送信できる

D.メッセージを送受信するための通信メカニズムは、従来のサブルーチン呼び出しメカニズムとは異なります。

⑩ オブジェクト指向プログラミングにおけるデータ隠蔽とは、(D)を指します。

A.データを入力するには機密パスワードを入力する必要があります

B.データは暗号化されています

C. ファイアウォールはオブジェクトの内部データ構造に基づいて構築されます

D.オブジェクトの内部データ構造にアクセスできない

答え:①D ②B ③C ④C ⑤D ⑥B ⑦C ⑧A ⑨B ⑩D

1. プログラム設計はソフトウェア開発プロセス (C) 段階に属します。

A. 設計 B. プログラミング C. 実装 D. コーディング

2. 構造設計は最も広く使用されているシステム設計手法の 1 つであり、(A)、トップダウンの段階的な改良に基づいています。

そしてモジュール化されたプロセス。

A. データ フロー B. データ フロー図 C. データベース D. データ構造

  1. 構造化プログラミングは主にプログラムの(C)を重視します。

A. 効率 B. 速度 C. 可読性 D. サイズ

4. アナリストは (B) です

A. 屋外システムの直接のユーザー B. ユーザーとソフトウェア担当者の間の仲介者

C. ソフトウェア プログラマー D. ユーザーおよびソフトウェア担当者のリーダー

  1. プログラムの 3 つの基本制御構造の共通点は (D) です。

A. 入れ子にすることはできません B. 単純なプログラムの作成にのみ使用できます

C. ハードウェアで実現されている D. 入り口と出口は 1 つだけ

  1. ソフトウェアの製造プロセスでは、要件情報が (D) によって与えられます。

A. プログラマー B. プロジェクト マネージャー C. ソフトウェア アナリストおよびデザイナー D. ソフトウェア ユーザー

7. 設計テストデータに関係しない文書は (D) です。

A. 要件仕様 B. 設計仕様 C. ソースプログラム D. プロジェクトの開発と設計

8. 構造解析 SA 手法では、データ フロー図 (B) や処理記述などの記述ツールを使用します。つまり、直感的な図と簡潔な言語でソフト システム モデルを記述します。

A. DFD ダイアグラム B. データ ディクショナリ C. IPO ダイアグラム D. PAD ダイアグラム

データフロー指向のソフトウェア設計方法は、一般に、データフローグラフ内のデータフローを(B)に分割し、その後、データフローグラフをソフトウェア構造にマッピングする。

A. データ フローとトランザクション フロー B. 交換フローとトランザクション フロー

C. 情報フローと制御フロー D. 交換フローとデータ フロー

10. 全体的なデザインの結果、コピー (A) が提供されます。

A. モジュールマニュアル B. ブロック図 C. プログラム D. データ構造

回答案:1. C 2. A 3. C 4. B 5. D 6. D 7. D 8. B 9. B 10. A

  1. ソフトウェアは(C)です。

A. 処理対象の説明と処理ルール B. 手順

C. プログラムとそのドキュメント D. コンピュータ システム

  1. ソフトウェア要件仕様書の内容に(B)を含めないでください。

A. 主な機能 B. アルゴリズムの詳細説明

C. ユーザーインターフェイスと動作環境 D. ソフトウェアのパフォーマンス

  1. プログラムの基本的な制御構造は (B) の 3 つです。

A. プロシージャ、サブルーチン、およびサブルーチン B. シーケンス、選択、および繰り返し

C. 再帰、反復、バックトラッキング D. 呼び出し、戻り、転送

  1. オブジェクト指向分析手法では、主に (D) の 3 種類のモデルが確立されます。

A) システムモデル、ER モデル、アプリケーションモデル

B) オブジェクトモデル、ダイナミックモデル、アプリケーションモデル

C) E-Rモデル、オブジェクトモデル、関数モデル

D) オブジェクトモデル、動的モデル、機能モデル

  1. ER モデルには、以下の基本コンポーネント (C) が含まれます。

A) データ、オブジェクト、エンティティ

B) コントロール、接続、オブジェクト

C) エンティティ、関係、属性

D) エンティティ、属性、操作

  1. さまざまな種類のソフトウェア メンテナンスの中で最も重要なものは (A) です。

A) 完全保守 B) 事後保守 C) 適応保守 D) 予防保守

7。ソフトウェアテストの目標は(B)です。

A. ソフトウェアが正しいことを証明する B. エラーを見つけて、エラーのリスクを軽減する

C. ソフトウェア内のすべてのエラーを除去します。 D. ソフトウェアのデバッグと同じです。

8. ソフトウェア ライフ サイクルで最もコストがかかる段階は (D)

A.詳細設計 b.ソフトウェアコーディング c.ソフトウェアテスト d. ソフトウェアのメンテナンス

9. 計算タイプのプログラムがある場合、その入力は 1 つの X だけで、その範囲は [-1.0, 1.0] です。

入力に関してテスト ケースのセットを考えます: -1.001、-1.0、1.0、1.001。このテスト ケースのセットを設計する方法は (C)

A.条件付き補償 b. 同等の分類C. 境界値分析 d.推測エラー

10. 詳細設計の基本的なタスクは、各モジュールの (D) 設計を決定することです。

A.関数 B. 呼び出し関係 C. 入出力データ D. アルゴリズム

11. 関数 C(X) で問題 X の複雑なプログラムを定義し、関数 E(X) で問題 X を解くために必要な作業を決定します。

量(時間)。2 つの問題 P1 と P2 について、C(P1)>C(P2) が明らかに E(P1)>E(P2) である場合、

結論 E(P1+P2)>E(P1)+E(P2) は次のとおりです。(A)

A.モジュールベース B. 段階的な改良の基礎 C. 抽象的な根拠 D. 情報の隠蔽とローカリゼーションの理論的根拠

12. 次のホワイト ボックス テスト手法のうち、最も強力なカバレッジ基準 (D) はどれですか。

A.ステートメントの対象範囲 b. 条件範囲C. 判決報道 D. 条件の組み合わせの適用範囲

13. データフロー指向の設計手法では、(A) をソフトウェア構造にマッピングします。

A.データフロー b. システム構造 c.制御構造 d.情報の流れ

14. 最も凝集性が低いのは (A) 凝集性

A. チャンス B. プロセス C. シーケンス D. 時間

15. (A) 段階でテスト計画が策定されていることを確認します。

A.全体設計 B. 詳細設計 C. コーディング D. テスト

16. ニーズ分析の結果は (D)

A.データ フロー パターン B. データ辞書 c.判定表D. 要求仕様

17. データ ディクショナリはソフトウェア要件分析フェーズで最も重要なツールの 1 つであり、その最も基本的な機能は (C)

A.データベース設計 b. データ通信 c.データ定義 d. データメンテナンス

18. (D) 大規模な社内開発プロジェクトに適した「リスクドリブン」の考え方を導入。

A.インクリメンタルモデル b. 噴水モデルC. プロトタイプモデル d. スパイラルモデル

19. 最も凝集度が高いモジュールは (D)

A.論理的一貫性 b. 時間 C で蓄積されます。偶然の凝集 D. 機能的な凝集

20. テストの有効性を高めることは非常に重要です。テストの成功は (D) を意味します。

A. テストされたプログラムが正しいことを証明する B. テストされたプログラムが対応する要件を満たしていることを示す

C. テスト対象のプログラムにエラーは見つかりませんでした。 D. これまで発見されていないエラーが見つかりました__

回答案:1.C 2.B 3.B 4.D 5.C 6.A 7.B 8.D 9.C 10.D 11.A 12.D 13.A 14.A 15.A 16.D 17.C 18.D 19.D 20.D

1.

ソフトウェア危機の事実により、人々はコンピュータの使用を促進する鍵が_______テクノロジーの革新にあることを認識しました。

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: ソフトウェア開発

2.

いわゆる「ユーザー要件」とは、ソフト コンピューター システムが満たさなければならない _________ および制限を指します。

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: すべてのプロパティ

3.

ソフトウェア エンジニアリング手法では、複雑さを制御する 2 つの基本的な手段は、「分解」と _________ です。

あなたの答えは: ; 正解は: 抽象的です

4.

ジャクソン法の設計原則は、プログラム構造が _________ に対応するというものです。

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: データ構造

5.

プログラミングの目標は、論理的に正しく、________ が容易なプログラムを作成することです。

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: 読みやすい (そして保守しやすい)

6.

検査はソフトウェア開発プロセスに不可欠な部分であり、検査の目的は________することです。

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: エラーを見つけて、時間内に修正してください

7。

ジョイント テストでは、最初に各モジュールが独立してテストされ、次に一緒に接続されて実行されます。この方法は _________ ジョイント デバッグと呼ばれます。

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: 非増分

8.

概念的なデータ モデルとして適した、いわゆる第 2 世代のデータ モデルは _________ です。

あなたの答えは次のとおりです: ; 正解は ER モデル (概念データ モデル)

9.

オブジェクト指向開発の最大の利点は、アナリスト、デザイナー、ユーザーが _________ を明確に表現できるようになり、相互にコミュニケーションできるようになることです。

あなたの答えは次のとおりです: ; 正解は: 抽象的な概念

10.

プログラム評価およびテスト システム PET の主な機能は、FORTRAN プログラムのホワイトボックス テストをサポートし、テストの _________ を監視することです。

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: 実際の適用範囲

補足日付: 2003-10-30 11:11:11

選ぶ:

1.

ソフトウェアの規模はソースプログラムの行数によって分類でき、いわゆる大規模なソフトウェアは通常ソースプログラムの行数を指します( )。

A.5 ~ 50K B.50 ~100K C.1M D.1 ~ 10M

あなたの答えは: ; 正解は: B

2.

ソフトウェアのライフサイクルにおいて、ワークロードの最大の割合を占めるのは ( )

A.実現可能性調査 b. システム C の構造を確立します。プログラムを書く d. 維持

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: D

3.

SA手法で得られる要求仕様は4つの部分に分かれており、( )内にシステムの構成要素や各部分の関係などを記述します。

A.一連の階層データ フロー図 B. データ辞書 C. 小さな指示セット D. 補足資料

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: A

4.

SA手法の記述方法の特徴は、( )を使おうとすることである。

A.自然言語 b. 形式的な言語 c.グラフィック表現 d.シート

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: C

5.

ソフトウェアシステム内の各モジュールの外部特性、つまりその入力、出力、および機能を決定するのは ( ) のタスクです。

A.ニーズ分析 b. 概略設計 c.詳細設計 d.プログラミング段階

あなたの答えは: ; 正解は: B

6.

概要デザインの記述方法は( )です。

A.DFD B.SC C.ブロック図D.データ構造図

あなたの答えは: ; 正解は: B

7。

あるモジュールから別のモジュールに渡されるパラメータは、( ) に属する単一のデータ項目の配列です。

A.b. データ型 複合C. コンテンツタイプ D.パブリックタイプ

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: A

8.

概要設計の設計書では、各モジュールの説明に( )が含まれます。

A.機能、インターフェース、入力、出力 B. インターフェース、入力、出力、プロセス C. インターフェース、手順、限界および制約 d.関数、インターフェイス、プロシージャ、アノテーション

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: D

9.

SP 法の要点によれば、プログラムは最終的に ( ) によって承認される必要があります。

A.専門家 b. 誰が編集し、誰が判断するのか C. メインプログラマー d. 情報担当者

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: C

10.

構造化プログラム図 (FC) 内の矢印は ( ) を表すために使用されます。

A.制御フロー b. データフロー c.データ/コントロール d. 通話関係

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: A

11.

構造化プログラムの正しさを検証できる理由は、 ( )

A.基本構造 B は 3 つだけです。GOTO ステートメントの使用制限 C. プログラム D の内部には「内部ドキュメント」があります。適切なデータ構造とアルゴリズムを選択する

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: A

12.

プログラムの可読性を向上させる強力な手段は ( )

A.プログラミング言語 B を選択します。すべての変数を明示的に記述する C. 3 つの標準制御ステートメントを使用します D. プログラムに注釈を付ける

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: D

13.

ソフトウェアをテストすることで、次のことが証明できます ( )

A.手順の正確性 b. エラーは存在しません C. エラーが存在する d. 隠れた危険を含まない

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: C

14.

あるプログラムの機能説明に「各選手は1~3種目に参加する必要がある」と記載されており、同等クラスの判定にはブラックボックス法の同等分類法が用いられています()

A.1≦個数≦3 B.項目数 <1 C. 項目数 > 3D。上記のすべて

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: D

15.

プログラム関数の説明では、三角形の 3 辺の長さが 3 つの入力データによって表されることが指摘されています。ブラック ボックス法の限界値分析法に従ってテスト ケースを設計します。( ) を選択する必要があります。

A.a=3,b=4,c=5 B.a=1,b=2,c=4 C.上記の A と B の両方を選択する必要があります D。a=1、b=2、c=3

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: D

16.

ソフトウェア保守は、保守目的に応じて分類できます。ハードウェア環境やソフトウェア環境の変化に合わせてソフトウェアを修正することです。

A.b. 事後保全 適応型メンテナンスC. 完全性の維持 d.予防保守

あなたの答えは: ; 正解は: B

17.

ソフトウェア エンジニアリング方法論のすべてのステップを決定する重要な目標は、ソフトウェアの ( ) を改善することです。

A.可搬性 b. 信頼性C. 保守性 d. 効率

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: C

18.

データベース設計の全プロセスにおける鍵は ( )

A.ユーザー要件を分析する b. 概念的なデータ モデルを作成します C. 論理設計 d.物理的設計

あなたの答えは: ; 正解は: B

19.

オブジェクト指向分析の基本として、問題領域内のオブジェクトで構成されており、ER図で記述されるのは( )

A.メッセージモデル b. 処理モデル c.状態モデル d.ウォーターフォールモデル

あなたの答えは: ; 正解は: B

20.

以下のソフトウェアツールのうち、概要設計を支援できるツールは( )です。

A.PSL/PSAシステム B.SDL/PADシステム C.AIDESシステム D.テクトロニクス ツールボックス

あなたの答えは次のとおりです: ; 正しい答えは次のとおりです: C

短い答え

   1.     什么软件?软件按功能进行划分,可以划分成哪几类?按工作方式进行分类,可以划分成哪几类?

回答: ソフトウェアとは、コンピュータプログラムと、プログラムで使用するデータ、およびそれを説明する各種文書から構成されます。機能に応じて、システムソフトウェア、サポートソフトウェア、アプリケーションソフトウェアに分類でき、ソフトウェアの動作方法に応じて、リアルタイム処理ソフトウェア、タイムシェアリング処理ソフトウェア、対話型ソフトウェア、バッチ処理ソフトウェアに分類できます。ソフトウェア。

   2.     软件危机产生的原因是什么?

回答: ソフトウェア危機の理由:

a) ソフトウェアはハードウェアとは異なり、論理コンポーネントです。

b) ソフトウェアの規模が大きく、論理構造が複雑である。

c) ソフトウェア開発者と管理担当者はプログラムの設計のみに注意を払い、ユーザーのニーズ分析を無視し、その結果、最終的なソフトウェア製品がユーザーのニーズを満たすことができなくなります。

d) ソフトウェア設計技術と管理技術が遅れており、統一されたソフトウェア品質管理仕様が存在しない。

e) ソフトウェア開発と保守の関係について、開発に重点を置き保守を無視するという誤った概念が存在します。

   3.     简述软件工程的定义。

回答: ソフトウェア エンジニアリングは、科学的知識と技術原則を使用してソフトウェアを定義、開発、保守する学問です。エンジニアリングの概念、原則、技術、および方法を使用してソフトウェアを開発および保守し、長年の実績と実証済みの管理技術と現在利用可能な最良の技術的方法を組み合わせます。

   4.     简述软件生存周期的定义及组成部分。

回答: ソフトウェアは、定義から開発、使用、保守に至るまで、最終的に廃棄されるまで長い期間を経ますが、この長い期間を通常ソフトウェア ライフ サイクルと呼びます。計画(問題定義)、実現可能性検討、需要分析、全体設計、詳細設計、プログラミング(コーディング)、総合テスト、運用保守などが含まれます。

   5.     可行性研究的目的是什么?可以从哪些方面来考虑软件开发的可行性?

回答: 実現可能性調査の目的は、最小限のコストで可能な限り最短の時間で問題を解決できるかどうかを判断することです。主に技術的実現可能性、経済的実現可能性、運用可能性、法的実現可能性の4つの側面からです。

   6.     面向对象方法学的优点有哪些?

回答: オブジェクト指向手法の利点:

(1) 客観的な世界を複数の角度からシミュレートします。

(2) 高い安定性。

(3) 再利用性が良い。

(4) 大規模なソフトウェアの開発に適しています。

    7.     需求分析的主要方法是什么?用这种方法进行需求分析的主要步骤有哪些?

回答: 要件分析の手法には、データフロー指向の分析手法、データ構造指向の分析手法、オブジェクト指向の分析手法、動的分析手法などがあり、主にデータフロー指向の分析手法が使用されます。主な手順には、(1) データ フロー図の分析、(2) ユーザー レビュー、(3) データ フロー図の改良、(4) 開発計画の修正、(5) 開発計画の見直しが含まれます。

    8.     细化数据流图需要遵循哪些基本原则?

回答: データ フロー図を改良する際に従うべき原則は次のとおりです。

a) 階層的リファインメント中にデータの連続性が維持される必要があります。つまり、対応する関数の入出力データがリファインメントの前後で同じでなければなりません。

b) 関数をさらにサブ関数に分解します。これらのサブ関数は独立した関数を持たなければなりません。そうでない場合は、それ以上の分解は必要ありません。

     9.     什么是对象?什么是类?什么是消息?

回答:現実世界に客観的に存在するものをオブジェクトといいます。同じまたは類似のプロパティを持つオブジェクトを抽象化したものをクラスと呼びます。オブジェクト間の通信はメッセージと呼ばれます。

    10.  什么是对象的封装?主要表现在哪些方面?

回答: カプセル化とは、オブジェクトをラップして、外部の世界からはオブジェクトのインターフェイスのみが表示され、オブジェクト内の特定のコンテンツは表示されないようにすることです。主に次のような点が現れます: (1) 固定インターフェイスがある; (2) 内部実装が保護されている。

    11.  简述过程设计语言(PDL)的特点。

回答: PDL の特徴は次のとおりです: (1) キーワードは固定された構文を持ち、構造化された制御構造とステートメントの説明を提供する必要があります、(2) 理解しやすい自然言語を使用してシステム処理機能を記述します、(3) を使用できます。柔軟な言語編集 プログラムまたはワードプロセッサ システムで、PDL の作成と編集を完了するのに非常に便利です; (4) コンピュータに処理させるのが簡単です。

    12.  怎样从客户类的角度发现协作?

回答: コラボレーションは、クライアント クラスに次の質問をすることで発見できます。

a) クラス自体がこの操作を実行できますか?

b) そうでない場合、何が必要ですか?

c) 他のどのクラスから必要なものを取得しますか?

    13.  简述软件质量的定义及在软件开发过程中管理软件质量的办法。

回答: ソフトウェア品質とは、要件に関連する指定された機能および隠れた機能を満たすソフトウェア製品のすべての特性と特性を指します。ソフトウェアの品質を管理する方法: (1) 指定された文書は各段階で完成する必要があり、適格な文書が引き渡されなければその段階のタスクは完了しません; (2) 完了した文書とプログラムは、完成した文書とプログラムを完成させる前にレビューする必要があります。各段階の終了 問題を早期に特定し、間違いを修正できるようにレビューを実施します。

    14.  什么是白盒测试?什么是黑盒测试?

回答: ホワイトボックステストは構造テストとも呼ばれ、プログラムを透明なホワイトボックスに入れること、つまりソフトウェアシステムの構造と処理プロセス全体を完全に理解することが前提条件となります。

ブラックボックステストは機能テストとも呼ばれ、プログラムを不透明なブラックボックスとみなし、プログラムの内部構造や処理をまったく考慮しません。

    15.  什么是软件维护?软件维护可以分为哪几类?

回答: ソフトウェア メンテナンスとは、ソフトウェア システムの使用後に、新しい要件に適応したり、新しいニーズに対応したり、ソフトウェアのエラーを修正したりするために、ソフトウェア ユーザーがソフトウェア システムを変更するプロセスを指します。事後保全、完全保全、事後保全、予知保全に分けられます。

    16.  简述软件质量三要素及其具体包括的内容。

回答: ソフトウェアの品質要素は 3 つのカテゴリに分類できます。1 つ目の要素は、正確性、信頼性、有効性、セキュリティ、使いやすさなどのソフトウェアの動作特性を表し、2 つ目の要素は、ソフトウェアの改変に対する耐性を表します。柔軟性、柔軟性、テスト容易性、要素の 3 番目のカテゴリは、移植性、再利用性、相互運用性など、新しい環境に対するソフトウェアの適応性を示します。

おすすめ

転載: blog.csdn.net/qq_45973897/article/details/117364562