プログラムを長期間使用すればするほど、プログラム開発者の利益が上がる仕組みができていますか。多くのソフトウェアには、その機能がありません。そのために受託開発のソフトウェア品質はどんどん落ちているのです。
このほどWindows XPのサポートがなくなったり消費税率が変わった時に、「えっ、Windows 7や消費税率変更に対応するだけでこんなに開発費がかかるの?」と思った方はいませんか。
そうです、その原因も現在のソフト開発作業費の偏りにあるのです。開発作業時間により積算された見積もりによって受注した受託開発システムは、ユーザーの要求を満たしたうえでより開発時間を削減してシステムを完成させようとするのです。
長期間使用すれば利益が上がる仕組みにすることにより最初の開発費を抑え、使い続けてもらわないと利益が出ない仕組みを作ることが、今後のソフトウェアの品質を向上させると思っています。
ソフトウェアの品質をあげ、プログラマの開発意欲を向上させるためにライセンス認証プログラムを公開します。
システムを起動すると
このような画面でユーザー登録を促します。ユーザー登録をしなくても7日間は動作します。ユーザー登録をして運用番号を取得することでどんなユーザーが使用しているかを知ることができます。
運用番号とは
運用番号は、パソコン別に発行されます。ライセンスは1台のパソコンに1ライセンス必要な仕組みです。
ユーザー登録画面
入力項目は、少ないほどユーザー登録人数が多くなります。入力項目は最小限にすることをお勧めします。
自動返信メール
ユーザー登録をすると自動的に「運用番号」が返信メールで届きます。運用番号を登録することで、フォルダには「System_Free.txt」ファイルが作成されます。運用システムでは、このファイルの存在を確認してユーザー登録された情報を取得してください。
エクセルのマクロの場合
アプリケーションオブジェクトを使う方法
Sub RunObject()
Dim xls As Object 'As Excel.Application
Dim wkb As Object 'As Excel.Workbook
Dim wFname As String
Dim wDir As String
wDir = ThisWorkbook.Path
wFname = wDir & "\CheckLicensePGv1t.xla"
Set xls = CreateObject("Excel.Application")
Set wkb = xls.Workbooks.Open(wFname)
Set wkb = Nothing
Set xls = Nothing
End Sub
Shellコマンドを使う方法
Sub RunShell()
Dim wFname As String
Dim wDir As String
Dim wCom As String
Dim RetVal
wDir = ThisWorkbook.Path
wFname = wDir & "\CheckLicensePGv1t.xla"
wCom = "C:\Program Files\Microsoft Office 15\root\office15\excel.exe """ & wFname & """"
RetVal = Shell(wCom, 1)
End Sub
ライセンス認証の結果は、ファイル名で取得
ライセンス認証が行われると「System_True.txt」ファイルが、実行フォルダに作成されます。このファイルは、つねにシステム起動時に更新される仕組みになっています。
認証結果を判断するファイル名
1) System_True.txt・・・ライセンス認証済
2) System_False.txt・・・認証不可
3) System_Free.txt・・・ユーザー登録のみ、フリーライセンス
Access、VisualBasicでも、ほぼ同様のコードで実行することができます。