ソフトウェア工学 第五回 知能情報学部 新田直也.

Slides:



Advertisements
Similar presentations
ソフトウェア工学 知能情報学部 新田直也. リファクタリング  リファクタリング( refactoring ): 「プログラムの外的振る舞いを変えることなく,その内 部構造を改善すること」  もともと Smalltalk のコミュニティで使われていた.  M. ファウラーの 1999 年の著書.
Advertisements

CMU2005 海外エンジニアリングワークショップ参加報告書 1 「真の要求を見極めろ!」: teamB 要求定義をどう捉えるか ● 要求定義とは何か? 製品には、顧客の望むことを正しく反映させる必要がある。 そのために必要なものが要求仕様である。 すなわち、要求仕様とは、顧客と製品を結ぶものであり、これを作ることが要求定義である。
ソフトウェア工学 知能情報学部 新田直也. 講義概要  私の研究室: 13 号館 2 階 (13-206)  講義資料について :  参考図書 : 玉井哲雄 : 「ソフトウェア工学の基礎」, 岩波書店.
平成26年度「浪江町 タブレットを利用したきずな再生・強化事業(システム設計・開発)」 ( 様式6 ) 提案書雛型 (提案者名を記載) ○○○○ 受付番号 平成 26 年度「浪江町 タブレットを利用したきずな再生・強化事業(システム設計・開 発)」 企画提案書.
1 EASE プロジェクトにおける EPM ( Empirical Project Monitor) を用いたプロジェクト管理デモ 奈良先端科学技術大学院大学 産学官連携研究員 松村 知子 2005 年 9 月 30 日 JISA 経営者セミナー.
2015/03/12 事故事例分析に基づく 情報システム調達のリスク対策 静岡大学 齋田芽久美 平林元明 湯浦克彦.
ソフトウェア工学 第二回 知能情報学部 新田直也. 本日のお話  ソフトウェアの開発の流れ(開発プロセス ( process ) ,開発工程,開発ライフサイクル ( life cycle ) )について.  作業の段取り,計画は非常に重要.  引越し作業を例に考えてみよう. 段取りが悪いと …
背景 ソフトウェアの大規模化・複雑化 生産性と品質の向上 ↓ オブジェクト指向分析設計の適用 開発ツールの投入.
東京工科大学 コンピュータサイエンス 亀田弘之
表計算ソフトで動作するNEMUROの開発
神戸大学 大学院理学研究科 地球惑星科学専攻 博士後期課程 D2 納多 哲史
機能実現期間の測定による プログラマ能力の実験的評価
リアルタイムシステムに 上流設計ツールは有効か?
OJT研修 「テスト実施、テスト設計の技術習得」 日時: 8月22日(月)  場所: 本社5階.
PacSec Nov 6, ISMSおよびその重要性 Richard Keirstead CISSP, BS7799 主任監査員
ソフトウェア見積り勉強会 第5回 第4章 見積り誤差はなぜ起きる? 永和システムマネジメント 近藤 修平.
計測 と 見積り ~ ソフトウェア開発のよりよい見積りのために ~ biac
3-1システム戦略 3-1-3ソリューションビジネス (Point) ・代表的なサービスを通じ、ソリューションの考え方を理解
【1−1.開発計画 – 設計・開発計画】 システム開発計画にはシステム開発を効率的、効果的に実行する根拠(人員と経験、開発手順、開発・導入するシステム・アプリケーション・サービス等)を記述すること。 システム開発の開始から終了までの全体スケジュールを記載すること。 アプリケーション機能配置、ソフトウェア、インフラ構成、ネットワーク構成について概要を示すこと。
データモデリング トップダウンモデルと ボトムアップモデルの融合
ビジネスパターンに基づく クラウドシステムのサービスレベル設計
市販のソフトウェアが これほど脆弱な理由 (それをどのように解決するか).
ソフトウェア工学 知能情報学部 新田直也.
ソースコード品質概論 なぜソースの品質を追求するのか
パッケージソフトウェア利用コンピュータシステム構築委託契約書 パッケージソフトウェア、OS、第三者ソフトウェアの使用許諾契約
要員管理 要員の質、量、配置、作業状況を管理する 一般的な注意点を下記に示す (1)組織 ・組織構成を明快にする -指示命令系統
開発流れ.
要約 きりん、まぐろ、PB.
ソフトウェア工学 第四回 知能情報学部 新田直也.
資格取得スキルⅠb (ITパスポート試験対策講座)
概要 Boxed Economy Simulation Platform(BESP)とその基本構造 BESPの設計・実装におけるポイント!
組込みシステムの外部環境分析のためのUMLプロファイル
XP Extreme Programming.
ソフトウェアを取り巻く環境の変化がメトリクスに及ぼす影響について
Satoimo 最終発表 PM 吉田浩二 篠崎友識 野上大輔 姉崎祐樹.
実行時情報に基づく OSカーネルのコンフィグ最小化
技術参照モデルとシステム要件定義 に関する学習システム
社会シミュレーションのための モデル作成環境
~新たなソフトウェア開発の手法~ 発表 土屋俊介
ミドルウェア”TSUNAGI”を 用いたWEBアプリケーションの構築
ソフトウェア設計検証 研究室の紹介 知能情報学部 准教授 新田直也.
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
付属書Ⅰ.7 予備危険源分析 (PHA).
計測 と 見積り ~ ソフトウェア開発のよりよい見積りのために ~ biac
オブジェクト指向言語論 第十四回 知能情報学部 新田直也.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第15回放送授業.
その他 手法の組合せ.
ビジネス プロジェクトの計画 発表者名 | 会社名.
UMLの概要とオブジェクト指向の基本概念
コーディングパターンの あいまい検索の提案と実装
障 害 処 理 票 レ トラブル分類 1 設計バグ 2 製造バグ 3 改造バグ 4 DB、OSバグ 5 環境、HWバグ 6 手順バグ
★C++/オブジェクト指向実践企画★ Othelloゲーム作成
第10章 機械設計の高度化 ★本講義の内容だけでは機械設計はできない? ★教科書や参考書の設計手順で設計ができるのか?
INTRODUCTION TO SOFTWARE ENGINEERING
プロジェクト演習 知能情報学部 新田直也.
パッケージソフトウェア利用コンピュータシステム構築委託契約書 パッケージソフトウェア、OS、第三者ソフトウェアの使用許諾契約
ソフトウェア工学 知能情報学部 新田直也.
企業システム戦略を成功させる! ドキュメント・レビュー実践法 企業システム戦略家 青島 弘幸.
保守請負時を対象とした 労力見積のためのメトリクスの提案
東京工科大学 コンピュータサイエンス学部 亀田弘之
メソッドの同時更新履歴を用いたクラスの機能別分類法
開発作業の形式化に基づく プロセス評価 松下誠 大阪大学.
システムとソフトウェア評価: 標準化の目的と必要性
ソフトウェア工学 知能情報学部 新田直也.
株式会社 エーアイネット・テクノロジ 川村廉平
オブジェクト指向メトリクスを用いた 開発支援に関する研究 --- VC++とMFCを用いた開発を対象として ---
アジャイル開発プロセス 森口朋広.
ソフトウェア工学 理工学部 情報システム工学科 新田直也.
Presentation transcript:

