ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

初めてのRubyを読む その35 7.2

2011-10-25 15:59:16 | Ruby
「初めてのRuby」を読むの続き

7章 メソッド
7.2 メソッドの定義

から




■7.2.1 def式
・メソッドを定義するにはdef式を使う
・メソッド内には任意の式を並べることが出来、
 メソッドが呼ばれると実行
   →メソッドの本体
・メソッド内で最後に評価された式の値が戻り値になる




■7.2.2 return
・メソッド内から陽に戻り値を返すにはreturnを用いることが出来る
・戻り値の式は省略可能
  →省略してreturnだけ書くと、nilが返る
・returnは必須でない
  →returnに出会わずメソッド末尾に到達すると
   最後の式の値が戻り値

・多値の返却
 returnの後に、カンマ区切りで複数の式を書くことが出来る
  →配列が返る
 呼び出し側では、多重代入の要領で多値として受け取る
 多値を返す場合は、return必要

・値を返さないメソッドは存在しない
  →返り値に使い道がない場合はnilを返す




■7.2.3 デフォルト値
・引数にデフォルト値を指定できる
 →呼び出し時に指定しないとデフォルト値適用

・デフォルト値を持っている仮引数のことを省略可能な引数という
 →デフォルト値が定義されていない引数を省略するとエラー
 →Ruby1.8においては、省略可能な引数より後に
  省略不能な引数が存在してはならない

・デフォルト値の評価コンテキスト
 デフォルト値には任意の式を指定できる
  →呼び出し時にデフォルト値が必要になると、毎回評価
     →レシーバーのコンテキストで評価される
     →式を都度評価する:メソッド定義時には確定しない




■7.2.4 可変長引数
・呼び出すケースことに引数の数が異なるもの
  →pなど
 仮引数の中のいずれか1つを、可変長引数の受け皿にすることができる
  →*をつける:配列として割り当てられる

・スコープの発生
 メソッド本体のローカル変数スコープは外部と完全に独立している
 →メソッド本体の自由変数が外部環境によって解決されることはない
 →クロージャーとは異なる。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「au版iPhone 4Sで初期不良(?)」という話が書いてあるブログ

2011-10-25 12:08:04 | Weblog
ここのブログ

au版iPhone 4Sで初期不良(?)発生のため交換
http://blog.livedoor.jp/whats_my_scene/archives/51768357.html

の話(以下太字は上記ブログより引用)


 今日、突然、au版iPhone 4Sで3G回線からのネット接続が出来なくなり、結局は端末を交換することになった。

という書き出しで始まり、以下、経緯が書いてある。
まあ、それについては、そちらのブログを見てもらうとして、
結局


au版iPhone 4Sのみで同様のトラブルが発生しており、原因は不明で現在調査中とのこと。同じ症状が出た場合、今のところは端末交換でしか対応できない由。


とのことらしい。
早く原因を解明しないと、お客さんに逃げられてしまうんではないだろうか?au

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PMBOKのお勉強 その37 - 7.2

2011-10-24 23:48:39 | そのほか
(今日は理由あって、PMBOKを2つやります。
 あしたRubyを2つやります)

今、

プロジェクトマネジメント 知識体系ガイド(PMBOKガイド)第4版
http://www.amazon.co.jp/dp/1933890681

のお勉強をしています。

前回は7.1章だったので、今回は7.2章です




■予算設定


<<インプット>>

・アクティビティ・コスト見積もり
  7.1より

・見積もりの根拠
  7.1より

・スコープベースライン
  ・スコープ記述書

  ・ワークブレークダウンストラクチャ
    5.3より

  ・WBS辞書
    5.3より

・プロジェクトスケジュール
    6.5より

・資源カレンダー

・契約

・組織のプロセス資産


<<ツールと技法>>
・コスト集約

・呼び設定分析

・専門家の判断
  専門知識の情報源は以下のようなものがあるが、
  これに限定されない
    ・母体組織内のほかの部門
    ・コンサルタント
    ・顧客を含むステークホルダー
    ・専門家の協会や技術関連の団体
    ・業界団体

