リバースモデリング
既存(レガシー)コードの資産化
複雑化・大規模化するソフトウェアの開発生産性改善のために、オブジェクト指向、ソフトウェアプロダクトライン(SPL)といった新しい設計方法論が提案されるなか、開発現場への適用を検討される際に課題となるのが既存(レガシー)コードの取り扱いです。
洗練された新しい設計手法・方法論は、非常に最適化されているので、まったくの新製品を開発する際には、非常に有効な手段となる一方、ほとんどの組込み製品は、今までの設計方法論・開発手法をベースにして開発され、新規開発される部分は非常に限られていることが多いのではないでしょうか?
ソフトウエアの大規模化・複雑化に対応するために、何とか有効な方法論、開発手法による最適化を図りたい…どのようにすれば実現できるのでしょうか?
洗練された新しい設計手法・方法論は、非常に最適化されているので、まったくの新製品を開発する際には、非常に有効な手段となる一方、ほとんどの組込み製品は、今までの設計方法論・開発手法をベースにして開発され、新規開発される部分は非常に限られていることが多いのではないでしょうか?
ソフトウエアの大規模化・複雑化に対応するために、何とか有効な方法論、開発手法による最適化を図りたい…どのようにすれば実現できるのでしょうか?
レガシーコードの設計意図の見える化・資産化
そこでまず取り組むべきこととしては、既存にあるレガシーコードを新しい設計方法論・開発手法に組込むために、レガシーコードの設計意図、役割を見える化し、レガシー部分と新規開発部分が同じ開発基盤と方法論の中で統一することが必要です。
レガシーコードの設計意図を明確化するために、近年のソフトウェア開発の設計図となるべき『モデル』を用いて再構築していくと非常に有効です。加えて、ソースコードをモデル化する手段として、ツールによるリバースエンジニアリングという機能を用いて設計図化(モデル化)すると非常に効果的にモデル図の作成を行うことが可能です。
ただ、上述のとおりレガシーコードは今までの設計方法論によりコード化されているので、リバースエンジニアリングにより得られた結果からソフトウエアを再構築していく作業が必要になります。これが『リバースモデリング』です。
具体的な作業手順、考え方を“リバースモデリング with Rhapsody”として提供しますので、ぜひご活用ください。
レガシーコードの設計意図を明確化するために、近年のソフトウェア開発の設計図となるべき『モデル』を用いて再構築していくと非常に有効です。加えて、ソースコードをモデル化する手段として、ツールによるリバースエンジニアリングという機能を用いて設計図化(モデル化)すると非常に効果的にモデル図の作成を行うことが可能です。
ただ、上述のとおりレガシーコードは今までの設計方法論によりコード化されているので、リバースエンジニアリングにより得られた結果からソフトウエアを再構築していく作業が必要になります。これが『リバースモデリング』です。
具体的な作業手順、考え方を“リバースモデリング with Rhapsody”として提供しますので、ぜひご活用ください。
記載されている会社名、製品名、サービス名は伊藤忠テクノソリューションズ(株)または各社の商標もしくは登録商標です。