1.2は、ソフトウェアが私たちの社会に与える影響を示す多くの例(正と負の両方)を提
私たちの社会におけるソフトウェアの使用は、正と負の両方の多くの影響を持っています。 肯定的な側面が非常に有用である場合もある一方否定的な物は松葉ずえの幾分を私達に与える。 一般的に、ソフトウェアは私たちを”傷つける”ように設計されているのではなく、物事をより簡単に、より効率的にするために設計されています。
1.3例えば、電子バンキングは、私たちの生活全体の多くを容易にするソフトウェアの完璧な例です。 物理的にあなたの銀行からお金を引き出すの短いすべてがオンラインで行うことができます。 あなたも、単にあなたのスマートフォンでそれの写真を撮ることによって、今あなたの給料を堆積させることができます。 欠点は、同じ技術は、それが間違った手に落ちた場合、あなたのクレジットカード番号とidを盗むために使用することができます。 反保証ソフトウェアとの同じ。
ネットワークセキュリティをアップグレードする必要があることを銀行に証明するために、あなたの地元の銀行に侵入し、彼らから盗むために良い金 ほとんどの場合、銀行はこのタイプの侵入に感謝しています。 しかし、この同じソフトウェアは、銀行がそれほど喜んでいない犯罪目的のために使用することができます。 ソフトウェアは、誰がどのように使用しているかによって、非常に有用で非常に危険なものになる可能性があります。
1.4多くの最新のアプリケーションは、エンドユーザーに提示される前と、最初のバージョンが使用された後に頻繁に変更されます。 変更による劣化を止めるためのソフトウェアを構築するいくつかの方法を提案します。
まず第一に、ソフトウェアアプリケーションは保守可能でなければなりません。 つまり、アプリケーションが成長するにつれて変更を簡単に行うことができる程度に設計する必要があります。 変更による劣化を最小限に抑える1つの方法は、自動更新を内蔵できるようにすることです。 例えば、Windows OSを取る: これは、システムが常に”最新”であることを確認するために必要なセキュリティとファイアウォールプラットフォームの自動更新を許可するオプ”以前のアプリケーションは常に更新されているので、同じ機能を持つ新しいソフトウェアを構築することが重要です。
1.5セクション1.1.2に示されている七つのソフトウェアカテゴリを考えてみましょう。 あなたは、ソフトウェア工学への同じアプローチは、それぞれに適用することができると思いますか? あなたの答えを説明してください。
世界中の何百万人ものソフトウェア技術者が、これらのカテゴリーの一つ以上のソフトウェアプロジェクトに懸命に取り組んでいます。 いくつかのケースでは、新しいシステムが構築されていますが、他の多くのケースでは、既存のアプリケーションが修正、適応、および強化されています。 このため、個々のカテゴリでは、ソフトウェア工学に対する異なるアプローチが必要になる場合があります。 ソフトウェアエンジニアが作業するプログラムの多くは非常に古く、アップグレードされ続けています。 したがって、既存のプログラムには、新しいプログラムに使用するのと同じアプローチを使用しないことは理にかなっています。
1.6図1.3は、”a quality focus”と題されたレイヤーの上に三つのソフトウェアエンジニアリングレイヤーを配置します。”これは、総合的な品質管理などの組織的な品質プログラムを意味します。 研究のビットを行い、総合的な品質管理プログラムのキー教義の概要を開発します。
TQMは、高品質の製品とサービスの提供を達成することを目的としたイニシアチブと手順の管理と定義することができます。 TQMの定義では、以下のような多くの重要な原則を特定できます:
- 経営管理-経営トップはTQMのための主要な運転者として機能し、成功を保障する環境を作成するべきである。
- トレーニング–従業員は、品質の方法と概念に関する定期的なトレーニングを受ける必要があります。
- 顧客重視–品質の向上は顧客満足度を向上させるべきである。
- 意思決定–測定値に基づいて品質の決定を行う必要があります。
- 方法論とツール–適切な方法論とツールを使用することで、不適合が特定され、測定され、一貫して対応されることが保証されます。
- 継続的な改善–企業は、製造および品質手順の改善に向けて継続的に取り組むべきである。
- 企業文化–会社の文化は、品質を向上させるために一緒に働く従業員の能力を開発することを目指すべきです。
- 従業員の関与–従業員は、品質関連の問題を特定し、対処することに積極的であることが奨励されるべきである。
1.7 Webappが構築されているときにソフトウェア工学は適用可能ですか? もしそうなら、WebAppsのユニークな特性に対応するためにどのように変更することができますか?
ソフトウェアは、私たちの生活のほぼすべての側面に深く埋め込まれています。 ソフトウェア工学は、新しいプログラムが構築された場合や、Webappを含む既存のプログラムが更新された場合に適用されます。 WebAppsは、異なるソフトウェアカテゴリの数の一つです。 しかし、WebAppsは異なると主張することができます。 Webappが要求する主な変更の1つは可用性です。 人気のあるWebAppsのユーザーは、多くの場合、24/7/365ベースでアクセスを要求します。 WebAppsのもう一つのユニークな特徴は、その継続的な進化です。
従来のアプリケーションソフトウェアとは異なり、Webアプリケーションは継続的に進化しています。 WebAppsに適用されるソフトウェア工学に関しては、多くの声が聞かれなければなりません。 Webアプリケーションのルックアンドフィールは、最終的にアプリの成功を決定する魅力の否定できない部分です。
1.8ソフトウェアが普及するにつれて、(プログラムの欠陥による)公衆へのリスクがますます重要な懸念になっています。 コンピュータプログラムの失敗が大きい害をすることができる最後の審判の日しかし現実的なシナリオを開発しなさい(経済的か人間)。
最初に思い浮かぶ悲劇的だが現実的なシナリオの一つは、旅客機の特定のプログラムの失敗である。 飛行機の主要なコンピュータ化されたプログラムに他のどのプログラムとも失敗の同じ危険があり、破局的な結果を有することができる。 例えば、航空機の高度を検出するセンサーは、パイロットが航空機が地面の上にあるどのように多くのフィートを知ることができます。 このプログラムは、気象条件が滑走路のパイロットの可視性を損なう可能性がある場合に特に必要です。
旅客機がまともに着陸する準備をしたら、パイロットはこれらのプログラムを使用して飛行機を安全な着陸に導く。 このプログラムが失敗し、天候がパイロットの視界を妨げた場合、パイロットは実際に地面の上にどれだけ遠くにいるかを知らないかもしれません。 飛行機の墜落は常に起こり、毎年何百人もの乗客が死亡します–主に航空機のプログラムや機器の故障のためです。
1.9プロセスフレームワークを自分の言葉で記述します。 フレームワーク活動がすべてのプロジェクトに適用されると言うとき、これはサイズや複雑さに関係なく、すべてのプロジェクトに同じ作業タスクが適 説明しろ
ソフトウェアエンジニアリングプロセスは、ある種の秩序と組織計画なしに魔法のように起こるだけではありません。 プロセスフレームワークは、すべてのプロジェクトに適用可能な少数の活動を使用して、エンジニアリングプロセスの基盤を作成します。 プロセスフレームワークのステップバイステップのアルゴリズムは、五つの活動で構成されています: コミュニケーション、計画、模倣、構造および配置。 サイズや複雑さにかかわらず、すべてのプログラムは、その順序でこれらの活動に準拠しています。 ソフトウェアプロセスの詳細はプログラムごとにかなり異なりますが、フレームワーク内で関連するタスクは同じままです。
1.10アンブレラアクティビティは、ソフトウェアプロセス全体で発生します。 彼らはプロセス全体に均等に適用されていると思いますか、または一つ以上のフレームワーク活動に集中していると思いますか。
一般に、アンブレラ活動はソフトウェアプロジェクト全体に適用され、ソフトウェアチームが進捗、品質、変更、リスクを管理および制御するのに役立ち ソフトウェアエンジニアリングプロセスは、ソフトウェアチームが正確に従わなければならない厳格な養生法ではないため、プロセスには適応の余地
プロセス全体で発生する包括的な活動は、一般的にプロセスのすべての側面に適用されますが、エンジニアリングは、問題、プロジェクト、チーム、組織文化に固有の機敏で適応可能でなければなりません。 このため、あるプロジェクトで採用されたプロセスは、別のプロジェクトで採用されたプロセスとは大きく異なる可能性があり、一部の活動は一つ以上の分野に集中している可能性があります。