・過去の関係

・限度額による資金調整


<<アウトプット>>
・コスト・パフォーマンス・ベースライン

・プロジェクト資金要求事項

・プロジェクト文書更新版
  以下のものがあるが、これに限定されない
    ・リスク登録簿
    ・コスト見積もり
    ・プロジェクトスケジュール


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PMBOKのお勉強 その36 - 7.1

2011-10-24 18:04:53 | そのほか
今、

プロジェクトマネジメント 知識体系ガイド(PMBOKガイド)第4版
http://www.amazon.co.jp/dp/1933890681

のお勉強をしています。

前回は6.6章でした。

今回から、

第7章 プロジェクト・コスト・マネジメント

に入ります。今回は、7.1章です




■7.1 コスト見積もり

<<インプット>>

・スコープ・ベースライン
  スコープ記述書
    5.2より
  ワーク・ブレークダウン・ストラクチャー
    5.3、4.3より
  WBS辞書
    5.3より


・プロジェクト・スケジュール
    6.3,6.4より


・人的資源計画書
    9.1より


・リスク登録簿
    11.2より

・組織体の環境要因

・組織のプロセス資産


<<ツールと技法>>

・専門家の判断


・類推見積もり


・係数見積もり


・ボトムアップ見積もり


・三点見積もり
  次の3点の見積もりを行う
    最頻値
    楽観値
    悲観値

・予備設定分析


・品質コスト
  8.1より

・ベンダー入札の分析


<<アウトプット>>

・アクティビティ・コスト見積もり


・見積もりの根拠
  詳細資料としては、以下のものがある
    ・見積もりの根拠を記した文書
    ・すべての前提条件を記した文書
    ・すべての既知の制約条件を記した文書
    ・見積もり範囲の表示
    ・最終見積もりの信頼性レベルの提示


・プロジェクト文書更新版

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「標準ソフトウエア工学教科書」を作ってみたいと思います その15 3.3

2011-10-24 10:38:47 | 土日シリーズ
土日ではなくなってしまいましたが(^^;)

土日シリーズ「標準ソフトウエア工学教科書」を作ってみたいと思います

今回は、外部設計です。




■3.3 外部設計

 前回、要求分析で要求をだしたので、次に、この要求を満たすシステムを設計していきます。
 設計については、ここで、2つに分けて考えます。

  1.ユーザーや外部システム等(ユースケースのアクター)で見える部分。
    →インターフェース、特にユーザーインターフェース(UI)

  2.ユーザーや外部システム等(ユースケースのアクター)で見えない部分

 1は外部に見えるところなので、外部設計、2は、内部部分なので、内部設計となります。
 今回は、このうち、外部設計について行います。

------

 外部設計に関して、一番大きな部分は、
   1.ユーザーとのインターフェースを決める、ユーザーインターフェース
   2.他システムがアクセスするDB、ファイル部分
   3.Webサービス等の場合、通信部分のインターフェース(引数と返り)
   4.2.3の基本となるコード化

 画面メッセージを分ける場合もありますけど、それは、1に含まれると、ここでは考えましょう。
 2に関して、先ほどの説明だと、他に見えるところだけでもいいのでは?と思うかもしれませんが、このテーブルは見えて、あのテーブルは外部に出さないので、設計しないとなると、検証できなくなってくるので、この場合、外に見えるか否かにかかわらず、全体を設計します。

 なお、ユーザーインターフェースとの矛盾をチェックするために、仮に他システムがDB、ファイルにアクセスしないとしても、外部設計でDB、ファイル設計するのが普通だと思います。

 なお、4のコード化設計は行うのですが、1、2をしているときに自動的に出来てしまうので、意識して行うのは、1のUI、2のDB,ファイル定義で、最近のWebサービスにおいて、3を考えるという形です。
 なお、以降面倒なので、DB,ファイル設計と書かずに、DB設計としてしまいます。

