Voting is a fundamental decision making instrument in any consensus-based society and democracy depends on the proper administration of popular elections. In any election, there exists a set of requirements among which voters should receive assurance that their intent was correctly captured and that all eligible votes were correctly tallied. On the other hand, the election system as a whole should ensure that voter coercion is unlikely. These conflicting requirements present a significant challenge: how can voters receive enough assurance to trust the election result, but not so much that they can prove to a potential coercer how they voted. The challenge of changing the traditional paper based voting methods used in many developing countries into electronic voting raises a set of functional and constitutional requirements. These requirements are governed by the country in which they operate and are usually not limited to privacy, authentication, fairness, transparency, integrity and incoercibility. This paper presents a survey of electronic voting schemes and systems available to date, classifying them and pointing out advantages and drawbacks of each class. The survey is concluded by presenting a comparative analysis on electronic voting and suggests improvements on some recent e-voting schemes and systems.