ソフトウェア開発と保守の戦略―リエンジニアリング・リポジトリ・再利用