--------------

 では、UI,DBをどのように設計していくかですが、まず、前提について、確認してみます。
 前提として、要求仕様では、こんなことをしているのでした。

(1)プロジェクトの目的と、プロジェクトマネージャーは決まっている状態で、

(2)えらい人からえらくない人へ、仕事を分割していく
   →その仕事の範囲をざっくりと図や文にまとめる

(3)最終的に、仕事を受け持つ担当者に行き着く
   担当者のやるべきことを、入力と出力に着目して、記述する
   →機能要求

(4)機能要求以外(非機能要求)を何らかの方法で、えいやときめる(^^;)

(5)機能要求、非機能要求を要求仕様書という形でまとめる


つまり、(3)の段階で、入力と出力は、決まっているはずです。
なので、この入出力を検討します。

(あ)(3)の入出力を、画面、帳票、DBなど、メディアごとに分ける。

(い)画面について
    (い-1)画面全体のルックアンドフィールを決める
       →全体的な画面イメージ
        (背景、大きなレイアウト、ナビゲーション等)

    (いー2)(あ)で抽出した画面を、1画面にするか、複数のものを
         まとめるかなど考慮して、画面割りをきめる。

    (い-3)画面をどのように遷移させていくか、画面遷移をきめる
           →追加する画面が出てくるかも

    (い-4)各画面の画面レイアウトを決める

    (い-5)い-3、い-4をまとめて、画面定義書とする
        つまり、画面定義書は、画面遷移図と画面レイアウトからなる

    (い-6)お客さんにチェックしてもらって、承認を得る


(う)DBについて
    (う-1)どのようなテーブルがいるか決める
       →正規化したりして

    (う-2)テーブルの項目などを決める

    (うー3)テーブルの妥当性を確認する
        ・入力したデータで、必要なものは保存されているか
        ・容量などの見積もりで、無茶はないか?

 帳票に関しては(い)の画面を帳票にかえて読み替えてください。ただし帳票遷移はありえないので、そこは無視します(い-3はない)
 Webサービスに関しては、(う)のテーブルをサービスに読み替えてください。
     

(え:成果物)結果として、画面定義書、DB定義書、帳票定義書、サービス定義書ができます。

------------

 Webアプリケーションの場合、画面をHTMLで記述しておくと、レイアウトは画面イメージを貼るだけだし、お客さんと確認するとき、ブラウザを使ってプレゼンできます(=プロトタイプになる)。
 このHTMLで画面をつくるということが、後工程でとても楽になることなのですが、
 それは、後工程の話としておいておきます。

 上記のやり方だと、画面・帳票のレイアウト、遷移に関しては、この外部設計の段階で確定し、DBはおおよそ決まります(内部設計や実装で変更もありえる)。

 ただし、画面設計はそこまでやらないという考えもあります。
 項目をこの段階では確定させない(確定できない)という考え方で、その場合、画面定義書は、内部設計でつくられます。
 が、この方法の場合、お客さんに見せるのがもっと後になり、画面が内部設計中に動くので、内部設計にダイナミックな修正が入ります。これを嫌う場合、ここ(=外部設計)で大まかに確定してしまいます。




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「標準ソフトウエア工学教科書」を作ってみたいと思います その15 3.2

2011-10-23 14:02:27 | 土日シリーズ
シリーズ「標準ソフトウエア工学教科書」を作ってみたいと思います

昨日、アップしそびれた分、「3.2 要求分析」です。




3.2 要求分析

 前回の超上流で、プロジェクトの目的と、プロジェクトマネージャーぐらいは決まった。
 そこで、次の段階としては、一般的に考えると、

(1)プロジェクトマネージャー(部長くらいとしよう)は、
 現場責任者(課長)をあつめて、プロジェクトの目的などを
 話します。

(2)現場責任者(課長)は、大まかに仕事と担当者の関係はわかるので、
 それをもとに、担当者を指名して

(3)担当者が業務内容を話します。
 ここで、業務の入出力が決まります。

(4)さらに、システム化するに際して、ユーザーインターフェース
 や、応答時間など、業務以外の部分を決めます。

