There is absolutely zero chance of us helping you size an application "for 300 users". There are a bajillion missing pieces of information, chief among them how many active concurrent active users, how much data do they send in or take out of the system per query on average, data warehouse or OLTP or mixed-mode, largest active tables and total database size, how badly designed is the database and application, how well tuned already, etc, etc, etc, etc, etc, etc...
Best,
Kevin G. Boles
SQL Server Consultant
SQL MVP 2007-2012
TheSQLGuru on googles mail service