ソフトウェア工学 第五回 知能情報学部 新田直也

本日のお話 古典的なソフトウェア工学の話の残り物. 開発工程の話: さまざまな見積もり,評価の話: テスト工程 保守工程 たとえば工数の見積もりが正確にできれば,スケジュールの遅延も人員不足もなくなるので,ソフトウェア危機も解消される?

ウォーターフォールモデル(復習) 要求分析(要求定義)と設計は開発プロセスにおいて上流に位置する. 要求定義においても,設計においても,作業の結果は文書(ドキュメント)に残される. 要求定義の結果を記した文書を要求定義書,設計の結果を記した文書を設計書という. システム 要求定義 要求定義 上流工程 検証 ソフトウェア 要求定義 検証 基本設計 設計 検証 詳細設計 検証 コーディング 検証 テスト 検証 下流工程 運用保守 検証

障害と故障 ひとことでバグというが… エラー: 人間の(アクティビティにおける)間違い. エラー: 人間の(アクティビティにおける)間違い. 障害: エラーによってドキュメントやプロダクトに混入した間違い. 故障: 障害によって引き起こされる,要求に合わないシステムの動作. 障害が必ずしも故障を引き起こすとは限らないことに注意.

不具合(障害)の原因 どの工程でも障害が混入する可能性がある. 特に上流工程での障害は深刻.大きな手戻りを発生する危険性. プログラムが間違っていた. 設計が間違っていた. 要求仕様が間違っていた. 不具合の修正によって新たな障害が混入した. バージョンアップで障害が新たな障害が混入した. 特に上流工程での障害は深刻.大きな手戻りを発生する危険性. 要求仕様が間違っていたので仕様から作り直し. 実装不可能だったので仕様から作り直し. 実装不可能だったので設計から作り直し.