(5)それらをまとめます。


 前回の話で、(1)のプロジェクトマネージャーとか目的等は決まりました。
このあと、(2)、(3)の作業をして、現場担当者の作業(入力-処理-出力)
を明確化するのですが、それには、構造化手法と、オブジェクト指向の方法があります。


------


 構造化手法の場合は、まずシステム全体の入出力を考え、コンテキスト・
ダイアグラムを作成します(DFDでプロセスが1個のもの)。

 それから、システムを詳細化していきます。
 企業であれば、部長から課長、係長、現場担当者という具合にヒアリングをかければ、
詳細化されていくはずです。それを表現します。

 途中の管理職の人が、現場の詳しいことがわからないようであれば、入出力は
省略し、こんな機能があるというDMMの形で詳細化していき、
 課長、係長と下がっていくと、どこかで入出力がはっきりするようであれば、
そこからDFDを使って書き起こすのがいいと思います。

 どちらのケースでも、最終的な現場担当者の作業は、業務流れ図として表現します。
 業務流れ図では、どのデータを何から(画面から、DBから等)入力し、どこに出力
するか、どのような手順で処理するのか、処理するための条件があるのかが、図で
書き表わされます。

 これができると、データベースに書くべき内容がわかり、エンティティが出てくるので
ER図がかけます。

 DFDは、上位のDFDと詳細化した下位のDFDで、外部からの入出力が一致して
いないといけません(一致していなければ間違い)。
 また、DFDのファイルとER図のエンティティ、業務流れ図のDBが対応している
はずです(1対1でなくてもよいが、ER図にあるエンティティが理由もなく、DFDや
業務流れ図にまったく出現しないのは、不自然)。


-----------

 一方、オブジェクト指向の場合、ユースケース図から始まります。

 まずは、部長が課長に仕事を割り振られ、課長が担当者に割り振るとき、課長は、
担当者に、ある仕事をしてもらうことを期待して、割り当てるのが普通と考えられ
ます。
 もちろん、「お手伝い」「遊軍」としてわりあてることもありますが、その人
たちは無視します。すべてお手伝いというのはすくなく、受注、倉庫番とか、
なんらかの仕事はあるんじゃないでしょうか?もし、全員お手伝いだとしたら、
その会社はシステム導入以前に問題があると思います。

 その仕事に、だれが関係するかを考え、仕事関係者をアクター、仕事をユースケース
としてユースケース図を描きます。
 が、ユースケースは動詞の形が望ましいです。たとえば、「倉庫番」は、「倉庫番する」
というのは不自然ですので、「入庫する」「出庫する」「在庫照合する」などに分かれます。

 まず、大きくざっくりと描くことが大事で、たとえば「入庫する」を「積みおろしする」
「検品する」「データ入力する」とか、細かく分けちゃうと、混乱します(これは、あとの
アクティビティ図に描きます)

 とはいえ、ユースケースも細かくすることはあります。

 まあ、そんな形で充分細かくなったら、担当者が行う作業を、手順とともに表現する
アクティビティ図を作成します。
 しかし、アクティビティ図は、構造化分析の業務流れ図ほどの表現力をもちません。
 入出力は表現できません。
 そこで、ユースケース記述というのを作って、そこの基本系列等に、入出力を文章で
描いていくことになります。

 なお、データ構造に関しては、ユースケース記述を見れば書けることになります。
 UMLはER図はないので、これに相当するクラス図で描くことになりますが、実際は
ER図を使ってしまうことが多いです。

-------------------

 上記の方法により、業務の入出力が決まりました。
 構造化手法の場合には、業務流れ図に、オブジェクト指向の場合には、
ユースケース記述に業務内容(入力-業務-出力)の流れは、記述されています。

 次に(4)の業務以外の要求についてまとめます。
 
 ちなみに、(3)のような業務に関する要求を、機能要求、
(4)のような、業務以外の要求を、非機能要求とか言ったりします。

 非機能要求は、上記、オブジェクト指向分析で利用する図(UML)でも、
