ソフトウェアデザイン工学 EPMの適用結果報告

Slides:



Advertisements
Similar presentations
マイクロソフトがホスティングする拡張性に優れたサービス ベース アプリケーション プラットフォーム.
Advertisements

1 EASE プロジェクトにおける EPM ( Empirical Project Monitor) を用いたプロジェクト管理デモ 奈良先端科学技術大学院大学 産学官連携研究員 松村 知子 2005 年 9 月 30 日 JISA 経営者セミナー.
だい六か – クリスマスとお正月 ぶんぽう. て form review ► Group 1 Verbs ► Have two or more ひらがな in the verb stem AND ► The final sound of the verb stem is from the い row.
Essay writing rules for Japanese!!. * First ・ There are two directions you can write. ・よこがき / 横書き (same as we write English) ・たてがき / 縦書き (from right to.
VE 01 え form What is え form? え? You can do that many things with え form?
Haiku. What is Haiku? A haiku is a short poem, invented by the Japanese poet, Basho. There are only three lines long. まつおばしょう ( )
C# Programming .NET / C# Group 検索ワードでみる C#の困り事とその対策
読んだもの P0254R0: Integrating std::string_view and std::string およびその関連スレッド 稲葉 一浩.
ここに若林の絵が入る Ⅰ 従来型サービスの課題 Ⅴ Solaris基盤ヘルスチェックサービス ●従来型サービス Ⅱ 新サービスの概要
英語勉強会.
 辞書系(じしょけい).
Ex7. Search for Vacuum Problem
日本語... ジェパディー! This is a template for you to use in your classroom.
Recognise, ask about and talk about purpose
Ex8. Search for Vacuum Problem(2)
Windows Summit /13/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
What did you do, mate? Plain-Past
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
データはお客様に属し、かつ、コントロール可能
日本人の英語文章の中で「ENJOY」はどういうふうに使われているのか
Noun の 間(に) + Adjective Verb てform + いる間(に) during/while.
SP0 check.
[コース: A1] .NET Framework の基礎
Windows Summit /6/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Windows Summit /8/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
にほんご JPN101 Sep. 23, 2009 (Wednesday).
Chapter 4 Quiz #2 Verbs Particles を、に、で
The Sacred Deer of 奈良(なら)
CRLA Project Assisting the Project of
“You Should Go To Kyoto”
VTA 02 What do you do on a weekend? しゅうまつ、何をしますか。
Microsoft Partner Network Office 365 社内使用ライセンスの有効化
ソースコードの変更履歴における メトリクス値の変化を用いた ソフトウェアの特性分析
New accessory hardware Global Platform Division
同一メソッド内に含まれる ブロック間の結合度を用いた メソッド分割手法の提案
Causative Verbs Extensively borrowed from Rubin, J “Gone Fishin’”, Power Japanese (1992: Kodansha:Tokyo) Created by K McMahon.
Windows Azure 通知ハブ.
Traits 形質.
変数のデータフローを考慮した API利用コード例の検索 井上研究室 竹之内 啓太.
ソフトウェアメトリクスと メソッド内の構造を用いた リファクタリング支援手法の提案
Term paper, Report (1st, first)
ソフトウェア制作論 平成30年10月3日.
MIX 09 2/23/2019 1:22 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
WELCOME TO THE WORLD OF DRAGON BALL
Where is Wumpus Propositional logic (cont…) Reasoning where is wumpus
Windows Summit /24/2019 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
~ 第5回 認証のためのプロキシー Web Application Proxy
コードクローンに対する一貫性のない変更に起因する欠陥の検出
研究会 「LHCが切り拓く新しい素粒子物理学」
Craig Rowland Senior Program Manager Microsoft Corporation
プログラムの制御構造 配列・繰り返し.
Ex7. Search for Vacuum Problem
Term paper, report (2nd, final)
ソフトウェア保守のための コードクローン情報検索ツール
Javaバーチャルマシンを利用した 動的依存関係解析手法の提案
Windows Summit 2010 © 2010 Microsoft Corporation.All rights reserved.Microsoft、Windows、Windows Vista およびその他の製品名は、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。
ー生命倫理の授業を通して生徒の意識に何が生じたかー
Please don’t… …so as not to…
Windows Summit /22/2019 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
第八課文法二 Chapter 8 Grammar 2
せつぞくし 接続詞 Conjunctions.
Term paper, report (2nd, final)
識別子の読解を目的とした名詞辞書の作成方法の一試案
Indirect Speech 間接話法 Kaho.I.
ETロボコン2009 コード品質評価プロジェクト ~高品質プログラミングのススメ~ 九州地区 特別プロジェクト 2009/6/13
情報処理Ⅱ 第3回 2004年10月19日(火).
日本語 JPN102 Feb. 17, 2010 (Wednesday).
Windows Azure メディアサービス
Presentation transcript:

ソフトウェアデザイン工学 EPMの適用結果報告 2007年2月2日 (株)日立システムアンドサービス 十九川博幸

Group1(規模推移) 初期登録12/8 テストコードの削除

Group2(規模推移) 初期登録12/8

Group3(規模推移) 初期登録12/8

Group4(規模推移) 初期登録12/8 テストコードの削除

Group5(規模推移) 初期登録12/8

Group1(CVSバージョン)

Group2(CVSバージョン)

Group3(CVSバージョン)

Group4(CVSバージョン)

Group5(CVSバージョン)

EPMのモニタ結果 規模推移 CVSバージョン情報(バージョン毎のCVS操作回数)  ・テストコードの削除などで一時的に減少しているグループがあるが、特に異常な状態は見受けられなかった  ・急激なコード増の時期があるが、CVS詳細情報と見比べても、特に異常な状態は見受けられなかった (バグ情報と比較できれば、効果的な評価ができると思われる) CVSバージョン情報(バージョン毎のCVS操作回数)  ・バージョン1.1(初期登録のまま修正なし)が110件弱存在する  ・Group2と3は、バージョン1.2(1回だけ修正)の比率が高く、全体の修正回数が少ない(作り込み品質が良かったか、バグをたたき出せていない) (バグ情報と比較できれば、効果的な評価ができると思われる)

ソースコードの静的解析 JAVAのコーディング規約違反などの好ましくないコーディングを、ツールを使ってチェックすることができる ここでいう「好ましくないコード」は、バグでは無く、勘違いやミスを誘発しやすいコードを指す 今回は、PMDというJAVAソースコード解析ツールを使用して、 2007/01/29 11:00時点のソースコード(StockStateDAO)に対して静的解析を行った 各班の解析結果を報告します。 PMDの詳細は、下記URLを参照ください http://pmd.sourceforge.net/ http://www.ibm.com/jp/developerworks/java/050121/j_j-pmd.html

雛型の指摘(1) ・Private field 'conn' could be made final; it is only initialized in the declaration or constructor. 該当のコーディング private Connection conn; 重要度:軽微 原因:コネクション用変数のfinal指定忘れ

雛型の指摘(2) ・Avoid variables with short names like rs 該当のコーディング ResultSet rs = null; 重要度:軽微 原因:命名規則の問題(変数名が短すぎる)

Group1の指摘 ・Avoid empty if statements 該当のコーディング if(count == 0){ } 重要度:実装途中の可能性あり 原因:空のIfステートメントあり

Group2の指摘 特になし

Group3の指摘(1) ・Avoid using if statements without curly braces 該当のコーディング if(rs != null) rs.close(); 重要度:軽微 原因:If文の{}忘れ

Group3の指摘(2) ・Avoid variables with short names like sd 該当のコーディング StockData sd = null; 重要度:軽微 原因:命名規則の問題(変数名が短すぎる)

Group4の指摘 ・Ensure that resources like this ResultSet object are closed after use 該当のコーディング ResultSet rs = null; finallyブロックが無い 重要度:重大 原因:リソースのclose漏れ(finallyブロックでcloseできていない)

Group5の指摘(1) ・Avoid unused imports such as 'org.apache.xalan.lib.sql.SQLErrorDocument' 該当のコーディング import org.apache.xalan.lib.sql.SQLErrorDocument; 重要度:実装途中の可能性あり 原因:使用されていないimport文

Group5の指摘(2) ・Avoid empty catch blocks 該当のコーディング catch (SQLException e) { // if (LOGGER.isErrorEnabled()) { // LOGGER.error(e.getMessage(), e); // } } 重要度:実装途中の可能性あり 原因:catch文のblockが空

ソースコードの静的解析2 この他、StockManagerとStockDAOに対して静的解析を実施した結果、次のような指摘が摘出された This call to Collection.toArray() may be optimizable Avoid unused local variables such as 'sn'. Avoid using while statements without curly braces Avoid using if...else statements without curly braces Avoid using if statements without curly braces