Date:  Wed, 21 Jul 2004 12:31:38 +0900
Subject:  【オブジェクト倶楽部:2004-26 号】

       ┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
       ┃                         ■┃
      ●┃● ● オ ブ ジ ェ ク ト 倶 楽 部   ■ ┃
       ┃                       ■  ┃
       ┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
                          No.54 2004/07/21

■ I N D E X
┃
┣【PM】プロジェクトマネジメント入門 [15]
┣【プログラミング】C#で学ぼうオブジェクト指向入門 [8]
┗【アンケート】気になるシステム業界 ホントのところ

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━1 s t ■━
■
┗【PM】プロジェクトマネジメント入門 [15]

「プロジェクトマネジメント入門」です。今回のお話も、前回に引き続き
「リスクマネジメント」です。

前回から時間が経ってしまっているので、簡単なおさらいです。お話の中心は
リスク分析です。このリスク分析段階では、「リスク事象の洗い出し」、「リ
スク事象の原因と評価」、最後に「リスク事象の対策」の3段階あります。
前回は、この「リスク事象の洗い出し」についてでした。今回は、「リスク事
象の原因と評価」についてです。

でも、本題に入る前に少々余談です。先日、ご用達の本屋がリニューアルオー
プンしたので、散歩を兼ねて行ってきました。今までに読んだことのないプロ
ジェクトマネジメント関係の本があったので、早速購入しました。東洋経済新
報社から2003年9月に出版されている「図解プロジェクトマネジメント」
という本でIBMビジネスコンサルティングサービスの方が書いています。恥
ずかしながら、まだ1章しか読んでいませんが、その中に「プロジェクトは小
さく、短いサイクルで」でとの記述があり、「Aligned: 企業が進むべき方向
性や戦略との整合をとり、Agile: 変化に柔軟かつ迅速に対応し、
Accountable: ステークホルダーの期待以上の成果を収める、高い評価を受け
るプロジェクトマネジメントを実施していきましょう」とありました。この記
述から当たり前だと思いますが、プロジェクトマネジメントの考え方も進歩し
ているとの驚きを覚えました。この背景には、ソフトウェアのアジャイル開発
と同じことがあるようです。今までソフトウェア開発のマネジメントがうまく
行っていないのは、ソフトウェアを作る「プロダクトプロセス」とそれをコン
トロールする「マネジメントプロセス」がうまく連携していないのが一因と筆
者は思っています。アジャイル開発を含めてソフトウェア開発のマネジメント
が、プロジェクトマネジメントの考え方の進歩により効果的になるのではない
かと思います。

余談が長くなりました。本題に入ります。
リスク事象のリストから、それぞれに対して原因と評価をします。重要なこと
はリスク事象に対する評価です。この評価には「発生確率」とそれが発生する
ことでの「影響と及ぼす範囲」です。この評価を行うことで、発生確率が高く、
影響も広範囲に大きな影響を及ぼす場合は要注意となりますし、事前に予防を
しておく必要があるでしょう。逆に発生確率が低く、影響も限定的で小さな影
響の場合は注意度も低くなります。

これらの評価は、「リスク分析マトリクス」を作り、相対的に判断すべきでし
ょう。このマトリクスは、縦軸に発生確率(上向きが発生確率高い)、横軸に
影響(右向きが影響大きい)を取ります。
発生確率:低い・影響度:小さいの場合、リスク対応は不要、
発生確率:高い・影響度:小さいの場合、対策は適宜判断、
発生確率:低い・影響度:大きいの場合、発生時に対策、
発生確率:高い・影響度:大きいの場合、予め予防対策を講じ、発生時に対応
するなどのプロジェクトごとの指針を作成し、評価に対する対応を決めておく
必要があるでしょう。

次回は、「リスク事象の対策」についてです。(事務局長) 
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/cgi-bin/question.cgi?F001+14+0
普通:
http://www.ObjectClub.jp/cgi-bin/question.cgi?F001+14+1
イマイチ:
http://www.ObjectClub.jp/cgi-bin/question.cgi?F001+14+2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━2 n d ■━
■
┗【プログラミング】C#で学ぼうオブジェクト指向入門 [8]
 
■はじめに
この記事は、初級開発者である私がみなさんと一緒にC#を使ってオブジェクト
指向(OO)の基礎を気軽に勉強していこう、という内容です。

■目標
今回は少し、視点を変えて、
『C#の「プロパティ」を理解』
をテーマに学習していきます。

■内容
まずは、プロパティを使ったC#のコードを書いてみましょう。

======================================================================
// project created on 2004/07/12 at 8:36
using System;

class MainClass
{
    public static void Main(string[] args)
    {
        // ★1
        IUserInfo user = new UserInfo();
        user.Name = "じゅげむじゅげむ";
        user.Name += "ごこうのすりきれ";
        user.Age = 19;
        user.Age++;
        Console.WriteLine("name:{0} \t age:{1}", 
                          user.Name, user.Age);
    }
}
// ★2-1
interface IUserInfo {
    string Name {
        get;
        set;
    }
    int Age {
        get;
        set;
    }
}
// ★2-2
class UserInfo : IUserInfo{
    private string name;
    private int age;
    // ★3
    public string Name {
        get {
            return name == null ? "名無し": name;
        }
        set {
            name = value;
        }
    }
    public int Age {
        get {
            return age;
        }
        set {
            age = value;
        }
    }
}
======================================================================
●
Javaではよくアクセサメソッド(get+プロパティ名、set+プロパティ名)を書
きますが、C#流だと、このアクセサメソッドの代わりに「プロパティ」を使う
ようです。★1をご覧ください。

        user.Name = "じゅげむじゅげむ";
        user.Name += "ごこうのすりきれ";