構造化手法分析で利用する図でも表現されないし、明確な分析方法はありません。
(ちなみに、SysMLの要求図では表現できます)。


そこで、

 非機能要求グレード
 http://sec.ipa.go.jp/reports/20100416.html

 のようなチェックリストを基に考えたり、機能要求を基に考えたり、
  JIS X 0129-1 (ISO/IEC 9126 )のソフトウェアの品質特性を基に
考えます。


 ここまでくると、(5)のように要求仕様書としてまとめられます。
 まとめ方としてはIEEE830等に基づいてまとめるのが、今のところ
よいのでしょうか?

----------------

 この要求仕様書の作成方法は、各社各様です。上記の方法は、公開されている、
一般的な方法について描いただけです。
 ただ、手法の側面をそぎ落とし、誰が何をやっているのかだけに注目すると

(1:前提)プロジェクトの目的と、プロジェクトマネージャーは決まっている状態で、

(2)えらい人からえらくない人へ、仕事を分割していく
   →その仕事の範囲をざっくりと図や文にまとめる

(3)最終的に、仕事を受け持つ担当者に行き着く
   担当者のやるべきことを、入力と出力に着目して、記述する
   →機能要求

(4)機能要求以外(非機能要求)を何らかの方法で、えいやときめる(^^;)

(5:成果物)機能要求、非機能要求を要求仕様書という形でまとめる

という形になると思います。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「iPhone 4Sの『Siri』に脆弱性あり」

2011-10-22 23:54:41 | Weblog

「デフォルト設定では暗証番号でロックした端末すら危険」なんですって。

ここのニュース

セキュリティ専門家が指摘、「iPhone 4Sの『Siri』に脆弱性あり」――デフォルト設定では暗証番号でロックした端末すら危険
http://headlines.yahoo.co.jp/hl?a=20111021-00000002-cwj-sci


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

初めてのRubyを読む その34 7.1

2011-10-21 23:56:07 | Ruby
「初めてのRuby」を読むの続き

今日から
7章 メソッド

7.1 メソッド呼び出し
から




■7章 メソッド

・メソッド:Rubyにおいて手続きをモジュール化し、再利用するための仕組み
  オブジェクト指向のメッセージ送信と
  構造化プログラミングのサブルーチン
 両方の役割

・関数型メソッド
  オブジェクトとは無関係に呼びさせる




■7.1 メソッド呼び出し
・Rubyプログラムにおけるすべてのデータはメソッドを持っている
  →どんなメソッドを持っているかは、クラスによる
・Rubyプログラミングで中心的な役割を果たすのがオブジェクトに
 対するメソッド呼び出し

・メソッドを呼び出すには、レシーバー、メソッド名、引数を以下のように書く

   a.some_method(1,"str")
   a::some_method(1,"str")

 クラスメソッドを呼ぶ場合を除いて、第一のスタイルが主流




■7.1.1 括弧の省略

・引数をくくる括弧はあいまいさを生まない限り省略可能




■7.1.2 メソッド連鎖

・メソッドは必ず何らかの値を返す
  →メソッドの返り値ないし戻り値という
  →返り値に対してメソッドを呼ぶことも可能
     →メソッドチェーン




■7.1.3 レシーバーの省略

・メソッドを呼び出すレシーバーを省略することができる
  →この場合は、デフォルトのレシーバーである
   selfに対してメソッドが呼ばれる
     →C++,Javaなどのthis

・擬似変数selfは常に「現在のレシーバー」をさしている

・privateメソッドは、常にレシーバーを省略形式で呼び出す。


・レシーバー省略とローカル変数
 引数をもたないメソッドのレシーバーを省略すると、
 ローカル変数の参照と見分けつかない
   →ローカル変数優先
 関数的メソッドでも形式的にはレシーバーを持っている

・組み込み関数
 どこからでも呼び出せる便利な関数メソッド
 Kernelモジュールのメソッド




■7.1.4 引数展開
・ * 修飾により、配列に格納された値を引数リストに
 展開できる

