C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

VB6→C#へのマイグレーション 実行ステップ数から製造工数

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■103756 / inTopicNo.1)  VB6→C#へのマイグレーション 実行ステップ数から製造工数
  
□投稿者/ Hop Step Drop (1回)-(2025/07/08(Tue) 07:24:59)

分類:[C#] 

## 【質問】VB6→C#マイグレーションの工数について
VB6→C#移行を検討中です。
実行ステップ数(SLOC)から製造工数を出したいのですが、
「1時間あたり20SLOC」などの指標がサイトによってバラバラで、
どの情報が信頼できるのか悩んでいます。
また、
* 「VB6とC#は親和性が高くて生産性は倍で見ていい」
* 「逆に言語構造や型厳格化の違いで手間が増える」
など意見が割れており判断に迷っています。
皆さんの実体験や参考にした指標があれば教えてください。

引用返信 編集キー/
■103757 / inTopicNo.2)  Re[1]: VB6→C#へのマイグレーション 実行ステップ数から製造工数
□投稿者/ kiku (482回)-(2025/07/08(Tue) 08:39:13)
No103756 (Hop Step Drop さん) に返信
> ## 【質問】VB6→C#マイグレーションの工数について
> VB6→C#移行を検討中です。
> 実行ステップ数(SLOC)から製造工数を出したいのですが、
> 「1時間あたり20SLOC」などの指標がサイトによってバラバラで、
> どの情報が信頼できるのか悩んでいます。
> また、
> * 「VB6とC#は親和性が高くて生産性は倍で見ていい」
> * 「逆に言語構造や型厳格化の違いで手間が増える」
> など意見が割れており判断に迷っています。
> 皆さんの実体験や参考にした指標があれば教えてください。

自分が見積担当者なら下記のステップで
進めると思うので参考になればと思い記述しておきます。
ステップ数は規模を確認するために参考にはしますが
見積根拠としては利用しません。

1.設計書がなければ、VB6ソースから設計書を作成する工数
2.設計書からC#で開発する工数
3.テストする工数

上記のように考えます。
ステップ数ではなく、どんな機能があるのかだと思います。
例えば、VB6の時代にはActiveXベースのライブラリを
利用していることもあるかもしれません。
そのライブラリは第3社が開発したものであって
内部はブラックボックスだった場合どうするか?
ステップ数では把握できないのではとも思います。

引用返信 編集キー/
■103758 / inTopicNo.3)  Re[1]: VB6→C#へのマイグレーション 実行ステップ数から製造工数
□投稿者/ ぶなっぷ (1回)-(2025/07/08(Tue) 11:13:32)
もし、VB6で作成した技術者が、今でも居るなら、
VB6 → VB.Net
も視野に入れたほうがいいです。

VB.Netは文法はVB6に近く、またC#の方言でもあります。
いったん、VB.Netで開発してしまえば、置換することもできます。
https://converter.telerik.com/
引用返信 編集キー/
■103759 / inTopicNo.4)  Re[1]: VB6→C#へのマイグレーション 実行ステップ数から製造工数
□投稿者/ KOZ (488回)-(2025/07/08(Tue) 19:51:10)
2025/07/08(Tue) 19:55:44 編集(投稿者)

No103756 (Hop Step Drop さん) に返信
> 実行ステップ数(SLOC)から製造工数を出したいのですが、
> 「1時間あたり20SLOC」などの指標がサイトによってバラバラで、
> どの情報が信頼できるのか悩んでいます。

どのように変換するかで変わってくると思います。
VB6 のソースを VS2008 のアップグレートウィザードなどで変換して動かすのか、それとも新しく作り直すのか。

> * 「VB6とC#は親和性が高くて生産性は倍で見ていい」
> * 「逆に言語構造や型厳格化の違いで手間が増える」
> など意見が割れており判断に迷っています。
> 皆さんの実体験や参考にした指標があれば教えてください。

ウチの場合は、VB6 から VB.NET への変換しかやっていません。
新しく作り直すのではなく、ツールによる変換です。

VB互換コンポーネントや、ソース書き換えツールなどそろっているので
VB6 から VB.NET への変換は、ほぼ自動化されてます。

なので、テスト工数+おまけ程度の見積もりになります。

C# に変換するのであれば、VB.NET のソースを Option Strict On にしてコンパイルが通るよう修正し
SharpDevelop 4.4 を使って変換するといいと思います。

https://github.com/icsharpcode/SharpDevelop/releases/tag/v5.1-archival

引用返信 編集キー/
■103760 / inTopicNo.5)  Re[1]: VB6→C#へのマイグレーション 実行ステップ数から製造工数
□投稿者/ Azulean (5回)-(2025/07/08(Tue) 23:38:47)
No103756 (Hop Step Drop さん) に返信
> VB6→C#移行を検討中です。
> 実行ステップ数(SLOC)から製造工数を出したいのですが、
> 「1時間あたり20SLOC」などの指標がサイトによってバラバラで、
> どの情報が信頼できるのか悩んでいます。

一律で求まるものではないから、他者の指標など参考にならないと思います。
以下は一例に過ぎませんが、これらの変数によって大きく変動するはずです。

・作業者によるもの:C# 経験(.NET 開発経験)が十分にあるか、VB6経験があるなど、VBのコードの意図をどのくらい理解できるか。(時間に対する効率)
・既存資産に由来するもの:VB6にサードパーティコンポーネント・ライブラリ(OCX, ActiveX, COM など)の利用はあるか。(代替品開発など、実コード量よりも作業量が膨らむリスク)
・厳密性:どのくらいの変化を許容するか。(まったく同じ動きを求められると、無用に工数がかかる)


ただ、今の時代だとAIエージェントにある程度やらせてみるなど、新しいアプローチもあるかもしれません。
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