Presentation is loading. Please wait.

Presentation is loading. Please wait.

INTRODUCTION TO SOFTWARE ENGINEERING

Similar presentations


Presentation on theme: "INTRODUCTION TO SOFTWARE ENGINEERING"— Presentation transcript:

1 INTRODUCTION TO SOFTWARE ENGINEERING
1 ソフトウェア工学 Software Engineering ソフトウェア工学の概要 INTRODUCTION TO SOFTWARE ENGINEERING

2 世の中のソフトウェア化/サービス化 ■人や社会に欠かせないソフトウェア 業務ソフトウェア 組込みソフトウェア
人や社会の営みを支援. ビジネス(商業・流通,金融,行政,教育,管理) Webサービス(一般ユーザ) 組込みソフトウェア 機器に組み込まれて機器を制御. 産業設備(工場,プラント),交通機器(飛行機,自動車) 通信機器(スマートフォン),医療機器(自動手術機器) ■ハードウェアからソフトウェアへ 自動車でさえ,開発費の  %以上(?)はソフトウェア 40 ■モノからサービスへ Software As A Service 製造業から       業へ 情報サービス

3 ソフトウェアの特徴 多種多様 大規模・複雑 変化が激しい ソフトウェア開発のむずかしさ ソフトウェア科学/ソフトウェア工学
良いソフトウェアの良い作り方 (プロダクト) (プロセス)

4 ソフトウェア工学とは 目的とするソフトウェアを,時間やコストなどの現実的な制約の中で開発したり利用したりするための理論や実践的技術の体系 時間制約 コスト制約 ソフトウェア製品 目的(要求) ソフトウェア工学 理論/実践的技術

5 ソフトウェア開発工程の概略と問題点 上流工程 顧客の要求 多くの不具合が 上流工程で 作り込まれる 要求定義 要求仕様書 下流工程
requirements definition 要求定義 要求仕様書 下流工程 design 要求の変化! 設 計 設計書 implementation 実 装 プログラム プロジェクト管理 製品 testing 手戻り! テ ス ト 多くの不具合は 下流工程で発見される

6 ソフトウェアプロダクトの古い価値観 高速に動作させたい 時間(CPU)効率の良いプログラム 小さなシステムでも動作させたい
資源(メモリ,外部記憶)効率が良いプログラム

7 ソフトウェアプロダクトの現代的な価値観 情報システムは生命や財産を守っている 医療,飛行機,原子力発電,銀行, 証券
   医療,飛行機,原子力発電,銀行, 証券 社会やビジネスの環境が激しく変化している    社会制度の改正,価値観の変化,技術の進歩 安全・安心なソフトウェア 変化にすばやく追従して進化するソフトウェア

8 ソフトウェアプロセスの価値観 品 質: システムへの要求が満たされている. コスト: 費用(おもに人件費)が少ない.
Quality 品 質: システムへの要求が満たされている. コスト: 費用(おもに人件費)が少ない. 納 期: 所定の期限までに納品. 変 化: 要求の変化に適応して進化させやすい. Cost Delivery Change

9 ソフトウェア開発の基本的な考え方(1/2) 安全・安心なソフトウェア 正しさ,妥当性,セキュリティ 正 し い = 実装が仕様を満たす
正 し い = 実装が仕様を満たす (correct) 妥  当 = 要求が達成されている (valid) セキュア = 悪意ある人やソフトに対して安全 (secure) 会議で仕様/設計/実装の確認(レビュー) ソフトを実行して動作確認(テスト) ソフトを実行せずにツールで解析(静的解析) 数理論理学に基づくツールの活用(形式手法) (review) (testing) (static analysis) (formal method)

10 ソフトウェア開発の基本的な考え方(2/2) 変化にすばやく追従できるソフトウェア ソフトウェアの読みやすさ,修正しやすさの向上
(structuring) 構造を明確に(構造化) 抽象的に表現(抽象化) モデルの作成(モデリング) 設計やコードの再利用 変化にすばやく対応できる開発プロセス 人工知能技術の活用 (abstraction) (modeling) (reuse) (software process) (AI)

11 この授業で学ぶ事項の位置付け(1/2) 学部3年生向けに,基本的な考え方に重点がある 構造化プログラミング 構 造 化
構 造 化 ソフトウェアアーキテクチャ 抽 象 化 抽象データ型 プログラムの正当性 形 式 手 法 人 工 知 能 構造的帰納法 モデル検査 並行プログラミング モデリング ソフトウェアモデリング オブジェクト指向プログラミング 再 利 用 デザインパターン ソフトウェア工学の概要 開発プロセス ソフトウェアプロセス そ の 他 プログラミング作法

12 この授業で学ぶ事項の位置付け(2/2) 学部3年生向けに,下流工程の技術にやや重点がある ソフトウェア工学の概要 ソフトウェアプロセス
要 求 定 義 ソフトウェアモデリング ソフトウェアアーキテクチャ 設   計 デザインパターン モデル検査 構造化プログラミング プログラムの正当性 抽象データ型 実   装 構造的帰納法 並行プログラミング オブジェクト指向プログラミング テ ス  ト プログラミング作法

13 演習問題 1 ソフトウェア工学で使う「プロダクト」および「プロセス」という言葉の意味について,簡単に説明しなさい。
ソフトウェアの開発工程の概要を述べ,その主要な問題点を簡単に述べなさい. ソフトウェアの不具合が社会的問題になった事例を調べて概略を述べなさい. 社会やビジネスの環境の変化に適応して進化しているソフトウェアの実例を示し,それがなぜ進化する必要があるのか簡単に説明しなさい.


Download ppt "INTRODUCTION TO SOFTWARE ENGINEERING"

Similar presentations


Ads by Google