・Ruby1.8では、 * 付き要素は引数リストの最後
 Rubyi.9では、出現位置、回数ともフリー
 配列から引数リストへの自動的展開は行わない


・関数型メソッド
 非オブジェクト指向的に用いられるメソッド
 レシーバーを持たない手続き


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PMBOKのお勉強 その35 - 6.6

2011-10-21 17:51:34 | そのほか
今、

プロジェクトマネジメント 知識体系ガイド(PMBOKガイド)第4版
http://www.amazon.co.jp/dp/1933890681

のお勉強をしています。

前回は6.5章だったので、今回は6.6章です




■6.6 スケジュール・コントロール

<<インプット>>

・プロジェクトマネジメント計画書

・プロジェクトスケジュール

・作業パフォーマンス情報

・組織のプロセス資産


<<ツールと技法>>
・パフォーマンス・レビュー
   アーンドバリューマネジメント(EVM)採用の場合
      スケジュール差異(7.3)
      スケジュール効率指数(7.3)
   クリティカルチェーン採用(6.5)の場合
      バッファ

・差異分析
   スケジュールベースライン(6.5)との差異


・プロジェクトマネジメント・ソフトウェア


・資源平準化
   6.5

・What-ifシナリオ分析
   6.5


・リードとラグの調整


・スケジュール短縮
   6.5

・スケジューリングツール



<<アウトプット>>

・作業パフォーマンス測定結果
  WBS要素、特にワーク・パッケージと
  コントロールアカウントにて算出した
  スケジュール差異(SV)とスケジュール効率指数(SPI)
  を文書化して報告


・組織のプロセス資産更新版
  以下のものがあるが、これに限定されない
   ・差異の原因
   ・選択した是正措置とその選択理由
   ・プロジェクトのスケジュールコントロールから得られるその他の教訓など

・変更要求


・プロジェクトマネジメント計画書更新版
  以下のものがあるが、これらに限定されない
   ・スケジュールベースライン
   ・スケジュールマネジメント計画書
   ・コスト・ベースライン


・プロジェクト文書更新版
  以下のものがあるが、これらに限定されない
   ・スケジュール・データ
   ・プロジェクト・スケジュール

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

UMLなどの図に描くと、あいまいでなくなるという「あいまい」の定義って、あいまいじゃない?

2011-10-21 14:58:52 | トピックス

「UMLに描くと、あいまいでなくなる」

って、よく聞くじゃないですか・・・え、聞かない?
じゃ、検索してみて!
「UML あいまい なくなる」でけんさくすると、

  ・あいまいでないか、
  ・あいまいさが残る

っていう表現になる。前者は、ないって言い切っているし、後者も、あいまいがないからこそ、残っている部分もあるという表現になるので、どちらも、「あいまいがなくなる」という前提で書いている。

 問題はこのとき、「あいまい」の定義は何?
 これが判らなければ、「あいまいさがなくなる」って言っても意味はない。

ここで

1とおりにしか解釈できないことである
 というのなら、UMLの意味はない。
 いきなりプログラム言語で書いてしまったほうが、曖昧さはない。コンピューターは何通りにも解釈して、恣意的に結果を出すということはないのだから・・
 Javaとかで記述し、細かいところはダミーモジュールにして、シミュレーションしたほうが早い。


情報を網羅できる
 UMLのほうが、欠落している。UMLが出る前の業務フローのほうが、画面、帳票などの出力先が明示されるので、情報量がある。

情報が整理される
 整理という観点なら。Excelに書いたほうが整理される。


情報が見える化できる
 UMLじゃなくっても見えるか出来るし、もし、見える化命なら、ユースケース記述なんていう、記述にたよるのは、おかしいよね!

・・・あいまいの定義が、一番あいまいな気がする・・・
なんか、あいまいという言葉をあいまいに使うことにより、
「UMLはあいまいでない」ということに信憑性を持たせているんじゃないかなあ?
(あいまいの定義があいまいだと、あいまいでないかどうかはわからない)


