单项选择题

在软件开发和维护过程中,一个软件会有多个版本,()工具用来存储、更新、恢复和管理一个软件的多个版本

A.软件测试
B.版本控制
C.UML建模
D.逆向工程