Impact of Web 2.0 and Cloud Computing Platform on Software Engineering