不具合修正の手順 不具合は以下のような手順で修正される. 障害識別: どのような障害であるか,障害に起因する故障であるかを特定するプロセス. 障害訂正,除去: 障害を除去できるようにシステムを変更するプロセス.

テストの工程 テストは部分から全体へ…(開発と逆の流れ) 単体テスト: 部品(モジュール単位でのテスト) ブラックボックステスト ホワイトボックステスト 結合テスト: 複数のモジュールを組み合わせたテスト 機能テスト: システムが機能的要件を満たしているか 性能テスト: システムが非機能的要件を満たしているか 受け入れテスト: 顧客を交えたテスト 設置テスト: システムを利用環境にインストールしてのテスト

保守(maintenance)とは 出荷した製品の機能拡張,不具合修正,バックログ(backlog, 開発積み残し)の処理を行う工程. 保守作業は開発作業より難しい? ドキュメントが整備されているとは限らない. 開発要員が抜けてしまっている場合もある. 暗黙知が失われている.

保守の種類 修正保守: 障害に起因した問題への対応作業.多くの場合,故障が発見されたことにより発生する. 修正保守: 障害に起因した問題への対応作業.多くの場合,故障が発見されたことにより発生する. 適応保守: 他の要素の変更に伴う変更作業.たとえば,OSのバージョンアップへの対応など. 改善保守: システムのある側面(プログラムの可読性,機能の拡張性など)を向上させるために行う変更作業. 予防保守: 故障を未然に防ぐために行う変更作業.

レガシーシステム(legacy system) 古くから利用している既存のシステムのこと.多くの場合,開発者は(退職などで)在籍しておらず,残されているドキュメントも不十分. 2000年問題などに代表されるように現実的には重要な問題. パッチ当て(patch): パッチとは完成したプログラムの部分的な修正のこと.稼働中のシステムは,ダウンさせるわけに行かないため,本質的で大規模な修正を避け不具合の発生箇所を表面的に修正する場合が多い.これをパッチ当てという.レガシーシステムはパッチ当ての繰り返しによって保守性が大きく損なわれている場合が多い.

見積もりと評価 工数の見積もり: 通常,工数見積もりはエキスパートの経験的な判断に委ねられる. 工数の見積もりは,資源の割り振りとプロジェクトの実行可能性に大きく影響するため,開発プロセスのできるだけ早い段階で行う必要がある. 一方,早期に正確な見積もりを出すことは不確定要素が多く困難である. 通常,工数見積もりはエキスパートの経験的な判断に委ねられる. 見積もりに対して,評価はプロジェクトの終了後に行われる.

見積もりの方法 規模見積もり: 工数見積もり: SLOC / KLOC ソースコードの行数を指す.ほぼ作業量と比例することが知られている.ただし,開発言語によって変わる.また,冗長なプログラムのサイズを大きく評価してしまうという問題もある. ファンクションポイント(function point)法 規模見積もりとして機能の複雑さを測るよう改善した方法. 工数見積もり: COCOMO ソースコードの予想SLOC,エンジニアの能力,要求の信頼性などから工数を見積もる方法.分析,設計工程に使えない,スパイラル型やプロトタイピング型に使えないなどの問題がある.

CMMI プロセス成熟度評価モデル,能力成熟度評価モデル統合. カーネギーメロン大学ソフトウェア工学研究所(CMU-SEI)で開発. アンケートに基づいて開発組織を5段階で評価. レベル1: 初期 レベル2: 反復可能 レベル3: 既定義 レベル4: 管理下 レベル5: 最適化 日本での導入は見送られた.

本日のまとめ テスト工程の内容と位置づけ. 開発時の問題は保守の問題として現れる. 見積もりについては今のところよい方法はない. 本質的に正確な見積もりは不可能? ソフトウェア開発の予期不可能性.