Java出身の私は、上のコードを初めて見たとき、とpublicの属性のNameにダイ
レクトにアクセスする、つまり情報隠蔽を破っているコードと思い不安を感じ
ました。でも大丈夫。C#のプロパティを使っているため、その心配は不要です。
ちゃんと情報隠蔽を守っています。上記コードの属性nameはprivateになってお
りプロパティを通じて間接的にnameへアクセスするようになっています。★1の
プロパティをJavaのアクセサメソッド風に記述し直すなら

        user.SetName("じゅげむじゅげむ");
        user.SetName(user.GetName() + "ごこうのすりきれ");

になります。ここで2つを見比べると、前のC#のプロパティを使った方がコー
ドがすっきりしていると思いません?プロパティのうれしい点の1つにこの可
読性の向上にあります。

筆者は最近、JavaのWeb系のフレームワークの利用でをあれこれ格闘(命名規則
が・・、リフレクションが・・)していましたが、このプロパティがあればも
うちょっとわかりやすくなるだろうなと思いました。

★3にプロパティの実装が記述さています。

        get {
            return name == null ? "名無し": name;
        }
        set {
            name = value;
        }

getで名前を返し、setで名前をセットしています。set内のvalueは予約語で
valueの値をnameに代入しています。

また、プロパティは★2−1、2−1のように
interface IUserInfo {
    string Name {
        get;
        set;
    }
    int Age {
        get;
        set;
    }
}
class UserInfo : IUserInfo{
・・・

プロパティをインタフェースでまとめ、インタフェースの実装で記述すること
もできます。

■まとめ
「プロパティ」について学習しました。「プロパティ」はJava流記述のアクセ
サメソッドと同様にカプセル化と情報隠蔽を言語の機能で提供しています。プ
ロパティは「新しい概念を具現化したとってもすごい機能」ではありませんが、
可読性が向上するなど、なかなか気の利いた機能だと思います。

C#でコードを書く際は、ばしばしプロパティを使っちゃいましょう。

ではでは。(IENAGA)
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/cgi-bin/question.cgi?E003+7+0
普通:
http://www.ObjectClub.jp/cgi-bin/question.cgi?E003+7+1
イマイチ:
http://www.ObjectClub.jp/cgi-bin/question.cgi?E003+7+2
 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━3 r d ■━
■
┗【アンケート】気になるシステム業界 ホントのところ

今週は「一日あたりの最高労働時間は何時間ですか?」のホントのところ。納
涼イベントのアイス・ブレーク(武勇伝指数)にも登場した項目です。メルマ
ガ読者のみなさんにも聞いてみましょう。今までで一番長く働いた日、その日
のうちに一体何時間働きましたか?

  24時間です。。
     http://www.ObjectClub.jp/cgi-bin/question.cgi?Z001+19+0
  約23〜20時間です。
     http://www.ObjectClub.jp/cgi-bin/question.cgi?Z001+19+1
  約19〜16時間です。
     http://www.ObjectClub.jp/cgi-bin/question.cgi?Z001+19+2
  約15〜12時間です。
     http://www.ObjectClub.jp/cgi-bin/question.cgi?Z001+19+3
  約11〜8時間です。
     http://www.ObjectClub.jp/cgi-bin/question.cgi?Z001+19+4
  8時間以下です。
     http://www.ObjectClub.jp/cgi-bin/question.cgi?Z001+19+5
  それは秘密です。
     http://www.ObjectClub.jp/cgi-bin/question.cgi?Z001+19+6
  ちょっと語らせて!
     editors@ObjectClub.jp まで詳細を!!

アンケート結果はオブジェクト倶楽部サイト上にて公開します。お楽しみに。
なお、前号「ディスプレイの光線を浴びつつけると女の子が生まれやすくなる
?」の結果は公開中。是非ご覧下さい。
⇒http://www.ObjectClub.jp/special/kininaru
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗編集後記

こんにちは、編集人です。久しぶりの三連休でしたが、いかがおすごしでした
か?私のところ(福井)では、例の大雨により避難勧告を受け、二階へ荷物を
運んだり、近所の川(足羽川)の濁流を覗きこんだりして過ごしていました。
意外性あふれる休日でしたが(涙)、自分の場合、対岸で堤防が決壊したため
に結果的には何ごともなく、被災された方々には申し訳ないような気持ちがす
る次第でした。何度もヘリコプターの音が上空を通り過ぎていく中では、新潟
の被災のニュースも以前とは違って聞こえ、楽天的な話題が放映されると違和
感が感じられるような休日でした。
   
今週の強引な一言
*** 必要なのは、誰が正しいかではなく、何が正しいかということである。
(アルダス・ハックスリー/小説家)***
議論をしていると、相手の主張ではなく、相手自身を攻撃していまいがちです。
まずは、お互いに相手の話をしっかり聞き、お互いの目的を確認してから共通
点、相違点を探せば何が正しいかは見えてくるのではないでしょうか。(さわ)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
● ご意見、ご感想は         ⇒このメールに返信ください
〇 配信中止、アドレス変更は ⇒http://www.objectclub.jp/community/object_ml/help/
〇 免責事項、過去の記事は   ⇒http://www.ObjectClub.jp/community/object_ml/
■ 発行:オブジェクト倶楽部 ⇒http://www.ObjectClub.jp/
■ 編集代表:平鍋  健児
Copyright (c)2003-2004 オブジェクト倶楽部. All Rights Reserved.
powered by Eiwa System Management, Inc.