行先ボードでも作ってみるか⑩ – ER図

今回はER図を書いていきます。
リレーショナルデータベースを使用するものは
これがないと始まりません。

普段の開発ではEnterpriseArchitectを使用するのですが、
自宅での開発はライセンスがないので諦めます。

何で書くかですが3つ試してみました。
結論としてはA5M2を採用しました。

行先ボードでも作ってみるか⑨ – 内部設計(gRPC調査)

プロセス間通信。あまり良い思い出がありません。

  • ファイルによるリアルタイム共有
  • 共有メモリ
  • メモリマップトファイル
  • セマフォ

ネットワーク越しのプロセス間通信もなかなかです。

  • .NETリモーティング
  • WCF

2016年にGoogleがリリースしたgRPC。
ちょっと使ってみたかったので今回この技術を採用しようと思います。
調査結果というほどでもないですが、おおまかな手順とちょっと使ってみた感想について述べます。

行先ボードでも作ってみるか⑧ – 内部設計(シーケンス図)

今回はシーケンス図を書くことにします。

大した話ではありませんが、2層でいくか3層でいくかで面倒くささが変わってきます。
今回は3層(クライアント+アプリケーションサーバー+データベースサーバー)で行くことにしました。
自由にやれるし納期もないのでわがまま仕様でやってみようと思います。
見積直後からどんどん機能が膨らんでいきます。
このプロジェクトは見えないだけで既に炎上しています。
ホント、見積もりってこわいですね。

今の構想をシーケンス図にしてみます。

行先ボードでも作ってみるか⑦ – 内部設計(クラス図)

今回はクラス図を書いてみます。
Visual Studio Codeの拡張機能「Markdown Preview Mermaid Support」を使用しています。

いきなりコーディングに入る人もいますが、クラスが増えていくと迷子になります。
つまりは今回の僕です。

クラス設計を端折ろうとして迷子になりました。
己を律せない・・・。

今回はクラス図を書いていきます。

WPFでWindowが追加できない問題 – Microsoft Visual Studio Community 2019

まさかこんなところでハマるとは・・・。素人か?

Microsoft Visual Studio Community 2019を開発しようと思ったのですが、
ウィンドウを追加しようと思っても追加できない状態です。

Visual Studio 2017→Visual Studio 2019になり
.Net Frameworkという旧来の仲間が消えて
.Net Coreという宇宙人の登場でテンパりました。

行先ボードでも作ってみるか⑥ – アローダイアグラム

VScodeでアローダイアグラムを書けるものを探してみたのですがあるんですね。
普段エクセルなどを使って書いてますがだいぶ損していました。

アローダイアグラムを書いてクリティカルパスを確認します。

命の値付け

時は金なり。時間をお金に交換可能とする言葉です。
人月商売は時間をお金に交換します。

1人月100万円ならば1カ月を100万円で売ります。
サラリーマンの1カ月は土日を除いて約20日。
時間にして約160時間。時給6250円ですね。
会社は一般に給料の3倍稼がないと儲からないらしいので、
会社の取り分引いたら手元に残るのは2000円ちょっと。
少しの遅延であっという間に赤字です。
人月100万円は儲かりません。残業などもっての外ですね。

行先ボードでも作ってみるか⑤ – 見積

あーやだやだ。見積。

人月の神話だとか人月見積が否定されて久しいですが、
請負開発の世界は相変わらず人月見積です。

自分の時間に値段をつけましょう。それが見積です。

私たちが使っている見積もり手法は、コスト計算を中心に作られたものであり、
労力と進捗を混同している。人月は、人を惑わす危険な神話である。
なぜなら、人月は、人と月が置き換え可能であることを暗示しているからである。

人月の神話 - Wikipedia

1人でやれば10カ月の仕事が10人でやれば1カ月でできるのか?

昨今、育休うんぬんで世間をにぎわせていますが、
男性が育休とって協力すれば子供を5カ月で産むことができるという計算です。
少子化問題解決です。

行先ボードでも作ってみるか④ – 要件定義(機能一覧)

今回は機能一覧を作っていきます。
IPAの中で探してみたのですが僕にとって良さそうなのはありませんでした。

一応参考にしたページを貼っておきます。
IPA - 超上流から攻めるIT化の事例集:要件定義

今回はこちらを改変して使用しています。
IPA - 【財務会計・経費精算】機能一覧

行先ボードでも作ってみるか③ – 要件定義(システム構成)

システム構成は要件定義なのか?
う~ん。どうなんでしょうね。
僕は機能一覧を出すのに必要なもの全て要件定義に含んでいます。

ステークホルダが納得しないと機能一覧になりません。
なので、システム構成も僕は含んでいます。

では、システム構成です。