Software engineering is a relatively new discipline which used to be studied under Computer Engineering. Recent development of service oriented architectures and supporting technologies led to its definition as an independent area of engineering. What used be considered as “extended programming” activities now comprises a large academic domain with its own theories, methodologies and tools. Technological advances have made hardware cheap and widely 1. Network access is almost universally 1. structures present many opportunities for the software engineering discipline. With software solutions, connected life becomes more productive, healthier and more fun.