ファンクションポイント法もどき工数見積もり方法

★新規案件(コーディング〜テスト)

  • 画面数 * 4時間
  • DB検索処理 * 8時間
  • DB登録処理 * 8時間
  • DB更新処理 * 8時間
  • DB削除処理 * 4時間
  • 他システムAPI * 8時間
  • 各機能 * 1〜8時間

※DB検索処理は複数のテーブルjoinするようなものを含む
※各機能とは、一覧画面のページング機能とかソート機能とかタブ機能とか。あとその画面特有の機能とか。

★修正案件
登録案件の工数の半分ぐらいをメドに考える。

★スケジュール作成時の注意事項

  • 社内会議などのイベントを考慮する
  • マイルストーンを設ける。
  • 他メンバーを管理監督するときは、自分の工数は1〜2時間ぐらいと考えておこう。

テスト

自分用メモ(domー>documentElement

いつのまにかバージョンが5になった。しかも。phpフレンドリーでなくなった(自分でXMLを作成しないとだめ)

~/charts$ cat sample2.html
<HTML>
<script language="javascript">AC_FL_RunContent = 0;</script>
<script language="javascript"> DetectFlashVer = 0; </script>
<script src="AC_RunActiveContent.js" language="javascript"></script>
<script language="JavaScript" type="text/javascript">
<!--
var requiredMajorVersion = 10;
var requiredMinorVersion = 0;
var requiredRevision = 45;
-->
</script>
<BODY bgcolor="#FFFFFF">


<script language="JavaScript" type="text/javascript">
<!--
if (AC_FL_RunContent == 0 || DetectFlashVer == 0) {
        alert("This page requires AC_RunActiveContent.js.");
} else {
        var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
        if(hasRightVersion) {
                AC_FL_RunContent(
                        'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,45,2',
                        'width', '400',
                        'height', '250',
                        'scale', 'noscale',
                        'salign', 'TL',
                        'bgcolor', '#777788',
                        'wmode', 'opaque',
                        'movie', 'charts',
                        'src', 'charts',
                        'FlashVars', 'library_path=charts_library&xml_source=sample2.php',
                        'id', 'my_chart',
                        'name', 'my_chart',
                        'menu', 'true',
                        'allowFullScreen', 'true',
                        'allowScriptAccess','sameDomain',
                        'quality', 'high',
                        'align', 'middle',
                        'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
                        'play', 'true',
                        'devicefont', 'false'
                        );
        } else {
                var alternateContent = 'This content requires the Adobe Flash Player. '
                + '<u><a href=http://www.macromedia.com/go/getflash/>Get Flash</a></u>.';
                document.write(alternateContent);
        }
}
// -->
</script>
<noscript>
        <P>This content requires JavaScript.</P>
</noscript>

</BODY>
</HTML>

※ sample2.phpを指定しているところに注目

sample2.htmlからよびだしているsample2.phpは以下のとおり

~/charts$ cat sample2.php
<?php
$dom = new DOMDocument('1.0');
$chart = $dom->appendChild($dom->createElement('chart'));
$chart_data = $chart->appendChild($dom->createElement('chart_data'));

$row = $chart_data->appendChild($dom->createElement('row'));
$row->appendChild($dom->createElement('null'));
$hoge = array(2006, 2007, 2008);
foreach ($hoge as $year) {
        $string = $row->appendChild($dom->createElement('string'));
        $string->appendChild($dom->createTextNode($year));
}

$row = $chart_data->appendChild($dom->createElement('row'));
$string = $row->appendChild($dom->createElement('string'));
$foo = array(20,10,30);
foreach ($foo as $value) {
        $number = $row->appendChild($dom->createElement('number'));
        $number->appendChild($dom->createTextNode($value));
        $bevel = $dom->createAttribute('bevel');
        $bevel->value = "data";
        $number->appendChild($bevel);
}

$chart_type = $chart->appendChild($dom->createElement('chart_type'));
$chart_type->appendChild($dom->createTextNode('pie'));


$dom->formatOutput = true;
echo $dom->saveXML();

?>

特定の期間にコミットされたファイル一覧を取得する方法

$ cvs log -d "2011-11-18>2011-11-17 JST" -S -R 2>&1 | grep -v "^cvs log"
/usr/home/user1/cvs_repository/myproject/dao-generator/hoge.dat,v

終了日>開始日という記法らしい。
ちなみに、11月17日以降という指定なら以下のようにする。

$ cvs log -d ">2011-11-17 JST" -S -R  2>&1 | grep -v "^cvs log"
/usr/home/user1/cvs_repository/myproject/dao-generator/hoge.dat,v