構造化手法より、あいまいでないことは、どのように証明できるのだろうか?
少なくても「情報を網羅できる」「情報が見える化できる」という意味では、
構造化手法より、劣るよね・・・


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

世界コンピュータ将棋選手権で優勝した将棋ソフト「Bonanza」の遊び方

2011-10-21 00:06:45 | Twitter
Bonanzaは、窓の杜にある

Bonanza
http://www.forest.impress.co.jp/lib/game/puzzle/tblegame/bonanza.html

の右上にあるDownloadをクリック

ZIPファイルを保存して、それを解凍。
Windowsの場合、解凍したフォルダをどんどん降りていくと、
winbinというフォルダがある。
その中のフォルダにCsa.exeというのがある(歩のアイコン)ので、
ダブルクリック。

起動すると、2つのウィンドウが出る。将棋版のウィンドウのほうで、
playをクリックすると、こんなかんじに

なるので、startを選択。すると

というダイアログが出る。先手でよければ、OKボタンクリック

すると、将棋のこまが適当に動かせる。
動かしたいこまをドラッグ&ドロップ。
コンピュータが手をさすと、ぴこ!とかいうかんじの音が出る。

詰まると、なんかダイアログが出る。
playメニューの横のFileメニューにexitがあって、終わらせられる。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PMBOKのお勉強 その34 - 6.5

2011-10-20 19:40:46 | そのほか
今、

プロジェクトマネジメント 知識体系ガイド(PMBOKガイド)第4版
http://www.amazon.co.jp/dp/1933890681

のお勉強をしています。

前回は6.4章だったので、今回は6.5章です




■6.5 スケジュール作成

<<インプット>>

・アクティビティリスト
   6.1より


・アクティビティ属性
   6.1より


・プロジェクト・スケジュール・ネットワーク図
   6.2より

・アクティビティ資源に対する要求事項
   6.3より


・資源カレンダー
   6.3より


・アクティビティ所要時間見積もり
   6.4より


・プロジェクト・スコープ記述書
   5.2より


・組織体の環境要因


・組織のプロセス資産




<<ツールと技法>>

・スケジュール・ネットワーク分析


・クリティカル・パス法


・クリティカル・チェーン法


・資源平準化


・What-ifシナリオ分析


・リードとラグの適用


・スケジュール短縮
  スケジュール短縮技法には、以下のものがある
   ・クラッシング
   ・ファスト・トラッキング


・スケジューリング・ツール



<<アウトプット>>

・プロジェクト・スケジュール
  多くの場合、以下のような形式を使って図示する
    ・マイルストーン・チャート
    ・バー・チャート
    ・プロジェクト・スケジュール・ネットワーク図

・スケジュール・ベースライン


・スケジュール・データ
  以下のものが含まれるが、これらに限定されない
    ・期間ごとの資源に対する要求事項
    ・代替スケジュール案
    ・コンティンジェンシー予備のスケジューリング


・プロジェクト文書更新版
  以下のものがあるが、これらに限定されない
    ・アクティビティに対する要求事項
    ・アクティビティ属性
    ・カレンダー
    ・リスク登録簿




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

初めてのRubyを読む その33 6.5

2011-10-20 16:22:19 | Ruby
「初めてのRuby」を読むの続き

6章 変数と式
6.5 大域脱出
から




■6.5 大域脱出
・深い入れ子からの脱出
catch(:exit)
{
loop do
  loop do
    throw :exit
  end
 end
}

・上記の例の場合、throwで書いた識別名(:exit)と同じ識別名をもつ
catchの外側にまで出る

・対応するcatchが見つからないと、ArgumentError






  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

たしかに、パソコン業界は、暗黒だわ、スマホによって・・・

2011-10-20 14:32:48 | Weblog
 ジョブスさんのアップルに対して、IBMは、こんな企業が勝ったら、パソコン業界は暗黒時代になるといっていたんだそうです。

 たしかに、アップルが時価総額トップになって、勝ったら
 世の中は、スマホの時代になって、
 パソコン業界は、暗黒時代ですね!
 見事に予測が当たっている!!さすがだ・・・

