・複雑・大規模化するソフトウェアを整理、再編し、ソフトウェアの 生産性向上に大きな役割を果たす。 ・生産性や信頼性の向上、マルチメディアや並列処理などの新技術への 対応など現在のソフトウェアが抱える様々な問題に対処する。