①making enhancements to software products
②developing a new software product
③correcting problems
④adapting products to new environments
A.①②
B.①③④
C.②③④
D.①②③④