ジョブズ 日本の家電メーカーを「海岸埋め尽くす死んだ魚」
http://zasshi.news.yahoo.co.jp/article?a=20111019-00000001-pseven-int

の記事の以下の部分より
(本エントリ内の太字は上記サイトからの引用)

神と呼ばれた男、スティーブ・ジョブズ(享年56)。ジョブズがプレゼンテーションするたびに、世界の常識が変わる。彼の動向は否応なしに大きな注目を集めた。そこで発揮されるのが、彼一流の話術だ。

「製品発表の場で仮想敵をつくり、厳しく非難したりバカにしながら、アピールしたい商品を光らせます」とは経営コンサルタントでかつてアップル社で働いた経験を持つ竹内一正氏。おかげで、マイクロソフトは「趣味が悪い」と貶され、IBMも「こんな企業が勝ったら、パソコン業界は暗黒時代になる」とボロクソにいわれた。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

UML以前の、システムの関連性(トレーサビリティ)

2011-10-19 22:09:35 | そのほか
さっき、大学院のレポートに出席の感想として書いたことの一部抜粋。
さっきの「システム開発地図」の話にも関係しそうなので・・・





 私が、アプリケーション系に入った(EAが騒がれていた、2003年ごろから)ころは、
 以下のような方法論が固まっていました。

・まずは、システムを「部長レベルの視線で」ざっくり分けて
  →コンテキストダイアグラムやDFD
   場合によっては、機能構成図(DMM)にまとめる


・それを、DFDによって詳細化し、課長レベルの目線に下げて、


・さらに、課長さんから、担当者に聞き、担当者のやっていることを、
 入出力をもとに、業務流れ図(WFA)にまとめる


という流れが、国家的に(上記のサイトは、もともとは経済産業省のEAサイト)
決まっていました。




 ここから、設計レベルでの検証として、

・DMMの各機能が、DFDに対応しているかどうか、
 さらに、DFDの上位の機能と、下位の機能で矛盾がないかどうか
 (入出力が一致しているか等)

 のチェックを行い、その上で

・DFDのファイルが、業務流れ図の中で、DB等の
 データ保管メディアとして記述されているか確認し、
 そのファイルの内容をER図でまとめ、漏れがないかどうか確認し


・DFDで、外部から、プロセスに入ってくるとき、
 画面が必要かどうか確認し、必要な場合、それが、
 業務流れ図の画面として存在しているかを確認し、


・ER図の各エンティティに対して、CRUDを作成し、
 生成されてないのに参照するなどの矛盾がないか確認
 し、あれば、DFDから直す


といったことを行うと、


・業務流れ図上に、画面、帳票、プロセス、DB書き出し
 がすべて整理されるので、その各パーツを設計手順に
 したがって設計し、実装すればよい

というようになるような形が出来上がっていました
(プロジェクトによっては、当然、一部省略したりするのですが)




この方法だと、

・業務流れ図はIDEF0と違い、実体がそのまま書かれているので
 お客さんとの間でも、確認が出来る。

・業務流れ図に画面、帳票が全部出ているので、それに対してレイアウト
 をつくり、画面遷移を行えばよい→作業の終わりがわかる

というメリットがあり、この時期の仕事は、
悩まず仕事ができて、仕事しやすかった記憶があります




その後、UMLには、ここまでの記述力がないので、混乱した時期が
ありましたが、現在では、UMLでも、ユースケース記述を使うと、
同程度の記述力があり、ユースケース記述から、実装まで、一貫性を
もって、プログラムが書けるようになってきたので(ICONIXと
JSPやフレームワークによって)あのころと同じく、開発しやすい
体制になったと思います。

 もし、この体制がなければ、いまのRuby on Railsでの開発などは、
混乱のきわみになったと思います。




 こんど、結果として、
UMLでは、どういう流れになったのか
を書いたほうが良いね!

 気が向いたら・・・


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする